Diff for /parser3/ChangeLog between versions 1.175 and 1.195

version 1.175, 2022/01/31 02:05:12 version 1.195, 2024/09/02 02:05:14
Line 1 Line 1
   2024-08-26  moko
   
           * src/targets/cgi/parser3.C: under Windows back_slashes_to_slashes
             should be used on argv[0] as well to match document root.
   
   2024-08-25  moko
   
           * src/main/pa_request.C: be more specific
   
           * src/targets/cgi/parser3.C: parser3 t.html now behaves identically
             to /usr/bin/parser3 t.html in terms of /etc/parser3/auto.p load
             (fixes bug #1244)
   
           * src/targets/cgi/parser3.C: avoid "parser allready configured"
             exception when ./parser3.cgi <file> is used; rsplit(..., '/') ||
             rsplit(..., '\\') is not correct when / and \ are mixed in path
   
           * src/targets/cgi/parser3.C: full_disk_path now uses pa_strcat()
   
   2024-07-24  moko
   
           * src/: include/pa_config_includes.h, lib/gd/gifio.C,
             main/execute.C, main/pa_string.C: Warning war: clang changed
             -Wdeprecated-register warning to -Wregister, it's easier to
             remove all register vars then continue this fight. :)
   
           * src/main/: compile.y, compile.tab.C: warning war: register
             removed
   
   2024-07-14  moko
   
           * src/targets/cgi/pa_sapi_info.h: When accessing $env:name,
             checking the HTTP request environment; if the variable is not
             present, checking the web server process environment (implements
             feature #1242)
   
   2024-05-26  moko
   
           * tests/: 195.html, 229.html, results/096.processed,
             results/097.processed, results/158.processed,
             results/186.processed, results/273.processed,
             results/293.processed, results/317.processed,
             results/389.processed, results/402.processed: tests updated as
             single quote now escaped with &apos; in HTML tainting mode
             (related to feature #1241)
   
           * src/main/untaint.C: single quote now escaped with &apos; in HTML
             tainting mode (implements feature #1241)
   
           * tests/results/: 020.processed, 021.processed, 026.processed,
             042.processed, 043.processed, 057.processed, 110.processed,
             115.processed, 116.processed, 117.processed, 118.processed,
             119.processed, 120.processed, 125.processed, 126.processed,
             128.processed, 130.processed, 131.processed, 132.processed,
             133.processed, 135.processed, 136.processed, 138.processed,
             139.processed, 140.processed, 145.processed, 150.processed,
             151.processed, 165.processed, 174.processed, 181.processed,
             182.processed, 192.processed, 193.processed, 201.processed,
             213.processed, 224.processed, 226.processed, 230.processed,
             239.processed, 240.processed, 244.processed, 253.processed,
             254.processed, 261.processed, 264.processed, 269.processed,
             274.processed, 275.processed, 288.processed, 294.processed,
             296.processed, 303.processed, 306.processed, 307.processed,
             308.processed, 311.processed, 312.processed, 314.processed,
             315.processed, 316.processed, 320.processed, 323.processed,
             324.processed, 325.processed, 328.processed, 330.processed,
             332.processed, 333.processed, 337.processed, 338.processed,
             341.processed, 342.processed, 343.processed, 344.processed,
             345.processed, 348.processed, 352.processed, 356.processed,
             357.processed, 363.processed, 364.processed, 368.processed,
             372.processed, 373.processed, 376.processed, 378.processed,
             379.processed, 385.processed, 386.processed, 387.processed,
             389.processed, 390.processed, 395.processed, 397.processed,
             398.processed, 399.processed, 404.processed, 406.processed,
             413.processed, 414.processed, 420.processed, 421.processed,
             424.processed, auto.p: Type -> Exception type for readability
   
           * tests/: 119.html, 165.html, 175.html, 192.html, 213.html,
             217.html, 230.html, 240.html, 298.html, 380.html, 415.html,
             results/119.processed, results/165.processed,
             results/175.processed, results/192.processed,
             results/213.processed, results/217.processed,
             results/230.processed, results/240.processed,
             results/298.processed, results/380.processed,
             results/415.processed: try-catch, try-catch-comment used
   
   2024-05-21  moko
   
           * tests/: 169.html, 180.html, 195.html, 224.html, 246.html,
             results/180.processed, results/195.processed,
             results/224.processed, results/auto.p: @try-catch-comment added
             and used
   
           * tests/: 175.html, 256.html, 269.html, 283.html, 341.html,
             415.html, results/269.processed, results/283.processed,
             results/auto.p: more tests are updated to prepare for apostrophe
             escaping in HTML tainting
   
           * tests/results/: 181.processed, 294.processed, 296.processed,
             315.processed, 379.processed, 389.processed, auto.p:
             $exception.comment printed as-is for whitespace reporting and to
             prepare for apostrophe escaping in HTML mode
   
   2024-05-11  moko
   
           * tests/: 099.html, 100.html, results/099.processed,
             results/100.processed: a test for non-UTF-8 filename* added
             (related to feature #1240)
   
           * tests/: 293.html, results/293.processed: tainting modes tests
             added
   
           * tests/results/: 099.processed, 100.processed, 205.processed,
             309.processed, 310.processed, 419.processed: tests results
             updated after filename* added (related to feature #1240)
   
           * src/: include/pa_common.h, main/pa_request.C: The filename*
             parameter was added to the Content-Disposition header to conform
             with RFC 6266, with code provided by Sumo (implements feature
             #1240)
   
   2024-05-10  moko
   
           * src/main/pa_http.C: Testing shows that TCP_NODELAY has no
             positive performance effect in our case
   
   2024-03-27  moko
   
           * src/lib/pcre/pcre_internal.vcproj: pa_config_includes.h used
             (related to feature #1236)
   
   2024-03-15  moko
   
           * tests/: 413.html, results/413.processed: test for object still
             can be used as file parameter (related to bug #1218)
   
           * src/types/: pa_vobject.C, pa_vobject.h: regression fix: object
             still can be used in file context (fixes bug #1218)
   
   2024-03-14  moko
   
           * src/include/pa_string.h: ArrayString get() null result assert
             also added (related to bug #1238)
   
           * src/types/: pa_vstring.h, pa_vtable.C: VString() optimized;
             VString::empty() used instead of new VString()
   
   2024-03-12  moko
   
           * tests/: 379-curl.html, 379.html, results/379-curl.processed,
             results/379.processed: test added for cookie without value
             (related to bug #1238)
   
           * src/include/pa_string.h: In assertions enabled mode, ArrayString
             values are now required to be non-null (related to bug #1238)
   
           * src/main/pa_http.C: cookies without value are now parsed
             correctly (fixed bug #1238)
   
   2024-03-11  moko
   
           * tests/run_parser.sh: for better error reporting
   
   2023-12-30  moko
   
           * tests/: 038.html, results/038.processed: test for atan2 added
   
   2023-12-29  moko
   
           * src/classes/math.C: atan2(y,x) math function added
   
   2023-12-14  moko
   
           * tests/212.html: pcre2 compatibility (related to feature #1236)
   
           * tests/: 425.html, results/425.processed: test for pcre/pcre2
             exceptions and behavour added (related to feature #1236)
   
   2023-12-13  moko
   
           * buildall: by default parser is now bundled with pcre2 10.42,
             --without-pcre2 option added to build with pcre-8.45 (related to
             feature #1236)
   
   2023-12-12  moko
   
           * configure.ac, src/include/pa_config_auto.h.in: pcre2 library
             support added (implements feature #1236)
   
           * src/: include/pa_charset.h, include/pa_config_includes.h,
             lib/pcre/pa_pcre_internal.h, lib/pcre/pa_pcre_valid_utf8.c,
             main/pa_common.C, main/pa_globals.C, types/pa_vregex.C,
             types/pa_vregex.h: Adopted patch from Yavor Doganov
             <yavor@gnu.org> to add pcre2 library support (implements feature
             #1236)
   
   2023-11-28  moko
   
           * src/include/pa_config_includes.h: warnings war continues
   
           * src/include/pa_config_includes.h: warning war
   
           * tests/: 424.html, results/424.processed: tests for '+' and '-'
             number strings, whitespace and sign in exception messages
             (related to bug #1234)
   
   2023-11-26  moko
   
           * tests/: 274.html, results/224.processed, results/274.processed:
             tests for date double, int, bool added (related to feature #1235)
   
           * src/: classes/date.C, types/pa_vdate.h: double,int,bool methods
             added for date class (implements feature #1235)
   
   2023-11-23  moko
   
           * src/: classes/math.C, include/pa_string.h, main/pa_string.C: '+'
             and '-' strings are no longer can be treated as number 0,
             exception thrown (fixes bug #1234)
   
   2023-11-18  moko
   
           * src/include/pa_types.h: minor
   
           * src/include/pa_dir.h: MAXPATH in UTF-16 chars, not bytes
   
           * tests/: 389.html, results/389.processed: error messages for some
             OS differs a bit, reducing failing tests for them
   
   2023-11-17  moko
   
           * tests/: 423.html, results/423.processed: test for optional
             @auto[] inheritance added (related to feature #1233)
   
           * src/: include/pa_request.h, main/execute.C, main/pa_request.C,
             types/pa_vstateless_class.C: optional @auto[] inheritance
             implemented if defined with two args (path, class name)
             (implements feature #1233)
   
           * src/: classes/double.C, classes/int.C, classes/math.C,
             include/pa_random.h, include/pa_types.h, main/pa_common.C,
             types/pa_vdouble.h, types/pa_vint.h: clip2int,clip2uint added to
             sync double->int overflow behavour under different architectures
             (fixes bug #1232)
   
           * tests/: 422.html, results/422.processed: int clipping added
   
   2023-11-16  moko
   
           * tests/: 422.html, results/422.processed: test for int and uint
             overflow in ^n.format[d/u/x]
   
           * src/classes/math.C: bugfix: crc32 should not be negative (under
             Apple M1 when negative double converts to uint the result is 0)
             and crc32 should be 32 bits
   
           * src/main/pa_common.C: avoid (uint)<negative double> conversion as
             on Apple M1 it's 0
   
           * src/classes/file.C: bugfix: crc32 should not be negative (under
             Apple M1 when negative double converts to uint the result is 0)
             and crc32 should be 32 bits
   
   2023-10-07  moko
   
           * src/: main/execute.C, types/pa_vdate.h: volatile added to sync
             behavour with other OP_NUM_*, related to bug #1230
   
   2023-10-06  moko
   
           * tests/: 338.html, results/338.processed: test for bug #1230 added
   
           * src/: main/execute.C, types/pa_vdate.h: force double operands to
             be converted to double to avoid 80 bit operations in x87 mode
             (fixes bug #1230)
   
   2023-10-05  moko
   
           * tests/420.html: add feature FEATURE_GET_ELEMENT4CALL disabled
             compatibility
   
           * tests/337.html: 2work without FEATURE_GET_ELEMENT4CALL
   
           * tests/: 421.html, results/421.processed: test to cover all
             classes and objects nonexistent method and field exceptions
             (related to feature #1080 and #1227)
   
           * tests/results/: 182.processed, 324.processed: undefined method ->
             <type> method not found exception (related to feature #1080)
   
           * src/types/: pa_vbool.h, pa_vconsole.h, pa_vdouble.h, pa_vint.h,
             pa_vregex.C, pa_vstateless_object.h: + VSimple_stateless_object,
             "element can not be fetched from" for them, "field not found" for
             all other types (related to bug #1227)
   
   2023-10-03  moko
   
           * src/types/pa_vstateless_class.h: "Source: <method name>, Comment:
             <type> method not found" exception now thrown for static calls
             instead of "undefined method" without class name (related to
             feature #1080)
   
   2023-10-02  moko
   
           * src/types/: pa_vdouble.h, pa_vhash.h, pa_vint.h, pa_vobject.C,
             pa_vstateless_object.h, pa_vstring.h, pa_vtable.C: "Source:
             <method name>, Comment: <type> method not found" exception now
             thrown for all dynamic objects instead of "undefined method"
             without class name (implements feature #1080)
   
   2023-10-01  moko
   
           * src/classes/json.C: we don't have a dynamic json object.
   
   2023-09-28  moko
   
           * tests/: 420.html, results/261.processed, results/420.processed:
             tests updated after bug #1228 fix reverted
   
           * src/types/pa_vstring.h: revering fix for bug #1228, as empty or
             whitespace string is hash compatible, so we don't want $s.key to
             return a junction
   
           * tests/: 261.html, 420.html, results/261.processed,
             results/420.processed: test for bug #1227 added, test updated
             after bug #1228 fixed
   
           * src/types/: pa_vdouble.h, pa_vint.h: $int.field and $double.field
             now throws exception as $non-empty-string.field (fixes bug #1227)
   
           * src/types/pa_vstring.h: allow $string.method access (fixes bug
             #1228)
   
   2023-09-26  moko
   
           * AUTHORS, aclocal.m4, configure, src/classes/bool.C,
             src/classes/classes.C, src/classes/classes.awk,
             src/classes/classes.h, src/classes/curl.C, src/classes/date.C,
             src/classes/double.C, src/classes/file.C, src/classes/form.C,
             src/classes/hash.C, src/classes/hashfile.C, src/classes/image.C,
             src/classes/inet.C, src/classes/int.C, src/classes/json.C,
             src/classes/mail.C, src/classes/math.C, src/classes/memcached.C,
             src/classes/memory.C, src/classes/op.C, src/classes/reflection.C,
             src/classes/regex.C, src/classes/response.C,
             src/classes/string.C, src/classes/table.C, src/classes/void.C,
             src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h,
             src/include/pa_array.h, src/include/pa_base64.h,
             src/include/pa_cache_managers.h, src/include/pa_charset.h,
             src/include/pa_charsets.h, src/include/pa_common.h,
             src/include/pa_config_fixed.h, src/include/pa_config_includes.h,
             src/include/pa_dictionary.h, src/include/pa_dir.h,
             src/include/pa_exception.h, src/include/pa_exec.h,
             src/include/pa_globals.h, src/include/pa_hash.h,
             src/include/pa_http.h, src/include/pa_memory.h,
             src/include/pa_opcode.h, src/include/pa_operation.h,
             src/include/pa_os.h, src/include/pa_pool.h,
             src/include/pa_random.h, src/include/pa_request.h,
             src/include/pa_request_charsets.h, src/include/pa_request_info.h,
             src/include/pa_sapi.h, src/include/pa_socks.h,
             src/include/pa_sql_connection.h,
             src/include/pa_sql_driver_manager.h, src/include/pa_stack.h,
             src/include/pa_string.h, src/include/pa_stylesheet_connection.h,
             src/include/pa_stylesheet_manager.h, src/include/pa_symbols.h,
             src/include/pa_table.h, src/include/pa_threads.h,
             src/include/pa_types.h, src/include/pa_uue.h,
             src/include/pa_xml_exception.h, src/include/pa_xml_io.h,
             src/lib/gd/gif.C, src/lib/gd/gif.h, src/lib/gd/gifio.C,
             src/lib/ltdl/configure, src/lib/md5/pa_md5.h,
             src/lib/md5/pa_md5c.c, src/lib/memcached/pa_memcached.C,
             src/lib/memcached/pa_memcached.h, src/lib/punycode/pa_idna.c,
             src/lib/punycode/pa_idna.h, src/lib/sdbm/pa_file_io.C,
             src/lib/sdbm/pa_strings.C, src/lib/smtp/comms.C,
             src/lib/smtp/smtp.C, src/lib/smtp/smtp.h, src/main/compile.C,
             src/main/compile.tab.C, src/main/compile.y,
             src/main/compile_tools.C, src/main/compile_tools.h,
             src/main/execute.C, src/main/pa_base64.C,
             src/main/pa_cache_managers.C, src/main/pa_charset.C,
             src/main/pa_charsets.C, src/main/pa_common.C,
             src/main/pa_dictionary.C, src/main/pa_dir.C,
             src/main/pa_exception.C, src/main/pa_exec.C,
             src/main/pa_globals.C, src/main/pa_http.C, src/main/pa_memory.C,
             src/main/pa_os.C, src/main/pa_pool.C, src/main/pa_random.C,
             src/main/pa_request.C, src/main/pa_socks.C,
             src/main/pa_sql_driver_manager.C, src/main/pa_string.C,
             src/main/pa_stylesheet_connection.C,
             src/main/pa_stylesheet_manager.C, src/main/pa_symbols.C,
             src/main/pa_table.C, src/main/pa_threads.C, src/main/pa_uue.C,
             src/main/pa_xml_exception.C, src/main/pa_xml_io.C,
             src/main/untaint.C, src/main/helpers/simple_folding.pl,
             src/sql/pa_sql_driver.h, src/targets/apache/mod_parser3.c,
             src/targets/apache/mod_parser3_core.C,
             src/targets/apache/pa_httpd.h, src/targets/cgi/parser3.C,
             src/targets/isapi/parser3isapi.C, src/types/pa_junction.h,
             src/types/pa_method.h, src/types/pa_property.h,
             src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vbool.h,
             src/types/pa_vcaller_wrapper.h, src/types/pa_vclass.C,
             src/types/pa_vclass.h, src/types/pa_vcode_frame.h,
             src/types/pa_vconsole.h, src/types/pa_vcookie.C,
             src/types/pa_vcookie.h, src/types/pa_vdate.C,
             src/types/pa_vdate.h, src/types/pa_vdouble.h,
             src/types/pa_venv.C, src/types/pa_venv.h, src/types/pa_vfile.C,
             src/types/pa_vfile.h, src/types/pa_vform.C, src/types/pa_vform.h,
             src/types/pa_vhash.C, src/types/pa_vhash.h,
             src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
             src/types/pa_vimage.C, src/types/pa_vimage.h,
             src/types/pa_vint.h, src/types/pa_vjunction.C,
             src/types/pa_vjunction.h, src/types/pa_vmail.C,
             src/types/pa_vmail.h, src/types/pa_vmath.C, src/types/pa_vmath.h,
             src/types/pa_vmemcached.C, src/types/pa_vmemcached.h,
             src/types/pa_vmemory.h, src/types/pa_vmethod_frame.C,
             src/types/pa_vmethod_frame.h, src/types/pa_vobject.C,
             src/types/pa_vobject.h, src/types/pa_vregex.C,
             src/types/pa_vregex.h, src/types/pa_vrequest.C,
             src/types/pa_vrequest.h, src/types/pa_vresponse.C,
             src/types/pa_vresponse.h, src/types/pa_vstateless_class.C,
             src/types/pa_vstateless_class.h,
             src/types/pa_vstateless_object.h, src/types/pa_vstatus.C,
             src/types/pa_vstatus.h, src/types/pa_vstring.C,
             src/types/pa_vstring.h, src/types/pa_vtable.C,
             src/types/pa_vtable.h, src/types/pa_vvoid.C,
             src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h,
             src/types/pa_vxnode.C, src/types/pa_vxnode.h,
             src/types/pa_wcontext.C, src/types/pa_wcontext.h,
             src/types/pa_wwrapper.h: copyright, authors actualized
   
   2023-08-20  moko
   
           * tests/: 141.html, results/141.processed: test for ^math:uuid7[]
             commited (related to feature #1219)
   
   2023-08-16  moko
   
           * src/main/pa_random.C: replaced clock precision with monotonicity
             counter, good for Windows version with low clock frequency
             (related to feature #1229)
   
   2023-08-15  moko
   
           * src/: main/pa_random.C, types/pa_vstatus.C: win32 compatibility
             fixes related to feature #1229
   
           * src/: classes/math.C, include/pa_random.h, main/pa_random.C,
             types/pa_vstatus.C: ^math:uuid7 added, code provided by Sumo
             (implements feature #1229)
   
   2023-08-02  moko
   
           * tests/: results/417.processed, 417.html: test for empty string
             match after last char added (related to bug #1224)
   
           * src/main/pa_string.C: avoid prestart++ after last char on zero
             length match (related to bug #1224)
   
   2022-11-22  moko
   
           * tests/: 419.html, results/419.processed: test for L_URI and path
             removeal from filename added (related to bug #1204)
   
           * src/main/pa_request.C: bugfix: pa_filename was lost in 1.394
             commit (related to bug #1204), L_HTTP_HEADER is incorrect for
             attribute value, L_URI should be used
   
   2022-09-21  moko
   
           * src/targets/cgi/parser3.C: more clear error messages
   
           * src/targets/cgi/parser3.C: only SAPI_Info_CGI can read POST,
             SAPI_Info will return 0 in read_post and post_size !=
             content_length will be thrown
   
   2022-08-23  moko
   
           * src/types/pa_vmail.C: .tables addes as .raw contains only last
             header value
   
   2022-08-22  moko
   
           * tests/: 418.html, results/418.processed: test for
             ^hash_a.intersection[hash_b; $.order[self|arg] ] added (related
             to #1225)
   
           * src/classes/hash.C: keep old behavoir by default
   
           * src/classes/hash.C: ^hash_a.intersection[hash_b;
             $.order[self|arg] ] added (implements #1215)
   
   2022-03-21  moko
   
           * src/main/pa_charset.C: bugfix: +static xml_encoding_handlers as
             xmlInitCharEncodingHandlers is called in libxml static
             initializers before gc_substitute_memory_management_functions in
             pa_globals and thus gc may not see reference to our
             xmlCharEncodingHandler and free it.
   
 2022-01-26  moko  2022-01-26  moko
   
         * src/targets/cgi/parser3.C: argv[0] -> parser3_filespec          * src/targets/cgi/parser3.C: argv[0] -> parser3_filespec

Removed from v.1.175  
changed lines
  Added in v.1.195


E-mail: