HPCC-8892 - Error on key build, with excessively large key+payload

Due to the internal 32k key+payload limit (impossed by legacy
header definition) - detect and fire an error if key+payload
exceeds the maximum.

Previously, if the keys managed to squeeze into key build process
but exceeded the maximum, then the key header 'length' was
truncated, causing a confusing error that key was larger than
this truncated value.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8585 Ensure Priority is cloned into the workunit

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #4042 from ghalliday/issue8585

HPCC-8585 Ensure Priority is cloned into the workunit
HPCC-8862 Add support for csv escape characters to sprayVariable

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8482 Remove unreachable code

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #4041 from jakesmith/hpcc-8892-2

HPCC-8892 - Error on key build, with excessively large key+payload

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4044 from ghalliday/issue8862

HPCC-8862 Add support for csv escape characters to sprayVariable

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Cache and reuse postfilter

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8627 Add new ESP HTPASSWD style MD5 authentication

Add new roadmap item "htpasswd" authentication method that does
not involve the complexities of LDAP. It was decided to authenticate
against an HTPASSWD generated password file, located through a config
setting.

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>
HPCC-8549 Document all the DICTIONARY syntax changes. Edits

Signed-off-by: Richard Taylor <richard.taylor@lexisnexis.com>
HPCC-8435 Implement JSON Pull Parser and PTree creation

Parsing and creating PTrees from JSON is needed for several
upcoming JSON integration items.  This implements a PullReader
and a BufferReader, as well as createPTreeFromJSON Functions.

This implementation emulates the style and practice of the current
XML parsers.  It also sticks to the existing parser interfaces
completely future enhancements could be made that would improve those
interfaces to benefit more from JSON data type knowledge.  Especially
to improve symmetry between building a PTree and serializing back
to JSON.

While the parsers support full JSON naming syntax, JSON supports
object names that cannot currently be supported as property trees.
Creating a property tree from such JSON will throw a PTree exception.

The general philosophy for the pull parser has been that each call to
IPulXMLReader::next() will result in one event (or error).  Further
action after an event is minimized.  The event handler should be able
to abort immediately without further events or syntax based errors.

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
HPCC-8435 Common up JSON and XML Pull Parser code

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
HPCC-8811 Revise based on review comments

Make version check more accurate; rename an old variable from
wuidStr to requestWuid.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8435 PTree Reader interface names should not reference XML

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
Merge pull request #4040 from wangkx/h8811

HPCC-8811 Return WUIDs in WsWorkunits/WUResubmit soap response

Reviewed-By: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4013 from RussWhitehead/htPasswd

HPCC-8627 Add new ESP HTPASSWD style MD5 authentication

Reviewed-By: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4034 from ghalliday/issue8482

HPCC-8482 Delay reporting errors in field mappings until actually used

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #3979 from jakesmith/hpcc-8735

HPCC-8735 - Avoid seperate call to fetch total # workunits

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8729 - Improve workunit iterator efficiency

Delay creating workunit objects until needed
Also remove some odd unused workunit @scope authentication

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Merge pull request #4047 from jakesmith/hpcc-8729

HPCC-8729 - Improve workunit iterator efficiency

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>