|
|
| version 1.184, 2023/11/20 02:05:14 | version 1.201, 2024/10/14 02:05:17 |
|---|---|
| Line 1 | Line 1 |
| 2024-10-13 moko | |
| * src/types/pa_varray.h: ^array.$i[arg] is rare, thus checking i | |
| with is_index() before calling index() for better error reporting | |
| in method name typo (was invalid number, not method not found | |
| exception). | |
| 2024-10-08 moko | |
| * src/types/pa_varray.C: Visual Studio compatibilty issues fixed | |
| * src/include/pa_array.h: warnings war | |
| 2024-10-05 moko | |
| * src/classes/table.C: ^table.cells[] / ^table.cells(limit) added, | |
| returns current row cells array (implements feature #1250) | |
| * tests/: 405.html, results/169.processed, results/405.processed: | |
| tests updated after ^string.split[;a] implemented (related to | |
| feature #1249) | |
| * src/classes/string.C: ^string.split[] - 'a' option added for | |
| splitting into an array (implements feature #1249) | |
| 2024-10-04 moko | |
| * tests/: 431.html, results/431.processed: final code coverage | |
| array tests | |
| * src/: classes/array.C, include/pa_array.h, types/pa_varray.h: | |
| array: confirm_all_used() added and used where possible, expand() | |
| now expends faster | |
| 2024-10-03 moko | |
| * tests/: 357.html, results/auto.p: max_recoursion -> max_recursion | |
| * tests/: 256.html, results/256.processed: test for | |
| $.date[unix-timestamp] handling large dates | |
| * src/: classes/file.C, classes/op.C, classes/reflection.C, | |
| classes/string.C, classes/table.C, include/pa_common.h, | |
| main/pa_common.C, main/pa_http.C, main/pa_request.C, | |
| types/pa_vdate.C, types/pa_vmethod_frame.h, types/pa_vtable.C: | |
| format replaced with pa_uitoa where applicable, | |
| $.date[unix-timestamp] fixed for handling large dates | |
| * tests/: 433.html, results/433.processed: more tests, including | |
| test for possible endless recursion in ^o.GET[] | |
| * src/types/pa_vobject.C: bugfix: detecting possible endless | |
| recursion in get_scalar_value inside ^o.GET[] | |
| * src/: classes/json.C, include/pa_request.h, main/execute.C, | |
| main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.C: | |
| Temp_recursion class added; spelling: $LIMITS.max_recoursion -> | |
| $LIMITS.max_recursion | |
| 2024-10-02 moko | |
| * tests/: 253.html, 287.html, 430.html, 431.html, 433.html, | |
| results/253.processed, results/287.processed, | |
| results/430.processed, results/433.processed: more tests for full | |
| array and json code coverage | |
| * tests/: 433.html, results/433.processed: tests for hash functions | |
| with array param | |
| * src/classes/: array.C, hash.C: ^hash::create[$array] optimized | |
| * tests/: 432.html, results/432.processed: modified ^hash.at tests | |
| in 246.html used to test ^array.at, same result produced | |
| * tests/: 430.html, 431.html, results/430.processed, | |
| results/431.processed: more array tests for 100% code coverage | |
| (related to feature #930) | |
| * tests/: 427.html, 430.html, results/427.processed, | |
| results/430.processed: first portion of array tests added | |
| (related to feature #930) | |
| * src/classes/array.C: allow only whitespace string as argument for | |
| add and join | |
| * src/classes/array.C: add behavour for array synced with hash | |
| 2024-09-30 moko | |
| * tests/: 429-sql.html, results/429-sql.processed: code coverage | |
| tests added | |
| * src/classes/array.C: $.distinct should not be used unless | |
| $.sparse(true) | |
| * tests/: 429-sql.html, results/388-sql.processed, | |
| results/429-sql.processed: tests for ^array::sql{}, including | |
| multi_statements mode (related to feature #930) | |
| 2024-09-29 moko | |
| * src/classes/array.C: synced ^array::sql multi_statements logic | |
| with ^hash::sql new behavour | |
| 2024-09-28 moko | |
| * tests/: 428-sql.html, results/388-sql.processed, | |
| results/428-sql.processed: tests updated after column names were | |
| fixed in multi_statements mode (related to feature #1197) | |
| * src/classes/hash.C: column names are fixed for most cases in | |
| multi_statements mode (related to feature #1197) | |
| * tests/: 428-sql.html, results/195.processed, | |
| results/224.processed, results/239.processed, | |
| results/254.processed, results/261.processed, | |
| results/306.processed, results/333.processed, | |
| results/341.processed, results/343.processed, | |
| results/344.processed, results/348.processed, | |
| results/364.processed, results/389.processed, | |
| results/390.processed, results/415.processed, | |
| results/420.processed, results/421.processed: tests results | |
| updated after error messages spelling minor fixes | |
| * src/types/: pa_value.h, pa_vstateless_class.h: a bit more | |
| spelling | |
| * src/: classes/curl.C, classes/file.C, classes/hash.C, | |
| classes/image.C, classes/math.C, classes/string.C, | |
| classes/table.C, lib/memcached/pa_memcached.C, main/compile.y, | |
| main/execute.C, main/pa_charset.C, main/pa_common.C, | |
| main/pa_http.C, main/pa_request.C, main/pa_socks.C, | |
| main/pa_sql_driver_manager.C, types/pa_value.C, types/pa_value.h, | |
| types/pa_vmail.C, types/pa_vobject.C, | |
| types/pa_vstateless_class.C, types/pa_vstateless_class.h, | |
| types/pa_vxdoc.C: minor error messages spelling fixes | |
| * src/: classes/array.C, types/pa_varray.h: initial ^array::sql{} | |
| implementation (related to feature #930) | |
| * tests/: 388-sql.html, results/388-sql.processed: test results | |
| updated after rows number ^file::sql{} check added | |
| * src/classes/file.C: rows number now checked in ^file::sql{} | |
| * tests/: 428-sql.html, results/428-sql.processed: more tests | |
| * tests/: 428-sql.html, results/428-sql.processed: more | |
| multi_statements testing before bugfix | |
| * tests/: 388-sql.html, 428-sql.html, results/388-sql.processed, | |
| results/428-sql.processed: support for multiple sql test files | |
| added | |
| * tests/: 388-sql.html, results/388-sql.processed: more sql testing | |
| * src/classes/hash.C: more accurate one_bool_column processing | |
| * tests/: 427.html, results/427.processed: Constructors as methods | |
| behavour documented in test | |
| * src/classes/hash.C: HashStringValue::Iterator used for options | |
| * tests/: 388-sql.html, results/388-sql.processed: even more tests | |
| * tests/: 388-sql.html, results/388-sql.processed: a bit more | |
| testing | |
| * tests/results/367-curl.processed: test result updated after | |
| server charset changed | |
| * tests/results/347-curl.processed: error messages updated | |
| * tests/results/: 346-curl.processed, 379-curl.processed, | |
| 394-curl.processed: tests results updated after Type -> Exception | |
| type replacement | |
| * tests/results/388-sql.processed: tests result updated after Type | |
| -> Exception type | |
| 2024-09-27 moko | |
| * src/classes/hash.C: minor simplification | |
| 2024-09-24 moko | |
| * src/main/pa_string.C: atoui error messages improved | |
| * tests/: 165.html, 312.html, results/165.processed, | |
| results/312.processed, results/379.processed: tests updated after | |
| default endless loop limit increased, atoi error messages | |
| improved | |
| * src/classes/hash.C: VBool::get used, unification | |
| 2024-09-22 moko | |
| * src/classes/array.C: minor simplification | |
| * src/classes/array.C: ^array.left(N), | |
| ^array.right(N),^array.mid(P;N) added (related to feature #930) | |
| * src/: classes/array.C, include/pa_request.h, main/pa_request.C, | |
| types/pa_varray.C, types/pa_varray.h: $MAIN:LIMITS.max_array_size | |
| added, default 1000000 (related to feature #930) | |
| * tests/: 426.html, results/426.processed: test for negative limit | |
| and offset processing for table options added | |
| * src/: classes/table.C, include/pa_array.h, main/pa_table.C: | |
| bugfix: negative limit and offset processing for table options | |
| fixed | |
| 2024-09-21 moko | |
| * src/: classes/array.C, types/pa_varray.h: join supports hash; | |
| ^for added that also iterates holes; ^remove added (related to | |
| feature #930) | |
| * src/classes/array.C: ^array.join[$another_array; $.limit(N) | |
| $.offset(M) ] added (related to feature #930) | |
| 2024-09-20 moko | |
| * src/: classes/array.C, types/pa_varray.h: array: | |
| +foreach[value]{code}, + add[hash with numeric keys] (related to | |
| feature #930) | |
| 2024-09-19 moko | |
| * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.h, | |
| main/execute.C, types/pa_varray.h: OP_CONSTRUCT_ARRAY added to | |
| support $a[v1;v2;...] syntax (related to feature #930) | |
| 2024-09-17 moko | |
| * src/: classes/reflection.C, include/pa_request.h, | |
| main/compile_tools.h, main/pa_request.C: | |
| ^reflection:class_alias[existing class name;alias class name] | |
| added. The array class can now be redefined regardless of the | |
| $.replace(bool) option value (related to feature #930) | |
| * src/main/: compile.y, compile_tools.h: class_add return value | |
| inverted to add it to request class | |
| * src/: classes/array.C, include/pa_array.h, include/pa_request.h, | |
| include/pa_stack.h, types/pa_varray.C, types/pa_varray.h, | |
| types/pa_vmethod_frame.h: array: fused -> fsize, fit(index) to | |
| resize if required. spared array - added fused, append. | |
| 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 ' in HTML tainting mode | |
| (related to feature #1241) | |
| * src/main/untaint.C: single quote now escaped with ' 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 |