--- parser3/ChangeLog 2013/10/29 16:21:27 1.92 +++ parser3/ChangeLog 2024/11/25 02:05:13 1.207 @@ -1,3 +1,5732 @@ +2024-11-25 moko + + * src/main/pa_exec.C: separated cmd_quote and exe_quote (related to + bug #1239) + +2024-11-24 moko + + * src/main/pa_exec.C: added cmd.exe specific + + * tests/: 441.html, cat-windows.sh, cat.sh, results/441.processed: + tests for ^file::exec env and args tainting tests (related to bug + #1239) + + * src/main/pa_exec.C: shell_quote added (partial fix for bug #1239) + + * src/include/pa_config_includes.h: added recommendations for + libxslt.a and and libexslt.a compilation under cygwin + + * tests/results/102.processed: $form:fields.value is now writable, + as $form:value (related to feature #1254) + + * src/include/pa_config_includes.h: cigwin compilation fixes + +2024-11-23 moko + + * tests/httpd/site/run_server.sh: to simplify testing + + * tests/httpd/: 030.txt, 031.curl, 040.txt, ok.log, run_tests.sh, + site/form.html: $form:files and $form:elements tests added, tests + with curl supported (related to feature #1254) + + * src/: include/pa_symbols.h, main/pa_symbols.C, types/pa_vform.C, + types/pa_vform.h: $form:elements implemented, VForm::get_element + uses faster SYMBOLS_EQ, hashes no longer copied when using + $form:fields/tables/files/imap and can be edited (implements + feature #1254) + + * src/main/pa_http.C: pa_send added to handle partial writes (fixes + bug #1261) + +2024-11-17 moko + + * tests/: 440.html, results/440.processed: tests for + ^table.array[], offset restoration, iterators robust tests + (related to bug #1258, features #1259 and #1260) + + * tests/: 439.html, results/439.processed: array and hash iterators + robust tests (related to feature #1260) + + * src/: classes/array.C, classes/table.C, include/pa_array.h, + include/pa_table.h: Array_robust_iterator added and used in cases + where array can be modified during iteration (implements feature + #1260) + + * src/classes/table.C: ^table.array[], ^table.array[column name], + ^table.array{code} added (implements feature #1259) + +2024-11-16 moko + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C: fixed + table current row restoration after exception and table changes + (fixes bug #1258) + +2024-11-13 moko + + * src/classes/table.C: minor optimization + + * src/main/pa_string.C: \r added to default ^string.trim chars list + (https://www.parser.ru/forum/?id=86648) + +2024-11-11 moko + + * src/classes/classes.C: set_base commented + + * src/classes/: classes.C, xdoc.C: cleanup after classes.awk + deleted + + * src/classes/classes.vcproj: no more classes.awk and classes.inc + + * src/classes/: Makefile.am, classes.awk: no more classes.awk and + classes.inc + + * src/: classes/classes.C, classes/classes.awk, classes/classes.h, + main/pa_globals.C: classes.awk is useless, preparing to delete it + + * src/classes/classes.h: temp fix + +2024-11-10 moko + + * src/: classes/date.C, classes/file.C, classes/image.C, + classes/op.C, main/pa_string.C: minor optimization + + * src/: classes/date.C, classes/file.C, classes/image.C, + classes/op.C, main/pa_string.C: typo fixed + + * src/: classes/classes.awk, classes/classes.h, classes/date.C, + classes/file.C, classes/image.C, classes/op.C, + main/pa_charsets.C, main/pa_string.C: singletones used to reduce + memory allocation befor main(). Only 3 allocations in chatsets + left (implements feature #1257) + + * src/targets/: apache/mod_parser3_core.C, isapi/parser3isapi.C: + minor naming convention fix + + * tests/: 437.html, 438.html, httpd/ok.log, httpd/site/029.html, + results/436.processed, results/437.processed, + results/438.processed: tests for @unhandled_exception processing + (related to feature #1256) + + * src/: main/pa_request.C, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: Exceptions in @unhandled_exception + are now processed in request::core for correct logging and + reporting (feature #1256) + + * src/: include/pa_sapi.h, main/pa_request.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: unhandled exception now called if + exception occures during $response:download processing (related + to bug #1255) + + * etc/auto.p.in: better 404 error reporting + +2024-11-09 moko + + * src/main/pa_memory.C: more detailed usage comment + + * src/main/pa_memory.C: usage commented + + * src/main/pa_memory.C: minor cleanup + + * src/types/: pa_varray.h, pa_vregex.h: warnings war + + * tests/: 436.html, httpd/029.txt, httpd/ok.log, + httpd/site/029.html, results/436.processed: test for exception in + $response:download[] added + + * src/targets/cgi/parser3.C: sync CGI mode behavior with httpd mode + and avoid exit status 1 on die + + * tests/results/: 007.processed, 019.processed, 098.processed, + 103.processed, 233.processed: windows headers matter for binary + files + + * tests/httpd/ok.log: tests results updated as extra headers now + cleared on error (related to bug #1255) + + * src/: include/pa_sapi.h, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: headers buffering to avoid extra + headers in errors, custom send_error in cgi/httpd mode to avoid + memory allocations (fixes bug #1255) + +2024-11-07 moko + + * tests/: 264.html, results/264.processed: tests updated to test + removal of only trailing empty arguments for backward + compatibility (related to feature #1252) + + * src/classes/file.C: remove trailing empty arguments for backward + compatibility (related to feature #1252) + +2024-11-05 moko + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: avoid GPF in very + low memory case, when static initialization failed even before + main() start + +2024-11-04 moko + + * configure, src/include/pa_config_auto.h.in, + src/include/pa_config_fixed.h: _locking no longer used + + * configure.ac: _locking no longer used (related to bug #1231) + + * src/main/pa_os.C: lock error fine-tuning (related to bug #1231) + + * src/main/pa_os.C: lock errors tuning (related to bug #1231) + + * src/lib/sdbm/: pa_file_io.C, pa-include/pa_file_io.h: remove + unused + + * src/: lib/sdbm/pa_file_io.C, main/pa_common.C: errno should not + be used on locking errors (related to bug #1231) + + * src/main/pa_os.C: GetLastError used as errno is not set (related + to bug #1231) + + * src/main/pa_os.C: under windows _locking replaced with LockFileEx + allowing shared lock to work (fixes bug #1231) + + * INSTALL: actualized, minor fixes + + * etc/auto.p.in: default LIMITS added + + * AUTHORS: links actualized + + * src/: classes/array.C, classes/bool.C, classes/classes.C, + classes/classes.awk, classes/classes.h, classes/curl.C, + classes/date.C, classes/double.C, classes/file.C, classes/form.C, + classes/hash.C, classes/hashfile.C, classes/image.C, + classes/inet.C, classes/int.C, classes/json.C, classes/mail.C, + classes/math.C, classes/memcached.C, classes/memory.C, + classes/op.C, classes/reflection.C, classes/regex.C, + classes/response.C, classes/string.C, classes/table.C, + classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_array.h, include/pa_base64.h, + include/pa_cache_managers.h, include/pa_charset.h, + include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_symbols.h, + include/pa_table.h, include/pa_threads.h, include/pa_types.h, + include/pa_uue.h, include/pa_xml_exception.h, + include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C, + lib/md5/pa_md5.h, lib/md5/pa_md5c.c, + lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, + lib/punycode/pa_idna.c, lib/punycode/pa_idna.h, + lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C, + lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, + main/compile.tab.C, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, main/pa_base64.C, + main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C, + main/pa_common.C, main/pa_dictionary.C, main/pa_dir.C, + main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, + main/pa_http.C, main/pa_memory.C, main/pa_os.C, main/pa_pool.C, + main/pa_random.C, main/pa_request.C, main/pa_socks.C, + main/pa_sql_driver_manager.C, main/pa_string.C, + main/pa_stylesheet_connection.C, main/pa_stylesheet_manager.C, + main/pa_symbols.C, main/pa_table.C, main/pa_threads.C, + main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C, + main/untaint.C, sql/pa_sql_driver.h, + targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C, + targets/apache/pa_httpd.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_junction.h, + types/pa_method.h, types/pa_property.h, types/pa_value.C, + types/pa_value.h, types/pa_varray.C, types/pa_varray.h, + types/pa_vbool.h, types/pa_vcaller_wrapper.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h, + types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.C, + types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.C, + types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.C, + types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vhashfile.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, + types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vmail.C, + types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h, + types/pa_vmemcached.C, types/pa_vmemcached.h, types/pa_vmemory.h, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, + types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated + +2024-10-28 moko + + * src/classes/array.C: avoid invalidate() + + * src/: classes/array.C, types/pa_varray.h: minor optimization for + fused to survive in ^array::copy[$a] (related to feature #930) + + * src/types/pa_varray.h: minor optimization as last element is + allways defined if present + + * tests/: 435.html, results/435.processed: tests for + ^hash.set[first|last;value], ^hash.set([-+]index)[value] and same + for array added (related to feature #1253) + + * src/classes/array.C: typo fixed + + * src/classes/: array.C, hash.C: ^hash.set[first|last;value] + + ^hash.set([-+]index)[value], and same for array added (implements + feature #1253) + + * tests/results/: 246.processed, 298.processed, 342.processed, + 389.processed, 397.processed, 430.processed, 432.processed: tests + results update after minor exceptions texts fixes + +2024-10-27 moko + + * src/: classes/array.C, classes/hash.C, classes/math.C, + classes/reflection.C, classes/string.C, classes/table.C, + main/pa_string.C, types/pa_varray.h, types/pa_vfile.C, + types/pa_vmethod_frame.h: handy as_index() added, several + exceptions texts fixed (related to feature #930) + + * src/: classes/array.C, types/pa_varray.h: non-working + $array.fields removed, ^array.delete[index] supported (related to + feature #930) + + * tests/: 431.html, results/431.processed: tests updated after + ^a.delete[3] supported + + * tests/: 431.html, 434.html, results/434.processed: tests for last + element used, push/pop, exceptions during arguments processing + and used caching (related to feature #930) + + * src/: classes/array.C, types/pa_varray.h: change_used added for + better used caching and now no issues if exception occures during + append arguments processing (related to feature #930) + + * src/: classes/array.C, types/pa_varray.h: ^array.push[] / + ^array.pop[] added, last element is allways used (related to + feature #930) + +2024-10-26 moko + + * src/: classes/array.C, include/pa_array.h, types/pa_varray.C, + types/pa_varray.h: confirm_all_used added where possible (related + to feature #930) + + * src/: classes/array.C, include/pa_array.h, types/pa_varray.h: + small array optimizations (related to feature #930) + + * src/types/pa_varray.h: DEBUG_ARRAY_USED added to simplify testing + + * tests/: 431.html, results/431.processed: test for + ^array.compact[undef] added + + * src/classes/array.C: ^array.compact[] now have optional 'undef' + argument to also compact undefined elements (related to feature + #930) + +2024-10-24 moko + + * src/: classes/array.C, types/pa_varray.C, types/pa_varray.h: + VArray::hash is used rarery, no longer caching the result + + * tests/results/432.processed: testing removed from tests + +2024-10-23 moko + + * tests/: 431.html, results/431.processed: ^array.compact[] test + added + + * src/: classes/array.C, types/pa_varray.h: ^array.compact[] added + + * tests/: 432.html, results/432.processed: testing ^array.at[] for + both "solid" and "sparse" arrays + + * src/classes/array.C: ^array.at[] speedup for "solid" arrays + +2024-10-22 moko + + * tests/results/264.processed: spelling + + * src/classes/file.C: spelling + + * tests/: 264.html, cat-windows.sh, cat.sh, results/264.processed: + tests updated after ^file::exec[cmd;;$array] implemented and + empty arguments not skipped (related to feature #1252) + + * src/classes/file.C: ^file::exec[cmd;;$array] supported + (implements feature #1252) bugfix: empty arguments no longer + skipped + +2024-10-21 moko + + * tests/httpd/: 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, + 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, + 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, + 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, + 028.txt, 030.txt, ok.log, run_tests.sh, site/httpd.p, + site/index.html, site/test.txt: httpd tests added + +2024-10-20 moko + + * src/classes/string.C: warnings war + + * src/: main/pa_string.C, classes/array.C: warnings war + + * src/classes/json.C: warnings war + + * src/classes/image.C: warnings war + + * src/: classes/table.C, types/pa_varray.C: warnings war + + * src/classes/array.C: warning war + + * src/: classes/classes.vcproj, types/types.vcproj: vcproj: +=array + + * src/main/main.vcproj: warnings war + +2024-10-19 moko + + * tests/427.html: test updated after constructors renamed + +2024-10-18 moko + + * tests/: 421.html, 430.html, 431.html, 432.html, 433.html, + results/421.processed, results/430.processed, + results/431.processed: test updated after constructors renamed + + * src/classes/array.C: create -> copy, new -> create according to + https://www.parser.ru/forum/?id=86603 discussion (related to + feature #930) + +2024-10-16 moko + + * src/classes/json.C: $json:array[array or hash] added to provide + more backward compatibility (implements feature #1251) + +2024-10-15 moko + + * tests/: 421.html, results/421.processed: test results updated + after missing constuctor error check added and array is_index + check added + + * src/main/execute.C: absent constructor message fixed + +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 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 + 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) 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 -> + 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: , Comment: + 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: + , Comment: 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 + + * src/targets/cgi/parser3.C: argv[0] -> parser3_filespec + +2021-12-28 moko + + * tests/: 417.html, results/417.processed: test for empty string + match added (related to bug #1224) + + * src/main/pa_string.C: empty string match now works (fixes bug + #1224) + +2021-12-24 moko + + * tests/: 415_dir/29.p, results/415.processed: yet another test + +2021-12-23 moko + + * src/: classes/table.C, main/pa_request.C: warnings war + + * src/: include/pa_common.h, include/pa_http.h, main/pa_common.C, + main/pa_http.C, targets/cgi/parser3.C: MSVC SOCKET warnings war + +2021-12-21 moko + + * tests/: 416.html, results/416.processed: test for ^break[] in + ^hash/table.select[] (related to feature #1222) + + * src/classes/: hash.C, table.C: ^break[] support for + ^hash/table.select[] (implements feature #1222) + +2021-11-30 moko + + * src/targets/cgi/parser3.C: default sock_ready interval changed to + 0.5 sec + +2021-11-10 moko + + * tests/results/415.processed: more syntax errors tests added + + * tests/415_dir/: 20.p, 21.p, 22.p, 23.p, 24.p, 25.p, 26.p, 27.p, + 28.p: minor syntax error tests + + * src/main/pa_exception.C: pa_strdup added for compatibility + + * src/classes/curl.C: hint to call ^curl:options[ + $.library[correct.libcurl.so.name] ] added if default load fails. + +2021-11-09 moko + + * src/main/compile.y: error message can be on stack + + * src/main/pa_xml_io.C: strcat replaced with pa_strcat + + * src/main/pa_charset.C: memcpy is more correct and efficient in + this case then strncpy + + * src/: classes/image.C, types/pa_vrequest.C: pa_strdup used + instead of strcpy where possible + + * src/: classes/op.C, main/pa_exception.C: "%s" format now can be + used to avoid MAX_STRING limit in Exception comment + + * tests/results/415.processed: compiler exceptions are no longer + limited to MAX_STRING + + * src/main/: compile.y, compile_tools.h: Parse_control uses const + char * instead of fixed buffer + + * tests/: 415.html, 415_dir/01.p, 415_dir/02.p, 415_dir/03.p, + 415_dir/04.p, 415_dir/05.p, 415_dir/06.p, 415_dir/07.p, + 415_dir/08.p, 415_dir/09.p, 415_dir/10.p, 415_dir/11.p, + 415_dir/12.p, 415_dir/13.p, 415_dir/14.p, 415_dir/15.p, + results/415.processed: tests for parser.compile exceptions added + +2021-11-08 moko + + * src/: classes/math.C, include/pa_common.h, main/compile.y, + main/pa_common.C, main/pa_dir.C, main/pa_exec.C, main/pa_http.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C, + types/pa_vdate.C: pa_strncpy added ans used to avoid strncpy + drawbacks + +2021-11-06 moko + + * src/classes/inet.C: ^inet:hostname[] added by sumo@ patch + (implements feature #1219) + + * tests/: 414.html, results/414.processed: test for + ^hash.rename[from;to] added (related to feature #1144) + +2021-11-05 moko + + * src/classes/hash.C: ^hash.rename[ $.from[to] ... ] support added + (related to feature #1144) + +2021-11-04 moko + + * src/: classes/hash.C, include/pa_hash.h: ^hash.rename[from;to] + added (implements feature #1144) + +2021-10-19 moko + + * tests/: 413.html, results/413.processed: test for hash no longer + is accepted as file parameter (related to bug #1218) + + * src/: classes/curl.C, classes/file.C, classes/image.C, + classes/math.C, classes/xdoc.C, types/pa_value.C, + types/pa_value.h, types/pa_vfile.h, types/pa_vmail.C: hash no + longer is accepted as file parameter (fixes bug #1218) + +2021-07-19 moko + + * src/targets/cgi/parser3.C: waitpid in file::exec returned "No + child processes" when SIGCHLD was SIG_IGN (fixes bug #1215) + +2021-04-16 moko + + * src/types/pa_vmail.C: message can be null when e-mail is broken, + processing it leads to assertions. + +2021-03-25 moko + + * tests/: 412.html, results/412.processed: test to demonstrate bug + #1213 + +2021-02-12 moko + + * tests/: 360.html, results/360.processed, results/363.processed: + parser method call in expression mode no longer differs from call + in string mode (related to feature #1211) + +2021-02-11 moko + + * src/types/pa_vmail.C: mail parsing with Windows line endings + fixed (bug #1212) + + * src/types/pa_vmethod_frame.h: no more difference inside @test[] + when called $v[^test[]] vs $v(^test[]), numbers are converted to + strings in both calls (implements feature #1211) + +2021-01-28 moko + + * buildall, etc/auto.p.in: to remove last patch in debian package + + * configure, configure.ac, src/include/pa_version.h: 3.4.6 -> + 3.4.7b + +2021-01-21 moko + + * src/main/pa_http.C: no alarm() in file::load when web server mode + is MULTITHREADED + +2021-01-20 moko + + * src/targets/apache/mod_parser3.c: it is more correct to recommend + 'a2enmod mpm_prefork' + + * src/targets/apache/mod_parser3.c: prefork name is now + 'libapache2-mpm-itk' + + * src/targets/apache/mod_parser3_core.C: last regular malloc + removed + + * src/targets/isapi/Makefile.am: -pa_threads.C + + * configure, configure.ac, src/include/pa_version.h: 3.4.6rc -> + 3.4.6 + + * etc/auto.p.in: post_max_size 10Mb -> 64Mb. It's 2021 year now. :) + + * etc/auto.p.in: @config[result] added to simplify $cfg change in + /httpd.p + + * etc/auto.p.in: httpd fine-tune: + @OPTIONS partial, + + ^use[/httpd.p] + optional ^preprocess[] (related to feature + #1203) + +2021-01-19 moko + + * buildall: --disable-parallel-mark added to avoid "number of + processors" threads creation for heap marking as it conflicts + with RLimitNProc in apache (on Linux setrlimit RLIMIT_NPROC + limits threads) + +2021-01-16 moko + + * src/: classes/memory.C, include/pa_memory.h, lib/gc/include/gc.h, + main/pa_globals.C, main/pa_memory.C, + targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C, + types/pa_vhashfile.C: ^memory:auto-compact(N) added (implements + feature #1209) + +2021-01-15 moko + + * configure, configure.ac, src/include/pa_version.h: 3.4.6b -> + 3.4.6rc + + * src/classes/json.C: get_delim added for delimiter caching (10% + faster on large json) + +2021-01-14 moko + + * operators.txt: updated with 3.4.6 changes + + * tests/results/224.processed: test result modified after + today(shift) implemented + + * tests/: 407.html, results/407.processed: test for ^hash.select + option $.default(bool) added (related to feature #1172) + + * src/classes/hash.C: ^hash.select option $.default(bool) added + (related to feature #1172) + + * tests/: 141.html, results/141.processed: test modified for + feature #1185. + + * src/: classes/math.C, include/pa_random.h, main/pa_random.C: + ^math:uuid options $.lower(bool) $.solid(bool), ^math:uid64 + options $.lower(bool) (implements feature #1185) + +2021-01-11 moko + + * src/classes/date.C: ^date::today(N) by gz@ (implements feature + #1192) + + * tests/: 411.html, results/411.processed: test for ^date::today(N) + added (related to feature #1192) + +2021-01-05 moko + + * tests/: 270.html, results/270.processed: test modified to work + under Windows + + * tests/: 390.html, 395.html, results/395.processed: tests updated + 4 windows + + * tests/: 410.html, results/410.processed: test for + $CLASS-GETTER-PROTECTED(false) added + +2021-01-04 moko + + * tests/: 409.html, results/409.processed, results/auto.p: test for + $MAIN:LOCALS(true) added + +2021-01-03 moko + + * src/: main/pa_http.C, main/pa_request.C, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vstateless_class.C, + types/pa_vstateless_class.h: @conf[] +CLASS-GETTER-PROTECTED, + +LOCALS. $main -> $MAIN in exception texts (implements feature + #1207) + +2021-01-02 moko + + * etc/auto.p.in: minor + + * src/main/pa_request.C: sending headers only after opening file to + allow error reporting if file was not opened (foreign group, + etc). + +2020-12-31 moko + + * src/: include/pa_request.h, main/pa_request.C, + targets/cgi/parser3.C: ^httpd-main[] -> ^httpd:main[] + + * src/: classes/reflection.C, include/pa_request.h, main/execute.C, + main/pa_request.C: get_class_ref added and used + + * etc/auto.p.in: @CLASS httpd added + + * etc/auto.p.in: @auto[] is now first + +2020-12-30 moko + + * tests/: 408.html, results/408.processed: test for bug #1166 + (windows only) added + + * src/main/pa_common.C: create_dir_for_file should not create dir + for trailing / (fixes bug #1166) + + * tests/: 341.html, results/341.processed: tests for + ^nameless_table.hash[] added (related to feature #1138) + + * src/classes/table.C: ^nameless_table.hash[0;1] now supported + (implements feature #1138), extra fields in named tables no + longer ignored (implements feature #1138) + + * tests/results/390.processed: updated after exception text change + +2020-12-29 moko + + * tests/: 407.html, results/407.processed: +$._default check + + * src/classes/hash.C: keep $_default in ^hash.reverse[] + + * tests/: 407.html, results/407.processed: test for ^hash.select[] + and ^hash.reverse[] added (releated to feature #1172) + + * src/classes/hash.C: + ^hash.select[key;value](bool-condition)[options hash] + + ^hash.reverse[] added (implements feature #1172) + + * src/types/pa_vtable.h: warning war + + * src/include/pa_config_fixed.h: win32 fix + +2020-12-27 moko + + * tests/: 406.html, results/406.processed: test results updated + + * src/: classes/table.C, main/pa_request.C, types/pa_vmail.C, + types/pa_vmemcached.C: fine tuning in ^table.rename[], minor + spelling + +2020-12-26 moko + + * tests/: 406.html, results/406.processed: tests for + ^table.rename[] added (related to feature #1148) + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C: + ^table.rename[column name from;column name to], ^table.rename[ + $.[column name from][column name to] ... ] added (implements + feature #1148) + +2020-12-25 moko + + * src/: include/pa_request_info.h, targets/cgi/parser3.C: + request_info now on stack to avoid yet another THREAD_LOCAL + memory deallocation issue (now with cookies), explained in #1203 + + * src/types/pa_vcookie.C: fields should be inited + +2020-12-24 moko + + * src/include/pa_stylesheet_connection.h: looks like + xsltFreeStylesheet leads to memory double-free. If so, it's for + sure libxml bug, but we have GC anyway, so we just remove this + call and see... + + * thread #1, name = 'parser.parser3.cgi', stop reason = signal + SIGABRT * frame #0: 0x0000000801ab50fa libc.so.7`__sys_thr_kill + + 10 frame #2: 0x0000000801ab5039 libc.so.7`abort at + abort.c:65:8 frame #3: 0x00000000004da663 + parser.parser3.cgi`GC_freehblk(hbp=) at + allchblk.c:878:9 frame #4: 0x00000000004cb8c4 + parser.parser3.cgi`GC_free(p=0x0000000808b34000) at + malloc.c:617:9 frame #5: 0x0000000000577f0c + parser.parser3.cgi`xmlHashFree(table=0x0000000806991a80, + f=) at hash.c:356:2 frame #6: 0x000000000051a7c2 + parser.parser3.cgi`xsltFreeTemplateHashes + 50 frame #7: + 0x000000000050cfac parser.parser3.cgi`xsltFreeStylesheet + 124 + frame #8: 0x000000000050d35c + parser.parser3.cgi`xsltFreeStylesheetList + 44 frame #9: + 0x000000000050d1fa parser.parser3.cgi`xsltFreeStylesheet + 714 + frame #10: 0x00000000004436e5 + parser.parser3.cgi`Stylesheet_manager::maybe_expire_cache() + [inlined] + Stylesheet_connection::disconnect(this=0x0000000804676c80) at + pa_stylesheet_connection.h:62:3 + +2020-12-23 moko + + * src/classes/image.C: ^image::measure[; $.video() ] option added + + * tests/: 395.html, 395_dir/4.mp4, results/395.processed: test + ^image::measure[; $.video(true) ] added + + * src/main/pa_exec.C: not cleared automatically in multithreaded + httpd mode for unknown reasons + +2020-12-22 moko + + * src/targets/cgi/parser3.C: added by PAF in rev 201 to "write to + error_log uri of currently processed document", but never used + and conflicts with how libgc stops threads on FreeBSD (#define + SIG_SUSPEND SIGUSR1), thus removed. + +2020-12-21 moko + + * src/main/pa_request.C: +comment + +2020-12-20 moko + + * src/: include/pa_common.h, include/pa_memory.h, main/pa_common.C: + it is more safe to have versions of pa_strdup with one and two + arguments, as helper_length=0 not always mean that strlen() + should be called, but means zero. + + * src/targets/isapi/parser3isapi.C: minor + + * src/main/pa_http.C: +valid_http_method + + * src/: include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: SERVER_PORT now available + +2020-12-17 moko + + * tests/: 405.html, results/405.processed: test for split by regex + added (related to feature #1160) + + * src/classes/string.C: split by regex implemented (feature #1160) + + * src/classes/string.C: minor + + * tests/: 404.html, results/404.processed: test for whitespace + string is now OK for table argument (related to feature #1169) + + * src/: classes/image.C, classes/string.C, classes/table.C, + types/pa_vmethod_frame.C: whitespace string is now OK for table + argument (as with hash) (implements feature #1169) + + * src/classes/op.C: Exception.add_comment used to avoid MAX_LENGTH + limit for comment (fixes bug #1102) + + * src/targets/cgi/parser3.C: +HAVE_TLS check + + * src/main/pa_http.C: no HAVE_TLS -> no multithreads mode + + * src/include/pa_config_includes.h: HAVE_TLS used + + * configure.ac: +TLS check + + * src/main/pa_http.C: content logging added + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: + clear_response_headers added + +2020-12-16 moko + + * buildall: as we now use threads, libatomic_ops still required for + some OS. + + * src/main/pa_request.C: whitespace + + * src/: include/pa_request.h, main/pa_request.C: + Request::Exception_trace::table extracted and used + + * src/main/pa_request.C: moving output_result call outside of try + as network exceptions should not be handled by parser code + + * src/: include/pa_http.h, main/pa_http.C: HTTPD_DEBUG added for + logging network exchange + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: do not send error + via network if it was network write error. + + * src/targets/cgi/parser3.C: log -> pa_log + + * src/targets/cgi/parser3.C: pa_get_thread_id() used for logging + + * src/main/pa_threads.C: getpid() if no gettid() found + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + we need to ignore "void" connections from browsers (browsers open + connections in advance and they will be empty if user does not + request more pages) + +2020-12-15 moko + + * src/targets/cgi/parser3.C: avoid previous uri in logs + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: global ::request and + RequestController not needed in httpd mode + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/op.C, + classes/reflection.C, classes/regex.C, classes/response.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_array.h, include/pa_base64.h, + include/pa_cache_managers.h, include/pa_charset.h, + include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_symbols.h, + include/pa_table.h, include/pa_threads.h, include/pa_types.h, + include/pa_uue.h, include/pa_xml_exception.h, + include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C, + lib/md5/pa_md5.h, lib/md5/pa_md5c.c, + lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, + lib/punycode/pa_idna.c, lib/punycode/pa_idna.h, + lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C, + lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, + main/compile.tab.C, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, main/pa_base64.C, + main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C, + main/pa_common.C, main/pa_dictionary.C, main/pa_dir.C, + main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, + main/pa_http.C, main/pa_memory.C, main/pa_os.C, main/pa_pool.C, + main/pa_random.C, main/pa_request.C, main/pa_socks.C, + main/pa_sql_driver_manager.C, main/pa_string.C, + main/pa_stylesheet_connection.C, main/pa_stylesheet_manager.C, + main/pa_symbols.C, main/pa_table.C, main/pa_threads.C, + main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C, + main/untaint.C, sql/pa_sql_driver.h, + targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C, + targets/apache/pa_httpd.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_junction.h, + types/pa_method.h, types/pa_property.h, types/pa_value.C, + types/pa_value.h, types/pa_vbool.h, types/pa_vcaller_wrapper.h, + types/pa_vclass.C, types/pa_vclass.h, types/pa_vcode_frame.h, + types/pa_vconsole.h, types/pa_vcookie.C, types/pa_vcookie.h, + types/pa_vdate.C, types/pa_vdate.h, types/pa_vdouble.h, + types/pa_venv.C, types/pa_venv.h, types/pa_vfile.C, + types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, + types/pa_vhash.C, types/pa_vhash.h, types/pa_vhashfile.C, + types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h, + types/pa_vint.h, types/pa_vjunction.C, types/pa_vjunction.h, + types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, + types/pa_vmath.h, types/pa_vmemcached.C, types/pa_vmemcached.h, + types/pa_vmemory.h, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, + types/pa_vregex.C, types/pa_vregex.h, types/pa_vrequest.C, + types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated + + * src/main/pa_request.C: old compilers support + + * tests/: 362.html, results/362.processed: test updated after + changes after upgrade to libxml2-2.9.9 were made (related to bug + #1108) + + * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltStylesheet_auto_ptr + removed, as xsltFreeStylesheet has side effects on original doc. + compiled stylesheet no longer cached as with libxml2-2.9.9 it was + not updated after xdoc modification (part 3 of test 362). + (related to bug #1108) + + * src/targets/isapi/parser3isapi.C: +pa_strcat + + * src/: classes/memory.C, include/pa_memory.h, + targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C: + PA_GC_GCOLLECT used + + * src/include/pa_memory.h: +PA_GC_COLLECT + + * src/targets/cgi/parser3.C: msvs support fixes + + * src/lib/gc/include/gc.h: more cleanup + + * src/: include/pa_threads.h, main/pa_threads.C: win32 fixes + + * src/: include/pa_http.h, main/pa_http.C, main/pa_request.C, + targets/cgi/parser3.C: $main:HTTPD.mode implemented + + * src/include/pa_config_includes.h: +HAVE_PTHREAD_H + + * configure.ac: pthread.h added to checked headers + + * src/classes/table.C: string stream is back :) + + * src/classes/memory.C: GC_generate_random_backtrace no longer + exists + + * src/main/pa_globals.C: GC_dont_gc replaced + + * src/lib/gc/include/gc.h: major cleanup, only used functions are + left to simplify adding new functions. depricated GC_dont_gc + replaced with GC_disable and GC_enable calls. + + * src/lib/cord/: cordxtra.c, include/cord.h: cleanup: + CORD_from_file* not used and thus removed + + * src/lib/gc/include/gc_allocator.h: minor cleanup + +2020-12-14 moko + + * src/classes/: curl.C, memory.C, table.C: every TLS should be + referenced elsewhere, or GC will collect it. + + * src/: include/pa_xml_io.h, main/pa_stylesheet_connection.C, + main/pa_xml_io.C: bugfix: TLS variables should be referenced + elsewhere, or GC will collect them (and we'll get GPF in + multithreaded enviroment). May be it can be also fixed by some + GC call, not sure. But this fix costs nothing (but hours of + debugging to find the issue :). + +2020-12-11 moko + + * configure.ac: gettid() check added + + * src/main/pa_threads.C: HAVE_GETTID used + + * src/include/pa_config_auto.h.in: +HAVE_GETTID + + * src/: include/pa_threads.h, main/pa_threads.C: now unified + version for isapi/cgi/apache + + * buildall: threads are now required. + + * src/: targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + main/main.vcproj: pa_threads.C moved to main + + * src/targets/: apache/pa_threads.C, cgi/pa_threads.C, + isapi/pa_threads.C: pa_threads.C moved to main + + * src/: main/Makefile.am, targets/cgi/Makefile.am, + targets/apache/Makefile.am: pa_threads.C moved to main + + * src/classes/xdoc.C: Stylesheet_connection_ptr changed a bit + + * src/: include/pa_stylesheet_connection.h, + main/pa_stylesheet_manager.C: Stylesheet_connection_ptr simplfied + and weird GPF in multithreaded httpd is gone + + * src/include/: pa_stylesheet_connection.h, + pa_sql_driver_manager.h: whitespace + + * src/main/pa_sql_driver_manager.C: timeout 60 sec -> 10 sec + + * src/: include/pa_sql_connection.h, main/pa_sql_driver_manager.C, + main/pa_stylesheet_manager.C: whitespace, warning war + + * src/: include/pa_threads.h, targets/apache/pa_threads.C, + targets/cgi/pa_threads.C, targets/isapi/pa_threads.C: + parser_multithreaded never used + + * src/main/pa_http.C: no ALARM in MULTITHREADED httpd server mode + +2020-12-10 moko + + * src/: include/pa_config_includes.h, include/pa_http.h, + main/pa_http.C, targets/cgi/parser3.C: initial support for + MULTITHREADED and PARALLEL httpd server modes + + * src/main/pa_globals.C: GC_java_finalization is depricated + +2020-12-09 moko + + * etc/auto.p.in: + @httpd-main + + * src/: include/pa_common.h, main/pa_request.C, + targets/cgi/pa_sapi_info.h: Range Requests (rfc7233) now really + work + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C: + slow file_read_binary no longer used, send_range added + +2020-12-08 moko + + * src/main/pa_request.C: >4Gb support + + * src/targets/cgi/parser3.C: msvc warning war + + * src/: include/pa_config_includes.h, main/pa_http.C, + main/pa_request.C: msvc warnings war + + * src/classes/image.C: warning war + + * src/classes/table.C: MSVC warning war + + * src/targets/cgi/parser3.C: msvc warnings war + + * src/targets/apache/mod_parser3_core.C: SYSTEM_CONFIG_FILE support + added + +2020-12-07 moko + + * configure.ac: SYSTEM_LOG_FILE no longer required as cheat used to + avoid logging beside system-wide auto.p + + * src/targets/cgi/parser3.C: SYSTEM_CONFIG_FILE used + + * configure, configure.ac, src/include/pa_config_auto.h.in: + configure options added: + + --with-system-cfg=FILE to specify system-wide auto.p + --with-system-log=FILE to specify system-wide parser3.log + + * Makefile.am: bin no longer exists + + * configure, configure.ac: auto.p moved to etc to simplify debian + package + + * buildall: auto.p and parser3.charsets moved to their default + location after install + + * etc/: Makefile.am, auto.p.in: auto.p moved to etc directory + + * aclocal.m4, configure: automake 1.15 -> 1.16.1 + + * src/targets/cgi/parser3.C: locate_config call returned to + original place as it requires pa_thread_request() under Windows + + * src/targets/cgi/parser3.C: renaming + +2020-12-06 moko + + * src/: main/pa_globals.C, targets/cgi/parser3.C: thread request + check added + +2020-12-04 moko + + * src/: classes/image.C, include/pa_common.h, main/pa_common.C, + main/pa_request.C: unified uint64_t lseek implemented to support + >4Gb files under x86, including Windows + +2020-12-02 moko + + * src/main/pa_common.C: minor bugfix: $.limit() should be checked + with max_file_size + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C: + support for processing files sized >4Gb on 32 bit planforms + + * tests/399.html: file moved + + * src/: include/pa_string.h, main/pa_string.C: long long -> int64_t + + * src/targets/cgi/pa_sapi_info.h: warning war + + * src/: main/pa_http.C, targets/isapi/parser3isapi.C: windows + warning war + +2020-12-01 moko + + * src/classes/image.C: mp4 extended size (>4Gb) support added + + * src/classes/image.C: for "size not found" exception to be shown + if size not found until eof + + * src/classes/image.C: long -> off_t (which is 64 bits even on 32 + bit linux) + + * src/classes/image.C: ^image::measure[] now supports mp4 (feature + #1188) + +2020-11-30 moko + + * src/classes/image.C: definitions moved closer to code + + * tests/: 395.bmp, 395.html, 396.html, 396.tiff, 395_dir/1.bmp, + 395_dir/2.tiff, 395_dir/3_VP8.webp, 395_dir/3_VP8L.webp, + 395_dir/3_VP8X.webp, results/395.processed, + results/396.processed: tests for ^image::measure[] .webp support + added, all image files moved into one directory (related to + feature #1188) + + * src/classes/image.C: ^image::measure[] now supports webp (feature + #1188) + +2020-11-29 moko + + * src/main/pa_request.C: CONF_OPTION added to unify @conf options + processing, unnessesary defines removed + +2020-11-24 moko + + * tests/results/: 099.processed, 100.processed, 205.processed, + 309.processed, 310.processed: Content-Disposition: inline + returned + + * tests/: 099.html, 237.html, 403.html, outputs/403.processed, + results/auto.p: test for $response:body[ $.file[] $.name[] + ] added (related to bug #1204) + + * src/main/pa_request.C: $response:body[ $file[.ext] $.name[] + ] supported to avoid Content-Disposition: inline; + filename=".ext" but still set Content-Type for ext (related + to bug #1204) + +2020-11-22 moko + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C, + types/pa_vfile.C: pa_filename added to avoid useless rsplit + + * src/main/pa_request.C: content_disposition_inline returned. + +2020-11-17 moko + + * src/main/pa_request.C: empty main method name support + + * src/: main/pa_common.C, targets/cgi/parser3.C: httpd + config_handler added, stdout flush added. + +2020-11-16 moko + + * src/targets/cgi/parser3.C: filespec_4log added, pa_strcat used. + + * tests/results/: 099.processed, 205.processed, 237.processed, + 309.processed, 310.processed: Content-Disposition: inline is not + required and should not contain filename="" + + * src/: include/pa_common.h, main/pa_common.C, main/pa_exception.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: pa_strcat implemented and used + +2020-11-14 moko + + * src/targets/cgi/parser3.C: spelling + + * src/targets/cgi/parser3.C: renaming + + * src/targets/cgi/parser3.C: args_skip removed, locate_config + relocated + + * src/targets/cgi/parser3.C: execution_canceled was for sigpipe + before request processing, which is weired + +2020-11-13 moko + + * src/main/pa_http.C: pa_recv added with timeout support, thus read + copied in httpd. + +2020-11-12 moko + + * src/main/pa_http.C: ALARM code unified to be used in httpd + + * src/: include/pa_request.h, main/pa_request.C, + targets/cgi/pa_sapi_info.h: pa_httpd_timeout added + + * src/main/pa_http.C: URI validation added + + * src/targets/cgi/parser3.C: filespec_to_process now variable, + can't be empty but can be null. httpd-main is now main method + name for httpd mode + +2020-11-11 moko + + * src/main/pa_request.C: path_translated can be null in httpd mode + + * src/: classes/curl.C, classes/file.C, classes/hashfile.C, + classes/image.C, classes/op.C, classes/string.C, classes/table.C, + classes/xdoc.C, include/pa_request.h, main/execute.C, + main/pa_request.C: r.absolute -> r.full_disk_path + + * src/targets/cgi/parser3.C: if filename to process is not + specified, auto.p should be present. + +2020-11-03 moko + + * src/: classes/op.C, include/pa_request.h: unused argument removed + + * src/main/pa_request.C: content_disposition_inline is the default, + not required. + +2020-10-29 moko + + * src/: classes/op.C, include/pa_request.h, main/pa_request.C: + ^use[file; $.main(true) ] implemented for auto.p processing and + path_translated changing to correct relative files path + calculation in httpd mode + + * src/: include/pa_request.h, main/pa_request.C: + fail_on_read_problem removed, as it allways true, as if should + be. + + * src/: include/pa_request.h, main/pa_request.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: clearing config_filespec when + config was not found, thus flag not required and removed. + +2020-10-28 moko + + * tests/: 402.html, results/402.processed: error reporting test + + * src/main/execute.C: better error reporting when + $result[^hash::create[]] in @main. + + * src/main/: execute.C, pa_request.C: frame.result() should be used + + minor optimization + + * src/: include/pa_request.h, main/execute.C, main/pa_request.C, + main/pa_xml_io.C: execute_*_method simplified and unified + +2020-10-27 moko + + * tests/: 306.html, results/306.processed: a bit more testing. :) + + * src/: main/execute.C, types/pa_value.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vdate.C, types/pa_venv.C, types/pa_vform.C, + types/pa_vhash.h, types/pa_vimage.C, types/pa_vmemcached.C, + types/pa_vmethod_frame.h, types/pa_vobject.C, + types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vtable.C, + types/pa_vxnode.C: optimization: PUT_ELEMENT_REPLACED_ELEMENT no + longer used in object-prototype mode + + * src/: include/pa_sapi.h, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_venv.C, types/pa_venv.h, + types/pa_vform.C, types/pa_vform.h: + $env:name[value] and + $form:name[value] features + +2020-10-18 moko + + * src/targets/cgi/Makefile.am: + pa_sapi_info.h + +2020-10-15 moko + + * src/main/pa_http.C: url no longer needed as + ALTER_EXCEPTION_SOURCE is used + + * src/: classes/curl.C, include/pa_common.h, main/pa_common.C, + main/pa_http.C: check_file_size filespec is now optional + + * src/: classes/curl.C, include/pa_exception.h, + main/pa_exception.C, main/pa_http.C: ALTER_EXCEPTION_SOURCE and + ALTER_EXCEPTION_COMMENT added for better error reporting + + * tests/: 379-curl.html, 379.html, results/223-curl.processed, + results/346-curl.processed, results/379-curl.processed, + results/379.processed: test results updated as load now provides + better error reporting + curl responses updated + +2020-10-14 moko + + * src/: classes/date.C, include/pa_string.h, main/pa_http.C, + main/pa_string.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C: pa_atoi / pa_atoui / pa_atoul usage + checked. 10 is now default base, no hex autodetect by default + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + connection socket closing in destructor + accept exception + handling + + * src/targets/cgi/parser3.C: warning war + + * src/: include/pa_http.h, include/pa_sapi.h, main/pa_http.C, + main/pa_request.C, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C: global try + exception handling unified + +2020-10-13 moko + + * src/targets/isapi/parser3isapi.C: reverted to atoi to avoid hex + autodetection + + * src/targets/apache/mod_parser3_core.C: reverted to atoi + + * src/: main/pa_http.C, targets/cgi/pa_sapi_info.h: warning war + + * src/main/pa_http.C: warning war + +2020-10-12 moko + + * src/: main/pa_request.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: excaption in + unhandled exception code optimization + + * src/targets/cgi/parser3.C: request_info now global variable + + * src/main/pa_http.C: http_read_response moved to HTTP_response + class + + * src/: include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: read_post implemented + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + [host:]port syntax support in httpd mode + + * src/: include/pa_http.h, targets/cgi/pa_sapi_info.h, + targets/cgi/parser3.C: populate_env added + + * src/include/pa_hash.h: to make get(char *) compiling in + HashStringString + +2020-10-10 moko + + * src/: classes/curl.C, include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: ResponseHeaders -> HTTP_Headers + + * src/: include/pa_http.h, include/pa_request_info.h, + main/pa_http.C, main/pa_string.C, + targets/apache/mod_parser3_core.C, targets/cgi/pa_sapi_info.h, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C, + types/pa_vrequest.C: initial httpd mode implementation + +2020-10-04 moko + + * src/targets/cgi/parser3.C: options together + +2020-09-30 moko + + * src/main/pa_http.C: renamed + +2020-08-14 moko + + * configure, configure.ac, parser3.sln, src/lib/Makefile.am, + src/targets/cgi/Makefile.am: no httpd as separate library + +2020-08-13 moko + + * src/targets/cgi/parser3.C: SAPI::die used in exception in + unhandled exception handler to report 500 instead of 200 it was + before. + + * src/targets/apache/mod_parser3_core.C: minor cleanup + + * src/: include/pa_sapi.h, main/untaint.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: SAPI::abort was used only once, + thus replaced with SAPI::die and removed + + * src/targets/: apache/mod_parser3_core.C, isapi/parser3isapi.C, + cgi/parser3.C: whitespace + + * src/targets/cgi/parser3.C: locate_config() extracted, whitespace. + +2020-08-12 moko + + * src/targets/cgi/parser3.C: duplicate info in signal logging + removed, whitespace was: SIGPIPE received while executing code. + uri=/_tmp.html, method=GET, cl=0 [uri=/_tmp.html, method=GET, + cl=0] + + * parser3.sln: + httpd.vcproj + +2020-08-11 moko + + * src/targets/cgi/Makefile.am: +libhttpd + + * configure.ac, src/lib/Makefile.am: +libhttpd + +2020-07-13 moko + + * tests/: 401.html, results/401.processed: test for hash key does + not keep language, but tainted in foreach. + +2020-07-01 moko + + * tests/: 235.html, results/235.processed: test result updated as + messages before attachments implemented (feature #1176) + +2020-06-27 moko + + * tests/: 400.html, results/400.processed: test updated to check + ^return{code} + + * src/classes/op.C: bugfix: ^return{code} or ^return(expre+ssion) + fixed + +2020-06-26 moko + + * tests/: 400.html, results/400.processed: test for OPTIMIZE_RESULT + added (related to https://www.parser.ru/forum/?id=85319) + + * src/types/pa_vmethod_frame.h: bugfix: OPTIMIZE_RESULT failed, + when $result assignment was last statement in the method + (https://www.parser.ru/forum/?id=85319) + +2020-05-23 moko + + * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: + whitespace, unused level removed + +2020-05-19 moko + + * src/types/pa_vmail.C: whitespace + + * src/types/pa_vmail.C: files should be processed last (related to + feature #1176) + +2020-05-12 moko + + * src/include/pa_memory.h: no new/delete checks for for FreeBSD1X.X + due to https://bugs.llvm.org/show_bug.cgi?id=40161 bug + + * configure.ac: FreeBSD1X.X check added to avoid + https://bugs.llvm.org/show_bug.cgi?id=40161 bug. + +2020-02-26 moko + + * src/main/pa_common.C: entry_exists -> entry_ifdir to fix Windows + compilation issue (related to bug #1201) + + * src/main/pa_common.C: entry_readable -> entry_exists, + undocumented access(fname, R_OK) call removed (fixes bug #1201) + -f and -d now works under Windows in UTF-8 with Russian + filenames. + + * src/types/pa_vmail.C: g_mime_stream_pipe_new used by gmime author + advice (related to feature #1199) + +2020-02-25 moko + + * buildall: --silent removed + + * configure.ac: gmime-3.0 support + + * buildall: --with-system-mailreceive option added to build with + system libgmime + + * src/types/pa_vmail.C: avoiding + https://github.com/jstedfast/gmime/issues/83 "feature" (related + to feature #1199) + +2020-02-18 moko + + * src/classes/op.C: windows x64 debug mode compile fix + + * src/main/pa_globals.C: no longer required due to -MD -> -MT + change (releated to feature #1200) + + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/gd/gd.vcproj, lib/json/json.vcproj, lib/ltdl/ltdl.vcproj, + lib/md5/md5.vcproj, lib/memcached/memcached.vcproj, + lib/pcre/pcre_internal.vcproj, lib/punycode/punycode.vcproj, + lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, + targets/apache/ApacheModuleParser3.vcproj, + targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + types/types.vcproj: -MD -> -MT to remove msvcp71.dll/etc + dependency (related to feature #1200) + +2020-02-12 moko + + * src/types/pa_vmail.C: minimize diff + + * src/types/pa_vmail.C: libgmime 3.X support (implements feature + #1199) + +2020-01-18 moko + + * tests/: 388-sql.html, results/388-sql.processed: +postprocess + +2019-12-28 moko + + * src/targets/cgi/parser3.C: avoid empty ? + +2019-12-27 moko + + * src/targets/cgi/parser3.C: PATH_INFO check in reinventing + DOCUMENT_ROOT (related to feature #1164) + + * src/targets/cgi/parser3.C: IIS5 support removed to simplify + fcgiwrap setup (implements feature #1164) + + * src/targets/cgi/parser3.C: real_parser_handler logic simplified, + but no issues found (related to feature #1164) + + * src/targets/cgi/parser3.C: actualized + +2019-12-26 moko + + * src/targets/apache/ApacheModuleParser3.vcproj: apache stop/start + removed + + * src/targets/isapi/parser3isapi.vcproj: inetinfo stop/start + removed + + * src/: lib/gc/include/gc.h, main/pa_globals.C: As we log + allocation errors, we don't want default gc warnings (without + timestamp and URI). + + * src/: classes/memory.C, main/pa_globals.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: GC_dont_gc=1 moved to + pa_globals_init + + * src/main/pa_globals.C: setup_hex_value() removed, static array + initialization used (optimization) + + * src/: main/pa_globals.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: + pa_socks_init/pa_socks_done moved inside pa_globals_init + (optimization) + +2019-12-09 moko + + * src/include/pa_config_fixed.h: warning war + +2019-12-08 moko + + * src/main/main.vcproj: compile.y - ExcludedFromBuild, as we + process grammar under Unix. + +2019-12-07 moko + + * tests/389.html: For Windows XP. :) + + * tests/388-sql.html: Windows compatibility added + +2019-12-06 moko + + * src/targets/cgi/parser3.C: warning war + + * src/main/pa_string.C: + COMPILE_ASSERT(sizeof(String::Languages) + == sizeof(CORD)) to avoid aligning bugs in future + + * src/: include/pa_config_fixed.h, main/pa_globals.C: simplified to + XML_STATIC + + * src/include/pa_request.h: StackItem() not required + + * src/include/pa_stack.h: warning war + + * src/include/pa_config_includes.h: GCC warning silenced + + * src/include/pa_memory.h: warning war: the program should also + define 'void operator delete [](void*, std::size_t)' + [-Wsized-deallocation] + + * src/types/: pa_vregex.h, pa_vtable.h: warning war + + * src/classes/string.C: not reqired cast removed + + * src/classes/string.C: not reqired cast removed + +2019-12-05 moko + + * src/lib/sdbm/pa_file_io.C: warning war + + * src/include/pa_string.h: bugfix for Windows x64: enum Language -> + enum Language : size_t - required for VS2015+ to make + sizeof(Languages::opt) == sizeof(CORD), will be 16 byte under x64 + without it (related to feature #1198) + +2019-12-04 moko + + * src/main/pa_base64.C: unsigned char -> uchar + + * src/main/: main.vcproj, pa_globals.C: libpcre now linked same way + as other libs + + * src/include/pa_version.h: +amd64 + +2019-12-03 moko + + * src/: classes/classes.vcproj, types/types.vcproj: sync debug with + release + + * src/include/pa_config_includes.h: warning war + + * src/classes/image.C: warning war + + * src/main/pa_globals.C: x64 libs support + + * src/include/pa_config_includes.h: warning war + + * src/types/pa_method.h: warning war + +2019-11-28 moko + + * src/classes/math.C: vs2003 compatibility + warning war + + * buildall: libxslt-1.1.29 -> libxslt-1.1.34, libxml2-2.9.4 -> + libxml2-2.9.9 (related to feature #1136) + + * src/classes/xdoc.C: xmlHashScanner declaration changed, using + typecast for more compatibility (related to feature #1136) + + * buildall: --direct-download option added, gc-7.6.2 -> gc-8.0.4 + + libatomic no longer required, pcre-8.40 -> pcre-8.43 (related to + feature #1136) + +2019-11-26 moko + + * src/main/: compile_tools.C, compile_tools.h: invalid assert + removed (it was failing in $$var case), condition added + +2019-11-25 moko + + * tests/: 397.html, 399.html, results/141.processed, + results/399.processed: base64 options tested + + * src/: classes/math.C, main/pa_http.C: base64 options used + + * src/main/pa_base64.C: base64 encode rewritten, base64 options + implemented (feature #986) + + * src/main/pa_cache_managers.C: whitespace + + * tests/: 397.html, 399.html, results/399.processed: tests for + ^base64 encode options added (related to feature #986) + + * src/: classes/file.C, include/pa_base64.h, main/pa_base64.C: + pa_base64_encode(file) removed - more memory, but faster and less + code (related fo feature #986) + +2019-11-24 moko + + * tests/: 155.html, results/155.processed: limit and offset in + ^table::load[] now supported, thus test added + + * src/: classes/file.C, classes/table.C, include/pa_common.h, + main/pa_common.C: optimization: offset and limit options parsing + moved inside file_load. + +2019-11-23 moko + + * src/: classes/file.C, classes/op.C, include/pa_common.h, + main/pa_common.C, main/pa_request.C, types/pa_vform.C: + optimization: file_read replaced with simplified file_read_binary + + * src/: classes/op.C, main/pa_common.C, main/pa_request.C, + types/pa_vform.C: whitespace + + * src/: include/pa_common.h, main/pa_common.C: never used params + removed + +2019-11-21 moko + + * tests/: 193.html, results/193.processed, results/389.processed: + test results updated as now base64 does not discard tail without + padding (related to feature #986) + +2019-11-20 moko + + * src/: classes/file.C, classes/string.C, include/pa_base64.h, + main/pa_base64.C: optimization: void pa_base64_decode -> size_t + pa_base64_decode (related to feature #986) + + * tests/398.html: tests for base64 decode added (related to feature + #986) + + * src/main/pa_base64.C: base64_decode rewritten - padding option + support, padding inside base 64 supported (related to feature + #096) + +2019-11-19 moko + + * src/include/pa_memory.h: CHECK_DELETE_USAGE tested to work under + FreeBSD 12 + +2019-11-16 moko + + * src/main/pa_base64.C: base64_decode converted to C++, url-safe + support added, step support removed (related to #986) + +2019-11-15 moko + + * src/classes/math.C: using log since log2 is not present on + FreeBSD < 8.4 (related to feature #1177) + + * src/: include/pa_base64.h, main/pa_base64.C: whitespace, + pa_base64_size extracted and used for files as well (related to + feature 986) + +2019-11-14 moko + + * tests/: 397.html, results/397.processed: + content check + + * tests/: 141.html, results/141.processed: make test resuls more + readable + + * tests/: 397.html, results/193.processed, results/397.processed: + test results updated after \x00 character was disabled in + math:convert string mode (related to feature #1177) + + * src/classes/: math.C, string.C: \\x00 character disabled while + converting to string (as in base64, related to feature #1177) + + * src/classes/file.C: more correct arguments separation + + * src/: classes/file.C, classes/math.C, classes/string.C, + include/pa_base64.h, include/pa_common.h, main/pa_base64.C, + main/pa_http.C, types/pa_vfile.C, types/pa_vmail.C: base64 + options added, but not yet implemented (related to feature #986) + + * src/classes/math.C: whitespace + +2019-11-13 moko + + * tests/: 397.html, results/397.processed: +tainting test (related + to feature #1177) + + * src/classes/math.C: as we now produce not only digits, result + should be tainted (related to feature #1177) + + * src/main/pa_base64.C: whitespace + + * src/: include/Makefile.am, main/Makefile.am, main/main.vcproj, + include/pa_base64.h, include/pa_common.h, main/pa_base64.C, + main/pa_common.C: pa_base64.h and pa_base64.C added, base64 + implementation moved from pa_common.h and pa_common.C + +2019-11-12 moko + + * tests/: 275.html, results/275.processed: out of range test fixed, + as ^math:convert now supports arbitrary precision + +2019-11-11 moko + + * tests/results/389.processed: uctualized error message + + * tests/: 389.html, 397.html, results/397.processed: tests for + ^math:convert added (related to feature #1177) + + * src/classes/math.C: ^math:convert now supports arbitrary + precision, alphabet support added (implements feature #1177) + +2019-11-06 moko + + * tests/: 181.html, results/181.processed: entities usage added, + more entites load tests (related to bug #842 discussion) + +2019-11-05 moko + + * src/main/pa_xml_io.C: bugfix: no more extra http://localhost/ + call from xmlFileOpen if http://localhost/ was not found + (related to bug #842) + + * src/main/pa_xml_io.C: rename + + * src/main/pa_xml_io.C: +MemoryStream constructor + + * src/main/pa_xml_io.C: whitespace + +2019-10-31 moko + + * src/classes/xdoc.C: XML_PARSE_OPTIONS (XML_PARSE_DTDLOAD | + XML_PARSE_NOENT) added to fix entities load, (related to feature + #1181) + +2019-10-25 moko + + * tests/: 388-sql.html, results/388-sql.processed: more multiple + queries tests + +2019-10-24 moko + + * tests/: 388-sql.html, results/388-sql.processed: support for + pgsql driver test + + * tests/: 388-sql.html, results/388-sql.processed: + multi_statements=1 now tested, mysql test now supported + (connection must be specified in [parser3] section in .my.cnf) + related to issues #1195 and #1194 + +2019-09-11 moko + + * src/classes/int.C: whitespace + + * tests/: 388-sql.html, results/388-sql.processed: +duplicate key + exception test + + * tests/results/388-sql.processed: sql queries now shown (related + to feature #1196) + + * src/sql/pa_sql_driver.h: to keep new SQL drivers more compatible + with old parser versions. + + * src/: classes/file.C, classes/hash.C, classes/string.C, + classes/table.C, classes/void.C, include/pa_sql_connection.h, + main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: Show query + instead of connect string in query_event_handlers exceptions + (implements feature #1196) + +2019-09-06 moko + + * tests/388-sql.html: mysql compat + + * src/: classes/hash.C, classes/string.C, classes/table.C, + classes/void.C, include/pa_common.h, main/pa_common.C: cleanup: + sql_ variables declaration moved to pa_common.h + +2019-01-15 moko + + * src/classes/curl.C: ^curl:info[] - OrderedHashString used, items + logically sorted + +2018-12-27 moko + + * src/include/pa_config_includes.h: warning war: + -Wdeprecated-register added for C++ 17 + +2018-10-15 moko + + * configure.ac: FreeBSD 11.2 can be build with ./configure + --with-gc=/usr/local/lib/ --with-pcre=/usr/local/ + --with-xml=/usr/local/ + +2018-09-24 moko + + * tests/: 396.html, 396.tiff, results/396.processed: test for + ^image::measure[] now supports tiff added (related to feature + #1188) + + * src/classes/image.C: ^image::measure[] now supports tiff + (implements feature #1188) + +2018-09-20 moko + + * tests/: 395.bmp, 395.html, results/395.processed: test for bmp + files measure added (related to ticket #1188) + + * src/classes/image.C: measure of bmp files implemented (related to + ticket #1188) + +2018-09-18 moko + + * tests/: 394-curl.html, results/394-curl.processed, + results/auto.p: test for bug #1187 (max_file_size check for head + requests) added + +2018-08-24 moko + + * src/classes/curl.C: CURLOPT_NOBODY value used to check if + response content-length check is required (fixes bug #1187) + +2018-05-11 moko + + * tests/: 157.html, results/157.processed: test for ^file:copy[..; + $.append(bool) ] option added (related to feature #919) + + * src/classes/file.C: ^file:copy[..; $.append(bool) ] option added + from misha@ patch (implements feature #919) + +2018-03-22 moko + + * src/main/pa_request.C: $response:download[ $.file[file.namef] ] + worked rather slow (about 1mb/sec) with 10kb buffer, replaced it + with 128kb buffer. Now works at least 12 times faster. :) May be + Windows-only problem. + + * src/lib/cord/cord.vcproj: Profile * complete cleanup (VS 2003 + build fix) + +2018-02-03 moko + + * src/main/execute.C: removes irrelevant lines from exception stack + trace when exceptions occurs in assigment (fixes bug #1165) + + * tests/: 393.html, results/393.processed: test for behavour after + "Property can not be created, already exists field with that + name" exception removed (related to feature #1183) + + * src/types/pa_vclass.C: "Property can not be created, already + exists field with that name" exception removed (implements + feature #1183) + +2018-01-19 moko + + * src/classes/string.C: whitespace + + * src/classes/string.C: whitespace + + * tests/: 392.html, results/392.processed: test for + ^regex::create[$regex] added (related to feature #1135) + + * src/: classes/regex.C, types/pa_vregex.C, types/pa_vregex.h: + ^regex::create[$regex] added (implements feature #1135) + + * src/types/: pa_vclass.C, pa_vclass.h: CLASS_GETTER_UNPROTECTED + commented define added (related to feature #1157) + +2018-01-17 moko + + * buildall: gc 7.6.0 -> 7.6.2 (related to feature #1136) + +2018-01-15 moko + + * tests/: 390.html, results/390.processed: real path replaced by + stub + + * tests/: 391.html, results/391.processed: test for feature #1181 + (XML_PARSE_HUGE exception) added + +2018-01-11 moko + + * src/classes/xdoc.C: xmlReadMemory/xmlReadFile now used with + XML_PARSE_HUGE option passed by default (implements feature + #1181) + + * src/classes/string.C: whitespace + +2017-12-10 moko + + * tests/: 389.html, 390.html, results/389.processed, + results/390.processed: image code coverage tests added (related + to feature #1125) + +2017-12-08 moko + + * tests/: 346-curl.html, 388-sql.html, 389.html, + results/346-curl.processed, results/388-sql.processed, + results/389.processed: more code coverage tests + + * tests/: 264.html, results/264.processed: code coverage for + ^file::exec[] + +2017-12-07 moko + + * tests/: 174.html, 388-sql.html, 389.html, + results/388-sql.processed, results/389.processed, + results/174.processed: more coverage tests + + * src/classes/math.C: exception text actualized + +2017-12-06 moko + + * tests/388-sql.html: $SQL can be here + + * tests/results/auto.p: $SQL not required here + + * tests/: 388-sql.html, 389.html, Makefile, + results/388-sql.processed, results/389.processed, results/auto.p: + code coverage tests for sql (using sqlite) and int/double/bool + added (related to feature #1125) + + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/json/json.vcproj, lib/md5/md5.vcproj, + lib/memcached/memcached.vcproj, lib/punycode/punycode.vcproj, + lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, + targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + types/types.vcproj: gc\include no longer required + + * src/lib/: cord/cord.vcproj, gd/gd.vcproj: gc\include no longer + required + + * src/: classes/Makefile.am, classes/table.C, + include/pa_config_includes.h, include/pa_string.h, + lib/cord/Makefile.am, lib/cord/cordbscs.c, lib/cord/cordxtra.c, + lib/gd/Makefile.am, lib/json/Makefile.am, lib/sdbm/Makefile.am, + lib/smtp/Makefile.am, main/Makefile.am, main/untaint.C, + targets/apache/Makefile.am, targets/cgi/Makefile.am, + types/Makefile.am: to be sure that our version of gc.h/cord.h is + used, we now include it directly + +2017-12-04 moko + + * src/lib/: gd/gd.vcproj, md5/md5.vcproj, + memcached/memcached.vcproj, punycode/punycode.vcproj, + sdbm/sdbm.vcproj, smtp/smtp.vcproj: includes unified, gc added + where required + + * src/: classes/memory.C, include/pa_config_includes.h: GC_DEBUG + now can be used to trace memory allocations + + * src/: classes/table.C, include/pa_config_includes.h, + include/pa_memory.h, lib/cord/cordbscs.c, lib/cord/cordxtra.c, + main/pa_globals.C: PA_DEBUG_DISABLE_GC works again, pa_gc_* + method removes, libcord also can work without libgc + + * src/classes/json.C: pa_gc_malloc_atomic should not be used + +2017-11-29 moko + + * src/classes/curl.C: no exception if some of ^curl:info[] elements + are not present (related to feature #1173) + + * tests/346-curl.html: test updated to test curl content-length bug + (related to feature #1173) + + * tests/results/346-curl.processed: more test for content-length + curl bug (related to feature #1173) + + * tests/results/346-curl.processed: test results updated after + #1173 implemented + +2017-11-28 moko + + * src/classes/curl.C: another libcurl Content-length bug walkaround + (related to feature #1173) + +2017-11-27 moko + + * src/: classes/curl.C, lib/curl/curl.h: ^curl:options + $.http_version[version string] added (implements feature #1173), + CURLOPT_POSTFIELDSIZE is set to 0 now only for old versions, + where $post(true) bug existed. + +2017-11-18 moko + + * src/include/pa_memory.h: warning war (related to feature #1170) + + * src/include/pa_pool.h: RedHat 7.3 compatibility fixed (related to + feature #1170) + +2017-11-17 moko + + * src/include/pa_memory.h: CHECK_DELETE_USAGE define added as + std::basic_stringstream used in ^table.csv-string[] is compatible + with delete usage check only under Debian 9 (related to feature + #1170) + +2017-11-16 moko + + * src/: classes/curl.C, classes/hash.C, classes/json.C, + classes/table.C, classes/xdoc.C, include/pa_config_includes.h, + include/pa_hash.h, include/pa_memory.h, include/pa_pool.h, + main/pa_charset.C, main/pa_memory.C, main/pa_xml_io.C, + sql/pa_sql_driver.h, types/pa_value.h, types/pa_vmemcached.C, + types/pa_vxdoc.h: regular new/delete no longer used in our code, + stubs defend from accidental use (implements feature #1170) + +2017-06-24 moko + + * configure.ac: minor fix: thanks to alx@ + +2017-05-29 moko + + * src/types/pa_vmail.C: mail headers are now correctly truncated - + MAX_CHARS_IN_HEADER_LINE value fixed, mail_header_utf8_substring + added to avoid cutting of UTF-8 chars (fixed bug #123) + + * src/main/untaint.C: as in case of =?UTF-8?Q?= space is + ignored, =?UTF-8?Q?= should start in case of leading space + (related to bug #123) + + * buildall: echo -n -> printf for OS X. :) + +2017-05-25 moko + + * tests/: 288.html, results/288.processed: test updated afted + setting $o.prop without setter exception removed (related to + feature #1157) + + * src/types/pa_vclass.C: no more "this property has no setter + method" when setting $o.prop without setter (implements feature + #1157) + + * buildall: echo \c -> echo -n for FreeBSD + + * configure, configure.ac, src/include/pa_config_auto.h.in, + src/types/pa_vdouble.h: isfinite now checked in configure + + * compile, config.guess, config.sub, depcomp, install-sh, missing: + upgraded to automake 1.15 + +2017-05-23 moko + + * src/types/pa_vdouble.h: finite returned where isfinite not + defined + +2017-05-22 moko + + * buildall: gc-7.6.0 USE_LIBC_PRIVATES allready defined warning war + + * buildall: extern CFLAGS setting support + + * src/types/pa_vdouble.h: warning war: finine() -> isfinite() 4OSX + + * buildall: http -> https + + * buildall: gc-7.2f -> gc-7.6.0 + +2017-05-20 moko + + * buildall: https, pcre, xml, xslt updated to current versions + (related to feature #1136) + +2017-05-19 moko + + * tests/097.html: after parser.ru moved to https + +2017-05-17 moko + + * tests/results/: 175.processed, 372.processed: tests resuls + updated after lintian spelling typos fixed (related to bug #1156) + + * src/: classes/file.C, classes/hash.C, classes/reflection.C, + classes/string.C, classes/table.C, main/pa_charset.C, + main/pa_common.C, main/pa_http.C, types/pa_vimage.h, + types/pa_vmail.C, types/pa_vxdoc.h: fixed spelling typos from + lintian reported by Sergey B Kirpichev (fixes bug #1156) + + * tests/results/096.processed: +XMP + + * tests/: 096.html, 096_dir/188.jpg: ^image::measure[] $.exif(true) + $.xmp(true) options tested (test for feature #1154) + + * src/classes/image.C: ^image:measure[] options $.exif(false) + $.xmp(false) $.xmp-charset[UTF-8] implemened. exif no longer + fetched by default! (implements feature #1154) + +2017-05-16 moko + + * tests/: 256.html, results/256.processed: ^json:string[$image] now + allowed (related to feature #1154) + + * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: + initial XMP implementation - without options and transcode + (related to feature #1154) + +2017-05-12 moko + + * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: + image: exif moved to ffields, skipped in ^image.html[] where + iterators now used (preparation for feature #1154) + +2017-05-05 moko + + * tests/: 387.html, 387_dir/A.p, 387_dir/B.p, + results/387.processed: test for circular class inheritance check + added (related to bug #1150) + + * src/types/pa_vstateless_class.C: circular class inheritance check + added (fixes endless add_derived bug #1150) + +2017-05-04 moko + + * tests/: 386.html, results/386.processed: test for + $table.value(number) added (related to feature #1152) + + * src/types/pa_vtable.C: table put_element: column value must be + string - > column value must be string compatible to allow + $t.value(1) (implements feature #1152) + +2017-05-03 moko + + * src/main/pa_request.C: $use[$method] is not possible, reverting + (related to feature #1151) + + * tests/: 386.html, 386.p, results/386.processed: $use[$method] is + not possible, removing test (related to feature #1151) + + * src/: main/pa_request.C, types/pa_vstateless_class.h: + get_element_method added and used to allow $use[$method] and + $autouse[$method] (implements feature 1151) + + * tests/: 386.html, 386.p, results/386.processed: test for @use in + variable added (related to feature #1151) + + * tests/results/226.processed: actualized after ^try-catch used + + * tests/: 226.html, 385.html, results/385.processed: test for + @autouse in variable added + + * configure.ac, src/include/pa_version.h: 3.4.5 -> 3.4.6b + +2017-02-27 moko + + * configure.ac, src/include/pa_version.h: 3.4.5rc -> 3.4.5 + +2017-02-20 moko + + * operators.txt: actualization + beauty + +2017-02-16 moko + + * tests/: 384.html, results/384.processed: test for + ^reflection:mixin[; $.name[] ] option added (related to feature + #1089) + + * tests/: 384.html, results/384.processed: test for + ^reflection:mixin[] added (related to feature #1089) + + * src/types/pa_value.h: warning war: virtual ~Value() added + +2017-02-15 moko + + * src/include/pa_hash.h: compilation without HASH_CODE_CACHING + fixed + + * tests/: 320.html, results/320.processed: $.reverse(true/false) + test added (related to feature #1069) + + * src/: classes/reflection.C, types/pa_vstateless_class.h: + compilation without HASH_ORDER fixed + + * src/: classes/reflection.C, include/pa_hash.h: + $.reverse(true/false) added to ^reflection:methods[] (related to + feature #1069) + +2017-02-14 moko + + * tests/: 152.html, results/152.processed: test for $._default hash + added (related to bug #1131) + + * tests/: 277.html, results/277.processed: test for hash with only + $._default is now defined (related to bug #1131) + + * src/types/pa_vhash.h: hash with only $._default is now defined + (fixed bug #1131) + +2017-02-13 moko + + * tests/cat-windows.sh: cat-windows added (cygwin required) + + * tests/: 171.html, 264.html, 286.html, 370.html, + results/320.processed, results/375.processed, results/auto.p: + cat-windows.sh support added + + * tests/375.html: Windows support + + * tests/270.html: documented + + * tests/: 270.html, run_parser.cmd: bugfix: PATH_INFO has slashes + (not backslashes) even under Windows (broke test 270) + +2017-02-12 moko + + * tests/: descript.ion, todo.txt: cleanup + +2017-02-09 moko + + * tests/: 253.html, 255.html, 275.html, 347-curl.html, + run_tests.cmd: Windows compatibility + + * tests/make_tests.cmd: removed as test can't be passed - TZ is set + incorrectly (GMT) if parser is called from cygwin + +2017-02-08 moko + + * operators.txt: actualization 15% completed + + * operators.txt: cp1251 -> utf-8 + + * NEWS, README: minor update + + * src/include/pa_config_includes.h: warning war continues + + * src/: include/pa_config_includes.h, include/pa_memory.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_vdouble.h: warning war: + gcc 6.x issues fixed + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/op.C, + classes/reflection.C, classes/regex.C, classes/response.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_array.h, include/pa_cache_managers.h, + include/pa_charset.h, include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_symbols.h, + include/pa_table.h, include/pa_threads.h, include/pa_types.h, + include/pa_uue.h, include/pa_xml_exception.h, + include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C, + lib/md5/pa_md5.h, lib/md5/pa_md5c.c, + lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, + lib/punycode/pa_idna.c, lib/punycode/pa_idna.h, + lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C, + lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, + main/compile.tab.C, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, main/pa_cache_managers.C, + main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, + main/pa_dictionary.C, main/pa_dir.C, main/pa_exception.C, + main/pa_exec.C, main/pa_globals.C, main/pa_http.C, + main/pa_memory.C, main/pa_os.C, main/pa_pool.C, main/pa_random.C, + main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, + main/pa_string.C, main/pa_stylesheet_connection.C, + main/pa_stylesheet_manager.C, main/pa_symbols.C, main/pa_table.C, + main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C, + main/untaint.C, sql/pa_sql_driver.h, + targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C, + targets/apache/pa_httpd.h, targets/apache/pa_threads.C, + targets/cgi/pa_threads.C, targets/cgi/parser3.C, + targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, + types/pa_junction.h, types/pa_method.h, types/pa_property.h, + types/pa_value.C, types/pa_value.h, types/pa_vbool.h, + types/pa_vcaller_wrapper.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_vdate.C, types/pa_vdate.h, + types/pa_vdouble.h, types/pa_venv.C, types/pa_venv.h, + types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, + types/pa_vform.h, types/pa_vhash.C, types/pa_vhash.h, + types/pa_vhashfile.C, types/pa_vhashfile.h, types/pa_vimage.C, + types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.C, + types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, + types/pa_vmath.C, types/pa_vmath.h, types/pa_vmemcached.C, + types/pa_vmemcached.h, types/pa_vmemory.h, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, + types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year: + 2015->2017 + +2017-02-07 moko + + * configure.ac, src/include/pa_version.h: 3.4.5b -> 3.4.5rc + +2017-02-06 moko + + * src/main/pa_common.C: minor fixes, whitespace + + * src/: classes/curl.C, classes/file.C, classes/image.C, + include/pa_common.h, include/pa_dir.h, main/pa_common.C, + main/pa_dir.C, main/pa_exec.C: wchar filenames API under Windows + now used (implements feature #1081) + + * src/: types/pa_vcookie.C, main/pa_charset.C: cleanup + +2017-02-01 moko + + * src/include/pa_request.h: cleanup + +2017-01-30 moko + + * src/main/pa_request.C: file_lock_wait_limit -> lock_wait_timeout + +2017-01-29 moko + + * tests/: 383.html, results/383.processed: test for + ^reflection:stack[] added (related to feature #1052) + + * src/classes/reflection.C: else added + + * src/: include/pa_os.h, main/pa_os.C, main/pa_request.C: + $.max_file_lock_wait added (implements feature #1128) + +2017-01-28 moko + + * tests/: 379-curl.html, results/379-curl.processed: curl empty + body and other cases tests added (related to featue #1014) + + * src/classes/curl.C: bug if response is empty fixed (related to + feature #1014) + +2017-01-27 moko + + * src/: classes/json.C, classes/reflection.C, include/pa_request.h, + main/execute.C, types/pa_vmethod_frame.h: ^reflection:stack[] + added (implements feature #1052) + +2017-01-25 moko + + * tests/: 382.html, results/382.processed: @GET_DEFAULT returning + method test added + +2017-01-23 moko + + * src/classes/reflection.C: optimization: options->get replaced by + hash iterator + + * tests/: 381.html, results/381.processed: now -> fixed date + + * src/main/pa_request.C: warning war + + * src/targets/cgi/parser3.vcproj: Stack size increased from 2Mb to + 5Mb (fixes bug #1058) + + * src/classes/curl.C: warning war + + * tests/: 381.html, results/381.processed: tests for ^json:string + $.one-line(true) option added (related to feature #1124) + + * src/: classes/json.C, types/pa_value.h: $json-string + $.one-line(true|false) options is now supported (implements + feature #1124) + + * tests/: 380.html, results/380.processed: test for modified + $.max_file_size added (related to bug #1014) + + * tests/: 379.html, results/auto.p: tests for rewritten http file + load added (related to bug #1014) + + * src/: classes/curl.C, include/pa_common.h, include/pa_http.h, + main/pa_common.C, main/pa_http.C: check_file_size added and used + in curl / file load from disk and http, http file load rewritten + (related to bug #1014) + +2017-01-18 moko + + * tests/: 378.html, results/378.processed: tests for ^result[] + added (related to feature #66) + + * src/: classes/op.C, include/pa_request.h: ^return[] can't be + Method::CO_WITHOUT_FRAME as frame still added in expression + (related to feature #66) + +2017-01-17 moko + + * tests/: 377.html, results/377.processed: test for different + combinations of breaks in body and delimiter (related to bug + #1077) + + * tests/: 376.html, results/376.processed: many ^break[] tests + added (related to bug #1077) + + * src/types/pa_vmethod_frame.C: "break is not allowed in expression + passed to native method" exception added to avoid bugs due to + WRITE_EXPR_RESULT skipped and native methods execution continues + after ^break[] (related to bug #1077) + +2017-01-14 moko + + * tests/: 330.html, results/330.processed: test results updated + after ^break[] bugs where fixed (related to bug #1077) + + * tests/: 329.html, results/329.processed: test results updated + after ^break[] bugs where fixed (related to bug #1077) + + * tests/results/320.processed: ^return[] added + +2017-01-13 moko + + * src/: classes/hash.C, classes/hashfile.C, classes/op.C, + classes/table.C, include/pa_request.h, main/execute.C, + main/pa_request.C, targets/cgi/parser3.C, + types/pa_vmethod_frame.C: Request::SKIP_INTERRUPTED, + Request::SKIP_RETURN added and implemented, Request::SKIP_* now + checked after each possible process/execute call (fixes bug + #1077) + +2016-12-29 moko + + * src/main/pa_common.C: warning war + + * src/: classes/math.C, include/pa_random.h, include/pa_request.h, + include/pa_types.h, main/pa_request.C, main/pa_string.C: + pa_file_size_limit added, ^math:random fixed for upper limit and + limits more then 0x7FFFFFFF, limits now declared in pa_types.h + (related to feature #1014) + + * src/: classes/curl.C, classes/file.C, include/pa_common.h, + main/pa_common.C, main/pa_dir.C, main/pa_exec.C: stat -> pa_stat + (related to feature #1014) + +2016-12-28 moko + + * src/: classes/file.C, main/pa_request.C, main/pa_string.C: VS2003 + warning war + +2016-12-26 moko + + * tests/: 341.html, results/341.processed: test for + ^table.hash[id;;$.type[string]] added (related to feature #1057) + + * src/classes/table.C: ^table.hash[id;;$.type[string]] support fix + (related to feature #1057) + + * src/types/pa_vdate.C: warning war continues... + + * src/: classes/date.C, classes/image.C, classes/table.C, + include/pa_config_includes.h, types/pa_vfile.C: warning war + + * src/lib/gd/gifio.C: warning war / cleanup + + * src/lib/json/pa_json.C: warning war + + * src/classes/hash.C: warning war + + * src/types/pa_vfile.C: warning war + + * src/: classes/hash.C, include/pa_common.h, types/pa_vcookie.C: + -Wall warning war continues + + * configure.ac: --with-build-warnings actualized + +2016-12-25 moko + + * src/main/pa_exec.C: -wAll warning war + + * src/: types/pa_vform.C, types/pa_vrequest.C, main/pa_common.C: + -wAll warning war + + * src/: include/pa_common.h, include/pa_sapi.h, + types/pa_junction.h, types/pa_method.h, types/pa_value.h, + types/pa_vdate.C, types/pa_vstateless_class.h, types/pa_vxdoc.h: + -wAll warning war + +2016-12-23 moko + + * src/lib/ltdl/Makefile.am: extra dist added + + * tests/results/344.processed: test result updated after $file.text + prefetched in ^hash::create[$file] (related to feature #1075) + + * src/types/: pa_vfile.C, pa_vfile.h: $file.text prefetched in + ^hash::create[$file] (related to feature #1075) + +2016-12-22 moko + + * src/: classes/file.C, include/pa_common.h, main/pa_common.C, + main/pa_request.C, main/pa_stylesheet_connection.C, + types/pa_vfile.C: file_stat now return 64-bit size (implements + #1014 under 32-bit unix versions) + +2016-12-21 moko + + * tests/: 375.html, results/375.processed: test for exec returning + stated file added (related to feature #1119) + + * src/classes/file.C: load should not return file with null body + (fixes bug #1119) + +2016-12-14 moko + + * tests/: 374.html, results/374.processed: test for $method.name + added (related to feature #1117) plus method returning junction + test + +2016-12-13 moko + + * src/: include/pa_symbols.h, main/pa_symbols.C, + types/pa_vjunction.C, types/pa_vjunction.h: $method.name added + (implements feature #1117) + + * src/: types/pa_vform.C, include/pa_request_info.h: now only GET, + HEAD and TRACE can't have body (implements feature #1116) + +2016-12-09 moko + + * tests/: 373.html, results/373.processed: tests for + ^reflection:tainting added (related to feature #1098) + + * src/classes/reflection.C: ^reflection:tainting arguments order + change (related to feature #1098) + +2016-12-06 moko + + * src/: classes/reflection.C, include/pa_string.h, + main/pa_string.C: ^reflection:tainting[$string] added (implements + feature #1098) + +2016-12-05 moko + + * src/types/pa_vdouble.h: negative zero (-0) now converted to 0 + (fixes bug #1114) + +2016-12-04 moko + + * tests/: 206.html, results/206.processed: negative zero (0/-1) + check added + +2016-12-03 moko + + * tests/: 346-curl.html, results/346-curl.processed: test modified + to test value.as_hash() usage + + * src/classes/curl.C: value.as_hash() used for correct hash + processing + + * src/classes/reflection.C: exceptions texts fixes + +2016-12-02 moko + + * tests/: 372.html, results/372.processed: tests for + ^reflection:create[ $.class[name] $.constructor[name] + $.arguments[ $.1[param1] $.2[param2] ... ] ] added (related to + feature #1094) + + * src/types/pa_vmethod_frame.h: comment added: params should be + declared outside of *_FRAME_ACTION as MethodParams destructor + will be called in ~VNativeMethodFrame + + * src/classes/reflection.C: ^reflection:create[ $.arguments[ ... ] + ] minor fix + + * src/: classes/reflection.C, types/pa_value.C, types/pa_value.h, + types/pa_vmethod_frame.C: ^reflection:create[ $.class[name] + $.constructor[name] $.arguments[ $.1[param1] $.2[param2] ... ] ] + now supported (implements feature #1094) value::as_hash added + (and should be used everywhere) + + * src/classes/reflection.C: cleanup + +2016-12-01 moko + + * tests/: 356.html, results/356.processed: test for method + junctions class name added to the resulting hash added (related + to feature #1068) + + * src/classes/reflection.C: for method junctions class name added + to the resulting hash (related to feature #1068) + +2016-11-30 moko + + * src/types/: pa_vhashfile.C, pa_vhashfile.h: file_name included in + exception (related to bug #1113) + + * src/types/pa_vhashfile.C: whitespace + + * src/main/pa_os.C: errno now returned as it should (fixes bug + #1113) + + * tests/results/: 175.processed, 192.processed, 224.processed, + 229.processed, 239.processed, 244.processed, 246.processed, + 314.processed, 352.processed: tests results updated after method + call exceptions improved as method now keeps its name + + * src/: classes/reflection.C, main/execute.C, types/pa_value.C, + types/pa_vmethod_frame.h: method call exceptions improved as + method now keeps its name + + * tests/: 224.html, 239.html, results/224.processed, + results/239.processed: tests and tests results updated after + Request::construct exception changed + + * src/: classes/reflection.C, main/execute.C: Request::construct + exception optimized + + * tests/: 371.html, results/371.processed: test for + WWrapper.get_element call in $.name.key[value] code added + (related to feature #1091) + + * src/types/pa_wwrapper.h: WWrapper.get_element returned, as used + in $.name.key[value] code (related to feature #1091) + +2016-11-29 moko + + * src/classes/op.C: VS warning war + + * src/types/: pa_vmethod_frame.h, pa_wcontext.h: VS warning war: + C4239: nonstandard extension used : 'return' : conversion from + 'Value' to 'Value &' (related to feature #1020) + + * src/: main/execute.C, types/pa_vmethod_frame.h, + types/pa_wcontext.h: VS warning war: C4239: nonstandard extension + used : 'return' : conversion from 'Value' to 'Value &' (related + to feature #1020) + + * src/main/execute.C: VS warning war + + * src/targets/cgi/parser3.C: VS compatibility fix + + * src/include/pa_request.h: VS warning war + + * tests/: 370.html, results/370.processed: test for ^file::exec[ + ... $.stdin[$binary_file] ] added (related to bug #1044) + + * src/: classes/file.C, classes/mail.C, include/pa_exec.h, + include/pa_string.h, main/pa_exec.C: pa_exec now supports + $.stdin[$binary_file] (fixes bug #1044) + +2016-11-28 moko + + * src/main/pa_exec.C: whitespace + + * src/main/pa_request.C: whitespace + + * tests/: 369.html, results/369.processed: test for + $response:status usage added (related to feature #1099) + + * src/targets/cgi/parser3.C: HTTP response code used as exit status + if < 100 (implements feature #1099) + + * src/targets/cgi/parser3.C: whitespace + + * src/targets/cgi/parser3.C: whitespace + + * tests/: 368.html, results/368.processed: test updated after + ^reflection:filename[$method] added (related to feature #1053) + + * src/: classes/op.C, classes/reflection.C, include/pa_request.h, + main/compile.y, main/execute.C, main/pa_request.C, + types/pa_vclass.h: filename -> filespec, + ^reflection:filename[$method] added (related to feature #1053) + +2016-11-27 moko + + * tests/: 368.html, results/368.processed: test for + reflection:filename[$class or object] added (related to feature + #1053) + + * src/: classes/reflection.C, main/compile.y, types/pa_vclass.h, + types/pa_vstateless_class.h: ^reflection:filename[$class or + object] added (implements feature #1053) + +2016-11-26 moko + + * src/: include/pa_request_info.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C: + remove_absolute_uri -> strip_absolute_uri + +2016-11-25 moko + + * src/: include/pa_request_info.h, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C: + request_info.remove_absolute_uri added to remove possible + http://site.name/ from $request:uri (implements feature #1112) + +2016-11-24 moko + + * tests/: 367-curl.html, results/367-curl.processed: test for + previous request headers clearing after redirect added (related + to bug #1109) + + * src/: classes/curl.C, include/pa_array.h, include/pa_http.h: + response headers from previous requests are now cleared, only + last request headers are collected (fixes bug #1109) + + * tests/results/: 266.processed, 321.processed, 356.processed: + tests results updated as method name now added to the resulting + hash for new syntax only (Imp1 compatimility fixed, related to + feature #1068) + + * src/classes/reflection.C: method name now added to the resulting + hash for new syntax only (Imp1 compatimility fixed, related to + feature #1068) + + * tests/results/366.processed: test for native and parser + implementation of ^use[] logic (related to feature #1074) + + * tests/: 366.html, 366_dir/test-duplicate.p, 366_dir/test.p: test + for native and parser implementation of ^use[] logic (related to + feature #1074) + +2016-11-23 moko + + * src/: classes/op.C, include/pa_request.h, main/compile.y, + main/pa_request.C: @USE file now implemented as ^use[file; + $.origin[origin_file] ] (implements feature #1074) + +2016-11-21 moko + + * tests/: 365.html, results/365.processed: test for $caller bugs in + 3.4.4 and $caller.method now tested (related to feature #1110) + + * tests/: 364.html, results/364.processed: $caller usage in + different contexts now tested (related to feature #1110) + + * src/types/types.vcproj: +pa_vcaller_wrapper.h + + * src/types/Makefile.am: pa_vcaller_wrapper.h added + + * src/: include/pa_symbols.h, main/pa_symbols.C, types/pa_method.h, + types/pa_vcaller_wrapper.h, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h: redesign: VCallerWrapper added and + used (implements feature #1110) + +2016-11-20 moko + + * src/types/pa_vdouble.h: whitespace + +2016-11-11 moko + + * tests/: 363.html, results/363.processed: more tests for feature + #1091 (how parser methods work in expression context) + + * src/: include/pa_request.h, types/pa_vmethod_frame.h: in + expressions strings are now written as strings, not values by + write_as_string (related to feature #1091) + + * src/classes/op.C: to make more correct behavour in expression + context + +2016-11-07 moko + + * tests/: 362.html, results/362.processed: test for + xsltParseStylesheetDoc caching as xsl modification after it added + (related to bug #1108) + + * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltParseStylesheetDoc + result now cached as xdoc is modified after it (fixes bug #1108) + +2016-11-06 moko + + * src/types/pa_vxdoc.h: whitespace + +2016-11-05 moko + + * src/types/pa_vmethod_frame.h: cleanup + +2016-11-03 moko + + * tests/results/244.processed: more correct exception after method + frames separation + + * src/types/pa_vmethod_frame.h: minor optimizaion + + * src/types/pa_method.h: optimization: params_count added + + * src/: classes/json.C, classes/op.C, classes/reflection.C, + include/pa_request.h, main/execute.C, main/pa_request.C, + types/pa_value.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vobject.C: Optimization: + VMethodFrame now divided into VNativeMethodFrame, + VParserMethodFrame, VLocalParserMethodFrame; METHOD_FRAME_ACTION, + EXPRESSION_FRAME_ACTION, CONSTRUCTOR_FRAME_ACTION defines added + and used (related to feature #1104) + +2016-11-02 moko + + * src/: classes/bool.C, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/op.C, classes/reflection.C, + classes/regex.C, classes/string.C, classes/table.C, + classes/xdoc.C, classes/xnode.C, include/pa_request.h, + main/execute.C: cleanup: r.write_pass_lang, r.write_no_lang -> + r.write (implements feature #1091) + + * src/main/execute.C: cleanup (related to feature #1104) + + * src/: include/pa_request.h, main/execute.C, + types/pa_vmethod_frame.h, types/pa_wcontext.h: VExpressionFrame + added, in_expression removed (implements feature #1104) + +2016-10-31 moko + + * src/types/pa_value.C: whitespace + +2016-10-28 moko + + * tests/results/244.processed: updated after error reporting fixed + in pa_wcontext.C + + * src/types/pa_wcontext.C: error reporting fixed + + * src/types/pa_wcontext.h: whitespace + + * src/classes/image.C: not fully readed entries are no longer + processed (fixes bug #1106) + +2016-10-26 moko + + * src/classes/image.C: whitespace + + * src/: include/pa_request.h, include/pa_string.h, main/untaint.C, + types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_wcontext.h, + types/pa_wwrapper.h: optimization: L_PASS_APPENDED removed as no + longer required (related to feature #1091) + + * tests/results/: 264.processed, 350.processed: test results update + reverted (whitespace optimization) after write_no_lang removed :) + (related to feature #1091) + + * src/: classes/file.C, classes/hash.C, classes/op.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, include/pa_request.h, main/pa_xml_io.C, + types/pa_vmail.C: Temp_lang removed, write_no_lang now almost + equal write_pass_lang (related to feature #1091) + + * tests/results/: 264.processed, 350.processed: test results + updated (whitespace optimization) after write_assign_lang removed + (related to feature #1091) + + * tests/: 361.html, results/361.processed: test for non-string + ^untaint added (related to feature #1091) + + * src/: classes/curl.C, classes/date.C, classes/file.C, + classes/hash.C, classes/op.C, classes/string.C, + include/pa_request.h, main/execute.C: optimization: + write_assign_lang removed as not required (first part of feature + #1091 implementation) + +2016-10-12 moko + + * tests/: 360.html, results/360.processed: more test code (related + to feature #1104) + + * src/: classes/op.C, classes/reflection.C, include/pa_opcode.h, + include/pa_request.h, main/compile.y, main/execute.C: opcode + OP_PREPARE_TO_EXPRESSION removed as not required, optimized + WContext is next task (implements feature #1104) + + * src/types/pa_method.h: more detailed comment for CO_WITHOUT_FRAME + / CO_WITHOUT_WCONTEXT + + * tests/: 360.html, results/360.processed: test for in expression + state (related to feature #1104) + +2016-10-11 moko + + * src/main/execute.C: compilation without OPTIMIZE_CALL fixed + + * src/classes/op.C: default value removed from initializer + + * src/types/pa_vmemcached.C: FreeBSD 11 warning war + + * src/types/pa_vmethod_frame.h: FreeBSD 11 warning war + +2016-10-10 moko + + * tests/results/auto.p: test updated adter $RECOURSION_LIMIT, + $LOOP_LIMIT -> $LIMITS[ $.max_recoursion, $.max_loop ] (related + to feature #42) + + * src/main/pa_request.C: $RECOURSION_LIMIT, $LOOP_LIMIT -> + $LIMITS[ $.max_recoursion, $.max_loop ] (related to feature #42) + +2016-10-08 moko + + * src/classes/double.C: whitespace + +2016-10-07 moko + + * src/types/pa_vmethod_frame.h: reorder + +2016-10-06 moko + + * src/classes/date.C: typo + + * src/types/pa_vmethod_frame.h: whitespace + cleanup + + * src/: classes/hash.C, classes/hashfile.C, classes/json.C, + classes/op.C, classes/reflection.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h: params.get now returns Value&, not + Value* + + * src/types/pa_vmethod_frame.C: params.get should return Value&. + + * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: get_as + removed; first as_* code rewrite + +2016-10-05 moko + + * src/include/pa_request.h: whitespace + + * tests/: 359.html, results/359.processed: test for VCodeFrame and + intercept_string added (related to feature #1097) + + * src/: classes/image.C, classes/op.C, classes/table.C, + include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C: + optimization: intercept_string removed (implements feature #1097) + + * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: whitespace + + * src/types/: pa_vcode_frame.h, pa_wwrapper.h: get_element removed + from VCodeFrame and WWrapper as not required + +2016-10-04 moko + + * src/: classes/curl.C, classes/date.C, classes/double.C, + classes/file.C, classes/hash.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/op.C, + classes/reflection.C, classes/string.C, classes/table.C, + include/pa_request.h, main/execute.C, types/pa_vmethod_frame.C: + proces_to_value -> process after StringOrValue removed (related + to feature #1020) + + * src/classes/form.C: whitespace + + * src/main/execute.C: VALUE__GET_BASE_CLASS added to opcode_names + + * tests/: 357.html, 358.html, results/357.processed, + results/358.processed, results/auto.p: test for @conf + $RECOURSION_LIMIT and $LOOP_LIMIT added (related to feature #42) + +2016-10-03 moko + + * src/: classes/op.C, include/pa_request.h, main/pa_request.C, + types/pa_vtable.C: @conf $RECOURSION_LIMIT and $LOOP_LIMIT now + supported (implements feature #42) + + * src/types/pa_vregex.h: no reason for VRegex to be + is_evaluated_expr + + * src/classes/curl.C: CURL_OPT(CURL_INT, SSLVERSION) added + (implements feature #1095) + +2016-10-01 moko + + * src/classes/reflection.C: $.overwrite in ^reflection:mixin is now + false by default (related to feature #1089) + +2016-09-30 moko + + * src/types/pa_wcontext.h: cleanup + +2016-09-29 moko + + * src/main/execute.C: whitespace + + * src/include/pa_request.h: whitespace + + * src/: classes/hash.C, classes/hashfile.C, classes/json.C, + classes/op.C, classes/table.C, include/pa_request.h, + main/execute.C, main/pa_request.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_wcontext.h: optimization: + StringOrValue removed as it just slows down and adds complexity + (implements feature #1020) + +2016-09-28 moko + + * tests/: 356.html, results/266.processed, results/321.processed, + results/356.processed: tests updated after name was added to + method_info hash, test for ^reflection:method_info[junction] + added (related to feature #1068) + + * src/classes/reflection.C: ^reflection:method_info[junction] now + supported, method name added to the resulting hash (implements + feature #1068) + + * tests/: 276.html, results/276.processed: more tests for + ^reflection:delete[] + + * src/classes/reflection.C: fixed bug then ^reflection:delete + didn't work on class and could damage native objects (like file) + +2016-09-26 moko + + * tests/: 345.html, 346-curl.html, 347-curl.html, 348.html, + results/345.processed, results/346-curl.processed, + results/347-curl.processed, results/348.processed: numbers added + to simplify diff analysis + + * tests/: 352.html, results/352.processed: test result updated as + method name used + + * src/classes/reflection.C: method name used + + * src/types/: pa_method.h, pa_vstateless_class.C: method now keeps + its name + + * src/types/pa_method.h: whitespace + + * src/classes/reflection.C: both method and field with one name can + exist. + + * src/classes/reflection.C: ^reflection:mixin added (implements + feature #1089) + + * tests/: 355.html, results/355.processed: property appears in + derived class if added in base test added + + * src/types/pa_vstateless_class.h: get_method declaration + + whitespace + + * tests/: 354.html, results/354.processed: nice test from method + and property with one name in class added + +2016-09-23 moko + + * src/classes/reflection.C: ^reflection:method usage documented + +2016-09-22 moko + + * src/: classes/classes.vcproj, types/types.vcproj: we need RTTI as + we use 'dynamic_cast' on polymorphic type 'Value'. Without it + compile warning and GPF occures on VS2003 (related to feature + #1087) + + * tests/: 350.html, results/350.processed: test added for + $.encloser[] support in ^table::create (related to feature #11) + + * src/classes/table.C: another minor fix (related to feature #11) + +2016-09-21 moko + + * src/include/pa_config_fixed.h: vs2015 compilation fixes + + * src/: classes/curl.C, classes/file.C, classes/hash.C, + classes/json.C, classes/string.C, classes/table.C, + classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C, main/pa_request.C, + main/pa_sql_driver_manager.C, types/pa_vfile.C, types/pa_vmail.C, + types/pa_vrequest.C, types/pa_vresponse.C: charsets -> + pa_charsets, vs2015 warning war + + * src/classes/table.C: vs2015 warning war + + * src/types/pa_vdate.C: vs2015 warning war + + * src/main/: pa_common.C, pa_globals.C: vs2015 compilation fixes + + * src/targets/cgi/parser3.vcproj: wsock32 -> ws2_32.lib (winsock 1 + -> winsock 2) for vs2015 compatibility (getaddrinfo functions) + + * src/main/pa_common.C: vs2015 compilation fixes + + * src/: include/pa_common.h, lib/smtp/smtp.C, main/pa_common.C: + vs2015 compilation fixes + + * src/main/pa_charset.C: vs2015 warning war + + * src/: classes/file.C, types/pa_wwrapper.h: vs2015 warning war + + * src/main/pa_charset.C: vs2015 warning war + + * src/types/: pa_wcontext.h, pa_vmethod_frame.h: vs2015 warning war + + * src/types/pa_vdate.C: vs2015 compilation fix + + * src/: include/pa_memory.h, main/pa_memory.C: VS2015 warning war + + * src/: lib/json/pa_json.C, classes/mail.C, classes/string.C: + VS2015 compilation fixes + + * src/classes/table.C: minor fix (related to feature #11) + + * tests/results/282.processed: no longer skipping extra enclosers + (related to feature #11) + + * src/classes/table.C: minor fix + no longer skipping extra + enclosers (related to feature #11) + + * src/classes/table.C: minor optimization (related to feature #11) + + * src/classes/table.C: minor fix and optimization (related to + feature #11) + +2016-09-20 moko + + * tests/: 353.html, results/353.processed: test for + PC.cclass->is_vars_local() check in one_big_piece in ^process[] + added (related to bug #1090) + + * src/main/compile.y: PC.cclass->is_vars_local() check added for + one_big_piece (fixes bug #1090) + + * tests/: 229.html, results/229.processed: code coverage tests + + * src/classes/op.C: bugfix: no more GPF if ^process[$context] (no + body) was called + + * src/classes/op.C: whitespace + + * tests/: 323.html, results/323.processed: test for code junction + should not be returned by ^reflection:class, ^reflection:base + + * src/classes/reflection.C: bugfix: code junction should not be + returned by ^reflection:class, ^reflection:base + + * tests/: 323.html, 352.html, results/352.processed: no more + exception for ^reflection:method[class;no-such-method] (related + to feature #1087) + + * src/classes/reflection.C: + ^reflection:method[class;no-such-method] : exception -> void + (related to feature #1087) + + * src/include/pa_request.h: request::write_value added to allow + write value without convertion (related to issue #1091) + +2016-09-19 moko + + * src/main/pa_random.C: windows build fix + + * src/types/pa_vhash.h: warning war + +2016-09-14 moko + + * tests/: 352.html, 552.html, results/352.processed, + results/552.processed: test for ^reflection:method[] extension + added (related to feature #1087) + + * tests/: 552.html, results/552.processed: test for + ^reflection:method[] extension added (related to feature #1087) + + * src/classes/reflection.C: compatibility issue fixed, VClass + dynamic_cast check added (related to feature #1087) + + * tests/: 351.html, results/351.processed: test for @auto[] + inheritance bug diring ^process[] added (related to bug #1088) + + * src/: classes/op.C, main/pa_request.C, + types/pa_vstateless_class.C: set_method now checks for @auto[] to + disable it inheritance during ^process (fixes bug #1088) + + * src/classes/reflection.C: ^reflection:method[$class:method;$self] + added (implements feature #1087) + +2016-09-13 moko + + * tests/: 349.html, results/auto.p: test for objects prototyping + added and $OBJECT-PROTOTYPE(false) is used for old tests (related + to feature #1086) + + * src/: main/pa_request.C, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vobject.C: objects now are not class instances, but have + class as prototype, can be overridden by $OBJECT-PROTOTYPE(false) + in @conf (implements feature #1086) + +2016-09-08 moko + + * src/: classes/file.C, classes/mail.C, classes/string.C, + classes/table.C, main/pa_http.C, main/pa_string.C, + include/pa_string.h: cleanup: string::split limit argument + removed as no longer required, pos_after no longer reference + (related to feature #11) + + * src/classes/table.C, tests/results/348.processed: now exception + is rised when invalid option is passed to ^table::create[] + + * tests/: 282.cfg, 282.html, results/282.processed: more code + coverage tests + + * tests/: 348.html, results/348.processed: code coverage tests + added + + * tests/: 348.html, results/348.processed: generic ^table::create[] + tests + + * tests/: 035.html, results/035.processed, results/272.processed: + tests updated after $.encloser[] support for ^table::create + implementation (related to feature #11) + + * src/classes/table.C: $.encloser[] support for ^table::create + finally added (implements feature #11) + +2016-09-07 moko + + * src/include/pa_string.h: added StringSplitHelper as friend + (related to feature #11) + + * src/include/pa_string.h: body and langs now protected, not + private to allow inheritance (related to feature #11) + + * src/classes/table.C: lsplit optimized before cloning for + ^table::create with $.encloser[] (related to feature #11) + + * src/classes/table.C: optimizaion: TableControlChars.separators + added and used (related to feature #11) + + * src/classes/table.C: spelling: + + TableSeparators -> TableControlChars column -> separator + separators -> control_chars + +2016-09-06 moko + + * src/main/pa_string.C: whitespace + + * src/main/pa_string.C: whitespace + +2016-09-01 moko + + * tests/: 347-curl.html, results/347-curl.processed: to make tests + results OS-independent + + * src/: include/pa_http.h, main/pa_http.C: typo bugfix for clang + compiler (related to feature #1042) + +2016-08-15 moko + + * src/include/pa_string.h: whitespace + + * src/classes/table.C: whitespace + +2016-08-05 moko + + * tests/: 344.html, results/344.processed: test for + ^hash::create[$file] added (related to feature #1075) + + * src/types/: pa_vfile.h, pa_vmail.C: ^hash::create[$file] now + supported (implements feature #1075) + +2016-08-04 moko + + * tests/: 341.html, results/341.processed: more code coverage tests + + * tests/: 346-curl.html, results/346-curl.processed: more code + coverage tests for curl + + * tests/: 346-curl.html, results/346-curl.processed: more code + coverage tests for curl + + * tests/: 223-curl.html, 223.html, results/223-curl.processed, + results/223.processed: code coverage tests: $.form[ $.table[] ] + test added + + * tests/: 223-curl.html, results/223-curl.processed: more code + coverage tests for curl + +2016-08-03 moko + + * src/classes/curl.C: dlink(curl_library) now called not once, but + until it will be loaded, allowing to find existing library. + + * tests/: 346-curl.html, 347-curl.html, results/346-curl.processed, + results/347-curl.processed: more code coverage tests for curl + + * tests/: 339-curl.html, 339.html, 346-curl.html, Makefile, + results/339-curl.processed, results/346-curl.processed: curl + functionality tests + +2016-08-02 moko + + * tests/: 339.html, results/339.processed: test for tables in + ^file:load[] and ^curl:load[] (commented) added (related to + feature #1042) + + * tests/: 345.html, results/345.processed: code coverage tests for + file class + + * tests/: 344.html, results/344.processed: code coverage tests + + * tests/: 344.html, results/344.processed: mdate removed from + output + + * src/classes/file.C: minor bugfix: is_text should be taked from + fcontent.is_text_mode() if not set (related to feature #1061) + + * tests/: 344.html, results/344.processed: more tests + + * tests/: 343.html, 344.html, results/343.processed, + results/344.processed: tests for ^file::create[ $.from-charset + and $.to-charset ] (related to feature #1061) + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + aset_text_mode argument optimized + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + checkBOM now used in detect_binary_content (related to feature + #1061) + + * src/main/pa_request.C: load_charset no longer required to_upper + + * src/types/pa_vfile.C: bugfix: ^file::create[$text_file;...] now + preserves original file mode (if no $.mode specified) + + * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: + ^file::create now supports $.from-charset[] and $.to-charset + options (implements feature #1061), automatic transcode is done + if text file is created from binary file and charset is detected. + +2016-07-30 moko + + * src/classes/table.C: ^t.hash[..;] now supported (related to + feature #1057) + + * tests/: 341.html, results/341.processed: test for ^t.hash[..;] + added (related to feature #1057) + + * tests/: 286.html, results/286.processed: code tests coverage + +2016-07-29 moko + + * src/classes/table.C: table size should be checked inside menu and + foreach (related to feature #858) + + * src/: classes/curl.C, classes/file.C, classes/string.C, + classes/xdoc.C, include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C, main/pa_sql_driver_manager.C, + types/pa_vmail.C, types/pa_vrequest.C, types/pa_vresponse.C: + charsets.get now does str_upper inside (related to feature #1061) + + * tests/: 342.html, results/342.processed: more code coverage tests + + * tests/: 342.html, outputs/342.processed: table menu code coverage + + foreach test added (related to feature #858) + + * tests/: 341.html, results/341.processed: tests for + ^table.hash[]{code} added + code coverage tests (related to + feature #1057) + + * src/: include/pa_common.h, classes/table.C: ^table.hash[]{code as + value} support (implements feature #1057) + + * src/classes/table.C: whitespace + +2016-07-28 moko + + * src/: classes/curl.C, types/pa_vfile.C: curl now saves filename + from URL, if not specified query string removed from url-based + filenames in ^curl:load[] and ^file::load[] (related to feature + #1042) + +2016-07-27 moko + + * tests/: 340.html, results/340.processed: test for + transcode_text_result=false added (related to issue #1042) + +2016-07-26 moko + + * src/types/pa_vfile.C: file name should not be empty (if file path + is folder and ends with /) (related to feature #1042) + + * src/main/pa_http.C: whitespace optimizaion + + * src/: classes/curl.C, include/pa_common.h, include/pa_http.h, + main/pa_common.C, main/pa_http.C: ^curl:load[] now support + multiple headers, ^file::load supports headers transcoding + (implements feature #1042) + +2016-07-25 moko + + * src/include/pa_common.h: PA_DEFAULT added + +2016-07-22 moko + + * tests/: 338.html, results/338.processed: test for + $date.field(value) added (related to feature #1066) + + * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h: + $date.field(value) now supported for y/m/d/h/m/s (implements + feature #1066) + +2016-07-21 moko + + * src/: classes/file.C, classes/image.C, include/pa_common.h, + main/pa_common.C: pa_common.h: File_read_action: fname, as_text + arguments removed; image.C - absolute path shown in exception + (implements feature #1071) + + * tests/: 235.html, results/235.processed: test and test result + updated after static boundary in mail and Errors-To: mail header + removed (related to feature #1047) + + * src/: classes/math.C, include/pa_random.h, main/pa_http.C, + main/pa_random.C, types/pa_vmail.C: get_uuid_boundary() added and + used, static boundary in mail removed, Errors-To: mail header + removed (implements feature #1047) + +2016-07-20 moko + + * src/: classes/reflection.C, types/pa_vstateless_class.h: + equest.classes(): Value -> VStateless_class, part 3 (related to + issue #1051) + + * src/: classes/reflection.C, include/pa_request.h, main/execute.C: + request.classes(): Value -> VStateless_class, part 2 (related to + issue #1051) + + * tests/results/: 224.processed, 323.processed: classes without + methods should not be methoded (related to issue #1051) + + * src/: classes/reflection.C, include/pa_request.h, main/compile.y, + main/compile_tools.h, main/pa_request.C: request.classes(): Value + -> VStateless_class, part 1 (related to issue #1051) + + * tests/: 337.html, results/337.processed: test for + ^reflection:fields_reference[] and VHashReference class added + (related to feature #1072) + + * src/: classes/hash.C, classes/json.C, classes/reflection.C, + types/pa_value.h, types/pa_vhash.h, types/pa_vobject.h: VHashBase + and VHashReference added, allowing ^reflection:fields_reference[] + implementation (closes feature #1072) + +2016-07-19 moko + + * tests/: 323.html, results/323.processed: we want to see + "methoded" + + * tests/: 336.html, results/336.processed: test for $BASE:property + and ^BASE:method (OP_VALUE__GET_BASE_CLASS) added (related to bug + #1059) + + * src/: include/pa_opcode.h, main/compile.y, main/execute.C, + types/pa_vstateless_class.h, types/pa_wcontext.h: no more + somebody_entered_some_class, $BASE:property works again, + ^BASE:method[] bugs fixed (fixes bug #1059) + +2016-07-14 moko + + * tests/: 335.html, results/335.processed: test for feature #1055 + added + + * src/classes/hash.C: bugfix: $._default was not copied if empty + feature: ^hash.contains[_default] added (implements feature + #1055) + +2016-07-13 moko + + * src/classes/reflection.C: bugfix: ^reflection:def[class;name] + should not call @autouse (http://www.parser.ru/forum/?id=83480) + +2016-07-05 moko + + * src/classes/hash.C: Optimization: HashStringValue::Iterator used + in ^hash.foreach (related to feature #1073) + +2016-07-04 moko + + * tests/: 134.html, 281.html, results/134.processed, + results/281.processed: tests updated after hash blocking removed + (related to feature #1073) + + * src/: classes/hash.C, include/pa_hash.h, types/pa_vhash.h: hash + no longer blocks on change during foreach (implements feature + #1073) + +2016-06-17 moko + + * tests/: 330.html, results/330.processed: try exception source + test added (related to bug in #1062) + + * tests/: 334.html, results/334.processed: Exception stack trace + test added (related to bug in $1062) + + * src/classes/op.C: Exception trace now correctly restored and + errors reported (related to bug #1062) + +2016-05-25 moko + + * src/main/compile.y: minor cleanup + beauty + +2016-05-24 moko + + * tests/: 333.html, results/333.processed: more exceptions testing + + * tests/: 332.html, results/332.processed: test for FIELDS_SYMBOL, + _DEFAULT_SYMBOL, CALLER_SYMBOL, SELF_SYMBOL added (related to + features #1056, #1026) + + * src/: classes/json.C, include/pa_symbols.h, main/pa_symbols.C, + types/pa_vhash.C, types/pa_vhash.h, types/pa_vtable.C, + types/pa_vtable.h: FIELDS_SYMBOL, _DEFAULT_SYMBOL added and used + (implements feature #1056) + + * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C, + main/execute.C, main/pa_symbols.C, types/pa_vjunction.C, + types/pa_vstateless_class.C, types/pa_vstateless_class.h: + CLASS_SYMBOL, CLASS_NAME_SYMBOL added and used (related to + feature #1026) + + * src/: classes/reflection.C, include/pa_symbols.h, main/compile.y, + main/compile_tools.C, main/compile_tools.h, main/pa_symbols.C, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: Symbols now + have *_SYMBOL naming convention. STATIC_SYMBOL, DYNAMIC_SYMBOL, + LOCALS_SYMBOL, PARTIAL_SYMBOL, REM_SYMBOL where added (related to + feature #1026) + + * src/: include/pa_symbols.h, main/compile.y, main/compile_tools.C, + main/pa_globals.C, main/pa_symbols.C, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vstateless_class.C: + SYMBOLS_CACHING define implemented (related to feature #1026) + + * src/main/main.vcproj: + ps_symbols + + * src/: include/Makefile.am, include/pa_string.h, + include/pa_symbols.h, main/Makefile.am, main/compile.tab.C, + main/compile.y, main/compile_tools.C, main/pa_symbols.C, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vstateless_class.C: initial implementation for symbols + cache (related to feature #1026) + + * src/: include/pa_common.h, main/pa_http.C: minor cleanup + + * src/main/pa_globals.C: minor cleanup + +2016-05-19 moko + + * src/types/pa_vhash.h: minor optimization: ^hash.fields[] removed + (related to feature #1046) + + * tests/: 331.html, results/331.processed: test for + BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE removal added + (related to feature #1051) + + * src/main/compile.y: + BAD_NONWHITESPACE_CHARACTER_IN_EXPLICIT_RESULT_MODE error removed + (implements feature #1054) + +2016-05-18 moko + + * src/types/pa_vtable.C, tests/results/324.processed: no more + "column not found" exception for ^table.no-such-method[] (related + to feature #1046) + + * tests/: 261.html, results/261.processed: test added and updated + after feature #1046 implementation + + * src/: classes/string.C, types/pa_value.C, types/pa_vstring.h, + types/pa_vvoid.h: $string.anything works for whitespace strings, + ^string.contains added for hash compatibility, $string.method no + longer returns stting method (implements feature #1046) + +2016-05-12 moko + + * src/classes/curl.C: content-type response header no longer + ignored (fixes issue #1045) + + * tests/: 330.html, results/330.processed: test for incomplete + finally execution when break occures added (related to issue + #1077) + + * src/classes/op.C: bugfix: Request::skip reset is called before + executing catch and finally code (fixes issue #1062) + +2016-05-11 moko + + * tests/: 329.html, results/329.processed: test for invalid + ^break[] behavour added (bug #1077) + + * src/classes/op.C: try_catch code cleanup (related to bug #1062) + +2016-04-24 moko + + * src/types/pa_vstateless_class.h: warning war + +2016-04-17 moko + + * tests/: 328.html, results/328.processed: test for + ^break(condition) and ^continue(condition) (related to feature + #1063) + + * src/classes/op.C: ^break(condition) and ^continue(condition) + implemented (feature #1063) + +2016-04-12 moko + + * tests/results/280.processed: ordered hash now used for class + methods and properties (test results updated for feature #1069) + + * src/classes/: xdoc.C, xnode.C: xnode_class initialization moved + to xdoc.C as under FreeBSD it was inited after and inheritance + failed (related to issue #1051) + + * tests/: 320.html, results/320.processed: xdoc and xnode methods + are printed to check inheritance (related to feature #1051) + +2016-04-09 moko + + * tests/results/320.processed: ordered hash now used for class + methods and properties (test results updated for feature #1069) + + * src/types/pa_vstateless_class.h: ordered hash now used for class + methods and properties (implements feature #1069) + + * src/types/: pa_vconsole.h, pa_vcookie.C, pa_venv.C, + pa_vrequest.C, pa_vstatus.C: minor optimization: #ifndef + OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL returned (related to + feature #1051) + +2016-04-07 moko + + * src/main/execute.C: returned Value in .CLASS case for VJunction + (related to feature #1051) + + * src/types/: pa_vjunction.C, pa_vmethod_frame.C, + pa_vmethod_frame.h, pa_vstateless_class.C, pa_vstateless_class.h: + string constants deduplication (related to feature #1051) + + * tests/results/224.processed: test result updated (related to + feature #1051) + + * src/: main/execute.C, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_venv.C, types/pa_venv.h, + types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vstatus.C, + types/pa_vstatus.h: classes hash now contains only + VStateless_class derived objects, .CLASS is also allways + VStateless_class derived object (related to feature #1051). + +2016-04-06 moko + + * tests/results/323.processed: test result updated after feature + #1051 implementation + + * src/: classes/classes.h, classes/op.C, classes/response.C, + classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, + main/pa_request.C, types/pa_vclass.h, types/pa_vform.C, + types/pa_vmail.C, types/pa_vmath.C, types/pa_vmemory.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.h: base -> methoded_donor for static + classes, type() moved from VStateless_class to VClass and + Methoded (implements feature #1051) + +2016-04-04 moko + + * src/: classes/classes.C, include/pa_request.h, main/pa_request.C: + beauty: put_class added (related to feature #1051) + +2016-04-01 moko + + * tests/results/: 175.processed, 192.processed, 224.processed, + 229.processed, 244.processed, 246.processed, 316.processed: test + results updated as class.type() removed from error messages, only + type() left (related to feature #1051) + + * src/: classes/classes.C, classes/classes.h, classes/mail.C, + classes/op.C, classes/reflection.C, main/compile.y, + main/compile_tools.h, main/execute.C, main/pa_request.C, + types/pa_value.C, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vmethod_frame.h, types/pa_vobject.h, + types/pa_vstateless_class.h, types/pa_wcontext.C: name() removed + from VStateless_class, type() is used instead (related to feature + #1051) + + * src/classes/mail.C: old logic restored. + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/reflection.C, + classes/regex.C, classes/response.C, classes/string.C, + classes/table.C, classes/xdoc.C, classes/xnode.C, + types/pa_vform.C, types/pa_vmail.C, types/pa_vmath.C, + types/pa_vmemory.h: optimizaion: *_base_class removed (related to + feature #1051) + +2016-03-30 moko + + * tests/: 327.html, results/224.processed, results/327.processed: + test for TZ specification in ^date::create[], TZ is kept during + ^date::create[$dt] (related to feature #1048) + + * src/: classes/date.C, types/pa_vdate.h: TZ can be specified in + ^date::create[], TZ is kept during ^date::create[$dt] (implements + feature #1048) + +2016-03-29 moko + + * tests/: 315.html, results/315.processed: test for timezone format + +HHmm added (related to feature #1065) + + * src/classes/date.C: timezone format +HHmm now supported + (implements feature #1065) + +2016-03-28 moko + + * tests/: 202.html, results/131.processed, results/202.processed, + results/224.processed, results/256.processed, + results/315.processed: test results updated after %.2d now + default for hours offset in iso-string (was %2d), test for + ^date.iso-string options $.colon(true) $.z(true) $.ms(false) + added (related to feature #1065) + +2016-03-27 moko + + * src/types/pa_vdate.C: '+' sign for zero offset (related to + feature #1065) + + * src/: classes/date.C, types/pa_vdate.C, types/pa_vdate.h: + ^date.iso-string options $.colon(true) $.z(true) $.ms(false) + added (implements feature #1065) + +2016-03-24 moko + + * tests/: 202.html, results/202.processed: test $date.week added + (related to bug #1067) + + * src/types/: pa_vdate.C, pa_vdate.h: fix for $date.week changed + date (fix for bug #1067) + +2016-03-10 moko + + * configure.ac, src/include/pa_version.h: 3.4.4 -> 3.4.5b + +2015-12-07 moko + + * tests/: 326.html, results/326.processed: test for .CLASS & + .CLASS_NAME optimization added (related to feature #844) + +2015-11-17 moko + + * tests/: 323.html, results/323.processed: order added + + * tests/: 325.html, results/325.processed: double range test added + (related to bug #1049) + +2015-11-16 moko + + * src/: classes/string.C, types/pa_vdouble.h: finite(double) check + added to disallow NaN and Infinity (fixes bug #1049) + +2015-11-11 moko + + * tests/324.html: parser 3.4.3 execution support added (related to + feature #1017) + + * tests/: 324.html, results/324.processed: test for + GET_ELEMENT4CALL feature added (feature #1017) + +2015-10-29 moko + + * operators.txt: updated for 3.4.4 + + * configure.ac, src/include/pa_version.h: 3.4.4rc -> 3.4.4 + + * src/main/pa_exec.C: get_exit_status implemented for Windows + (related to bug #1043) + +2015-10-28 moko + + * src/main/pa_exec.C: Windows bugfix: $.stdin[] no longer cause + hangup during ^file::exec (fixes bug #1043) + +2015-10-27 moko + + * src/main/pa_memory.C: pa_fail_alloc added for GC_abort in Windows + +2015-10-26 moko + + * tests/322.html, src/classes/reflection.C: arguments reorder + (related to issue #1041) + + * src/: classes/classes.awk, main/helpers/simple_folding.pl: + Copyright year updated + + * src/: classes/bool.C, classes/classes.C, classes/classes.h, + classes/curl.C, classes/date.C, classes/double.C, classes/file.C, + classes/form.C, classes/hash.C, classes/hashfile.C, + classes/image.C, classes/inet.C, classes/int.C, classes/json.C, + classes/mail.C, classes/math.C, classes/memcached.C, + classes/memory.C, classes/op.C, classes/reflection.C, + classes/regex.C, classes/response.C, classes/string.C, + classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C, + classes/xnode.h, include/pa_array.h, include/pa_cache_managers.h, + include/pa_charset.h, include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_table.h, + include/pa_threads.h, include/pa_types.h, include/pa_uue.h, + include/pa_xml_exception.h, include/pa_xml_io.h, lib/gd/gif.C, + lib/gd/gif.h, lib/gd/gifio.C, lib/md5/pa_md5.h, + lib/md5/pa_md5c.c, lib/memcached/pa_memcached.C, + lib/memcached/pa_memcached.h, lib/sdbm/pa_file_io.C, + lib/sdbm/pa_strings.C, lib/smtp/comms.C, lib/smtp/smtp.C, + lib/smtp/smtp.h, main/compile.C, main/compile.tab.C, + main/compile.y, main/compile_tools.C, main/compile_tools.h, + main/execute.C, main/pa_cache_managers.C, main/pa_charset.C, + main/pa_charsets.C, main/pa_common.C, main/pa_dictionary.C, + main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, + main/pa_globals.C, main/pa_http.C, main/pa_memory.C, + main/pa_os.C, main/pa_pool.C, main/pa_random.C, + main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, + main/pa_string.C, main/pa_stylesheet_connection.C, + main/pa_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, + main/pa_xml_exception.C, main/pa_xml_io.C, main/untaint.C, + sql/pa_sql_driver.h, targets/apache/mod_parser3.c, + targets/apache/mod_parser3_core.C, targets/apache/pa_httpd.h, + targets/apache/pa_threads.C, targets/cgi/pa_threads.C, + targets/cgi/parser3.C, targets/isapi/pa_threads.C, + targets/isapi/parser3isapi.C, types/pa_junction.h, + types/pa_method.h, types/pa_property.h, types/pa_value.C, + types/pa_value.h, types/pa_vbool.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h, + types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.C, + types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.C, + types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.C, + types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vhashfile.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, + types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vmail.C, + types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h, + types/pa_vmemcached.C, types/pa_vmemcached.h, types/pa_vmemory.h, + types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, + types/pa_vregex.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated + + * src/targets/cgi/parser3.C: year updated + + * src/classes/reflection.C: VS2003 compatibility fixed (related to + issue #1041) + + * tests/: 323.html, results/323.processed: test for base classes + added + + * tests/: 261.html, results/261.processed: updated after better + error reporting done for $string.key exception + + * src/types/pa_vstring.h: better error report for $string.key + exception + + * src/types/: pa_vobject.C, pa_vobject.h: VObject::get_element + copied as VObject::get_element4call to remove extra virtual call + + * tests/: 322.html, results/322.processed: test for + ^reflection:is[] added (related to feature #1041) + + * src/classes/reflection.C: ^reflection:is empty value is void + (related to feature #1041) + + * src/classes/reflection.C: + ^reflection:is[class_name|code|method;[context;]element_name] + added (implements feature #1041) + +2015-10-24 moko + + * configure.ac, src/include/pa_version.h: 3.4.4b -> 3.4.4rc + +2015-10-22 moko + + * tests/: 321.html, results/321.processed: test for + ^reflection:method_info[] file detection added + + * tests/: 320.html, results/320.processed: test for + ^reflection:class_by_name[class_name] added (related to feature + #993) + + * src/classes/reflection.C: ^reflection:class_by_name[class_name] + added (implements feature #993) + + * src/main/execute.C: GET_ELEMENT4CALL added to get_method_filename + (related to feature #1017) + + * tests/: 319.html, results/319.processed: ^throw[] stacktrace test + added (related to issue #1039) + + * src/main/pa_request.C: ^throw origin fixed (related to feature + #1039) + + * src/types/pa_vcookie.C: bugfix: expires_sec should not be called + for VDate + + * tests/results/182.processed: updated after feature #1038 + implemented + + * tests/: 318.html, 182_dir/a6.p, results/318.processed: test for + compile-time exception origin added (test for feature #1039) + + * src/: include/pa_request.h, main/compile.C, main/compile.y, + main/pa_request.C: exception unification: compile-time exceptions + now have origin, @USE origins also tracked (implements feature + #1039) + +2015-10-20 moko + + * src/main/pa_request.C: cleanup + +2015-10-15 moko + + * src/types/pa_vtable.C: defines fixed (related to feature #1017) + + * src/: classes/hash.C, include/pa_opcode.h, types/pa_vhash.h, + types/pa_vtable.C: new feature: no more $table.method and + $hash.method, aliases for _at, _count, _key (related to feature + #1017) + +2015-10-14 moko + + * tests/: 317.html, results/317.processed: test for + ^string.unescape[] added (related to feature #120) + + * buildall: reverted libxml 2.9.2 -> 2.9.1 due to "ID already + defined" bug (described in issue #1036) + + * tests/: 247.html, results/247.processed: test for checkBOM added + (test for bug #1037) + + * src/: include/pa_charsets.h, main/pa_charsets.C, + main/pa_common.C, main/pa_http.C: checkBOM detects charset if + it's not enforced, skips BOM signature if it complies charset + (fixes bug #1037) + +2015-10-13 moko + + * src/targets/cgi/parser3.vcproj: disabling buggy incremental + linking + + * src/classes/inet.C: vs2003 compilation fix + + * src/classes/math.C: warning war + + * src/lib/punycode/pa_punycode.c: warning war + +2015-10-12 moko + + * src/lib/punycode/pa_punycode.c: warning war + + * parser3.sln: moved parser3 first, to make it default startup + project + + * buildall: parser "mirror" now used for external libs sources + (implements feature #1036) + + * buildall: most external libs are updated to their current + versions (related to feature #1036) + + * src/classes/image.C: more tags added + + * src/: include/pa_memory.h, types/pa_vdate.C: warning war + +2015-10-11 moko + + * src/classes/curl.C: minor optimization (related to feature #1035) + +2015-10-09 moko + + * src/classes/curl.C: pa_strdup added for strings from curl + (related to feature #1035) + + * src/main/pa_string.C: mini fix: RedHat 7.2 does not have + ULLONG_MAX definition + + * src/classes/curl.C: ^curl:info[name]/^curl:info[] added + (implements feature #1035) + + * src/main/pa_charset.C: String::Body(String::C) used + + * src/main/pa_charset.C: exceptions unified + + * src/: include/pa_charset.h, main/pa_charset.C: declarations + unified + + * src/: classes/file.C, classes/image.C, classes/mail.C, + classes/op.C, classes/xdoc.C, classes/xnode.C, + include/pa_string.h, main/pa_request.C, main/pa_string.C, + types/pa_vimage.C, types/pa_vmath.C, types/pa_vstatus.C, + types/pa_vxdoc.C: explicit String::Body(char) calls removed; + String::Body(String::C) constructor added (related to bug #957) + + * src/classes/file.C: minor optimization + + * src/include/pa_hash.h: hash.get(char*) added, to minimize + Cord(char*) autocreation (related to bug #957) + + * src/: classes/string.C, main/untaint.C: minor optimizations + + * src/: classes/json.C, classes/reflection.C, include/pa_string.h: + String(char*, Lang, length) removed, String(C(), Lang) used + instead (related to bug #957) + +2015-10-08 moko + + * src/: classes/file.C, include/pa_string.h, lib/cord/cordbscs.c, + lib/cord/include/cord.h, main/pa_http.C, main/pa_string.C, + main/untaint.C: Now char * is converted to CORD only using + AS_CORD() to check for empty cord bug (fixes bug #957) + + * src/include/pa_hash.h: fixed compilation without + HASH_CODE_CACHING + + * src/classes/string.C: + ^string:unescape[js|uri;escaped;$.charset[...]] added (implements + feature #120) + + * src/main/pa_common.C: reduce js flags checks count (related to + feature #120) + +2015-10-07 moko + + * tests/: 275.html, results/275.processed: test modified after + unsigned long long int support implemented (feature #1034) + + * src/: classes/math.C, include/pa_string.h, main/pa_string.C: + pa_atoul added for unsigned long long int support + +2015-10-06 moko + + * src/types/pa_vdate.C: INT_MAX used + +2015-10-03 moko + + * tests/: 302.html, results/302.processed: test for bug #1023 + (\u2028, \u2029 escaping) added + + * src/main/untaint.C: \u2028, \u2029 are now escaped in + json:string[] (fixes bug #1023) + +2015-09-29 moko + + * tests/305.html: try-catch added for OS without ipv6 support + + * src/lib/json/pa_json.C: more unique prefixes for Solaris + compilation + + * src/: include/pa_opcode.h, include/pa_request.h, main/compile.y, + main/execute.C, types/pa_value.h, types/pa_vhash.h, + types/pa_vtable.C, types/pa_vtable.h: get_element4call + implemented to distinguish ^hash.method from $hash.field + (implements feature #1017) + + * src/lib/punycode/pa_punycode.c: warning war + + * src/include/pa_config_includes.h: warning war + + * src/include/pa_config_includes.h: pragma warning actualized a bit + + * src/include/pa_config_includes.h: warning war + + * src/include/pa_hash.h: clang compilation fix + +2015-09-27 moko + + * src/main/compile.tab.C: Bison 3 is now default + + * src/main/: compile.C, compile.y: Bison 3 compatibility fixed + +2015-09-25 moko + + * src/: classes/hash.C, include/pa_hash.h: parser now compiles and + works with undefined HASH_ORDER (related to feature #196) + +2015-09-24 moko + + * tests/: 027.html, results/027.processed: test modified to test + ^hash.sort (feature #196) + + * src/: classes/hash.C, include/pa_hash.h: + ^hash.sort[key;value]{string-key-maker}|(numeric-key-maker)[[asc|desc]] + added (implements feature #196) + + * tests/: 316.html, results/316.processed: Added test for bug #1025 + (exception handling in non-cached ^cache), plus for "it does not + have logical value" and "$exception.handled value must be either + boolean or string 'cache'" exceptions. + + * src/classes/op.C: ^cache: exceptions now handled in non-cached + code (fixes bug #1025) + +2015-09-23 moko + + * src/classes/table.C: warning war + + * src/: classes/math.C, types/pa_vcookie.C: warning war + + * src/classes/file.C: warning war + + * src/: include/pa_table.h, main/pa_table.C: warning war + + * src/: main/pa_request.C, classes/date.C: warning war + + * src/: types/pa_vdate.C, classes/op.C: warning war + + * tests/: 122.html, results/122.processed: win sync: to remove + differences with OS that doesn't keep timezone change history + + * src/types/pa_vdate.C: tzset() should be called in Windows after + TZ change (related to feature #36) + + * tests/: 075.html, results/075.processed: win sync: to remove + differences with OS that doesn't keep timezone change history + + * tests/: 315.html, results/315.processed: win sync: to remove + differences with OS that doesn't keep timezone change history + + * tests/: 256.html, results/256.processed: win sync: to remove + differences with OS that doesn't keep timezone change history + + * tests/: 124.html, results/124.processed: win results sync: to + avoid hitting time change hole. + + * src/types/pa_vdate.C: static returned. :) + +2015-09-22 moko + + * src/types/pa_vdate.C: FreeBSD 10 GPF fix (related to feature #36) + + * tests/results/131.processed: more tests for feature #1032 + + * src/classes/date.C: minor fix related to feature #1032 + + * operators.txt: ISO date creation documented (related to feature + #1032) + + * operators.txt: iso-string documented (related to feature #1032) + + * tests/: 315.html, results/315.processed: more tests added + (related to feature #1032) + + * tests/: 131.html, results/131.processed: date range checks + updated (related to feature #36) + + * tests/: 315.html, results/057.processed, results/315.processed: + test added for ISO date support (related to issue #315) + + * src/classes/date.C: more readable exceptions in date creation + (related to ticket #1032) + +2015-09-18 moko + + * tests/: 202.html, results/202.processed: ^date.iso-string[] check + added (related to issue #1032) + + * tests/results/256.processed, src/classes/json.C: iso-string + documented (related to issue #1032) + + * tests/: 256.html, results/256.processed: ISO date check added + (related to issue #1032) + + * tests/: 057.html, results/057.processed, results/224.processed: + tests results updated after ISO date support implemented (related + to feature #1032) + + * src/: classes/date.C, classes/image.C, types/pa_value.h, + types/pa_vdate.C, types/pa_vdate.h: ISO 8601 dates support added, + ^date::create[string] constructor formalized, ^date.iso-string[] + added (implements feature #1032) + +2015-09-05 moko + + * operators.txt: actualized + + * operators.txt: date changes documented (related to ticket #36) + +2015-09-04 moko + + * src/types/pa_vdate.C: warning war + + * src/: classes/op.C, types/pa_vhashfile.C: warning war + +2015-09-03 moko + + * tests/results/096.processed: test result updated for 0..9999 year + date range support (related to feature #36) + + * tests/: 314.html, results/314.processed: test for + ^string:base64[], ^string:idna[], ^string:js-escape[] (related to + bug #1031) + + * src/classes/string.C: Static calls fixed for ^string:base64[], + ^string:idna[], ^string:js-escape[] (closes bug #1031) + + * Makefile.am, acsite.m4, configure.ac, configure.in: Warning war: + configure.in -> configure.ac + + * configure, configure.in, src/include/pa_config_auto.h.in: more + correct timezone check for FreeBSD Warning war: configure.in -> + configure.ac + + * configure, configure.in, src/classes/Makefile.am, + src/include/pa_config_auto.h.in, src/lib/cord/Makefile.am, + src/lib/gd/Makefile.am, src/lib/json/Makefile.am, + src/lib/memcached/Makefile.am, src/lib/pcre/Makefile.am, + src/lib/sdbm/Makefile.am, src/lib/smtp/Makefile.am, + src/main/Makefile.am, src/targets/apache/Makefile.am, + src/targets/cgi/Makefile.am, src/types/Makefile.am: INCLUDES -> + AM_CPPFLAGS (warning war) PA_DATE64 (0..9999 year date range) + check added + + * src/types/pa_vdate.C: FreeBSD fixes + more robust code + + * tests/results/: 124.processed, 224.processed: test resuls updated + for new date implementation (related to feature #36) + + * src/: classes/date.C, classes/image.C, include/pa_common.h, + main/pa_common.C, types/pa_value.C, types/pa_vdate.C, + types/pa_vdate.h: new double date implementation with internal + support for extended 0..9999 year range, default timezone support + (related to feature #36) + +2015-08-28 moko + + * src/types/pa_vmail.C: fixed $mail:received.date calculations + (fixes bug #1030) + +2015-08-21 moko + + * src/classes/inet.C: snprintf size "bug" commented + + * src/main/pa_common.C: snprintf comments updated + +2015-08-16 moko + + * src/types/: pa_vdate.C, pa_vdate.h: logic moved to pa_vdate.C + +2015-08-11 moko + + * src/: classes/json.C, types/pa_value.C, types/pa_value.h, + types/pa_vclass.C, types/pa_vobject.C: hash_json_string argument + can be null (fixes bug #1029) + +2015-08-06 moko + + * src/types/: Makefile.am, pa_vdate.C, pa_vdate.h, types.vcproj: + pa_vdate.C added + +2015-08-05 moko + + * tests/: 313.html, results/313.processed: test for + ^table.count[columns] and ^table.flip[] with nameless tables + (feature #1003) + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C: + max_cell added, now ^table.count[columns] and ^table.flip[] works + correctly for nameless tables (implements feature #1003) + +2015-08-03 moko + + * tests/312.html: test for ^table.append[$hash] and + ^table.insert[$hash] added (related to feature #1028) + + * src/classes/table.C: ^table.append[$hash] and + ^table.insert[$hash] now supported (implements feature #1028) + + * tests/: 312.html, results/312.processed: test row copy in + ^table.hash[; $.type[table] ] added (related to feature #1016) + + * src/classes/table.C: row copy now created in ^table.hash[; + $.type[table] ] (related to feature #1016) + +2015-07-29 moko + + * tests/: 312.html, results/312.processed: test for ^table.delete[] + added (related to feature #1016) + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C: + ^table.delete[] added to delete current row (related to feature + 1016) + +2015-07-28 moko + + * tests/: 312.html, results/312.processed: test for + $table.column[value] and ^table.insert{row} (related to feature + #1016) + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C, + types/pa_vtable.C, types/pa_vtable.h: $table.column[value] and + ^table.insert{row} are now implemented (feature #1016) + + * src/include/pa_array.h: Optimization: bool reverse removed from + append(), insert() added, memmove arguments order in remove() + fixed (related to feature #1016) + +2015-07-23 moko + + * src/classes/json.C: tainted json and empty json exception added + (implements feature #1015) + + * tests/: 311.html, results/311.processed: empty json and tainted + json exception test added (related to issue #1015) + +2015-07-22 moko + + * tests/: 311.html, results/311.processed: test for UTF-8 + processing added + + * tests/: 311.html, results/311.processed: test for + json_exception_with_source added (related to issue #394) + + * src/classes/json.C: json_exception_with_source added (implements + feature #394) + +2015-06-29 moko + + * src/: classes/file.C, include/pa_dir.h, main/pa_dir.C: + directories are now correctly determined if _d_type == DT_UNKNOWN + (closes bug #1027) + +2015-06-10 moko + + * src/types/pa_vxnode.h: extern "C" not requred and causes build + error if libxml has LIBXML_ICU_ENABLED. + +2015-06-04 moko + + * tests/099.html: ups, reverting + + * tests/: 099.html, 309.html, 310.html, results/309.processed, + results/310.processed: tests for $response:body[ $.file[] ] and + $response:last-modified added + + * src/main/pa_request.C: last-modified check fixed + +2015-06-03 moko + + * tests/: 204.html, 205.html, 293.html, results/204.processed, + results/205.processed, results/293.processed: $response:headers + logging added (tests for feature #1007) + + * src/: include/pa_common.h, include/pa_request.h, + main/pa_request.C, types/pa_vmail.C, types/pa_vresponse.C: + $response:headers are now in uppercase (closes feature #1007) + +2015-06-02 moko + + * src/: include/pa_memory.h, classes/math.C: some of -pedantic + build errors reverted for clang compatibility + +2015-06-01 moko + + * src/include/pa_memory.h: -pedantic build errors fixed + + * src/classes/math.C: -pedantic build error fixed + + * src/classes/table.C: USE_STRINGSTREAM moved to the correct place + +2015-05-31 moko + + * src/classes/table.C: USE_STRINGSTREAM optimized + + * src/: classes/file.C, classes/math.C, include/pa_opcode.h, + include/pa_string.h, lib/json/pa_json.h, main/compile_tools.h, + main/pa_charset.C, main/pa_globals.C, main/pa_string.C, + types/pa_vmail.C, types/pa_vmethod_frame.C, types/pa_vregex.C, + types/pa_vxnode.h: warning war (-pedantic flag) + +2015-05-28 moko + + * tests/: 308.html, results/308.processed: test for + ^table::create[$t;], etc work added (related to bug #975) + + * src/classes/table.C: check_option_param removed, + ^table::create[$t;], etc now works (fixes bug #975) + +2015-05-27 moko + + * src/main/pa_request.C: Invalid response filename in gcc 4.9.2 + (Debian jessie) fixed (closes issue #1024) + + * tests/Makefile: sort added as in Debian jessie list become + unsorted + +2015-05-18 moko + + * tests/: 201.html, results/201.processed: test for + ^string.trim[what] feature #1022 + + * src/classes/string.C: ^string.trim[what] now supported, + implements feature #1022 + +2015-05-17 moko + + * tests/results/185.processed: test result updated as feature #1021 + implemented (left/right accept negative parameter) + + * src/classes/string.C: left/right now accept negative parameter + (implements feature #1021) + +2015-05-08 moko + + * src/classes/math.C: isalnum -> pa_isalnum + + * src/main/execute.C: optimization in getter-junction processing + (related to issue #997) + +2015-05-07 moko + + * tests/: 307.html, results/307.processed: test for issue #997 + added + + * src/main/execute.C: process_getter result now checked if junction + returned (closes issue #997) + + * tests/: 305.html, results/305.processed: sort added to ignore + different order + + * src/types/pa_vxnode.C: & now untainted in $node.nodeValue + assignment (closes issue #994) + + * tests/: 306.html, results/306.processed: test for issue #994 + added + + * tests/: 303.html, results/303.processed: two more errors tested + +2015-05-06 moko + + * tests/: 305.html, results/305.processed: test for name2ip & + ip2name added (related to feature #992) + + * tests/: 303.html, 304.html, results/303.processed, + results/304.processed: tests for idna conversion added (related + to issue #849) + +2015-05-02 moko + + * src/classes/inet.C: ^inet:ip2name[] and ^inet:name2ip[] + implemented + +2015-04-30 moko + + * src/main/pa_http.C: idna_host added, related to issue #849 + + * src/main/pa_http.C: set_addr corrected, pa_idna_encode call added + (related to issue #849) + +2015-04-24 moko + + * src/types/pa_vjunction.C: warning war + + * src/lib/punycode/: pa_idna.h, pa_punycode.h: code style + unification + + * src/lib/punycode/pa_idna.c: warning war + +2015-04-22 moko + + * src/main/main.vcproj: punycode include path added + + * src/lib/punycode/pa_idna.c: windows compile error fixed + + * src/lib/punycode/pa_idna.c: warning war + + * parser3.sln, src/lib/punycode/punycode.vcproj: punycode windows + project file added + + * src/lib/punycode/pa_convert_utf.c: debug compilation fix + + * src/include/pa_memory.h: warning war + + * src/: classes/string.C, include/pa_common.h, main/pa_common.C: + ^string:idna[xn--...], ^string.idna[] - idna conversion support + implemented (related to feature #849) + + * configure.in, src/main/Makefile.am, + src/targets/apache/Makefile.am, src/targets/cgi/Makefile.am: + libpunycode added in Unix + +2015-04-21 moko + + * configure.in: large files support + +2015-04-15 moko + + * src/lib/punycode/: Makefile.am, pa_convert_utf.c, + pa_convert_utf.h, pa_idna.c, pa_idna.h, pa_punycode.c, + pa_punycode.h: initial version for punycode/idna support library + (ticket #849) + +2015-04-08 moko + + * src/: classes/curl.C, classes/date.C, classes/file.C, + classes/image.C, classes/mail.C, classes/reflection.C, + classes/string.C, classes/xnode.C, include/pa_request.h, + include/pa_string.h, include/pa_stylesheet_connection.h, + main/compile.y, main/compile_tools.h, main/execute.C, + main/pa_common.C, main/pa_request.C, main/pa_string.C, + main/pa_xml_io.C, main/untaint.C, types/pa_vclass.C, + types/pa_vcookie.C, types/pa_vfile.C, types/pa_vform.C, + types/pa_vmethod_frame.h, types/pa_vstateless_class.h, + types/pa_wwrapper.h, main/compile.tab.C: removed most of the + clang compiler warnings (closes issue #1018) + + * src/include/pa_string.h: String::Body comparation operators with + char * added (related to issue #958) + +2015-04-07 moko + + * src/main/compile.tab.C: YYMALLOC/YYFREE defined to + pa_malloc/pa_free to remove system malloc/free usage (related to + issue #1018) + + * src/: classes/table.C, classes/xdoc.C, doc/memory.dox, + include/pa_hash.h, include/pa_memory.h, lib/gd/gif.C, + lib/gd/gif.h, lib/smtp/smtp.C, main/compile.y, main/pa_charset.C, + main/pa_http.C, main/pa_request.C, main/pa_string.C, + main/pa_xml_io.C, targets/apache/mod_parser3_core.C, + types/pa_vconsole.h, types/pa_vdouble.h, types/pa_vfile.C, + types/pa_vform.C, types/pa_vint.h: new(UseGC) replaced with new, + malloc/strdup/free replaced with pa_ version and checks for + accidental use of non-pa_ version added (related to issue #1018) + +2015-04-03 moko + + * buildall: pcre-8.33 -> pcre-8.36 + + * src/: main/compile.y, classes/form.C, classes/mail.C, + classes/op.C, classes/string.C, main/compile.tab.C, + main/compile_tools.C, main/pa_http.C, main/pa_request.C, + main/pa_sql_driver_manager.C, types/pa_vfile.C, + types/pa_vhashfile.C: C++11 compilation errors fixed (related to + ticket #958) + + * src/: classes/file.C, include/pa_common.h, include/pa_sapi.h, + main/pa_common.C, main/pa_http.C, main/pa_request.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_venv.C, types/pa_vform.C, + types/pa_vform.h, types/pa_vrequest.C, types/pa_vrequest.h: + $request:headers, $request:method added (implements feature + #1007) + +2015-03-17 misha + + * tests/302.html: - test for + ^json:string[...;$._default[method-name]] + + * src/: classes/json.C, types/pa_value.C, types/pa_value.h, + types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.C: - if + option $._default[method-name] is specified in ^json:string[], a + method with specified name will be called for classes/objects + serialization ( new feature: #982 ) + +2015-03-16 misha + + * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, types/pa_vconsole.h, + types/pa_vcookie.C, types/pa_vcookie.h, types/pa_venv.C, + types/pa_venv.h, types/pa_vform.C, types/pa_vform.h, + types/pa_vhashfile.h, types/pa_vjunction.C, types/pa_vjunction.h, + types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.h, + types/pa_vmemory.h, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vregex.C, types/pa_vrequest.C, + types/pa_vrequest.h, types/pa_vstateless_class.C, + types/pa_vstateless_class.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h: - $var.CLASS & + $var.CLASS_NAME now have special opcodes. This can be switched + off by commenting #define OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL + on pa_opcode.h ( new feature: #844 ) + +2015-03-15 misha + + * tests/075.html: - test for $response:header[] + + * src/types/pa_vresponse.C: - $response:header[] deletes header + that was set earlie ( new feature: #1001 ) + +2015-03-12 misha + + * tests/246.html: - more tests for ^hash._at[] + + * src/: classes/hash.C, include/pa_hash.h: - ^хэш._at[...] now + accepts second param [key|value|hash] ( new feature: #1012 ) + +2015-03-09 moko + + * src/types/pa_vmail.C: exception for everything but + $mail:received, closes issue #1011 + +2015-02-20 moko + + * tests/: 275.html, results/275.processed: hex detection in + pa_atoui fix test (closes issue #1010) + + * src/main/pa_string.C: hex detection in pa_atoui fixed (closes + issue #1010) + +2015-02-17 moko + + * src/types/pa_vmail.C: closes issue #1009 - mail content should be + tainted. + +2015-02-03 misha + + * tests/301.html: - test for ^json:string($double) causes + exception. bugfix: #1008 + + * src/classes/json.C: - ^json:string($double) causes exception. + bugfix: #1008 + + * tests/014.html: - updated for work with ^hash.delete[] + +2015-01-12 misha + + * src/: classes/form.C, include/pa_common.h, + include/pa_request_info.h, main/pa_common.C, types/pa_vform.C, + types/pa_vform.h: - supports body with PUT method as well ( new + feature: #1006 ) + + * src/classes/file.C: - warnings war + +2015-01-11 misha + + * tests/300.html: - test for ^hash.delete[] is added + + * src/classes/hash.C: - ^hash.delete[] clear all hash ( new + feature: #989 ) - tiny optimization in intersects + +2015-01-06 moko + + * src/types/pa_vmail.C: file names transcode added, to and cc added + with transcode, attachments detection fixed + + * src/main/pa_request.C: filling mail received after cgi/auto.p + load to allow charset switch (related to issue #996) + +2014-12-31 moko + + * src/types/pa_vmail.C: from and subject now transcoded if not + UTF-8 source charset (fixes issue 996) + + * src/main/pa_exception.C: fixed string from stack bug (closes + issue #1000) + +2014-12-11 misha + + * src/types/pa_vhashfile.C: - check if key is not empty before + access ( bug fix: #1005 ) + +2014-11-13 misha + + * src/main/compile.y: - PC.append does not reset to false while + creating a new class. bugfix: #990 + + * tests/299.html: - test for creation class after working with + partial class (create+append) + + * src/types/pa_vobject.C: - @GET[def] always returns true. bugfix: + #995 + + * tests/232.html: - test for @get[def] added + +2014-10-12 moko + + * src/lib/pcre/pcre_internal.vcproj: correct path + + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/ltdl/ltdl.vcproj, lib/md5/md5.vcproj, + lib/pcre/pcre_internal.vcproj, main/main.vcproj, + targets/apache/ApacheModuleParser3.vcproj, + targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + types/types.vcproj: project GUID inserted in *.vcproj for correct + conversion in newer VS versions + + * parser3.sln, src/lib/pcre/pcre_internal.vcproj: + pcre_internal.vcproj added + +2014-08-28 moko + + * src/lib/pcre/: Makefile.am, pa_pcre_chartables.c, + pa_pcre_internal.h, pa_pcre_valid_utf8.c: _pcre_default_tables + and pcre_valid_utf are copied to parser3 code (fixes issue #991) + +2014-06-30 misha + + * tests/298.html: - tests for ^reflection:def[class;className] + added + + * src/classes/reflection.C: - ^reflection:def[class;className] + added ( new feature: #918 ) + +2014-06-29 misha + + * src/classes/table.C: - ^table::create[unsupported data] - + exception comment changed to "body must be table or code" ( bug + fix: #951 ) + + * tests/: 261.html, results/261.processed: - tests for + ^json:string[...;$.void[null|string]] added + + * src/: classes/json.C, types/pa_value.h, types/pa_vvoid.h: - new + option $.void[string|null] added to ^json:string[...] ( new + feature: #952 ) + +2014-06-28 moko + + * src/classes/curl.C: $.charset now processed before other curl + options (closes issue #980) + +2014-05-23 misha + + * src/classes/json.C: - bug fix: #987 + +2014-05-04 misha + + * tests/: 253.html, 253_json.txt: - test for + ^json:parse[$.int(false)] is added + + * src/classes/json.C: - To ^json:parse[] added option $.int(bool, + default true). The option is similar to $.double(bool) but for + integers. + +2014-05-01 moko + + * src/classes/file.C: "PARSER_VERSION" -> PARSER_VERSION ( bugfix: + #12 ) + +2014-04-16 moko + + * src/main/pa_http.C: response-charset option should finally work + now (fix for issue #867) + + * src/main/pa_http.C: response-charset option should work now (fix + for issue #867) + +2014-03-07 moko + + * buildall: libgc moved + + * buildall: libgc moved + +2013-12-29 moko + + * src/classes/string.C: ^string:js-unescape result now tainted, + closes issue #966 + + * tests/: 186.html, results/186.processed: ^string:js-unescape + result now tainted, issue #966 + +2013-12-03 moko + + * src/: classes/memcached.C, types/pa_vmemcached.C, + types/pa_vmemcached.h: memcached open $.skip-connect(true|false) + option was added for http://www.parser.ru/forum/?id=79343 + + * src/classes/file.C: bugfix for + http://www.parser.ru/forum/?id=79337 + +2013-11-05 moko + + * configure.in, src/include/pa_version.h: 3.4.3 -> 3.4.4b + + * src/main/pa_globals.C: spelling fixed + 2013-10-29 moko * src/lib/json/json.vcproj: json.c -> pa_json.C @@ -59,10 +5788,6 @@ main/pa_stylesheet_connection.C: forgotten to be replaced XmlException is now replaced (once again closes issue #938) -2013-10-19 misha - - * bin/auto.p.dist.in: - more mime-types are added - 2013-10-18 moko * buildall: disable clock_gettime detection to avoid librt linking @@ -361,8 +6086,6 @@ * src/types/pa_vmemcached.C: LT_MODULE_EXT used - * bin/auto.p.dist.in: libpq.so -> libpq. - * src/classes/curl.C: LT_MODULE_EXT used * src/include/pa_config_fixed.h: LT_MODULE_EXT defined @@ -481,10 +6204,6 @@ 2013-07-07 moko - * bin/auto.p.dist.in: windows-1251 commented to remove auto.p - dependense from $charsetsdir directory existance and content (and - UTF-8 is default allready) - * AUTHORS: + misha + moko. :) 2013-07-06 moko @@ -934,8 +6653,6 @@ * src/targets/apache/Makefile.am: updated for libtool usage - * bin/auto.p.dist.in: .cfg removed from charset names. - * buildall-without-xml: --with-included-ltdl added * buildall-without-xml: sync with buildall-with-xml @@ -1029,10 +6746,6 @@ debian/patches/101_pcre.patch - local copy of pcre_internal.h extracts now used old trash removed - * bin/auto.p.dist.in: all charsets are listed, utf-8 by default, - rare charsets/drivers are commented, sql driver quessing removed - (debian/patches/103_auto_p.patch) - * etc/parser3.charsets/Makefile.am: charsets now in share (debian/patches/104_automake.patch) + all charsets are copied @@ -5594,8 +11307,6 @@ 2007-02-20 misha - * bin/auto.p.dist.in: - added lines for sqlite - * configure.in: - added some strings for sqlite detection 2007-02-19 misha @@ -5855,11 +11566,6 @@ * src/classes/file.C: - empty args in file::exec removed now -2006-09-11 misha - - * bin/auto.p.dist.in: - 2 errors were fixed - table::set was - replaced to table::create - some changes in text/code formatting - 2006-09-03 paf * src/classes/file.C: proper tainting of @@ -5915,9 +11621,8 @@ src/types/pa_vhashfile.C, src/types/pa_vhashfile.h, src/types/pa_vmail.C, src/types/pa_vresponse.C, src/types/pa_vstatus.C, src/types/types.vcproj, - tests/descript.ion, www/htdocs/_bug.html, www/htdocs/_bug.xsl: + - ^break[] ^continue[], in ^for, ^while, ^menu, - ^hash/hashfile.foreach + tests/descript.ion: + ^break[] ^continue[], in ^for, ^while, + ^menu, ^hash/hashfile.foreach * gnu.vcproj, parser3.sln, src/classes/classes.vcproj, src/classes/file.C, src/classes/hash.C, src/classes/image.C, @@ -5943,12 +11648,12 @@ src/types/pa_value.h, src/types/pa_vcookie.C, src/types/pa_vmail.C, src/types/pa_vresponse.C, src/types/pa_vstatus.C, src/types/types.vcproj, - tests/descript.ion, www/htdocs/_bug.html, www/htdocs/_bug.xsl: ! - switched to VS2005 (projects and object.for_each(, info)) + $response:field[] setting void means - removing + grammar $name` name stops now, for mysql `$field` + - started ^break[] ^continue[], in ^for. TODO: to other iterators - (while, menu, foreach) + all log messages += [uri=, method=, cl=] + tests/descript.ion: ! switched to VS2005 (projects and + object.for_each(, info)) + + $response:field[] setting void means removing + grammar $name` + name stops now, for mysql `$field` + started ^break[] + ^continue[], in ^for. TODO: to other iterators (while, menu, + foreach) + all log messages += [uri=, method=, cl=] * buildall-with-xml: merged . ftp paths update @@ -6021,7 +11726,7 @@ src/lib/ltdl/acinclude.m4, src/lib/ltdl/config.guess, src/lib/ltdl/config.sub, src/lib/ltdl/configure.in, src/lib/ltdl/install-sh, src/lib/ltdl/ltmain.sh, - src/lib/ltdl/missing, www/htdocs/_bug.html: . merged from 3.2.1 + src/lib/ltdl/missing: . merged from 3.2.1 * Makefile.am, src/lib/ltdl/Makefile.am: . now site.m4 also packaged when 'make dist', so do configure companion files in @@ -6055,14 +11760,12 @@ 2005-12-21 paf - * src/main/compile.tab.C, src/main/main.vcproj, - www/htdocs/_bug.html: . win32: grammar is now compiled with bison - 1.875b, it reports unexpected token names + * src/main/: compile.tab.C, main.vcproj: . win32: grammar is now + compiled with bison 1.875b, it reports unexpected token names 2005-12-19 paf - * src/main/compile.tab.C, src/types/pa_vxnode.h, - www/htdocs/_bug.html, www/htdocs/_bug.xsl: ! bugfix xnode now + * src/: main/compile.tab.C, types/pa_vxnode.h: ! bugfix xnode now holds a link to xmlNode to prevent premature gc(xmlNode) * src/classes/classes.vcproj, src/include/pa_config_fixed.h, @@ -6158,9 +11861,8 @@ tests/results/143.processed, tests/results/144.processed, tests/results/145.processed, tests/results/146.processed, tests/results/147.processed, tests/results/148.processed, - tests/results/149.processed, www/htdocs/_bug.html: . removed - .nodeValue from all node types other than 5 (grabbed piece from - gdome) + tests/results/149.processed: . removed .nodeValue from all node + types other than 5 (grabbed piece from gdome) * tests/: 137.html, results/137.processed: . not handled this case yet. code does not hang from inserting parent into child, @@ -6174,17 +11876,13 @@ 2005-12-16 paf - * tests/146.html, tests/147.html, tests/148.html, - www/htdocs/_bug.html: . more tests + * tests/: 146.html, 147.html, 148.html: . more tests * src/classes/xnode.C: . also bark on possible errors * src/types/: pa_vxdoc.C, pa_vxnode.C, pa_vxnode.h: + xdoc DOM props - * www/htdocs/_bug.html: ! fixed overoptimized ^call(false) case. - (confused it with ^call[] case) - * src/: types/pa_value.h, types/pa_vvoid.h, main/compile.tab.C, main/compile.y: merged from HEAD ! fixed overoptimized ^call(false) case. (confused it with ^call[] case) @@ -6273,20 +11971,16 @@ * INSTALL, configure.in, src/lib/Makefile.am: . sweetest part [no glib/gdome in INSTALL and patches] - * src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h, - src/include/pa_charset.h, src/include/pa_config_includes.h, - src/include/pa_globals.h, src/include/pa_memory.h, - src/include/pa_request.h, src/include/pa_xml_exception.h, - src/lib/cord/Makefile.am, src/lib/cord/cord.vcproj, - src/lib/cord/cordbscs.c, src/lib/cord/cordprnt.c, - src/lib/cord/cordxtra.c, src/main/compile.tab.C, - src/main/pa_charset.C, src/main/pa_globals.C, - src/main/pa_memory.C, src/main/pa_request.C, - src/main/pa_stylesheet_connection.C, src/main/pa_xml_exception.C, - src/types/pa_vxdoc.C, src/types/pa_vxdoc.h, - src/types/pa_vxnode.C, src/types/pa_vxnode.h, - www/htdocs/.htaccess, www/htdocs/_bug.html: . started killing - gdome + * src/: classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_charset.h, include/pa_config_includes.h, + include/pa_globals.h, include/pa_memory.h, include/pa_request.h, + include/pa_xml_exception.h, lib/cord/Makefile.am, + lib/cord/cord.vcproj, lib/cord/cordbscs.c, lib/cord/cordprnt.c, + lib/cord/cordxtra.c, main/compile.tab.C, main/pa_charset.C, + main/pa_globals.C, main/pa_memory.C, main/pa_request.C, + main/pa_stylesheet_connection.C, main/pa_xml_exception.C, + types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, + types/pa_vxnode.h: . started killing gdome 2005-12-13 paf @@ -6319,8 +12013,7 @@ src/main/pa_charset.C, src/main/pa_common.C, src/main/pa_globals.C, src/main/pa_string.C, src/targets/cgi/getopt.c, src/targets/isapi/parser3isapi.C, - src/types/pa_vmail.C, www/htdocs/.htaccess, www/htdocs/_bug.txt, - www/htdocs/auto.p: . merged latest fixes from 3.2.0 + src/types/pa_vmail.C: . merged latest fixes from 3.2.0 2005-12-08 paf @@ -6340,13 +12033,10 @@ * src/targets/isapi/parser3isapi.C: . merged from 3.1.5 release link fixes - * src/classes/date.C, src/include/pa_config_fixed.h, - src/main/compile.tab.C, src/main/compile.y, - src/main/compile_tools.h, src/main/pa_charset.C, - src/main/pa_common.C, src/main/pa_globals.C, - src/main/pa_string.C, src/targets/cgi/getopt.c, - www/htdocs/_bug.html, www/htdocs/_bug.txt, www/htdocs/auto.p: . - less warnings + * src/: classes/date.C, include/pa_config_fixed.h, + main/compile.tab.C, main/compile.y, main/compile_tools.h, + main/pa_charset.C, main/pa_common.C, main/pa_globals.C, + main/pa_string.C, targets/cgi/getopt.c: . less warnings * src/include/pa_config_fixed.h: . removed outdated string origins [in current storage scheme there's no place for them. someday we @@ -6425,8 +12115,7 @@ * src/classes/op.C: merged from HEAD + ^while(){}[SEPARATOR] - * src/classes/op.C, www/htdocs/_bug.html, www/htdocs/auto.p: + - ^while(){}[SEPARATOR] + * src/classes/op.C: + ^while(){}[SEPARATOR] * src/include/pa_array.h: + optimistics added: all arrays (table rows) now grow size*=2, like in .NET ArrayList.EnsureCapacity, @@ -6456,9 +12145,8 @@ * configure.in: + trying to find glib2-config - * src/classes/file.C, src/include/pa_common.h, src/main/execute.C, - src/main/pa_common.C, src/main/pa_request.C, - www/htdocs/_bug.html: merged from HEAD: ! changed + * src/: classes/file.C, include/pa_common.h, main/execute.C, + main/pa_common.C, main/pa_request.C: merged from HEAD: ! changed file/dir_readable to simple file/dir_exist, this would help in situations "class not found because .p file has bad rights" << in that case error would be explicit "access denied to 'this' file" @@ -6478,8 +12166,7 @@ $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be encoded in $.charset charset - * src/classes/file.C, www/htdocs/_bug.html, www/htdocs/_bug.pl, - www/htdocs/_bug.txt: +! ^file::exec/cgi[script;$.charset[changed] + * src/classes/file.C: +! ^file::exec/cgi[script;$.charset[changed] $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be encoded in $.charset charset @@ -6506,18 +12193,16 @@ * src/classes/op.C: merged from HEAD: + $exception.handled[cache] now reports original exception if we have no old cache - * src/classes/op.C, www/htdocs/_bug.html: + - $exception.handled[cache] now reports original exception if we - have no old cache - - * src/classes/op.C, src/include/pa_string.h, src/main/untaint.C, - www/htdocs/_bug.html: merged from HEAD: + ^taint/untaint[regex] - << escapes these: \^$.[]|()?*+{} + * src/classes/op.C: + $exception.handled[cache] now reports + original exception if we have no old cache - * src/classes/op.C, src/include/pa_string.h, src/main/untaint.C, - www/htdocs/_bug.html: + ^taint/untaint[regex] << escapes these: + * src/: classes/op.C, include/pa_string.h, main/untaint.C: merged + from HEAD: + ^taint/untaint[regex] << escapes these: \^$.[]|()?*+{} + * src/: classes/op.C, include/pa_string.h, main/untaint.C: + + ^taint/untaint[regex] << escapes these: \^$.[]|()?*+{} + * src/types/pa_vdate.h: ! date TZ save/restore stored pointer to getenv-ed variable, which does not work both on win32&unix. copied old TZ value now @@ -6533,15 +12218,15 @@ * src/types/pa_vresponse.C: merged from HEAD: + $response:headers access to internal hash - * src/types/pa_vresponse.C, www/htdocs/_bug.html: + - $response:headers access to internal hash + * src/types/pa_vresponse.C: + $response:headers access to internal + hash * src/targets/isapi/parser3isapi.C: merged from HEAD: + GC_large_alloc_warn_suppressed=0 between requests [apache mod_, isapi] this reduces number of "GC Warning: Repeated allocation of very large block" messages to only important onces - * src/targets/isapi/parser3isapi.C, www/htdocs/_bug.html: + + * src/targets/isapi/parser3isapi.C: + GC_large_alloc_warn_suppressed=0 between requests [apache mod_, isapi] this reduces number of "GC Warning: Repeated allocation of very large block" messages to only important onces @@ -6558,29 +12243,26 @@ * src/main/pa_common.C: + removed "use either uri with ?params or $.form option" limitation - * src/classes/file.C, src/classes/string.C, - src/include/pa_common.h, src/main/pa_common.C, - www/htdocs/_bug.html: merged from HEAD: + ^file.base64[] encode + + * src/: classes/file.C, classes/string.C, include/pa_common.h, + main/pa_common.C: merged from HEAD: + ^file.base64[] encode + ^file::base64[encoded] decode - * src/classes/file.C, src/classes/string.C, - src/include/pa_common.h, src/main/pa_common.C, - www/htdocs/_bug.html: + ^file.base64[] encode + + * src/: classes/file.C, classes/string.C, include/pa_common.h, + main/pa_common.C: + ^file.base64[] encode + ^file::base64[encoded] decode - * src/classes/file.C, src/classes/string.C, www/htdocs/_bug.html: + - ^string.base64[] encode + ^string:base64[encoded] decode + * src/classes/: file.C, string.C: + ^string.base64[] encode + + ^string:base64[encoded] decode - * src/classes/string.C, src/include/pa_common.h, - src/main/pa_common.C, www/htdocs/_bug.html: + ^string:base64[in] - encode + ^string.base64[] decode + * src/: classes/string.C, include/pa_common.h, main/pa_common.C: + + ^string:base64[in] encode + ^string.base64[] decode 2005-11-21 paf - * src/classes/file.C, www/htdocs/_bug.html: + merged from HEAD: + * src/classes/file.C: + merged from HEAD: ^file::create[text;file.xml;^untaint[xml]{data}] - * src/classes/file.C, www/htdocs/_bug.html: + + * src/classes/file.C: + ^file::create[text;file.xml;^untaint[xml]{data}] * src/main/pa_request.C: ! merged: $response:body[file] now @@ -6601,19 +12283,16 @@ types/pa_vmethod_frame.h: + merged: expression literals: true/false. ^format[$.indent(true)] - * src/main/compile.tab.C, src/main/compile.y, src/types/pa_value.h, - src/types/pa_vbool.h, src/types/pa_vdouble.h, - src/types/pa_vint.h, src/types/pa_vmethod_frame.h, - www/htdocs/_bug.html: + expression literals: true/false. + * src/: main/compile.tab.C, main/compile.y, types/pa_value.h, + types/pa_vbool.h, types/pa_vdouble.h, types/pa_vint.h, + types/pa_vmethod_frame.h: + expression literals: true/false. ^format[$.indent(true)] - * src/types/Makefile.am, src/types/pa_venv.C, src/types/pa_venv.h, - src/types/types.vcproj, www/htdocs/_bug.html, - www/htdocs/_bug.txt: + merged: $env:PARSER_VERSION reports - "3.1.5beta (compiled on i386-pc-win32)" + * src/types/: Makefile.am, pa_venv.C, pa_venv.h, types.vcproj: + + merged: $env:PARSER_VERSION reports "3.1.5beta (compiled on + i386-pc-win32)" - * src/types/Makefile.am, src/types/pa_venv.C, src/types/pa_venv.h, - src/types/types.vcproj, www/htdocs/_bug.html: + + * src/types/: Makefile.am, pa_venv.C, pa_venv.h, types.vcproj: + $env:PARSER_VERSION reports "3.1.5beta (compiled on i386-pc-win32)" @@ -6622,9 +12301,6 @@ * src/classes/: double.C, int.C: ! ^int/double:sql{select null}[$.default(123)] will now return default value - * www/htdocs/_bug.html: + ^cache[] << returns current cache - expiration time - * src/classes/op.C: + merged ^cache[] << returns current cache expiration time @@ -6643,9 +12319,8 @@ * src/main/pa_common.C: ! file::load[binary;fileOfZeroSize] now loads VFile.ptr!=0, so such files can be saved now - * src/include/pa_dir.h, www/htdocs/_bug.html, www/htdocs/_bug.txt: - ! merged: file:list now sees .xxx files, only . and .. now - removed from list [were removed all .*] + * src/include/pa_dir.h: ! merged: file:list now sees .xxx files, + only . and .. now removed from list [were removed all .*] * src/include/pa_dir.h: ! file:list now sees .xxx files, only . and .. now removed from list [were removed all .*] @@ -6676,11 +12351,10 @@ 2005-11-16 paf - * src/include/pa_common.h, src/classes/file.C, src/classes/table.C, - src/main/compile.tab.C, src/main/pa_common.C, - www/htdocs/_bug.html: merged to HEAD: ! table::save with - enclosers now doubles them: "->"" ! table::save/load do not - remove elements from options hash + * src/: include/pa_common.h, classes/file.C, classes/table.C, + main/compile.tab.C, main/pa_common.C: merged to HEAD: ! + table::save with enclosers now doubles them: "->"" ! + table::save/load do not remove elements from options hash * src/main/compile.y: ! merged to HEAD: ^if(-f "...") now works [were overoptimized ^if(double_literal), compiler confused @@ -6690,10 +12364,9 @@ [were overoptimized ^if(double_literal), compiler confused OP_VALUE+origin+double with OP_STRINGPOOL+code+OP_writeXX - * src/classes/file.C, src/classes/table.C, src/include/pa_common.h, - src/main/pa_common.C, www/htdocs/_bug.html: ! table::save with - enclosers now doubles them: "->"" ! table::save/load do not - remove elements from options hash + * src/: classes/file.C, classes/table.C, include/pa_common.h, + main/pa_common.C: ! table::save with enclosers now doubles them: + "->"" ! table::save/load do not remove elements from options hash 2005-11-03 paf @@ -6708,11 +12381,9 @@ 2005-08-26 paf - * src/classes/date.C, src/types/pa_vdate.h, www/htdocs/_bug.html: - merged + date.week + * src/: classes/date.C, types/pa_vdate.h: merged + date.week - * src/classes/date.C, src/types/pa_vdate.h, www/htdocs/_bug.html: + - date.week + * src/: classes/date.C, types/pa_vdate.h: + date.week * src/classes/table.C: merged ! ^table::create[bad]{xxx} now complains about bad!=nameless @@ -6724,11 +12395,10 @@ optional options were allowed to be empty. were checked if(is_string), changed to !defined||is_string to allow void - * src/targets/isapi/parser3isapi.C, www/htdocs/_bug.html, - src/classes/hash.C, src/classes/string.C, src/classes/table.C, - src/classes/void.C: ! optional options were allowed to be empty. - were checked if(is_string), changed to !defined||is_string to - allow void + * src/: targets/isapi/parser3isapi.C, classes/hash.C, + classes/string.C, classes/table.C, classes/void.C: ! optional + options were allowed to be empty. were checked if(is_string), + changed to !defined||is_string to allow void * src/types/pa_vmethod_frame.h: merged ! many classes/* used as_junction where they needed as_int/double, so failed with @@ -6739,12 +12409,11 @@ as_int/double, so failed with recent "(const) now no junction" optimization - * src/classes/double.C, src/classes/int.C, src/classes/math.C, - src/classes/op.C, src/classes/string.C, src/classes/table.C, - src/main/compile.tab.C, src/types/pa_vmethod_frame.h, - www/htdocs/_bug.html: ! many classes/* used as_junction where - they needed as_int/double, so failed with recent "(const) now no - junction" optimization + * src/: classes/double.C, classes/int.C, classes/math.C, + classes/op.C, classes/string.C, classes/table.C, + main/compile.tab.C, types/pa_vmethod_frame.h: ! many classes/* + used as_junction where they needed as_int/double, so failed with + recent "(const) now no junction" optimization 2005-08-24 paf @@ -6757,9 +12426,6 @@ * src/types/pa_wcontext.h: ! bugfix in_expression bit field were not cleared - * www/htdocs/: _bug.html, _bug.pl, _bug.txt: . file::exec $charset - transcodes env fine - * src/: classes/classes.C, classes/classes.h, classes/date.C, classes/double.C, classes/file.C, classes/form.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/int.C, @@ -6830,13 +12496,11 @@ * src/: classes/file.C, main/pa_exec.C: + file::cgi/exec now params: 50 max (were 10) - * src/types/pa_value.h, src/types/pa_vdouble.h, - src/types/pa_vint.h, src/types/pa_vmethod_frame.h, - src/types/pa_vvoid.C, src/types/pa_vvoid.h, - src/types/pa_wcontext.C, src/types/pa_wcontext.h, - www/htdocs/.htaccess, www/htdocs/_bug.html: + ^call[$void] param - inside now is void (were: empty string) ! simplified (double) - speedup consequent checks in vmethod_frame + * src/types/: pa_value.h, pa_vdouble.h, pa_vint.h, + pa_vmethod_frame.h, pa_vvoid.C, pa_vvoid.h, pa_wcontext.C, + pa_wcontext.h: + ^call[$void] param inside now is void (were: + empty string) ! simplified (double) speedup consequent checks in + vmethod_frame * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: merged + optimized constants in expressions vstring->vdouble + optimized @@ -6844,17 +12508,10 @@ 2005-08-08 paf - * bin/auto.p.dist.in: merged . apache bad 404 handling workaround - integrated - - * bin/auto.p.dist.in: . apache bad 404 handling workaround - integrated - - * src/main/compile.tab.C, src/main/compile.y, - src/main/compile_tools.C, src/main/compile_tools.h, - www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/_bug.xml: - merged + optimized constants in expressions vstring->vdouble + - optimized ^call(vdouble), no junction creation, no calls later + * src/main/: compile.tab.C, compile.y, compile_tools.C, + compile_tools.h: merged + optimized constants in expressions + vstring->vdouble + optimized ^call(vdouble), no junction + creation, no calls later * src/types/pa_vdouble.h: merged . double values without fractional part now default printed as %.0f instead of %g @@ -6862,31 +12519,23 @@ * src/types/pa_vdouble.h: . double values without fractional part now default printed as %.0f instead of %g - * www/htdocs/: _bug.html, _bug.xml: . merged ! second - hashfile::open would cause an exception - * src/classes/hashfile.C: . merged ! second hashfile::open would cause an exception * src/classes/hashfile.C: ! second hashfile::open would cause an exception - * src/classes/classes.h, src/main/execute.C, - src/types/pa_junction.h, src/types/pa_value.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_vhash.h, src/types/pa_vhashfile.h, - src/types/pa_vimage.C, src/types/pa_vimage.h, - src/types/pa_vjunction.h, src/types/pa_vmethod_frame.h, - src/types/pa_vobject.C, src/types/pa_vobject.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_object.h, src/types/pa_vvoid.h, - src/types/pa_vxnode.C, src/types/pa_vxnode.h, - src/types/pa_wwrapper.h, www/htdocs/_bug.html, www/htdocs/_bug.p: - . merged VJunction(new Junction) optimization from 3.1.4 + * src/: classes/classes.h, main/execute.C, types/pa_junction.h, + types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_vhash.h, types/pa_vhashfile.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vjunction.h, + types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, + types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.C, + types/pa_vresponse.h, types/pa_vstateless_class.C, + types/pa_vstateless_object.h, types/pa_vvoid.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: . + merged VJunction(new Junction) optimization from 3.1.4 * src/: main/execute.C, types/pa_junction.h, types/pa_vjunction.h, types/pa_vstateless_class.C: + optimized new VJunction(new @@ -6966,20 +12615,13 @@ 2005-07-29 paf - * src/types/pa_vclass.C, www/htdocs/_bug.p: . shaped up error - messages a bit - - * src/types/pa_vclass.C, www/htdocs/_bug_derived.p: + property - getter can now be overridden + * src/types/pa_vclass.C: . shaped up error messages a bit - * src/main/execute.C, src/types/pa_vclass.C, - src/types/pa_vobject.C, www/htdocs/_bug.p, - www/htdocs/_bug_derived.p: ! bug fix: static parent fields were - not replaced in case $derived:field[put] + property setter can - now be overridden + * src/types/pa_vclass.C: + property getter can now be overridden - * www/htdocs/: _bug.html, _bug.p, _bug_derived.p: + removed limit - "ctor must be declared in class being created" + * src/: main/execute.C, types/pa_vclass.C, types/pa_vobject.C: ! + bug fix: static parent fields were not replaced in case + $derived:field[put] + property setter can now be overridden 2005-07-28 paf @@ -7003,28 +12645,22 @@ src/types/pa_vstateless_class.h, src/types/pa_vstateless_object.h, src/types/pa_vvoid.h, src/types/pa_vxnode.C, src/types/pa_vxnode.h, - src/types/pa_wwrapper.h, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.p, www/htdocs/_bug.pl, - www/htdocs/_bug.sh, www/htdocs/auto.p: + 3.2.0 beta: merged from + src/types/pa_wwrapper.h: + 3.2.0 beta: merged from dynamic_fields_join - * src/classes/hash.C, src/classes/hashfile.C, src/classes/op.C, - src/classes/xnode.C, src/include/pa_hash.h, src/main/execute.C, - src/types/pa_method.h, src/types/pa_value.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_vhash.h, src/types/pa_vhashfile.h, - src/types/pa_vimage.C, src/types/pa_vimage.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.C, - src/types/pa_vobject.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_object.h, - src/types/pa_vvoid.h, src/types/pa_vxnode.C, - src/types/pa_vxnode.h, src/types/pa_wwrapper.h, - www/htdocs/.htaccess, www/htdocs/auto.p: ! restored - put_element('replace' param), and restored its checks in - vobject.put_element->static fields | dynamic properties + * src/: classes/hash.C, classes/hashfile.C, classes/op.C, + classes/xnode.C, include/pa_hash.h, main/execute.C, + types/pa_method.h, types/pa_value.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vconsole.h, + types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vhash.h, + types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h, + types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, + types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.C, + types/pa_vresponse.h, types/pa_vstateless_object.h, + types/pa_vvoid.h, types/pa_vxnode.C, types/pa_vxnode.h, + types/pa_wwrapper.h: ! restored put_element('replace' param), and + restored its checks in vobject.put_element->static fields | + dynamic properties 2005-07-27 paf @@ -7036,11 +12672,9 @@ * configure, configure.in, src/include/pa_version.h, src/types/Makefile.am: 3.2.0beta started - * src/classes/xnode.C, src/include/pa_hash.h, - src/types/pa_vstateless_class.C, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.p, www/htdocs/_bug.pl, - www/htdocs/_bug.sh, www/htdocs/auto.p: ! new asserts were all - false. regretfully reverted them all to checks + * src/: classes/xnode.C, include/pa_hash.h, + types/pa_vstateless_class.C: ! new asserts were all false. + regretfully reverted them all to checks * src/: classes/classes.h, classes/hash.C, classes/hashfile.C, classes/op.C, main/execute.C, types/pa_method.h, @@ -7055,13 +12689,12 @@ joined_dynamic_fields: removed unused param from put_method (returned to 3 params) - * src/include/pa_hash.h, src/types/pa_vclass.C, - src/types/pa_vclass.h, www/htdocs/_bug.html, www/htdocs/_bug.p: + * src/: include/pa_hash.h, types/pa_vclass.C, types/pa_vclass.h: joined_dynamic_fields: dynamic get/set works with overriding props [alpha2] - * src/types/pa_vclass.C, www/htdocs/_bug.html: - joined_dynamic_fields: dynamic get/set works [alfa] + * src/types/pa_vclass.C: joined_dynamic_fields: dynamic get/set + works [alfa] * src/: classes/classes.h, classes/hash.C, classes/hashfile.C, classes/op.C, include/pa_hash.h, main/execute.C, @@ -7085,41 +12718,33 @@ * src/types/pa_vobject.C: . object setters [only started, does not work yet] - * src/include/pa_hash.h, src/types/pa_vclass.C, - src/types/pa_vobject.C, www/htdocs/_bug.html, www/htdocs/_bug.p: - . object setters [only started, does not work yet] + * src/: include/pa_hash.h, types/pa_vclass.C, types/pa_vobject.C: . + object setters [only started, does not work yet] 2005-07-26 paf - * src/include/pa_request.h, src/main/execute.C, - www/htdocs/_bug.html: . properties: set works [alpha2]. for - classes. todo: for objects + * src/: include/pa_request.h, main/execute.C: . properties: set + works [alpha2]. for classes. todo: for objects - * src/classes/classes.h, src/include/pa_hash.h, src/main/execute.C, - src/types/pa_value.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_vhash.h, - src/types/pa_vhashfile.h, src/types/pa_vimage.C, - src/types/pa_vimage.h, src/types/pa_vmethod_frame.h, - src/types/pa_vobject.C, src/types/pa_vobject.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_object.h, src/types/pa_vvoid.h, - src/types/pa_vxnode.C, src/types/pa_vxnode.h, - src/types/pa_wwrapper.h, www/htdocs/_bug.html: . properties: set - works [alpha1] + * src/: classes/classes.h, include/pa_hash.h, main/execute.C, + types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_vhash.h, types/pa_vhashfile.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vrequest.C, + types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_object.h, types/pa_vvoid.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: . + properties: set works [alpha1] 2005-07-25 paf - * src/main/compile.C, src/types/pa_vclass.C, src/types/pa_vclass.h, - src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h, - www/htdocs/_bug.html: . properties: started, get works [alpha1, - other approach] + * src/: main/compile.C, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h: . + properties: started, get works [alpha1, other approach] - * src/main/compile.C, src/types/pa_vclass.C, src/types/pa_vclass.h, - www/htdocs/_bug.html, www/htdocs/_bug.p: . properties: started, - get works [alpha2] + * src/: main/compile.C, types/pa_vclass.C, types/pa_vclass.h: . + properties: started, get works [alpha2] * src/types/: pa_vclass.C, pa_vclass.h, pa_vstateless_class.C, pa_vstateless_class.h: . properties: started, get works [alpha] @@ -7142,8 +12767,8 @@ 2005-07-08 paf - * src/main/pa_request.C, www/htdocs/_bug.html: ! bugfix: - $response:body[nonfile] caused gpf + * src/main/pa_request.C: ! bugfix: $response:body[nonfile] caused + gpf 2005-06-28 paf @@ -7152,10 +12777,8 @@ 2005-06-06 paf - * src/classes/hash.C, src/classes/string.C, src/classes/table.C, - www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/_bug.pl, - www/htdocs/_bug.xsl: ! bugfix ^string:sql ^table:sql ^hash:sql - now DO process $.bind option + * src/classes/: hash.C, string.C, table.C: ! bugfix ^string:sql + ^table:sql ^hash:sql now DO process $.bind option 2005-05-24 paf @@ -7204,8 +12827,8 @@ 2005-03-16 paf - * INSTALL, www/htdocs/.htaccess, www/htdocs/_bug.html, - src/include/pa_stack.h: . compiled on freebsd 5.3 with gcc 3.4 + * INSTALL, src/include/pa_stack.h: . compiled on freebsd 5.3 with + gcc 3.4 * src/types/pa_vhash.C: . warning about eof eol @@ -7216,8 +12839,7 @@ 2005-02-02 paf - * src/classes/xnode.C, www/htdocs/_bug.html: beauty: removed - needless includes + * src/classes/xnode.C: beauty: removed needless includes 2005-01-31 paf @@ -7233,8 +12855,7 @@ 2005-01-20 paf - * configure.in, src/include/pa_version.h, www/htdocs/_bug.html: - version + * configure.in, src/include/pa_version.h: version 2005-01-19 paf @@ -7244,12 +12865,11 @@ 2004-12-23 paf - * src/main/pa_sql_driver_manager.C, www/htdocs/_bug.html: sql - connect string, rsplit @ + * src/main/pa_sql_driver_manager.C: sql connect string, rsplit @ - * src/main/pa_exec.C, www/htdocs/_bug.html: win32: bugfix: - file::cgi/exec now set current dir to directory of script (when - shbang used), not to directory of its interpreter + * src/main/pa_exec.C: win32: bugfix: file::cgi/exec now set current + dir to directory of script (when shbang used), not to directory + of its interpreter * src/include/pa_version.h: compiled on win32... @@ -7259,28 +12879,26 @@ * configure, configure.in, src/include/pa_version.h: configured host to pa_version. will be displayed everywhere - * src/main/pa_request.C, www/htdocs/_bug.html: new: - @unhandled_exception can prevent exception from being logged by - setting $exception.handled(1) + * src/main/pa_request.C: new: @unhandled_exception can prevent + exception from being logged by setting $exception.handled(1) - * operators.txt, src/classes/file.C, www/htdocs/_bug.html: change: + * operators.txt, src/classes/file.C: change: ^file::sql{query}[[options]] options: $.name[file name] $.content-type[application/what] - * src/include/pa_common.h, src/main/pa_common.C, - src/types/pa_vhashfile.C, www/htdocs/_bug.html: beauty: - hashfile::open now creates dir for new file - - * src/classes/table.C, src/types/pa_vhash.C, src/types/pa_vhash.h, - www/htdocs/_bug.html: bugfix: table->hash now regards _default - - * src/types/pa_vmethod_frame.h, www/htdocs/_bug.html: bugfix: when - method junction was created by accessing $name_of_method it - acquired bad self=closest methodframe; instead of proper self - (current class) + * src/: include/pa_common.h, main/pa_common.C, + types/pa_vhashfile.C: beauty: hashfile::open now creates dir for + new file + + * src/: classes/table.C, types/pa_vhash.C, types/pa_vhash.h: + bugfix: table->hash now regards _default - * src/types/pa_vhashfile.C, www/htdocs/_bug.html: bugfix: reading - empty string from hashfile produced bad cord + * src/types/pa_vmethod_frame.h: bugfix: when method junction was + created by accessing $name_of_method it acquired bad self=closest + methodframe; instead of proper self (current class) + + * src/types/pa_vhashfile.C: bugfix: reading empty string from + hashfile produced bad cord 2004-12-10 paf @@ -7299,14 +12917,12 @@ * src/main/pa_common.C: http: exception status of send/recv errors change to most probable http.timeout - * src/main/pa_common.C, www/htdocs/_bug.html: win32: http - connection $.timeout option now works [setsockopt on - send/receive] + * src/main/pa_common.C: win32: http connection $.timeout option now + works [setsockopt on send/receive] 2004-12-08 paf - * src/classes/mail.C, src/types/pa_vmail.C, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.xsl: bugfix: mail body now + * src/: classes/mail.C, types/pa_vmail.C: bugfix: mail body now cstr-ed knowing mail charset, and untainting uri lang now knows proper charset @@ -7343,10 +12959,9 @@ 2004-10-07 paf - * src/include/pa_config_fixed.h, src/include/pa_config_includes.h, - src/main/pa_globals.C, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.pl: debugger help: - PA_RELEASE_ASSERTS enables release asserts + * src/: include/pa_config_fixed.h, include/pa_config_includes.h, + main/pa_globals.C: debugger help: PA_RELEASE_ASSERTS enables + release asserts * src/: main/pa_string.C, include/pa_string.h: debugger help: String.dump() to stdout in detailed form [were String.v() in @@ -7397,28 +13012,23 @@ 2004-09-13 paf - * src/main/pa_string.C, www/htdocs/_bug.html: bugfix: $s[+008] - ^eval($s) now parsed OK [were as octal] + * src/main/pa_string.C: bugfix: $s[+008] ^eval($s) now parsed OK + [were as octal] - * src/types/pa_vhashfile.C, www/htdocs/_bug.html: beauty: not - reproduced $hashfile.key[$novalue] bug [reported by motorin], - inserted safety-check + * src/types/pa_vhashfile.C: beauty: not reproduced + $hashfile.key[$novalue] bug [reported by motorin], inserted + safety-check * src/types/pa_vhashfile.C: change: empty keys now error in parser [not something obscure from sdbm lib] - * src/types/pa_vhashfile.C, www/htdocs/_bug.html: bugfix: error - numbers now from errno.h = strerror now returnes something and we - can properly report that to client + * src/types/pa_vhashfile.C: bugfix: error numbers now from errno.h + = strerror now returnes something and we can properly report that + to client * src/lib/sdbm/sdbm_private.h: change: limit on length(key+value) now 8008 bytes, were 1008. perl sdbm compatibility now ruined - * www/htdocs/: _bug.html, _bug.xsl: change: ^xdoc.string now - outputted as-is [tainted as-is] this helps //[space][newline] to - remain as-is and not be unnecessary optimized away [ruining - javascript] - * src/classes/xdoc.C: change: ^xdoc.string now outputted as-is [tainted as-is] this helps //[space][newline] to remain as-is and not be unnecessary optimized away [ruining javascript] @@ -7448,19 +13058,18 @@ multipart/mixed multipart/related text/html image/xxx application/octet-stream << true attachments - * src/types/pa_vmail.C, www/htdocs/_bug.html: new: + * src/types/pa_vmail.C: new: ^mail:send[$.file[$.content-disposition can be overriden new: empty mail header fields removed from letter - * src/classes/mail.C, src/include/pa_config_fixed.h, - src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vmail.C, - www/htdocs/_bug.html: new: ^mail:send[ $.file[ - $.any[header] + * src/: classes/mail.C, include/pa_config_fixed.h, + types/pa_value.C, types/pa_value.h, types/pa_vmail.C: new: + ^mail:send[ $.file[ $.any[header] 2004-08-30 paf - * src/include/pa_config_fixed.h, src/main/pa_common.C, - www/htdocs/.htaccess, www/htdocs/_bug.html: beauty: less warnings + * src/: include/pa_config_fixed.h, main/pa_common.C: beauty: less + warnings * src/main/pa_common.C: beauty: do not bother with charset detection when ^file::load[binary @@ -7482,25 +13091,17 @@ * src/classes/file.C: bugfix: $f[^file::load[;http://]] $f.content-type now = that of http response -2004-08-03 paf - - * www/htdocs/: .htaccess, _bug.html: bugfix: empty input variables - can be replaced by output [forgot to allocate proper buffer, - oracle _server_ died with kgepop: no error frame to pop to for - error 21500 message] - 2004-07-30 paf - * src/include/pa_request.h, src/main/pa_request.C, - src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, - www/htdocs/.htaccess: bugfix: win32: system&parser exceptions in - release mode reported properly parser exception in exception - handler WERE mistakenly reported as system exception, without - details [in apache & isapi] +some beauty in exception text + * src/: include/pa_request.h, main/pa_request.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: bugfix: + win32: system&parser exceptions in release mode reported properly + parser exception in exception handler WERE mistakenly reported as + system exception, without details [in apache & isapi] +some + beauty in exception text - * src/include/pa_exception.h, src/main/pa_request.C, - src/targets/cgi/parser3.C, www/htdocs/.htaccess, - www/htdocs/_bug.html: bugfix: win32: system&parser exceptions in + * src/: include/pa_exception.h, main/pa_request.C, + targets/cgi/parser3.C: bugfix: win32: system&parser exceptions in release mode reported properly parser exception in exception handler WERE mistakenly reported as system exception, without details @@ -7509,7 +13110,7 @@ 2004-07-29 paf - * src/classes/table.C, www/htdocs/_bug.html: bugfix: + * src/classes/table.C: bugfix: ^table.save[export.csv;$.separator[^;]] now works fine [separator were ignored, and \t used unconditionally] @@ -7523,12 +13124,9 @@ types/pa_vmail.C: bugfix: isspace((unsigned char)c) everywhere. failed on russian letters - * src/main/pa_string.C, src/types/pa_vmail.C, www/htdocs/_bug.html, - src/main/pa_common.C: bugfix: isspace((unsigned char)c) - everywhere. failed on russian letters - - * www/htdocs/_bug.html: bugfix: win32: chdir not needed, dir - passwed as 'currentDirectory' parameter to CreateProcess + * src/: main/pa_string.C, types/pa_vmail.C, main/pa_common.C: + bugfix: isspace((unsigned char)c) everywhere. failed on russian + letters * src/main/pa_exec.C: bugfix: win32: chdir not needed, dir passwed as 'currentDirectory' parameter to CreateProcess @@ -7551,10 +13149,9 @@ * operators.txt, src/include/pa_common.h, src/main/pa_common.C, src/main/pa_request.C, src/types/pa_vfile.h, src/types/pa_vhash.C, src/types/pa_vhash.h, - src/types/types.vcproj, www/htdocs/_bug.html: new: - $response:body/download[ $.file[name on disk] $.name[of - file for user] $.mdate[date of last-modified. default from - directory] ] + src/types/types.vcproj: new: $response:body/download[ + $.file[name on disk] $.name[of file for user] + $.mdate[date of last-modified. default from directory] ] * src/classes/file.C: moving file:send somewhere else.. @@ -7567,8 +13164,8 @@ 2004-07-21 paf - * src/types/pa_vmail.C, www/htdocs/_bug.html: bugfix: too long - header values now splitted to several lines + * src/types/pa_vmail.C: bugfix: too long header values now splitted + to several lines were: header: vaaaaaaaaaaaalue now: header: vaaaaaa aaalue @@ -7594,10 +13191,9 @@ now untainted according to their languages. were: as-is. EVERYWHERE - * src/classes/file.C, src/main/pa_exec.C, www/htdocs/_bug.html, - www/htdocs/_bug.pl: bufix: on unix AND win32 environment string - now untainted according to their languages. were: as-is. - EVERYWHERE + * src/: classes/file.C, main/pa_exec.C: bufix: on unix AND win32 + environment string now untainted according to their languages. + were: as-is. EVERYWHERE * src/main/pa_exec.C: bufix: on unix environment string now untainted according to their languages. were: as-is. on win32: @@ -7605,8 +13201,7 @@ * parser3.vssscc: ...would not go unnoticed - * src/main/pa_charset.C, www/htdocs/.htaccess, - www/htdocs/_bug.html: convinience: transcodeFromUTF8 now never + * src/main/pa_charset.C: convinience: transcodeFromUTF8 now never fails. in case on input appears nonutf, those bytes will be printed in %HH form. that can be easily decoded/recovered. @@ -7620,18 +13215,17 @@ 2004-07-01 paf - * src/classes/classes.vcproj, src/lib/cord/cord.vcproj, - src/lib/gd/gd.vcproj, src/lib/ltdl/ltdl.vcproj, - src/lib/md5/md5.vcproj, src/lib/pcre/pcre.vcproj, - src/lib/pcre/pcre_dftables.vcproj, - src/lib/pcre/pcre_parser_ctype.vcproj, src/lib/smtp/smtp.vcproj, - src/main/main.vcproj, src/targets/cgi/parser3.vcproj, - src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj, - www/htdocs/.htaccess: win32: option: global optimization ON - - * src/main/untaint.C, www/htdocs/_bug.html: workaround kinda bug in - libxml: life requires to do xdoc::create{invalid chars} standard - disables chars less then \x20, except tab, cr, lf. + * src/: classes/classes.vcproj, lib/cord/cord.vcproj, + lib/gd/gd.vcproj, lib/ltdl/ltdl.vcproj, lib/md5/md5.vcproj, + lib/pcre/pcre.vcproj, lib/pcre/pcre_dftables.vcproj, + lib/pcre/pcre_parser_ctype.vcproj, lib/smtp/smtp.vcproj, + main/main.vcproj, targets/cgi/parser3.vcproj, + targets/isapi/parser3isapi.vcproj, types/types.vcproj: win32: + option: global optimization ON + + * src/main/untaint.C: workaround kinda bug in libxml: life requires + to do xdoc::create{invalid chars} standard disables chars less + then \x20, except tab, cr, lf. changed tainting so that those become '!' @@ -7644,37 +13238,25 @@ * src/types/pa_vhashfile.C: bugfix: hashfile deserialize accessed int on odd address -2004-06-23 paf - - * www/htdocs/_bug.html: checked: oracle: various ways of returning - error from stored proc. bad: no way of knowing which exactly - user-defined exception were thrown. good: - raise_application_error can return error message number and - string FINE good: PRAGMA EXCEPTION_INIT works good too - 2004-06-22 paf * src/sql/pa_sql_driver.h: note: about possible optimization - * www/htdocs/_bug.html: checked: in out variables OK - * operators.txt, src/classes/hash.C, src/classes/memory.C, src/classes/string.C, src/classes/table.C, src/classes/void.C, - src/include/pa_config_includes.h, www/htdocs/_bug.html: new: - ^void:sql{call paf(:a)}[ $.bind[ - $.a[2] ] ] output variables work. todo: - check in out variables + src/include/pa_config_includes.h: new: ^void:sql{call + paf(:a)}[ $.bind[ $.a[2] + ] ] output variables work. todo: check in out + variables 2004-06-18 paf - * src/classes/file.C, src/classes/hash.C, src/classes/string.C, - src/classes/table.C, src/classes/void.C, - src/include/pa_globals.h, src/include/pa_sql_connection.h, - src/main/compile.tab.C, src/sql/pa_sql_driver.h, - www/htdocs/.htaccess, www/htdocs/_bug.html: started: - ^void:sql{call paf(:a)}[ $.bind[ - $.a[2] ] ] input variables work. - todo:output + * src/: classes/file.C, classes/hash.C, classes/string.C, + classes/table.C, classes/void.C, include/pa_globals.h, + include/pa_sql_connection.h, main/compile.tab.C, + sql/pa_sql_driver.h: started: ^void:sql{call paf(:a)}[ + $.bind[ $.a[2] ] + ] input variables work. todo:output * src/targets/cgi/parser3.C: bugfix: iis specific http://parser3/_bug.html?404;http://hpsv/test/ now $request:uri @@ -7705,9 +13287,8 @@ * src/main/pa_string.C: beauty: removed 3 warnings - * src/include/pa_string.h, src/classes/table.C, src/main/untaint.C, - www/htdocs/_bug.html, src/classes/op.C: beauty: removed outdated - level 'table' + * src/: include/pa_string.h, classes/table.C, main/untaint.C, + classes/op.C: beauty: removed outdated level 'table' 2004-05-25 paf @@ -7723,13 +13304,12 @@ 2004-05-24 paf - * src/include/pa_string.h, src/lib/cord/cordbscs.c, - src/lib/cord/include/cord.h, www/htdocs/_bug.html, - src/lib/cord/cordxtra.c: cancel: more speed, less memory: - CORD_chars_block originally intended to ... it was good that - CORD_chars_block were not used: it consumes more memory [and, - might be slow too] undoing that. [and removed that func so that - it would not confuse parser developer in future] + * src/: include/pa_string.h, lib/cord/cordbscs.c, + lib/cord/include/cord.h, lib/cord/cordxtra.c: cancel: more speed, + less memory: CORD_chars_block originally intended to ... it was + good that CORD_chars_block were not used: it consumes more memory + [and, might be slow too] undoing that. [and removed that func so + that it would not confuse parser developer in future] * src/: include/pa_string.h, lib/cord/include/cord.h: more speed, less memory: CORD_chars_block originally intended to @@ -7745,28 +13325,23 @@ 2004-05-14 paf - * src/types/Makefile.am, src/types/pa_vvoid.C, - src/types/pa_vvoid.h, src/types/types.vcproj, - www/htdocs/.htaccess, www/htdocs/_bug.html, www/htdocs/auto.p: + * src/types/: Makefile.am, pa_vvoid.C, pa_vvoid.h, types.vcproj: bugfix: void now has vfile value, and $response:body[] works OK 2004-05-12 paf - * src/types/pa_vbool.h, src/types/pa_vhash.h, - src/types/pa_vhashfile.h, src/types/pa_vtable.h, - www/htdocs/.htaccess, www/htdocs/_bug.html: beauty: ^if(def - $bool) now equals ^if($bool) and shaped up other sources to use - is_defined() {return as_bool();} along VBool + * src/types/: pa_vbool.h, pa_vhash.h, pa_vhashfile.h, pa_vtable.h: + beauty: ^if(def $bool) now equals ^if($bool) and shaped up other + sources to use is_defined() {return as_bool();} along VBool 2004-05-11 paf * src/include/pa_exec.h: bugfix: gpf on file::exec/cgi because of referencing to local objects - * src/classes/mail.C, src/include/pa_exec.h, - src/main/compile.tab.C, src/types/pa_vmail.C, - src/types/pa_vmail.h, www/htdocs/.htaccess, www/htdocs/_bug.gif, - www/htdocs/_bug.html: bugfix: bcc with sendmail now left intact + * src/: classes/mail.C, include/pa_exec.h, main/compile.tab.C, + types/pa_vmail.C, types/pa_vmail.h: bugfix: bcc with sendmail now + left intact 2004-04-15 paf @@ -7801,20 +13376,20 @@ * src/main/: compile.tab.C, compile.y: bugfix: gcc refused to accept that trick, trying other - * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html: - bugfix: step3 to fix explicit result problem + * src/main/: compile.tab.C, compile.y: bugfix: step3 to fix + explicit result problem - * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html: - bugfix: step2 to fix explicit result problem + * src/main/: compile.tab.C, compile.y: bugfix: step2 to fix + explicit result problem - * src/main/compile.tab.C, src/main/compile.y, www/htdocs/_bug.html: - bugfix: step1 to fix explicit result problem + * src/main/: compile.tab.C, compile.y: bugfix: step1 to fix + explicit result problem * operators.txt, src/classes/string.C: new: ^string.append[string] - * src/include/pa_opcode.h, src/main/compile.tab.C, - src/main/compile.y, src/main/execute.C, www/htdocs/_bug.html: - attempt_check_call_in_explicit_result_mode: failed + * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, + main/execute.C: attempt_check_call_in_explicit_result_mode: + failed * src/main/pa_common.C: bugfix: of 1.175 bugfix: http://i.p.a.ddress gethostbyaddr added [on some platforms @@ -7826,15 +13401,13 @@ gethostbyname failed with such 'domains'] now checked properly, were: needless reverse/forward dns lookup - * src/main/compile.C, src/main/compile.tab.C, src/main/compile.y, - www/htdocs/_bug.html: reimplemented: @method[][result] means "no - string output here" moved to lexical level [on grammar level it - were too difficult] + * src/main/: compile.C, compile.tab.C, compile.y: reimplemented: + @method[][result] means "no string output here" moved to lexical + level [on grammar level it were too difficult] * operators.txt, src/include/pa_string.h, src/main/compile.tab.C, src/main/compile.y, src/main/compile_tools.h, - src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h, - www/htdocs/.htaccess, www/htdocs/_bug.html: new: + src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h: new: @method[][result] means "no string output here", implemented part of that idea: compiler throws away string literal generation code. and barks nonwhitespace chars @@ -7845,8 +13418,7 @@ * configure.in, src/doc/html2chm.cmd, src/doc/sources2html.cmd, src/include/pa_version.h, src/main/pa_common.C, - src/targets/isapi/parser3isapi.C, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.txt: merged with 3.1.3 + src/targets/isapi/parser3isapi.C: merged with 3.1.3 * etc/parser3.charsets/x-mac-cyrillic.cfg: added: donated by Konstantin Tomashevitch [mailto:konst@design.ru] @@ -7890,18 +13462,15 @@ * src/classes/table.C: bufix: if last table lines were commented, gpfed - * src/doc/ClassExample1.dox, src/doc/ClassExample2.dox, - src/doc/ClassExample3.dox, src/doc/chmhelper.pl, - src/doc/class.dox, src/doc/compiler.dox, src/doc/doxygen.cfg, - src/doc/exception.dox, src/doc/executor.dox, src/doc/footer.htm, - src/doc/index.dox, src/doc/memory.dox, src/doc/methoded.dox, - src/doc/object.dox, src/doc/string.dox, src/doc/targets.dox, - src/doc/value.dox, src/include/pa_version.h, - src/main/pa_cache_managers.C, - src/main/pa_stylesheet_connection.C, - src/targets/isapi/parser3isapi.vcproj, src/types/pa_vform.C, - www/htdocs/_bug.html, www/htdocs/_bug.txt: merged bugfixes from - 3.1.2, changed version to 3.1.3beta + * src/: doc/ClassExample1.dox, doc/ClassExample2.dox, + doc/ClassExample3.dox, doc/chmhelper.pl, doc/class.dox, + doc/compiler.dox, doc/doxygen.cfg, doc/exception.dox, + doc/executor.dox, doc/footer.htm, doc/index.dox, doc/memory.dox, + doc/methoded.dox, doc/object.dox, doc/string.dox, + doc/targets.dox, doc/value.dox, include/pa_version.h, + main/pa_cache_managers.C, main/pa_stylesheet_connection.C, + targets/isapi/parser3isapi.vcproj, types/pa_vform.C: merged + bugfixes from 3.1.2, changed version to 3.1.3beta 2004-03-29 paf @@ -7937,44 +13506,41 @@ * src/classes/table.C: beauty: comment& more meaningful error message - * src/classes/hash.C, www/htdocs/_bug.html: bugfix: ^hash::sql{one - column} now produces $.hash[$.column_value1(true) ... ] [were - producing some strang thing] + * src/classes/hash.C: bugfix: ^hash::sql{one column} now produces + $.hash[$.column_value1(true) ... ] [were producing some strang + thing] 2004-03-23 paf - * src/classes/image.C, src/main/pa_common.C, www/htdocs/_bug.html: - bugfix: ^image.polyline and http status line parsing checked - number of columns in table [user reported an assert] + * src/: classes/image.C, main/pa_common.C: bugfix: ^image.polyline + and http status line parsing checked number of columns in table + [user reported an assert] * operators.txt: example: on hashfile - * src/classes/op.C, src/types/pa_value.C, src/types/pa_wcontext.C, - www/htdocs/_bug.html: bugfix: junction reattach now actually - reattaches a junction to new wcontext [were only assigning it to - junction, which caused junction tracking to loose junction, and - it's context were not killed, and it tried to process in invalid - context, gpf] + * src/: classes/op.C, types/pa_value.C, types/pa_wcontext.C: + bugfix: junction reattach now actually reattaches a junction to + new wcontext [were only assigning it to junction, which caused + junction tracking to loose junction, and it's context were not + killed, and it tried to process in invalid context, gpf] * src/targets/cgi/parser3.C: debug helper added 2004-03-19 paf - * src/types/pa_wcontext.C, www/htdocs/_bug.html: beauty: error - messages removed duplicate "type(type)" in braces + * src/types/pa_wcontext.C: beauty: error messages removed duplicate + "type(type)" in braces 2004-03-10 paf * operators.txt, src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h, - src/types/pa_vxnode.C, src/types/pa_vxnode.h, - www/htdocs/_bug.html: new: refined solution to - search-in-namespaces problem: + src/types/pa_vxnode.C, src/types/pa_vxnode.h: new: refined + solution to search-in-namespaces problem: $xdoc.search-namespaces.x[http://pif.design.ru/] $nodes[^xdoc.select[//x:second]] - * operators.txt, src/classes/xnode.C, www/htdocs/_bug.html, - www/htdocs/_bug.xml: new: xnode.select*[xpath + * operators.txt, src/classes/xnode.C: new: xnode.select*[xpath expression][[NAMESPACES HASH]] allows to search for info in namespaces @@ -7983,9 +13549,8 @@ 2004-03-09 paf - * operators.txt, src/main/pa_common.C, www/htdocs/.htaccess, - www/htdocs/_bug.html, www/htdocs/_bug.txt, www/htdocs/_bug.xsl: - new: ^file::load[...][options] $.form[ + * operators.txt, src/main/pa_common.C: new: + ^file::load[...][options] $.form[ !$.field1[string] !$.field2[^table::create{one_column_only^#0Avalue1^#0Avalue2}] ] !$.body[string] @@ -8009,9 +13574,8 @@ * src/main/pa_common.C: beauty: link to rtf added - * operators.txt, src/include/pa_common.h, src/main/pa_common.C, - www/htdocs/_bug.html: new: http:// options $.user $.password - basic authorization + * operators.txt, src/include/pa_common.h, src/main/pa_common.C: + new: http:// options $.user $.password basic authorization * src/main/pa_common.C: beauty: removed needless vars @@ -8019,6 +13583,10 @@ oracle driver] ClientCharset=parser-charset << charset in which parser thinks client works + * operators.txt: new: odbc option [like that recently added to + oracle driver] ClientCharset=parser-charset << + charset in which parser thinks client works + * src/sql/pa_sql_driver.h: beauty: important warning added * etc/parser3.charsets/koi8-r.cfg: there's special code for grad @@ -8026,18 +13594,8 @@ * etc/parser3.charsets/windows-1251.cfg: typo - * www/htdocs/_bug.html, operators.txt: new: odbc option [like that - recently added to oracle driver] - ClientCharset=parser-charset << charset in which parser thinks - client works - 2004-03-04 paf - * www/htdocs/: _bug.html, _bug.txt: new: mysql option [like that - recently added to oracle driver] - ClientCharset=parser-charset << charset in which parser thinks - client works - * src/main/pa_sql_driver_manager.C: speedup: charset lookups cached, sql transcoding now goes faster @@ -8062,60 +13620,48 @@ nothing !^void.right(n) nothing !^void.mid(p[;n]) nothing - * operators.txt, src/classes/void.C, www/htdocs/_bug.html: new: - !^void.left(n) nothing !^void.right(n) nothing - !^void.pos(p[;n]) nothing - - * operators.txt, src/classes/file.C, src/include/pa_string.h, - www/htdocs/_bug.html: new: ^file::sql[[name_to_become_$.name]]{} - query result must be one row with columns: first: data - second: file name third: content-type - - * operators.txt, src/classes/file.C, www/htdocs/_bug.gif, - www/htdocs/_bug.html: ^file.sql-string[] inside ^connect gets - properly escaped string, which can be passed to request now this - for mysql only. it's up to parser sql driver to fix zeros - properly + * operators.txt, src/classes/void.C: new: !^void.left(n) + nothing !^void.right(n) nothing !^void.pos(p[;n]) + nothing + + * operators.txt, src/classes/file.C, src/include/pa_string.h: new: + ^file::sql[[name_to_become_$.name]]{} query result must be one + row with columns: first: data second: file name third: + content-type + + * operators.txt, src/classes/file.C: ^file.sql-string[] inside + ^connect gets properly escaped string, which can be passed to + request now this for mysql only. it's up to parser sql driver to + fix zeros properly * INSTALL: note: added on building apache with this option: --enable-shared=max thanks to Victor Fedoseev - * www/htdocs/_bug.html: feature: - oracle?..&LowerCaseColumnNames=0&ClientCharset=something column - names got transcoded to $request:charset too [were only column - data] - 2004-03-01 paf * src/targets/isapi/parser3isapi.C: new: apache module & isapi extension memory:compact befor processingrequest - * operators.txt, src/classes/hash.C, www/htdocs/_bug.html: new: - ^hash._keys[>>name<<] to call sole column of result + * operators.txt, src/classes/hash.C: new: ^hash._keys[>>name<<] to + call sole column of result * operators.txt, src/classes/image.C, src/lib/gd/gif.C, - src/lib/gd/gif.h, www/htdocs/_bug.html: new: - ^image.pixel(x;y)[(color)] get/set pixel color + src/lib/gd/gif.h: new: ^image.pixel(x;y)[(color)] get/set + pixel color - * src/classes/image.C, src/types/pa_vimage.C, - src/types/pa_vimage.h, www/htdocs/_bug.html: beauty: image -- - less checks [were ugly impl] + * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: + beauty: image -- less checks [were ugly impl] - * src/classes/string.C, www/htdocs/_bug.html: bugfix: - ^string.left/right/mid with negative values now considered bad + * src/classes/string.C: bugfix: ^string.left/right/mid with + negative values now considered bad * src/main/pa_common.C: bugfix: INADDR_NONE not everywhere defined - * src/classes/xdoc.C, src/types/pa_vxdoc.h, www/htdocs/_bug.html, - www/htdocs/_bug.xsl: bugfix: boolean output options now have - unified defaults [after transform + * src/: classes/xdoc.C, types/pa_vxdoc.h: bugfix: boolean output + options now have unified defaults [after transform indent/omit-xml-declaration/standalone 'default' erroreously meant 'true'] - * www/htdocs/_bug.html: bugfix: http://i.p.a.ddress gethostbyaddr - added [on some platforms gethostbyname failed with such - 'domains'] - * src/main/pa_common.C: bugfix: http://i.p.a.ddress gethostbyaddr added [on some platforms gethostbyname failed with such 'domains'] @@ -8137,19 +13683,15 @@ 2004-02-27 paf - * operators.txt, src/classes/string.C, src/main/pa_string.C, - www/htdocs/_bug.html: new method: - ^string.trim[start|both|end[;chars]] default 'chars' -- - whitespace chars finished + * operators.txt, src/classes/string.C, src/main/pa_string.C: new + method: ^string.trim[start|both|end[;chars]] default + 'chars' -- whitespace chars finished * operators.txt, src/classes/string.C, src/include/pa_string.h, - src/main/pa_string.C, www/htdocs/_bug.html: new method: + src/main/pa_string.C: new method: ^string.trim[start|both|end[;chars]] default 'chars' -- whitespace chars started, only start works - * www/htdocs/: _bug.html, _bug.xml, _bug.xsl: bug discovered: todo! - xdoc::create+save != xdoc.transform&no+save - * src/main/compile.C: bugfix: line numbers after ^process{}[$.line(-10]] can be negative, allowed to print they as signed @@ -8159,10 +13701,6 @@ from databases, though. but 1. should be replaced 2. if not optimized, no harm done - * www/htdocs/: _bug.html, _bug.txt: just test: - file::load[text;http:// $.text utf-8 signature, line ends OK - http://i2/tasks/edit/?id=4629476859594276758 - * src/main/pa_exec.C: bugfix: waitpid could be interrupted -- ^file::exec/cgi could return invalid status & zombie child can remain for short period until process exists [very bad in @@ -8181,9 +13719,8 @@ * operators.txt, src/classes/op.C, src/include/pa_request.h, src/main/compile.C, src/main/compile_tools.h, - src/main/pa_request.C, www/htdocs/_bug.html, www/htdocs/_bug.p, - www/htdocs/_bug.xsl: feature: ^process...{CODE}[now has options] - which are $.main[to what to rename @main] + src/main/pa_request.C: feature: ^process...{CODE}[now has + options] which are $.main[to what to rename @main] $.file[file, from which (user says) goes that CODE] $.lineno(line number in that file, where CODE starts. may be negative) @@ -8196,9 +13733,6 @@ * src/classes/hash.C: feature: ^hash::sql{one colum result} now produces hash of column=>1 - * www/htdocs/: _bug.html, _bug.xsl: xhtml: as resutl of - [tab] is OK - * src/lib/smtp/smtp.h: beauty: couple of #ifdef-s to compile even with incomplete errno constants set @@ -8228,12 +13762,8 @@ 2004-02-20 paf - * src/classes/xdoc.C, www/htdocs/_bug.xsl: beauty: ugly code - removed, thanks to egr for pointing that out - - * www/htdocs/: _bug.html, _bug.xsl: bugfix: pa_ @@ -9730,9 +15221,9 @@ * ChangeLog, src/classes/file.C, src/classes/hash.C, src/classes/image.C, src/classes/op.C, src/classes/string.C, - src/classes/table.C, www/htdocs/.htaccess: fixed several - uninitialized local structures. notably ^hash.foreach now - inserts delimiters properly [were inserting it before first body] + src/classes/table.C: fixed several uninitialized local + structures. notably ^hash.foreach now inserts delimiters + properly [were inserting it before first body] 2003-06-24 paf @@ -9866,8 +15357,8 @@ * operators.txt, src/classes/math.C, src/lib/md5/pa_md5.h, src/lib/md5/pa_md5c.c, tests/141.html, - tests/results/141.processed, www/htdocs/.htaccess: merged from - head ^math:uuid[] ^math:uid64[] ^math:md5[string] + tests/results/141.processed: merged from head ^math:uuid[] + ^math:uid64[] ^math:md5[string] test added: 141.html @@ -9899,10 +15390,9 @@ * src/classes/table.C: more warnings - * src/include/pa_array.h, src/include/pa_table.h, - src/main/pa_table.C, www/htdocs/.htaccess: removed checks in - table::set_current, moved them back to table::locate implemented - table::create/join с $.reverse + * src/: include/pa_array.h, include/pa_table.h, main/pa_table.C: + removed checks in table::set_current, moved them back to + table::locate implemented table::create/join с $.reverse * src/: include/pa_table.h, main/pa_array.C, main/pa_table.C: removed checks in table::set_current, moved them back to @@ -9915,21 +15405,21 @@ src/include/pa_config_includes.h, src/include/pa_string.h, src/include/pa_table.h, src/main/pa_request.C, src/main/pa_sql_driver_manager.C, src/main/pa_string.C, - src/main/pa_table.C, www/htdocs/.htaccess: merged from HEAD from + src/main/pa_table.C: merged from HEAD from before_append_array_limit_sense_change to after_append_array_limit_sense_change * src/classes/table.C: typo - * www/htdocs/.htaccess, operators.txt, src/classes/date.C, - src/classes/table.C, src/include/pa_array.h, - src/include/pa_common.h, src/include/pa_config_includes.h, - src/include/pa_globals.h, src/include/pa_table.h, - src/main/pa_array.C, src/main/pa_globals.C, - src/main/pa_request.C, src/main/pa_sql_driver_manager.C, - src/main/pa_string.C, src/main/pa_table.C: - append_array_limit_sense_change locate accepts options same as - create new option: $.reverse(1) [do not work in table::create] + * operators.txt, src/classes/date.C, src/classes/table.C, + src/include/pa_array.h, src/include/pa_common.h, + src/include/pa_config_includes.h, src/include/pa_globals.h, + src/include/pa_table.h, src/main/pa_array.C, + src/main/pa_globals.C, src/main/pa_request.C, + src/main/pa_sql_driver_manager.C, src/main/pa_string.C, + src/main/pa_table.C: append_array_limit_sense_change locate + accepts options same as create new option: $.reverse(1) [do not + work in table::create] * src/: include/pa_common.h, main/pa_common.C: gcc didn't like (stat xxx, @@ -10108,11 +15598,10 @@ types/pa_vform.C, types/pa_vform.h, types/pa_vmail.C: pa_vform violated String::invariant. started fixing [not compiled now] - * src/classes/string.C, src/include/pa_string.h, - src/lib/cord/cordbscs.c, src/main/compile.tab.C, - src/main/compile.y, src/main/pa_string.C, src/main/untaint.C, - src/targets/cgi/parser3.C, www/htdocs/.htaccess: number of string - style improvements & optimizations + * src/: classes/string.C, include/pa_string.h, lib/cord/cordbscs.c, + main/compile.tab.C, main/compile.y, main/pa_string.C, + main/untaint.C, targets/cgi/parser3.C: number of string style + improvements & optimizations * src/classes/xnode.C: =0 bug fix [left from autoptr default ctor :(] @@ -10168,8 +15657,8 @@ * src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C: safe mode error message now includes numbers - * src/main/untaint.C, src/targets/cgi/parser3.C, - www/htdocs/.htaccess: unknown untaint lang now causes death + * src/: main/untaint.C, targets/cgi/parser3.C: unknown untaint lang + now causes death 2003-04-04 paf @@ -10336,12 +15825,10 @@ main/pa_exception.C, main/pa_request.C: debug info: started using. todo:complete - * src/classes/op.C, src/include/pa_operation.h, - src/include/pa_request.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_request.C, www/htdocs/.htaccess: - prepared debug info todo:use it + * src/: classes/op.C, include/pa_operation.h, include/pa_request.h, + main/compile.C, main/compile.tab.C, main/compile.y, + main/compile_tools.C, main/compile_tools.h, main/execute.C, + main/pa_request.C: prepared debug info todo:use it * src/include/pa_operation.h: strange mistake fixed: forgot to return Operation class->union after switching from autoptrs. @@ -10358,14 +15845,12 @@ src/targets/cgi/parser3.C, tests/run_parser.sh: gif encoder bug fix [gdGrowingBuf] - * configure.in, src/lib/Makefile.am, www/htdocs/.htaccess: removed - patches + * configure.in, src/lib/Makefile.am: removed patches * configure, src/include/pa_config_auto.h.in, src/main/pa_charset.C: --enable-assertions autoconf-ed - * src/main/pa_common.C, www/htdocs/.htaccess: uncommented http:// - file loading + * src/main/pa_common.C: uncommented http:// file loading * src/: classes/xdoc.C, types/pa_vxdoc.h: removed ref leak in xdoc::create/load @@ -10410,15 +15895,13 @@ 2003-04-01 paf - * src/classes/xdoc.C, src/classes/xnode.h, src/include/pa_memory.h, - src/main/pa_memory.C, src/targets/cgi/parser3.C, - src/types/pa_vxdoc.h, src/types/pa_vxnode.C, - src/types/pa_vxnode.h, www/htdocs/.htaccess: memory bug debugged - down: gdome uses glib memory, and stores last pointer to xmlDoc - there, gc misses that and collects valid memory fixed by - remembering xmlDoc from dom object in xdoc. todo: do something - with premature free of xdoc with xnodes/node values referring - into it + * src/: classes/xdoc.C, classes/xnode.h, include/pa_memory.h, + main/pa_memory.C, targets/cgi/parser3.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h: memory bug debugged down: + gdome uses glib memory, and stores last pointer to xmlDoc there, + gc misses that and collects valid memory fixed by remembering + xmlDoc from dom object in xdoc. todo: do something with + premature free of xdoc with xnodes/node values referring into it * src/classes/: mail.C: typo fix @@ -10443,11 +15926,11 @@ 2003-03-31 paf * INSTALL, src/classes/xdoc.C, src/main/pa_globals.C, - src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp, - www/htdocs/.htaccess: started xml lib memory debugging, simple - checks failed: it seems that library does realloc(bad ptr), and - recording those ptrs in heap [for debugging] was bad: heap - situation changes = everything works fine + src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp: started + xml lib memory debugging, simple checks failed: it seems that + library does realloc(bad ptr), and recording those ptrs in heap + [for debugging] was bad: heap situation changes = everything + works fine * src/: main/pa_charset.C, include/pa_charset.h: worked around xmlRegisterCharEncodingHandler limitation [currently imposed @@ -10506,20 +15989,16 @@ * src/doc/memory.dox: forgot to add - * src/classes/classes.dsp, src/classes/memory.C, - src/classes/xdoc.C, src/include/pa_array.h, - src/include/pa_request.h, src/include/pa_stack.h, - src/include/pa_string.h, src/lib/cord/cord.dsp, - src/lib/ltdl/libltdl.dsp, src/lib/md5/md5.dsp, - src/lib/pcre/pcre.dsp, src/main/compile.tab.C, - src/main/compile.y, src/main/compile_tools.C, - src/main/compile_tools.h, src/main/main.dsp, - src/main/pa_string.C, src/targets/cgi/parser3.C, - src/targets/cgi/parser3.dsp, src/types/pa_vmail.C, - src/types/pa_vmethod_frame.C, src/types/types.dsp, - www/htdocs/.htaccess: Array::put(index, T>>&<< removed after - Stack::pop wiping removed [moved to separate func] other Array & - removed + * src/: classes/classes.dsp, classes/memory.C, classes/xdoc.C, + include/pa_array.h, include/pa_request.h, include/pa_stack.h, + include/pa_string.h, lib/cord/cord.dsp, lib/ltdl/libltdl.dsp, + lib/md5/md5.dsp, lib/pcre/pcre.dsp, main/compile.tab.C, + main/compile.y, main/compile_tools.C, main/compile_tools.h, + main/main.dsp, main/pa_string.C, targets/cgi/parser3.C, + targets/cgi/parser3.dsp, types/pa_vmail.C, + types/pa_vmethod_frame.C, types/types.dsp: Array::put(index, + T>>&<< removed after Stack::pop wiping removed [moved to separate + func] other Array & removed 2003-03-26 paf @@ -10573,14 +16052,13 @@ * src/lib/cord/include/: cord.h, ec.h, gc.h, private/cord_pos.h: bundled gc includes - * src/classes/op.C, src/include/pa_array.h, - src/include/pa_sql_connection.h, src/include/pa_string.h, - src/include/pa_version.h, src/main/compile.tab.C, - src/main/compile.y, src/main/execute.C, src/main/pa_common.C, - src/main/pa_exception.C, src/main/pa_request.C, - src/main/pa_string.C, src/targets/cgi/parser3.C, - src/targets/cgi/parser3.dsp, www/htdocs/.htaccess: a number of - bugfixes [while testing first real site (aval)] + * src/: classes/op.C, include/pa_array.h, + include/pa_sql_connection.h, include/pa_string.h, + include/pa_version.h, main/compile.tab.C, main/compile.y, + main/execute.C, main/pa_common.C, main/pa_exception.C, + main/pa_request.C, main/pa_string.C, targets/cgi/parser3.C, + targets/cgi/parser3.dsp: a number of bugfixes [while testing + first real site (aval)] 2003-03-25 paf @@ -10601,8 +16079,8 @@ * operators.txt, src/classes/Makefile.am, src/classes/classes.dsp, src/classes/op.C, src/main/pa_request.C, src/types/Makefile.am, - src/types/pa_venv.h, src/types/types.dsp, www/htdocs/.htaccess, - src/classes/memory.C, src/types/pa_vmemory.h: ^memory:compact[] + src/types/pa_venv.h, src/types/types.dsp, src/classes/memory.C, + src/types/pa_vmemory.h: ^memory:compact[] * tests/results/109.processed: it was a bug in parser. updated 109 test result @@ -11072,26 +16550,22 @@ 2003-03-17 paf - * src/classes/date.C, src/classes/file.C, src/classes/form.C, - src/classes/image.C, src/classes/mail.C, src/classes/op.C, - src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C, - src/include/pa_pool.h, src/include/pa_pragma_pack_begin.h, - src/include/pa_pragma_pack_end.h, src/include/pa_string.h, - src/include/pa_types.h, src/main/compile.C, - src/main/compile.tab.C, src/main/execute.C, - src/main/pa_charset.C, src/main/pa_common.C, - src/main/pa_exception.C, src/main/pa_exec.C, - src/main/pa_globals.C, src/main/pa_pool.C, src/main/pa_request.C, - src/main/pa_sql_driver_manager.C, src/main/pa_string.C, - src/main/pa_stylesheet_manager.C, src/main/pa_uue.C, - src/main/untaint.C, src/targets/cgi/pa_pool.C, - src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp, - src/targets/cgi/pool_storage.h, src/types/pa_vcookie.C, - src/types/pa_vdouble.h, src/types/pa_vfile.C, - src/types/pa_vform.C, src/types/pa_vint.h, src/types/pa_vmail.C, - src/types/pa_vxdoc.C, src/types/pa_vxdoc.h, - src/types/pa_vxnode.C, src/types/pa_vxnode.h, - www/htdocs/.htaccess, www/htdocs/auto.p: libgc attempt + * src/: classes/date.C, classes/file.C, classes/form.C, + classes/image.C, classes/mail.C, classes/op.C, classes/table.C, + classes/xdoc.C, classes/xnode.C, include/pa_pool.h, + include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, + include/pa_string.h, include/pa_types.h, main/compile.C, + main/compile.tab.C, main/execute.C, main/pa_charset.C, + main/pa_common.C, main/pa_exception.C, main/pa_exec.C, + main/pa_globals.C, main/pa_pool.C, main/pa_request.C, + main/pa_sql_driver_manager.C, main/pa_string.C, + main/pa_stylesheet_manager.C, main/pa_uue.C, main/untaint.C, + targets/cgi/pa_pool.C, targets/cgi/parser3.C, + targets/cgi/parser3.dsp, targets/cgi/pool_storage.h, + types/pa_vcookie.C, types/pa_vdouble.h, types/pa_vfile.C, + types/pa_vform.C, types/pa_vint.h, types/pa_vmail.C, + types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, + types/pa_vxnode.h: libgc attempt 2003-03-13 paf @@ -11099,14 +16573,12 @@ main/pa_sql_driver_manager.C, targets/cgi/parser3.C: lt_dlexit called - * src/include/pa_request.h, src/lib/ltdl/libltdl.dsp, - src/lib/md5/md5.dsp, src/main/compile.tab.C, src/main/execute.C, - src/main/pa_request.C, src/targets/cgi/parser3.C, - src/types/pa_value.C, src/types/pa_value.h, - src/types/pa_vobject.h, src/types/pa_vstateless_class.h, - src/types/pa_vstatus.C, src/types/types.dsp, - www/htdocs/.htaccess: set_base, set_derived simplified [counter - leaks fixed] + * src/: include/pa_request.h, lib/ltdl/libltdl.dsp, + lib/md5/md5.dsp, main/compile.tab.C, main/execute.C, + main/pa_request.C, targets/cgi/parser3.C, types/pa_value.C, + types/pa_value.h, types/pa_vobject.h, + types/pa_vstateless_class.h, types/pa_vstatus.C, types/types.dsp: + set_base, set_derived simplified [counter leaks fixed] * ChangeLog, src/include/pa_config_fixed.h, src/types/pa_vstatus.C, src/types/types.dsp: incorporated status class patch From: @@ -11146,9 +16618,8 @@ 2003-03-11 paf - * src/main/compile.tab.C, src/main/compile.y, - src/sql/pa_sql_driver.h, src/types/pa_vstateless_class.C, - src/types/pa_vstateless_class.h, www/htdocs/.htaccess: removed + * src/: main/compile.tab.C, main/compile.y, sql/pa_sql_driver.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h: removed necessity of libstdc++ * src/include/pa_request.h: ANTI_ENDLESS_EXECUTE_RECOURSION doubled @@ -11179,7 +16650,7 @@ * src/main/pa_request.C: forgotten: ifdef XML - * src/main/pa_request.C, www/htdocs/.htaccess: forgotten: ifdef XML + * src/main/pa_request.C: forgotten: ifdef XML * src/targets/cgi/parser3.C: todo: move to latest xml version on win32 and run memleak tests again @@ -11193,12 +16664,10 @@ * src/: main/untaint.C, types/pa_vmail.C: mail: transcode fixed. todo: still problems when transcode from charset A to A. - * src/classes/hash.C, src/classes/mail.C, src/classes/string.C, - src/classes/table.C, src/include/pa_array.h, - src/main/pa_sql_driver_manager.C, src/types/pa_vmail.C, - src/types/pa_vmail.h, www/htdocs/.htaccess, - www/htdocs/index.html: started full-scale-site-test [~ - http://parser.ru sources] + * src/: classes/hash.C, classes/mail.C, classes/string.C, + classes/table.C, include/pa_array.h, + main/pa_sql_driver_manager.C, types/pa_vmail.C, types/pa_vmail.h: + started full-scale-site-test [~ http://parser.ru sources] some fixes @@ -11245,9 +16714,8 @@ * tests/: 106.html, results/106.processed: test: 106 xdoc create, string - * src/include/pa_charset.h, src/main/pa_charset.C, - www/htdocs/.htaccess: xml: charset two mem alloc functions used - for different cases [libxml, libxsl] + * src/: include/pa_charset.h, main/pa_charset.C: xml: charset two + mem alloc functions used for different cases [libxml, libxsl] * src/classes/classes.C: fixed: prevent system classes from modification to lock ALL the classes, not only directly used @@ -11289,10 +16757,9 @@ * tests/: 058_paf2000.png, results/058.processed: .png added with -kb now - * src/include/pa_charset.h, src/include/pa_charsets.h, - src/main/pa_charset.C, src/main/pa_charsets.C, - www/htdocs/.htaccess: charset_utf8 declaration moved to - charsets.C + * src/: include/pa_charset.h, include/pa_charsets.h, + main/pa_charset.C, main/pa_charsets.C: charset_utf8 declaration + moved to charsets.C 2003-03-05 paf @@ -11301,16 +16768,11 @@ tests/results/105.processed: String::match bug fixed * src/classes/op.C, src/main/main.dsp, tests/104.html, - tests/results/104.processed, www/htdocs/.htaccess: ^bpt operator - added [does int3 in debug build on win32] + tests/results/104.processed: ^bpt operator added [does int3 in + debug build on win32] * tests/: 057.html, results/057.processed: test bug fixed - * www/htdocs/: auto.p, autoptr.html, base.p, derived.p, font.gif, - global.xsl, index.html, mailreceive.eml, mailreceive.html, - operators.p, parser-status.html, people.dtd, some.p: removed old - tests - * src/targets/cgi/Makefile.am: linker needed more tricks to link OK * src/classes/math.C: can be: crypt in -lcrypt OK, but crypt.h be @@ -11482,9 +16944,9 @@ String_UL in all places [was not everywhere] untaint test: 032 * src/targets/cgi/parser3.C, tests/004.html, tests/Makefile, - tests/results/004.processed, www/htdocs/.htaccess, - tests/parser-cygwin.sh, tests/parser-unix.sh: removed -H command - line key, now testing using .sh file with SERVER_SOFTWARE=xxx + tests/results/004.processed, tests/parser-cygwin.sh, + tests/parser-unix.sh: removed -H command line key, now testing + using .sh file with SERVER_SOFTWARE=xxx 2003-02-26 paf @@ -11599,9 +17061,8 @@ * src/main/pa_array.C: pool::format_integer terminator fixed - * src/main/execute.C, src/targets/cgi/parser3.C, - www/htdocs/autoptr.html: release mode now compiles OK test to - show benefits of free + * src/: main/execute.C, targets/cgi/parser3.C: release mode now + compiles OK test to show benefits of free * src/: classes/file.C, classes/image.C, classes/mail.C, classes/op.C, classes/xdoc.C, main/pa_charset.C, main/pa_exec.C, @@ -11614,14 +17075,13 @@ 2003-02-20 paf - * src/classes/date.C, src/classes/double.C, src/classes/file.C, - src/classes/hash.C, src/classes/image.C, src/classes/int.C, - src/classes/mail.C, src/classes/math.C, src/classes/op.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/main/pa_string.C, src/types/pa_method.h, - src/types/pa_value.C, src/types/pa_vmethod_frame.h, - www/htdocs/autoptr.html: string cmp fixed + * src/: classes/date.C, classes/double.C, classes/file.C, + classes/hash.C, classes/image.C, classes/int.C, classes/mail.C, + classes/math.C, classes/op.C, classes/response.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, classes/xnode.C, main/pa_string.C, + types/pa_method.h, types/pa_value.C, types/pa_vmethod_frame.h: + string cmp fixed * src/: include/pa_config_fixed.h, targets/cgi/parser3.C: form values passed OK now @@ -11991,8 +17451,8 @@ src/types/pa_vstateless_object.h, src/types/pa_vstatus.h, src/types/pa_vstring.h, src/types/pa_vtable.h, src/types/pa_vvoid.h, src/types/pa_wcontext.C, - src/types/pa_wcontext.h, src/types/pa_wwrapper.h, - www/htdocs/.htaccess: ConstStringPtr died, long live StringPtr + src/types/pa_wcontext.h, src/types/pa_wwrapper.h: ConstStringPtr + died, long live StringPtr 2003-01-30 paf @@ -12291,15 +17751,12 @@ 2003-01-16 paf - * www/htdocs/index.html: image.copy fixed transparent resampling - * operators.txt, src/include/pa_globals.h, src/main/pa_common.C, - src/main/pa_globals.C, www/htdocs/index.html: http:// introducing - $.any-status(1) + src/main/pa_globals.C: http:// introducing $.any-status(1) * operators.txt, src/include/pa_config_fixed.h, - src/main/pa_common.C, www/htdocs/index.html: http request now - return status. and not fail on status!=200 + src/main/pa_common.C: http request now return status. and not + fail on status!=200 2003-01-15 paf @@ -12354,9 +17811,8 @@ * src/include/pa_version.h: 0007 - * src/doc/aliased.dox, src/doc/index.dox, src/doc/module.dox, - src/doc/pooled.dox, www/htdocs/index.html: removed outdated - parts, made links to language docs + * src/doc/: aliased.dox, index.dox, module.dox, pooled.dox: removed + outdated parts, made links to language docs * src/include/pa_config_auto.h.in: comment @@ -12385,8 +17841,8 @@ * src/classes/mail.C: $MAIL in @conf now invalid when configured with --with-sendmail - * src/main/pa_exec.C, www/htdocs/index.html: fork/pipe error now - [old always-pipe-error fixed] + * src/main/pa_exec.C: fork/pipe error now [old always-pipe-error + fixed] 2002-12-23 paf @@ -12415,7 +17871,7 @@ * operators.txt, src/include/pa_globals.h, src/include/pa_request.h, src/main/pa_globals.C, - src/main/pa_request.C, www/htdocs/index.html: $response:download + src/main/pa_request.C: $response:download * src/classes/mail.C: 'to' check bugfix [now checked only on ms compiler [win32]]. @@ -12455,16 +17911,13 @@ 2002-12-14 paf - * www/htdocs/index.html: exception type fixed - * src/classes/table.C: removed unnecessary code * src/sql/pa_sql_driver.h: exception type fixed 2002-12-09 paf - * src/types/pa_vvoid.h, www/htdocs/index.html: $void.store[now] - error + * src/types/pa_vvoid.h: $void.store[now] error * src/targets/cgi/parser3.C: ::die now tries to write core dump @@ -12500,23 +17953,21 @@ 2002-12-05 paf - * src/classes/mail.C, src/types/pa_vmail.C, src/types/pa_vmail.h, - www/htdocs/index.html: smtp cc/bcc OK now + * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: smtp + cc/bcc OK now - * src/main/untaint.C, www/htdocs/index.html: mail header closed - properly + * src/main/untaint.C: mail header closed properly - * src/main/pa_common.C, src/main/untaint.C, src/types/pa_vmail.C, - www/htdocs/index.html: mail header ',' allowed. still bugs in - smtp [only one receiptient works, cc, bcc ignored now, and MAILED - ;)] + * src/: main/pa_common.C, main/untaint.C, types/pa_vmail.C: mail + header ',' allowed. still bugs in smtp [only one receiptient + works, cc, bcc ignored now, and MAILED ;)] [strncpy killed, memnchr used] * src/main/pa_table.C: table-copy now current=0 - * src/main/pa_array.C, src/main/pa_table.C, www/htdocs/index.html: - wow! found/fixed bug in lowlevel proc + * src/main/: pa_array.C, pa_table.C: wow! found/fixed bug in + lowlevel proc * src/targets/cgi/parser3.C: more checks on http://domain/parser.cgi start [maybe some getenv returns "", @@ -12526,26 +17977,20 @@ http://domain/parser.cgi start [maybe some getenv returns "", checked that now - * src/targets/cgi/parser3.C, www/htdocs/index.html: error logging - made unbuffered [so that out-of-mem errors reached log] + * src/targets/cgi/parser3.C: error logging made unbuffered [so that + out-of-mem errors reached log] - * src/classes/mail.C, src/targets/cgi/parser3.C, - src/types/pa_vmail.C, www/htdocs/index.html: mail:send - MIME-Version default + * src/: classes/mail.C, targets/cgi/parser3.C, types/pa_vmail.C: + mail:send MIME-Version default * src/main/main.dsp: pa_version included into main.dsp - * www/htdocs/index.html: smtp line ends fixed. now \r\n [not \r]. - some smtp servers [win32] leave \n intact, and some clients [bat] - fail to show letter correctly - 2002-12-04 paf * src/types/pa_vform.C: $form:field string value cut by premature 0 - * parser3.dsw, src/main/compile.tab.C, src/main/main.dsp, - www/htdocs/.htaccess, www/htdocs/index.html: lib/libltdl -> - lib/ltdl Win32 changes. s + * parser3.dsw, src/main/compile.tab.C, src/main/main.dsp: + lib/libltdl -> lib/ltdl Win32 changes. s * src/classes/classes.awk: more strict *.C$ @@ -12569,41 +18014,33 @@ * ChangeLog, src/classes/mail.C, src/include/pa_common.h, src/main/pa_common.C, src/main/pa_request.C, - src/types/pa_vcookie.C, src/types/pa_vmail.C, - www/htdocs/index.html: http header lang of tainted parts becomes - http-header + src/types/pa_vcookie.C, src/types/pa_vmail.C: http header lang of + tainted parts becomes http-header 2002-11-29 paf - * src/classes/date.C, src/classes/image.C, www/htdocs/index.html, - operators.txt: exif dates now objects of type date + * src/classes/date.C, src/classes/image.C, operators.txt: exif + dates now objects of type date * src/classes/image.C: file.seek removed [it were used in image.C only, and for parser user this means that jpeg image has bad size in fragment's header] now used image.format - * src/include/pa_common.h, src/main/pa_common.C, - src/types/pa_vresponse.C, src/types/pa_vresponse.h, - www/htdocs/index.html: http:// param values now handled exactly - like $response:header values. e.g. can be hash [can have - subattributes] & contain date values. + * src/: include/pa_common.h, main/pa_common.C, + types/pa_vresponse.C, types/pa_vresponse.h: http:// param values + now handled exactly like $response:header values. e.g. can be + hash [can have subattributes] & contain date values. - * src/main/pa_common.C, www/htdocs/index.html: http:// param values - lang forced URI + * src/main/pa_common.C: http:// param values lang forced URI - * src/main/pa_common.C, www/htdocs/index.html: http:// tainted - partes now %xx + * src/main/pa_common.C: http:// tainted partes now %xx 2002-11-28 paf - * www/htdocs/index.html: doc samples - * operators.txt: http.timeout - * src/classes/image.C, www/htdocs/index.html: ^image.length now - counts interchar space. plus space after last char - - * www/htdocs/index.html: regexp syntax xxx$ speed-up experiments + * src/classes/image.C: ^image.length now counts interchar space. + plus space after last char * src/main/pa_string.C: PCRE_DOLLAR_ENDONLY @@ -12612,33 +18049,29 @@ * configure.in: stopped double libltdl/Makefile generation - * src/classes/image.C, www/htdocs/index.html: ^image.text now - outputs one pixel HIGHER chars [one top horizontal line of 1pixel - height were missing] + * src/classes/image.C: ^image.text now outputs one pixel HIGHER + chars [one top horizontal line of 1pixel height were missing] - * src/classes/op.C, www/htdocs/index.html: ^cache bug fixed. - stupid compiler allowed 'false' to go into (Hash *) parameter + * src/classes/op.C: ^cache bug fixed. stupid compiler allowed + 'false' to go into (Hash *) parameter 2002-11-27 paf - * src/include/pa_globals.h, src/main/pa_globals.C, - src/main/pa_request.C, src/types/pa_vmail.C, - www/htdocs/index.html: response:body[file] if file nows it's - name now returns content-disposition: >>attachment<< + * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C, + types/pa_vmail.C: response:body[file] if file nows it's name now + returns content-disposition: >>attachment<< - * src/classes/image.C, www/htdocs/index.html: ^image.font << bad - font file-size now properly reported + * src/classes/image.C: ^image.font << bad font file-size now + properly reported 2002-11-26 paf * src/main/pa_request.C: fixed lang in reponse header - * src/main/pa_common.C, www/htdocs/.htaccess: utf8 prefix ignored - @read text + * src/main/pa_common.C: utf8 prefix ignored @read text - * operators.txt, src/main/pa_common.C, www/htdocs/index.html: - http:// response status!=200 made exception: http.status with - source=bad status# + * operators.txt, src/main/pa_common.C: http:// response status!=200 + made exception: http.status with source=bad status# 2002-11-25 paf @@ -12648,23 +18081,21 @@ src/main/pa_common.C, src/main/pa_globals.C: http:// and image const void related probs fixed - * operators.txt, src/main/pa_common.C, www/htdocs/index.html: http - fields now UPPERCASE + * operators.txt, src/main/pa_common.C: http fields now UPPERCASE $file[^file::load[http://there]] $file.SERVER - * src/classes/file.C, src/classes/image.C, src/classes/xdoc.C, - src/include/pa_common.h, src/main/pa_common.C, - src/main/pa_request.C, www/htdocs/index.html: checked http - options [invalid onces now reported] made default user-agent: paf + * src/: classes/file.C, classes/image.C, classes/xdoc.C, + include/pa_common.h, main/pa_common.C, main/pa_request.C: checked + http options [invalid onces now reported] made default + user-agent: paf * operators.txt, src/classes/file.C, src/classes/table.C, src/classes/xdoc.C, src/include/pa_common.h, src/include/pa_globals.h, src/main/pa_common.C, src/main/pa_globals.C, src/main/pa_request.C, - src/types/pa_vfile.C, src/types/pa_vfile.h, - www/htdocs/index.html: table/xdoc/file::load now understand - http:// prefix and additional params, sample: + src/types/pa_vfile.C, src/types/pa_vfile.h: table/xdoc/file::load + now understand http:// prefix and additional params, sample: $rates[^xdoc::load[http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002; $.USER-AGENT[parser3] ]] @@ -12672,8 +18103,7 @@ * src/classes/image.C, src/include/pa_globals.h, src/main/execute.C, src/main/pa_globals.C, src/types/pa_vimage.C, - src/types/pa_vimage.h, www/htdocs/.htaccess, - www/htdocs/index.html, operators.txt: $image.exif support + src/types/pa_vimage.h, operators.txt: $image.exif support $image.exif.DateTime & co 2002-11-21 paf @@ -12686,10 +18116,9 @@ negative :(] * operators.txt, src/classes/image.C, src/include/pa_common.h, - src/main/pa_common.C, src/types/pa_vmail.C, - www/htdocs/index.html: image.measure internals rewritten. no - there's reader.seek, and all's ready for EXIF extraction [now we - fail to measure files with EXIF info] + src/main/pa_common.C, src/types/pa_vmail.C: image.measure + internals rewritten. no there's reader.seek, and all's ready for + EXIF extraction [now we fail to measure files with EXIF info] * src/main/pa_common.C: O_TRUNCATE killed, ftruncate used instead: O_TRUNC truncates even exclusevely write-locked file [thanks to @@ -12735,36 +18164,27 @@ * src/main/execute.C: found out why, checked that for now. todo: find out a way for that user could do that - * www/htdocs/: base.p, derived.p, index.html: this example creates - base object, which is wrong, todo: find out why - * src/types/pa_vstateless_object.h: object put replaces static parent if any * src/types/pa_vobject.C: object put replaces static parent if any - * src/classes/form.C, src/classes/mail.C, src/classes/op.C, - src/classes/xnode.h, src/main/compile.tab.C, src/main/execute.C, - src/main/pa_request.C, src/types/pa_value.h, - src/types/pa_vclass.C, src/types/pa_vclass.h, - src/types/pa_vcode_frame.h, src/types/pa_vcookie.C, - src/types/pa_vcookie.h, src/types/pa_vdate.h, - src/types/pa_venv.h, src/types/pa_vfile.h, src/types/pa_vform.C, - src/types/pa_vform.h, src/types/pa_vhash.h, - src/types/pa_vimage.h, src/types/pa_vmail.C, - src/types/pa_vmail.h, src/types/pa_vmath.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.C, - src/types/pa_vobject.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.h, - src/types/pa_vtable.C, src/types/pa_vtable.h, - 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_wwrapper.h, www/htdocs/base.p, www/htdocs/derived.p, - www/htdocs/index.html: static fix merged + * src/: classes/form.C, classes/mail.C, classes/op.C, + classes/xnode.h, main/compile.tab.C, main/execute.C, + main/pa_request.C, types/pa_value.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, + types/pa_vcookie.h, types/pa_vdate.h, types/pa_venv.h, + types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, + types/pa_vhash.h, types/pa_vimage.h, types/pa_vmail.C, + types/pa_vmail.h, types/pa_vmath.h, types/pa_vmethod_frame.h, + types/pa_vobject.C, types/pa_vobject.h, types/pa_vrequest.C, + types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.C, + types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C, + types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, + types/pa_wwrapper.h: static fix merged * src/: main/compile.tab.C, types/pa_vobject.C: killed $virtual_fields in dynamic, but one can reach derived @@ -12780,41 +18200,29 @@ them. also there can be no virtual method calls in static classes - * src/classes/form.C, src/classes/mail.C, src/classes/op.C, - src/classes/xnode.h, src/main/execute.C, src/main/pa_request.C, - src/types/pa_value.h, src/types/pa_vclass.C, - src/types/pa_vclass.h, src/types/pa_vcode_frame.h, - src/types/pa_vcookie.C, src/types/pa_vcookie.h, - src/types/pa_vdate.h, src/types/pa_venv.h, src/types/pa_vfile.h, - src/types/pa_vform.C, src/types/pa_vform.h, src/types/pa_vhash.h, - src/types/pa_vimage.h, src/types/pa_vmail.C, - src/types/pa_vmail.h, src/types/pa_vmath.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.C, - src/types/pa_vobject.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.h, - src/types/pa_vtable.C, src/types/pa_vtable.h, - 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_wwrapper.h, www/htdocs/base.p, www/htdocs/derived.p, - www/htdocs/index.html: static call $self fixed + * src/: classes/form.C, classes/mail.C, classes/op.C, + classes/xnode.h, main/execute.C, main/pa_request.C, + types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, + types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, + types/pa_vimage.h, types/pa_vmail.C, types/pa_vmail.h, + types/pa_vmath.h, types/pa_vmethod_frame.h, types/pa_vobject.C, + types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.C, + types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C, + types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, + types/pa_wwrapper.h: static call $self fixed * src/main/execute.C: comment - * src/classes/op.C, src/types/pa_value.h, src/types/pa_vobject.h, - www/htdocs/base.p, www/htdocs/derived.p, www/htdocs/index.html, - www/htdocs/operators.p, www/htdocs/some.p: + * src/: classes/op.C, types/pa_value.h, types/pa_vobject.h: ^process[$caller.self]{...} now compiles to last derived object part of that 'self' -2002-10-30 paf - - * www/htdocs/: derived.p, some.p: include method overriding tested - OK - 2002-10-29 paf * src/targets/isapi/parser3isapi.C: comment on 404 bad status @@ -12827,10 +18235,6 @@ properly escaped. [tried in mssql->mysql export->import of binary data] -2002-10-28 paf - - * www/htdocs/: index.html: bad email handling test - 2002-10-25 paf * src/types/pa_vresponse.C: case insensitive response user fields @@ -12844,8 +18248,7 @@ * operators.txt, src/classes/table.C: ^table.hash{code}... ^table.hash(expr)... - * src/types/pa_vmail.C, www/htdocs/index.html: email whitespace - trimBoth-ed + * src/types/pa_vmail.C: email whitespace trimBoth-ed 2002-10-22 paf @@ -12867,8 +18270,8 @@ * operators.txt, src/types/pa_vform.C: $form:image-map - * operators.txt, src/classes/file.C, www/htdocs/index.html: - /some/page.html: ^file:fullpath[a.gif] => /some/a.gif + * operators.txt, src/classes/file.C: /some/page.html: + ^file:fullpath[a.gif] => /some/a.gif 2002-10-17 paf @@ -12882,11 +18285,8 @@ 2002-10-16 paf - * www/htdocs/index.html: bad compile to system class test - - * src/classes/op.C, src/include/pa_request.h, src/main/execute.C, - src/main/pa_request.C, www/htdocs/index.html, - www/htdocs/derived.p: Request::self considered equal to + * src/: classes/op.C, include/pa_request.h, main/execute.C, + main/pa_request.C: Request::self considered equal to VMethodFrame::self, and removed, Request::get_self() mapped to VMethodFrame.self() @@ -12895,54 +18295,46 @@ 2002-10-15 paf - * src/types/pa_vjunction.h, www/htdocs/index.html: ^if(def - $junction){was true}{now false} use ^if($junction is - junction){was and now true} - - * src/classes/xdoc.C, src/classes/xnode.C, - src/include/pa_charset.h, src/include/pa_pool.h, - src/main/pa_charset.C, src/main/pa_pool.C, src/types/pa_vxnode.C, - www/htdocs/index.html: xml->parser strings now have origin, which + * src/types/pa_vjunction.h: ^if(def $junction){was true}{now false} + use ^if($junction is junction){was and now true} + + * src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h, + include/pa_pool.h, main/pa_charset.C, main/pa_pool.C, + types/pa_vxnode.C: xml->parser strings now have origin, which points to place where value left xml library and came to parser: place of dom field extraction/call - * src/classes/op.C, src/include/pa_opcode.h, - src/include/pa_request.h, src/main/compile.tab.C, - src/main/compile.y, src/main/execute.C, - src/types/pa_vmethod_frame.h, www/htdocs/derived.p: removed last - pieces of old code allowing $junction.xxx at compile time + * src/: classes/op.C, include/pa_opcode.h, include/pa_request.h, + main/compile.tab.C, main/compile.y, main/execute.C, + types/pa_vmethod_frame.h: removed last pieces of old code + allowing $junction.xxx at compile time * ChangeLog, src/classes/op.C, src/main/compile.tab.C, src/main/compile.y, src/types/pa_vmethod_frame.h: process[self] objects also considered [were only classes] * ChangeLog, src/classes/op.C, src/include/pa_request.h, - src/types/pa_vmethod_frame.h, www/htdocs/derived.p, - www/htdocs/index.html: ^process[CLASS]{body} now executed with - CLASS self. [ (request&method_frame).self temporarily changed - ] + src/types/pa_vmethod_frame.h: ^process[CLASS]{body} now executed + with CLASS self. [ (request&method_frame).self temporarily + changed ] - * src/classes/hash.C, src/classes/op.C, www/htdocs/index.html, - www/htdocs/operators.p: method_frame now always changed, with no - exception to native calls. for&foreach changed to use + * src/classes/: hash.C, op.C: method_frame now always changed, with + no exception to native calls. for&foreach changed to use method_frame.caller for their var's name context - * src/main/execute.C, src/targets/cgi/parser3.C, - src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h, - www/htdocs/operators.p: compiling to system classes disabled - - * www/htdocs/: derived.p, index.html: test of ^process from - operator called from user class + * src/: main/execute.C, targets/cgi/parser3.C, + types/pa_vstateless_class.C, types/pa_vstateless_class.h: + compiling to system classes disabled - * operators.txt, src/classes/op.C, www/htdocs/operators.p: + * operators.txt, src/classes/op.C: ^process[$caller.CLASS]{code-string} added * operators.txt, src/classes/op.C, src/main/compile.tab.C, src/main/compile.y, src/main/execute.C, src/main/pa_request.C, src/types/Makefile.am, src/types/pa_vjunction.C, src/types/pa_vjunction.h, src/types/pa_vmethod_frame.h, - src/types/types.dsp, www/htdocs/operators.p: removed - $junction.get $junction.set[] introducing $caller + src/types/types.dsp: removed $junction.get $junction.set[] + introducing $caller * src/types/pa_value.h: removed outdated comments. doxygen would find them lower by inheritance tree @@ -12953,15 +18345,13 @@ * src/classes/op.C: process compiles to code's class class - * src/classes/form.C, src/classes/mail.C, src/classes/op.C, - src/include/pa_request.h, src/main/compile.C, - src/main/compile.tab.C, src/main/compile.y, src/main/execute.C, - src/main/pa_request.C, src/types/pa_vstateless_class.h, - www/htdocs/index.html: operators now main-class-methods + * src/: classes/form.C, classes/mail.C, classes/op.C, + include/pa_request.h, main/compile.C, main/compile.tab.C, + main/compile.y, main/execute.C, main/pa_request.C, + types/pa_vstateless_class.h: operators now main-class-methods - * src/classes/op.C, src/include/pa_request.h, - www/htdocs/index.html, www/htdocs/operators.p: ^try{^call{}} now - has better stack trace [has "call" & co there] + * src/: classes/op.C, include/pa_request.h: ^try{^call{}} now has + better stack trace [has "call" & co there] * src/: include/pa_request.h, main/execute.C, main/pa_request.C: operators @auto now executed in MAIN context @@ -12979,22 +18369,20 @@ * src/main/execute.C: comment - * src/types/pa_vclass.C, src/types/pa_vobject.h, - src/types/pa_vstateless_class.C, src/types/pa_vstateless_class.h, - www/htdocs/index.html, www/htdocs/operators.p: $form:CLASS - resurrected [wes killed in action] + * src/types/: pa_vclass.C, pa_vobject.h, pa_vstateless_class.C, + pa_vstateless_class.h: $form:CLASS resurrected [wes killed in + action] * src/types/pa_vxnode.C: misreplace fixed * configure, configure.in, src/include/pa_config_auto.h.in, - src/types/pa_vstatus.C, operators.txt, www/htdocs/index.html: + src/types/pa_vstatus.C, operators.txt: $status:rusage.tv_secs/usecs introduced 2002-10-09 paf - * src/classes/double.C, src/classes/int.C, src/classes/string.C, - www/htdocs/derived.p, www/htdocs/index.html: ^string.int[] now - failes on empty string [or uses (default)] + * src/classes/: double.C, int.C, string.C: ^string.int[] now failes + on empty string [or uses (default)] 2002-10-08 paf @@ -13017,10 +18405,10 @@ src/targets/cgi/Makefile.am: HAVE_TIMEZONE & co now checked and mailreceive would compile on freebsd now - * src/classes/file.C, src/main/untaint.C, www/htdocs/index.html: 1. - file spec language changed: now there are only few chars are - untainted: * ? ' " < > | and, on unix, : \ ~ [russian letters and - SPACES now enabled, one should use ^untaint[uri]{...} now] + * src/: classes/file.C, main/untaint.C: 1. file spec language + changed: now there are only few chars are untainted: * ? ' " < > + | and, on unix, : \ ~ [russian letters and SPACES now enabled, + one should use ^untaint[uri]{...} now] 2. $list[^file:list[dir]] now returns simply tainted names in $list.name, not tainted as filespec @@ -13043,31 +18431,29 @@ 2002-09-20 paf - * src/main/execute.C, www/htdocs/index.html: code junction calls - disabled [before: code was compiled in such a way, that there - were no code-junctions in OP_CALL] + * src/main/execute.C: code junction calls disabled [before: code + was compiled in such a way, that there were no code-junctions in + OP_CALL] this now error: @badjunctioncall[] ^badjunctioncallinside{code} @badjunctioncallinside[code] ^code[] - * src/main/compile.tab.C, src/main/compile.y, - www/htdocs/index.html: changed grammer on junction expanding to - include ^junction.method + * src/main/: compile.tab.C, compile.y: changed grammer on junction + expanding to include ^junction.method * src/main/pa_common.C: -d "DIR/" now true - * src/classes/xdoc.C, www/htdocs/index.html: xdoc::create[name] now - sets $request:charset as internal xdoc encoding, and after - decoding attributes set by dom functions now encoded OK, not as - digital entities + * src/classes/xdoc.C: xdoc::create[name] now sets $request:charset + as internal xdoc encoding, and after decoding attributes set by + dom functions now encoded OK, not as digital entities * src/classes/xdoc.C: empty transform result, being taken as file now returns empty file, not raises stupid error about "stat-ed file" - * src/types/pa_vhash.h, www/htdocs/operators.p: hash.foreach - modification of existing keys allowed + * src/types/pa_vhash.h: hash.foreach modification of existing keys + allowed * src/types/types.dsp: introducing $junction.get/put(1) one can write iterators now: @@ -13091,12 +18477,10 @@ @user-foreach[key;value;code] ^for[i](1;10){ $code.key($i) $code.value($i*2) $code } - * src/include/pa_opcode.h, src/include/pa_request.h, - src/main/compile.tab.C, src/main/compile.y, src/main/execute.C, - src/main/main.dsp, src/targets/cgi/parser3.dsp, - src/types/pa_vjunction.h, www/htdocs/.htaccess, - www/htdocs/index.html: introducing $junction.get/put(1) one can - write iterators now: + * src/: include/pa_opcode.h, include/pa_request.h, + main/compile.tab.C, main/compile.y, main/execute.C, + main/main.dsp, targets/cgi/parser3.dsp, types/pa_vjunction.h: + introducing $junction.get/put(1) one can write iterators now: ^user-foreach[key;value]{$key=$value
} @@ -13112,26 +18496,22 @@ 2002-09-18 paf * parser3.dsw, src/include/pa_opcode.h, src/main/compile.tab.C, - src/main/compile.y, src/main/execute.C, www/htdocs/index.html: << - >> int shifts + src/main/compile.y, src/main/execute.C: << >> int shifts * src/: include/pa_common.h, include/pa_request.h, main/pa_common.C, main/pa_request.C: auto.p exists but unreadable - now this - fatal error - * src/classes/file.C, www/htdocs/index.html, - www/htdocs/mailreceive.eml: ^file::exec/cgi $.stdin[can be file - now] so that one can pass binary data there - - * src/classes/date.C, src/classes/double.C, src/classes/file.C, - src/classes/hash.C, src/classes/image.C, src/classes/int.C, - src/classes/mail.C, src/classes/op.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/include/pa_request.h, www/htdocs/index.html: pa_request - contexts made privated, plus get_{self/method_frame} to read. - Request_context_saver used in ^try to save flang too. [were not - saved] + * src/classes/file.C: ^file::exec/cgi $.stdin[can be file now] so + that one can pass binary data there + + * src/: classes/date.C, classes/double.C, classes/file.C, + classes/hash.C, classes/image.C, classes/int.C, classes/mail.C, + classes/op.C, classes/response.C, classes/string.C, + classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C, + include/pa_request.h: pa_request contexts made privated, plus + get_{self/method_frame} to read. Request_context_saver used in + ^try to save flang too. [were not saved] * src/types/pa_vresponse.C: header value chains joined before output, this should help $.subject[$var $var] from being @@ -13147,66 +18527,59 @@ ^include[set_a.p] a=$a set_a.p: $a[1] - * src/classes/op.C, src/main/execute.C, src/main/pa_request.C, - src/types/pa_value.C, src/types/pa_value.h, - src/types/pa_vmethod_frame.h, src/types/pa_vstateless_class.h, - www/htdocs/operators.p: operators now executed with MAIN self. - it's for ^include sake, too strong a change - - * src/classes/op.C, www/htdocs/index.html, www/htdocs/operators.p: - made place for ^process to compile it's code to in case of no - self - - * src/main/execute.C, www/htdocs/index.html: found ancient param to - Junction, removed. allowed passing self to native_code_operators - [for ^process to work, she needs self] + * src/: classes/op.C, main/execute.C, main/pa_request.C, + types/pa_value.C, types/pa_value.h, types/pa_vmethod_frame.h, + types/pa_vstateless_class.h: operators now executed with MAIN + self. it's for ^include sake, too strong a change + + * src/classes/op.C: made place for ^process to compile it's code to + in case of no self + + * src/main/execute.C: found ancient param to Junction, removed. + allowed passing self to native_code_operators [for ^process to + work, she needs self] * src/: main/execute.C, types/pa_value.C, types/pa_value.h, types/pa_vstateless_class.h: found ancient param to Junction, removed. allowed passing self to native_code_operators [for ^process to work, she needs self] - * src/main/execute.C, src/main/pa_request.C, src/types/pa_value.C, - src/types/pa_value.h, src/types/pa_vmethod_frame.h, - src/types/pa_vstateless_class.h, www/htdocs/index.html, - www/htdocs/operators.p: allowed Request.self to be 0, checked - that in VMethodFrame get/put and $self. - - * src/classes/table.C, src/classes/xdoc.C, www/htdocs/index.html: - table::sql options table::create copy options options checked, - wrong option now fatal error + * src/: main/execute.C, main/pa_request.C, types/pa_value.C, + types/pa_value.h, types/pa_vmethod_frame.h, + types/pa_vstateless_class.h: allowed Request.self to be 0, + checked that in VMethodFrame get/put and $self. - * src/main/pa_string.C, www/htdocs/index.html: string.replace fixed - [were missing words on pieces boundaries] + * src/classes/: table.C, xdoc.C: table::sql options table::create + copy options options checked, wrong option now fatal error - * bin/auto.p.dist.in: strange \n + * src/main/pa_string.C: string.replace fixed [were missing words on + pieces boundaries] * configure, configure.in: .so now detected [can be .sl on hpux, .dll on cygwin, .so in other cases) - * configure, configure.in, bin/auto.p.dist.in: .so now detected - [can be .sl on hpux, .dll on cygwin, .so in other cases) + * configure, configure.in: .so now detected [can be .sl on hpux, + .dll on cygwin, .so in other cases) * operators.txt, src/classes/hash.C, src/classes/table.C, - src/include/pa_globals.h, src/main/pa_globals.C, - www/htdocs/index.html: table.sql hash::sql flag to allow - duplicate keys [$.distinct(1/0)] first record taken [were last] - - * src/classes/hash.C, src/classes/table.C, - src/include/pa_sql_connection.h, www/htdocs/index.html: table.sql - hash::sql duplicate keys now errors + src/include/pa_globals.h, src/main/pa_globals.C: table.sql + hash::sql flag to allow duplicate keys [$.distinct(1/0)] first + record taken [were last] + + * src/: classes/hash.C, classes/table.C, + include/pa_sql_connection.h: table.sql hash::sql duplicate keys + now errors * src/classes/hash.C: foreach delims bug fixed [were ,2,3] - * src/classes/op.C, src/classes/table.C, www/htdocs/index.html: - menu/for delims bug fixed [were ,2,3] + * src/classes/: op.C, table.C: menu/for delims bug fixed [were + ,2,3] 2002-09-16 paf - * src/classes/file.C, www/htdocs/index.html: file::cgi line ends - can be both unix & dos. and they can be unix [\n\n] on win when - 'use CGI' used, it causes stdout to be binary. now detected - closest header break. + * src/classes/file.C: file::cgi line ends can be both unix & dos. + and they can be unix [\n\n] on win when 'use CGI' used, it causes + stdout to be binary. now detected closest header break. * src/: main/untaint.C, types/pa_vmail.C: mail:send closing ?= now closed right @@ -13214,19 +18587,18 @@ 2002-09-13 paf * operators.txt, src/main/compile.tab.C, src/main/compile.y, - src/main/compile_tools.h, www/htdocs/index.html: (expression - #comment) + src/main/compile_tools.h: (expression #comment) (multiline expression #comment line2 #comment ) (expression #comment with (brackets) comment) << OK - * operators.txt, src/main/compile.tab.C, src/main/compile.y, - www/htdocs/index.html: !| bitwise !|| numerical xor now - [preparing for expression #comments] + * operators.txt, src/main/compile.tab.C, src/main/compile.y: !| + bitwise !|| numerical xor now [preparing for expression + #comments] - * src/main/compile.tab.C, src/main/compile.y, - www/htdocs/index.html: @method[$name] now parse error + * src/main/: compile.tab.C, compile.y: @method[$name] now parse + error * src/: include/pa_config_fixed.h, main/pa_socks.C: HAVE_WINSOCK_H cheched in pa_socks.C @@ -13234,10 +18606,9 @@ * configure, configure.in, src/include/pa_config_auto.h.in: HAVE_WINSOCK_H created in configure.in - * src/main/compile.tab.C, src/main/compile.y, - src/types/pa_vresponse.C, www/htdocs/index.html: cookie date now - clean [were mistakenly tainted & that worked bad with opera -- - 'happily' that worked OK with msie] + * src/: main/compile.tab.C, main/compile.y, types/pa_vresponse.C: + cookie date now clean [were mistakenly tainted & that worked bad + with opera -- 'happily' that worked OK with msie] 2002-09-12 paf @@ -13248,13 +18619,12 @@ * src/main/untaint.C: quoted printable encoding stops before \s*<...>$ - * src/main/untaint.C, www/htdocs/index.html: quoted printable ' ' - now =20 and encoding stops before <...>$ + * src/main/untaint.C: quoted printable ' ' now =20 and encoding + stops before <...>$ 2002-09-11 paf - * src/main/pa_charset.C, src/targets/cgi/parser3.dsp, - www/htdocs/index.html: while fixing ( + * src/: main/pa_charset.C, targets/cgi/parser3.dsp: while fixing ( xmlCharEncodingInput/OutputFunc callbacks returned bad value ) forgot to check users of those funcs. not all were using that return value convention @@ -13284,17 +18654,16 @@ * src/classes/file.C: decided not to log exec's with stderr, that could be warnings, and it's up to scritper to log/show them - * src/classes/double.C, src/main/execute.C, www/htdocs/index.html: - double:sql badly called write_assign_lang, not write_no_lang, - thus doing unnecessary double/string converstion, which were - loosing time&precesion - - * src/main/pa_charset.C, src/types/pa_vmail.C, - www/htdocs/index.html: xmlCharEncodingInput/OutputFunc callbacks - returned bad value in case of unfinished in buffer processing, - causing accidental transcode stop [in case that source enc != - utf-8 & there is incomplete utf-8 sequence at the end of - 16000block iside of libxml lib] tfm readed & code updated + * src/: classes/double.C, main/execute.C: double:sql badly called + write_assign_lang, not write_no_lang, thus doing unnecessary + double/string converstion, which were loosing time&precesion + + * src/: main/pa_charset.C, types/pa_vmail.C: + xmlCharEncodingInput/OutputFunc callbacks returned bad value in + case of unfinished in buffer processing, causing accidental + transcode stop [in case that source enc != utf-8 & there is + incomplete utf-8 sequence at the end of 16000block iside of + libxml lib] tfm readed & code updated 2002-09-04 paf @@ -13302,8 +18671,8 @@ * INSTALL, src/include/pa_config_fixed.h, src/include/pa_sql_connection.h, - src/main/pa_sql_driver_manager.C, www/htdocs/index.html: - -with-sjlj-exceptions define checked. on win32 it made default + src/main/pa_sql_driver_manager.C: -with-sjlj-exceptions define + checked. on win32 it made default * src/include/pa_config_auto.h.in: sjlj define @@ -13311,14 +18680,14 @@ can not work with longjump/throw pair, and one must switch that on there. todo: detect that automatically] - * src/types/pa_vxnode.C, www/htdocs/index.html: removed too strong - checks of xnode.elements. now, for instance, if element does not - have any attributes, $xnode.attributes is void, not error + * src/types/pa_vxnode.C: removed too strong checks of + xnode.elements. now, for instance, if element does not have any + attributes, $xnode.attributes is void, not error 2002-09-02 paf - * operators.txt, src/main/execute.C, src/targets/cgi/parser3.dsp, - www/htdocs/index.html: removed double_result, didn't help + * operators.txt, src/main/execute.C, src/targets/cgi/parser3.dsp: + removed double_result, didn't help * src/main/execute.C: double_result made to move that var away from hungry g++ optimizer (-O2), before: it were optimized and @@ -13340,30 +18709,29 @@ src/main/pa_request.C, src/targets/cgi/parser3.dsp, src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vmail.C, src/types/pa_vmethod_frame.h, src/types/pa_wcontext.h, - src/types/types.dsp, www/htdocs/index.html: junction_cleaner - moved to auto VMethodFrame [called less frequent, allowed to - remove ugly Junction.change_context-s from many places, switch, + src/types/types.dsp: junction_cleaner moved to auto VMethodFrame + [called less frequent, allowed to remove ugly + Junction.change_context-s from many places, switch, mail:send..html{}, ..] request.root renamed to method_frame [more easyreading] ancient {...PUSH/POPs...} changed to stack vars [speed up] 2002-08-28 paf - * src/types/pa_vcookie.C, www/htdocs/index.html: $cookie:name[&] - $cookie:name << now tainted + * src/types/pa_vcookie.C: $cookie:name[&] $cookie:name << now + tainted - * src/types/pa_vcookie.C, www/htdocs/index.html: fixed cookie - delete when $cookie:name[$.value[]] + * src/types/pa_vcookie.C: fixed cookie delete when + $cookie:name[$.value[]] - * operators.txt, src/classes/string.C, www/htdocs/derived.p, - www/htdocs/index.html: ^string.split[delim[;options]] + * operators.txt, src/classes/string.C: + ^string.split[delim[;options]] 2002-08-27 paf * etc/parser3.charsets/Makefile.am: merged from 3.0.0005 - * operators.txt, src/main/compile.tab.C, src/main/compile.y, - www/htdocs/index.html, www/htdocs/mailreceive.eml: # now + * operators.txt, src/main/compile.tab.C, src/main/compile.y: # now delimiter * INSTALL: recommended latest gmime 1.0.5 @@ -13374,46 +18742,38 @@ 2002-08-23 paf - * src/include/pa_common.h, src/main/pa_common.C, - src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, - www/htdocs/index.html: when auto.p beside binary [cgi, isapi] not - accessible [due to bad rights or whatever] it's error now + * src/: include/pa_common.h, main/pa_common.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: when auto.p + beside binary [cgi, isapi] not accessible [due to bad rights or + whatever] it's error now 2002-08-21 paf - * www/htdocs/derived.p: "BASE:" "BASE::" syntax allowed, means - "base class". compiled as if here they named base class - * Makefile.am: can use: make happy equals to make update install - * src/main/compile.tab.C, src/main/compile.y, - src/main/compile_tools.C, src/main/compile_tools.h, - www/htdocs/derived.p: "BASE:" "BASE::" syntax allowed, means - "base class". compiled as if here they named base class + * src/main/: compile.tab.C, compile.y, compile_tools.C, + compile_tools.h: "BASE:" "BASE::" syntax allowed, means "base + class". compiled as if here they named base class - * src/main/pa_string.C, www/htdocs/index.html: fixed bad language - bug, [were wrong string cloning constructor] + * src/main/pa_string.C: fixed bad language bug, [were wrong string + cloning constructor] - * src/main/execute.C, src/types/pa_vobject.h, www/htdocs/base.p, - www/htdocs/derived.p, www/htdocs/index.html: fixed virtual calls + * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls - * bin/auto.p.dist.in, src/targets/cgi/parser3.C, - src/types/pa_vfile.C, src/types/pa_vmail.C, - www/htdocs/mailreceive.eml, www/htdocs/mailreceive.html: + * src/: targets/cgi/parser3.C, types/pa_vfile.C, types/pa_vmail.C: $mail.received.file.value.content-type fixed 2002-08-20 paf - * src/classes/file.C, www/htdocs/index.html: fixed language of - file:file result + * src/classes/file.C: fixed language of file:file result - * operators.txt, src/classes/void.C, www/htdocs/index.html: - ^void.pos[...] = -1 merged from 3.0.0005 + * operators.txt, src/classes/void.C: ^void.pos[...] = -1 merged + from 3.0.0005 * operators.txt, src/classes/void.C: ^void.pos[...] = -1 - * operators.txt, src/classes/void.C, www/htdocs/index.html: - ^void.length[] = 0 merged from 3.0.0005 + * operators.txt, src/classes/void.C: ^void.length[] = 0 merged from + 3.0.0005 * src/classes/void.C, operators.txt: ^void.length[] = 0 @@ -13431,40 +18791,34 @@ 2002-08-15 paf - * src/classes/classes.h, www/htdocs/index.html: write to static var - caused useless Exception, introduced Methoded::put_element wich - consumes those + * src/classes/classes.h: write to static var caused useless + Exception, introduced Methoded::put_element wich consumes those * operators.txt, src/include/pa_common.h, src/main/pa_common.C, src/types/pa_vcookie.C, src/types/pa_vdate.h, - src/types/pa_vresponse.C, src/types/pa_vresponse.h, - www/htdocs/index.html: $response:field[date] - $response:field[$.xxx[date]] + src/types/pa_vresponse.C, src/types/pa_vresponse.h: + $response:field[date] $response:field[$.xxx[date]] - * src/classes/hash.C, src/classes/string.C, src/classes/table.C, - src/classes/void.C, src/include/pa_sql_connection.h, - www/htdocs/index.html: fixed source of ^hash::sql{bad} + * src/: classes/hash.C, classes/string.C, classes/table.C, + classes/void.C, include/pa_sql_connection.h: fixed source of + ^hash::sql{bad} * operators.txt: $request:body unprecessed POST request body - * src/types/pa_vrequest.C, www/htdocs/index.html: $request:body - unprecessed POST request + * src/types/pa_vrequest.C: $request:body unprecessed POST request - * src/types/pa_value.h, src/types/pa_vdate.h, - src/types/pa_vrequest.C, src/types/pa_vxdoc.C, - src/types/pa_vxnode.C, www/htdocs/index.html: few barks: bark("%s - field not found", 0, &aname) + * src/types/: pa_value.h, pa_vdate.h, pa_vrequest.C, pa_vxdoc.C, + pa_vxnode.C: few barks: bark("%s field not found", 0, &aname) * operators.txt, src/classes/form.C, src/include/pa_pool.h, src/include/pa_request.h, src/main/pa_pool.C, - src/types/pa_vform.C, src/types/pa_vform.h, www/htdocs/.htaccess: - planning/preparing_to $request:body r.post_data now const + src/types/pa_vform.C, src/types/pa_vform.h: planning/preparing_to + $request:body r.post_data now const - * src/classes/image.C, src/classes/op.C, src/classes/xdoc.C, - src/classes/xnode.C, src/main/execute.C, src/types/pa_value.h, - src/types/pa_vhash.h, src/types/pa_vobject.C, - src/types/pa_vobject.h, src/types/pa_vtable.h, - www/htdocs/index.html: instead of type() checking everywhere used + * src/: classes/image.C, classes/op.C, classes/xdoc.C, + classes/xnode.C, main/execute.C, types/pa_value.h, + types/pa_vhash.h, types/pa_vobject.C, types/pa_vobject.h, + types/pa_vtable.h: instead of type() checking everywhere used Value.as now user descendants can be used in params. VObject::as_*, is_defined now taken from bases. xtable(table) @@ -13476,26 +18830,21 @@ 2002-08-14 paf - * src/classes/xnode.h, src/main/execute.C, - src/targets/cgi/parser3.dsp, src/types/pa_value.h, - src/types/pa_vclass.C, src/types/pa_vclass.h, - src/types/pa_vcode_frame.h, src/types/pa_vcookie.C, - src/types/pa_vcookie.h, src/types/pa_vdate.h, - src/types/pa_venv.h, src/types/pa_vfile.h, src/types/pa_vform.C, - src/types/pa_vform.h, src/types/pa_vhash.h, - src/types/pa_vimage.h, src/types/pa_vmail.C, - src/types/pa_vmail.h, src/types/pa_vmath.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.C, - src/types/pa_vobject.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.h, - src/types/pa_vstateless_object.h, src/types/pa_vstatus.C, - src/types/pa_vstatus.h, src/types/pa_vstring.h, - src/types/pa_vtable.C, src/types/pa_vtable.h, - 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_wwrapper.h, www/htdocs/index.html: is now works with - VObject & VClass + * src/: classes/xnode.h, main/execute.C, targets/cgi/parser3.dsp, + types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, + types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, + types/pa_vimage.h, types/pa_vmail.C, types/pa_vmail.h, + types/pa_vmath.h, types/pa_vmethod_frame.h, types/pa_vobject.C, + types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.h, types/pa_vstateless_object.h, + types/pa_vstatus.C, types/pa_vstatus.h, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h, + types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, + types/pa_vxnode.h, types/pa_wwrapper.h: is now works with VObject + & VClass * src/types/pa_vmail.C: mail: turned off utf8 to source transcoding @@ -13512,20 +18861,18 @@ * src/targets/cgi/parser3.C: -f config file - * src/targets/cgi/parser3.C, www/htdocs/auto.p, - www/htdocs/derived.p, www/htdocs/index.html: fixed .log file dir + * src/targets/cgi/parser3.C: fixed .log file dir 2002-08-13 paf - * src/types/pa_vobject.C, www/htdocs/derived.p, - www/htdocs/index.html: allow override parent variables, useful + * src/types/pa_vobject.C: allow override parent variables, useful for form descendants [in vobject too, were in vclass] - * src/types/pa_vclass.C, www/htdocs/index.html: allow override - parent variables, useful for form descendants + * src/types/pa_vclass.C: allow override parent variables, useful + for form descendants - * src/types/pa_vclass.C, www/htdocs/derived.p: checked: - form[vclass]fields can be overwritten in derived(table) + * src/types/pa_vclass.C: checked: form[vclass]fields can be + overwritten in derived(table) * src/: classes/form.C, classes/mail.C, classes/op.C, classes/xnode.h, include/pa_request.h, main/execute.C, @@ -13552,47 +18899,37 @@ reorganized modules todo: fix bug with put endless recoursion todo: check 'as' - * src/types/pa_vobject.h, www/htdocs/derived.p: checked: table - fields can be overwritten in derived(table) + * src/types/pa_vobject.h: checked: table fields can be overwritten + in derived(table) - * www/htdocs/derived.p: sample: dont convinient that table fields - can be overridden - - * src/types/pa_vobject.h, www/htdocs/derived.p, - www/htdocs/index.html: derived classes can have fields of their + * src/types/pa_vobject.h: derived classes can have fields of their own now - * src/classes/table.C, src/types/pa_vtable.C, - src/types/pa_vtable.h, www/htdocs/derived.p: fixed error message - on using non-created table - - * src/classes/form.C, src/classes/hash.C, src/classes/mail.C, - src/classes/op.C, src/classes/xnode.h, src/include/pa_request.h, - src/main/compile.C, src/main/compile.tab.C, src/main/execute.C, - src/main/pa_request.C, src/types/pa_value.h, - src/types/pa_vclass.h, src/types/pa_vcode_frame.h, - src/types/pa_vcookie.C, src/types/pa_vcookie.h, - src/types/pa_vdate.h, src/types/pa_venv.h, src/types/pa_vfile.h, - src/types/pa_vform.C, src/types/pa_vform.h, src/types/pa_vhash.h, - src/types/pa_vimage.C, src/types/pa_vimage.h, - src/types/pa_vmail.C, src/types/pa_vmail.h, src/types/pa_vmath.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.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.h, - src/types/pa_vstateless_object.h, src/types/pa_vstatus.C, - src/types/pa_vstatus.h, src/types/pa_vstring.h, - src/types/pa_vtable.C, src/types/pa_vtable.h, - 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_wwrapper.h, www/htdocs/derived.p: VObject.get/out - now looking down/up tree todo: fix error message on - non-constructed parents + * src/: classes/table.C, types/pa_vtable.C, types/pa_vtable.h: + fixed error message on using non-created table + + * src/: classes/form.C, classes/hash.C, classes/mail.C, + classes/op.C, classes/xnode.h, include/pa_request.h, + main/compile.C, main/compile.tab.C, main/execute.C, + main/pa_request.C, types/pa_value.h, types/pa_vclass.h, + types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, + types/pa_vdate.h, types/pa_venv.h, types/pa_vfile.h, + types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, + types/pa_vimage.C, types/pa_vimage.h, types/pa_vmail.C, + types/pa_vmail.h, types/pa_vmath.h, types/pa_vmethod_frame.h, + types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h, + types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.h, types/pa_vstateless_object.h, + types/pa_vstatus.C, types/pa_vstatus.h, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h, + types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, + types/pa_vxnode.h, types/pa_wwrapper.h: VObject.get/out now + looking down/up tree todo: fix error message on non-constructed + parents 2002-08-12 paf - * src/types/pa_vstateless_class.h, - src/types/pa_vstateless_object.h, www/htdocs/derived.p: table + * src/types/: pa_vstateless_class.h, pa_vstateless_object.h: table derived OK * src/main/execute.C: ^base:create[] dynamic call rewritten todo: @@ -13605,68 +18942,52 @@ types/pa_valiased.C, types/pa_valiased.h, types/Makefile.am: ^base:create[] dynamic call rewritten todo: thorough testing - * www/htdocs/: base.p, derived.p: not good - along upward-virtual - call self eq child + * src/types/: pa_value.h, pa_vclass.h, pa_vobject.h: VObject ctor + now instantates base class, remembers it and saves child in + parent VObject.get_class now returns last child = downward + virtual calls OK - * src/types/pa_value.h, src/types/pa_vclass.h, - src/types/pa_vobject.h, www/htdocs/base.p, www/htdocs/derived.p: - VObject ctor now instantates base class, remembers it and saves - child in parent VObject.get_class now returns last child = - downward virtual calls OK - - * src/main/execute.C, src/types/pa_value.h, src/types/pa_vclass.h, - src/types/pa_vdate.h, src/types/pa_vdouble.h, - src/types/pa_vfile.h, src/types/pa_vimage.h, src/types/pa_vint.h, - src/types/pa_vmethod_frame.h, src/types/pa_vobject.h, - src/types/pa_vresponse.h, src/types/pa_vstateless_class.h, - src/types/pa_vstateless_object.h, src/types/pa_vstring.h, - src/types/pa_vtable.h, src/types/pa_vxdoc.h, - src/types/pa_vxnode.h, src/types/pa_wcontext.h, - src/types/types.dsp, www/htdocs/index.html: killed VAliased - [redundant], moved $CLASS to VObject only [parser class instance] - - * bin/auto.p.dist.in: more like in dist on parser.ru - - * bin/auto.p.dist.in: fixed sendmail default comment + * src/: main/execute.C, types/pa_value.h, types/pa_vclass.h, + types/pa_vdate.h, types/pa_vdouble.h, types/pa_vfile.h, + types/pa_vimage.h, types/pa_vint.h, types/pa_vmethod_frame.h, + types/pa_vobject.h, types/pa_vresponse.h, + types/pa_vstateless_class.h, types/pa_vstateless_object.h, + types/pa_vstring.h, types/pa_vtable.h, types/pa_vxdoc.h, + types/pa_vxnode.h, types/pa_wcontext.h, types/types.dsp: killed + VAliased [redundant], moved $CLASS to VObject only [parser class + instance] * src/main/pa_request.C: $response:body[file] content-type check fixed [were bad when content-type is hash] 2002-08-09 paf - * src/main/execute.C, src/types/pa_value.h, src/types/pa_vclass.h, - src/types/pa_vobject.h, src/types/pa_vxdoc.h, - www/htdocs/index.html: started as() + * src/: main/execute.C, types/pa_value.h, types/pa_vclass.h, + types/pa_vobject.h, types/pa_vxdoc.h: started as() 2002-08-08 paf * operators.txt, src/classes/date.C, src/include/pa_globals.h, - src/main/pa_globals.C, www/htdocs/index.html: year column in - month calendar [week year] + src/main/pa_globals.C: year column in month calendar [week year] + + * src/main/execute.C: error reporting on object writes to MAIN + improved [were ruind with fixing $obj[^if(1){$obj}] ] - * src/main/execute.C, www/htdocs/index.html: error reporting on - object writes to MAIN improved [were ruind with fixing - $obj[^if(1){$obj}] ] - - * operators.txt, src/types/pa_vdate.h, www/htdocs/index.html: - $date.yearday $date.daylightsaving - - * src/classes/mail.C, src/types/pa_vmail.C, www/htdocs/auto.p, - www/htdocs/index.html: in letter texts one can use tainted data - now. only she must specify the language. + * operators.txt, src/types/pa_vdate.h: $date.yearday + $date.daylightsaving + + * src/: classes/mail.C, types/pa_vmail.C: in letter texts one can + use tainted data now. only she must specify the language. ^mail:send[ $.from[paf@mail.design.ru] $.to[paf@mail.design.ru] $.subject[^taint[uri][москва]=2] $.text[^taint[uri][москва]=] ] - * www/htdocs/index.html: ^process now prints more precise origin - - * src/classes/file.C, src/classes/op.C, src/types/pa_vfile.C, - www/htdocs/index.html: ^process now prints more precise origin + * src/: classes/file.C, classes/op.C, types/pa_vfile.C: ^process + now prints more precise origin - * src/include/pa_string.h, www/htdocs/index.html: - String::first_char now not fails on empty strings ^if(-f '') now - ok and in 3 other places. + * src/include/pa_string.h: String::first_char now not fails on + empty strings ^if(-f '') now ok and in 3 other places. * operators.txt, src/include/pa_string.h, src/main/pa_string.C: String::first_char now not fails on empty strings ^if(-f '') now @@ -13674,60 +18995,50 @@ 2002-08-07 paf - * src/classes/string.C, src/main/pa_string.C, - www/htdocs/index.html: ^string.mid(0;bad) fixed - - * src/main/pa_string.C, www/htdocs/index.html: ^string.mid(0;bad) + * src/: classes/string.C, main/pa_string.C: ^string.mid(0;bad) fixed - * src/main/execute.C, src/types/pa_vcode_frame.h, - src/types/pa_vmethod_frame.h, src/types/pa_wcontext.C, - src/types/pa_wcontext.h, src/types/pa_wwrapper.h, - www/htdocs/index.html: vcodeframe were mistakenly not completely - transparent to object writes. $hash[^if(1){$hash}] now works + * src/main/pa_string.C: ^string.mid(0;bad) fixed + + * src/: main/execute.C, types/pa_vcode_frame.h, + types/pa_vmethod_frame.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: vcodeframe were + mistakenly not completely transparent to object writes. + $hash[^if(1){$hash}] now works * operators.txt, src/classes/op.C: ^cache...{...^cache<client only - when text/* or simple onoverridden $response:body + * operators.txt, src/main/pa_request.C, src/types/pa_vform.C: + response transcoded source->client only when text/* or simple + onoverridden $response:body 2002-08-01 paf @@ -13812,7 +19121,7 @@ types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, - types/pa_wcontext.h, types/pa_wwrapper.h: $Date: 2013/10/29 16:21:27 $ + types/pa_wcontext.h, types/pa_wwrapper.h: Date: now * src/: classes/classes.C, classes/classes.dsp, classes/classes.h, classes/date.C, classes/double.C, classes/file.C, classes/form.C, @@ -13891,8 +19200,8 @@ * src/main/pa_charset.C: comment - * src/main/pa_charset.C, www/htdocs/auto.p: UTF-8 to 1byte charset - convert, no char in table, &#decimal; + * src/main/pa_charset.C: UTF-8 to 1byte charset convert, no char in + table, &#decimal; * src/main/pa_request.C: comment @@ -13941,8 +19250,7 @@ src/include/pa_pool.h, src/include/pa_version.h, src/main/pa_charset.C, src/main/pa_pool.C, src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.dsp, - src/types/pa_vmail.C, www/htdocs/index.html: merged latest - updates to head + src/types/pa_vmail.C: merged latest updates to head 2002-06-27 paf @@ -13951,13 +19259,12 @@ * operators.txt, src/classes/xdoc.C, src/include/pa_charset.h, src/include/pa_config_fixed.h, src/include/pa_pool.h, - src/main/pa_charset.C, src/main/pa_pool.C, www/htdocs/index.html: + src/main/pa_charset.C, src/main/pa_pool.C: ^xdoc::create[[uri]]... base uri for document being created, imports and other relative file names would be relative to this uri default uri=path_translated - * src/classes/xdoc.C, www/htdocs/index.html: xsltParseStylesheetDoc - bug workaround + * src/classes/xdoc.C: xsltParseStylesheetDoc bug workaround 2002-06-26 paf @@ -13971,26 +19278,23 @@ 2002-06-25 paf - * www/htdocs/index.html, src/main/pa_string.C: emtpy string, or - string of whitespaces considered bad number now - - * www/htdocs/index.html: ^xdoc.transform[xdoc < - * configure: parser3.conf renamed to auto.p autoconf changes - * INSTALL, configure.in, operators.txt, bin/Makefile.am, - bin/auto.p.dist.in, src/doc/doxygen.cfg, + * INSTALL, configure.in, operators.txt, src/doc/doxygen.cfg, src/include/pa_globals.h, src/targets/cgi/parser3.C, - src/targets/isapi/parser3isapi.C, www/htdocs/auto.p, - www/htdocs/index.html: parser3.conf renamed to auto.p + src/targets/isapi/parser3isapi.C: parser3.conf renamed to auto.p 2002-06-18 paf @@ -14108,7 +19405,7 @@ * INSTALL: reflected .conf.dist dir change - * Makefile.am, configure, configure.in, bin/Makefile.am, + * Makefile.am, configure, configure.in, etc/parser3.charsets/Makefile.am: parser3.conf.dist moved to bin, .in & *.am updated @@ -14116,14 +19413,12 @@ * src/classes/file.C: strcasecmp - * bin/Makefile.am, etc/Makefile.am, www/htdocs/index.html: - bin/parser3.conf.dist [moved from etc + * etc/Makefile.am: bin/parser3.conf.dist [moved from etc * src/classes/file.C: ^file::exec[script;$.bad error case insensitive check now - * src/classes/file.C, www/htdocs/index.html: - ^file::exec[script;$.bad now error, not skip + * src/classes/file.C: ^file::exec[script;$.bad now error, not skip * configure, configure.in, src/include/pa_pool.h, src/include/pa_types.h: pack configure.in detection simplified. @@ -14168,14 +19463,12 @@ * src/classes/file.C: check simplified - * src/classes/file.C, src/targets/cgi/parser3.dsp, - src/targets/isapi/parser3isapi.C, www/htdocs/.htaccess, - www/htdocs/index.html: suexec env keys filter plus CGI_ as valid - prefix + * src/: classes/file.C, targets/cgi/parser3.dsp, + targets/isapi/parser3isapi.C: suexec env keys filter plus CGI_ as + valid prefix - * src/classes/file.C, src/include/pa_request.h, - src/include/pa_sapi.h, src/targets/cgi/parser3.C, - src/targets/isapi/parser3isapi.C, www/htdocs/index.html: + * src/: classes/file.C, include/pa_request.h, include/pa_sapi.h, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: file::exec/cgi to pass HTTP_ vars introducing SAPI::environment 2002-06-10 paf @@ -14183,16 +19476,14 @@ * operators.txt, src/classes/op.C, src/include/pa_common.h, src/main/pa_common.C: lock failures reported now - * src/main/compile_tools.C, www/htdocs/index.html: ^if(" 1 "){y} - bug fixed optimization string->double @ compile time were - not-enough-checking... - - * src/main/compile.tab.C, src/main/pa_string.C, - www/htdocs/index.html: whitespace after number in autoconvert now - ignored + * src/main/compile_tools.C: ^if(" 1 "){y} bug fixed optimization + string->double @ compile time were not-enough-checking... - * src/types/pa_vform.C, src/types/pa_vform.h, - www/htdocs/index.html: $form: not determined yet check + * src/main/: compile.tab.C, pa_string.C: whitespace after number in + autoconvert now ignored + + * src/types/: pa_vform.C, pa_vform.h: $form: not determined yet + check * src/classes/mail.C: mail netscape attachment name fixed. todo: $response:body content-type:name @@ -14221,9 +19512,8 @@ src/classes/classes.dsp, src/main/compile.tab.C, src/main/main.dsp, src/main/pa_globals.C, src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp, - src/targets/isapi/parser3isapi.dsp, src/types/types.dsp, - www/htdocs/index.html: fixed .dsp-s along with reorganized cvs - modules dirs structure + src/targets/isapi/parser3isapi.dsp, src/types/types.dsp: fixed + .dsp-s along with reorganized cvs modules dirs structure * src/: classes/classes.dsp, main/compile.tab.C, main/main.dsp, main/pa_globals.C, targets/cgi/parser3.dsp, @@ -14241,19 +19531,17 @@ 2002-05-16 paf - * src/classes/image.C, www/htdocs/index.html: image::measure can - png now + * src/classes/image.C: image::measure can png now 2002-05-15 paf - * operators.txt, src/classes/date.C, www/htdocs/index.html: - ^date::create[%H:%M[:%S]] added + * operators.txt, src/classes/date.C: ^date::create[%H:%M[:%S]] + added * etc/parser3.charsets/windows-1251.cfg: 0x forgot, fixed - * operators.txt, src/classes/date.C, www/htdocs/.htaccess, - www/htdocs/auto.p, www/htdocs/index.html: - ^date::create[%Y[-%m[-%d[ %H[:%M[:%S]]]]]] [-%m now + * operators.txt, src/classes/date.C: ^date::create[%Y[-%m[-%d[ + %H[:%M[:%S]]]]]] [-%m now 2002-05-14 paf @@ -14268,24 +19556,20 @@ src/main/pa_request.C, src/main/pa_table.C, src/targets/isapi/pa_pool.C, src/targets/isapi/parser3isapi.C, src/targets/isapi/parser3isapi.dsp, - src/targets/isapi/pool_storage.h, src/types/types.dsp, - www/htdocs/parser-status.html: Table name2number field now &. - main_method_name now on Request pool rather on global_pool - [Junction+VJunction created on same pool as name = were created - on global pool, causing mem leaks] - - * src/classes/classes.dsp, src/classes/op.C, - src/include/pa_globals.h, src/include/pa_request.h, - src/include/pa_table.h, src/main/compile.tab.C, - src/main/compile.y, src/main/main.dsp, src/main/pa_globals.C, - src/main/pa_request.C, src/main/pa_table.C, - src/targets/isapi/pa_pool.C, src/targets/isapi/parser3isapi.C, - src/targets/isapi/parser3isapi.dsp, - src/targets/isapi/pool_storage.h, src/types/types.dsp, - www/htdocs/parser-status.html: Table name2number field now &. - main_method_name now on Request pool rather on global_pool - [Junction+VJunction created on same pool as name = were created - on global pool, causing mem leaks] + src/targets/isapi/pool_storage.h, src/types/types.dsp: Table + name2number field now &. main_method_name now on Request pool + rather on global_pool [Junction+VJunction created on same pool as + name = were created on global pool, causing mem leaks] + + * src/: classes/classes.dsp, classes/op.C, include/pa_globals.h, + include/pa_request.h, include/pa_table.h, main/compile.tab.C, + main/compile.y, main/main.dsp, main/pa_globals.C, + main/pa_request.C, main/pa_table.C, targets/isapi/pa_pool.C, + targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, + targets/isapi/pool_storage.h, types/types.dsp: Table name2number + field now &. main_method_name now on Request pool rather on + global_pool [Junction+VJunction created on same pool as name = + were created on global pool, causing mem leaks] 2002-05-06 paf @@ -14301,8 +19585,7 @@ * configure, src/include/pa_version.h: version now not b - * src/targets/cgi/parser3.C, www/htdocs/global.xsl, - www/htdocs/index.html: request.uri now never 0 + * src/targets/cgi/parser3.C: request.uri now never 0 2002-04-29 paf @@ -14320,8 +19603,8 @@ 2002-04-26 paf - * src/doc/doxygen.cfg, src/targets/cgi/parser3.dsp, - www/htdocs/index.html: doxygen dot image size reduced + * src/: doc/doxygen.cfg, targets/cgi/parser3.dsp: doxygen dot image + size reduced 2002-04-25 paf @@ -14332,16 +19615,13 @@ * operators.txt, src/classes/date.C: ^date::create[2002-12-33 01:03:04] - * ChangeLog, operators.txt, src/classes/date.C, - www/htdocs/index.html: ^date::create[2002-12-33 01:03:04] + * ChangeLog, operators.txt, src/classes/date.C: + ^date::create[2002-12-33 01:03:04] * ChangeLog: updated changelog - * www/htdocs/index.html: sample of 'using junction out of context' - - * src/classes/table.C, www/htdocs/.htaccess, www/htdocs/index.html: - removed restriction on column count to ^table.hash to work, now - must be >0 [were >1] + * src/classes/table.C: removed restriction on column count to + ^table.hash to work, now must be >0 [were >1] 2002-04-24 paf @@ -14352,7 +19632,7 @@ 2002-04-23 paf - * operators.txt, src/classes/string.C, www/htdocs/index.html: + * operators.txt, src/classes/string.C: int/double/string:sql{}[$.default{code}] fixed [were barking: "junction used outside of context"] @@ -14372,23 +19652,21 @@ * src/main/execute.C: rolled back to before_killing_userjunction_contexts - * src/main/execute.C, www/htdocs/index.html: user junctions context - killed + * src/main/execute.C: user junctions context killed - * src/main/execute.C, www/htdocs/index.html: junctions to local - contexts got cleanized&checked later + * src/main/execute.C: junctions to local contexts got + cleanized&checked later 2002-04-19 paf - * src/classes/string.C, src/include/pa_request.h, - src/include/pa_string.h, src/main/pa_request.C, - src/main/pa_string.C, src/types/pa_vstring.C, - src/types/pa_vstring.h, www/htdocs/index.html: string now - optimized prior to .left .right .mid .pos .match when that is - profitable, and always before .replace when $ORIGINS(1) - optimization disabled economy from not wasting mem on lots of - strings which occur by lots of String:mid calls to get parts of - source string between found_occurances + * src/: classes/string.C, include/pa_request.h, + include/pa_string.h, main/pa_request.C, main/pa_string.C, + types/pa_vstring.C, types/pa_vstring.h: string now optimized + prior to .left .right .mid .pos .match when that is profitable, + and always before .replace when $ORIGINS(1) optimization disabled + economy from not wasting mem on lots of strings which occur by + lots of String:mid calls to get parts of source string between + found_occurances * src/classes/file.C: ovector now local economy: 16 bytes per ^file:list @@ -14404,10 +19682,9 @@ * src/doc/footer.htm: 2001, - * src/classes/string.C, src/include/pa_string.h, - src/main/pa_string.C, www/htdocs/index.html: string.match[]['] - option enables generation of $match.prematch .match .postmatch - columns + * src/: classes/string.C, include/pa_string.h, main/pa_string.C: + string.match[]['] option enables generation of $match.prematch + .match .postmatch columns * src/main/pa_string.C: String::match options analized without cstr-ing them now @@ -14422,9 +19699,9 @@ * src/doc/doxygen.cfg: .chi generation disabled - * src/classes/classes.h, src/classes/xdoc.C, src/classes/xnode.C, - src/classes/xnode.h, src/types/pa_vxdoc.C, www/htdocs/index.html: - xdoc(xnode) now fully - fields&methods + * src/: classes/classes.h, classes/xdoc.C, classes/xnode.C, + classes/xnode.h, types/pa_vxdoc.C: xdoc(xnode) now fully - + fields&methods * src/: classes/classes.h, classes/hash.C, types/pa_value.h, types/pa_vbool.h, types/pa_vcookie.h, types/pa_vdate.h, @@ -14437,45 +19714,38 @@ types/pa_vxdoc.h, types/pa_vxnode.h: fclass_real lowered from VStateless_class to VObject - * src/main/pa_request.C, src/types/pa_valiased.h, - src/types/pa_vstateless_class.h, - src/types/pa_vstateless_object.h, src/types/pa_vstring.h, - www/htdocs/index.html: VStateless_string_object speicalized light + * src/: main/pa_request.C, types/pa_valiased.h, + types/pa_vstateless_class.h, types/pa_vstateless_object.h, + types/pa_vstring.h: VStateless_string_object speicalized light version of VStateless_object * src/classes/op.C: ^throw comment param made optional - * src/types/pa_valiased.C, src/types/pa_valiased.h, - src/types/pa_vclass.h, src/types/pa_vobject.h, - src/types/pa_wcontext.C, www/htdocs/index.html: VAliased get/set - alias now virtual and implemented down in VClass, fclass_alias - removed, + * src/types/: pa_valiased.C, pa_valiased.h, pa_vclass.h, + pa_vobject.h, pa_wcontext.C: VAliased get/set alias now virtual + and implemented down in VClass, fclass_alias removed, * src/types/pa_value.C: forced to cut that from .h because of VStateless_class usage [undefined in .h] - * src/include/pa_opcode.h, 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_request.C, src/types/pa_vmethod_frame.h, - www/htdocs/index.html: OP_GET_METHOD_FRAME merged with OP_CALL, - VCodeFrame move to stack [no more heap waste on each CALL] + * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, + main/compile_tools.C, main/compile_tools.h, main/execute.C, + main/pa_request.C, types/pa_vmethod_frame.h: OP_GET_METHOD_FRAME + merged with OP_CALL, VCodeFrame move to stack [no more heap waste + on each CALL] - * src/classes/classes.h, src/classes/date.C, src/classes/double.C, - src/classes/file.C, src/classes/form.C, src/classes/hash.C, - src/classes/image.C, src/classes/int.C, src/classes/mail.C, - src/classes/math.C, src/classes/op.C, src/classes/response.C, - src/classes/string.C, src/classes/table.C, src/classes/void.C, - src/classes/xnode.C, src/include/pa_globals.h, - src/include/pa_request.h, src/main/execute.C, - src/main/pa_globals.C, src/main/pa_request.C, - src/types/Makefile.am, src/types/pa_value.h, - src/types/pa_vdouble.h, src/types/pa_vform.C, - src/types/pa_vhash.h, src/types/pa_vint.h, src/types/pa_vmath.h, - src/types/pa_vmethod_frame.h, src/types/pa_vstateless_class.h, - src/types/pa_wcontext.C, src/types/pa_wcontext.h, - src/types/pa_wwrapper.h, src/types/types.dsp, - www/htdocs/index.html: removed Value::fname + * src/: classes/classes.h, classes/date.C, classes/double.C, + classes/file.C, classes/form.C, classes/hash.C, classes/image.C, + classes/int.C, classes/mail.C, classes/math.C, classes/op.C, + classes/response.C, classes/string.C, classes/table.C, + classes/void.C, classes/xnode.C, include/pa_globals.h, + include/pa_request.h, main/execute.C, main/pa_globals.C, + main/pa_request.C, types/Makefile.am, types/pa_value.h, + types/pa_vdouble.h, types/pa_vform.C, types/pa_vhash.h, + types/pa_vint.h, types/pa_vmath.h, types/pa_vmethod_frame.h, + types/pa_vstateless_class.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h, types/types.dsp: + removed Value::fname 2002-04-17 paf @@ -14494,23 +19764,22 @@ * asm.txt, form.txt, lang.txt, sql.txt: removed outdated. see in Attic asm.txt as most interesting - * src/main/pa_request.C, src/targets/isapi/parser3isapi.C, - www/htdocs/index.html: removed check, preventing content-length: - 0 from appearing - - * src/main/execute.C, www/htdocs/index.html: $result in @main now - taken into account as in usual functions - - * src/doc/postbuild.txt, src/main/execute.C, www/htdocs/index.html: - $result in @postprocess & @unhandled_exception now taken into - account as in usual functions + * src/: main/pa_request.C, targets/isapi/parser3isapi.C: removed + check, preventing content-length: 0 from appearing + + * src/main/execute.C: $result in @main now taken into account as in + usual functions + + * src/: doc/postbuild.txt, main/execute.C: $result in @postprocess + & @unhandled_exception now taken into account as in usual + functions * src/doc/postbuild.txt: instructions on post .html build * src/doc/: doxygen.cfg, html2chm.cmd: .chm file only now, no .chi - * src/classes/file.C, src/main/pa_exec.C, www/htdocs/index.html: - stderr of execs mark as tainted + * src/: classes/file.C, main/pa_exec.C: stderr of execs mark as + tainted * src/main/pa_request.C: uri in error log @@ -14527,8 +19796,7 @@ * src/classes/op.C: _process pseudo origin copied from local var to heap - * src/classes/op.C, www/htdocs/auto.p: extra check on empty file in - origin in _execute + * src/classes/op.C: extra check on empty file in origin in _execute 2002-04-15 paf @@ -14561,19 +19829,16 @@ compile_tools.h, execute.C: OP_GET_ELEMENT+OP_GET_ELEMENT__WRITE changed to OP_WRITE_VALUE in var get cases - * src/classes/op.C, src/include/pa_globals.h, - src/include/pa_opcode.h, src/include/pa_request.h, - 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_globals.C, src/main/pa_request.C, - src/targets/cgi/parser3.C, www/htdocs/index.html: switch in hash - constructor fixed [were problems with using of stacked wwrapper - after it's death] + * src/: classes/op.C, include/pa_globals.h, include/pa_opcode.h, + include/pa_request.h, main/compile.tab.C, main/compile.y, + main/compile_tools.C, main/compile_tools.h, main/execute.C, + main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C: + switch in hash constructor fixed [were problems with using of + stacked wwrapper after it's death] 2002-04-12 paf - * operators.txt, src/classes/table.C, www/htdocs/index.html: - table.select(expression) 0 + * operators.txt, src/classes/table.C: table.select(expression) 0 2002-04-11 paf @@ -14590,9 +19855,8 @@ main/pa_string.C: killed Request::process() wrapping VString(String) in case we need only String - * src/include/pa_string.h, src/main/pa_string.C, - src/main/untaint.C, www/htdocs/index.html: killed 8 bytes from - String.head + * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: + killed 8 bytes from String.head 2002-04-09 paf @@ -14602,22 +19866,21 @@ * operators.txt, src/classes/xdoc.C: xslt params made literal - * src/classes/xdoc.C, www/htdocs/global.xsl, www/htdocs/index.html: - xslt params fixed + * src/classes/xdoc.C: xslt params fixed * src/: main/pa_common.C, targets/cgi/parser3.C, types/pa_vdouble.h, types/pa_vint.h: int/double get_string now not pool.malloc(MAX_NUMBER) but really neaded - * operators.txt, src/classes/double.C, src/classes/int.C, - www/htdocs/global.xsl: int/double.int/double(default) + * operators.txt, src/classes/double.C, src/classes/int.C: + int/double.int/double(default) 2002-04-04 paf - * src/include/pa_string.h, src/main/pa_string.C, - www/htdocs/index.html: fixed string.replace [when reconstructing - pieces were split by max_integral(piece.size), thus some strings - to replace happen to be split into two = not replaced) + * src/: include/pa_string.h, main/pa_string.C: fixed string.replace + [when reconstructing pieces were split by + max_integral(piece.size), thus some strings to replace happen to + be split into two = not replaced) * src/targets/cgi/: parser3.C, parser3.dsp: document root in standalone version = current dir @@ -14646,17 +19909,16 @@ * etc/parser3.charsets/koi8-r.cfg: koi8-r += ukranian letters - * operators.txt, src/classes/date.C, www/htdocs/index.html: - ^date::create now may not supply day, default 1. checked 29.03 - -> 29.02 roll on non 366 days' year. | 31.05->31.04 roll + * operators.txt, src/classes/date.C: ^date::create now may not + supply day, default 1. checked 29.03 -> 29.02 roll on non 366 + days' year. | 31.05->31.04 roll 2002-03-28 paf * operators.txt, src/classes/date.C, src/classes/op.C, src/include/pa_globals.h, src/include/pa_hash.h, - src/main/pa_globals.C, src/types/pa_vdate.h, - www/htdocs/index.html: ^cache[file][date]{ ^cache(seconds) - ^cache[date] } + src/main/pa_globals.C, src/types/pa_vdate.h: ^cache[file][date]{ + ^cache(seconds) ^cache[date] } * src/classes/: xdoc.C, xnode.C, xnode.h: removed redundant pool param @@ -14683,8 +19945,7 @@ src/types/pa_vmethod_frame.h, src/types/pa_vstatus.C, src/types/pa_vtable.C, src/types/pa_vxdoc.h, src/types/pa_vxnode.h, src/types/pa_wcontext.C, - src/types/pa_wwrapper.h, www/htdocs/index.html: assigned - exception types + src/types/pa_wwrapper.h: assigned exception types * operators.txt, src/classes/op.C, src/include/pa_config_fixed.h, src/include/pa_request.h, src/main/execute.C, @@ -14696,19 +19957,17 @@ * src/: include/pa_common.h, main/pa_exec.C: windows exec chdir fixed - * src/classes/op.C, www/htdocs/index.html: forced language of - $source field of exception to 'tainted', so that sql-langed-frags - could be outputed outside of connect + * src/classes/op.C: forced language of $source field of exception + to 'tainted', so that sql-langed-frags could be outputed outside + of connect * operators.txt: removed date.roll limit of +-1 offset - * src/classes/date.C, www/htdocs/index.html: removed date.roll - limit of +-1 offset + * src/classes/date.C: removed date.roll limit of +-1 offset - * operators.txt, src/classes/date.C, www/htdocs/index.html: fixed - date roll on daylightsaving days mktime took into account - tm_isdst flag, which remained from BEFORE roll, but should have - been reset + * operators.txt, src/classes/date.C: fixed date roll on + daylightsaving days mktime took into account tm_isdst flag, which + remained from BEFORE roll, but should have been reset 2002-03-25 paf @@ -14749,15 +20008,14 @@ * operators.txt, src/classes/op.C, src/include/pa_exception.h, src/include/pa_globals.h, src/include/pa_request.h, src/include/pa_stack.h, src/main/pa_globals.C, - src/main/pa_request.C, www/htdocs/index.html: introducing ^try + src/main/pa_request.C: introducing ^try * src/: main/pa_charset.C, targets/isapi/pa_threads.C, types/pa_vdouble.h: removed some tested @tests 2002-03-15 paf - * operators.txt, src/classes/table.C, www/htdocs/index.html: - ^table.locate(logical expr) + * operators.txt, src/classes/table.C: ^table.locate(logical expr) 2002-03-13 paf @@ -14770,15 +20028,14 @@ * src/main/pa_common.C: --disable-foreign-group-files - * INSTALL, www/htdocs/index.html: --disable-execs + * INSTALL: --disable-execs - * src/main/pa_exec.C, www/htdocs/index.html: --disable-execs + * src/main/pa_exec.C: --disable-execs * configure, configure.in, src/include/pa_config_auto.h.in: --disable-execs - * src/include/pa_config_fixed.h, src/main/pa_exec.C, - www/htdocs/index.html: --disable-execs + * src/: include/pa_config_fixed.h, main/pa_exec.C: --disable-execs * src/types/pa_vfile.C: $file.text now 0A linebreaks, file::exec/cgi linebreaks "0D0A" changed to 0A onces @@ -14795,14 +20052,13 @@ requires headers to be terminated with \r\n manually [refuses to separate header/body itself] - * src/main/pa_globals.C, src/targets/cgi/parser3.C, - src/targets/isapi/parser3isapi.C, www/htdocs/index.html: isapi - site config beside .dll + * src/: main/pa_globals.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: isapi site config beside .dll 2002-03-04 paf - * src/classes/op.C, src/types/pa_vfile.C, www/htdocs/index.html: - process body now evaluated in PASS language + * src/: classes/op.C, types/pa_vfile.C: process body now evaluated + in PASS language * src/: classes/op.C, include/pa_string.h, main/pa_string.C: string deserialize checks on broken file @@ -14823,8 +20079,6 @@ * configure, configure.in: apache module updated - * www/htdocs/auto.p: apache module updated - * src/main/pa_string.C: origin by first piece preferred before last piece @@ -14840,8 +20094,7 @@ * src/main/pa_exec.C: more precise names for vars, cosmetic - * src/classes/xnode.C, www/htdocs/auto.p, www/htdocs/global.xsl, - www/htdocs/index.html: in some situation, xpath query returned + * src/classes/xnode.C: in some situation, xpath query returned result with type NODESET, but empty nodeset member field, checked that @@ -14863,9 +20116,8 @@ * src/main/pa_string.C: string iterators fixed again, so were String::join_chain - * src/include/pa_string.h, src/main/pa_string.C, www/htdocs/auto.p, - www/htdocs/index.html: string iterators fixed again, so were - String::join_chain + * src/: include/pa_string.h, main/pa_string.C: string iterators + fixed again, so were String::join_chain * src/types/pa_vcookie.C: cookie "expires=0" = "session" @@ -14909,9 +20161,9 @@ 2002-02-20 paf - * src/include/pa_string.h, src/main/execute.C, src/main/untaint.C, - src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C, - www/htdocs/index.html: //#define DEBUG_STRING_APPENDS_VS_EXPANDS + * src/: include/pa_string.h, main/execute.C, main/untaint.C, + targets/cgi/pa_pool.C, targets/cgi/parser3.C: //#define + DEBUG_STRING_APPENDS_VS_EXPANDS * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: economy: 22% @@ -14919,20 +20171,17 @@ * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: space uptimized: string::link_row removed - * src/include/pa_string.h, src/include/pa_stylesheet_connection.h, - src/main/pa_db_manager.C, src/main/pa_dictionary.C, - src/main/pa_string.C, src/main/untaint.C, - src/targets/cgi/parser3.C, src/types/pa_vcookie.C, - src/types/pa_vstring.h, www/htdocs/index.html: speed uptimized: - string::is_empty + * src/: include/pa_string.h, include/pa_stylesheet_connection.h, + main/pa_db_manager.C, main/pa_dictionary.C, main/pa_string.C, + main/untaint.C, targets/cgi/parser3.C, types/pa_vcookie.C, + types/pa_vstring.h: speed uptimized: string::is_empty * operators.txt, src/include/pa_common.h, src/include/pa_config_fixed.h, src/include/pa_string.h, src/include/pa_types.h, src/main/compile.tab.C, src/main/execute.C, src/main/pa_string.C, src/main/untaint.C, - src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C, - www/htdocs/auto.p, www/htdocs/global.xsl, www/htdocs/index.html: - strign to string append optimiziation idea and estimates + src/targets/cgi/pa_pool.C, src/targets/cgi/parser3.C: strign to + string append optimiziation idea and estimates 2002-02-19 paf @@ -14954,12 +20203,12 @@ * src/main/pa_globals.C: extern "C" was removed too fast - * src/include/pa_opcode.h, src/include/pa_request.h, - src/main/compile.tab.C, src/main/compile.y, src/main/execute.C, - src/types/pa_wcontext.h, www/htdocs/index.html: in_expression - aimed to solve old problem with string/nonstring values, now in - expressions double/int values are passed as-is, without stupid - tostring/fromstring conversions + * src/: include/pa_opcode.h, include/pa_request.h, + main/compile.tab.C, main/compile.y, main/execute.C, + types/pa_wcontext.h: in_expression aimed to solve old problem + with string/nonstring values, now in expressions double/int + values are passed as-is, without stupid tostring/fromstring + conversions * src/main/: main.dsp, pa_globals.C: removed unneded #ifdef __cplusplus } #endif @@ -14976,12 +20225,9 @@ * operators.txt, src/classes/date.C: date::create [were date::set, with backward comp - * src/classes/math.C, www/htdocs/index.html: math:random range - check fixed + * src/classes/math.C: math:random range check fixed - * src/main/compile.tab.C, src/main/compile.y, - www/htdocs/global.xsl, www/htdocs/index.html: integer division - stops name + * src/main/: compile.tab.C, compile.y: integer division stops name * INSTALL: local install comment @@ -15158,9 +20404,8 @@ xdoc::set obsolete now, now xdoc::create, with both sences * operators.txt, src/classes/table.C, src/include/pa_array.h, - src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C, - www/htdocs/auto.p, www/htdocs/index.html: table::create now // - 'set' name obsolete now table clone. + src/include/pa_table.h, src/main/pa_array.C, src/main/pa_table.C: + table::create now // 'set' name obsolete now table clone. * operators.txt, src/classes/string.C, src/include/pa_config_fixed.h, src/main/compile.tab.C: @@ -15203,8 +20448,8 @@ * configure.in, operators.txt, src/classes/file.C, src/classes/op.C, src/include/pa_common.h, src/include/pa_config_includes.h, src/main/compile.tab.C, - src/main/pa_common.C, www/htdocs/index.html: rewritten ^cache to - use non-blocking-exclusive-caches + src/main/pa_common.C: rewritten ^cache to use + non-blocking-exclusive-caches * src/main/pa_common.C: text file read mode on win32 adjusted [speed impact. was off for debugging purpose, but forgotten @@ -15244,16 +20489,15 @@ staying in 'entered class' state after $a:a(a) it prevented operators from being called thereafter - * src/main/execute.C, src/types/pa_wcontext.h, www/htdocs/auto.p, - www/htdocs/index.html: operators check 2 floated up old error of - staying in 'entered class' state after $a:a[a] it prevented - operators from being called thereafter + * src/: main/execute.C, types/pa_wcontext.h: operators check 2 + floated up old error of staying in 'entered class' state after + $a:a[a] it prevented operators from being called thereafter - * src/main/execute.C, www/htdocs/index.html: operators check, thay - mistakenly seen in $class:operator $object.operators contexts + * src/main/execute.C: operators check, thay mistakenly seen in + $class:operator $object.operators contexts - * src/classes/xdoc.C, src/targets/cgi/parser3.dsp, - www/htdocs/index.html: now compiles under win32 + * src/: classes/xdoc.C, targets/cgi/parser3.dsp: now compiles under + win32 * INSTALL, configure, configure.in, ident.awk, etc/Makefile.am, src/classes/Makefile.am, src/main/Makefile.am, @@ -15272,13 +20516,11 @@ etc/parser3.charsets/windows-1251.cfg, src/Makefile.am, src/classes/Makefile.am, src/include/pa_config_auto.h.in, src/main/Makefile.am, src/targets/cgi/Makefile.am, - src/targets/cgi/parser3.C, src/types/Makefile.am, - www/Makefile.am, www/htdocs/auto.p, www/htdocs/global.xsl, - www/htdocs/index.html, www/htdocs/parser-status.html, - www/htdocs/people.dtd: moved etc&www out of src, moved - configure&co out of src added windows-1250.cfg straightened - installation scripts procedure made targets/cgi/parser3.C be - dependant on ./configure --sysconfdir change + src/targets/cgi/parser3.C, src/types/Makefile.am: moved etc&www + out of src, moved configure&co out of src added windows-1250.cfg + straightened installation scripts procedure made + targets/cgi/parser3.C be dependant on ./configure --sysconfdir + change 2002-01-30 paf @@ -17962,7 +23204,7 @@ main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_table.C, main/untaint.C, targets/cgi/parser3.C, - targets/isapi/parser3isapi.C: static char *RCSId="$Id: ChangeLog,v 1.92 2013/10/29 16:21:27 moko Exp $"; + targets/isapi/parser3isapi.C: static char *RCSId="Id"; * src/main/: compile.y, compile_tools.h: $:name: == ${name}: $class:name: == ${class:name}: @@ -20777,9 +26019,9 @@ * src/include/: pa_pool.h, pa_string.h: pa_pool split - * src/main/: main.dsp, pa_string.C: $Id: ChangeLog,v 1.92 2013/10/29 16:21:27 moko Exp $ check + * src/main/: main.dsp, pa_string.C: Id check - * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: $Id: ChangeLog,v 1.92 2013/10/29 16:21:27 moko Exp $ + * src/: main/pa_pool.C, main/pa_string.C, include/pa_pool.h: Id check * src/: include/pa_pool.h, main/pa_string.C: String prealloc &