Diff for /parser3/ChangeLog between versions 1.184 and 1.197

version 1.184, 2023/11/20 02:05:14 version 1.197, 2024/09/16 02:05:14
Line 1 Line 1
   2024-09-16  moko
   
           * src/types/pa_varray.h: get moved to where it belongs
   
   2024-09-15  moko
   
           * src/: include/pa_array.h, types/pa_varray.h: more agressive
             expansion to minimize reallocs: fallocated/32 -> fallocated/4
   
           * tests/: 421.html, results/323.processed, results/421.processed:
             tests updated after 'spared-array' class renamed to 'array'
             following a discussion on the forum (related to feature #930)
   
           * src/: include/pa_array.h, types/pa_value.h, types/pa_varray.h,
             types/pa_vmail.C: initial SparseArray separation from Array,
             parser class now 'array'
   
   2024-09-14  moko
   
           * tests/: 030.html, results/030.processed: out of range expires
             check added
   
           * src/types/pa_vcookie.C: VDate range is narrower than gmtime, thus
             checking expires time using VDate
   
   2024-09-13  moko
   
           * src/: classes/array.C, classes/curl.C, classes/date.C,
             classes/file.C, classes/hash.C, classes/image.C, classes/json.C,
             classes/memcached.C, classes/op.C, classes/regex.C,
             classes/string.C, classes/xdoc.C, classes/xnode.C,
             main/execute.C, main/pa_http.C, main/pa_request.C,
             types/pa_value.C, types/pa_value.h, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vcookie.C, types/pa_vhashfile.C,
             types/pa_vmail.C, types/pa_vobject.C, types/pa_vobject.h,
             types/pa_vxdoc.C, types/pa_vxdoc.h: optimization: Value::as()
             removed as dynamic_cast is faster, Value::is() is still required
             for is operator.
   
   2024-09-12  moko
   
           * src/: classes/file.C, classes/image.C, classes/reflection.C,
             classes/table.C, classes/xnode.C, include/pa_array.h,
             include/pa_string.h, main/pa_common.C, main/pa_request.C,
             main/pa_string.C, targets/cgi/pa_sapi_info.h, types/pa_vform.C,
             types/pa_vhash.h, types/pa_vtable.C, types/pa_vxnode.C: faster
             templated pa_itoa/pa_uitoa added to work with any integer type,
             String::Body::Format removed
   
   2024-09-10  moko
   
           * src/classes/array.C: append and insert methods added to
             sparse-array (related to feature #930)
   
           * tests/: 253.html, 255.html, 421.html, results/421.processed:
             tests updated after sparse-array was added to avoid ^json:parse[]
             using it in old tests (related to feature #930)
   
           * src/: classes/array.C, classes/json.C, types/pa_varray.C,
             types/pa_varray.h: sparse-array class added (initial feature #930
             implementation)
   
           * src/: classes/Makefile.am, types/Makefile.am: Makefiles update
             for sparse-array class files (related to feature #930)
   
           * src/: classes/json.C, include/pa_array.h, types/pa_value.h,
             types/pa_vhash.h: VArray support functions without actual VArray
             files (related to feature #930)
   
   2024-09-07  moko
   
           * src/: classes/curl.C, classes/string.C, classes/table.C,
             include/pa_array.h, main/execute.C, main/pa_dictionary.C,
             main/pa_http.C, main/pa_sql_driver_manager.C,
             main/pa_stylesheet_manager.C, main/pa_table.C, types/pa_vclass.C,
             types/pa_vmethod_frame.C, types/pa_vstateless_class.C,
             types/pa_vtable.C, types/pa_wcontext.C: Array::Iterator unified
             with Hash::Iterator, has_next() replaced with operator bool
             (related to feature #930)
   
           * src/: classes/string.C, include/pa_array.h, main/pa_http.C,
             main/pa_table.C, types/pa_vclass.C, types/pa_vmethod_frame.C,
             types/pa_vstateless_class.C: Array class extended,
             Array::Iterator added and used (related to feature #930)
   
   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  2023-11-18  moko
   
         * src/include/pa_types.h: minor          * src/include/pa_types.h: minor

Removed from v.1.184  
changed lines
  Added in v.1.197


E-mail: