2026-05-28 moko * src/include/pa_config_includes.h: warnings war * src/classes/classes.h: warnings war * src/include/pa_inline_hash.h: fix for old gcc 2026-05-24 moko * src/main/pa_request.C, tests/httpd/041.txt, tests/httpd/042.txt, tests/httpd/043.txt, tests/httpd/ok.log: more range check tests added 2026-05-06 moko * operators.ru.txt, operators.txt: ^int/double.++[] and ^int/double.--[] documented (related to feature #1294) * tests/: 063.html, results/063.processed: test for ^int/double.++[] and ^int/double.--[] added (related to feature #1294) * src/classes/: double.C, int.C: ^int/double.++[] and ^int/double.--[] added (adopted Sumo patch, implements feature #1294) * src/main/main.vcproj: pa_inline_hash.h added (related to feature #1293) 2026-04-30 moko * src/include/pa_inline_hash.h: PA_PROBE_LIMIT added (related to feature #1293) * src/include/pa_inline_hash.h: First lookup optimization added (related to feature #1293) * src/include/pa_inline_hash.h: upgrade to linear-probing hash (related to feature #1293) 2026-04-25 moko * INSTALL, NEWS, README, buildall, src/classes/amqp.C, src/classes/array.C, src/classes/bool.C, src/classes/classes.C, 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_inline_hash.h, src/include/pa_int.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/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_int.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_vamqp.h, src/types/pa_varray.C, src/types/pa_varray.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 year updated, websites links changed to https:// * src/include/pa_inline_hash.h: delete added (related to feature #1293) 2026-04-24 moko * src/: classes/reflection.C, main/pa_common.C, types/pa_method.h, types/pa_vmethod_frame.h: inline-storage hash used to avoid allocations for MethodFrame args and locals (imlpements feature #1293) _stack uses for_each to avoid Iterator for InlineHashString * src/include/: Makefile.am, pa_inline_hash.h: inline-storage hash added to avoid allocations for MethodFrame args and locals (related to feature #1293) * tests/: 337.html, 434.html, results/320.processed, results/434.processed: test for ^A[v1;v2]=^array::create[v1;v2] added (related to feature #1282) * src/classes/op.C: ^A[v1;v2]=^array::create[v1;v2] added (implements feature #1282) * tests/: 447.html, results/447.processed: exceptions tests added (related to feature #1286) * src/classes/reflection.C: native method exception added (related to feature #1286) * src/main/execute.C: removes irrelevant lines from exception stack trace when exception occur in array assigment (related to bug #1165) + useless #define removed * src/: include/pa_request.h, main/compile.y: warnings war 2026-04-23 moko * src/main/: compile.y, compile_tools.C, compile_tools.h: maybe_append_simple_diving_code() is not related to OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL 2026-03-01 moko * src/: classes/classes.C, classes/classes.h, classes/mail.C, main/pa_request.C: configure_user removed, $MAIN:MAIL now processed inside ^mail:send[] (implements feature #1290) 2026-02-25 moko * tests/: 182.html, 182_dir/a7.p, results/182.processed: test for array redefinition added * src/main/pa_request.C: array redefinition fixed * tests/: 182.html, results/182.processed: test for ^reflection:classes[] order (related to feature #1289) * src/: classes/reflection.C, include/pa_request.h, main/pa_request.C: classes now OrderedHashString, implements feature #1289 2026-02-02 moko * tests/: 307.html, results/307.processed: more "junction used outside of context" tests added 2026-01-09 moko * src/classes/amqp.C: auto_delete is better false by default (related to feature #1288) * src/classes/amqp.C: more methods bool args fixes, nowait removed (related to feature #1288) * src/classes/amqp.C: nowait was mixed up with exclusive in consume * src/classes/amqp.C: amqp_basic_cancel added to consume, purge returns purged messages count (related to feature #1288) * tests/: 449.html, results/449.processed, results/auto.p: test for table size limit added (related to feature #1276) * src/classes/table.C: $MAIN:LIMITS.max_array_size now used to limit table size; note: for append and insert operations only (implements feature #1276) 2026-01-08 moko * src/classes/amqp.C: addition to feature #1288: declare_exchange + declare_queue = declare; delete_exchange + delete_queue = delete; bind_queue -> bind; unbind_queue -> unbind; + purge, + info; consume can be called without callback with optional $.count(N), returns array of messages; 2026-01-07 moko * tests/: 448.html, results/448.processed: avoid 500, show exception where not supported * src/include/pa_int.h: warnings war * tests/: 422.html, results/422.processed: test updated after wide int implemented (feature #1273) * src/main/pa_int.C: warnings war * src/classes/classes.vcproj: +amqp.C * src/classes/: int.C, string.C: warnings war * src/classes/: op.C: warnings war * src/: classes/op.C, main/pa_int.C: warnings war * src/types/pa_vdate.h: warnings war * src/main/pa_int.C: warnings war continues * src/: include/pa_int.h, main/pa_int.C, types/pa_vint.h: warnings war * src/types/pa_vdate.C: reverted, format_double still required here * src/: include/pa_int.h, main/pa_int.C, types/pa_vmath.C: format_double now supports wint, $math:int_max and $math:int_min added, PA_WIDE_INT is finally enabled by default (implements feature #1273) * tests/: 275.html, results/275.processed: preparing tests for int extension * tests/: 424.html, results/424.processed: actualized and prepared for wide int 2026-01-06 moko * src/: classes/double.C, classes/int.C, classes/string.C, include/pa_common.h, include/pa_int.h, include/pa_string.h, main/execute.C, main/pa_common.C, main/pa_int.C, types/pa_value.h, types/pa_vdate.C, types/pa_vdate.h, types/pa_vdouble.h, types/pa_vint.h, types/pa_vmethod_frame.h, types/pa_vstring.h: feature #1273 core implementation: value::as_wint added, implemented for int/double/string, and used where applicable; vint now holds pa_wint type; format_double moved to pa_int * src/: include/pa_array.h, include/pa_string.h, main/main.vcproj: pa_int includes tuning, vcproj updated (related to feature #1273) * src/main/pa_int.C: build fix * src/: include/Makefile.am, main/Makefile.am: pa_int.h/pa_int.C added, another preparation for feature #1273 * src/: include/pa_array.h, include/pa_int.h, include/pa_string.h, include/pa_types.h, main/pa_int.C, main/pa_string.C, types/pa_vint.h: pa_int.h/pa_int.C added and all related code moved there, pa_wint and related functions added, another preparation for feature #1273 2025-12-17 moko * src/classes/json.C: optimization: String::Empty used and avoided using passed length. 2025-12-16 moko * src/classes/string.C: sync _int with _double, avoid int usage (related to #1273) 2025-12-08 moko * src/include/pa_memory.h: PA_CHECK_REGULAR_ALLOC_UNAVAILABLE define added and used for OS X as well 2025-11-30 moko * configure, configure.ac, src/include/pa_config_auto.h.in, src/include/pa_config_fixed.h: int64_t added in preparation to feature #1273 2025-11-22 moko * src/classes/amqp.C: delivery_tag changed from string to double (related to feature #1288) 2025-11-14 moko * src/types/pa_vstatus.C, tests/448.html, tests/results/448.processed: $status:limit-cpu, $status:limit-mem, $status:limit-nproc unlimited support added, test added (related to feature #1280) * src/types/: pa_vstatus.C, pa_vstatus.h: r/w $status:limit-cpu, $status:limit-mem, $status:limit-nproc added (implements feature #1280) 2025-11-12 moko * tests/results/: 323.processed, 421.processed: tests results updated after amqp class added 2025-11-08 moko * src/classes/amqp.C: tls support added, errors reporting improved (related to feature #1288) * src/classes/amqp.C: tls support added (related to feature #1288) * src/classes/amqp.C: exceptions text now printed (related to feature #1288) * src/classes/amqp.C: properties hash simplified (related to feature #1288) 2025-11-07 moko * src/classes/amqp.C: consume fixed (related to feature #1288) * src/classes/classes.C: + amqp class * buildall, configure, configure.ac, src/classes/Makefile.am, src/include/pa_config_auto.h.in, src/targets/apache/Makefile.am, src/targets/cgi/Makefile.am, src/types/Makefile.am: build scripts updated for librabbitmq support (relates to feature #1288) * src/: classes/amqp.C, types/pa_vamqp.h: amqp class draft with basic RabbitMQ C library (librabbitmq) support (partially implements #1288) 2025-10-05 moko * src/classes/: array.C, file.C, hash.C, image.C, json.C, op.C, reflection.C, string.C: Optimization: valid_options optimized where HashStringValue::Iterator used * tests/results/224.processed: test result updated after date functions updated (related to #1287) 2025-10-04 moko * operators.ru.txt, operators.txt: actualized * operators.ru.txt, operators.txt: actualized after #1285 and #1286 * tests/: 447.html, results/447.processed: tests for ^reflection:override[$method] added (related to feature #1286) * tests/: 446.html, results/446.processed: tests for $n1 eq n2 added (related to feature #1285) * src/classes/reflection.C: ^reflection:override[$method[;$.to[class] $.name[another_name]]] added (implements feature #1286) * src/main/execute.C: bugfix: when method is attached from another class, it's junction_template is initialized with another class, thus get_vjunction should be used (related to feature #1286) * src/classes/date.C: ^date:sql-string[], ^date:gmt-string[], ^date:iso-string[] - static call now formats current date (implements feature #1287) 2025-10-01 moko * buildall: built-in mailreceive path actualized 2025-09-01 moko * src/classes/math.C: old compilers support in ^math:eq 2025-08-31 moko * tests/: 446.html, results/446.processed: tests for ^math:eq(a;b[;max URL distance]) added (related to feature #1285) * src/classes/math.C: ^math:eq(a;b[;precision]) added (partly implements #1285) 2025-08-30 moko * operators.ru.txt, operators.txt: actualized * tests/: 230.html, results/230.processed: test for ^file.save $.append(false|true) option added (related to feature #1284) * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: ^file.save $.append(false|true) option added (implements feature #1284) 2025-08-16 moko * etc/auto.p.in: LIMIT max_array_size actualized 2025-08-01 moko * src/: lib/gc/include/gc.h, main/pa_globals.C, main/pa_memory.C: pa_GC_abort_func added and used (implements feature #1283) * src/include/: pa_array.h, pa_config_includes.h: PA_DEBUG_DISABLE_GC mode fixed for sparse array 2025-07-04 moko * src/main/pa_common.C: typo fixed (related to bug #1282) * src/main/pa_common.C: minor optimization + create_dir_for_file checks for \ (related to bug #1282) 2025-07-03 moko * src/main/pa_common.C: _wrename, _wrmdir и _wmkdir are now used under Windows (fixes bug #1282) * src/main/pa_common.C: file:delete for UTF-8 files now works under Windows (fixes bug #1282) 2025-06-28 moko * src/targets/apache/mod_parser3.c: GCC 15 compatibility fixed by Yavor Doganov * src/main/pa_charset.C: typo fixed (related to feature #1281) * src/: include/pa_charset.h, main/pa_charset.C: libxml 2.14 compatibility fixed (implements feature #1281) 2025-05-31 moko * src/main/pa_http.C: old gcc compilation fix (related to feature #1277) 2025-05-28 moko * src/: classes/array.C, include/pa_array.h: last Array_iterator::key() removed (related to feature #1277) 2025-05-27 moko * src/: classes/array.C, classes/table.C, include/pa_array.h, types/pa_vstring.C, types/pa_vstring.h: VString::uitoa() added and used (related to feature #1277) 2025-05-26 moko * src/: classes/array.C, classes/curl.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/table.C, main/pa_request.C, main/pa_xml_io.C, types/pa_vconsole.h, types/pa_venv.C, types/pa_vmail.C, types/pa_vregex.C, types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vstring.h: VString(const char *avalue) added and used to optimize new VString(*new String(i.key(), String::L_TAINTED)) (related to feature #1277) * src/: classes/array.C, classes/curl.C, classes/file.C, classes/hash.C, classes/image.C, classes/json.C, classes/reflection.C, classes/xnode.C, include/pa_charset.h, include/pa_hash.h, include/pa_http.h, include/pa_string.h, main/pa_charsets.C, main/pa_http.C, main/pa_request.C, main/pa_string.C, main/pa_xml_io.C, targets/cgi/pa_sapi_info.h, types/pa_varray.C, types/pa_vform.C, types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vimage.C, types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_vstatus.C, types/pa_vtable.C, types/pa_vxnode.C: implements feature #1277 String::Body(const char *abody) now explicit but HashString::put(const char *str, V value) added for simplicity optimizations: HASH_PUT_CSTR used where hash.put called several time during execution; caching String::Body::uitoa used at all pash.put( calls. 2025-05-25 moko * src/: include/pa_request.h, main/pa_request.C: minor opt (related to feature #1277) * src/include/pa_hash.h: HASH_PUT_CSTR added (related to #1277) * src/: include/pa_string.h, main/pa_string.C: String::Body::uitoa added for caching (related to feature #1277) * src/include/pa_string.h: optimized String:pos versions added (without language + char *) (related to feature #1277) 2025-05-24 moko * tests/: 445.html, results/445.processed: test for ^hash.array[[keys|values]] added (related to feature #1274) * src/classes/hash.C: ^hash.array[[keys|values]] added (implements feature #1274) 2025-01-26 moko * src/include/pa_config_includes.h: synced with pa_config_auto.h.in 2025-01-25 moko * configure.ac, src/include/pa_version.h: version 3.5.1 -> 3.5.2b * aclocal.m4, configure, src/include/pa_config_auto.h.in, src/lib/ltdl/aclocal.m4, src/lib/ltdl/configure: aclocal && autoheader && automake && autoconf * src/lib/ltdl/configure.ac: new autotools used * acsite.m4, configure.ac: new autotools warnings fixed 2025-01-10 moko * tests/results/320.processed: test result updated after syslog added * src/classes/op.C: minor MSVC fixes * src/lib/md5/pa_md5c.c: MSVC warnings fixed * operators.ru.txt, operators.txt: + ^syslog[ident;message[;info|warning|error|debug]] * src/classes/op.C: + ^syslog[ident;message[;info|warning|error|debug]] (implelents feature #1270) * configure, configure.ac, src/include/pa_config_auto.h.in, src/include/pa_version.h: 3.5.0 -> 3.5.1, syslog check 2025-01-06 moko * src/include/pa_hash.h: own prime numbers (nearest primes to 5 * 2^n) calculated and used * src/lib/md5/: pa_md5.h, pa_md5c.c: MD5 code now taken from https://www.hadrons.org/software/libmd/ 2024-12-28 moko * tests/httpd/run_tests.sh: for FreeBSD compatibility * tests/httpd/: 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, ok.log, site/404.html, site/httpd.p: $request:uri and $request:path tests added (related to feature #1269) * operators.ru.txt, operators.txt: + $request:path documented (related to feature #1269) * tests/: 065.html, results/065.processed: $request:path, $request:uri tested * src/types/pa_vrequest.C: $request:path default is empty string to match an empty URI in console mode (related to feature #1269) * etc/auto.p.in: $request:path used (related to feature #1269) * src/types/: pa_vrequest.C, pa_vrequest.h: $request:path added (implements feature #1269) 2024-12-26 moko * configure, configure.ac, src/include/pa_version.h: 3.5.0rc -> 3.5.0 * src/lib/sdbm/: pa_strings.C, sdbm.c, sdbm_private.h, pa-include/pa_errno.h, pa-include/pa_file_info.h, pa-include/pa_file_io.h, pa-include/pa_sdbm.h, pa-include/pa_strings.h: unused code cleaned, pa_pstrcat uses pa_strcat * tests/results/223.processed: apache upgraded @parser.ru * src/lib/sdbm/: sdbm.c, sdbm_hash.c, sdbm_lock.c, sdbm_pair.c, sdbm_pair.h, sdbm_private.h, sdbm_tune.h, pa-include/pa_apr.h, pa-include/pa_errno.h, pa-include/pa_file_info.h, pa-include/pa_file_io.h, pa-include/pa_sdbm.h, pa-include/pa_strings.h: sdbm updated from version included in apache 2.0.43 to version included in apache 2.0.65 2024-12-24 moko * etc/auto.p.in: to avoid patching Debian package * src/main/: pa_exec.C, pa_http.C: final fixes for --with-build-warnings (dangling-reference warnings can be ignored) 2024-12-23 moko * src/: classes/file.C, classes/hash.C, classes/op.C, include/pa_common.h, main/pa_http.C, main/pa_request.C, types/pa_vcookie.C, types/pa_vform.C: more fixes for --with-build-warnings * src/: classes/date.C, classes/inet.C, classes/op.C, classes/reflection.C, include/pa_array.h, include/pa_config_includes.h, main/execute.C, main/pa_base64.C, main/pa_common.C, main/pa_globals.C, types/pa_vfile.C: fixes for --with-build-warnings 2024-12-21 moko * Makefile.am: +operators.ru.txt * operators.ru.txt, operators.txt: typo fixed 2024-12-20 moko * operators.txt: whitespace synced * operators.ru.txt, operators.txt: curl added * operators.ru.txt, operators.txt: logically sorted * operators.ru.txt: id added * operators.txt: ID added * operators.txt: translated * operators.ru.txt, operators.txt: operators.txt translated to english, synced format with operators.ru.txt * operators.ru.txt, operators.txt: renamed to operators.ru.txt, formatted * operators.ru.txt, operators.txt: formatted, actualized, oracle info moved to separate file 2024-12-19 moko * src/targets/cgi/parser3.C: avoid parser version requests logging in parser3.log 2024-12-18 moko * buildall: preventing --with-system-mailreceive linking with libglib-2.0/libgobject-2.0 left from --with-mailreceive (related to feature #1199) 2024-12-16 moko * operators.ru.txt, operators.txt: actualized for 3.5.0 * src/classes/table.C: exception text fixed 2024-12-15 moko * tests/: 102.html, results/102.processed: tests updated after $form:fields not editable again (related to feature #1254) * src/types/pa_vform.C: $form:tables/files (not $form:fields) can be edited (related to feature #1254) * src/types/pa_vform.C: reverted that $form:fields/tables/files/imap can be edited (related to feature #1254) for backward compatibility 2024-12-14 moko * operators.ru.txt, operators.txt: + array in operators.txt * tests/results/auto.p: avoid $mac execution unless on OS X * tests/388-sql.html: more OS support 2024-12-13 moko * tests/388-sql.html: sql tests under OS X now fixed * tests/results/auto.p: curl test under OS X now works * tests/: 346-curl.html, 347-curl.html, results/347-curl.processed: no dll name under Windows, hiding * tests/: 379-curl.html, results/379-curl.processed: some curl versions accept "HTTP/1.0 200OK? OK" status, some not, ignore * tests/: 030.html, 212.html, 219.html, 273.html, 346-curl.html, 389.html, results/030.processed, results/212.processed, results/219.processed, results/273.processed, results/320.processed, results/346-curl.processed, results/389.processed, results/auto.p: ^try-catch-filtered added and used * tests/: 347-curl.html, results/347-curl.processed: support for different error messages * src/classes/curl.C: several curl libraries supported, ^curl:options[ $.library[] ] resets to default * tests/: 223-curl.html, results/223-curl.processed: CONTENT_LENGTH removed as depends on curl version * tests/results/: 223-curl.processed, 394-curl.processed: curl fixed bug with \n in file names, test result updated * tests/388-sql.html: +libmysqlclient.so * etc/auto.p.in: +libmariadb 2024-12-12 moko * tests/: 388-sql.html, results/429-sql.processed: test results updated after test changed * tests/: 388-sql.html, 428-sql.html, 429-sql.html: tests updated for newer MariaDB compatibility * tests/: 388-sql.html, 429-sql.html, results/388-sql.processed, results/429-sql.processed: key -> id for new MariaDB compatibility * src/types/pa_vmethod_frame.h: warning war * src/: include/pa_charset.h, main/pa_charset.C: Adopted patch from Yavor Doganov with extra libxml2 headers including for Debian package 2024-12-11 moko * src/: targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vstatus.C: $status:log-filename added (related to feature #1262) * tests/: 440.html, results/440.processed: test for row is checked before accessing when table is modified during select (related to bug #1258) * src/: classes/table.C, include/pa_table.h: row should be checked before accessing as table can be modified during select (related to bug #1258) * src/types/pa_vmail.C: $mail:received tables -> elements array (related to feature #1226) * src/: classes/file.C, classes/image.C, classes/table.C, include/pa_exception.h: FIRST_ARG_MUST_NOT_BE_CODE replace with better messages (related to feature #1267) * tests/results/: 065.processed, 246.processed, 337.processed, 342.processed, 352.processed, 356.processed, 364.processed, 372.processed, 373.processed, 389.processed, 404.processed, 406.processed, 414.processed, 430.processed, 432.processed, 442.processed: tests updated after params.as_string error reporting was improved (related to feature #1267) * src/classes/reflection.C: error messages optimized (related to feature #1267) * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: even better error reporing for params.as_* (related to feature #1267) * src/: classes/file.C, classes/string.C, include/pa_exception.h: MODE_MUST_NOT_BE_CODE -> MODE_MUST_BE_STRING (related to feature #1267) * tests/results/: 246.processed, 414.processed, 432.processed: tests updated after params.as_string error reporting was improved (related to feature #1267) * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: better error reporing for params.as_string (implements feature #1267) * tests/: 065.html, results/065.processed: tests for file methods accepting file as filename added (related to feature #1265) * src/: classes/file.C, include/pa_exception.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: some file methods now accept file as path specification (adopted Sumo patch implements feature #1265) * tests/: 400.html, results/400.processed: tests for result optimization "locks" after first method call (related to feature #1266) 2024-12-10 moko * src/types/: pa_method.h, pa_vmethod_frame.h: detailed result_optimization comments (related to feature #1266) * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: optimization: $result now stored in my_result, not in local variables hash (implements feature #1266) 2024-12-09 moko * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: my.set -> set_my_variable in preparation for $result optimization (related to feature #1266) * tests/results/119.processed: newline corrected for some OS * tests/: 441.html, results/441.processed: Debian-specific test commented * buildall: pcre2 10.42 -> 10.44 2024-12-08 moko * buildall: external links fixed * src/include/pa_version.h: 3.4.7b -> 3.5.0rc * src/include/pa_table.h: some clang versions compilation fix * configure.ac: 3.4.7b -> 3.5.0rc 2024-12-07 moko * tests/: 443.html, 444.html, results/443.processed, results/444.processed: tests for named params (related to feature #1205) * src/: classes/reflection.C, types/pa_method.h: named_params support in reflection (related to feature #1205) * src/types/pa_vmethod_frame.h: extra_params and named params should be also inited in ^method[] call (related to feature #1205) * src/types/: pa_method.h, pa_vmethod_frame.h: named arguments support using @method[arg;.named_arg;.named_arg2] syntax (implements feature #1205) * tests/: 443.html, results/443.processed: test for *args inited added (related to bug #1264) * src/types/pa_vmethod_frame.h: *args are now inited even if not specified (fixes bug #1264) * tests/: 442.html, results/442.processed: tests for params.as_file_name(N) with empty file name added (related to feature #1121) * src/: classes/file.C, classes/hashfile.C, classes/image.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, include/pa_exception.h, types/pa_vmethod_frame.h: params.as_file_name(N) added and used instead of params.as_string(1, FILE_NAME_MUST_BE_STRING) where appropriate (implements feature #1121) * src/: classes/file.C, classes/image.C, classes/op.C, classes/table.C, include/pa_exception.h: filename is everywhere params.as_string, unify exception and remove FILE_NAME_MUST_NOT_BE_CODE (related to feature #1121) * tests/: 141.html, results/141.processed: test for ^math:digest[...; $.hmac[$file] $.format[file] ] added (related to feature #1263) * src/classes/math.C: ^math:digest[...; $.hmac[$file] $.format[file] ] now supported (implements feature #1263) 2024-12-06 moko * src/: targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vstatus.C: $status:mode (cgi/console/mail/httpd/apache/isapi) added (related to feature #1262) 2024-12-05 moko * src/targets/cgi/parser3.C: more correct arguments processing to block -fl config.file log.file logic (related to feature #1262) 2024-12-04 moko * src/targets/cgi/parser3.C: now only one log location is selected and tried. -l - supported for stderr specification (related to feature #1262) 2024-12-03 moko * tests/: 010.html, 415_dir/30.p, 415_dir/31.p, results/010.processed, results/415.processed: tests for $.(expression)[value], $a.(expression), ^v.(expression)[args] added (related to feature #1064) * src/main/compile.y: $.(expression)[value], $a.(expression), ^v.(expression)[args] now supported (implements feature #1064) 2024-12-02 moko * src/targets/cgi/parser3.C: -l /path/to/log options added (implements feature #1262) 2024-12-01 moko * tests/: 010.html, results/010.processed: some tests related to bug #1149 added * src/main/compile.y: the check pc.pos.col > 1 is not required because we can't be here without a '$' before. The begin == end check was incorrect since $[a]{b} fits this condition (fixes bug #1149) 2024-11-29 moko * src/classes/array.C: warning war 2024-11-26 moko * tests/: 441.html, results/441.processed: a bit more testing (related to bug #1238) * src/main/pa_exec.C: only " now quoted (related to bug #1239) * src/main/pa_exec.C: simplification arg_quote added (related to bug #1229) 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.ru.txt, 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.ru.txt, 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.ru.txt, operators.txt: actualization 15% completed * operators.ru.txt, 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.ru.txt, 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.ru.txt, operators.txt: ISO date creation documented (related to feature #1032) * operators.ru.txt, 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.ru.txt, operators.txt: actualized * operators.ru.txt, 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 * src/lib/json/pa_json.C: C++ compatibility addes, related to issue #892 * src/: classes/json.C, lib/json/Makefile.am, lib/json/json.c, lib/json/json.h, lib/json/pa_json.C: json.c -> pa_json.C (for exceptions to be thrown thougth json library), related to issue #892 * src/main/pa_charset.C: avoid compilation bug in Debian 6.0.8 x32, related to issue #896 2013-10-24 moko * configure.in, src/include/pa_version.h: 3.4.3rc -> 3.4.3 2013-10-23 moko * README: actualization 2013-10-22 moko * src/targets/apache/mod_parser3.c: Adopted apache 2.4 compatibility patch from Sergey Kirpichev * tests/: 297.html, results/297.processed: non-working getter fix test for issue #948 * src/: include/pa_request.h, main/pa_request.C: Now getter is not called when saving value of $match variable in ^string.match[] to increase compatibility (related to issue #948). * src/: include/pa_request.h, targets/cgi/parser3.C: minor header usage optimization 2013-10-21 moko * tests/: 182.html, results/182.processed: local path removed for compatibility * tests/: 244.html, 253.html, 254.html, 275.html, 281.html, results/244.processed, results/253.processed, results/254.processed, results/275.processed, results/281.processed: try_catch -> try-catch * tests/: 288.html, 294.html, 296.html, results/288.processed, results/294.processed, results/296.processed: try_catch -> try-catch 2013-10-20 moko * tests/: 296.html, results/296.processed: test for xsl exception for issue #938 added. * src/: include/pa_xml_exception.h, main/pa_stylesheet_connection.C: forgotten to be replaced XmlException is now replaced (once again closes issue #938) 2013-10-18 moko * buildall: disable clock_gettime detection to avoid librt linking (which in turn depends on libpthread), related to issue #943 2013-10-18 misha * src/: classes/classes.vcproj, lib/gd/gd.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, targets/apache/ApacheModuleParser3Core.vcproj, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, types/types.vcproj: - new locations for libxml2 includes where added to vcproj files 2013-10-18 moko * src/classes/: hashfile.C, op.C: hopefully last part of issue #948 fix * tests/: 295.html, results/295.processed: test for issue #948 updated * src/classes/table.C: hopefully last lost part for issue #948 fix. :) * tests/: 295.html, results/295.processed: test for issue #948 added * src/: classes/hash.C, classes/string.C, classes/table.C, include/pa_request.h, types/pa_method.h: for getters and setters to be executed request.put_element should be called, not context.put_element (fixes issue #948) 2013-10-17 moko * src/classes/xdoc.C: libxml 2.9.1 compatibility with define LIBXML2_NEW_BUFFER check (closes issue #943) * buildall: libxml 2.9.1 build is broken --without-reader. 2013-10-16 moko * configure.in, src/include/pa_version.h: 3.4.3b -> 3.4.3rc * tests/: 294.html, results/294.processed: test for issue #938 * src/: classes/xdoc.C, classes/xnode.C, include/pa_xml_exception.h, main/pa_xml_exception.C: XmlException now calls fixUTF8 if source charset is UTF-8 (closes issue #938) * buildall: pcre-8.30 -> pcre-8.33 libxml2-2.8.0 -> libxml2-2.9.1 libxslt-1.1.26 -> libxslt-1.1.28 * src/: include/pa_charset.h, lib/pcre/pa_pcre_internal.h, main/pa_charset.C: fixUTF8 method added to replace invalid UTF-8 to '?', related to issue #938 2013-10-15 moko * src/: include/pa_common.h, main/pa_charset.C, main/pa_common.C, main/untaint.C: json chars 0x01-0x1F now are escaped as \u00XX, minor optimizations (closes issue #896) * tests/results/: 292.processed, 293.processed: results updated to comply with issue #896 * tests/: 292.html, 293.html, results/292.processed, results/293.processed: tests for json escaping 2013-10-14 moko * src/: include/pa_common.h, main/pa_common.C: minor rearrangements and cleanup, code moved from .h to .C, no changes in code 2013-10-12 moko * tests/results/119.processed: updated test result commited * tests/: 291.html, results/291.processed: test for issue #894 added * src/types/pa_wcontext.h: base methods call support function get_somebody_entered_some_class should not be true forever, as wcontext can have many get_elements calls (fixes issue #894) 2013-10-11 moko * tests/: 290.html, results/290.processed: test for junction GPF issue #942 added * src/types/pa_vmethod_frame.h: GPF if method junctions is passed to native method fixed (closes issue #942) * tests/: 158.html, results/158.processed: test for csv-string[] added * src/classes/table.C: minor fixes for table.csv-string[] (closes feature #907) * src/classes/table.C: ^table.csv-string[] from misha@ (implements feature #907) 2013-10-09 moko * src/: main/pa_request.C, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vstateless_class.C: GET_default, SET_default now works properly not only in objects, but in classes as well (closes issue #903) * tests/: 289.html, results/289.processed: GET/SET_default now works in classes, not only objects, test case added, related to issue #903 * tests/: 288.html, results/288.processed: test for endless recursion bug added (related to issue #903) 2013-10-05 moko * src/: classes/hash.C, classes/hashfile.C, classes/op.C, classes/table.C, 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_vmemcached.C, types/pa_vmemcached.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_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: optimization: put_element no longer has "bool areplace" argument, related to issue #903 2013-10-03 moko * tests/results/182.processed: result for $.replace(false) test commited * src/classes/date.C: ^date::create(number) processed correctly (fixes issue #901) * src/classes/image.C: as_no_junction removed, as param can be expression (closes issue #931) * tests/233.html: test for issue #931 added 2013-10-02 moko * tests/: 182.html, 182_dir/a5.p: test for $.replace(true) modified, test for $.replace(false) added * src/main/compile_tools.h: forgotten class replace returned. :) 2013-09-30 moko * tests/: 141.html, results/141.processed: md5 tainting test added * src/: classes/op.C, include/pa_request.h, main/compile.y, main/compile_tools.h, main/pa_request.C: allow_class_replace implemented; $.replace option added to ^process and ^use 2013-08-27 moko * src/classes/: file.C, json.C, math.C, string.C, xdoc.C: cstr_to_string_body_untaint should be called with charsets for possible uri language and connection for possible sql language. related to issue #857 * buildall: and -> or fixed 2013-08-26 moko * buildall: prepare_ functions logic changed to support gc-7.2d.tar.gz extracting to gc-7.2 directory 2013-08-23 moko * src/include/pa_config_fixed.h: gc and xml libs are now linked statically 2013-08-22 moko * src/classes/string.C: String::Empty used (related to issue #912) append_know_length removed (related to old GPF bug) 2013-08-21 moko * src/classes/math.C: untaint(L_AS_IS) added for md5 and sha1 * src/classes/math.C: ^math:digest[...;$file] support added (related to ticket #857 * tests/: 141.html, results/141.processed: ^math:digest[...;$file] implemented * src/types/pa_vhashfile.h: warning war * src/: classes/json.C, classes/op.C, include/pa_hash.h, include/pa_request.h, main/pa_request.C, types/pa_value.h: anti_endless_json_string_recoursion removed from request; json_string_recoursion added to json_options; $.indent[indent value] now supported and passed within recoursion closes feature #937 * tests/: 287.html, results/287.processed: test for feature #937 2013-07-31 moko * src/lib/json/: json.c, pa_json.C: STATE__X -> STATE_XX for cygwin compilation having #define _S * src/main/pa_globals.C: cleanup 2013-07-30 moko * src/: classes/table.C, include/pa_common.h, main/pa_charset.C, main/pa_common.C: vs2003 warning war * src/lib/json/: json.c, pa_json.C: vs2003 warning war * src/lib/json/: json.c, pa_json.C: vs2003 compilation fix * src/lib/md5/pa_sha2.c: warning war 2013-07-29 moko * src/lib/json/: json.c, json.h, pa_json.C, pa_json.h: some libjson patches from github * src/: classes/bool.C, classes/double.C, classes/int.C, classes/memcached.C, include/pa_config_includes.h, types/pa_vfile.C, types/pa_vfile.h: warning war * src/lib/json/json.vcproj: C++ -> C * src/lib/json/: json.c, pa_json.C: C++ warning revert * src/lib/json/: json.c, pa_json.C: windows compatibility * src/lib/json/: json.c, pa_json.C: windows compatibility * src/lib/json/: json.c, pa_json.C: warning war * src/lib/json/: json.c, pa_json.C: win32 compilation issues fixes * src/include/pa_config_fixed.h: uint16_t added * configure.in: uint16_t check added * src/: classes/json.C, lib/json/JSON_parser.C, lib/json/JSON_parser.h, lib/json/Makefile.am, lib/json/json.c, lib/json/json.h, lib/json/json.vcproj, lib/json/pa_json.C, lib/json/pa_json.h: JSON_parser with non-free licence is replaced with similar GPL licenced libjson (fixes issue #892) 2013-07-25 moko * parser3.sln: dependencies added * parser3.sln, src/targets/apache/ApacheModuleParser3.vcproj, src/targets/apache/ApacheModuleParser3Core.vcproj: win32 apache module support * src/targets/apache/mod_parser3_core.C: win32 cleanup * src/targets/apache/mod_parser3.c: win32 apache 2.2 module 2013-07-23 moko * src/: include/pa_memory.h, main/pa_memory.C: non-working PA_DEBUG_GC_MEMORY removed * src/: main/pa_globals.C, targets/cgi/parser3.C: PA_DEBUG_DISABLE_GC compilation fix * src/: classes/op.C, classes/table.C, include/pa_request.h, main/pa_request.C: outdated RESOURCES_DEBUG removed * src/: main/pa_os.C, targets/cgi/parser3.C: headers cleanup, garbage cleanup * src/main/pa_common.C: warning war * src/: include/pa_http.h, main/pa_http.C: headers cleanup * src/: include/pa_common.h, main/pa_common.C: WIN32 -> _MSC_VER, minor cleanup * src/: include/pa_dir.h, main/pa_dir.C: loaddir under cygwin now uses cygwin, not WIN32 implementation * src/main/pa_exec.C: WIN32 -> _MSC_VER, under cygwin unix exec is able to exec shell scripts * src/classes/math.C: ifdef WIN32 cleanup * src/types/pa_vmemcached.C: LT_MODULE_EXT used * src/classes/curl.C: LT_MODULE_EXT used * src/include/pa_config_fixed.h: LT_MODULE_EXT defined 2013-07-22 moko * src/include/: pa_config_fixed.h, pa_config_includes.h: win32 includes fix * src/: main/pa_common.C, targets/cgi/parser3.C: includes cleanup * configure.in, src/include/pa_config_includes.h, src/lib/smtp/comms.C, src/lib/smtp/smtp.C, src/lib/smtp/smtp.h, src/main/pa_exec.C: includes cleanup * src/targets/cgi/parser3.C: 2012->2013 * src/include/pa_version.h: 3.4.2 -> 3.4.3b * configure.in, src/include/pa_config_includes.h, src/include/pa_http.h, src/lib/json/JSON_parser.h, src/main/pa_random.C, src/main/pa_socks.C, src/types/pa_vstatus.C: cygwin support cleanup * configure.in: dirent.h check added * src/: include/pa_config_includes.h, include/pa_dir.h, main/pa_dir.C: includes cleanup, dirent.h check added filePath not copied 2013-07-21 moko * src/lib/cord/cord.vcproj: unused cordprnt.c removed * src/targets/cgi/: Makefile.am, getopt.c, getopt.h, parser3.vcproj: unused getopt.h / getopt.c removed * operators.ru.txt, operators.txt, src/classes/file.C, tests/022.html, tests/results/022.processed: ^file:list[path][$.filter[regexp] $.stat(true)] usage commented * configure.in, src/classes/file.C, src/include/pa_dir.h, src/main/pa_dir.C: ^file:list[] now has dir column and when $.stat(true) it has size/*date columns modified patch from misha@ that closes issue #914. * src/: include/pa_config_includes.h, main/pa_globals.C: PA_RELEASE_ASSERTS removed * src/lib/md5/pa_md5c.c: minor cleanup * src/lib/json/: JSON_parser.C, JSON_parser.h: headers cleanup, localeconv()->decimal_point usage remoed (related to issue #934) * src/lib/cord/: Makefile.am, cordprnt.c, include/cord.h: unused cordprnt.c removed * src/lib/sdbm/: sdbm.c, sdbm_pair.c, pa-include/pa_apr.h, pa-include/pa_errno.h, pa-include/pa_file_io.h, pa-include/pa_strings.h: includes cleanup * src/lib/md5/pa_md5c.c: headers cleanup 2013-07-20 moko * src/lib/cord/: cordbscs.c, cordprnt.c, cordxtra.c: includes cleanup 2013-07-19 moko * src/classes/math.C: extern "C" added for crypt 2013-07-18 moko * src/classes/math.C: fix redhat7.2 build 2013-07-17 moko * configure.in, src/include/pa_config_includes.h, src/include/pa_config_fixed.h: headers actualized (inttypes.h added for uint8/32/64_t) * src/lib/md5/: pa_md5.h, pa_md5c.c, pa_sha2.c, pa_sha2.h: pa_config_includes.h used for uint32/64_t 2013-07-16 moko * src/: include/pa_string.h, main/pa_string.C, types/pa_vform.C, types/pa_vform.h, types/pa_vobject.C, types/pa_vobject.h: warning war * src/main/compile.tab.C: compile.y was updated * src/main/compile.y: warning war * src/: include/pa_exception.h, main/pa_exception.C, main/pa_xml_exception.C: warning war * src/: include/pa_common.h, main/pa_common.C: warning war * configure.in: beauty :) * tests/: 141.html, results/141.processed: sha256/512 added 2013-07-13 moko * src/lib/md5/md5.vcproj: sha2 added * src/: lib/md5/pa_sha2.c, lib/md5/pa_sha2.h, lib/md5/Makefile.am, classes/math.C: sha2 support (sha256/sha512 digest) 2013-07-08 moko * src/classes/image.C: directory read or other read problem message fixed (related to issue #933) 2013-07-07 moko * AUTHORS: + misha + moko. :) 2013-07-06 moko * src/: classes/curl.C, include/pa_globals.h, include/pa_sql_driver_manager.h, lib/memcached/pa_memcached.C, main/pa_globals.C, main/pa_sql_driver_manager.C: pa_dlinit added for lt_dlinit to be called once and lt_dlexit called at right place (related to issue #925) 2013-07-04 moko * src/types/: pa_vfile.C, pa_vfile.h, pa_vstring.C: VString::as_vfile now uses vfile.set_binary_string to avoid content-type to be set, as it brokes badly designed logic in response output. This hopefully finishes issue #928. * tests/results/: 256.processed, 286.processed: file now displayed as name, size, mode, content-type * src/main/pa_common.C: read error now reported cottectly (fixes issue #933 2013-06-28 moko * tests/: 286.html, results/286.processed: test extended * tests/: 286.html, results/286.processed: Test for issue #928 added. it tests default content-type change. * src/types/pa_vfile.C: closes issue #928 - default content-type now updated 2013-06-25 moko * src/: classes/file.C, types/pa_vfile.C, types/pa_vfile.h: default content-type for text/binary files without name added; ^file::create[$f;...] options now works properly and $f properties are default (fixes issue #928) 2013-05-16 misha * src/include/pa_opcode.h: - define for OBJECT_POOL optimisation is added * src/main/pa_table.C: - a tiny memory optimisation while creating table if specified limit is bigger than source rows count * src/classes/table.C: - ^table.foreach[k;v]{code}[separator] is added ( new feature: #858 ) 2013-04-29 moko * src/classes/curl.C: CURL_IPRESOLVE_V4 now set by default, $.ipresolve(0|1|2) added (closes issue #891) * src/lib/curl/curl.h: CURL_IPRESOLVE added 2013-04-24 moko * src/: classes/memcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, types/pa_vmemcached.C, types/pa_vmemcached.h: ^memcache.release[] added, calls memcached_quit (refs #893) 2013-04-22 moko * src/: include/pa_string.h, main/pa_common.C: no more double slashes in file path (fixes bug #872) * src/: classes/curl.C, lib/curl/curl.h: minor fixes related to CURLOPT_ENCODING renamed into CURLOPT_ACCEPT_ENCODING (issue #739) * tests/results/266.processed: $.max_params added (feature #915) * src/: include/pa_common.h, main/pa_http.C: response-charset option added to file::load (closes issue #867) 2013-04-20 misha * src/classes/curl.C: - forgotten CURL_ACCEPT_ENCODING option is commited 2013-03-15 misha * src/classes/: hash.C, table.C: - Optimisation: do not create multiple empty strings while ::sql. uae String::Empty instead 2013-03-14 misha * src/classes/reflection.C: - for user classes ^reflection:method_info[] returns $.max_params and $.extra_param with $.call_type if they available ( new feature: #915 ) * src/classes/file.C: - ^file:delete[] now supports an option $.exception(false) that suppress any exception while deleting file ( new feature: #916 ) * src/classes/curl.C: - parsing cookies after curl:load now should work :) 2013-03-12 misha * src/types/pa_vfile.C: - if specified file_name is empty string set default name for the file 2013-03-11 misha * src/classes/curl.C: - after $f[^curl:load[...]] the cookies are also available in $f.cookies * src/: include/pa_http.h, main/pa_http.C: - parsing cookies is moved to a separate method 2013-03-10 moko * src/include/pa_config_fixed.h: typedef unsigned int uint32_t added * src/lib/memcached/pa_memcached.h: typedef unsigned int uint32_t removed (declared by autoconf) * configure.in: AC_TYPE_SSIZE_T, AC_TYPE_UINT32_T added for uint32_t define 2013-03-10 misha * src/classes/file.C: ^file:delete and ^file:move now support option $.keep-empty-dirs(true) ( new feature: #884 ) * src/: include/pa_common.h, main/pa_common.C: - option for keeping empty dirs is added 2013-03-10 moko * src/classes/: bool.C, double.C, int.C: default can be present, but default check removed from ^int/double/bool.int/double/bool for string.int/double/bool compatibility (related to issue #913) * src/classes/string.C: ^string.int/dobule/bool no longer internally throws exception if default is present (closes issue #913) 2013-03-09 misha * src/types/: pa_vhash.h, pa_vregex.h, pa_vtable.h: - tiny optimisations ( #845 ) * src/types/pa_venv.C: - added $env:fields ( new feature: #906 ) 2013-03-08 moko * src/main/pa_http.C: GPF on ^cookies:save fixed, $file.cookies now creates correct table (fixes issue #910) * src/classes/op.C: r.connection() -> r.connection(false) to allow use outside of 'connect' operator (fixes issue #911) * tests/results/: 096.processed, 122.processed: test results updated as doubles now printed with 15 significant digits, not 5 (fixes issue #882) * src/types/pa_vdouble.h: %.15g now used to format doubles instead of broken has_frac() ? "%g": "%.0f" logic (fixes issue #882) 2013-02-21 moko * src/classes/table.C: _locate_name_value does not check arguments count, so we check it in advance (fixes issue #905) 2012-10-23 moko * buildall: old shell for and echo compatibility (for six) 2012-10-19 moko * buildall: --strip added --disable-safe-mode listed in usage 2012-10-17 misha * src/classes/op.C: - apply-taint should not throw "outside connect" exception with sql lang now 2012-10-17 moko * src/main/pa_request.C: bugfix: safe mode should be inited for each request (for apache module) 2012-09-26 moko * src/doc/doxygen.cfg: png -> svg 2012-09-25 moko * tests/: 141.html, results/141.processed: md5 hmac added, long key test added * src/classes/math.C: HMAC for MD5 added, bugfix for tempdigest double use when key is long 2012-09-16 moko * src/classes/math.C: Format -> Method Encode -> Format * tests/: 141.html, results/141.processed: math:digest hmac test added 2012-09-14 moko * src/classes/math.C: SHA1ReadDigest added and used in ^sha1. ^digest[sha1|md5;data; $.encode[base64|hex] $.hmac[key]] basic implementation added 2012-09-12 moko * src/doc/: doxygen.cfg, footer.htm, index.dox, string.dox, targets.dox: doxygen.cfg and footer.htm updated for doxygen 1.7.3 targets.dox and string.dox slightly actualized 2012-08-31 moko * ChangeLog: now generated with patched cvs2cl.pl 2012-07-29 moko * tests/285.html, src/main/execute.C, tests/results/285.processed: result should be pushed after VMethodFrame destructor is called, as it deletes junctions from stack params (fixes issue #868) 2012-07-23 moko * INSTALL, README: buildall script usage documented, other outdated info updated. * buildall-with-xml, buildall-without-xml: replaced by buildall 2012-07-21 moko * buildall: glib does not compile when threads are disabled... * src/types/pa_vmail.C: g_assertion fixes for empty input * src/types/pa_vmail.C: yet another fix (strange GPF on object unref, can't unref nested objects) * src/types/pa_vmail.C: another check added 2012-07-19 moko * buildall: usage added * buildall: new buildall script that unites buildall-with-xml, buildall-without-xml, --with-apache and --with-mailreceive * configure.in: support for static gmime and dynamic glib linking. fixes for FreeBSD 2012-07-17 moko * configure.in: --with-mailreceive replaced --with-static-mailreceive and --with-shared-mailreceive pathlink removed 2012-07-16 moko * src/types/pa_vmail.C: updated to work gmime 2.6, headers now capitalized, content now decoded and text content converted to $request:charset. all properties are accessed by functions, this ready for dynamic load. 2012-06-28 moko * src/targets/apache/Makefile.am: fix for apache cflags for Linux 32 bit 2012-06-27 moko * buildall-with-xml, buildall-without-xml: fetch requires -p for passive ftp * src/lib/ltdl/ltdl.vcproj: release build fixed * configure.in: 3.4.2 RC -> 3.4.2 2012-06-22 moko * src/types/pa_vfile.C: returned empty mode to stated files (issue #815) * tests/: 284.html, results/284.processed: output options test (feature #265) 2012-06-22 misha * tests/215.html: - little changes 2012-06-21 moko * src/: classes/json.C, classes/xdoc.C, types/pa_vxdoc.C, types/pa_vxdoc.h: output_options returned and used (bugfix for feature #265) * buildall-with-xml, buildall-without-xml: --with-match-limit=10000 breaks long .*, default 10M restored. (issue #216) * tests/: 283.html, results/283.processed: test for issue #815 added * src/types/: pa_vfile.C, pa_vstring.C: bugfix: ^#0D not altered again, cstrm not required. * src/lib/ltdl/: argz.c, ltdl.c, libltdl/lt__glibc.h: fixes for Win32 and broken FreeBSD (issue #45) * src/lib/ltdl/ltdl.vcproj: preopen.c and config.h removed * src/main/pa_string.C: warnings war * src/: classes/mail.C, include/pa_dir.h, include/pa_http.h, lib/json/JSON_parser.h, lib/smtp/smtp.h, main/pa_random.C, main/pa_socks.C, targets/apache/pa_threads.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, types/pa_vstatus.C: compilation under cygwin fixed 2012-06-19 moko * src/lib/ltdl/: config_fixed.h, ltdl.vcproj: compilation under Windows fixed * parser3.sln: removed antique pcre_ctype * src/include/pa_config_fixed.h: required for INT_MAX / UINT_MAX * src/include/pa_config_fixed.h: undefined reference to __imp__pcre_* fix for Windows * src/: include/pa_charset.h, lib/pcre/Makefile.am, lib/pcre/pa_pcre_internal.h, lib/pcre/pcre_internal.h: pcre_internal.h -> pa_pcre_internal.h for Windows compatibility (win32/pcre has own copy of pcre_internal.h _pcre_default_tables define fixed 2012-06-18 moko * src/classes/memcached.C: flush -> clear * src/classes/memcached.C: memcached does not support quotes even in server name * src/: classes/memcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, types/pa_vmemcached.C: version() called on open to check servers existance. $.key(true) syntax now supported 2012-06-17 moko * src/include/: pa_config_fixed.h, pa_config_includes.h: old stuff cleanup * src/classes/table.C, tests/282.cfg, tests/282.html, tests/results/282.processed: encloser at the EOF bug fixed, incorrectly enclosed data now processed more logicaly (fixes #339) 2012-06-15 moko * buildall-without-xml: sync with buildall-with-xml * buildall-with-xml: download auto-detected between fetch and curl * configure.in: --with-gc and --with-pcre now also processed correctly * aclocal.m4, configure, src/include/pa_config_auto.h.in: now aclocal -I src/lib/ltdl/m4/ && autoheader && automake && autoconf should be run on rol1 using automake / aclocal (GNU automake) 1.11.1 autoconf (GNU Autoconf) 2.68 * configure.in: new PARSER_VERSION logic * src/include/pa_version.h: new pa_version.h logic * src/: classes/curl.C, classes/file.C, classes/image.C, classes/xdoc.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vrequest.C, types/pa_vstring.C: feols_normalized -> fis_text_content set_binary added * src/targets/cgi/parser3.C: gcc compilation warnings fixed 2012-06-15 misha * src/: classes/curl.C, classes/file.C, classes/image.C, classes/xdoc.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vrequest.C, types/pa_vstring.C: - ^file::create[text;content] EOLs in content now is normalized. ( new feature: #815 ) 2012-06-15 moko * configure.in: --disable-version-update added to disable version update with host information (for debian package) whitespace optimized * configure.in: version changed to 3.4.2 RC no-pic added for libtool * src/include/pa_version.h: Nice pa_version.h default. Please keep it. 2012-06-14 moko * src/classes/hash.C, src/types/pa_vhash.h, tests/281.html, tests/results/281.processed: "hash flocked" error removed for safe operations like ^h._count[] ( new feature: #335 ) * src/targets/apache/Makefile.am: libmod_parser3 -> mod_parser3 * buildall-with-xml, buildall-without-xml: --with-static -> --with * configure.in: --with-static/shared xml replaced with --with-xml, xml compilation check added * configure.in: --with-static/shared-gc, --with-static-pcre are replaced with --with-gc and --with-pcre test for pcre linking added 2012-06-13 moko * configure.in: apxs2 check optimized * src/targets/cgi/Makefile.am: preserve-dup-deps requires .a, not .la, includes optimized * buildall-with-xml: --with-pic looks better for -fPIC * configure.in: switched to convenience library in static linking * src/targets/apache/Makefile.am: switched to convenience library usage to avoid libtool warnings * src/lib/: cord/Makefile.am, gd/Makefile.am, json/Makefile.am, md5/Makefile.am, memcached/Makefile.am, sdbm/Makefile.am, smtp/Makefile.am: switched to convenience library usage * src/sql/Makefile.am: pa_sql_driver.h should be in includes * src/targets/apache/Makefile.am: updated for libtool usage * buildall-without-xml: --with-included-ltdl added * buildall-without-xml: sync with buildall-with-xml * buildall-with-xml: --with-included-ltdl added $cflags added for -fPIC for x64 $download added for wget success check added * buildall-without-xml: --with-dynamic-stdcpp removed * configure.in: disable-static returned * src/targets/cgi/Makefile.am: Automake 1.9 does not support LIBTOOLFLAGS 2012-06-12 moko * configure.in, src/targets/cgi/Makefile.am: disable-static not compatible with LIBTOOLFLAGS for unknown reasons * buildall-with-xml: --with-dynamic-stdcpp removed * configure.in: static/dynamic -lstdc++ linking option removed apxs2 check added * src/targets/cgi/Makefile.am: static/dynamic -lstdc++ linking option removed 2012-06-10 moko * src/targets/cgi/Makefile.am: --preserve-dup-deps libtool option added * src/targets/cgi/pp3.cmd: old PAF stuff * Makefile.am: ACLOCAL_AMFLAGS = -I src/lib/ltdl/m4 added and some beauty * depcomp: from libtool 2.4.2 * configure.in: ltdl directory removed, it has correct Makefile.in 2012-06-09 moko * Makefile.am, aclocal.m4, config.guess, config.sub, configure, install-sh, ltmain.sh, missing, src/include/pa_config_auto.h.in: autogenerated files updated after libtool update * src/lib/ltdl/: COPYING.LIB, Makefile.am, README, acinclude.m4, aclocal.m4, argz.c, argz_.h, config-h.in, config.h, config_auto.h.in, config_fixed.h, configure, configure.ac, configure.in, lt__alloc.c, lt__dirent.c, lt__strl.c, lt_dlloader.c, lt_error.c, ltdl.c, ltdl.h, slist.c, libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, libltdl/lt__private.h, libltdl/lt__strl.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, libltdl/lt_system.h, libltdl/slist.h, loaders/dld_link.c, loaders/dlopen.c, loaders/dyld.c, loaders/load_add_on.c, loaders/loadlibrary.c, loaders/preopen.c, loaders/shl_load.c, m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: libtool updated to version 2.4.2 * configure.in: preparation for new libtool * configure.in: Some beauty added :) * src/targets/apache/Makefile.am: := -> = * src/lib/pcre/: Makefile.am, config.h: config.h removed once again. :) * src/include/pa_config_includes.h, configure.in: limits.h added, previously was taken from pcre_internal.h. :) * src/lib/pcre/Makefile.am: config.h returned * src/lib/pcre/config.h: still need this. :) * src/lib/pcre/pcre_internal.h: extracts from real pcre_internal.h * configure.in: --with-charsets removed; --with-mysql-client & co removed * buildall-with-xml, buildall-without-xml: pcre_internal.h extracts now in parser tree, no need to copy * src/lib/pcre/: Makefile.am, config.h, ibm-1250.ucm, ibm-1251.ucm, ibm-1254.ucm, ibm-1257.ucm, pcre_parser_ctype.c, pcre_parser_ctype.vcproj, ruspart_win2koi.pl, win-koi.tab: debian/patches/101_pcre.patch - local copy of pcre_internal.h extracts now used old trash removed * etc/parser3.charsets/Makefile.am: charsets now in share (debian/patches/104_automake.patch) + all charsets are copied * buildall-with-xml, buildall-without-xml: curl option removed + extra arguments now supported 2012-06-08 misha * src/classes/table.C: - one params.as_hash usage was rolled back: the 2nd option in ^table.hash[] could be hash or table so .as_hash will throw an exception when table option is specified * src/: classes/curl.C, classes/file.C, classes/hash.C, classes/image.C, classes/mail.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C, include/pa_exception.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: - MethodParams::as_hash is optimized and improved (whitespaces are allowed as empty options) - MethodParams::as_table is added - above methods are used for parsing methods' options ( new feature: #9 ) * src/types/: pa_vclass.C, pa_vclass.h: - method get_hash is added to vclass. now class fields can be accessible as a hash: $h[^hash::create[$asd:CLASS]] * src/types/: pa_vhash.h, pa_vhashfile.h: - vhash and vhashfile now have get_fields method so their fields can be accessed with ^reflection:fields[...] & ^reflection:field[...] 2012-06-06 misha * tests/280.html: - tests for ^reflection:method[obj-or-class;method], ^reflection:field[obj-or-class;field] and ^reflection:fields[obj-or-class] are added 2012-06-05 misha * src/classes/reflection.C: - ^reflection:method[class or object;method name] and ^reflection:field[class or object;field name] are added * src/types/pa_vstateless_class.C: - Method::get_vjunction method is used * src/types/pa_method.h: - Method::as_vjunction method is added 2012-06-05 moko * src/targets/Makefile.am: cgi now build with apache module * src/classes/memcached.C: flish ttl fixed 2012-06-04 moko * src/classes/json.C, src/classes/op.C, tests/279.html, tests/results/279.processed: ^json:parse[] now supports $.taint option (new feature #833) 2012-06-04 misha * src/: include/pa_common.h, main/pa_common.C, types/pa_vcookie.C: - search_stop method was moved from pa_vcookie.C to pa_common.C 2012-06-03 misha * src/main/pa_http.C: - ^file:load[...;http://...] - all received cookies are parced and stored into $.cookies ( new feature: #31 ) 2012-05-30 misha * tests/: 182_dir/a3.p, 182_dir/a4.p, 182.html: - test for adding incomplete class into a scope while @USE is found * src/main/compile.y: - add incomplete class into a scope while @USE and @CLASS instructions are found ( bugfix: #838 ) 2012-05-30 moko * src/types/pa_vclass.C, tests/278.html, tests/results/278.processed: removed "property has no getter method" exception when GET_DEFAULT present (fixes #269) * src/classes/json.C, tests/277.html: ^json:string[], $.default -> $._default 2012-05-29 moko * src/types/pa_vvoid.h: $STRICT-VARS(true) implemented to check uninitialized values usage (new feature: #154) 2012-05-28 moko * tests/277.html, src/classes/json.C, src/classes/reflection.C, src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vbool.h, src/types/pa_vdate.h, src/types/pa_vdouble.h, src/types/pa_vfile.C, src/types/pa_vfile.h, src/types/pa_vint.h, src/types/pa_vobject.C, src/types/pa_vobject.h, src/types/pa_vstring.h, src/types/pa_vtable.C, tests/results/277.processed, src/types/pa_vtable.h, src/types/pa_vvoid.h, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h: ^json:string[$o; $.default[$method]] implemented for VObject (new feature #803) * src/classes/json.C, src/lib/json/JSON_parser.h, tests/277.html, tests/results/277.processed: json numbers are now treated as double ( new feature: #834 ) * src/: classes/math.C, include/pa_string.h, main/pa_charset.C, main/pa_string.C, types/pa_vdouble.h, types/pa_vint.h: pa_atoui added for out of range checks, zero division in vint/vdouble check added ( fixes #832 ) * tests/: 275.html, results/275.processed: tests for pa_atoui added ( fixes #832 ) 2012-05-28 misha * buildall-with-xml: - --without-lzma option is added to libxml2 configure * tests/256.html: - test for ^json:string[-file-;$.file[stat]] is added - tests for unsupported values for options $.file, $.table and $.date are added * src/: classes/json.C, types/pa_value.h: - ^json:string[...] now accepts "stat" $.file[] option's value in addition to existed "text" and "base64" ( new feature: #835 ) * tests/276.html: - test for ^reflection:delete[$object-or-class;field-name] * src/classes/reflection.C: - ^reflection:delete[$object-or-class;field-name] is added ( new feature: #268 ) 2012-05-27 misha * buildall-with-xml: - libxml2 2.7.8 => 2.8.0 2012-05-24 misha * src/include/pa_common.h: - method lastposafter was removed * src/classes/file.C: - use strrpbrk & rskipchars instead of lastposafter - ^file:dirname[] & Co proper handle windows file paths ( bug fix: #783 ) - ^file:dirname[] & ^file:basename[] now work as *nix commands * src/main/pa_request.C: - use strrpbrk instead of lastposafter * src/: include/pa_string.h, main/pa_string.C: - strrpbrk & rskipchars were added * tests/270.html: - more tests for ^file:find[] * tests/065.html: - more tests for ^file:dirname[] & Co * src/include/pa_version.h: - must be "win32" here. it is auto-generated on *nix 2012-05-24 moko * src/classes/math.C: ^math:convert[] now supports uint32 and throws overflow exception ( new feature: #830 ) * tests/: 275.html, results/275.processed: test for ^math:convert[] uint32 support and overflow added ( new feature: #830 ) 2012-05-23 moko * src/: classes/table.C, types/pa_value.h, types/pa_vbool.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vregex.C, types/pa_vregex.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: bool "return string as-is" removed from as_expr_result. ( new feature: #831 ) * tests/results/244.processed: test changed after bug #782 fix commited * tests/results/229.processed: test results for bug #782 commited * tests/: 254.html, results/254.processed: uid now just compared, not printed. :) 2012-05-20 moko * src/classes/reflection.C: ^reflection:uid[$object] added ( new feature: #341 ) * tests/: 254.html, results/254.processed: test for ^reflection:uid[] added * tests/: 254.html, results/254.processed: test for ^reflection:uid[$obj] added 2012-05-17 misha * src/main/untaint.C: - do not replace ' char by _26 while exploding filespec-tainting ( new feature: #829 ) 2012-05-12 moko * src/types/pa_vvoid.h: is_string now also checked, but get_* - not. 2012-05-08 moko * src/types/pa_vmethod_frame.h: bug #782 fixed * tests/229.html: test for bug #782 * tests/results/259.processed, src/main/pa_request.C, src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h, src/types/pa_vstring.h, src/types/pa_vvoid.C, src/types/pa_vvoid.h: feature #154 - first empty param now string; defined locals are empty strings; $STRICT-VARS(true) added 2012-04-27 moko * src/targets/apache/Makefile.am: ../../lib/memcached/libmemcached.a added 2012-04-27 misha * buildall-with-xml, buildall-without-xml: - prce 8.12 => pcre 8.30 ( #827 ) 2012-04-25 moko * src/: classes/json.C, classes/memcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, types/pa_vmemcached.C, types/pa_vmemcached.h: memcached_add implemented. * src/classes/curl.C: stderr -> f_stderr for Windows compatibility 2012-04-23 moko * src/: classes/memcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, types/pa_vmemcached.C, types/pa_vmemcached.h: open allows options hash for new memcached(options) function * src/classes/curl.C: check_safe_mode added, stderr now rewritten, not appended 2012-04-21 moko * src/classes/curl.C: '' added. :) * src/classes/classes.vcproj: new curl.h location * src/classes/curl.C: verbose output redirection from stderr to file curl option added 2012-04-20 moko * src/: classes/curl.C, lib/curl/curl.h: lib/curl/curl.h now contains what we need from curl, #ifdef HAVE_CURL removed * configure, configure.in, src/classes/Makefile.am, src/include/pa_config_auto.h.in, src/include/pa_version.h, src/lib/Makefile.am, src/lib/curl/Makefile.am, src/lib/curl/curl.h: curl.h header now in src/lib/curl, not configure option 2012-04-19 moko * src/: classes/double.C, classes/inet.C, classes/int.C, classes/string.C, lib/gc/include/gc_allocator.h, types/pa_vform.C: PVS-Studio detected errors fixes, unused options from sql_result_string removed. (closes issue #468) * src/types/pa_vmemcached.C: empty string fix * src/types/: pa_value.C, pa_value.h, pa_vmemcached.C, pa_vstring.C, pa_vstring.h: serialization helpers moved to pa_vmemcached.C 2012-04-18 moko * src/targets/apache/mod_parser3.c: "Parser3 module requires apache2-mpm-prefork" error displayed in threaded mpm. * src/targets/apache/: mod_parser3.c, mod_parser3_core.C: pa_setup_module_cells delayed to avoid GPF on init with php5-xsl installed (issue #354) 2012-04-16 moko * src/types/pa_vmemcached.C: call to memcached_result_create and memcached_result_free removed 2012-04-14 moko * src/lib/memcached/pa_memcached.h: uint32_t for Windows defined * src/types/pa_vmemcached.C: check_key added and used 2012-04-13 moko * src/: include/pa_string.h, types/pa_value.C, types/pa_value.h, types/pa_vmemcached.C, types/pa_vstring.C, types/pa_vstring.h: Serialization_data now added and used, VString now serialized with languages into memcached. 2012-03-28 moko * src/: types/pa_vmemcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h: result lengths added 2012-03-27 moko * src/types/pa_vmemcached.C: strdup added 2012-03-24 moko * src/: classes/memcached.C, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, types/pa_vmemcached.C, types/pa_vmemcached.h: memcached: mget, flush, fttl added 2012-03-20 moko * configure, configure.in: Makefiles.in updated for memcached * src/targets/cgi/Makefile.am: cleanup * src/: types/Makefile.am, types/pa_vmemcached.C, types/pa_vmemcached.h, targets/cgi/Makefile.am: memcached initial * src/: classes/Makefile.am, classes/memcached.C, lib/memcached/Makefile.am, lib/memcached/constants.h, lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, lib/memcached/types.h, lib/Makefile.am: memcached initial 2012-03-16 moko * src/main/execute.C: ident now works under Linux + ident displays filenames (closes issue #818) * src/types/: Makefile.am, pa_vmethod_frame_global.h, pa_vmethod_frame_local.h: cleanup: pa_vmethod_frame_global.h pa_vmethod_frame_local.h removed * 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/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/pcre/pcre_parser_ctype.c, 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, main/helpers/simple_folding.pl, 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.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_vmemory.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vmethod_frame_global.h, types/pa_vmethod_frame_local.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: ident now works under Linux + ident displays filenames (closes issue #818) Copyright updated 2012-03-13 moko * src/main/pa_string.C: compilation fix for feature #741 2012-03-09 misha * tests/193.html: - tests for ^string:base64[encoded] are updated * src/main/pa_common.C: - ^string:base64[encoded;$.strict(true)] now detects invalid base64 chars in the middle of encoded stricg ( new feature: #55 ) * src/include/pa_exception.h: - new exception type for base64 decoding is added 2012-03-06 misha * tests/274.html: - tests for ^date::today[] and ^date.sql-string[datetime|date|time] are added * src/classes/date.C: - constructor ^date::today[] is added ( new feature: #811 ) - ^date.sql-string[] now can accept one param -- strings "datetime", "date" or "time" - comments tidying up * src/types/pa_vdate.h: - get_sql_string now can print datetime, date and time 2012-03-03 misha * tests/193.html: - tests for ^string:base64[encoded;$.strict(true)] are added * tests/results/auto.p: - try-catch operator is added * src/: classes/file.C, classes/string.C, include/pa_common.h, main/pa_common.C: - $.strict(true|false) option is added to base64 decode methods ( new feature: #55 ) * src/main/pa_common.C: - base64 decode memory usage was decreased ( new feature: #819 ) 2012-02-28 moko * src/classes/hash.C: ident test 2012-02-27 misha * src/classes/file.C: - PARSER_VaRSION => PARSER_VeRSION 2012-01-08 misha * tests/273.html: - tests for ^string.replace[from;to] are added * src/: classes/string.C, include/pa_dictionary.h, main/pa_dictionary.C, main/pa_string.C: - ^string.replace[from;to] is added ( new feature: #741 ) - ^string.replace[one subst here] is slightly optimized 2011-12-07 misha * src/classes/table.C: - $t[^table::create{$empty}] now creates named table with one empty column ( bugfix: #63 ) 2011-11-30 misha * src/classes/json.C: - it's possible to set user's method for parsing arrays: ^json:parse[...;$.array[$hook]] ( new feature: #763 ) * tests/272.html: - test for ^json:parse[...;$.array[$hook]] 2011-11-23 misha * src/: classes/curl.C, classes/file.C, classes/image.C, classes/table.C, classes/xdoc.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C: - constructor ^file::create[mode;filename;content[;options]] now accepts binary mode and file-content - new constructor's format: ^file::create[string-or-file-content[;$.name[filename] $.mode[text|binary] $.content-type[...] $.charset[...]]] ( new feature: #65 ) * src/: include/pa_request.h, main/pa_request.C: - new method mime_type_of(const String*) is added * src/include/pa_exception.h: - new exception constant FILE_NAME_MUST_BE_SPECIFIED is added * src/classes/table.C: - bug with negative offset transformed into a feature. it means pointing to a row from the end of the table ( new feature: #810 ) 2011-11-19 misha * src/classes/table.C: - íåñêîëüêî signed/unsigned warnings óáðàíû â ìåòîäå _select ( new feature: #810 ) * src/types/pa_vxdoc.C: - checkout if $.encoding and $.charset options were specified together is simplified 2011-11-12 misha * src/main/pa_request.C: - forgotten fix for escaping filename in HTTP content-disposition header (a part of bug #361 ) * src/classes/json.C: - ^json:string[$.class_name[jmethod]] now checks for ancestors' classes as well ( new feature: #456 ) * src/classes/op.C: - exceptions for ^break[] and ^continue[] "without cycle" now have types "parser.break" and "parser.continue" instead of "parser.runtime" ( new feature: #799 ) 2011-11-11 misha * tests/results/: 099.processed, 100.processed, 205.processed, 237.processed: - since bug #361 was fixed the content of filename in HTTP headers is quoted * tests/results/270.processed: - result for test 270 * tests/: 065.html, results/065.processed: - more tests for ^file:basename[] & Co were added * tests/270_dir/: 270.txt, subdir/270.txt: - stuff for 270.html * tests/270.html: - tests for ^file:find[] are added * src/types/pa_vxdoc.C: - now it's possible to specify encoding using option $.charset. option $.engoding is still supported but these options can not be specified together * src/classes/xdoc.C: - charset.isUTF8 is used instead of comparation charset name with string "UTF-8" ( bugfix: #759 ) 2011-10-11 misha * src/: classes/xdoc.C, types/pa_vxdoc.C, types/pa_vxdoc.h: - new option was added: ^xdoc.file[$.name[èìÿ ôàéëà]] (new feature: #622) 2011-09-30 misha * src/types/pa_vrequest.C: - saving empty $request:post-body causes exception "saving stat-ed file" ( bugfix: #395 ) 2011-05-30 misha * src/classes/string.C: - fixed bug which was added with params.as_hash into string:sql 2011-05-29 misha * src/types/pa_value.C: - filename in content-disposition header must be quoted ( bugfix: #361 ) 2011-05-27 misha * src/classes/: image.C, xdoc.C: - $.mode must be set for newly created file * src/classes/: hash.C, mail.C: - little tunning with get_hash usage * src/include/pa_exception.h: - one more string for exception was added 2011-05-25 misha * tests/269.html: - tests for checking input params in some dom methods * src/classes/: xdoc.C, xnode.C: - validation of some input params was added. it isn't possible not wo create xdoc with invalid tagName. ( bugfix: #160 ) * src/include/: pa_exception.h, pa_xml_exception.h: - exception's string "data must be string" was mover from pa_exception.h to pa_xml_exception.h * src/classes/: xnode.C, xnode.h: - methods as_xmlqname, as_xmlncname, as_xmlname and as_xmlnsuri were added * src/main/pa_xml_exception.C: - XmlException accepts more options * src/include/pa_xml_exception.h: - XmlException accepts more options - XML-related exception's strings were added * src/: classes/xdoc.C, types/pa_vxdoc.h: - code cleanup (unused output_options were removed) 2011-05-19 misha * src/classes/: file.C, hash.C, string.C, table.C, void.C: - params.as_hash is used more while parsing methods hash-options 2011-05-18 misha * operators.ru.txt, operators.txt: - info about json-serialization of xdoc was added * tests/256.html: - tests for json-serialization xdoc were added * src/types/pa_vxdoc.C: - ups. I've forgot about "method" :) * src/: types/pa_value.h, types/pa_vxdoc.C, types/pa_vxdoc.h, classes/json.C, classes/xdoc.C: - now json:string can serialize xdoc-objects. options (the same as ^xdoc.string[]) could be specified in $.xdoc[] ( new feature: #265 ) 2011-05-15 misha * tests/268.html: - tests for ^table.count[with options] were added * src/classes/table.C: - method ^table.count[] now can accept options ( new feature: #93 ): ^table.count[column] returns number of columns for named table; ^table.count[cells] returns number of cells in the current row; ^table.count[] & ^table.count[rows] return number of rows in a table. * tests/267.html: - test for checking switch/case in boolean mode was added * src/classes/op.C: - if switch's or case's value is bool, they are compared as bool values, not as double values: new feature: #351 2011-05-06 misha * tests/242.html: - EOL before EOF was added * tests/169.html: - tests for splitting empty string and void were added * src/main/pa_string.C: - fix of fix (^empty_string.split[...] returned table with one empty cell) 2011-04-03 misha * src/include/pa_version.h, configure.in: - version in head was changed to 3.4.2b 2011-03-30 misha * src/types/pa_vregex.C: - \w & Co now contain unicode properties as well ( new feature #294 ) 2011-03-29 misha * buildall-with-xml, buildall-without-xml: - PCRE stack usage is limited to approx. 6 MB. previous limits were too big for real life. bugfix: #216 2011-03-04 moko * etc/parser3.charsets/cp866.cfg: Conforms to http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT * etc/parser3.charsets/cp866.cfg: cp866 initial version from vlalek@ 2011-02-22 misha * src/include/pa_charset.h, operators.ru.txt, operators.txt: - some methods mustn't be under #ifdef XML or parser can't be compiled without xml support 2011-02-21 misha * src/targets/apache/: Makefile.am: - mention ApacheModuleParser3.vcproj was removed * src/types/pa_vjunction.C: - EOL before EOF was added (warning removed) 2011-02-20 misha * tests/: 266.html, 266.p: - tests for checking $.inherited and $.overridden in ^reflection:method_info[...] were added * src/classes/reflection.C: - beautifying result of ^reflection:method_info[] ($.overridden/inherited) 2011-02-18 misha * src/main/: pa_charset.C, pa_http.C, untaint.C: - use pa_isalpha and pa_isalnum instead of isalpha and isalnum - bug with redundand quoting lowercased latin chars while building email body was fixed * src/include/pa_common.h: - pa_isalpha and ps_isalnum methods were added (they check for latin chars only) 2011-02-16 misha * src/main/pa_charset.C: - bugfix: in some cases the calculating string size for transcoding gave too small value (should ever look for availability char in dest charset inspite of the char size) 2011-02-04 moko * tests/223.html: header values now not url-encoded (issue #195) 2011-02-01 misha * buildall-with-xml, buildall-without-xml: - 8.10 => 8.12 2011-01-31 misha * src/main/pa_request.C: - throw exception if param file_name in use_file is empty 2011-01-08 moko * src/classes/curl.C: compilations errors fixed 2010-12-29 moko * tests/: 265.html, results/265.processed: test for issue #200 added * src/main/pa_string.C: empty regex result check added (fixes issue #200) * src/main/pa_http.C: pa_http_safe_header_name corrected a bit * tests/results/223.processed: header values now not url-encoded (issue #195) * src/: classes/curl.C, include/pa_http.h, main/pa_http.C, main/untaint.C: L_HTTP_HEADER now used in http headers values, pa_http_safe_header_name added for headers names (fixes bug #195) 2010-12-18 misha * src/: types/types.vcproj, classes/classes.vcproj: - arp-include => pa-include 2010-11-28 moko * src/lib/sdbm/sdbm.vcproj: apr -> pa (.vcproj) * src/lib/sdbm/: pa_strings.C, sdbm.c, pa-include/pa_strings.h: apr -> pa * configure.in: apr -> pa * src/types/: pa_vhashfile.C, pa_vhashfile.h: apr -> pa * src/: lib/sdbm/pa-include/Makefile.am, lib/sdbm/Makefile.am, classes/Makefile.am, types/Makefile.am: apr -> pa * src/lib/sdbm/: Makefile.am, apr_file_io.C, apr_strings.C, pa_file_io.C, pa_strings.C, sdbm.c, sdbm_hash.c, sdbm_lock.c, sdbm_pair.c, sdbm_pair.h, sdbm_private.h, sdbm_tune.h, pa-include/pa_apr.h, pa-include/pa_errno.h, pa-include/pa_file_info.h, pa-include/pa_file_io.h, pa-include/pa_sdbm.h, pa-include/pa_strings.h: apr -> pa (apache2 module apr name conflict resolved) 2010-11-27 misha * buildall-with-xml, buildall-without-xml: - typo fixed: libz2 -> libbz2 2010-11-26 misha * src/: types/pa_vregex.C, classes/hash.C, classes/table.C: - warnings removed 2010-11-25 moko * operators.ru.txt, operators.txt: $.indent(true) * operators.ru.txt, operators.txt: another bugfix. :) * operators.ru.txt, operators.txt: bugfix. :) * buildall-with-xml: libxml2-2.7.8 + with-apache 2010-11-24 moko * configure: apxs support * configure.in: apxs support -Bstatic gc removed for OS X * src/targets/: Makefile.am, apache/Makefile.am: apxs support * src/main/: pa_globals.C, pa_xml_io.C: the rest converted to THREAD_LOCAL usage * src/: classes/curl.C, include/pa_config_includes.h, main/pa_globals.C: THREAD_LOCAL defined and used 2010-11-23 moko * src/: classes/op.C, main/pa_os.C: microseconds, not milliseconds should be passed to pa_sleep, and only fractional part (bugfix: #188) * src/targets/apache/mod_parser3.c: 1.3 compatibility * src/targets/apache/: mod_parser3.c, mod_parser3_core.C: GC_dont_gc=1, as in cgi version * src/targets/apache/mod_parser3.c: warning war * src/targets/apache/: mod_parser3.c, mod_parser3_core.C, pa_httpd.h: version removed, some trash removed * src/targets/apache/mod_parser3.c: version removed (we don't want to show it), warning war * src/targets/apache/: mod_parser3.c, mod_parser3_core.C, pa_httpd.h: parser_status_allowed removed + merge config functions removed (override is the default) + beauty * src/: include/pa_request.h, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: option to hide $status used in apache module removed 2010-11-18 moko * operators.ru.txt, operators.txt: $.table[compact] added for ^json:string[] 2010-11-16 moko * src/targets/apache/mod_parser3.c: some cleanup done * src/main/untaint.C: bugfix: first, second String::Body argument is hashcode; second, info.fragment_begin is original, not resulting length * src/classes/file.C: new feature: $.stdin now untainted * tests/results/264.processed: new feature: $.stdin[] now untainted * tests/cat.sh: new feature: stdin arg to test $.stdin[value] * src/classes/op.C: ^apply-taint[] method added * tests/: 264.html, results/264.processed: ^apply-taint[] test added; $.stdin untaint test added 2010-11-15 moko * src/targets/apache/mod_parser3.c: outdated MODULE_MAGIC_NUMBER removed * src/targets/apache/: mod_parser3.c, mod_parser3_core.C, pa_httpd.h: 2x2 calculated under apache2. :) 2010-11-13 moko * src/targets/apache/mod_parser3.c: initial changes to build module with apache 2.x includes * src/targets/apache/: Makefile.am, mod_parser3.c, mod_parser3_core.C, pa_httpd.h, pa_threads.C: initial commit for united apache 1.3 / apache 2.x DSO module 2010-11-09 moko * src/types/pa_method.h: check added to dissallow @method[name;*] syntax * tests/: 263.html, results/263.processed: test from method[*args] added * src/types/: pa_method.h, pa_vmethod_frame.h: closes #26: variable number of params can now be passed to a method declared with *arg 2010-11-06 moko * src/classes/table.C: formating fixed. :) * src/classes/table.C: closes #4: ^table.select now supports $.limit(), $.offset, $.reverse() options * tests/: 262.html, results/262.processed: test for ^table:select with options added (feature #4) * src/include/pa_array.h: remove function added * src/types/: pa_vhash.C, pa_vhash.h: avoiding temporal String object in get_element/put_element, using static one. 2010-11-04 moko * src/types/pa_vregex.C: closes #6: exeption now thrown if invalid options is passed * tests/: 256.html, results/256.processed: $.table[compact] feature now tested; k and p in handler now tested. * src/types/: pa_value.h, pa_vtable.C, pa_vtable.h: fixes #153, $.table[compact] feature added * src/classes/json.C: key is now passed to handler in value_json_string; ^json:string result now process tainting inside and returns clean string, related to issue #153 * src/main/untaint.C: bugfix: charset can be null (in ^string:save[] as example), thus check is added 2010-10-31 moko * src/classes/string.C: error message changed (fixes issue #149) 2010-10-29 moko * src/main/pa_http.C: ":port" is now added to "Host:" header if port is not default (fixes issue #155); exception on invalid port added. * src/main/untaint.C: '*' is now not urlencoded to allow header "Accept: */*" to be passed 2010-10-28 moko * src/classes/curl.C: bugfix: detect_charset() was throwing exception on unknown charset even if response_charset was specified 2010-10-27 moko * src/classes/string.C: ^string.append removed for void compatibility 2010-10-26 moko * src/classes/json.C: libjson supports array at top level, we too (GPF fixed) 2010-10-25 moko * tests/: 253.html, results/253.processed: libjson supports array at top level, parser now supports it as well. * tests/261.html, tests/results/261.processed, src/types/pa_vstring.h: empty string is now void compatible (allows $empty.key) 2010-10-22 misha * src/types/pa_vcookie.C: - fix for session cookie (was introduced while adding additional expires checkout) * tests/030.html: - test for session cookie was added 2010-10-21 moko * src/: classes/string.C, classes/void.C, main/execute.C, types/pa_vvoid.C, types/pa_vvoid.h: void now inherited from string (feature #111) * tests/: 261.html, results/261.processed: checks void from string inheritance (feature #111) * src/classes/: bool.C, classes.h, curl.C, date.C, double.C, file.C, hash.C, hashfile.C, image.C, inet.C, int.C, json.C, reflection.C, regex.C, string.C, table.C, void.C: used_directly() now true by default 2010-10-17 moko * src/: include/pa_string.h, main/pa_http.C, main/untaint.C: files upload now uses binary blocks instead of L_FILE_POST tainting. (bugfix: #128) * tests/: 223.html, results/223.processed: binary file upload test added, GPF (issue #128) also checked in this test 2010-10-13 misha * tests/260.html: - test for math:convert * src/classes/math.C: - error in math:convert was fixed * operators.ru.txt, operators.txt: - info about ^math:convert[number](from-base;to-base) was added * src/classes/math.C: - method ^math:convert[number](from-base;to-base) for converting number represention from one base to another was added ( new feature: #23 ) 2010-10-13 moko * src/main/compile.tab.C: [] now is empty string, not void * src/main/compile.y: [] now is empty string, not void * src/types/pa_vvoid.h: void now passed as parameter * tests/: 259.html, results/259.processed: to test difference between void and empty string (see ticket #111) * tests/results/152.processed: $sEmpty[] is now empty string, not void * tests/256.html: $s[$void] is no longer empty string * tests/254.html: empty string is no longer void 2010-10-12 misha * src/types/pa_vcookie.C: - check if $.expires value can be converted to date during cookies set up ( bugfix: #104 ) * tests/041.html: - more tests for ^table.locate were added * src/classes/table.C: - ^table.locate[field;value;options] didn't work ( bugfix: #129 ) - exception comment for incorrect options ^table.locate[field;value;options] was fixed 2010-10-10 moko * src/: classes/reflection.C, main/execute.C: constructor returning another object feature returned * tests/results/258.processed: test result updated as constructor returning another object feature returned * tests/: 258.html, results/258.processed: test for constructor returning another object 2010-10-08 misha * tests/257.html: - whitespaces after @METACOMMANDS and their options shouldn't cause exceptions any longer 2010-10-06 moko * src/classes/: hash.C, table.C: length from sql server is now ignored, as sql string can contain 0x00 inside (bugfix: #119) 2010-10-02 misha * operators.ru.txt, operators.txt: - the X mark was removed from ^cache[file]. it is usable to delete cache file. 2010-10-02 moko * tests/: 253.html, results/253.processed: hook_key added for key checking * src/classes/json.C: null key bug fixed 2010-09-29 misha * tests/: 256.html, 256.txt: - tests for ^json:string[] were added 2010-09-25 moko * src/classes/json.C: small fixed * tests/results/: 253.processed, 255.processed: just updated * tests/: 253.html, 253_json.txt, 255.html, results/253.processed, results/255.processed: charset transcode test added for json:parse 2010-09-24 moko * src/types/pa_value.h: warning war :) * src/: classes/json.C, include/pa_request.h, types/pa_value.h, types/pa_vfile.C, types/pa_vtable.C: $.indent implemented for ^json:string 2010-09-22 moko * src/main/pa_charset.C: parser charset tables declare only white-space before 0x20, thus adding the missing chars * etc/parser3.charsets/: koi8-r.cfg, koi8-u.cfg: updated to conform to http://unicode.org/Public/MAPPINGS/VENDORS/ 2010-09-21 misha * src/main/compile.y: - some semicolons were added (VS2010 don't want to compile grammar if they are absent) * tests/: make_tests.cmd, run_tests.cmd: - path tools is changed * src/classes/classes.vcproj: - pathes to ls and gawk are changed * src/main/main.vcproj: - path to bison is changed 2010-09-21 moko * etc/parser3.charsets/: windows-1250.cfg, windows-1251.cfg, windows-1254.cfg, windows-1257.cfg, x-mac-cyrillic.cfg: updated to conform to http://unicode.org/Public/MAPPINGS/VENDORS/ 2010-09-20 misha * src/types/pa_vtable.C: - add EOLs while json-serializing table * src/classes/json.C: - add EOL while json-serializing hash * src/lib/json/JSON_parser.C: - 'ES' replaced by 'ESC' because some compilers don't like 'ES'. 2010-09-17 misha * operators.ru.txt, operators.txt: - info about json class was added * src/classes/json.C: - ^json:string[object] * src/: include/pa_request.h, main/pa_request.C: - stuff for preventing infinite recursion while executing json:string was added * src/include/pa_string.h: - method append_quoted was added * src/types/: pa_value.C, pa_value.h, pa_vbool.h, pa_vdate.h, pa_vdouble.h, pa_vfile.C, pa_vfile.h, pa_vint.h, pa_vstring.h, pa_vtable.C, pa_vtable.h, pa_vvoid.h: - method get_json_string was added to Value & Co * src/classes/date.C: - methods get_gmt_string and get_sql_string were used * src/types/pa_vdate.h: - methods get_gmt_string and get_sql_string were added 2010-09-10 moko * src/targets/cgi/parser3.C: vsnprintf now not called twice in die_or_abort (backport from 3.4.1) * src/targets/cgi/parser3.C: vsnprintf now not called twice in die_or_abort (bugfix: #106) 2010-09-09 moko * src/classes/json.C: warning war. :) 2010-09-08 misha * src/lib/json/Makefile.am: - additional include directories were added (for pa_memory.h and gc.h) * src/lib/json/json.vcproj: - JSON_parser.c => JSON_parser.C - compile as C++ instead default - additional include directory was added (for gc.h) * src/types/pa_vform.C: - little code reformating * src/classes/file.C: - $.content-type option now can be specified in ^file::create ( new feature: #102 ) 2010-09-08 moko * src/lib/json/: JSON_parser.C, JSON_parser.h: json lib now uses pa_malloc/pa_free 2010-09-07 moko * tests/results/254.processed: VStateless_class:put_element exception was fixed * src/types/: pa_value.h, pa_vstateless_class.h: now VStateless_class:put_element barks self.type, not this.type (bugfix: #105) 2010-09-06 moko * src/classes/reflection.C: bugfix: new String() is required for exception handling * tests/: 254.html, results/254.processed: test modified 2010-09-05 moko * tests/: 254.html, results/254.processed: ^reflection:copy test added * src/: classes/reflection.C, include/pa_request.h: ^reflection:copy implemented (new feature: #100) 2010-09-03 moko * src/lib/json/JSON_parser.C: c++ compatiblity * tests/: 253.html, 253_json.txt, results/253.processed: $.distinct option testing added 2010-09-02 moko * src/classes/json.C: $.distinct[first|last|all] added 2010-09-01 moko * tests/results/253.processed: json test result * tests/: 253.html, 253_json.txt: json test added * src/classes/json.C: json.C update to actual version + hash key creation bugfix 2010-08-31 misha * src/lib/json/JSON_parser.C, src/lib/json/JSON_parser.h, src/lib/json/Makefile.am, src/lib/json/json.vcproj, src/lib/Makefile.am, src/classes/Makefile.am, src/classes/classes.vcproj, src/classes/json.C, parser3.sln: - json library was added 2010-08-30 moko * src/: include/pa_request.h, main/execute.C, main/pa_request.C, types/pa_vobject.C: cosmetic optimization in request:execute_method usage * src/: include/pa_charset.h, main/pa_charset.C: small optimization, just to decrease number of lines. :) 2010-08-27 misha * src/classes/op.C: - taint[json] was added * tests/: 250.html, 251.html, 252.html: - tests for taint[json] were added * src/main/pa_exec.C: - warning fix was rolled back. * src/: main/pa_charset.C, main/untaint.C, include/pa_charset.h, include/pa_string.h: - taint[json] was added - escaping was slightly modified 2010-08-25 misha * src/classes/file.C: - typo in file:sql exception was fixed * src/main/pa_exec.C: - warning about declared and not used variable forced_allow was removed 2010-08-14 misha * src/classes/hash.C: - two warnings about signed/unsigned mismatch were removed 2010-08-11 moko * tests/: 249.html, results/249.processed: default setter and anti-recursive default getter test added * src/: classes/reflection.C, include/pa_request.h, main/execute.C, types/pa_value.h, types/pa_vclass.C, types/pa_vobject.C, types/pa_vobject.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h: default setter support + anti-recursive default getter support ( new feature: #13 ) * src/include/pa_hash.h: optimization: threshold member removed from hash, reducing sizeof(hash) 2010-08-10 misha * tests/196.html: - junction-method was added to the test * tests/248.html: - ups. typo :) * tests/248.html: - test for checking .match with 4 params * tests/: 247.html, 247_utf8.txt, 247_utf8_bom.txt, 247_windows1251.txt: - test for "transcode file from utf-8 to $request:charset during loading if the BOM code is detected" * src/main/: pa_common.C, pa_http.C: - transcode file from utf-8 to $request:charset during loading if the BOM code is detected ( new feature: #98 ) 2010-08-05 misha * src/classes/image.C: - ^image.replace now can accept only 2 params. in this case the whole image is affected ( new feature: #95 ) 2010-08-04 misha * tests/246.html: - test tor ^hash._at[] was added * src/classes/hash.C: - ^hash._at[first|last|[-]N] ( new feature: #53 ) * src/include/pa_hash.h: - methods for accessing the first and the last values of ordered hash were added (first_value and last_value) * src/classes/file.C: - now ^file::base64 accepts up to 4 params (similar to others file's methods): ^file::base64[mode;user-file-name;encoded;options] ( new feature: #68 ) * src/types/pa_vmethod_frame.h: - helper method as_hash was added 2010-08-01 moko * src/classes/op.C: to correctly process $result[] in code, called from ^process * tests/245.html: $result in ^process[] test added * src/: classes/op.C, classes/reflection.C, include/pa_request.h, main/execute.C, main/pa_request.C, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vobject.C: optimization: VMethodFrame(junction, caller) replaced with VMethodFrame(method, caller, self) op_call(VMethodFrame &frame, bool constructing) removed, construct(class,method) added * tests/results/: 192.processed, 244.processed: request::construct added * tests/: 244.html, 245.html, results/244.processed, results/245.processed: object creation exceptions and ^process tests added 2010-07-28 misha * tests/make_tests.cmd: - win32 EOLs * tests/: run_parser.cmd, run_tests.cmd: - cmd files for executing tests on Win32 were added (The system timezone should be GMT+3) 2010-07-26 misha * tests/: 212.html, results/212.processed: - sizes were removed mecause they could be different on different OSs * tests/065.html: - make it "win32 friendly" 2010-07-25 misha * src/main/compile.y: - all EOLs between methods are removed during compilation ( new feature: #47 ) * tests/results/149.processed: - prepare tests to trim trailing methods' EOLs * tests/149.html: - prepare tests to trim trailing methods' EOLs * tests/: results/006.processed, results/014.processed, 006.html, 014.html, 022.html: - prepare tests to trim trailing methods' EOLs * tests/: 059.html, 071.html, 149.html, results/059.processed, results/071.processed, results/022.processed: - prepare tests to trim trailing methods' EOLs * tests/: results/073.processed, results/109.processed, results/142.processed, results/144.processed, results/149.processed, 073.html, 096.html, 109.html, 142.html, 144.html: - prepare tests to trim trailing methods' EOLs * tests/: 096.html, 107.html, 109.html, 142.html, 144.html, 149.html, 152.html, results/096.processed, results/107.processed, results/109.processed, results/142.processed, results/144.processed: - prepare tests to trim trailing methods' EOLs 2010-07-24 moko * tests/results/: 156.processed, 224.processed: fix for #54 changed the hash order in this test * tests/014.html: to check hash order, hash no is longer sorted before print * src/include/pa_hash.h: hash copy constructor now keeps order (bugfix: #54) 2010-07-23 moko * tests/results/224.processed: @auto[] is no longer inherited * src/types/pa_vstateless_class.C, tests/227.html, tests/results/227.processed: @auto[] is no longer inherited (bugfix: #57) 2010-07-22 misha * src/classes/table.C: - don't skip comment lines during table::load if encloser or separator is set as '#' ( new feature: #30 ) * src/targets/cgi/parser3.C: - don't run as cgi if env:PARSER_VERSION was set for preventing infinite loot ( bugfix: #12 ) * src/classes/file.C: - set PARSER_VARSION env before external script executing 2010-07-13 misha * tests/058.html: - test for suppressing @border was added - test for user attribute was added * tests/results/186.processed: unescaping from \uXXXX * tests/186.html: unescaping from \uXXXX * tests/: 239.html, results/239.processed: method call type * src/types/: pa_vjunction.C, pa_vjunction.h: - bugfix: #90 : $junction_method.CLASS_NAME (+CLASS) 2010-07-07 misha * buildall-with-xml, buildall-without-xml: - moving to pcre 8.10 on *nix 2010-07-05 misha * src/: classes/curl.C, classes/file.C, classes/hash.C, classes/image.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, main/pa_common.C, main/pa_http.C: - exception comment strings "options must be hash", "options must be hash, not code" and "called with invalid option" were replaced by constatns - exception comment string "invalid option passed" was replaced by "called with invalid option" (now in different methods are the same exception comment string) * src/include/pa_exception.h: - more exception strings were defined * src/: main/compile.y, main/compile_tools.C, main/compile_tools.h, types/pa_vstateless_class.h: - now we can define possible method's call type ( new feature: #5 ) 1. @OPTIONS\nstatic|dynamic (no option == any) -- for all classe's methods 2. @static:method[params] (only static keyword could be used here) -- for specified methods * src/main/pa_common.C: - junction points should not be deleted on win32 during dirs cleanup ( bugfix: #83 ) - optimisation in dirs cleanup 2010-07-03 misha * tests/: 158.html, 160.html, 161.html, 162.html, 163.html, results/158.processed, results/160.processed, results/161.processed, results/162.processed, results/163.processed: - prepare tests to trim trailing methods' EOLs * tests/results/169.processed: - prepare tests to trim trailing methods' EOLs * tests/results/: 168.processed, 169.processed: - prepare tests to trim trailing methods' EOLs * tests/: results/170.processed, results/167.processed, results/168.processed, results/169.processed, 167.html, 168.html, 169.html: - prepare tests to trim trailing methods' EOLs * tests/: results/170.processed, results/171.processed, results/172.processed, results/173.processed, results/174.processed, results/175.processed, 170.html, 171.html, 172.html, 173.html, 174.html, 175.html: - prepare tests to trim trailing methods' EOLs * tests/: results/176.processed, results/180.processed, results/184.processed, results/185.processed, results/191.processed, results/192.processed, results/196.processed, results/197.processed, results/198.processed, 176.html, 180.html, 184.html, 185.html, 191.html, 192.html, 196.html, 197.html, 198.html: - prepare tests to trim trailing methods' EOLs * tests/: 199.html, 208.html, 209.html, 213.html, 214.html, results/199.processed, results/208.processed, results/209.processed, results/213.processed, results/214.processed: - prepare tests to trim trailing methods' EOLs 2010-06-29 misha * tests/: 220.html, 218.html, results/218.processed, results/215.processed, results/217.processed, 215.html, 217.html: - prepare tests to trim trailing methods' EOLs * tests/: results/224.processed, 224.html, 223.html, results/223.processed, results/220.processed: - prepare tests to trim trailing methods' EOLs * tests/results/: 226.processed, 230.processed: - prepare tests to trim trailing methods' EOLs * tests/: 229.html, results/229.processed: - prepare tests to trim trailing methods' EOLs * tests/: 232.html, 235.html, results/232.processed, results/235.processed, 226.html, 227.html, 228.html, 230.html, results/226.processed, results/227.processed, results/228.processed, results/230.processed: - prepare tests to trim trailing methods' EOLs 2010-06-16 moko * tests/: 229.html, results/229.processed: elseif now supported in ^if * src/classes/op.C: new feature: #56 elseif now supported in ^if 2010-06-03 misha * src/main/pa_common.C: - bugfix #74 -- memmove should be used instead of memcopy for overlaped regions 2010-05-25 misha * src/main/pa_common.C: - wanring about unused vars was removed * src/: include/pa_request.h, main/execute.C, main/pa_request.C: - get_method_filename was moved to execute.C 2010-05-23 misha * src/main/pa_request.C: - more accurate detection of method's file 2010-05-22 misha * src/classes/reflection.C: - bugfix: core during detection of .file if filespec isn't detected successfully 2010-05-20 misha * src/main/pa_request.C: - fix in get_method_filename * src/include/pa_request.h: - new feature: #24 -- searching included file in @USE/^use is changed. if its filespec doesn't start from '/' it will be searched in caller file directory * src/classes/reflection.C: - ^reflection:method_info returns file where the method is defined * src/: include/pa_request.h, main/compile.y, main/pa_request.C, classes/op.C: - new feature: #24 -- searching included file in @USE/^use is changed. if its filespec doesn't start from '/' it will be searched in caller file directory * src/: classes/file.C, include/pa_common.h: - method lastposafter is moved to pa_common.h 2010-05-18 misha * src/: main/pa_common.C, include/pa_common.h, classes/string.C, types/pa_vcookie.C: new feature: #71 ^string:js-unescape and cookie parser decode \uXXXX as well as %uXXXX 2010-05-17 misha * src/classes/curl.C: beauty: - unused param is removed in method _curl_version_action - some spaces were removed or replaced by tabs * src/classes/table.C: - bugfix: #72 core with empty value during ^table.hash[...;name_of_the_last_column][$.type[string]] 2010-05-16 misha * src/classes/curl.C: new: #61 more curl options were added (contributed by Sumo) 2010-04-29 pretender * src/main/pa_string.C: fixes #63 Split result from empty string now empty string. * src/types/pa_vtable.C: bugfix: #35 All empty table cells are now string type. 2010-04-28 pretender * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/execute.C: bugfix: #59 OPTIMIZE_BYTECODE_GET_CLASS macrodefinition removed 2010-04-19 pretender * src/main/execute.C: fixes #60 Stacktrace now contains info for OP_CONSTRUCT_OBJECT and OP_GET_CLASS * src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C: fixes #64 Now file.missing exception generates in unsafe mode to. * src/classes/file.C: fixes #48 Now not throw "not save environment variable" exception in grpunlim version. 2010-04-05 misha * src/classes/string.C: - new feature: 4th param was added to match. if specified its value is returned in case of nothing was found 2010-04-01 misha * src/main/pa_request.C: - bugfix: on *nix URIs like /a/b/// caused multiple execution of /a/b/auto.p 2010-03-19 misha * src/main/execute.C: - core in $table1.$table2 was fixed * src/targets/cgi/parser3.C: - core in sigpipe was fixed 2010-01-27 misha * src/main/pa_common.C: - bugfix: there are no excaption.type if trying to open file by path /existing-file/non-exixting-file 2010-01-26 misha * src/types/: pa_vrequest.C, pa_vrequest.h: - $request:post-body was added (returns file) 2009-12-22 misha * src/classes/curl.C: - method 'option' was renamed to 'options' - now parser doesn't have class curl if it was built without it 2009-12-15 misha * configure.in: - little cheat with curl include dir was added 2009-12-05 misha * src/classes/curl.C: - some fixes 2009-12-04 misha * src/include/pa_config_fixed.h, src/classes/classes.vcproj, src/classes/curl.C, src/classes/file.C, src/classes/Makefile.am, buildall-with-xml, buildall-without-xml, configure.in: - curl class was added * src/include/pa_hash.h: - hash-iterator was added * buildall-with-xml, buildall-without-xml: - option --passive-ftp was added to pcre 2009-11-27 misha * src/classes/image.C: - don't add @border attribute to output of ^image.html[] if it was specified by user with empty value * src/types/pa_vxdoc.C: - bugfix: core if xdoc doesn't have the root element and we are trying to access .documentElement 2009-11-11 misha * src/classes/table.C: - in ^table.flip[] look at number of columns instead of number of items in first row for named tables 2009-11-10 misha * operators.ru.txt, operators.txt: - info about hash-options in ^file::create was added * tests/237.html: - test for ^file::create[...;$.charset[...]] was added 2009-11-09 misha * buildall-with-xml: - moving to libxml 2.7.6 * tests/236.html: - tests for comparations cords with functions were added * src/include/pa_string.h: - optimisation: cacheing of cstr was added * src/main/pa_http.C: - little optimisation * src/: classes/table.C, lib/gc/include/gc_allocator.h: - bugfix: GPF mallocs + stringstream (table.save) * src/classes/file.C: - file::create now accepts 4th param: options with $.charset * src/lib/cord/: cordxtra.c, include/private/cord_pos.h: - fixed bug in cord (comparation cords with functions was buggy) 2009-11-06 misha * src/main/pa_string.C: - bugfix: calculation string.length sometimes was buggy * src/classes/string.C: - bugfix: Temp_value_element wasn't destroyed if exception occured during match/replace * src/: main/pa_charset.C, include/pa_charset.h: - method lengthUTF8Char was added * src/classes/op.C: - clean tainting lang was added for user's usage * src/lib/cord/: cordbscs.c, cordxtra.c: - some rare GPF were fixed: checkouts are required after GC_MALLOC * src/types/pa_vregex.C: - check UTF8 only during 1st iteration * operators.ru.txt, operators.txt: - actually, there is no ^untaint[xml] in file::create 2009-10-15 misha * tests/: 235.html, 235_attach.txt: - tests for preparing email were added * tests/234.html: - more tests for checking ^taint[uri] escaping were added * src/: include/pa_string.h, main/pa_charset.C, main/pa_http.C, main/pa_request.C, main/untaint.C, types/pa_vmail.C: - little hacking: for dealing with transcoding+^taint[uri] transcode_and_untaint was replaced by untaint_and_transcode 2009-10-13 misha * tests/: 121.html, results/121.processed: - test transcoding + url-escaping now * tests/results/auto.p: - more helpers' methods were added * src/main/pa_globals.C: - die instead of abort 2009-10-06 misha * src/main/pa_common.C: - don't allocate memory during capitalization if input string is already capitalized * src/targets/isapi/parser3isapi.C: - pass pre-capitalized headers * src/targets/cgi/parser3.C: - pass pre-capitalized headers - don't use format function because it calls malloc * src/include/pa_common.h: - more capitalized headers were added * src/main/pa_common.C: - in safe mode clear executable bits during file writing 2009-10-05 misha * src/main/pa_charset.C: - use iterators in pa_charset.C itself 2009-10-03 misha * src/: types/pa_vimage.h, classes/image.C: - ^img.font[], ^img.text[] & ^img.length[] can work in utf-8 now * src/: include/pa_charset.h, main/pa_charset.C: - class UTF8_string_iterator was added * src/classes/image.C: - respect utf-8 when calculate alphabet length * src/classes/mail.C: - check from before get message.cstr 2009-10-02 misha * tests/233.html: - test for image.font, image.length, image.text with text in utf-8 were added * src/main/pa_common.C: - use pa_malloc_atomic instead of new * buildall-with-xml, buildall-without-xml: - comment about gc version for freebsd 4 was added 2009-10-01 misha * src/main/pa_exec.C: - bugfix: allocate a bit more (for terminator) - read_pipe were slightly optimized 2009-09-28 misha * src/main/: pa_common.C, pa_uue.C: - some magic numbers were removed * src/types/pa_vmail.C: - forgot about space after ':' * src/types/pa_vmail.C: - escape filenames while preparing mail body - small simplifications * src/: include/pa_uue.h, main/pa_uue.C: - pa_uuencode now has inout params like pa_base64 * src/: types/pa_vmail.C, types/pa_vmail.h, classes/mail.C: - new option $.debug-print(1) was added to mail:send - changes for using uue_encode which uses less memory * src/main/pa_common.C: - pa_base64_encode uses less memory now * src/: include/pa_uue.h, main/pa_uue.C: - pa_uuencode reduces less memory now 2009-09-26 misha * src/types/pa_vmail.C: - default encoding now is base64 * buildall-with-xml: - moving to libxml 2.7.5 and libxslt 1.1.26 2009-09-25 misha * src/types/pa_vmail.C: - capitalization of headers was added to sending mail as well * buildall-with-xml: - catalog package was removed from libxml * src/main/pa_xml_io.C: - fix in removing file:// protocol for win32 absolute path * src/include/pa_common.h: - one more capitalized header was added 2009-09-22 misha * INSTALL: - comment about building just httpd binary while building apache module was added 2009-09-21 misha * buildall-with-xml: - moving to the latest versions of xml libs: libxml 2.7.4 and libxslt 1.1.25 2009-09-19 misha * tests/231.html: - test for encoding cookie in win-1251 2009-09-18 misha * tests/: 224.html, 224.p: - tests for ^reflection:fields[class or object] were added * operators.ru.txt, operators.txt: - info about method ^reflection:fields[class or object] was added * src/classes/reflection.C: - method ^reflection:fields[class or object] was added * src/types/: pa_value.h, pa_vclass.C, pa_vclass.h, pa_vobject.h: - methods get_fields were added * tests/232.html: - tests for @GET[name] * src/classes/table.C: - some changes in handling hash-options for creare, join and locate * src/types/: pa_vobject.C, pa_vobject.h: - @GET[] now could be defined with option: the type of requested value 2009-09-17 misha * tests/212.html: - tests for .pattern and .options were added * src/types/: pa_vregex.C, pa_vregex.h: - $regex.pattern and $regex.options were added 2009-09-11 misha * tests/: 223.html, 223_utf8.txt, 223_win1251.txt: - test was rewrited. it checks not just one case of sending cookies during file::load[http], but also sending headers and fields (including files) 2009-09-10 misha * src/main/untaint.C: - workaround in file-spec lang for old Macs was removed => now parser can open files with Russian 'r' in filename * src/main/untaint.C: - bugfix: client charset whould be analized while escaping cookies but now source charset * src/main/pa_http.C: - bugfix: the values of http headers didn't ^tainted[uri] so it was possible to make request with incorrect http header * src/main/pa_http.C: - capitalization of http headers during file::load[http was slightly changes - bugfix: all headers which parser sends during file::load[http should be transcoded and only then escaped * src/main/untaint.C: - a bit more comments were added * src/classes/: file.C, string.C: - types where changes (minus 2 warnings) * src/include/pa_common.h: - 2 capitalized strings for making http headers during file::load[http were added 2009-09-08 misha * operators.ru.txt, operators.txt: - changes in file.save and string.save were added * tests/: 230.html, 230.txt: - tests for checking options in file.save and string.save were added * src/main/pa_request.C: - http headers names, which are passed to SAPI::add_header_attribute are lowercased now (it'll be capitalized in that method) * src/: types/pa_vfile.C, types/pa_vfile.h, classes/file.C, classes/string.C: - file_write accepts Request_charsets and asked charset and cound transcode content before writing - string.save and file.save have option $.charset now * src/: include/pa_common.h, main/pa_common.C, classes/table.C, classes/xdoc.C: - file_write accepts Request_charsets and asked charset and cound transcode content before writing * src/include/pa_exception.h: - new exception comment string was defined 2009-09-07 misha * src/main/compile.y: - grammar $name\ name stops now for regex sub-pattern\s 2009-09-04 misha * src/main/pa_http.C: - capitalization of http headers during file::load[http was implemented 2009-09-03 misha * src/: main/pa_common.C, main/pa_http.C, main/pa_request.C, include/pa_common.h, include/pa_sapi.h, types/pa_vcookie.C, types/pa_vmail.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: - back to storing response http headers in lowercase - capitalize them during output 2009-08-31 misha * src/classes/table.C: - allow call with any brackets (it could be useful in methods with explict result declaration) * src/classes/table.C: - bugfix: ^table.sort{...} doesn't work correctly if $request:charset==koi8-r 2009-08-30 misha * src/: include/pa_common.h, main/pa_request.C: - http headers were changed: content-type => Content-type and so on * src/classes/file.C, src/include/pa_common.h, src/include/pa_request.h, src/main/pa_http.C, src/main/pa_request.C, src/types/pa_vcookie.C, src/types/pa_vmail.C, src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, tests/results/001.processed, tests/results/002.processed, tests/results/003.processed, tests/results/004.processed, tests/results/005.processed, tests/results/006.processed, tests/results/007.processed, tests/results/008.processed, tests/results/009.processed, tests/results/010.processed, tests/results/011.processed, tests/results/012.processed, tests/results/013.processed, tests/results/014.processed, tests/results/015.processed, tests/results/016.processed, tests/results/017.processed, tests/results/018.processed, tests/results/019.processed, tests/results/020.processed, tests/results/021.processed, tests/results/022.processed, tests/results/023.processed, tests/results/024.processed, tests/results/025.processed, tests/results/026.processed, tests/results/027.processed, tests/results/028.processed, tests/results/029.processed, tests/results/030.processed, tests/results/031.processed, tests/results/032.processed, tests/results/033.processed, tests/results/034.processed, tests/results/035.processed, tests/results/036.processed, tests/results/037.processed, tests/results/038.processed, tests/results/039.processed, tests/results/040.processed, tests/results/041.processed, tests/results/042.processed, tests/results/043.processed, tests/results/044.processed, tests/results/045.processed, tests/results/046.processed, tests/results/047.processed, tests/results/048.processed, tests/results/049.processed, tests/results/050.processed, tests/results/051.processed, tests/results/052.processed, tests/results/053.processed, tests/results/054.processed, tests/results/055.processed, tests/results/056.processed, tests/results/057.processed, tests/results/058.processed, tests/results/059.processed, tests/results/060.processed, tests/results/061.processed, tests/results/062.processed, tests/results/063.processed, tests/results/064.processed, tests/results/065.processed, tests/results/066.processed, tests/results/067.processed, tests/results/068.processed, tests/results/069.processed, tests/results/070.processed, tests/results/071.processed, tests/results/072.processed, tests/results/073.processed, tests/results/074.processed, tests/results/075.processed, tests/results/076.processed, tests/results/077.processed, tests/results/078.processed, tests/results/079.processed, tests/results/080.processed, tests/results/081.processed, tests/results/082.processed, tests/results/083.processed, tests/results/084.processed, tests/results/085.processed, tests/results/086.processed, tests/results/087.processed, tests/results/088.processed, tests/results/089.processed, tests/results/090.processed, tests/results/091.processed, tests/results/092.processed, tests/results/093.processed, tests/results/094.processed, tests/results/095.processed, tests/results/096.processed, tests/results/097.processed, tests/results/098.processed, tests/results/099.processed, tests/results/100.processed, tests/results/101.processed, tests/results/102.processed, tests/results/103.processed, tests/results/104.processed, tests/results/105.processed, tests/results/106.processed, tests/results/107.processed, tests/results/108.processed, tests/results/109.processed, tests/results/110.processed, tests/results/111.processed, tests/results/112.processed, tests/results/113.processed, tests/results/114.processed, tests/results/115.processed, tests/results/116.processed, tests/results/117.processed, tests/results/118.processed, tests/results/119.processed, tests/results/120.processed, tests/results/121.processed, tests/results/122.processed, tests/results/123.processed, tests/results/124.processed, tests/results/125.processed, tests/results/126.processed, tests/results/127.processed, tests/results/128.processed, tests/results/129.processed, tests/results/130.processed, tests/results/131.processed, tests/results/132.processed, tests/results/133.processed, tests/results/134.processed, tests/results/135.processed, tests/results/136.processed, tests/results/138.processed, tests/results/139.processed, tests/results/140.processed, tests/results/141.processed, tests/results/142.processed, 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, tests/results/150.processed, tests/results/151.processed, tests/results/152.processed, tests/results/153.processed, tests/results/154.processed, tests/results/155.processed, tests/results/156.processed, tests/results/157.processed, tests/results/158.processed, tests/results/159.processed, tests/results/160.processed, tests/results/161.processed, tests/results/162.processed, tests/results/163.processed, tests/results/164.processed, tests/results/165.processed, tests/results/166.processed, tests/results/167.processed, tests/results/168.processed, tests/results/169.processed, tests/results/170.processed, tests/results/171.processed, tests/results/172.processed, tests/results/173.processed, tests/results/174.processed, tests/results/175.processed, tests/results/176.processed, tests/results/177.processed, tests/results/178.processed, tests/results/179.processed, tests/results/180.processed, tests/results/181.processed, tests/results/182.processed, tests/results/183.processed, tests/results/184.processed, tests/results/185.processed, tests/results/186.processed, tests/results/187.processed, tests/results/188.processed, tests/results/189.processed, tests/results/190.processed, tests/results/191.processed, tests/results/192.processed, tests/results/193.processed, tests/results/194.processed, tests/results/195.processed, tests/results/196.processed, tests/results/197.processed, tests/results/198.processed, tests/results/199.processed, tests/results/200.processed, tests/results/201.processed, tests/results/202.processed, tests/results/203.processed, tests/results/204.processed, tests/results/205.processed, tests/results/206.processed, tests/results/207.processed, tests/results/208.processed, tests/results/209.processed, tests/results/210.processed, tests/results/211.processed, tests/results/212.processed, tests/results/213.processed, tests/results/214.processed, tests/results/215.processed, tests/results/216.processed, tests/results/217.processed, tests/results/218.processed, tests/results/219.processed, tests/results/220.processed, tests/results/221.processed, tests/results/222.processed, tests/results/223.processed, tests/results/224.processed, tests/results/225.processed, tests/results/226.processed, tests/results/227.processed, tests/results/228.processed, tests/results/229.processed: - http headers were changed: content-type => Content-type and so on 2009-08-27 misha * src/: main/pa_random.C, include/pa_random.h, targets/cgi/parser3.C: - year was updated :) 2009-08-26 misha * tests/: 224.html, 224.p: - test for creating of parser object using constructor without params - little bugfix in test * src/main/compile_tools.h: - bugfix: should't call autouse while checking existed class while processing partial option * src/classes/reflection.C: - bugfix: core when creating object with reflection and constructor doesn't have params 2009-08-24 misha * tests/229.html: - tests for checking the number of parameters were added * src/types/: pa_value.C, pa_vmethod_frame.h: - bugfix: the actual number of method's parameters wasn't checked correctly (the bug was introduced in 3.4.0) 2009-08-22 misha * src/main/pa_http.C: - ^file::load[http://...;$.body[]] : $.body transcoded, but tainted pieces are escaped only when content-type==url-encoding * tests/228.html: - test for checking ^file::load[http://...;$.body[]] * src/types/: pa_vform.C, pa_vform.h: - bugfix: attempt to detect post charset was too early (charsets is empty at this moment) 2009-08-21 misha * src/: include/pa_string.h, main/pa_http.C, main/pa_request.C, main/untaint.C: - some fixes with transcode+untaint 2009-08-15 misha * src/main/pa_exec.C: - number of argv in file::exec/cgi on unix was increaced to 100 (was 50) * tests/227.html: - test for checking overriding properties in static classes was added * tests/: 226.html, 226.p: - test for @autoload[] was added * src/: include/pa_request.h, main/compile.y, main/compile_tools.h, main/execute.C, main/pa_request.C, classes/reflection.C: - autouse was implemented 2009-08-14 misha * src/classes/reflection.C: - outdated checkout was removed * src/classes/reflection.C: - optimization - method ^dynamical was added. * src/: types/pa_value.h, types/pa_vmethod_frame.h, types/pa_vstateless_class.h, main/execute.C: - optimization * src/types/pa_vclass.C: - exception if base on sytem class 2009-08-12 misha * src/types/: pa_vclass.C, pa_vclass.h, pa_vstateless_class.C, pa_vstateless_class.h: - little optimisation 2009-08-11 misha * tests/224.html: - method_params => method_info - checking for $.inherited * src/classes/reflection.C, operators.ru.txt, operators.txt: - method method_params was renamed to method_info and now it returns class name, if method was defined in ancestor * tests/225.html: - tests for cheching properties in hierarhical classes were added * src/: types/pa_property.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, main/compile.y, main/execute.C, classes/classes.C: - problems with properties in new classes implementation were fixed 2009-08-10 misha * src/main/execute.C: - now constructor shouldn't be defined in class. it could be defined in parent. 2009-08-09 misha * src/classes/reflection.C: - ^reflection:methods doesn't return base's methods 2009-08-08 misha * src/: classes/classes.h, classes/date.C, classes/file.C, classes/form.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/mail.C, classes/op.C, classes/reflection.C, classes/regex.C, classes/string.C, classes/table.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_hash.h, main/execute.C, main/pa_http.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_method.h, types/pa_property.h, types/pa_value.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_vdate.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.h, types/pa_vhashfile.C, types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.h, types/pa_vmemory.h, types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vproperty.C, types/pa_vproperty.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, types/types.vcproj: - new classes implementation * buildall-with-xml, buildall-without-xml: - gc has a bug if USE_MUNMAP is used. so it is disabled as a workaround. 2009-08-05 misha * src/: main/pa_common.C, include/pa_common.h: - not needed parameter was removed * src/main/pa_http.C: - bugfix: error was during detecting content-type of file which was loaded by http 2009-08-01 misha * src/main/execute.C, src/main/compile.y, src/include/pa_opcode.h, src/types/pa_wcontext.h, src/types/pa_wwrapper.h, INSTALL: - OPTIMIZE_BYTECODE_CONSTRUCT_OBJECT and OPTIMIZE_CONSTRUCT_OBJECT can't be disabled with defines any longer 2009-07-29 misha * src/classes/reflection.C, tests/results/224.processed: - for native methods with any call type now returned empty call_type value * src/: classes/hash.C, classes/hashfile.C, classes/op.C, classes/table.C, include/pa_hash.h, include/pa_request.h, main/pa_request.C: - break in cycles was optimized * INSTALL: - more defines were described 2009-07-28 misha * operators.ru.txt, operators.txt: - some changes in information about reflection class * tests/: 224.html, 224.p: - tests for reflection class * src/classes/reflection.C: - some bugs were fixed, method classes was added, refactoring 2009-07-26 misha * src/classes/classes.vcproj: - reflection class wass added to project * operators.ru.txt, operators.txt: - information about reflection class was added * src/classes/reflection.C: - class was redesigned 2009-07-24 misha * src/classes/: Makefile.am, reflection.C: - class reflection was added * src/types/pa_vstateless_class.h: - method for reflection method's in classes was added 2009-07-22 misha * src/main/compile_tools.h: - bugfix: $object.$var was over-optimized. it failed if $object1.$object2.field 2009-07-16 misha * src/: lib/cord/cordbscs.c, lib/cord/cordprnt.c, lib/cord/cordxtra.c, lib/cord/include/cord.h, include/pa_string.h, main/pa_string.C: - optimization: CORD_str, CORD_to_const_char_star, CORD_to_char_star and CORD_substr have one more arg: length of cord 2009-07-15 misha * src/main/pa_http.C: - bugfix: $.cookies' values should be force tainted in ^file::load[http://...;$.cookies[]] * src/classes/: op.C, regex.C, string.C: - new string with exception was used * src/include/pa_exception.h: - new string with exception was added * tests/223.html: - test for checking cookie-encoding during ^file::load[http was added * tests/: 221.html, 222.html: - tests for checking type of $table.fields.field were added * src/types/pa_vtable.C: - not used var decl was removed * src/include/pa_string.h: - use cached string length in Body::mid. it improves speed of match with brackets in pattern * src/lib/cord/include/cord.h: - make CORD_substr_checked available outside 2009-07-14 misha * src/types/pa_vtable.C: - $table.fields.a return string even if column is empty (sometime returned void) - $table.fields was added for nameless tables * src/targets/cgi/getopt.c: - one warning resolved * src/main/pa_string.C: - potentian bug fixed * src/classes/op.C: - small optimization in taint/untaint 2009-07-13 misha * tests/156.html: - test for $cookie[...$.httponly(false)...] was added * src/types/pa_value.C: - bugfix: $cookie[...$.httponly(false)...] souldn't add the attribut to output 2009-07-11 misha * src/targets/: cgi/parser3.vcproj, isapi/parser3isapi.vcproj: - stack size was increaced to 2MB (default=1MB) 2009-07-08 misha * src/main/pa_string.C: - link to UTF-8 description was added * src/include/pa_hash.h: - hash keeps element's order in more places (ex: ._keys[]) * tests/220.html: - test for checking order of elements in hash in foreach was added * tests/172.html: - small changes in printing hash * tests/129.html: - small changes in printing hash * src/: include/pa_common.h, include/pa_hash.h, include/pa_request.h, types/pa_value.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: - hash now keeps order of elements * tests/014.html: - small changes in printing hash 2009-07-07 misha * src/classes/op.C: - new taint language "parser-code" was added * tests/219.html: - test for auto untaint parser code in process was added * src/classes/op.C: - tainted pieces in body of process are auto-untainted now: ^ -> ^^, $ -> ^$ etc. * src/: include/pa_string.h, main/untaint.C: - new language L_PARSER_CODE for auto-untaint in process was added * src/: classes/file.C, classes/hash.C, classes/image.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C, include/pa_string.h, main/pa_charset.C, main/pa_http.C, main/pa_request.C, main/pa_xml_io.C, main/untaint.C, types/pa_value.h, types/pa_vhash.h, types/pa_vmail.C, types/pa_vobject.h, types/pa_vstring.h: - some code cleanup 2009-07-06 misha * src/classes/: file.C, hash.C, image.C, mail.C, op.C, string.C, table.C, void.C, xdoc.C: - cstr(params) and cstrm(params) were deleted. taint_cstr[m] and untaint_cstr[m] should be used * src/types/: pa_vcookie.C, pa_vhash.h, pa_vhashfile.C, pa_vimage.C, pa_vmail.C, pa_vobject.h, pa_vregex.C, pa_vrequest.C, pa_vstring.h, pa_vvoid.h: - cstr(params) and cstrm(params) were deleted. taint_cstr[m] and untaint_cstr[m] should be used * src/main/: pa_charset.C, pa_common.C, pa_exec.C, pa_http.C, pa_request.C, pa_sql_driver_manager.C, pa_xml_io.C: - cstr(params) and cstrm(params) were deleted. taint_cstr[m] and untaint_cstr[m] should be used * src/include/pa_string.h: - cstr(params) and cstrm(params) were deleted. taint_cstr[m] and untaint_cstr[m] should be used * tests/218.html: - test for checking automatic file-spec-taint was added * src/: types/pa_vhashfile.C, types/pa_vimage.C, types/pa_vmail.C, types/pa_vregex.C, types/pa_vrequest.C, types/pa_vstring.C, classes/file.C, classes/hash.C, classes/image.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C: - optimizations and simplification of string.cstr(...) * src/: include/pa_string.h, main/untaint.C, main/pa_common.C, main/pa_exec.C, main/pa_request.C, main/pa_sql_driver_manager.C: - optimizations and simplification of string.cstr(...) 2009-07-04 misha * tests/217.html: - test for recursion detection was added * src/: types/types.vcproj, main/main.vcproj, classes/classes.vcproj, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj: - RuntimeTypeInfo was removed from .vcproj * src/types/pa_wwrapper.h: - dynamic_cast was removed * tests/: 195.html, 195_utf8.txt, 195_windows1251.txt: - tests for uploading files and case-insensitive http-method were added * tests/: 216.html, 216_dir/1, 216_dir/2.txt: - test for checking tainted pattern in ^file:list[] was added 2009-07-03 misha * src/: classes/classes.vcproj, main/main.vcproj, types/types.vcproj, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj: - enable runtime info (needed for dynamic_cast) - little options changes * src/main/pa_http.C: - file::load[http works now with uploading files _and_ changing $.charset 2009-06-29 misha * src/types/pa_vregex.C: - ^untaint[regex][] for all tainted data while creating pattern 2009-06-25 misha * src/classes/image.C, operators.ru.txt, operators.txt: - options' names for ^image.font were changed to $.space, $.width and $spacing - default space width now == gif's width 2009-06-24 misha * tests/215.html: - tests for $file.mode were added * operators.ru.txt, operators.txt: - added info about $file.mode and changes in ^image.font[ * src/: types/pa_vimage.h, classes/image.C: ^image.font - third param now could be omited - third param now could be hash (with all widths options: $.space-width, $.letter-width) - it's possible to specify tracking ($.letter-space) * src/classes/file.C: - file objects now could have mode field (text|binary) * src/types/: pa_vfile.C, pa_vfile.h: - method set_method was added 2009-06-23 misha * src/: include/pa_string.h, main/pa_string.C, classes/string.C: - trim can work with utf-8 chars now 2009-06-20 misha * src/: classes/hash.C, main/pa_string.C: - string length cacheing was implemented * src/classes/table.C: - string length cacheing was implemented * src/include/pa_string.h: - string length cacheing was implemented 2009-06-17 misha * src/main/execute.C: - value param was removed from WContext::WContext * src/types/: pa_vcode_frame.h, pa_vmethod_frame.C, pa_wcontext.h, pa_wwrapper.h: - value param was removed from WContext::WContext - field wcontext was removed from VCodeFrame (using fparent instead) * tests/214.html: - test with hash copying 2009-06-16 misha * tests/: 062.html, results/062.processed: - evaluation hardcoded strings doesn't work in expression anymore * src/main/execute.C: - less calls for get_constructing() - little refactoring * src/: types/pa_wcontext.h, types/pa_wwrapper.h, include/pa_request.h: - less calls for get_constructing() * src/classes/: hash.C, hashfile.C: - fixed bug which was introduced with OPTIMIZE_SINGLE_STRING optimization 2009-06-14 misha * src/: classes/date.C, classes/file.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/regex.C, classes/table.C, classes/xdoc.C, classes/xnode.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.h, types/pa_vstateless_class.h, main/execute.C: - create object for storing object's fields only for parser objects 2009-06-13 misha * buildall-with-xml, buildall-without-xml: - new option was added for building GC (it slightly reduces memory usage) * src/types/: pa_wcontext.h, pa_wwrapper.h: - optimization of single string write * src/main/execute.C: - bytecode optimization of ^class:constructor - optimization of single string write * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.h: - bytecode optimization of ^class:constructor 2009-06-09 misha * src/targets/cgi/parser3.C: - type size_t was changed to int in main (better compatibility) 2009-06-08 misha * src/main/compile.y: - I've forgot to commit it :( 2009-06-07 misha * src/include/pa_opcode.h: - more optimizations for WITH_SELF, WITH_READ and WITH_ROOT * src/main/: compile.y, compile_tools.C, compile_tools.h, execute.C: - more optimizations for WITH_SELF, WITH_READ and WITH_ROOT - little refactoring 2009-06-06 misha * tests/213.html: - tests for 3rd match string-param were added * src/classes/string.C: - 3rd match param could be string now * src/main/: compile.y, compile_tools.h: - much more bytecode's sequences optimized to WITH_SELF__VALUE__GET_ELEMENT and GET_OBJECT_ELEMENT 2009-06-05 misha * src/main/pa_http.C: - bugfix: content-length was not calculated if $.body was specified 2009-06-04 misha * src/classes/op.C: - optimizing write_assign_lang in connect * src/classes/op.C: - optimizing write_assign_lang in taint/untaint * src/main/execute.C: - little refactoring - optimizing write_assign_lang in taint/untaint * src/include/pa_opcode.h: - little refactoring * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: - optimizations for $self.field, ^self.method, $self.field[...] and $self.field(...) were added 2009-06-03 misha * src/types/pa_venv.C: - pa_strdup was replaced by strdup 2009-06-02 misha * src/: main/compile.y, main/compile_tools.h, main/execute.C, include/pa_opcode.h: - refactoring in last optimizations ($a[...], $a(...), $.a[...], $.a(...)). a bit less optimizations now but code is much easy and it is ready for further improvements. 2009-05-27 misha * src/: types/pa_junction.h, types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vmethod_frame.h, main/execute.C: - changed in destructing junctions * src/main/: pa_charset.C, pa_string.C: - more safe creation on String:Body 2009-05-26 misha * src/: main/pa_common.C, main/pa_http.C, include/pa_common.h: - one method detect_charset was deleted - bug was fixed in this method (error while detecting charset in content_type withot last ';') * src/types/: pa_vform.C, pa_vform.h: - detect post charset only once 2009-05-25 misha * src/classes/file.C: - bugfix: file::exec didn't work after optimizing of helper_length 2009-05-24 misha * src/main/compile_tools.h: - $a[$b.c] and $a[$b.$c] optimisations were added - little refactoring * src/main/execute.C: - core while printing in debug log non-printable values was fixed - $a[$b.c] and $a[$b.$c] optimisations were added * src/include/pa_opcode.h: - new opcodes for $a[$b.c] and $a[$b.$c] were added 2009-05-23 misha * src/: lib/cord/cordbscs.c, lib/cord/cordxtra.c, lib/cord/include/cord.h, include/pa_string.h, main/untaint.C: - CORD_cat optimization * src/: include/pa_opcode.h, main/compile_tools.h, main/execute.C: - call constr optimisation under separate define now * src/main/: compile_tools.h, execute.C: - bugfix: $a[] $b[$a] -- in $b should be string, not void * src/main/compile.y: - little fix for rem-cut optimisation * src/: include/pa_opcode.h, main/compile_tools.C, main/compile_tools.h, main/execute.C: - optimisations for $a[^b[...]], $.a[^b[...]], $a(^b[...]) and $.a(^b[...]) * INSTALL: - description of some #defined were added * src/types/: pa_vfile.C, pa_vfile.h: - fill .'text' field only before 1st access (memory usage is reduced if don't access to .text field) * src/include/pa_array.h: - array grows step now not static (it reduces numbers of reallocs) 2009-05-20 misha * src/include/pa_opcode.h: - bytecode optimization for $a(1), $.b(2), $c[d] and $.e[f] was added * src/main/: compile.y, compile_tools.C, compile_tools.h, execute.C: - bytecode optimization for $a(1), $.b(2), $c[d] and $.e[f] was added * src/main/execute.C: - debug printing moved in defines * src/main/: compile.y, compile_tools.C, compile_tools.h: - bugfix and little refactoring for OP_GET_OBJECT_ELEMENT + OP_GET_OBJECT_VAR_ELEMENT optimisation 2009-05-19 misha * src/main/: compile.y, compile_tools.C, compile_tools.h, execute.C: - $a.$b & ^a.$b bytecode optimisation * src/include/pa_opcode.h: - new opcodes were added (for $a.$b & ^a.$b optimisation) * src/main/compile.y: - compiler now generate new opcodes: OP_GET_ELEMENT_FIELD and OP_GET_ELEMENT_FIELD__WRITE for $a.b and ^a.b - compiler now cut off ^rem{ with all content ; any number of params } * src/main/execute.C: - code for handle new opcodes OP_GET_ELEMENT_FIELD and OP_GET_ELEMENT_FIELD__WRITE was added * src/main/: compile_tools.C, compile_tools.h: - new parameter was added for LA2V and LA2S * src/include/pa_opcode.h: - new defines which can be used for disable some bytecode optimisation and new opcodes were added 2009-05-17 misha * src/lib/cord/cordxtra.c: - bugfix. * tests/212.html: - .size[] and .study_size[] were added to tests * operators.ru.txt, operators.txt: - info about regex class was added * tests/212.html: - tests for regex class were added 2009-05-16 misha * buildall-with-xml, buildall-without-xml: - moving from gc6.8 to gc7.1 * tests/022.html: - test for ^file:list[path;] (empty second param) was added * src/classes/file.C: - bugfix: ^file:list[path;] [empty second param) should work 2009-05-15 misha * src/classes/table.C: - automatically disable stringstream usage on freebsd4 * src/lib/cord/cordxtra.c: - var decl should be at the beginning of scope * tests/211.html: - test with different types of access to hash was added * tests/210.html: - test which checks for loosing tainting in hash's keys was added * tests/208.html: - some parser work added. or stime == 0 %-) * src/lib/cord/cordbscs.c: - little hack was added to cord * src/lib/cord/cordxtra.c: - cacheing of cord chars was added * src/include/pa_version.h, configure.in: - moko have made a lot of optimisations for increacing version number more dramatically :) * src/classes/date.C: - little refactoring: use constructor which accepts formated string * src/: include/pa_string.h, main/pa_string.C: - String constructor which can print formatted string was added 2009-05-14 misha * src/include/pa_string.h: - type was fixed * src/: classes/hashfile.C, classes/op.C, include/pa_cache_managers.h, include/pa_charset.h, include/pa_charsets.h, include/pa_common.h, include/pa_hash.h, include/pa_request.h, include/pa_sql_driver_manager.h, include/pa_string.h, include/pa_stylesheet_manager.h, include/pa_table.h, include/pa_xml_io.h, main/pa_charset.C, main/pa_charsets.C, main/pa_string.C, main/pa_stylesheet_connection.C, types/pa_value.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vstateless_class.C, types/pa_vstateless_class.h: - hash_code caching was implemented (seaches should be faster now) * src/: classes/file.C, classes/hash.C, classes/image.C, classes/string.C, classes/table.C, include/pa_string.h, main/pa_charset.C, main/pa_http.C, main/pa_request.C, types/pa_vconsole.h, types/pa_vcookie.C, types/pa_venv.C, types/pa_vform.C, types/pa_vhashfile.C, types/pa_vregex.C, types/pa_vrequest.C: - String constructors don't have that stupid true/false param which means 'tainted'. they accept lang instead. * src/types/pa_vmethod_frame.h: - bugfix: taint/untaint didn't work with OPTIMIZE_RESULT * src/types/: pa_method.h, pa_vstateless_class.C: - less warnings wher OPTIMIZE_RESULT and OPTIMIZE_CALL not defined 2009-05-13 misha * src/: types/pa_method.h, types/pa_vcookie.C, types/pa_vdouble.h, types/pa_venv.C, types/pa_vhashfile.C, types/pa_vint.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vregex.C, types/pa_vregex.h, types/pa_vrequest.C, types/pa_vstateless_class.C, main/execute.C, main/pa_charset.C, main/pa_common.C, main/pa_request.C, main/pa_string.C, include/pa_string.h, classes/date.C, classes/file.C, classes/hash.C, classes/image.C, classes/string.C, classes/table.C, classes/xdoc.C: - result optimisation - helper_length parameter removed from string constructors 2009-05-11 misha * tests/209.html: - tests for ^hash::create[hash] were added * tests/208.html: - tests for $status:rusage, $status:memory, ^memory:compact[] were added * tests/207.html: -tests for abs, sign, trunc, frac, exp, log, log10 were added * tests/206.html: - test for try with finally was added 2009-05-10 misha * tests/205.html: - test for ^file::create[...] was added * tests/204.html: - test for ^response:clear[] was added * tests/038.html: - tests for trigonometric functions were added * tests/014.html: - tests for ^hash.containts and ^hash.delete were added - more tests for .add, .sub, .union, .intersects and .intersections * tests/065.html: - test for ^file:dirname was added * tests/030.html: - test for $cookie:fields was added * tests/203.html: - test for ^h._keys[column name] was added * tests/201.html: - tests for .trim were added * tests/202.html: - tests for last-day, date:calendar[type](YYYY;MM;DD) were added * tests/200.html: - tests for .sort(), .sort{}, .flip[] and .offset[type](N) were added * tests/185.html: - more tests for .left(N), .right(N), .min(N;M) and .pos[c](N) were added * tests/141.html: - test for math:sha1 was added * tests/063.html: - tests for .mod(N), .inc[] & .dec[] were added 2009-05-09 misha * src/main/compile.y: - rollback 2009-05-05 misha * src/main/pa_exec.C: - little optimisation: somewhere length() was replaced by is_empty() * src/: include/pa_string.h, main/pa_charset.C: - little optimisation: somewhere length() was replaced by is_empty() * src/classes/table.C: - little optimisation: somewhere length() was replaced by is_empty() * src/: classes/file.C, classes/hash.C, classes/hashfile.C, classes/op.C, classes/table.C, main/pa_exception.C: - little optimisation: somewhere length() was replaced by is_empty() 2009-05-04 misha * src/: types/pa_method.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, main/execute.C, include/pa_request.h, classes/hash.C, classes/op.C, classes/table.C: - more optimisations were added: some operators don't switch write context anylonger 2009-05-01 misha * src/main/compile.y: - slightly more opcode optimisations for WITH_WRITE + VALUE + GET_ELEMENT -> OP_VALUE__GET_ELEMENT * src/main/execute.C: - simplifying process for getters 2009-04-30 misha * tests/: 198.html, 199.html: - new line fixes (should be 0x0A) * tests/results/199.processed: - test for checking $result into ^rem was added * tests/199.html: - test for checking $result into ^rem was added * tests/: 022.html, 096.html: - þsort after :list was asses (on some OS it returns list in different order) * src/: include/pa_array.h, include/pa_request.h, include/pa_stack.h, main/execute.C, types/pa_vmethod_frame.h: - changes in stack impl - get_element() optimisation: 3rd param removed - bugfix: problems with reading empty input param - defines SAVE_CONTEXT and RESTORE_CONTEXT were added and used * tests/results/198.processed: - test for reading empty local var was added * tests/198.html: - test for reading empty local var was added 2009-04-29 misha * src/main/compile.y: - bugfix: couldn't compile because OP_VALUE__GET_ELEMENT should be unde #ifdef * src/: include/pa_array.h, include/pa_opcode.h, include/pa_request.h, main/compile.y, main/execute.C, main/pa_request.C, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: - we can work without opcode OP_STORE_PARAM, so it was removed 2009-04-28 misha * src/: include/pa_opcode.h, main/compile.y, main/execute.C: - op-codes optimisation: 1. VALUE+GET_CLASS=>VALUE_GET_CLASS 2. WITH_READ+VALUE+GET_ELEMENT=>VALUE__GET_ELEMENT (not all yet) 3. WITH_READ+VALUE+GET_ELEMENT__WRITE=>VALUE__GET_ELEMENT__WRITE 4. WITH_READ+VALUE+GET_ELEMENT_OR_OPERATOR=>VALUE__GET_ELEMENT_OR_OPERATOR * src/main/compile_tools.h: - new stuff for op-codes optimisation * src/: main/pa_string.C, classes/string.C: - !length() => is_empty() 2009-04-27 misha * src/types/pa_vregex.h: - back explicit vars initialisation 2009-04-24 misha * src/classes/string.C: - ups. typo fixed * src/main/execute.C: - more replacements '*new VBool' to 'VBool::get' - checks for ^break[], ^continue[] and parser.interrupted were optimised * src/classes/string.C: - number of params.count() calls was slightly reduced 2009-04-23 misha * src/: classes/image.C, include/pa_string.h, main/pa_charset.C: - make it x64 friendly * src/: classes/image.C, include/pa_string.h, main/pa_charset.C: - parser is x64 friendly now 2009-04-22 misha * src/types/pa_vhashfile.C: - coder friendly exception about exceeding record size was added * src/classes/file.C: - use vregex object instead of direct calls methods from pcre lib * src/: classes/file.C, include/pa_string.h, main/pa_string.C, classes/string.C: - use vregex object instead of direct calls methods from pcre lib * src/: include/pa_common.h, main/pa_common.C: - method print_pcre_exec_error_text was moved to class vregex * src/classes/: Makefile.am, classes.vcproj, regex.C: - class regex was added * src/types/: Makefile.am, pa_vregex.C, pa_vregex.h, types.vcproj: - class vregex was added 2009-04-21 misha * buildall-with-xml, buildall-without-xml: - pcre 7.8 -> pcre 7.9 * src/: types/pa_junction.h, types/pa_value.C, types/pa_vjunction.C, types/pa_vjunction.h, types/pa_wcontext.C, types/pa_wcontext.h, main/execute.C, classes/op.C: - junction-optimisation (destructors) * src/include/pa_array.h: - free under if now 2009-04-19 misha * src/main/untaint.C: - ^taint[js] now escapes \x0D as well 2009-04-18 misha * src/include/pa_version.h: :q : CV: ---------------------------------------------------------------------- * src/types/: pa_vjunction.h, pa_vstateless_class.C: - little refactoring * src/: include/pa_array.h, include/pa_hash.h, types/pa_vmethod_frame.h: - destructors under #ifdef now * src/include/pa_memory.h: - define for using destructors was added * src/: types/pa_method.h, types/pa_vstateless_class.C, main/execute.C: - some junctions will be cached now * src/include/pa_hash.h: - hash destructor frees pairs now * src/include/pa_array.h: - inline was added to destructor * src/types/pa_method.h: - comment was changed 2009-04-17 misha * src/: include/pa_array.h, include/pa_hash.h, types/pa_vmethod_frame.h: - destructors were added * src/types/: pa_method.h, pa_vmethod_frame.h: - write_to_result renamed to always_use_result * src/main/: compile.y, compile_tools.h: - rollback changes in compiler: full backward compatibility is better * src/types/pa_vmethod_frame.h: - set flag write_to_result if find result in var's hash * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: - optimisation in method_frame * src/include/pa_array.h: - optimisation in array (allocate elements only when needed) * src/types/pa_vresponse.C: - check for $response:headers field before looking at custom fields * src/types/pa_vmethod_frame.h: - if flag write_to_result was set, not needed to check existance var with name 'result' in var's hash * src/main/compile.y: - compiler was changed: now it detects writings to $result and set flag writo_to_result in method * src/classes/string.C: - little optimisation: no needed to write number with lang * src/main/pa_charset.C: - methods readChar and skipChar which is used for read utf8-strings were renamed - is_escaped was renamed to isEscaped (to the same name convention) * src/: types/pa_method.h, main/compile_tools.h: - flag write_to_result added. compiler get this info from code. 2009-04-16 misha * src/types/: pa_wcontext.h, pa_vmethod_frame.h: - create new String only before 1st write * src/include/pa_string.h: - not needed template removed * src/: types/pa_vbool.h, types/pa_vfile.h, types/pa_vimage.C, types/pa_vjunction.C, types/pa_vproperty.C, types/pa_vstateless_class.C, types/pa_vxdoc.C, types/pa_vxnode.C, main/pa_request.C, classes/bool.C, classes/double.C, classes/hash.C, classes/int.C, classes/string.C, classes/table.C, classes/void.C, classes/xnode.C: - bool optimisation (use only 2 bool objects) 2009-04-15 misha * src/lib/cord/cordxtra.c: - more optimisation * src/: include/pa_string.h, main/untaint.C: - String::append optimisation * src/include/pa_hash.h: - get_by_hash_code added (it works faster then get and can sometime be used) * src/main/pa_string.C: - String::length optimisation * src/main/pa_charset.C: - rollback changeing readChar to skipChar. these methods read different strings * src/types/: pa_vmethod_frame.C, pa_vmethod_frame.h: - fresult_initial_void removed + some optimisation - if $result defined we don't write to context anymore * src/main/pa_charset.C: - readChar => skipChar (in this place we need just skip char) * src/: types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vrequest.C, types/pa_vtable.C, main/execute.C, classes/table.C: - VVoid::get() => new VVoid (one void-instance) * src/types/pa_vvoid.h: - added get() method for retreave one instance 2009-04-11 misha * tests/196.html: - tests for $cookie:CLASS_NAME & Co were added * tests/197.html: - test for parser://test in xml was added * src/classes/string.C: - small optimisation * src/types/: pa_venv.C, pa_venv.h, pa_vconsole.h: - small optimisation 2009-04-10 misha * buildall-with-xml, buildall-without-xml: - moving from pcre-7.7 to pcre-7.8 * src/types/pa_vclass.C: - normalizing todo-comments: '@todo' now * src/types/: pa_vcookie.C, pa_vcookie.h: - $cookie:CLASS_NAME was added * src/types/: pa_vrequest.C, pa_vrequest.h: - $request:CLASS and $request:CLASS_NAME were added * src/types/pa_vconsole.h: - $console:CLASS and $console:CLASS_NAME were added * src/types/: pa_venv.C, pa_venv.h: - $env:CLASS and $env:CLASS_NAME were added * src/types/: pa_vmail.C, pa_vdate.h: - normalizing todo-comments: '@todo' now * src/targets/cgi/parser3.C: - size_t -> int for calming down compirer * src/main/pa_string.C: - little code cleanup * src/main/pa_common.C: - describe one more UTF-8 related error during PCRE compile/execute * src/classes/: image.C, inet.C, string.C, xdoc.C, xnode.C: - normalizing todo-comments: '@todo' now * src/types/: pa_vmath.C, pa_vmath.h: - $math:E was added * src/main/pa_charset.C: - type changed for making compiler happy 2009-03-10 misha * src/targets/cgi/parser3.C: make g++ happy with the type of argc in main() 2009-02-01 misha * src/main/pa_http.C: - bugfix: double CRLF before the end of boundary 2009-01-25 misha * tests/: 194.html, 194_dir/194.p: - test for @GET[] was added * src/classes/file.C: - more changes for parsing different number of params for file::load * tests/193.html: - tests for exception while base64-decode binary to string was added * tests/192.html: - tests for file::load with different number of options * src/classes/math.C: - ups. forgot '+1' * src/: classes/table.C, classes/file.C, include/pa_common.h, include/pa_http.h, main/pa_xml_io.C, main/pa_common.C, main/pa_http.C: - ^file::load[...;http://...;] now can post files (new option $.encode[multipart-form/data] should be specified) - $.method[] option for file::load now is not case-sensitive * src/: include/pa_string.h, main/untaint.C: - for file post the new taint language L_FILE_POST was added * src/: include/pa_random.h, main/Makefile.am, main/pa_random.C, main/main.vcproj, classes/math.C, include/Makefile.am: - some stuff was moved to separate files 2009-01-23 misha * src/classes/math.C: - little optimisation in ^math:sha1[] - spaces to tabs were converted 2009-01-12 misha * src/main/pa_http.C: - value of $.method[] option force uppercased now * src/: targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vform.C, types/pa_vmail.C: - some constants changed their names * src/main/pa_common.C: - changes in formating * src/: classes/file.C, main/pa_http.C: - some constants changed their names * src/include/pa_http.h: - some spaces were converted to tabs * src/include/pa_common.h: - some constants changed their names * src/classes/file.C: - fixed 4-th paramether for file::load - little code rewriting * src/types/pa_vfile.C: - little code rewriting * src/: main/pa_common.C, main/pa_http.C, main/untaint.C, types/pa_value.h: - some formating changes * src/include/pa_common.h: - some formating spaces transformed to tabs * src/classes/string.C: - exception while base64-decode binary to a string 2009-01-11 misha * configure.in: - version changed to 3.3.1b 2008-09-05 misha * src/lib/pcre/Makefile.am: file Makefile.am was added on branch release_3_3_0 on 2008-09-05 10:59:35 +0000 2008-09-04 misha * tests/: 130.html, 131.html: - these exceptions not typeless anymore * src/classes/op.C: - exception with 'invalid taint language' not typeless anylonger * src/classes/image.C: - some exceptions while operations with image not typeless anymore * src/: types/pa_vhashfile.C, main/pa_common.C, classes/file.C, main/pa_exec.C, main/pa_http.C: - some exceptions while operations with files not typeless anymore * src/: classes/date.C, types/pa_value.C, types/pa_vcookie.C, types/pa_vdate.h: - exceptions while checking date range not typeless anymore * src/include/pa_exception.h: - exception type string for invalid date range was added 2008-09-03 misha * src/: classes/file.C, main/pa_string.C: - exception while pce operations not typeless anymore * src/include/pa_exception.h: - exception type for pce operations was added * tests/: 191.html, 191_a.p, 191_b.p: - tests for calling .CLASS and .CLASS_NAME insite classes * src/classes/table.C: - don't save table header whiile ^table.save[append;filename] if file exists 2008-09-02 misha * src/main/compile.y, src/main/compile_tools.h, src/types/pa_vstateless_class.h, src/main/compile.tab.C, tests/182_dir/a1.p, tests/182_dir/a2.p: - append option was renamed to partial and it login changed: we must mark class as partial for allow their modifications in future. 2008-08-29 misha * tests/results/022.processed: - testing taint[regex] in mask for file:list * tests/022.html: - testing taint[regex] in mask for file:list * tests/022_dir/b[b].txt: - file for testing taint[regex] in mask for file:list was added * src/classes/file.C: - bugfix: ^taint[regex][] didn't works in file:list 2008-08-26 misha * src/types/pa_vobject.C: - we must get .CLASS and .CLASS_NAME from last derived object * src/classes/image.C: - many strings "image.format" replaced by IMAGE_FORMAT constant string - handle GPS info while parse exif - understand some more exif tags * src/include/pa_exception.h: - string "image.format" was added 2008-08-21 misha * src/: main/pa_string.C, classes/file.C: - use method for print pcre_exec text error * src/main/pa_common.C: - method for print pcre_exec text error was added * src/include/pa_common.h: - method declaration for print pcre_exec text error was added 2008-08-19 misha * src/main/execute.C: - bugfix: opcodes must be in separate namespace while debug execution as well * tests/: 015.html, results/015.processed: - test for escaping some parser chars was added 2008-08-18 misha * tests/: 190.html, 190.p, results/190.processed: - test for $caller.self.field + default getter in one class was added * tests/: 189.html, results/189.processed: - test for ^date::create[date object] * tests/: 188.html, results/188.processed: - tests for match with UTF-8 strings * src/main/pa_string.C: - option 'U' (ungreedy) was added to ^string.match[] * ChangeLog: - parser 3.3.0 beta13 2008-08-15 misha * src/lib/pcre/: LICENCE, Makefile.am, README, Tech.Notes, get.c, internal.h, pcre.3, pcre.3.html, pcre.3.txt, pcre.c, pcre.h, pcre.vcproj, study.c, maketables.c, pcre_dftables.vcproj, dftables.c: - old PCRE files removed * src/lib/pcre/config.h: - configuration for PCRE library * src/targets/: cgi/parser3.vcproj, isapi/parser3isapi.vcproj: - use PCRE library from win32\pcre instead of parser3\src\lib\pcre * src/: classes/file.C, main/pa_string.C: - moved to new PCRE library and set flag UTF8 if $request:charset is UTF-8 * src/: include/pa_charset.h, main/pa_charset.C, main/pa_globals.C, include/pa_config_fixed.h: - moved to new PCRE library * src/: main/main.vcproj, types/types.vcproj, classes/classes.vcproj, lib/Makefile.am: - use PCRE library from win32\pcre instead of parser3\src\lib\pcre * src/: include/pa_opcode.h, include/pa_operation.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/compile.tab.C: - opcodes were moved to separate namespace 2008-08-14 misha * src/types/pa_vstateless_class.C: - newline at the end missed * src/main/untaint.C: - char '-' also prefixed by '\' while regex tainting 2008-08-11 misha * tests/: 187.html, 187.p, results/187.processed: - tests for $caller.self, $caller.self.field and $caller.self.field[value] were added * src/types/pa_vmethod_frame.h: - still need to check 'self' runtime as well (for $caller.self) 2008-07-25 misha * tests/: 021.html, 032.html, 033.html, 047.html, 055.html, 059.html, 061.html, 064.html, 067.html, 068.html, 085.html, 086.html, 098.html, 109.html, 121.html: - set correct charsets in tests with international characters 2008-07-23 misha * src/main/pa_http.C: - escape $cookies as %uXXXX while file::load[...;http:// * src/: main/pa_string.C, main/pa_globals.C, classes/file.C: - pcre now everywhere in separate namespace * src/types/pa_vmethod_frame.h: - looking for caller before looking for vars * src/main/: compile.y, compile.tab.C: - characters '@' and '#' now can be escaped by '^' 2008-07-22 misha * src/classes/string.C, tests/186.html: - names changes: escape=>js-escape, unescape=>js-unescape 2008-07-21 misha * tests/results/186.processed: - test for string escape/unescape * tests/186.html: - test for string escape/unescape * src/classes/string.C: - string has escape and unescape methods now * src/: include/pa_string.h, main/pa_string.C: - escape method was added * src/: include/pa_charset.h, main/pa_charset.C: - more escape method-layers added (with different params) 2008-07-18 misha * tests/results/185.processed: - test for ^str.pos[substr](offset) was added * tests/185.html: - test for ^str.pos[sub](offset) added * src/classes/string.C, src/classes/void.C, operators.ru.txt, operators.txt: - ^string.pos[substr](offset) -- 2nd param accepted now * src/main/pa_string.C: - .pos works fine with offset for utf-8 strings 2008-07-17 misha * src/: include/pa_string.h, main/pa_string.C, classes/string.C: - helper length added for mid for small optimisation 2008-07-16 misha * tests/: 185.html, results/185.processed: - tests for length/left/right/mid/pos with utf-8 strings * src/classes/string.C: - left/right/mid/length/pos works fine for utf-8 strings * src/main/untaint.C: - comments removed * src/: include/pa_string.h, main/pa_string.C, include/pa_charset.h, main/pa_charset.C: - methods for working with pos/mid for strings in utf-8 were added 2008-07-15 misha * tests/: 184.html, results/184.processed: - test for case body as expression: $var(^switch(1){^case(1)(true)..}) * src/classes/op.C: - case body can be expression now: $var(^switch(1){^case(1)(true)..}) * tests/: results/183.processed, 183.html: - added test for testing new cookie encoding (%uXXXX) * src/main/untaint.C: - cookies outputs as %uXXXX now. while decoding for backward compatibility they decoded from %XX in request:charset too * src/: types/pa_vcookie.C, types/pa_vcookie.h, main/pa_request.C: - cookie class now decode cookies before first access after last request:charset changing (as form class). * src/main/pa_charset.C: - added method escape for escaping cookies as %uXXXX - before transcode calculate required space for dest string. it reduce mem usage for transcode * src/include/pa_charset.h: - added method escape for escaping cookies as %uXXXX * src/include/pa_string.h: - taint lang (internal) L_HTTP_COOKIE was added. will used for escaping cookies as %uXXXX * src/include/pa_common.h: - escape method has new option for skip converting '+' to a space char * src/main/: pa_common.C, pa_http.C: - skip BOM code before transcode - escape method has new option for skip converting '+' to a space char 2008-07-08 misha * src/classes/op.C: - bugfix in switch - case "stops" on 1st match (no UE if more then 1 case matches anylonger) - optimization: doing searching.as_string() || searching.as_double() only once 2008-07-04 misha * src/types/pa_vdate.h: - is_evaluated_expr returning true added so now ^date::create[date object] works * src/classes/string.C: - left and right added as aliases for start and end in ^string.trim[] 2008-07-03 misha * src/classes/file.C: - allow $.limit for file::sql as well * src/classes/file.C: - allow $.offset option for file::sql - force send limit=1 to query for use sql specifics authomatically * src/classes/: hash.C, string.C, table.C: - don't throw exception if $.limit value if empty. autoconvert it as everywere 2008-07-02 misha * configure.in: - time to change version number to 3.3.0 %-) * src/include/pa_version.h: - time to change version number to 3.3.0 %-) 2008-06-26 misha * src/classes/: file.C, hash.C, string.C, table.C, void.C: - $.limit(0) fixes * src/sql/pa_sql_driver.h: - new drivers API and new version (10.0) - $.limit(0) fixes * src/sql/pa_sql_driver.h: - SQL_NO_LIMIT added (preparations to new API) * src/: include/pa_sql_driver_manager.h, include/pa_sql_connection.h, main/pa_sql_driver_manager.C, classes/op.C: - document_root added * src/main/compile.tab.C: - error message was changed 2008-06-25 misha * src/main/compile.y: - error message was changed 2008-06-24 misha * tests/176_dir/: a.p, d.p: - @OPTION => @OPTIONS * tests/: 182.html, 182_dir/a1.p, 182_dir/a2.p, 182_dir/a3.p: - tests for @OPTIONS\nappend * tests/: 176.html, results/176.processed: - @OPTION => @OPTIONS * src/main/: compile.y, compile.tab.C: - stuff for @OPTIONS\nappend * src/main/compile_tools.h: - new methods for @OPTIONS\nappend * src/types/pa_vmethod_frame.h: - ALL_VARS_LOCAL_NAME moved fo compile.y 2008-06-17 misha * src/main/: compile.y, compile.tab.C: - bugfix in 'def' compilation: ^if(default){true. it's incorrect. must be exception} 2008-06-16 misha * tests/: 181.ent, 181.html, results/181.processed: - test for checking external reference loading with 'http://localhost' prefix while creating xdoc * tests/180.html: - use ^inet:ntoa[] and ^inet:aton[] instead of ^math:long2ip[] and ^math:ip2long[] * src/types/: pa_vobject.C, pa_vobject.h: - get_scalar_value method added which use scalar stateless class method when user object used in scalar context - use get_scalar_value when user object requested in scalar context * src/main/pa_common.C: - size must be int but not size_t or we can't compare with 0 sprintf result * src/: types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, main/execute.C, main/pa_request.C: - go back to one VMethodFrame with internal switch between local/global vars * src/types/pa_vclass.C: - register scalar if method @GET[] was specified * src/types/: pa_vstateless_class.C, pa_vstateless_class.h, pa_vstateless_object.h: - stateless class and object now has private scalar field and getter/setter for working with it * src/classes/math.C: - methods math:long2ip & math:ip2long were moved to inet static class * src/classes/: classes.vcproj, inet.C, Makefile.am: - inet static class added (^inet:aton[IP], ^inet:ntoa(number)) * tests/: 180.html, results/180.processed: - tests for ^math:long2ip(long) and ^math:ip2long[IP] * src/classes/math.C: - ^math:ip2long[IP] added 2008-06-11 misha * src/main/pa_xml_io.C: - use file_read_text again because of we need cut BOM code and remove DOS newline chars. but don't transcode it anyway. * src/: include/pa_common.h, include/pa_http.h, main/pa_common.C, main/pa_http.C: - option for disable transcoding while file_read and file_read_text added 2008-06-10 misha * tests/: 179.html, 179.p, results/179.processed: - test for many classes in 1 file * src/main/: compile.C, compile_tools.h: - compile return list of classes now. * src/main/: compile.y, compile.tab.C: - compile return list of classes now. internals. * src/main/pa_request.C: - compile return list of classes now. try call @conf and @auto for each returned class * src/include/pa_request.h: - compile return list of classes now * src/types/pa_vstateless_class.h: - typedef ArrayClass added (for return list of classes when compile buf) 2008-06-07 misha * src/main/pa_request.C: - constructing VRequest object with 3rd param -- form * src/types/: pa_vrequest.C, pa_vrequest.h: - constructor acceps 3rd param: form. needed for get post_charset * src/types/: pa_vform.C, pa_vform.h: - VForm::get_post_charset() added * src/: include/pa_common.h, main/pa_common.C, main/pa_http.C, types/pa_vform.C, types/pa_vform.h: - some polish 2008-06-06 misha * src/types/: pa_vform.C, pa_vform.h: - if POST -- try detec charset and decode chars from it but not from response:charset * src/main/pa_http.C: - detect_charset moved out of here * src/: include/pa_common.h, main/pa_common.C: - more helpers methods moved here - unescape_chars accepn one charset now * src/main/pa_http.C: - new constants used - don't allow $.content-type in ^file::load[;http://;$.method[POST]] - add charset info while ^file::load[;http://;$.method[POST]] - option $.omit-post-charset(true) added to ^file::load[;http://] for disabling charset during post * src/types/pa_vform.C: - new constants used * src/include/pa_common.h: - some constants were added * src/: classes/form.C, types/pa_vform.C: - use StrStartFromNC instead of StrEqNc * src/main/pa_common.C: - new method for caseless search c-substring in c-string - use isxdigit instead of is_hex_digit * src/include/pa_common.h: - new method for caseless search c-substring in c-string 2008-06-05 misha * tests/results/178.processed: - test for testing default getter * tests/178.html: - test for testing default getter * tests/178_dir/: 178a.p, 178b.p, 178c.p, 178d.p, 178e.p: - classes for test for testing default getter * src/main/execute.C: - default getter soul * src/types/: pa_vobject.C, pa_vobject.h: - get default getter if requested objects' field not found * src/types/pa_vclass.C: - register default getter if defined - get default getter if requested field not found * src/types/pa_vstateless_object.h: - method get_default_getter was added * src/types/: pa_vstateless_class.C, pa_vstateless_class.h: - pointer to default getter and methods for get/set it were added * src/types/: pa_junction.h, pa_vjunction.h: - junction has auto_name field (for default getter) 2008-06-04 misha * src/main/pa_xml_io.C: - load external xml in binary mode (no transcoding, no cutting BOM code, no fixing line breaks) and get it to libxml "as is" 2008-06-03 misha * src/main/pa_common.C: - use store_Char instead of transcodeCharFromUTF8 * src/: include/pa_charset.h, main/pa_charset.C: - method store_Char added, transcodeCharFromUTF8 -- removed 2008-06-02 misha * tests/: results/177.processed, 177.html: - test for checking .[acm]date after local ^file::load[] was added * tests/: results/176.processed, 176.html: - test for checking @OPTION\locals + @method[vars][locals] added * tests/results/auto.p: - CLASS_PATH specified for checking use 2008-05-30 misha * src/main/: compile.y, compile.tab.C: - changes in compiler: @OPTION\nlocals + @method[vars][;locals;] were added * src/main/execute.C: - code of OP_CALL and OP_CALL__WRITE was moved to separate method op_code - switch from VMethodFrame to VMethodFrameGlobal + VMethodFrameLocal * src/include/pa_request.h: - code of OP_CALL and OP_CALL__WRITE was moved to separate method op_code * src/main/pa_request.C: - use VMethodFrameGlobal instead of VMethodFrame now * src/types/pa_vstateless_class.h: - stateless class have bool flag all_vars_local as well * src/types/: pa_vmethod_frame.h, pa_vmethod_frame_global.h, pa_vmethod_frame_local.h, Makefile.am: - who children for VMethodFrame were added: one (global) works as VMethodFrame before and second (local) write all vars in self vars scope * src/types/pa_method.h: - method has bool flag all_vars_local now 2008-05-29 misha * tests/: 129.html, results/129.processed: - more tests for ^table.hash[] * src/classes/hash.C: - ^hash::sql has a new option: $.type[hash|string|table] as ^table.hash[] one. * src/classes/op.C: - ^try has 3rd param now: finally code which executed anyway after try or catch section 2008-05-27 misha * src/classes/table.C: - bugfix: ^table.hash[key][$.type[table]] must not fail if $.distinct(1) wasn't specified 2008-05-26 misha * src/classes/op.C: - allow ^throw[my type] 2008-05-22 misha * configure.in, configure: - version number updated to 3.2.4b * src/classes/: op.C, string.C: - trim format string before eval/format * tests/: results/175.processed, 175.html: - more tests for different format strings in .format[] * src/types/pa_vform.C: - while decoding get values decode %uXXXX as well (not only %XX) * src/main/pa_common.C: - unescape_chars can decode %uXXXX if charset specified - checks for format before print number (^d.format[>...<], ^eval($d)[>...<]) - formating with spaces (instead of tabs) removed * src/include/pa_common.h: - unescape_chars can decode %uXXXX if charset specified * src/: include/pa_charset.h, main/pa_charset.C: - method for get char in requested charset from utf code was added 2008-05-19 misha * tests/: 174.html, results/174.processed: - test for ^hashfile.cleanup[] added * src/classes/hashfile.C: - optimization: don't create any key or value variable if it's name weren't specified (^hf.foreach[;v]{...}) 2008-05-16 misha * src/classes/hash.C: - optimization: don't create any key variable if variable name wasn't specified (^h.foreach[;v]{...}) 2008-05-15 misha * src/classes/op.C: - small changes * src/classes/hashfile.C: - code reformating (as hash.foreach) * src/classes/hash.C: - calculate var_context once before foreach 2008-05-14 misha * src/classes/hashfile.C: - incorrect vars context calculation for ^hashfile.foreach[;]{} fixed * src/classes/: hash.C, table.C: - little optimisation * src/classes/file.C: - bugfix: double absolute path while loading file * tests/: 174.html, results/174.processed: - tests for hashfile were added * buildall-with-xml: - moving to libxslt 1.1.24 2008-04-30 misha * src/classes/file.C: - stat file while loading (local only) so .adate, .mdate and .cdate available without additional ::stat 2008-04-28 misha * src/classes/file.C: - $.name and $.content-type available for stated file 2008-04-14 misha * src/targets/cgi/parser3.C: - new year in copyright %-) * src/include/pa_version.h: - new version number in head 2008-04-10 misha * tests/: 080.html, results/080.processed: - cut '0' from exponential part because of on diff OS it differ (20 or 020 for ex) * tests/: 119.html, results/119.processed: - check for encoding while creating xdoc 2008-04-09 misha * buildall-with-xml: - move to libxml 2.6.32 and libxslt 1.1.23 * src/main/pa_common.C: - comment added * src/classes/date.C: - little refactoring 2008-04-07 misha * src/classes/table.C: - use NO_STRINGSTREAM for switch to old style of ^table.save[]: prepare one big string and sabe it at once. it's safe on freebsd 4.x but use much more memory. * buildall-with-xml, buildall-without-xml: - option --disable-stringstream added (under comment. use it on freebsd 4.x) 2008-02-22 misha * src/main/pa_http.C: - exception if $.body[] and $.forms[] specified together in file::load[;http] - get back transcoding $.body[] in file::load[;http] 2008-02-21 misha * src/classes/date.C: - ^date.gmt-string[] was added * src/types/pa_value.C: - method for output date in RFC 822 format moved to pa_common.h * src/include/pa_common.h: - method for output date in RFC 822 format moved here from pa_value.C * src/types/pa_vmail.C: - fixed core in sending mail with attachment in simple mode ($.file[file here]) introduced in 3.2.2 2008-02-20 misha * src/main/pa_http.C: - transcode $.headers before escaping into specified charset while ^file::load[...;http://...] (L_URI instead of L_HTTP_HEADER) - $.cookies param available in ^file::load[;http://...] now (but we don't parse set-cookies from response yet) (cookies not transcoded as common $cookies) 2008-02-19 misha * src/main/pa_request.C: - rollback: we mustn't force taint $response:field values because in this case $response:locateion[http://...] don't works. 2008-02-15 misha * src/classes/op.C: - little refactoring * src/main/pa_http.C: - taint names of $.headers for load[;http * src/main/pa_request.C: - force taint values of $response:field 2008-02-14 misha * src/main/pa_request.C: - $response:field transcoded to $response:charset before escaping now * src/main/pa_http.C: - some outdated comments removed * src/classes/date.C: - lastdat -> last-day * src/classes/date.C: - ^date:lastday(year;month) and ^date.lastday[] were added - little code refactoring - comments changes * tests/: 159.html, results/159.processed: - test for number of days in February * src/types/pa_value.C: - fixes in code formatting * src/classes/: file.C, op.C, table.C: - fixes in code formatting and comments 2008-02-13 misha * src/main/pa_common.C: - bugfix for february at leap year 2008-01-28 misha * tests/: 160.html, results/160.processed: - more test for cache added * src/classes/op.C: - bugfix: cache body executed twice if contains unhandled exception 2008-01-25 misha * src/lib/sdbm/sdbm.c: - use arp_malloc instead of malloc (fixed bug when hashfile became inavailable after memory:compact) * src/lib/sdbm/apr_strings.C: - +arp_malloc 2008-01-22 misha * src/classes/table.C: - little refactiring and exception texts changes in method ^table.hash[] * src/types/pa_vcookie.C: - link to cookie specification changed 2008-01-21 misha * tests/: 171.html, cat.sh, results/171.processed: - more tests for file::exec/cgi * src/classes/file.C: - bugfix: core while processing headers if executed cgi script don't return content 2008-01-18 misha * buildall-with-xml: - move to libxml2 version 2.6.31 * src/include/pa_version.h, configure.in: - version number updated to '3.2.3b' 2007-12-28 misha * src/: classes/hash.C, include/pa_hash.h: - hash.contain => hash.contains 2007-12-27 misha * gnu.vcproj, parser3.sln, 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/sdbm/sdbm.vcproj, src/lib/smtp/smtp.vcproj, src/main/main.vcproj, src/targets/cgi/parser3.vcproj, src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj: - back to VS2003 because of Apache 1.3 module can't work if it was built in VS 2005. with cgi all file so VS2003 project files can be easy converted to the new format. 2007-12-04 misha * src/types/pa_vcode_frame.h: - changes in comment 2007-11-29 misha * src/: types/pa_vcode_frame.h, main/execute.C: - code frame don't intercept strings any longer * tests/: 173.html, results/173.processed: - tests for $d[^date::now[]] $j{$d} $r[$j] -- must create date object in $r but not in main code frame * tests/: 172.html, results/172.processed: - more tests for pass objects from code frames 2007-11-27 misha * tests/: 152.html, results/152.processed: - tests for converting strings 'true'/'false' to bool were added * tests/152.html: - added checks for converting strings 'true'/'false' to bool * src/classes/string.C: - ^srting.bool[] now can convert to bool not only strings with numbers but with values 'true'/'false' as well * src/targets/: cgi/parser3.C, isapi/parser3isapi.C: - buffer size for parser3.log increased * src/main/pa_common.C: - remove_crlf optimize whitespaces now * src/include/pa_common.h: - remove_crlf return cstring size now * src/include/pa_types.h: - constant with buffer size for parser3.log added 2007-11-16 misha * tests/cat.sh: - script for tests for file::exec/cgi * tests/171.html: - tests for file::exec/cgi * tests/results/171.processed: - tests results for file::exec/cgi 2007-11-15 misha * src/main/pa_exec.C: - fixed incorrect exec code for unix * src/classes/file.C: - .body must be set before analyzing cgi headers * src/classes/file.C: - bugfix: we must transcode output fix EOLs only if exec/cgi return anything. 2007-11-14 misha * operators.ru.txt, operators.txt: - info about new text|binary option for file::exec/cgi was added * src/: include/pa_exec.h, main/pa_exec.C, classes/file.C: - ^file:exec[[text|binary];script;...] * src/: include/pa_exception.h, classes/file.C, classes/image.C, classes/string.C, classes/table.C: - more text strings moved to the one place 2007-11-09 misha * src/types/pa_vrequest.C: - $request:argv must be taint * ChangeLog: - $request:argv [patch from Sumo] * operators.ru.txt, operators.txt: - $request:argv * src/: include/pa_request_info.h, types/pa_vrequest.C, types/pa_vrequest.h, targets/cgi/parser3.C: - $request:argv 2007-10-25 misha * buildall-with-xml, buildall-without-xml: - options preparations for ./configure rewrited * src/main/: compile.tab.C, compile.y: - bug if parser.compile error occure in unhandled_exception finally fixed 2007-10-23 misha * tests/: 170.html, results/170.processed: - test for @method[][result] * operators.ru.txt, operators.txt: - added info about node.prefix and node.namespaceURI * src/classes/xnode.C: - xmlHasProp used instead of xmlGetProp * src/types/pa_vxnode.C: - DOM2 fields namespaceURI and prefix were added for node and attribute 2007-10-22 misha * src/types/pa_vmail.C: - content-transfer-encoding: 8bit added * src/main/pa_request.C: - added const content-transfer-encoding * src/include/pa_request.h: - added const content-transfer-encoding - ups. constants must be in lowercase (for search) * src/types/pa_vmail.C: - more constants used - content-transfer-encoding: 8bit added * src/main/pa_uue.C: - content-transfer-encoding moved out of here * src/include/pa_request.h: - more constants * src/types/pa_vmail.C: - constant renamed - $.content-id don't ommit anymore if $.content-disposition was specified - little refactoring * src/: include/pa_request.h, main/pa_request.C: - constant renamed 2007-10-17 misha * operators.ru.txt, operators.txt: - info about table::create[nameless]{data}[>options<] was added * src/main/: compile.tab.C, compile.y: - if error occure while compile method don't put this method in methods table anymore. in other case the parser coredumped if @unhandled_exception method can't be compiled because of parser.compile error. * src/main/execute.C: - little code reformating * src/main/pa_request.C: - little code reformating - comment changed 2007-10-16 misha * tests/: 035.html, results/035.processed: - tests table::create[]{}[options] added * src/classes/table.C: - table::create[]{} now accept 3rd param: options (only $.seperator[] yet) 2007-10-10 misha * src/classes/table.C: - some contstants moved to pa_common.h - some code changes 2007-10-02 misha * src/main/pa_uue.C: - memory usage during uuencode reduced more then three time as much. but base64 encoding method still use less memory anyway. 2007-09-17 misha * operators.ru.txt, operators.txt: - added info about $cookie:fields * src/types/pa_vcookie.C: - $cookie:fields available now * src/classes/hash.C: - some stuff for use with .for_each moved to common * src/include/pa_common.h: - some stuff for use with .for_each moved here * src/types/: pa_venv.C, pa_venv.h: - some strings moved to #define 2007-09-14 misha * buildall-with-xml: - new xml libs again =) 2007-08-28 misha * operators.ru.txt, operators.txt: - texts about ^table.columns[[column name]] and ^string.split[...][v][column name] were added * tests/: 168.html, 169.html, results/168.processed, results/169.processed: - tests for ^table.columns[[column name]] and ^string.split[...][v][column name] were added * src/classes/table.C: - new option ^table.columns[[column name]] was added * src/classes/string.C: - new option ^string.split[...;v;[column name]] * src/include/pa_exception.h: - error text message for ^hash._keys[], ^table.columns[] and ^string.split[] 2007-08-27 misha * src/main/untaint.C: - try to fix coredump on unix if print to body ^taint[sql][something] outside of connect * tests/: 167.html, results/167.processed: - test for ^taint[sql] outside of connect * buildall-with-xml, buildall-without-xml: - strip parser3 was added (commented by default) 2007-08-20 misha * operators.ru.txt, operators.txt: - comment about new method ^node.hasAttributes[] was added * src/classes/: file.C, math.C, op.C, string.C, xdoc.C: - more duplicated exception text strings were removed * src/include/pa_exception.h: - more exception text strings moved here * src/classes/table.C: - some duplicate exceptions' text strings removed * src/classes/: file.C, hashfile.C, image.C, op.C, string.C, xdoc.C, xnode.C: - some duplicate exceptions' text strings removed * src/include/pa_exception.h: - some exception text strings movet to pa_exception * tests/: 149.html, results/149.processed: - test for ^xnode.hasAttributes[] was added - some code changes * src/classes/xnode.C: - DOM2 method ^xnode.hasAttributes[] was added 2007-08-17 misha * tests/: results/006.processed, results/059.processed, 006.html, 059.html: - more tests for match * tests/: 129.html, results/129.processed: - tests for ^table.hash[...][$.type[string|hash|table]] added * src/targets/cgi/parser3.C: - little syntax changes * src/: classes/math.C, targets/isapi/parser3isapi.C: - little syntax changes * src/targets/cgi/parser3.C, operators.ru.txt, operators.txt: - annoying 'SIGPIPE' messages in parser3.log switched off by default. If someone really still need it: use $SIGPIPE(1) 2007-08-08 misha * buildall-with-xml, buildall-without-xml: - remove libs source files by default since now 2007-08-07 misha * buildall-without-xml: - some option syntax changes * buildall-with-xml: - compile libxml2 without http support - some option syntax changes * src/main/pa_xml_io.C: - will use parser file loader for xml needs 2007-08-06 misha * buildall-with-xml: - moved to libxml2-2.6.29 and libxslt-1.1.21 * tests/: 160.html, results/160.processed: - cache test was rewrited 2007-07-06 misha * tests/: 153.html, results/153.processed: - added test for ^math:sha1[string] * src/types/pa_vform.C: - bugfix: uploaded file name wasn't transcoded * src/classes/math.C: - ^math:long2ip(long) and ^math:sha1[string] were added 2007-06-28 misha * etc/parser3.charsets/windows-1251.cfg: - removed duplicated and some incorrect chars 2007-06-19 misha * src/include/pa_hash.h: - methods generic_hash_code & hash_code were moved on top because of gcc 4 had a problems during building. 2007-06-18 misha * tests/results/019.processed: - new image commited 2007-06-09 misha * src/classes/: op.C, table.C: - in while and table.select method as_expression used now * src/types/pa_vmethod_frame.h: - method as_expression was added 2007-06-08 misha * tests/: 166.html, results/166.processed: - test for ^match[...][n] * tests/: 165.html, results/165.processed: - tests for loops * src/lib/cord/include/private/cord_pos.h: - back to origin value because of no speed/memory optimisation but some proglems with long cycles occure 2007-06-06 misha * src/classes/: op.C, table.C: - ^while(true){}, ^while(1){}, ^table.select(true) and ^table.select(1) didn't works because of awaiting junction-param only. fixed. 2007-05-24 misha * src/: include/pa_os.h, main/pa_os.C: - 20 attempt to get lock with 0.5 secs interval * src/classes/op.C: - cache was rewrited. I hope it works with locking system now on unix * src/main/pa_os.C: - locks engines were rewrited: now we don't use system locks which wait till other threads release it but try get lock, if fail wait 1 sec and make 10 attempts. * src/include/pa_os.h: - consts for blocking locks + some comments were added * src/lib/sdbm/apr_file_io.C: - wait till lock released while opening files * src/classes/table.C: - changes in includes. if unclude after our classes on unix it can't be build * src/types/pa_vhashfile.C: - not needed code removed 2007-05-23 misha * src/: classes/file.C, classes/op.C, main/pa_common.C, include/pa_common.h: - cosmetic changes 2007-05-18 misha * src/lib/cord/include/private/cord_pos.h: - rebalance tree not so often. it's give some speed increasing * tests/results/160.processed: - returned time corrected * tests/160.html: - time increased because on unix 1 mean nothing :( * operators.ru.txt, operators.txt: - added info about ^hash.contain[key] * src/classes/hash.C: - added ^hash.contain[key] * src/include/pa_hash.h: - added method for checking key exists in hash 2007-05-07 misha * src/include/pa_string.h: - was compilation error during build on freebsd4 2007-05-03 misha * src/classes/table.C: - option $.type[hash|string|table] was added for ^table.hash[] * src/classes/file.C: - comment removed 2007-04-26 misha * src/types/: pa_vhashfile.C, pa_vhashfile.h: - while ::open the real files doesn't opened in place anymore 2007-04-24 misha * src/classes/math.C: - I thought one more time and remove lg(N) :) * src/include/pa_exception.h: "static" removed 2007-04-23 misha * src/classes/math.C: ^math:lg(N) => ^math:log10(N) * src/classes/math.C: added: - ^math:ln(N) (the same as ^math:log(N)) - ^math:lg(N) * tests/: 097.html, results/097.processed: - charsets converstion during ^file::load[text;http://...] added * tests/: 164.html, results/164.processed: - check for set expires as a date * tests/: 164.html, results/164.processed: - test for hashfile * src/classes/hashfile.C: - little comment changes * src/types/pa_vhashfile.C: - don't open hashfile files until 1st access * src/: 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/string.C, classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_request.h, main/execute.C, main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, main/pa_dictionary.C, main/pa_exec.C, main/pa_http.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_table.C, types/pa_value.C, types/pa_value.h, types/pa_vclass.C, types/pa_vconsole.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vimage.h, types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vtable.C, types/pa_vxdoc.h, types/pa_wcontext.C: - "parser.runtime" strings were removed * src/classes/hashfile.C: - with .clear[] called files_delete() now. * src/types/: pa_vhashfile.C, pa_vhashfile.h: - .clear() removed. * src/include/pa_exception.h: - string constant with "parser.runtime" text was added 2007-04-20 misha * operators.ru.txt, operators.txt: - some comments changing * operators.ru.txt, operators.txt: - added info about .^hashfile.release[], ^hashfile.clenaup[] and new ^string.match[][>N-option<] * configure: =cheching for unsetenv * src/classes/hashfile.C: - ^hashfile.cleanup[], ^hashfile.release[] were added * src/: main/pa_string.C, include/pa_string.h, classes/string.C: - ^string.match[][] understand new option now: return number of matches but not table wit results * src/types/: pa_vhashfile.C, pa_vhashfile.h: - hashfile can auto reopen now * src/classes/op.C: - bug. must be false * configure.in: - checking for unsetenv was added * src/types/pa_vform.C: - some comments 2007-04-18 misha * buildall-with-xml: moving to libxml2-2.6.28 * buildall-with-xml, buildall-without-xml: added commented lines with --disable-safe-mode option * operators.ru.txt, operators.txt: - info about $form:files 2007-04-17 misha * src/types/: pa_vform.C, pa_vform.h: - some code was modified - $form:files was added * tests/: 163.html, results/163.processed: removing auto format * src/types/pa_vdate.h: - start adding unsetenv("TZ"); 2007-04-16 misha * tests/: 163.html, results/163.processed: - test for .int[], floor, round, ceiling and .format[] * src/classes/file.C: - little optimization for getting args in exec/cgi 2007-04-13 misha * src/classes/file.C: - arguments for file::exec/cgi can be specified now as s table with one column 2007-03-27 misha * tests/: 162.html, results/162.processed: - test for ^table.select(^condition[$t]) * tests/results/auto.p: - load windows-1251 charset for some tests * tests/run_parser.sh: PARSER_CONFIG -> CGI_PARSER_CONFIG * tests/: results/161.processed, 161.html, 161_utf8.txt, 161_windows1251.txt: - added test for ^file::load[text;/local/file.txt;$.charset[...]] * tests/: results/013.processed, 013.html: - added test for checking $._default value while hash modifications * tests/: 160.html, results/160.processed: - add test for ^cache[key](secs){code}, ^cache[] and ^cache(0) 2007-03-22 misha * src/include/pa_common.h: - "charset" string defined for ^file::load[text;/local.txt] and ^table::load[/table.txt] * src/main/: pa_common.C, pa_http.C: - $.charset option for ^file::load[text;/local.txt] and ^table::load[/table.txt] was added - not needed transcodes were removed from ^file::load[...;http://...] * src/types/pa_vdate.h: - date.week was fixed - date.weekyear was added * src/classes/date.C: - date.week was fixed * operators.ru.txt, operators.txt: - added info about date.weekyear * tests/: 159.html, results/159.processed: - tests for date.week and date.weekyear added 2007-03-15 misha * src/classes/table.C: - enclose column numbers for nameless tables as well 2007-03-14 misha * src/targets/cgi/parser3.C: - bugxif. failed when request cgi * src/classes/table.C: - table.save optimization: now required much less memory 2007-03-13 misha * tests/results/: 158.processed, 158.processes: - tests for table.save/table.load * tests/: 158.html, results/158.processes: - tests for table.save/table.load * buildall-with-xml: libxml2: --without-ftp --without-docbook * buildall-with-xml: - pattern needed now for building * tests/results/097.processed: - added test results for xdoc::load & xdoc::load[http://...] * tests/097.html: - added test for xdoc::load 2007-03-12 misha * tests/: 107.html, results/107.processed: - added test for xpath '//man' 2007-03-01 misha * tests/: 097.html, results/097.processed: - added test for creating xdoc from file * tests/: results/157.processed, 157.html: - added test for file:move 2007-02-28 misha * src/classes/xdoc.C: - another attempt * src/classes/xdoc.C: - roll back last changes for a while * src/classes/xdoc.C, operators.ru.txt, operators.txt: - ^xdoc::create[$file] added. * src/classes/file.C: - under lock we create non-exist dir anyway * tests/results/099.processed: - ever send content-disposition to client with file * tests/157.html: + test for file:copy 2007-02-26 misha * src/classes/file.C: - some similar strings moved to #define instead of to be copy/pasted many times * src/types/pa_vfile.h: - class name string ("file") moved to #define 2007-02-20 misha * configure.in: - added some strings for sqlite detection 2007-02-19 misha * operators.ru.txt, operators.txt: - some comments changes * buildall-with-xml, buildall-without-xml: - some modifications 2007-02-17 misha * buildall-with-xml, buildall-without-xml: - moving to gc6.8 * src/main/pa_request.C: - damn, i forgot to commit it while I change console behaviour 2007-02-12 misha * src/targets/cgi/parser3.C: - don't print headers if $console:line[data] was used during cgi execution. * src/types/pa_vconsole.h: - console class have bool flag now which marked as 'true' if class was used. * tests/: 152.html, results/152.processed: - more types was added to test 152 * src/types/: pa_vimage.C, pa_vimage.h: - fixed bug added while adding 'bool' (^if($image){} caused exception) 2007-02-09 misha * tests/: 152.html, results/152.processed: - test alightly updated * tests/: 152.html, results/152.processed: - test rewrited * src/types/: pa_vxdoc.C, pa_vxdoc.h, pa_vxnode.C, pa_vxnode.h: - bugfix. I broke xdoc & xnode in expression 2007-02-08 misha * tests/: 152.html, results/152.processed: - add test for checking 'def' for void, string, bool, int & double 2007-02-07 misha * operators.ru.txt, operators.txt: - ^file:base64[filespec] was added * tests/results/153.processed: - result test for ^file:base64[filespec] was updated * tests/153.html: - test for ^file:base64[filespec] was added * src/types/pa_vconsole.h: - little optimization * src/classes/file.C: - ^file:base64[filespec] * src/main/pa_common.C: - definitions for ^file:base64[filespec] * src/include/pa_common.h: - declarations for ^file:base64[filespec] * src/types/pa_vcookie.C: - little optimization 2007-02-06 misha * src/main/: utf8-to-lower.inc, utf8-to-upper.inc: - some chars were temporary commented * src/types/pa_vbool.h: - bugfix * tests/156.html: - added test for bool cookie * src/types/pa_vcookie.h: - not needed string "cookie" removed * tests/: 155.html, results/155.processed: - added test for check $.encloser[] option for table save/load * tests/: 153.html, 154.html, todo.txt: - two more tests added 2007-02-05 misha * tests/results/152.processed: - newline at the end was missed * tests/results/141.processed: - math:md5 must be lowercased * src/targets/cgi/parser3.C: - 2007 in help ;) 2007-02-03 misha * tests/results/: 150.processed, 151.processed, 152.processed: - test for bool added and some content length fixes * tests/152.html: - test for bool added * buildall-with-xml: - moved to libxml2-2.6.27 and libxslt-1.1.20 * operators.ru.txt, operators.txt: - info bool class was added * src/: classes/Makefile.am, classes/bool.C, classes/classes.vcproj, classes/double.C, classes/int.C, classes/string.C, classes/void.C, classes/xnode.C, include/pa_string.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.C, types/pa_vjunction.h, types/pa_vproperty.C, types/pa_vproperty.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.h, types/types.vcproj: - bool class was added * src/main/pa_request.C: - fix 2007-01-18 misha * src/: main/pa_string.C, classes/string.C: - return table during ^string.match[][] even if no matched found. 2006-12-20 misha * src/types/: pa_method.h, pa_vfile.h: - some syntax changes [ http://www.parser.ru/forum/?id=55598 ] 2006-12-19 misha * src/types/pa_vxdoc.C: - $xDoc is "xnode" == true now. more details: http://www.parser.ru/forum/?id=52359 * src/main/pa_request.C: - always set content-disposition for $response:body[hash here]. more details: http://www.parser.ru/forum/?id=52130 2006-12-07 misha * operators.ru.txt, operators.txt: - added info about bool params in cookie set * src/types/pa_vcookie.C: - bool param in cookies available now $cookie:name[ $.value[123] $.secure(true) $.httponly(true) ] * src/types/: pa_value.C, pa_value.h, pa_vbool.h: - is_bool method was added 2006-12-02 misha * src/classes/file.C: - file_block_read used instead of native read * src/main/pa_common.C: - added file_block_read with read error detection - file_block_read used instead of native read * src/include/pa_common.h: - added file_block_read declaration 2006-12-01 misha * operators.ru.txt, operators.txt: - info about $var.CLASS_NAME was added * src/types/: pa_vstateless_class.C, pa_vstateless_class.h: - $var.CLASS_NAME added * operators.ru.txt, operators.txt: - added info about ^file:copy[] * src/classes/file.C: - ^file:copy[from;fo] was added 2006-11-20 misha * src/classes/date.C: - bug fix :) 2006-11-17 misha * src/include/pa_common.h: - array in crc32 calculation was changed to static * src/main/pa_common.C: - little optimization in getMonthDays - small changes in crc32 calculation * src/classes/date.C: - not needed code was removed 2006-11-16 misha * src/types/pa_vmail.C: - fix missed brakes * src/types/pa_vmail.C: - mail:send now set content-type: multipart/related instead of multipart/mixed if file have $.content-id[] 2006-11-15 misha * src/types/pa_vdouble.h: abs -> fabs 2006-11-14 misha * operators.ru.txt, operators.txt: - added info about ^file.md5[] and ^file:md5[file-name] * src/classes/file.C: - ^file.md5[] and ^file:md5[file-name] were added * src/main/pa_common.C: - CRC32_MAX_BUFFER_SIZE was renamed to FILE_BUFFER_SIZE * src/classes/math.C: - hex_string was moved to pa_common.h * src/include/pa_common.h: - hex_string was moved from math.C - CRC32_MAX_BUFFER_SIZE was renamed to FILE_BUFFER_SIZE * src/types/pa_vdouble.h: - incorrect frac detection with negative values was fixed 2006-11-13 misha * operators.ru.txt, operators.txt: - added info about ^math:crc32[string], ^file:crc32[file-name] & ^file.crc32[] * src/classes/math.C: - added ^math:crc32[string] * src/classes/file.C: - some comments were changed - added ^file:crc32[file-name] and ^file.crc32[] * src/: include/pa_common.h, main/pa_common.C: - some functions for crc32 calculation added 2006-11-03 misha * src/include/pa_array.h: - not needed variable removed * tests/: 150.html, 151.html, results/150.processed, results/151.processed: - 2 tests were added * src/include/: pa_array.h, pa_table.h: - table.locate & table.join with $.reverse(1) were fixed * src/main/pa_http.C: - bug fix. now tainted data from $.form and query converted to $.charset during ^file::load[http://...] 2006-11-02 misha * src/include/pa_table.h: ups. forget '=' char * src/include/pa_table.h: - one more fix in .locate[...][$.reverse(1)] 2006-11-01 misha * src/classes/math.C: - bug fix, details: http://www.parser.ru/forum/?id=53360 * src/include/pa_table.h: - bug fix during ^table.locate( condition false for all records )[$.reverse(1)] * src/main/pa_http.C: - second param for this mid method is length but not end_index so this method has error and can't detect charsets in next content-types: Content-type: text/html; charset="windows-1251" Content-type: text/html; charset="windows-1251"; Content-type: text/html; charset=windows-1251; only Content-type: text/html; charset=windows-1251 was fine 2006-10-31 misha * src/classes/file.C: - empty args in file::exec removed now 2006-09-03 paf * src/classes/file.C: proper tainting of ^file::exec/cgi[script;env;COMMAND;LINE;PARAMS] 2006-06-09 paf * src/lib/pcre/pcre-2_08.tar.gz: one can easily find those * src/classes/table.C: formatting * src/classes/table.C: incorporated patch from misha: Sent: Thursday, June 08, 2006 12:38 PM Subject: parser3: patch for ignoring string options for ^table.save[] * src/classes/hash.C: incorporated patch from misha Sent: Wednesday, June 07, 2006 9:52 PM Subject: parser3: patch for $hash._default disappear while * operators.ru.txt, operators.txt: ^mail:send[ $.file1[ $.value[file] $.format[!uue|!base64] << new base64 option. default uue ] ] * src/types/pa_vmail.C: misha: Sent: Wednesday, June 07, 2006 8:51 PM Subject: patch for base64 in ^mail:send[] %-) 2006-04-09 paf * src/main/compile.tab.C: ` change compiled * gnu.vcproj, operators.ru.txt, operators.txt, parser3.sln, src/classes/classes.vcproj, src/classes/file.C, src/classes/hash.C, src/classes/hashfile.C, src/classes/image.C, src/classes/op.C, src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C, src/include/pa_array.h, src/include/pa_config_fixed.h, src/include/pa_dir.h, src/include/pa_memory.h, src/include/pa_request.h, src/include/pa_stack.h, 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/sdbm/sdbm.vcproj, src/lib/smtp/smtp.h, src/lib/smtp/smtp.vcproj, src/main/compile.y, src/main/execute.C, src/main/main.vcproj, src/main/pa_cache_managers.C, src/main/pa_charset.C, src/main/pa_exec.C, src/main/pa_http.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/targets/cgi/getopt.c, src/targets/cgi/parser3.C, src/targets/cgi/parser3.vcproj, src/targets/isapi/pa_threads.C, src/targets/isapi/parser3isapi.C, src/targets/isapi/parser3isapi.vcproj, src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vcookie.C, 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: + ^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, src/classes/op.C, src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C, src/include/pa_array.h, src/include/pa_config_fixed.h, src/include/pa_dir.h, src/include/pa_memory.h, src/include/pa_request.h, src/include/pa_stack.h, 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/sdbm/sdbm.vcproj, src/lib/smtp/smtp.h, src/lib/smtp/smtp.vcproj, src/main/compile.y, src/main/execute.C, src/main/main.vcproj, src/main/pa_cache_managers.C, src/main/pa_charset.C, src/main/pa_exec.C, src/main/pa_http.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/targets/cgi/getopt.c, src/targets/cgi/parser3.C, src/targets/cgi/parser3.vcproj, src/targets/isapi/pa_threads.C, src/targets/isapi/parser3isapi.C, src/targets/isapi/parser3isapi.vcproj, src/types/pa_value.C, 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: ! 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 * buildall-with-xml: . ftp paths update 2006-03-04 paf * src/main/: pa_string.C: merged from HEAD ! cache file curruption checks++ [thanks to Igor Zinkovsky for detailed report] * src/main/pa_string.C: ! cache file curruption checks++ [thanks to Igor Zinkovsky for detailed report] 2006-03-01 paf * src/main/untaint.C: merged from HEAD ! mail:send << changed \r or \n to ' ' in 2006-02-18 paf * src/main/untaint.C: merged from HEAD ! mail:send << changed \r or \n to ' ' in * src/main/untaint.C: ! mail:send << changed \r or \n to ' ' in 2006-02-03 paf * src/main/pa_common.C: merged from HEAD ! bugfix: decoding from base64 * src/main/pa_common.C: ! bugfix: decoding from base64 2006-01-20 paf * src/types/pa_vhashfile.C: . merged hashfile.foreach memory economy fix * src/classes/: table.C: merged from HEAD ! bugfix ^table.save[$.encloser-s now handled properly * src/classes/table.C: ! bugfix ^table.save[$.encloser-s now handled properly 2006-01-19 paf * buildall-with-xml, buildall-without-xml: merged from HEAD ! libgc:USE_MUNMAP activates merging of free memory blocks which helps a lot in our case: after transform we want CORD(main.result)->cstr[big malloc]->transcode[big malloc] * src/types/pa_vhashfile.C: . merged hashfile.foreach memory economy fix * buildall-with-xml, buildall-without-xml: ! libgc:USE_MUNMAP activates merging of free memory blocks which helps a lot in our case: after transform we want CORD(main.result)->cstr[big malloc]->transcode[big malloc] 2006-01-17 paf * src/types/pa_vhashfile.C: ! hashfile.foreach: counted pairs before reading them. got rid of reallocs = became quicker and less fragmentated 2005-12-29 paf * INSTALL, Makefile.am, buildall-with-xml, buildall-without-xml, configure, configure.in, src/include/pa_version.h, src/lib/ltdl/Makefile.am, src/lib/ltdl/acconfig.h, 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: . 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 src/lib/ltdl * src/lib/ltdl/: Makefile.am, acconfig.h, acinclude.m4, config.guess, config.sub, configure.in, install-sh, ltmain.sh, missing: . now config_auto.h is created with configure [were constant] * INSTALL: . references to documentation and some clarification * buildall-with-xml, buildall-without-xml: . farawell doc indication * Makefile.am: . dist+=buildall* 2005-12-28 paf * configure: . 3.2.1 * INSTALL, buildall-with-xml, buildall-without-xml: + started to simplify build process, see INSTALL 2005-12-26 paf * configure: ver * configure.in, src/include/pa_version.h, src/main/compile.tab.C: version 2005-12-21 paf * 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, 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, src/lib/gd/gd.vcproj, src/lib/smtp/smtp.vcproj, src/main/main.vcproj, src/main/pa_globals.C, src/targets/cgi/parser3.vcproj, src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj, configure, configure.in, src/include/pa_version.h: . killing gdome [what a relief] * tests/: 097.html, 106.html, 108.html, 110.html, 112.html, 113.html, 114.html, 115.html, 116.html, 117.html, Makefile, run_parser.sh, results/001.processed, results/002.processed, results/003.processed, results/004.processed, results/005.processed, results/006.processed, results/008.processed, results/009.processed, results/010.processed, results/011.processed, results/012.processed, results/013.processed, results/014.processed, results/015.processed, results/016.processed, results/017.processed, results/018.processed, results/020.processed, results/021.processed, results/022.processed, results/023.processed, results/024.processed, results/025.processed, results/026.processed, results/027.processed, results/028.processed, results/029.processed, results/030.processed, results/031.processed, results/032.processed, results/033.processed, results/034.processed, results/035.processed, results/036.processed, results/037.processed, results/038.processed, results/039.processed, results/040.processed, results/041.processed, results/042.processed, results/043.processed, results/044.processed, results/045.processed, results/046.processed, results/047.processed, results/048.processed, results/049.processed, results/050.processed, results/051.processed, results/052.processed, results/053.processed, results/054.processed, results/055.processed, results/056.processed, results/057.processed, results/058.processed, results/059.processed, results/060.processed, results/061.processed, results/062.processed, results/063.processed, results/064.processed, results/065.processed, results/066.processed, results/067.processed, results/068.processed, results/069.processed, results/070.processed, results/071.processed, results/072.processed, results/073.processed, results/074.processed, results/075.processed, results/076.processed, results/077.processed, results/078.processed, results/079.processed, results/080.processed, results/081.processed, results/082.processed, results/083.processed, results/084.processed, results/085.processed, results/086.processed, results/087.processed, results/088.processed, results/089.processed, results/090.processed, results/091.processed, results/092.processed, results/093.processed, results/094.processed, results/095.processed, results/096.processed, results/097.processed, results/099.processed, results/100.processed, results/101.processed, results/102.processed, results/104.processed, results/105.processed, results/106.processed, results/107.processed, results/108.processed, results/109.processed, results/110.processed, results/111.processed, results/112.processed, results/113.processed, results/114.processed, results/115.processed, results/117.processed, results/119.processed, results/120.processed, results/121.processed, results/122.processed, results/123.processed, results/124.processed, results/125.processed, results/126.processed, results/127.processed, results/128.processed, results/129.processed, results/130.processed, results/131.processed, results/132.processed, results/133.processed, results/134.processed, results/135.processed, results/136.processed, results/138.processed, results/139.processed, results/140.processed, results/141.processed, results/142.processed, results/143.processed, results/144.processed, results/145.processed, results/146.processed, results/147.processed, results/148.processed, results/149.processed, results/auto.p: . now works if we turn off default auto.p * configure: . makes * src/types/pa_vxnode.C: . less warnings * src/types/pa_vxnode.C, tests/142.html, tests/144.html, tests/145.html, tests/149.html, tests/descript.ion, tests/outputs/d.cmd, tests/results/142.processed, 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: . 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, considering thing minor issue -- nodes are removed from source anyway, don't know why shold that be an error after all * src/targets/cgi/parser3.C: . style * src/classes/xnode.C: . "xml.dom" . xnode.select* now works on xdoc too [were barking "not element"] 2005-12-16 paf * 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 * 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) * src/main/: compile.tab.C, compile.y: ! fixed overoptimized ^call(false) case. (confused it with ^call[] case) * tests/: 142.html, 143.html, 144.html, 145.html: . dom [part] * tests/: 006.html, 034.html, 057.html, Makefile, make_tests.cmd, results/001.processed, results/002.processed, results/003.processed, results/004.processed, results/005.processed, results/006.processed, results/008.processed, results/009.processed, results/010.processed, results/011.processed, results/012.processed, results/013.processed, results/014.processed, results/015.processed, results/016.processed, results/017.processed, results/018.processed, results/019.processed, results/020.processed, results/021.processed, results/022.processed, results/023.processed, results/024.processed, results/025.processed, results/026.processed, results/027.processed, results/028.processed, results/029.processed, results/030.processed, results/031.processed, results/032.processed, results/033.processed, results/034.processed, results/035.processed, results/036.processed, results/037.processed, results/038.processed, results/039.processed, results/040.processed, results/041.processed, results/042.processed, results/043.processed, results/044.processed, results/045.processed, results/046.processed, results/047.processed, results/048.processed, results/049.processed, results/050.processed, results/051.processed, results/052.processed, results/053.processed, results/054.processed, results/055.processed, results/056.processed, results/057.processed, results/058.processed, results/059.processed, results/060.processed, results/061.processed, results/062.processed, results/063.processed, results/064.processed, results/065.processed, results/066.processed, results/067.processed, results/068.processed, results/069.processed, results/070.processed, results/071.processed, results/072.processed, results/073.processed, results/074.processed, results/075.processed, results/076.processed, results/077.processed, results/078.processed, results/079.processed, results/080.processed, results/081.processed, results/082.processed, results/083.processed, results/084.processed, results/085.processed, results/086.processed, results/087.processed, results/088.processed, results/089.processed, results/090.processed, results/091.processed, results/092.processed, results/093.processed, results/094.processed, results/095.processed, results/096.processed, results/097.processed, results/099.processed, results/101.processed, results/102.processed, results/104.processed, results/105.processed, results/106.processed, results/107.processed, results/108.processed, results/109.processed, results/110.processed, results/111.processed, results/112.processed, results/113.processed, results/114.processed, results/115.processed, results/116.processed, results/117.processed, results/118.processed, results/119.processed, results/120.processed, results/121.processed, results/122.processed, results/123.processed, results/124.processed, results/125.processed, results/126.processed, results/127.processed, results/128.processed, results/129.processed, results/130.processed, results/131.processed, results/132.processed, results/133.processed, results/134.processed, results/135.processed, results/136.processed, results/137.processed, results/138.processed, results/139.processed, results/140.processed, results/141.processed: . refreshed old tests, made them work without auto.p (in utf8) . things noted: . gif got encoded differently . exif 0000:00:00 decoded now into 0000:00:00 (were some strange year) * INSTALL: . revived linux libgc fix * INSTALL, configure.in, src/lib/Makefile.am: . sweetest part [no glib/gdome in INSTALL and patches] * 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 * src/main/: pa_request.C: merged from HEAD ! when code in @unhandled_exception thrown another exception, print correct origin (earlier code in catch of exception inside of @unhandled_exception grabbed parent_frame(original_exception) origin and printed it, instead of true origin) * src/main/pa_request.C: ! when code in @unhandled_exception thrown another exception, print correct origin (earlier code in catch of exception inside of @unhandled_exception grabbed parent_frame(original_exception) origin and printed it, instead of true origin) 2005-12-09 paf * INSTALL: . updated INSTALL doc to work around linux stack base detection problem, due to change in gc6.4 code * src/main/: pa_string.C: merged from 3.1.5 ! regex tainting were ignored in ^string.matched :( * src/main/pa_string.C: ! regex tainting were ignored in ^string.matched :( * ChangeLog, INSTALL, configure, configure.in, src/classes/date.C, src/include/pa_config_fixed.h, src/include/pa_version.h, 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, src/targets/isapi/parser3isapi.C, src/types/pa_vmail.C: . merged latest fixes from 3.2.0 2005-12-08 paf * src/types/pa_vmail.C: merged from 3.2.0 ! bcc line longer then 500 chars now handled OK [were wrapped on 500th char according to rfc, but sendmail failed to unwrap it properly] * src/types/pa_vmail.C: ! bcc line longer then 500 chars now handled OK [were wrapped on 500th char according to rfc, but sendmail failed to unwrap it properly] * src/targets/isapi/parser3isapi.C: . less warnings * src/targets/isapi/parser3isapi.C: . undone some strange change since 3.1.5 * src/targets/isapi/parser3isapi.C: . merged from 3.1.5 release link fixes * 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 can add third CORD to store origins and special version of parser which stores origins there [separate binary]] 2005-12-07 paf * src/targets/isapi/parser3isapi.C: . now links in release mode * src/include/pa_version.h: makefiles * src/include/pa_version.h: . not beta * configure, configure.in, src/include/pa_version.h: not beta 2005-12-06 paf * src/types/: pa_wcontext.C, pa_wcontext.h: ! after long discussion [some details here http://i2/tasks/edit/?id=4869912143891354460] decided to undo the change ^call[$void] passes void. now it will pass empty string again. * src/main/: compile.tab.C, compile.y: . version readded * src/classes/op.C: . in this version there is no ^switch[$nothing] = ^switch[void] problem 2005-12-01 paf * src/classes/op.C: mreged from HEAD . bugfix ^switch[$void_value] caused ^case[string] to be coerced to double since searching value were not string (it was vvoid) * src/classes/op.C: . bugfix ^switch[$void_value] caused ^case[string] to be coerced to double since searching value were not string (it was vvoid) * INSTALL: . compiled with libxml2 = 2.6.22 libxslt = 1.1.15 glib = 1.2.10 gdome2 = 0.8.1 2005-11-30 paf * src/types/pa_vdate.h: merged from HEAD: ! bugfix: to drop TZ on win32 must putenv("TZ="), on unix works only putenv("TZ") * src/types/pa_vdate.h: ! bugfix: to drop TZ on win32 must putenv("TZ="), on unix works only putenv("TZ") * INSTALL: . xml libs versions updated * src/main/pa_globals.C: //20051130 trying to remove this, author claims that fixed a lot there // 20040920 for now both workarounds needed. wait for new libxml/xsl versions 2005-11-28 paf * src/classes/table.C: merged from HEAD: ! nameless table has columns==0 * src/classes/table.C: ! nameless table has columns==0 * src/main/pa_http.C: merged from HEAD: ! status line check made earlier [was totally wrong] * src/main/pa_http.C: ! status line check made earlier [was totally wrong] 2005-11-25 paf * src/include/pa_array.h: -this reduces speed(table::load) strange. undoing for now... * src/include/pa_version.h: -this reduces speed(table::load), strange. undoing * src/classes/op.C: merged from HEAD + ^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, this speeds things up and saves memory a LOT! (not noticed negative effect on syntetic tests, future will tell...) * src/include/pa_memory.h: . removed GC_DEBUG for debug version, it changed gc_malloc implementation, which obscured profiling * src/classes/table.C: merged from HEAD: + optimized table::load/sql, now row ArrayString-s allocated with columns.count() elements and don't always grow from count=3[realloc,realloc] * src/classes/table.C: + optimized table::load/sql, now row ArrayString-s allocated with columns.count() elements and don't always grow from count=3[realloc,realloc] * src/classes/table.C: merged from HEAD: . ^table.save unused buffer after save * src/classes/table.C: . ^table.save unused buffer after save 2005-11-24 paf * configure.in: . merged glib2-config patch * configure.in: + trying to find glib2-config * 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" * aclocal.m4, configure, src/include/pa_config_auto.h.in: makefiles * src/: classes/file.C, include/pa_common.h, main/execute.C, main/pa_common.C, main/pa_request.C: ! 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" * src/: classes/file.C, include/Makefile.am, include/pa_common.h, include/pa_http.h, main/Makefile.am, main/main.vcproj, main/pa_common.C, main/pa_http.C: merged from HEAD: +! ^file::exec/cgi[script;$.charset[changed] $.QUERY_STRING[^untaint[URI]{aaa=$form:text} << now %HH would be encoded in $.charset charset * 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 * src/: include/Makefile.am, include/pa_common.h, include/pa_http.h, main/Makefile.am, main/main.vcproj, main/pa_common.C, main/pa_http.C: . extracted http:// into separate file [preparation for ^file::cgi[script;$.form[$.field1[] 2005-11-22 paf * src/: include/pa_version.h, main/compile.tab.C: makefiles * acinclude.m4, configure.in: . merged underquting fixes * src/include/pa_config_auto.h.in: configure+makes * src/classes/op.C: . overmerged a little * src/main/compile.tab.C: Makefile * src/main/: pa_common.C: . less gcc warnings * src/classes/op.C: merged from HEAD: + $exception.handled[cache] now reports original exception if we have no old cache * src/classes/op.C: + $exception.handled[cache] now reports original exception if we have no old cache * 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 * src/types/pa_vdate.h: merged from 3.1.5: ! date TZ save/restore stored pointer to getenv-ed variable, which does not work both on win32&unix. copied old TZ value now * 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 * src/types/pa_vresponse.C: merged from HEAD: + $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: + 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/classes/string.C: merged from HEAD: + removed limitation on ^string/int/double:sql{}[$.default[({param style})] ] * src/classes/string.C: + removed limitation on ^string/int/double:sql{}[$.default[({param style})] ] * src/main/pa_common.C: merged from HEAD: + removed "use either uri with ?params or $.form option" limitation * src/main/pa_common.C: + removed "use either uri with ?params or $.form option" limitation * 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, classes/string.C, include/pa_common.h, main/pa_common.C: + ^file.base64[] encode + ^file::base64[encoded] decode * src/classes/: file.C, string.C: + ^string.base64[] encode + ^string:base64[encoded] 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: + merged from HEAD: ^file::create[text;file.xml;^untaint[xml]{data}] * src/classes/file.C: + ^file::create[text;file.xml;^untaint[xml]{data}] * src/main/pa_request.C: ! merged: $response:body[file] now differes from :download, it does not return content-disposition at all now [previusely it returned valueless content-disposition] * src/main/pa_request.C: ! $response:body[file] now differes from :download, it does not return content-disposition at all now [previusely it returned valueless content-disposition] * src/main/: compile.tab.C, compile.y: ! overoptimized void literals, reverted to just vvod, recreating empty array with each void_value token. that's absolutely needed, since that array grows * 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: + merged: expression literals: true/false. ^format[$.indent(true)] * 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, 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, pa_venv.C, pa_venv.h, types.vcproj: + $env:PARSER_VERSION reports "3.1.5beta (compiled on i386-pc-win32)" 2005-11-18 paf * src/classes/: double.C, int.C: ! ^int/double:sql{select null}[$.default(123)] will now return default value * src/classes/op.C: + merged ^cache[] << returns current cache expiration time * src/classes/op.C: + ^cache[] << returns current cache expiration time * src/classes/table.C: ! merged ^table::create[not'nameless'; failed << Exception.problem_source pointed to local var! * src/classes/table.C: ! ^table::create[not'nameless'; failed << Exception.problem_source pointed to local var! * src/main/pa_common.C: ! merged: file::load[binary;fileOfZeroSize] now loads VFile.ptr!=0, so such files can be saved now * 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: ! 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 .*] * src/lib/sdbm/apr_file_io.C: ! merged from 3.1.5: hashfile file open error now checked, were not :( [stole that piece from apache 1.3 sources] * src/lib/sdbm/apr_file_io.C: ! hashfile file open error now checked, were not :( [stole that piece from apache 1.3 sources] * src/main/pa_request.C: ! merged from 3.1.5: ensured proper untainting of @main result if returned by $result or $response:body * src/main/pa_request.C: ! ensured proper untainting of @main result if returned by $result or $response:body * src/main/pa_common.C: ! merged from 3.1.5: fixed file load memory issue: now tries to guess content-length and allocates one big piece if possible [regretfully gc_realloc works as malloc+free, leaving lots of holes behind] * src/: classes/memory.C, main/compile.tab.C, main/pa_common.C: ! fixed file load memory issue: now tries to guess content-length and allocates one big piece if possible [regretfully gc_realloc works as malloc+free, leaving lots of holes behind] 2005-11-16 paf * 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 OP_VALUE+origin+double with OP_STRINGPOOL+code+OP_writeXX * src/main/: compile.tab.C, compile.y: ! ^if(-f "...") now works [were overoptimized ^if(double_literal), compiler confused OP_VALUE+origin+double with OP_STRINGPOOL+code+OP_writeXX * 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 * src/main/: Makefile.am, compile.tab.C: removed $< from .y compilation, not all makefiles liked that 2005-08-30 paf * src/classes/op.C: merge . speedup check of [DEFAULT] * src/classes/op.C: . speedup check of [DEFAULT] 2005-08-26 paf * src/: classes/date.C, types/pa_vdate.h: merged + 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 * src/classes/table.C: ! ^table::create[bad]{xxx} now complains about bad!=nameless * src/classes/: hash.C, string.C, table.C, void.C: merged ! 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 recent "(const) now no junction" optimization * src/classes/: double.C, int.C, math.C, op.C, string.C, table.C: merged ! 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 * src/targets/isapi/: parser3isapi.C, parser3isapi.vcproj: ! on windows 2003 DllMain receivese \\?\ prefix to fullspec of .dll, stripped it 2005-08-09 paf * src/types/pa_wcontext.h: ! bugfix in_expression bit field were not cleared * 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, classes/mail.C, classes/math.C, classes/memory.C, classes/op.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_memory.h, include/pa_opcode.h, include/pa_operation.h, include/pa_os.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/smtp/comms.C, lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, 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_memory.C, main/pa_os.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/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.h, types/pa_vdouble.h, 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.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.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_vproperty.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: 2005 * src/types/: pa_value.h, pa_vdouble.h, pa_vint.h, pa_vmethod_frame.h: merged from HEAD ! simplified (double) speedup consequent checks in vmethod_frame * src/types/pa_wcontext.h: ! bugfix in_expression bit field were not cleared * src/: classes/file.C, main/pa_exec.C: merged +file::cgi/exec now params: 50 max (were 10) * src/: classes/file.C, main/pa_exec.C: + file::cgi/exec now params: 50 max (were 10) * 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 ^call(vdouble), no junction creation, no calls later 2005-08-08 paf * 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 * src/types/pa_vdouble.h: . double values without fractional part now default printed as %.0f instead of %g * 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, 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 Junction(params)) to new VJunction(params), thousands of mallocs removed 2005-08-05 paf * src/: include/pa_memory.h, main/compile.tab.C, main/compile.y, types/pa_vdouble.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: + optimized ^call(vdouble), no junction creation, no calls later * 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, classes/mail.C, classes/math.C, classes/memory.C, classes/op.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_memory.h, include/pa_opcode.h, include/pa_operation.h, include/pa_os.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/smtp/comms.C, lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.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_memory.C, main/pa_os.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/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_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.h, types/pa_vdouble.h, 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.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.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_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: . 2005 ;) * src/: 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/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj: + optimized constants in expressions vstring->vdouble 2005-07-29 paf * src/types/pa_vclass.C: . shaped up error messages a bit * src/types/pa_vclass.C: + property getter can now be overridden * 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 * configure, configure.in, src/classes/classes.h, src/classes/date.C, src/classes/file.C, src/classes/hash.C, src/classes/hashfile.C, src/classes/image.C, src/classes/op.C, src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C, src/classes/xnode.h, src/include/pa_hash.h, src/include/pa_version.h, src/main/execute.C, src/types/Makefile.am, 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_vproperty.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_vvoid.h, src/types/pa_vxnode.C, src/types/pa_vxnode.h, src/types/pa_wwrapper.h: + 3.2.0 beta: merged from dynamic_fields_join * 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 * src/types/pa_vclass.C: ! changed to GET_ SET_ prefixes. for there is some old code containing @set_name $name * src/types/pa_vobject.h: . fixed warning * configure, configure.in, src/include/pa_version.h, src/types/Makefile.am: 3.2.0beta started * 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, 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: joined_dynamic_fields: removed unused param from put_method (returned to 3 params) * 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: 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, 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_class.C, types/pa_vstateless_object.h, types/pa_vvoid.h, types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wwrapper.h: joined_dynamic_fields: just compiled * src/: classes/date.C, classes/file.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/table.C, classes/xdoc.C, classes/xnode.h, main/execute.C, types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.h, types/pa_vstateless_class.h: joined_dynamic_fields: started * src/types/pa_vobject.C: . 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, main/execute.C: . properties: set works [alpha2]. for classes. todo: for objects * 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, 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, 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] 2005-07-15 paf * src/: classes/classes.h, classes/op.C, main/execute.C, types/pa_junction.h, types/pa_property.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_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vvoid.h, types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.h, types/pa_wwrapper.h, types/types.vcproj: + started property [getters work but think of changing them too to precaching] 2005-07-08 paf * src/main/pa_request.C: ! bugfix: $response:body[nonfile] caused gpf 2005-06-28 paf * src/: classes/file.C, main/untaint.C: ! string invariant violated in passing empty strings to file::exec/cgi environment 2005-06-06 paf * src/classes/: hash.C, string.C, table.C: ! bugfix ^string:sql ^table:sql ^hash:sql now DO process $.bind option 2005-05-24 paf * src/classes/file.C: ! bugfix ^file::load[mode;name;$.offset $.limit] now work again [support was broken in 3.1.4] * src/: main/pa_string.C, classes/op.C: . steps toward removing ALL_INTERIOR_POINTERS 2005-05-12 paf * configure: 3.1.5beta * src/main/pa_common.C: ! bugfix -- recv()==0 is not an error * src/main/pa_common.C: ! bugfix ^file::load[mode;name;$.offset $.limit] now work again [support was broken in 3.1.4] * src/lib/gd/gif.C: ! fixed image.fill, not it does not depend on line-width [was refusing to fill if line-width >1, thanks to Seras for repro case 2005-04-25 paf * src/types/pa_vdate.h: ! getenv("TZ")==0? TZ environment restored correctly 2005-04-19 paf * src/types/pa_vdate.h: bugfix: initial $date.TZ is 0, that results in VString violating invariant!! * src/types/pa_vdate.h: bugfix: TZ now restored after roll if were getenv("TZ")==null 2005-04-08 paf * src/main/pa_charset.C: bugfix: UTF8->one-byte-per-char-encoding bugfix: when there is no char in charset one byte produces 6 (ÿ <hash now regards _default * 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 * src/: lib/smtp/comms.C, main/pa_common.C: DONT_LINGER can cause subsequent failures though defined in .h * src/main/pa_common.C: comment on volatile * src/: include/pa_config_auto.h.in, main/pa_common.C: http: unix: alarm function were not used since the beginning due to stupid error [setsigjmp were not checked in configure.in] * src/main/pa_common.C: http: timeout setsockopt [if possible] on unix too * src/main/pa_common.C: http: exception status of send/recv errors change to most probable http.timeout * src/main/pa_common.C: win32: http connection $.timeout option now works [setsockopt on send/receive] 2004-12-08 paf * 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 2004-11-24 paf * src/classes/hash.C: hash: adding/cloning adds/clones _default now $hash[ $.a[1] $._default[def] ] #$hash2[^hash::create[$hash]] $hash2[^hash::create[]] ^hash2.add[$hash] $hash2.shit 2004-11-12 paf * src/types/pa_vmail.C: bugfix: mail:send[$.date[]] were ignored [since 3.0.4] 2004-11-09 paf * src/targets/cgi/parser3.C: debug: PA_DEBUG_CGI_ENTRY_EXIT if on, writes basics to c:\parser3.log 2004-10-21 paf * src/classes/xnode.C: bugfix: xnode.getAttribute[NS] now return tainted strings [were returning clean onces] 2004-10-15 paf * src/types/pa_vdouble.h: bugfix: ^for[i](1;1.5){} << did two cycles(i=1; i=2), which was wrong, now does ONE 2004-10-12 paf * etc/parser3.charsets/windows-1251.cfg: euro promille +/- 2004-10-07 paf * 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 short form] * src/lib/cord/cordbscs.c: debugger help: CORD_dump now dumpts \t\r\n as @#| and truncates long char sequences less 2004-10-06 paf * src/: include/pa_socks.h, main/pa_common.C, main/pa_socks.C: win32 beauty: socket errors properly decoded 2004-10-05 paf * src/: include/pa_request.h, main/pa_request.C: bugfix: request::configure_user/admin done always, even if no file-to-process useful in @unhandled_exception [say, if they would want to mail by SMTP something] * src/main/pa_request.C: bugfix: cookie(and mail:recieved) fills now performed prior to file loading [and @auto executing] thus making $cookie:value available in @auto and in @unhandled_exception when IIS is configured to run interpreter even if no file exist 2004-09-20 paf * src/main/pa_globals.C: libxml has bugs: it calls xmlMallocAtomic somewhere where it should have called xmlMalloc and it calls xmlFree when it should have not called it. inserted two workarounds: xmlMallocAtomic implemented as xmlMalloc, and xmlFree just ignored. put away a testcase, maybe someday libxml author would fix all that. until that day: we have SLOW garbage collecting when many xml objects are alive hint: do ^memory:compact[] before xdoc::create 2004-09-17 paf * src/classes/file.C: bugfix: file::cgi headers were lost [typo error from 3.0.8 version] 2004-09-14 paf * src/types/pa_vhashfile.C: bugfix: hashfile.clear deleted only part bugfix: hashfile.foreach iterated only part if hashfile were modified inside 2004-09-13 paf * src/main/pa_string.C: bugfix: $s[+008] ^eval($s) now parsed OK [were as octal] * 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: 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 * 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] * src/classes/xdoc.C: change: ^xdoc.string now outputted as-is [tainted as-is] * src/classes/mail.C: bugfix: typo error 2004-09-09 paf * src/main/pa_common.C: bugfix: loads headers with both \r\n and \n separators bugfix: loads header with endings \r\n\r\n and \n\n (bloody yandex.server) 2004-09-06 paf * src/main/pa_charset.C: bugfix: two-bytes invalid chars in TranscodeFromUTF8 considered valid. only >2bytes-long now %HH encoded 2004-09-01 paf * src/types/pa_vmail.C: change: multipart/mixed changed to multipart/related outlook express have no problems showing unrelated attachments. todo: someday figure out a way of multipart/mixed multipart/related text/html image/xxx application/octet-stream << true attachments * 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, 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, main/pa_common.C: beauty: less warnings * src/main/pa_common.C: beauty: do not bother with charset detection when ^file::load[binary 2004-08-27 paf * src/main/pa_common.C: hack: for yandex.server http server 2004-08-18 paf * src/main/pa_request.C: bugfix: Accept-Ranges: bytes when sending possibly-chunked response 2004-08-17 paf * src/classes/file.C: bugfix: $f[^file::load[;http://]] $f.content-type now = that of http response * src/classes/file.C: bugfix: $f[^file::load[;http://]] $f.content-type now = that of http response 2004-07-30 paf * 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, 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 * src/main/execute.C: beauty: simplified system exception handling 2004-07-29 paf * src/classes/table.C: bugfix: ^table.save[export.csv;$.separator[^;]] now works fine [separator were ignored, and \t used unconditionally] * src/types/Makefile.am: added vhash.c 2004-07-28 paf * src/: classes/date.C, classes/image.C, classes/math.C, lib/ltdl/ltdl.c, lib/pcre/pcre_parser_ctype.c, lib/smtp/comms.C, main/pa_common.C, targets/cgi/parser3.C, types/pa_vform.C, types/pa_vmail.C: bugfix: isspace((unsigned char)c) everywhere. failed on russian letters * 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 2004-07-27 paf * src/targets/cgi/parser3.vcproj: beauty: win32: globaloptimizations ON, release:mapfile ON todo: copy .mapfile from release somewhere [to help searching for unhandled system exceptions] * src/types/pa_vdate.h: check: for invalid datetime after temporary TZ shift * src/types/pa_vdate.h: bugfix: time checked not only at set_time but also in ctor 2004-07-26 paf * operators.ru.txt, 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: 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.. * src/: classes/file.C, include/pa_sapi.h, main/pa_common.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: patched: ^file:send by Victor Fedoseev todo: turn it to $response:download[ $.filename[filename] $.option[] ,, ] * src/classes/file.C: beauty: invalid mode thoroughly reported 2004-07-21 paf * src/types/pa_vmail.C: bugfix: too long header values now splitted to several lines were: header: vaaaaaaaaaaaalue now: header: vaaaaaa aaalue note: ms outlook[!express] shows only first 255 characters of subject 2004-07-15 paf * src/main/pa_os.C: bugfix: locks now compiled in [were mistakenly off] 2004-07-14 paf * src/classes/table.C: bugfix: $.bind values now got untainted according to lang [were: as-is] 2004-07-07 paf * src/classes/op.C: bugfix: cache with 2 params caused assertion, checked that * src/main/pa_exec.C: 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: ok * parser3.vssscc: ...would not go unnoticed * 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. this form is quite noticable, and hopefully would not go noticed 2004-07-06 paf * src/main/pa_exec.C: bufix: on unix environment string now untainted according to their languages. were: as-is. on win32: ok 2004-07-01 paf * 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 '!' 2004-06-25 paf * src/types/pa_vhashfile.C: bugfix: hashfile deserialize accessed int on odd address [prev bugfix failed due to superwize optimizer, which turned memcpy into same 'ld' asm command] * src/types/pa_vhashfile.C: bugfix: hashfile deserialize accessed int on odd address 2004-06-22 paf * src/sql/pa_sql_driver.h: note: about possible optimization * operators.ru.txt, 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: 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, 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 /_bug.html?404;http://hpsv/test/ -------------------------------------------------------------------------------- $request:query IIS-STATUS=404&IIS-DOCUMENT=http://hpsv/test/ -------------------------------------------------------------------------------- IIS-STATUS="404" IIS-DOCUMENT="http://hpsv/test/" 2004-06-16 paf * src/targets/cgi/parser3.C: new: iis specific http://parser3/_bug.html?404;http://server/_bug.html?f=v now $request:query IIS-STATUS=404&IIS-DOCUMENT=http://server/_bug.html&f=v $form:fields IIS-STATUS="404" IIS-DOCUMENT="http://server/_bug.html" f="v" todo: isapi too 2004-05-26 paf * src/include/pa_version.h: 3.1.3 * operators.ru.txt, operators.txt: beauty: removed outdated level 'table' * etc/parser3.charsets/x-mac-cyrillic.cfg: added: thanks to konst * src/main/pa_string.C: beauty: removed 3 warnings * src/: include/pa_string.h, classes/table.C, main/untaint.C, classes/op.C: beauty: removed outdated level 'table' 2004-05-25 paf * src/lib/sdbm/apr_file_io.C: bugfix: bad seek wrapper implementation. mistery: how anything worked * src/sql/pa_sql_driver.h: beauty: param renamed and comment changed, it is now safe to use url if pointers to it are stored to gc mem * src/: main/pa_exec.C, types/pa_vhashfile.C: bugfix: hashfile unknown errors reported and not cause SIGSEGV now 2004-05-24 paf * 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 speedup/reduce mem usage were forgotten, and were used stupid CORD_chars * src/include/pa_config_auto.h.in: bugfix: bigendian check added * src/include/: pa_config_fixed.h, pa_string.h: bugfix: on BIGENDIAN processors space-conserving mech failed, causing SIGSEGV/SIGBUS and SAPI::abort("unknown untaint lang#%d", (1|2|3)); 2004-05-14 paf * 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, 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, 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 * src/classes/date.C: merged: beauty: unused var removed * src/classes/date.C: beauty: unused var removed * src/include/: pa_exec.h: bugfix: interface without pointer provoked bug 2004-04-09 paf * src/types/pa_vform.C: merge: bugfix: form:imap were incorrect * src/types/pa_vform.C: bugfix: form:imap were incorrect 2004-04-08 paf * src/classes/date.C: new: ^date::create[y-m-d h-M-s>>.milliseconds<<] now allowed, ignored so far * src/main/pa_xml_io.C: merged: bugfix /etc/xml/catalog * src/main/pa_xml_io.C: bugfix: in safe mode -- disabled attempts to consult default catalog [usually, that file belongs to other user/group] 2004-04-06 paf * src/main/pa_common.C: beauty: gcc warning removed * src/main/: compile.tab.C, compile.y: bugfix: gcc refused to accept that trick, trying other * src/main/: compile.tab.C, compile.y: bugfix: step3 to fix explicit result problem * src/main/: compile.tab.C, compile.y: bugfix: step2 to fix explicit result problem * src/main/: compile.tab.C, compile.y: bugfix: step1 to fix explicit result problem * operators.ru.txt, operators.txt, src/classes/string.C: new: ^string.append[string] * 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 gethostbyname failed with such 'domains'] now checked properly, were: needless reverse/forward dns lookup * src/main/pa_common.C: bugfix: of 1.175 bugfix: http://i.p.a.ddress gethostbyaddr added [on some platforms gethostbyname failed with such 'domains'] now checked properly, were: needless reverse/forward dns lookup * 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.ru.txt, 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: new: @method[][result] means "no string output here", implemented part of that idea: compiler throws away string literal generation code. and barks nonwhitespace chars * operators.ru.txt, operators.txt: truth: removed comment about $ORIGIN 2004-04-05 paf * 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: merged with 3.1.3 * etc/parser3.charsets/x-mac-cyrillic.cfg: added: donated by Konstantin Tomashevitch [mailto:konst@design.ru] * src/doc/html2chm.cmd: beauty: no need in bg here * src/doc/sources2html.cmd: beauty: same window, in bg it interfered with FAR console * configure, configure.in: 3.1.3 * src/targets/isapi/parser3isapi.C: beauty: removed some warnings * src/main/pa_common.C: removed warning * src/include/pa_version.h: 3.1.3 2004-04-02 paf * src/main/pa_string.C: bugfix: $s[009] ^s.int[] now 9, were error * src/targets/cgi/parser3.C: new: CGI_PARSER_LOG env variable allows to specify where to put parser log file 2004-04-01 paf * src/classes/table.C: bugfix: bugfix: table::load last line without tab and enter were ignored * src/: include/pa_cache_managers.h, include/pa_globals.h, include/pa_socks.h, main/pa_cache_managers.C, main/pa_globals.C, main/pa_socks.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.def: bugfix: sql connections now are disconnected 2004-03-30 paf * src/classes/table.C: bugfix: table::load last line without tab and enter were ignored * src/classes/table.C: bufix: if last table lines were commented, gpfed * 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 * src/types/pa_vhashfile.C: bugfix: empty key on hashfile.get causes gpf * src/doc/: ClassExample1.dox, ClassExample2.dox, ClassExample3.dox, chmhelper.pl, class.dox, compiler.dox, doxygen.cfg, exception.dox, executor.dox, footer.htm, index.dox, memory.dox, methoded.dox, object.dox, string.dox, targets.dox, value.dox: translated to english 2004-03-25 paf * src/targets/isapi/parser3isapi.vcproj: beauty: one more parser3project dependency removed * src/main/: pa_cache_managers.C, pa_stylesheet_connection.C: bugfix: refused to compile without xml * src/types/pa_vform.C: beauty: removed warning * src/classes/classes.vcproj: merged bugfix: now all compiles in any folder [removed last ;) folder dependency] * src/classes/classes.vcproj: bugfix: now all compiles in any folder [removed last ;) folder dependency] * src/include/pa_version.h: release * src/lib/gd/gif.C: new: ^image.pixel(outof;bounds) now returns -1 * src/classes/table.C: beauty: comment& more meaningful error message * 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, main/pa_common.C: bugfix: ^image.polyline and http status line parsing checked number of columns in table [user reported an assert] * operators.ru.txt, operators.txt: example: on hashfile * 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: beauty: error messages removed duplicate "type(type)" in braces 2004-03-10 paf * operators.ru.txt, 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: new: refined solution to search-in-namespaces problem: $xdoc.search-namespaces.x[http://pif.design.ru/] $nodes[^xdoc.select[//x:second]] * operators.ru.txt, operators.txt, src/classes/xnode.C: new: xnode.select*[xpath expression][[NAMESPACES HASH]] allows to search for info in namespaces $nodes[^xdoc.select[//x:second][ $.x[http://pif.design.ru/] ]] 2004-03-09 paf * operators.ru.txt, operators.txt, src/main/pa_common.C: new: ^file::load[...][options] $.form[ !$.field1[string] !$.field2[^table::create{one_column_only^#0Avalue1^#0Avalue2}] ] !$.body[string] GET ?here notGET(POST, HEAD, others) in content-type: application/x-www-form-urlencoded todo: upload files ability * src/lib/cord/cordxtra.c: bugfix: CORD_pos were not fixed properly, done 2004-03-05 paf * operators.ru.txt, operators.txt, src/main/pa_common.C: new: file::load[;http:// GET/POST $.form[$.fields started, not tested yet todo:$.field[table] for multiple values * operators.ru.txt, operators.txt: new: http:// options $.user $.password basic authorization * src/main/pa_common.C: beauty: link to rtf added * operators.ru.txt, 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 * operators.ru.txt, operators.txt: new: pgsql option [like that recently added to oracle driver] ClientCharset=parser-charset << charset in which parser thinks client works * operators.ru.txt, 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 char! * etc/parser3.charsets/windows-1251.cfg: typo 2004-03-04 paf * src/main/pa_sql_driver_manager.C: speedup: charset lookups cached, sql transcoding now goes faster * operators.ru.txt, operators.txt: new: mysql option [like that recently added to oracle driver] ClientCharset=parser-charset << charset in which parser thinks client works * etc/parser3.charsets/: koi8-r.cfg, windows-1251.cfg: keyboard typo error * etc/parser3.charsets/: koi8-r.cfg, windows-1251.cfg: typograph chars commented 2004-03-03 paf * INSTALL: note: added on libgc on FreeBSD, thanks to Andrey N. Pazychev <135@ugtel.ru> and Goor 2004-03-02 paf * operators.ru.txt, operators.txt: new[update typo]: !^void.left(n) nothing !^void.right(n) nothing !^void.mid(p[;n]) nothing * operators.ru.txt, operators.txt, src/classes/void.C: new: !^void.left(n) nothing !^void.right(n) nothing !^void.pos(p[;n]) nothing * operators.ru.txt, 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.ru.txt, 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 2004-03-01 paf * src/targets/isapi/parser3isapi.C: new: apache module & isapi extension memory:compact befor processingrequest * operators.ru.txt, operators.txt, src/classes/hash.C: new: ^hash._keys[>>name<<] to call sole column of result * operators.ru.txt, operators.txt, src/classes/image.C, src/lib/gd/gif.C, src/lib/gd/gif.h: new: ^image.pixel(x;y)[(color)] get/set pixel color * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: beauty: image -- less checks [were ugly impl] * 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, types/pa_vxdoc.h: bugfix: boolean output options now have unified defaults [after transform indent/omit-xml-declaration/standalone 'default' erroreously meant 'true'] * src/main/pa_common.C: bugfix: http://i.p.a.ddress gethostbyaddr added [on some platforms gethostbyname failed with such 'domains'] * src/include/pa_config_auto.h.in: no select check, no define * src/classes/string.C: feature: ^string.trim both parameters may be empty-strings, meaning kind=both chars=whitespaces * src/lib/smtp/comms.C: bugfix: use SO_LINGER if no SO_DONTLINGER exist * src/classes/string.C: check: trim 'chars' must not be empty, exception if it is * src/classes/string.C: changed: ^string.trim [] << both, whitespaces [start|both|end] << kind, whitespaces [start|both|end;chars] full 2004-02-27 paf * operators.ru.txt, 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.ru.txt, operators.txt, src/classes/string.C, src/include/pa_string.h, src/main/pa_string.C: new method: ^string.trim[start|both|end[;chars]] default 'chars' -- whitespace chars started, only start works * src/main/compile.C: bugfix: line numbers after ^process{}[$.line(-10]] can be negative, allowed to print they as signed * src/main/untaint.C: speed: there's no \n chars in output [normally], so no need to optimize them they could be retrived from databases, though. but 1. should be replaced 2. if not optimized, no harm done * 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 mod_parser3] http://i2/tasks/edit/?id=4629451867179521923 * src/lib/smtp/smtp.h: bugfix: SMTP buffer overflow could allow malicious SMTP server to attack as by returning too long status responses http://i2/tasks/edit/?id=4629448401140924947 2004-02-26 paf * operators.ru.txt, operators.txt: 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) * operators.ru.txt, 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: 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) 2004-02-25 paf * etc/parser3.charsets/Makefile.am: bugfix: @sysconfdir@ used [were old @charsetsdir@ recently erased from configure.in] * src/classes/hash.C: feature: ^hash::sql{one colum result} now produces hash of column=>1 * src/lib/smtp/smtp.h: beauty: couple of #ifdef-s to compile even with incomplete errno constants set 2004-02-24 paf * src/lib/smtp/smtp.C: smtp on unix: authors of lib/smtp never read "man select" * src/main/pa_os.C: beauty: <0 better then ==-1 * src/lib/smtp/comms.C: smtp on unix: steps to work on unix * src/lib/smtp/: smtp.C: smtp on unix: steps to work on unix * src/classes/Makefile.am: smtp on unix: steps to work on unix * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: smtp on unix: steps to work on unix [extracted 'to'] * src/classes/mail.C: smtp on unix: steps to work on unix * src/lib/smtp/smtp.C: smtp on unix: compiled on win32 * src/: lib/smtp/Makefile.am, lib/smtp/comms.C, lib/smtp/smtp.C, lib/smtp/smtp.h, targets/cgi/Makefile.am: started porting smtp to unix [testing on solaris] 2004-02-20 paf * src/classes/xdoc.C: beauty: ugly code removed, thanks to egr for pointing that out * src/classes/xdoc.C: bugfix: * src/classes/xdoc.C: beauty: no submits. parser thought there were nameless empty file and $form:field got value of type 'file' * INSTALL: --without-threads * src/include/pa_sapi.h: 2004 2004-02-11 paf * 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, classes/mail.C, classes/math.C, classes/memory.C, classes/op.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_memory.h, include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, include/pa_request.h, include/pa_request_charsets.h, include/pa_request_info.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/smtp/comms.C, lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, 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_memory.C, main/pa_os.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.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/cgi/pa_threads.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, types/pa_junction.h, types/pa_method.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.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.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_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.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: 2004 * src/main/pa_globals.C: beauty: typo caused gc.log warnings with debug version of gc.dll * src/: classes/classes.vcproj, lib/gd/gd.vcproj, lib/pcre/pcre.vcproj, lib/pcre/pcre_dftables.vcproj, lib/pcre/pcre_parser_ctype.vcproj, lib/sdbm/sdbm.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, types/types.vcproj: migrated to latest libxml[2.6.5] and libgdome[1.1.2] simplified lib build processes * src/: classes/classes.vcproj, lib/gd/gd.vcproj, main/main.vcproj, main/pa_globals.C, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, types/types.vcproj: continued changes to reflect libxml xsl new folders * src/: classes/classes.vcproj, lib/gd/gd.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, targets/cgi/parser3.vcproj, types/types.vcproj: continued changes to reflect libxml xsl new folders * src/: classes/classes.vcproj, lib/gd/gd.vcproj, lib/smtp/smtp.vcproj, main/main.vcproj, targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, types/types.vcproj: started changes to reflect libxml xsl new folders * ChangeLog, parser3.sln, src/classes/classes.vcproj, src/lib/gd/gd.vcproj, src/lib/smtp/smtp.vcproj, src/main/compile.tab.C, src/main/main.vcproj, src/main/pa_globals.C, src/targets/cgi/parser3.vcproj, src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj: started changes to reflect libxml xsl new folders 2004-02-10 paf * INSTALL: critical: libxslt1.1.2 wanted at least libxml2.6.3 to compile. recommened latest libxml up to date * INSTALL: critical: prior to 1.0.30 had bug: "a segfault on pattern compilation errors", on which spent 4 hours worktime. use versions higher than that. recommended now latest up to date 2004-02-06 paf * src/main/: pa_sql_driver_manager.C, pa_stylesheet_manager.C: beauty: unified destructing style * src/main/untaint.C: beauty: removed old def/ifdef * src/main/untaint.C: beauty: coredump @unknown untaint language now 2004-02-03 paf * src/: classes/image.C, main/pa_exec.C, main/pa_memory.C, targets/isapi/parser3isapi.C, types/pa_value.C, types/pa_vcookie.C: beauty: %u is more simple=proper for size_t then %ld/%lu * src/main/pa_common.C: typo: %l -> %u * src/classes/xdoc.C: bugfix: libxml: FOR UTF-8 TOO russian letters in attributes or documents-results of transform now not xx; * src/classes/xnode.C: memleaks found: not fixed yet. todo * src/main/pa_charset.C: bugfix: forgot to undo some * src/main/pa_charset.C: beauty: uncomment PA_PATCHED_LIBXML_BACKWARD to link with old patched libxml libraries 2004-02-02 paf * src/types/pa_vcookie.C: bugfix: erasing cookie: params now output $cookie:example[ $.value[value] $.path[/there/] ] $cookie:example[ $.value[] $.expires[session] $.path[/there/] $.domain[test.com] ] * src/types/pa_vform.C: bugfix: empty values with enctype=multipart/form-data now produce entries in $form:tables
$k[^form:fields._keys[]] ^eval($k)
$request:body

2004-01-30  paf

	* src/classes/xdoc.C: bugfix: libxml: russian letters in attributes
	  or documents-results of transform now not xx;

	* src/classes/date.C: bugfix: ^date::create[invalid fields now
	  produce exception.

	* src/: classes/date.C, include/pa_string.h, main/pa_string.C:
	  bugfix: ^date::create[invalid fields now produce exception.

	* ChangeLog, src/classes/date.C: bugfix: ^date::create[invalid
	  year] now produces exception. todo: check other fields

2004-01-29  paf

	* src/include/pa_memory.h: typo error

	* src/include/pa_memory.h: bugfix: [potential] strdup copied one
	  more byte then specified, then zeroed it << useless and
	  potentially harmful(could gpf)

2004-01-22  paf

	* src/classes/xdoc.C: bugfix: when stylesheet contains error, gpf

	* src/main/untaint.C: merged: bugfix from 3.1.1 on whitespace
	  optimization

	* src/main/untaint.C: bugfix: whitespace now optimized properly
	  [were bug: ^taint[1 & 2]="1 &2"

	* src/main/pa_globals.C: beauty: bigger buffer for xml-related
	  errors

	* src/main/pa_common.C: merged: bugfix from 3.1.1 on memory
	  overflow

	* src/main/pa_common.C: bugfix: buffer overflow * in libxml&xsl
	  error-reporting code * in parser-error reporting code [when no
	  @unhandled_exception defined]

	  fixed in one place: my *snprintf override

2004-01-13  paf

	* operators.ru.txt, operators.txt: typo erro

2003-12-25  paf

	* src/main/pa_common.C: bugfix: ^file::load[binary;http:// now not
	  garbled  [pieces after zero bytes were removed]

2003-12-22  paf

	* src/include/Makefile.am: bugfix: removed from dist:
	  src/include/pa_config_auto.h which were configured for
	  make-dist-platform and badly updated proper config file in target
	  [when .tar used for updating existing source tree]

	* ChangeLog, operators.ru.txt, operators.txt, src/classes/op.C,
	  src/include/pa_sql_connection.h,
	  src/include/pa_sql_driver_manager.h,
	  src/main/pa_sql_driver_manager.C, src/sql/pa_sql_driver.h:
	  feature: sql introducing ability to transcode charsets

2003-12-19  paf

	* src/main/pa_sql_driver_manager.C: beauty: more straighforward
	  error message

	* src/main/pa_charset.C: bugfix: memory for charsethandler
	  structure for libxml now allocated properly

2003-12-17  paf

	* src/types/pa_vfile.C: beauty: removed outdated cast

	* src/main/pa_common.C: bugfix: empty http response caused gpf

	* src/include/pa_string.h: bugfix: removed too strong a assert

	* src/main/pa_globals.C: bugfix: removed false warning [warning:
	  unreported xmlGenericErrors]

2003-12-15  paf

	* src/classes/xdoc.C: bugfix: taint uri under ^xdoc::create{now
	  works}

2003-12-11  paf

	* operators.ru.txt, operators.txt, src/types/pa_vstatus.C:
	  !$status:pid process id
	      !$status:tid thread id

	* src/: include/pa_cache_managers.h, main/pa_cache_managers.C,
	  main/pa_globals.C, main/pa_request.C, types/pa_vstatus.C:
	  bugfix(solaris): removed dependency on object initialization
	  order [one more place]

	* src/: classes/file.C, classes/mail.C, classes/op.C,
	  classes/xdoc.C, main/pa_request.C, types/pa_vimage.C,
	  types/pa_vmath.C, types/pa_vstatus.C: beauty cancel: gcc does not
	  understand that

	* src/: classes/file.C, classes/mail.C, classes/op.C,
	  classes/xdoc.C, include/pa_cache_managers.h,
	  include/pa_sql_connection.h, include/pa_sql_driver_manager.h,
	  include/pa_stylesheet_manager.h, main/pa_request.C,
	  main/pa_stylesheet_manager.C, types/pa_vimage.C,
	  types/pa_vmath.C, types/pa_vstatus.C: beauty: removed redundant
	  ctor call [relying on implicit String::Body(cstr) call]

	* src/main/: pa_cache_managers.C, pa_sql_driver_manager.C,
	  pa_stylesheet_manager.C: bugfix(solaris): removed dependency on
	  object initialization order [two places]

2003-12-10  paf

	* src/include/pa_sql_connection.h: bugfix: $status:sql.cache back
	  << time now ok

	* operators.ru.txt, operators.txt,
	  src/main/pa_sql_driver_manager.C,
	  src/main/pa_stylesheet_manager.C: $status:stylesheet.cache back
	  operational

	* ChangeLog, operators.ru.txt, operators.txt, src/classes/xdoc.C,
	  src/include/pa_charset.h, src/include/pa_sql_connection.h,
	  src/main/pa_charset.C, src/main/pa_sql_driver_manager.C,
	  src/main/pa_string.C, src/types/pa_vxdoc.h: $status:sql.cache
	  back operational

2003-12-02  paf

	* src/types/pa_vmail.C: bugfix:
	  ^mail:send[$.file[$.value[>>xxxx<<]] now untaints properly [were:
	  as-is forced]

	* src/main/pa_xml_io.C: bugfix: on some platforms one can't throw
	  exceptions out of libxml callbacks: reimplemented error handling
	  of http://localhost, parser://method and safemode check callbacks

	* src/main/pa_string.C: bugfix: SPARC gpf on %4!=0 address int ref
	  [merged from HEAD]

	* src/classes/image.C: nothing: comment removed

	* src/main/pa_string.C: bugfix: sparc gpf on reading %4!=0
	  addresses to int

2003-12-01  paf

	* src/main/pa_xml_io.C: bugfix: typo

	* src/main/pa_globals.C: bugfix: win32: compile prob

	* src/classes/xdoc.C: bugfix: typo

	* src/main/pa_xml_io.C: todo: safe mode check not to throw
	  exception

	* src/main/pa_xml_io.C: bugfix: http://localhost typo error

2003-11-28  paf

	* src/main/pa_xml_io.C: installed safe-mode checker as filter of
	  all xml documents read

	* src/main/pa_xml_io.C: http://localhost/ now checked for safe mode

	* src/: classes/xdoc.C, include/pa_stylesheet_connection.h,
	  include/pa_stylesheet_manager.h, main/pa_stylesheet_manager.C:
	  replaced original open mech of xdoc::create & co to use libxml
	  open, so that this would work for root document todo: safe mode
	  checks to libxml: ideally to some 1 point

	* src/main/pa_xml_io.C: comment

	* operators.ru.txt, operators.txt, src/main/pa_xml_io.C: leading /
	  in http://parser[abscent params]

	* operators.ru.txt, operators.txt, src/include/pa_request.h,
	  src/main/pa_xml_io.C: works.	todo: maybe replace original open
	  mech of xdoc::create & co to use libxml open, so that this would
	  work for root document

	  $xdoc[^xdoc::create{     &test^;  }]

	  ^taint[^xdoc.string[]]

	  @method[param] 

2003-11-27  paf

	* src/main/pa_xml_io.C: libxml: started parser://methodcall/params

	* src/classes/date.C: bugfix: typo error

2003-11-26  paf

	* operators.ru.txt, operators.txt, src/include/Makefile.am,
	  src/include/pa_globals.h, src/main/Makefile.am,
	  src/main/main.vcproj, src/main/pa_globals.C,
	  src/main/pa_request.C, src/include/pa_xml_io.h,
	  src/main/pa_xml_io.C: simplification: xml errors to
	  hash reorganization: xml io moved  to
	  pa_xml_io.C/h

	* src/types/pa_value.h: warnings: --

2003-11-25  paf

	* src/classes/table.C: bugfix: wrong sequence. [sadly no waring
	  whatever)

	* src/classes/table.C: bugfix: a, c?x:y, z in gcc considered(?) as
	  a, (c?x:y, z)

	* src/main/untaint.C: bugfix: consequences of not reading this
	  comment: CORD_pos_chars_left /* Number of characters in cache.
	  <= 0 ==> none    */

	* src/include/pa_array.h: removed needless checks

2003-11-24  paf

	* src/: main/pa_request.C, types/pa_vform.C, types/pa_vform.h:
	  removed limit: now $form:xxx can be accessed anytime, even in
	  @auto/conf [and request/response:charset still can be changed
	  anytime]

	* src/main/pa_common.C: bugfix: ^file::load[binary;http://...]
	  now not transcodes response body

	* operators.ru.txt, operators.txt, src/types/pa_vxnode.C,
	  src/types/pa_vxnode.h: $xdoc[^xdoc::create[test]]
	  $tn[^xdoc.createTextNode[text node value]]
	  $dummy[^xdoc.firstChild.appendChild[$tn]]
	  $xdoc.firstChild.firstChild.nodeValue[different]
	  ^taint[^xdoc.string[]]

	* src/: include/pa_hash.h, types/types.vcproj: linker HPUX nongnu
	  workaround: static Hash::allocates -> static Hash_allocates

2003-11-21  paf

	* Makefile.am, configure, configure.in, src/classes/Makefile.am,
	  src/include/pa_config_auto.h.in, src/targets/cgi/Makefile.am,
	  src/types/Makefile.am: rearrange: gd&smtp moved to src/lib

	* src/classes/classes.vcproj: rearrange: gd&smtp moved to src/lib

	* src/classes/mail.C: bugfix: typo

	* parser3.sln, src/classes/Makefile.am, src/lib/Makefile.am,
	  src/lib/gd/Makefile.am, src/lib/gd/gd.vcproj, src/lib/gd/gif.C,
	  src/lib/gd/gif.h, src/lib/gd/gifio.C, src/lib/gd/mtables.h,
	  src/lib/smtp/Makefile.am, src/lib/smtp/comms.C,
	  src/lib/smtp/smtp.C, src/lib/smtp/smtp.h,
	  src/lib/smtp/smtp.vcproj: rearrange: gd&smtp moved to src/lib

	* src/main/pa_exec.C: bug in safe mode

	* src/include/Makefile.am: pa_xml_exception.h

	* src/targets/isapi/parser3isapi.C: more warnings --

2003-11-20  paf

	* src/: classes/math.C, classes/op.C, classes/string.C,
	  main/pa_charset.C, main/pa_dictionary.C, main/pa_string.C,
	  types/pa_value.C, main/pa_dir.C, main/pa_table.C: more warnings
	  --

	* src/: main/pa_charset.C, main/pa_string.C, types/pa_vxnode.C:
	  more warnings --

	* src/classes/xdoc.C: more warnings --

	* src/classes/: date.C, image.C, xdoc.C: more warnings --

	* src/: main/pa_sql_driver_manager.C, main/untaint.C,
	  types/pa_vcookie.C, types/pa_vmail.C: more warnings --

	* src/: classes/date.C, classes/file.C, classes/hash.C,
	  classes/image.C, classes/mail.C, classes/op.C, classes/string.C,
	  classes/table.C, include/pa_cache_managers.h,
	  include/pa_stylesheet_connection.h, main/pa_request.C,
	  types/pa_vdate.h, types/pa_vhashfile.C, types/pa_vimage.h,
	  types/pa_vmethod_frame.C, types/pa_vmethod_frame.h: more warnings
	  --

	* src/main/: execute.C, pa_request.C: old forgotten todo: when
	  can't report problem (undefined @unhandled_exception) problem
	  source string were not reported

	* 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,
	  classes/mail.C, classes/math.C, classes/memory.C, classes/op.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_dictionary.h,
	  include/pa_dir.h, include/pa_exception.h, include/pa_exec.h,
	  include/pa_globals.h, include/pa_hash.h, include/pa_memory.h,
	  include/pa_opcode.h, include/pa_operation.h, include/pa_os.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, lib/md5/pa_md5.h, lib/md5/pa_md5c.c,
	  lib/sdbm/apr_file_io.C, lib/sdbm/apr_strings.C, main/compile.C,
	  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_memory.C, main/pa_os.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_stylesheet_manager.C, main/pa_table.C,
	  main/pa_uue.C, main/pa_xml_exception.C, main/untaint.C,
	  sql/pa_sql_driver.h, 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_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.h, types/pa_vdouble.h,
	  types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h,
	  types/pa_vform.C, types/pa_vform.h, 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.h,
	  types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C,
	  types/pa_vmath.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_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.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: static const char *
	  const IDENT

	* src/: include/pa_array.h, include/pa_pool.h,
	  include/pa_request.h, include/pa_string.h, include/pa_table.h,
	  main/compile_tools.h, main/pa_common.C, types/pa_vhash.h,
	  types/pa_wcontext.h: more warnings --

	* src/: classes/classes.vcproj, classes/date.C, classes/double.C,
	  classes/file.C, classes/hash.C, classes/hashfile.C,
	  classes/image.C, classes/int.C, classes/mail.C, classes/math.C,
	  classes/memory.C, classes/op.C, classes/string.C,
	  classes/table.C, classes/xdoc.C, classes/xnode.C,
	  include/pa_config_includes.h, include/pa_operation.h,
	  include/pa_sql_connection.h, include/pa_table.h,
	  include/pa_types.h, lib/ltdl/config_fixed.h,
	  lib/ltdl/ltdl.vcproj, lib/md5/md5.vcproj, lib/pcre/maketables.c,
	  lib/pcre/pcre_dftables.vcproj, lib/pcre/pcre_parser_ctype.vcproj,
	  lib/sdbm/apr_file_io.C, main/compile.tab.C, main/execute.C,
	  main/main.vcproj, main/pa_cache_managers.C, main/pa_charset.C,
	  main/pa_common.C, main/pa_dir.C, main/pa_exec.C,
	  main/pa_globals.C, main/pa_os.C, main/pa_request.C,
	  main/pa_string.C, main/pa_table.C, targets/cgi/parser3.vcproj,
	  targets/isapi/parser3isapi.vcproj, types/pa_value.h,
	  types/pa_vconsole.h, types/pa_vdate.h, types/pa_vfile.h,
	  types/pa_vhashfile.C, types/pa_vimage.C, types/pa_vimage.h,
	  types/pa_vmail.C, types/pa_vobject.C,
	  types/pa_vstateless_class.h, types/pa_vtable.C,
	  types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.h,
	  types/pa_vxnode.h, types/types.vcproj: turned on warnings level4
	  on all projects (except libltdl=off & libsdbm=level3) found
	  several unitialized vars

2003-11-19  paf

	* src/classes/op.C: more ansi C++ comp

	* operators.ru.txt, operators.txt, src/classes/op.C,
	  src/include/pa_request.h, src/main/pa_request.C:
	  ^cache[...]{body}{catch block with $exception.handled[cache]
	  meaning "get expired cache, if any. else error"}

	* src/: classes/op.C, include/pa_os.h, include/pa_request.h,
	  main/pa_common.C: cache: ^cache[] fallback todo: kinda ^try:
	  ^cache[...]{body}{catch code with $exception.cache field}

2003-11-12  paf

	* src/classes/xnode.C: replaceChild: 2nd param now named oldChild
	  [copy/paste bug]

2003-11-11  paf

	* src/types/: pa_value.h, pa_vfile.h: more C++ compatible [HP C++
	  failed]

2003-11-10  paf

	* src/types/pa_vconsole.h: flush

	* operators.ru.txt, operators.txt, src/main/pa_request.C,
	  src/types/Makefile.am, src/types/types.vcproj,
	  src/types/pa_vconsole.h: $console:line read/write  [for nntp]

	* operators.ru.txt, operators.txt: mysql: transaction support:
	  ?autocommit=0

	* operators.ru.txt, operators.txt: comment: updated

	* src/types/: pa_vhashfile.C, pa_vhashfile.h: add: hashfile old
	  serialize version and exipire now removes entries

	* operators.ru.txt, operators.txt: ^hashfile.delete[] removes files
	  altogether [and dir, if could]

	* src/: classes/hashfile.C, include/pa_common.h, main/pa_common.C,
	  types/pa_vhashfile.C, types/pa_vhashfile.h: ^hashfile.delete[]
	  removes files altogether [and dir, if could]

	* src/lib/sdbm/sdbm.c: bugfix: sdbm: .h said it's OK to remove
	  nonexistent pair. .c coded that that was error. fixed

	* src/types/pa_vhashfile.C: sdbm: exception type change to
	  file.access [regretfull can't split it to different exceptions
	  without modifying sdbm source wich would prefer not to]

2003-11-07  paf

	* src/: classes/date.C, classes/file.C, classes/hash.C,
	  classes/hashfile.C, classes/image.C, classes/table.C,
	  classes/xdoc.C, include/Makefile.am, include/pa_array.h,
	  include/pa_pool.h, include/pa_request.h, main/Makefile.am,
	  main/execute.C, main/main.vcproj, main/pa_pool.C,
	  main/pa_request.C, targets/cgi/parser3.C, types/pa_vclass.C,
	  types/pa_vclass.h, types/pa_vhashfile.h, types/pa_vobject.h,
	  types/pa_vstateless_class.h: resurrected: pool idea. now only for
	  destructing objects at request processing end

2003-11-06  paf

	* src/: classes/Makefile.am, types/Makefile.am: .am sdbm INCLUDES
	  updates

	* parser3.sln, src/targets/cgi/Makefile.am: .vcproj & .am updated
	  to include sdbm

	* src/include/: pa_config_includes.h, pa_version.h: our
	  replacements of max& co only for cpp

	* src/lib/sdbm/: Makefile.am, apr_file_io.C, apr_strings.C: move to
	  upper dir, .am updated

	* tests/todo.txt: hashfile: done

	* operators.ru.txt, operators.txt, src/types/pa_vhashfile.C:
	  hashfile: clear & expiration [time in value. todo: move time to
	  key]

	* src/types/pa_vhashfile.C: hashfile: foreach body can bodify $self

	* src/types/pa_vhashfile.C: hashfile: clear now works [were trying
	  to do that in foreach, no errors, but surely wrong]

	* operators.ru.txt, operators.txt, src/types/pa_vhashfile.C,
	  src/types/pa_vhashfile.h: hashfile: clear and proper locking

	* operators.ru.txt, operators.txt, src/classes/hash.C,
	  src/classes/hashfile.C, src/types/pa_vhashfile.C,
	  src/types/pa_vhashfile.h: hashfile: foreach

	* src/classes/hashfile.C, src/types/pa_vhashfile.C,
	  src/types/pa_vhashfile.h, operators.ru.txt, operators.txt:
	  hashfile: hash

	* operators.ru.txt, operators.txt, src/classes/hashfile.C,
	  src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
	  tests/todo.txt: hashfile: delete

	* src/: include/pa_memory.h, targets/cgi/parser3.C,
	  types/pa_value.C, types/pa_value.h, types/pa_vcookie.C,
	  types/pa_vhashfile.C, types/pa_vhashfile.h: hashfile implemented
	  get/put [raw]

	* src/: classes/op.C, main/pa_os.C: just linked

	* src/: classes/xdoc.C, classes/xnode.C, types/pa_vxnode.h:
	  XmlException changes

	* src/: include/pa_charset.h, include/pa_globals.h,
	  include/pa_stylesheet_connection.h, main/pa_exception.C:
	  XmlException changes

	* src/lib/sdbm/: sdbm.c, sdbm.vcproj: just compiled

	* src/: include/pa_common.h, include/pa_exception.h,
	  main/main.vcproj, main/pa_common.C, include/pa_os.h,
	  include/pa_xml_exception.h, main/pa_os.C, lib/sdbm/sdbm.vcproj,
	  main/pa_xml_exception.C: locking move to pa_os [along with
	  pa_sleep] apr-impl locking done

	* configure, configure.in, operators.ru.txt, operators.txt,
	  parser3.sln, src/classes/classes.vcproj, src/classes/hashfile.C,
	  src/classes/xdoc.C, src/include/pa_config_fixed.h,
	  src/include/pa_exception.h, src/include/pa_globals.h,
	  src/include/pa_memory.h, src/include/pa_version.h,
	  src/lib/ltdl/libltdl.vcproj, src/lib/ltdl/libltdl.vcproj.vspscc,
	  src/lib/ltdl/ltdl.vcproj, src/lib/ltdl/ltdl.vcproj.vspscc,
	  src/main/compile.tab.C, src/main/main.vcproj,
	  src/main/pa_charset.C, src/targets/cgi/parser3.vcproj,
	  src/types/Makefile.am, src/types/pa_vhash.C,
	  src/types/pa_vhashfile.C, src/types/pa_vhashfile.h,
	  src/types/pa_vxnode.h, src/types/types.vcproj: hashfile: started
	  again with sdbm from apache

2003-11-05  paf

	* src/: classes/classes.vcproj, include/pa_config_fixed.h,
	  main/main.vcproj, targets/cgi/parser3.vcproj: not has to be in
	  \parser3project dir anymore

	* src/main/pa_charset.C: bugfix: had broken binary search [copied
	  thoughtlessly from xalan]

	* src/lib/sdbm/: Makefile.am, sdbm.c, sdbm_hash.c, sdbm_lock.c,
	  sdbm_pair.c, sdbm_pair.h, sdbm_private.h, sdbm_tune.h: original
	  from httpd-2.0.43\srclib\apr-util\dbm\sdbm

	* src/main/helpers/CaseFolding.txt:
	  http://www.unicode.org/Public/UNIDATA/CaseFolding.txt

2003-11-04  paf

	* operators.ru.txt, operators.txt: comment: ^mail:send[$.options[

	* src/classes/table.C: compiled on unix

	* src/classes/Makefile.am: classes.C to rebuild last

	* src/classes/mail.C: compiled on unix

	* operators.ru.txt, operators.txt, src/classes/mail.C,
	  src/types/pa_vmail.C, src/types/pa_vmail.h:	  !^mail:send[
		  $.options[unix: string to append to sendmail command
	  line]

	* operators.ru.txt, operators.txt, src/classes/table.C,
	  src/main/pa_string.C, tests/todo.txt: ^table.save[...
	  $.separator[^#09]	     $.encloser["]  by default

	* operators.ru.txt, operators.txt, src/classes/table.C,
	  tests/todo.txt: ^table::load	       !$.separator[^#09]
	  !$.encloser["]  by default

2003-11-03  paf

	* operators.ru.txt, operators.txt, src/classes/table.C,
	  src/main/pa_common.C: ^table::load[; options:
	  !$.column-separator[^#09]	    !$.column-encloser["]

	* operators.ru.txt, operators.txt, src/include/pa_config_fixed.h,
	  src/types/pa_vrequest.C: $request:document-root

	* src/targets/cgi/parser3.C: beauty: SIGUSRX removed qs= printing
	  [already included into uri=xxx]

	* operators.ru.txt, operators.txt, src/classes/image.C,
	  tests/todo.txt: ^image.gif[filename] for $response:download

	* src/classes/date.C: minor precaution

	* operators.ru.txt, operators.txt, src/classes/date.C:
	  !^date::unix-timestamp()
	      !^date.unix-timestamp[]

2003-10-30  paf

	* operators.ru.txt, operators.txt, src/classes/date.C,
	  src/types/pa_vdate.h: merged from 3.0.8: ^date.roll[TZ;GMT]
	  $date.hour

	* src/classes/: date.C, image.C: improvement diagnostics:
	  $now[^date::create[$undefined]] now is error

	* src/main/pa_common.C: read errors would now be reported 'actually
	  read -1 bytes'

2003-10-24  paf

	* Makefile.am, src/classes/Makefile.am, src/lib/cord/Makefile.am,
	  src/lib/md5/Makefile.am, src/lib/pcre/Makefile.am,
	  src/main/Makefile.am, src/targets/cgi/Makefile.am,
	  src/targets/isapi/Makefile.am: .dsp/w -> .vcproj/sln

2003-10-22  paf

	* src/include/pa_request.h: fixed: $h[^hash::create[]] $$h[1]

2003-10-21  paf

	* operators.ru.txt, operators.txt, src/include/pa_string.h,
	  src/main/pa_string.C: fixed: string.match[g] without <'> option
	  produced columns with NULL's, which gpf'ed at table.save time

	* src/: classes/op.C, include/pa_request.h: fixed: false 'endless
	  recoursion' message with intensive throw-catches fixed: incorrect
	  name and line (one name upper then needed) in error message about
	  problems inside try block

2003-10-10  paf

	* src/: include/pa_string.h, main/compile.tab.C: CORD_chr does not
	  check offset argument for validity did that in String::Body::pos
	  myself http://i2/tasks/edit/?id=4577425257580789777

2003-10-07  paf

	* src/main/: compile.tab.C, compile.y: ^if ( better error:
	  .html(1:4): parse error, expecting `'['' or `'{'' or `'(''  now

2003-10-03  paf

	* parser3.sln, src/include/pa_dictionary.h,
	  src/main/pa_dictionary.C, src/main/pa_string.C,
	  src/targets/cgi/parser3.vcproj: dictionary optimized by
	  precalculating cstr&length

2003-10-02  paf

	* src/: classes/op.C, include/pa_request.h, include/pa_stack.h,
	  main/execute.C, main/pa_request.C, main/pa_sql_driver_manager.C,
	  main/pa_stylesheet_manager.C: bugfix: ^throw context were
	  saved/restored incompletely http://www.parser.ru/forum/?id=21484

2003-09-30  paf

	* src/main/pa_string.C: string::replace bug fix [were ignoring
	  occurrances after lang-mismatched

2003-09-29  paf

	* src/main/: utf8-to-lower.inc, utf8-to-upper.inc: generated by
	  helper

	* src/main/pa_string.C: string::serialize bug fix with
	  zero-terminator

	* src/classes/table.C: ^nameless_table.save column row now has no
	  \t at the end

	* src/: include/pa_request.h, main/execute.C, main/pa_request.C:
	  @postprocess	now takes $response:body/download

	* src/classes/form.C: better error message: MAX_POST_SIZE_NAME to
	  error message

	* src/classes/string.C: bugfix: s.right(>s.length) returned nothing

	* src/classes/table.C: bugfix: flip: must produce nameless
	  http://i2/tasks/edit/?id=4573405524674081244

	* src/: include/pa_charset.h, main/pa_charset.C, main/pa_string.C,
	  main/helpers/simple_folding.pl: utf-8 upper/lower

	* src/main/pa_common.C: bugfix: utf signature were not ignored due
	  to typo error http://i2/tasks/edit/?id=4573354650786434584

2003-09-26  paf

	* src/main/untaint.C: removed needless field

	* src/main/untaint.C: removed needless const

	* src/: include/pa_string.h, main/pa_common.C, main/pa_string.C:
	  String.for_each bug fixed [omited one-char cases]

	* src/include/pa_stack.h: bugfix: before collecting garbage,
	  runtime-executor stack were cleared... BADLY

	* src/main/pa_string.C: ^stirng.replace code used old
	  param-convention on langs.append, fixed that search fo the like,
	  found none

	* src/: classes/op.C, include/pa_string.h, main/pa_string.C:
	  string::serialize/deserialize implemented Language enum assigned
	  meaningful letters [more convinient for debugging. read warning
	  before adding/changing anything]

2003-09-25  paf

	* src/: include/pa_string.h, include/pa_version.h,
	  main/pa_string.C, main/untaint.C: templates and anonymous unions
	  differences on unix

	* parser3.sln, src/classes/file.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_cache_managers.h, src/include/pa_charset.h,
	  src/include/pa_charsets.h, src/include/pa_common.h,
	  src/include/pa_request.h, src/include/pa_sql_driver_manager.h,
	  src/include/pa_string.h, src/include/pa_stylesheet_manager.h,
	  src/include/pa_table.h, src/lib/cord/cordbscs.c,
	  src/lib/cord/cordprnt.c, src/lib/cord/cordxtra.c,
	  src/lib/cord/include/cord.h, src/main/compile.tab.C,
	  src/main/compile_tools.h, src/main/pa_charset.C,
	  src/main/pa_charsets.C, src/main/pa_common.C, src/main/pa_exec.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/untaint.C, src/types/pa_value.h, src/types/pa_vimage.C,
	  src/types/pa_vmail.C, src/types/pa_vmath.C,
	  src/types/pa_vstateless_class.h, src/types/pa_vstatus.C,
	  src/types/pa_vxnode.C: string_fragments_to_cord merged to HEAD

	* src/main/: compile.tab.C, pa_string.C: string: debug: .v()
	  functions aligned to that of eeparser3 look

	* src/lib/cord/cordprnt.c: removed warnings

2003-09-24  paf

	* src/: classes/file.C, classes/image.C, classes/mail.C,
	  classes/op.C, classes/xdoc.C, classes/xnode.C,
	  include/pa_cache_managers.h, include/pa_charset.h,
	  include/pa_charsets.h, include/pa_common.h, include/pa_request.h,
	  include/pa_sql_driver_manager.h, include/pa_string.h,
	  include/pa_stylesheet_manager.h, include/pa_table.h,
	  main/compile_tools.h, main/pa_charset.C, main/pa_charsets.C,
	  main/pa_common.C, main/pa_exec.C, main/pa_request.C,
	  main/pa_sql_driver_manager.C, main/pa_string.C,
	  main/pa_stylesheet_manager.C, main/untaint.C, types/pa_value.h,
	  types/pa_vimage.C, types/pa_vmail.C, types/pa_vmath.C,
	  types/pa_vstateless_class.h, types/pa_vstatus.C,
	  types/pa_vxnode.C: v() functions of String::Body,
	  String::Languages and String itself StringBody->String::Body

	* src/: include/pa_string.h, lib/cord/cordbscs.c,
	  lib/cord/include/cord.h: CORD_append_block showed no efficiency =
	  never optimized anything.  todo: somehow speed up harder cases:
	  concatenationA+concatenationB when last block of A and first of B
	  contain same letters

	* src/: include/pa_string.h, lib/cord/cordbscs.c,
	  lib/cord/include/cord.h: langs: speed up by joining adjucent
	  blocks of same char [CORD_append_block]

	* src/: include/pa_string.h, lib/cord/cordbscs.c,
	  lib/cord/include/cord.h, main/pa_string.C: aval/ works! todo:
	  save space by extending blocks when appending block with c ==
	  lastblock.c

	* src/: include/pa_string.h, main/pa_string.C: aval is not actually
	  working yet :( but more working &understood :)

	* src/: classes/table.C, include/pa_string.h,
	  lib/cord/include/cord.h, main/pa_string.C: aval/ works!

2003-09-23  paf

	* src/main/untaint.C: $a[ok!] $a works!

	* src/main/untaint.C: something even more works :)

	* src/: include/pa_string.h, main/pa_string.C, main/untaint.C:
	  something more works :)

	* src/: include/pa_string.h, lib/cord/cordbscs.c,
	  lib/cord/cordxtra.c: something already works :)

	* src/: include/pa_string.h, main/untaint.C: just compiled todo:
	  serialize&deserialize

	* src/: classes/table.C, include/pa_string.h, lib/cord/cordbscs.c,
	  lib/cord/cordxtra.c, lib/cord/include/cord.h, main/pa_string.C,
	  main/untaint.C: main idea implemented, details left

2003-09-22  paf

	* src/: classes/memory.C, include/pa_memory.h: #ifdef GC_DEBUG

	* src/classes/xnode.C: copy/paste comment bugfix

	* src/: include/pa_memory.h, main/pa_globals.C: when xml memory
	  allocator returns 0, just die.
	  http://i2/tasks/edit/?id=4570798492410259445

	* src/classes/xdoc.C: copy/paste comment bugfix

	* src/classes/: xdoc.C, xnode.C: new DOM2 methods from Alexandr
	  Egorov  (all?) xdoc: createAttributeNS createElementNS
	  xnode: getAttributeNS setAttributeNS removeAttributeNS
	  getAttributeNodeNS setAttributeNodeNS hasAttribute hasAttributeNS

	* src/lib/cord/cordxtra.c: CORD_pos bugfix [failed to find 8bit
	  chars due to bitwise operation signed-char error]

2003-09-19  paf

	* src/types/pa_wcontext.C: output message: more practical
	  suggestion

	* src/main/pa_common.C, operators.ru.txt, operators.txt: merged
	  $f[^file::load[binary;http://...]] $f.tables

2003-09-02  paf

	* src/main/pa_common.C: printf is buffered, write(1 is not. can't
	  flush stdout without referencing 'stdout' symbol. to hell with
	  non-ansi libraries without 'stdout' symbol

	* src/main/pa_common.C: got rid of 'stdout' symbol reference on
	  unix (users reported problems with some old libc)

	* src/types/pa_vdate.h: forgot initializer

2003-09-01  paf

	* src/: classes/date.C, include/pa_common.h, main/compile.tab.C,
	  main/pa_common.C, types/pa_vdate.h: $date.TZ ^date.roll[TZ;new
	  zone]

	* src/classes/image.C: memory handling bugs [unpatched 'new' calls]

2003-08-19  paf

	* src/types/: pa_value.C, pa_value.h, pa_vdate.h, pa_vrequest.C,
	  pa_vstring.h, pa_vxdoc.C, pa_vxnode.C: bark intefrace obsoleted,
	  simplified a little

	* src/types/: pa_vhash.C, pa_vhash.h: _default+foreach bug refix
	  [lost fix from 3.0.8]

	* src/types/pa_vcookie.C: in VC7 if(type var=xxx){ }else{   now
	  visible here }

	  bug fix

	* src/: include/pa_memory.h, types/pa_value.h: -= few warnings

	* src/main/compile.tab.C: initialized couple of variables about
	  which user reported runtime problems when parser were compiled
	  with VC7, warning level4.  study shows that later in bison
	  they've fixed that. would migrate to latest bison someday

	* src/types/pa_vmail.C: turned	off recoding in gmime (were still
	  recoding headers)

	* src/types/pa_vmail.C: works as before, same charset problems:
	  gmime recodes to UTF-8 only headers, not body. so not recoding
	  anything for now

	* src/types/: pa_vmail.C, pa_vmail.h: parses headers, still
	  problems with body

	* src/types/pa_vmail.C: mail_receive just compiled

2003-08-18  paf

	* src/: classes/classes.vcproj, include/pa_config_fixed.h,
	  main/main.vcproj, types/types.vcproj: win32: continued process
	  detaching from \parser3project directory

	* gnu.dsp, parser3.dsw, src/classes/classes.dsp,
	  src/lib/cord/cord.dsp, src/lib/ltdl/libltdl.dsp,
	  src/lib/md5/md5.dsp, src/lib/pcre/pcre.dsp,
	  src/lib/pcre/pcre_dftables.dsp,
	  src/lib/pcre/pcre_parser_ctype.dsp, src/main/main.dsp,
	  src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.dsp,
	  src/types/types.dsp: moved to MSVC 7

	* gnu.vcproj.vspscc, parser3.vssscc,
	  src/classes/classes.vcproj.vspscc,
	  src/lib/cord/cord.vcproj.vspscc,
	  src/lib/ltdl/libltdl.vcproj.vspscc,
	  src/lib/md5/md5.vcproj.vspscc,
	  src/lib/pcre/pcre_dftables.vcproj.vspscc,
	  src/lib/pcre/pcre_parser_ctype.vcproj.vspscc,
	  src/lib/pcre/pcre.vcproj.vspscc, src/main/main.vcproj.vspscc,
	  src/targets/isapi/parser3isapi.vcproj.vspscc,
	  src/types/types.vcproj.vspscc, src/targets/cgi/parser3.vcproj:
	  moved to MSVC 7

	* parser3.sln, gnu.vcproj, src/classes/classes.vcproj,
	  src/lib/cord/cord.vcproj, src/lib/ltdl/libltdl.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/main/main.vcproj,
	  src/targets/cgi/parser3.vcproj,
	  src/targets/isapi/parser3isapi.vcproj, src/types/types.vcproj:
	  new VS project files

	* ~sak5c961f3101c36563.tmp: Temporary file created by Visual Studio
	  .NET to detect Jalindi Igloo capabilities.

	* ChangeLog, configure, configure.in, src/classes/Makefile.am,
	  src/classes/classes.awk, src/doc/footer.htm,
	  src/include/pa_config_fixed.h, src/include/pa_version.h,
	  src/lib/Makefile.am, src/main/compile.tab.C,
	  src/main/pa_charset.C, src/main/pa_string.C, src/main/untaint.C,
	  src/types/pa_vmail.C: merged 3.1.0 latest changes

2003-08-15  paf

	* src/main/untaint.C: email addresses in forms:   "non-ascii" 
	  non-ascii  now encoded correctly [kinda merge from 3.0.8]

	* src/main/untaint.C: email addresses in forms:   "non-ascii" 
	  non-ascii  now encoded correctly

2003-07-29  paf

	* src/classes/: Makefile.am, classes.awk: classes.awk added to make
	  dist

	* src/types/pa_vmail.C: just started --with-mail-receive

2003-07-28  paf

	* src/: classes/Makefile.am, lib/Makefile.am: removed circular
	  dependence in src/classes, src/lib/gc now in dist

	* src/main/pa_string.C: ^cache bug fix [were not working at all]

2003-07-25  paf

	* src/doc/footer.htm: year

2003-07-24  paf

	* src/: include/pa_config_fixed.h, main/pa_charset.C: bad #endif
	  fix

	* src/include/pa_version.h: release

	* src/lib/gc/include/: Makefile.am, gc.h: moved tempate_gc to HEAD

	* ChangeLog, src/classes/classes.dsp, src/main/main.dsp,
	  src/main/pa_globals.C, src/targets/cgi/parser3.dsp,
	  src/targets/isapi/parser3isapi.dsp, src/types/types.dsp: cvs:
	  getting rid of win32xml pseudo project

	* src/main/: compile.tab.C, pa_memory.C: moved tempate_gc to HEAD

	* ChangeLog, INSTALL, Makefile.am, acsite.m4, configure,
	  configure.in, operators.ru.txt, operators.txt, parser3.dsw,
	  etc/parser3.charsets/koi8-r.cfg,
	  etc/parser3.charsets/windows-1251.cfg, src/classes/Makefile.am,
	  src/classes/classes.C, src/classes/classes.awk,
	  src/classes/classes.dsp, 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/memory.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/classes/xnode.h,
	  src/doc/exception.dox, src/doc/index.dox, src/doc/memory.dox,
	  src/doc/string.dox, src/include/Makefile.am,
	  src/include/pa_array.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_auto.h.in,
	  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_memory.h, src/include/pa_opcode.h,
	  src/include/pa_operation.h, src/include/pa_pool.h,
	  src/include/pa_pragma_pack_begin.h,
	  src/include/pa_pragma_pack_end.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_table.h,
	  src/include/pa_threads.h, src/include/pa_types.h,
	  src/include/pa_uue.h, src/lib/Makefile.am,
	  src/lib/cord/Makefile.am, src/lib/cord/cord.dsp,
	  src/lib/cord/cordbscs.c, src/lib/cord/cordprnt.c,
	  src/lib/cord/cordxtra.c, src/lib/cord/source.url,
	  src/lib/cord/include/Makefile.am, src/lib/cord/include/cord.h,
	  src/lib/cord/include/ec.h,
	  src/lib/cord/include/private/Makefile.am,
	  src/lib/cord/include/private/cord_pos.h, src/lib/gc/Makefile.am,
	  src/lib/ltdl/libltdl.dsp, src/lib/md5/pa_md5.h,
	  src/lib/md5/pa_md5c.c, src/lib/pcre/pcre.h,
	  src/lib/pcre/pcre_parser_ctype.c, src/main/Makefile.am,
	  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/main.dsp, src/main/pa_array.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_hash.C, src/main/pa_pool.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_manager.C, src/main/pa_table.C,
	  src/main/pa_uue.C, src/main/untaint.C, src/sql/pa_sql_driver.h,
	  src/targets/Makefile.am, src/targets/cgi/Makefile.am,
	  src/targets/cgi/getopt.c, src/targets/cgi/getopt.h,
	  src/targets/cgi/pa_pool.C, src/targets/cgi/pa_threads.C,
	  src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp,
	  src/targets/cgi/pool_storage.h, src/targets/cgi/pp3.cmd,
	  src/targets/isapi/Makefile.am, src/targets/isapi/pa_pool.C,
	  src/targets/isapi/pa_threads.C, src/targets/isapi/parser3isapi.C,
	  src/targets/isapi/parser3isapi.dsp,
	  src/targets/isapi/pool_storage.h, src/types/Makefile.am,
	  src/types/pa_junction.h, src/types/pa_method.h,
	  src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vbool.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_vdouble.h, 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_vimage.C, src/types/pa_vimage.h,
	  src/types/pa_vint.h, 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_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_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.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, src/types/types.dsp: moved tempate_gc to
	  HEAD

	* tests/: 001.html, 002.html, 003.html, 004.html, 005.html,
	  006.html, 007.html, 008.html, 009.html, 010.html, 011.html,
	  012.html, 013.html, 014.html, 015.html, 016.html, 017.html,
	  018.html, 019.html, 019paf2001.gif, 020.html, 021.html, 022.html,
	  023.html, 024.html, 025.html, 026.html, 027.html, 028.html,
	  029.html, 030.html, 031.html, 032.html, 033.html, 034.html,
	  035.html, 036.html, 037.html, 038.html, 039.html, 040.html,
	  041.html, 042.html, 043.html, 044.html, 045.html, 046.html,
	  047.html, 048.html, 049.html, 050.html, 051.html, 051b.p, 051t.p,
	  052.html, 053.html, 054.html, 055.html, 056.html, 057.html,
	  058.html, 058_paf2000.png, 059.html, 060.html, 061.dat, 061.html,
	  062.html, 063.html, 064.html, 065.html, 066.html, 067.html,
	  068.html, 069.html, 070.html, 071.html, 072.html, 073.html,
	  074.html, 075.html, 076.html, 077.html, 078.html, 079.html,
	  080.html, 081.html, 082.html, 083.html, 084.html, 085.html,
	  086.html, 087.html, 088.html, 089.html, 090.html, 091.html,
	  092.html, 093.html, 094.html, 095.html, 096.html, 097.html,
	  098.html, 098font.gif, 099.html, 100.html, 101.html, 102.html,
	  103.html, 103mark.gif, 103paf2001.gif, 104.html, 105.html,
	  106.html, 107.html, 108.html, 108.xsl, 109.html, 110.html,
	  111.html, 112.html, 113.html, 114.html, 115.html, 116.html,
	  117.html, 118.html, 119.html, 120.html, 121.html, 122.html,
	  123.html, 124.html, 125.html, 126.html, 127.html, 128.html,
	  129.html, 130.html, 131.html, 132.html, 133.html, 134.html,
	  135.html, 136.html, 137.html, 138.html, 139.html, 140.html,
	  141.html, Makefile, descript.ion, run_parser.sh, 022_dir/a.html,
	  022_dir/b.txt, 022_dir/c.htm, 096_dir/163.jpg, 096_dir/188.jpg,
	  outputs/create-dir, results/001.processed, results/002.processed,
	  results/003.processed, results/004.processed,
	  results/005.processed, results/006.processed,
	  results/007.processed, results/008.processed,
	  results/009.processed, results/010.processed,
	  results/011.processed, results/012.processed,
	  results/013.processed, results/014.processed,
	  results/015.processed, results/016.processed,
	  results/017.processed, results/018.processed,
	  results/019.processed, results/020.processed,
	  results/021.processed, results/022.processed,
	  results/023.processed, results/024.processed,
	  results/025.processed, results/026.processed,
	  results/027.processed, results/028.processed,
	  results/029.processed, results/030.processed,
	  results/031.processed, results/032.processed,
	  results/033.processed, results/034.processed,
	  results/035.processed, results/036.processed,
	  results/037.processed, results/038.processed,
	  results/039.processed, results/040.processed,
	  results/041.processed, results/042.processed,
	  results/043.processed, results/044.processed,
	  results/045.processed, results/046.processed,
	  results/047.processed, results/048.processed,
	  results/049.processed, results/050.processed,
	  results/051.processed, results/052.processed,
	  results/053.processed, results/054.processed,
	  results/055.processed, results/056.processed,
	  results/057.processed, results/058.processed,
	  results/059.processed, results/060.processed,
	  results/061.processed, results/062.processed,
	  results/063.processed, results/064.processed,
	  results/065.processed, results/066.processed,
	  results/067.processed, results/068.processed,
	  results/069.processed, results/070.processed,
	  results/071.processed, results/072.processed,
	  results/073.processed, results/074.processed,
	  results/075.processed, results/076.processed,
	  results/077.processed, results/078.processed,
	  results/079.processed, results/080.processed,
	  results/081.processed, results/082.processed,
	  results/083.processed, results/084.processed,
	  results/085.processed, results/086.processed,
	  results/087.processed, results/088.processed,
	  results/089.processed, results/090.processed,
	  results/091.processed, results/092.processed,
	  results/093.processed, results/094.processed,
	  results/095.processed, results/096.processed,
	  results/097.processed, results/098.processed,
	  results/099.processed, results/100.processed,
	  results/101.processed, results/102.processed,
	  results/103.processed, results/104.processed,
	  results/105.processed, results/106.processed,
	  results/107.processed, results/108.processed,
	  results/109.processed, results/110.processed,
	  results/111.processed, results/112.processed,
	  results/113.processed, results/114.processed,
	  results/115.processed, results/116.processed,
	  results/117.processed, results/118.processed,
	  results/119.processed, results/120.processed,
	  results/121.processed, results/122.processed,
	  results/123.processed, results/124.processed,
	  results/125.processed, results/126.processed,
	  results/127.processed, results/128.processed,
	  results/129.processed, results/130.processed,
	  results/131.processed, results/132.processed,
	  results/133.processed, results/134.processed,
	  results/135.processed, results/136.processed,
	  results/137.processed, results/138.processed,
	  results/139.processed, results/140.processed,
	  results/141.processed: merged(copied) to HEAD from template_gc

	* src/targets/: cgi/parser3.dsp, isapi/parser3isapi.dsp: more step
	  towards \parser3project not having to be in root

	* src/: classes/math.C, lib/md5/pa_md5.h, lib/md5/pa_md5c.c: apache
	  module compiled [were minor unnecessary changes in lib/md5
	  interface]

	* src/include/pa_version.h: release

	* parser3.dsw, src/main/pa_globals.C: relative paths to xml&gc libs

	* src/classes/math.C: merged uuid bugfix

	* tests/: 141.html, results/141.processed: fixed bug with
	  too-small-a-buffer

	* src/classes/math.C: uuid bugfix

	* tests/: 141.html, Makefile, results/005.processed,
	  results/030.processed, results/075.processed,
	  results/078.processed: to reflect date format change (were -
	  become ' ')

	* src/classes/math.C: uuid bugfix

	* parser3.dsw, src/main/pa_globals.C: few paths for libxml
	  debug/release changes

	* src/lib/md5/pa_md5c.c: PA_ -> pa_

2003-07-23  paf

	* src/: classes/math.C, lib/md5/pa_md5.h, lib/md5/pa_md5c.c:
	  renamed a little [to move to comman naming conv]

	* src/targets/Makefile.am: apache13 splitted to simplify apache
	  build

	* src/: include/pa_request.h, include/pa_stack.h, main/execute.C,
	  main/pa_request.C, main/pa_sql_driver_manager.C,
	  main/pa_stylesheet_manager.C, targets/isapi/parser3isapi.dsp:
	  stack top_index() fixed

	* src/main/pa_globals.C: minor style changes

	* src/: classes/op.C, include/pa_sql_connection.h: connection
	  closing/caching fixed [connections were not closed/put to cache]

2003-07-22  paf

	* INSTALL: gc part updated stightly

	* src/targets/isapi/: parser3isapi.C, parser3isapi.dsp: updated to
	  new sapi interface

	* src/classes/file.C: comment on OS

	* src/main/pa_string.C: removed reduntant invariant check [there is
	  one deeper in cord lib]

	* src/main/pa_exec.C: on win32 bugfix in handling shbang

	* src/main/pa_memory.C: out of memory is no longer coredump

	* INSTALL: disable-threads adviced

2003-07-21  paf

	* src/classes/Makefile.am: removed circular dependency on classes.C

	* src/classes/file.C: file::exec/cgi environment variables now must
	  be UPPERCASE and A-Z 0-9 _-

	* src/classes/file.C: env passing fixed

	* src/main/pa_common.C: http:// CRLF now [merged from HEAD]

	* src/main/pa_common.C: http:// CRLF now

2003-07-02  paf

	* operators.ru.txt, operators.txt, src/types/pa_vstatus.C: renamed
	  $memory:status fields to reflect their real meaning

2003-06-27  paf

	* src/: classes/file.C, include/pa_charset.h, include/pa_exec.h,
	  include/pa_hash.h, main/pa_charset.C: merged from HEAD
	  file::exec/cgi .charset

2003-06-26  paf

	* 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: fixed several uninitialized local
	  structures.  notably ^hash.foreach now inserts delimiters
	  properly [were inserting it before first body]

2003-06-24  paf

	* src/include/pa_hash.h: simplified HASH_ALLOCATES_COUNT

2003-06-20  paf

	* operators.ru.txt, operators.txt, src/include/pa_globals.h,
	  src/main/pa_common.C, src/main/pa_globals.C: introducing
	  $f[^file::load[binary;http://...]] $f.tables

2003-06-06  paf

	* src/types/: pa_vhash.h: $hash.field lookup first now: along with
	  table. [were method lookup: inconsistent]

2003-06-02  paf

	* src/include/pa_memory.h: empty string clone fixed to return
	  writable memory

	* src/main/pa_common.C: fix_line_breaks bug fix [terminating zero
	  were not appended] which violated string invariant

2003-05-30  paf

	* src/types/pa_value.C: date format now Sun, 06 Nov 1994 08:49:37
	  GMT  ; RFC 822, updated by RFC 1123 [as in HEAD]

	* src/main/pa_common.C: date format now Sun, 06 Nov 1994 08:49:37
	  GMT  ; RFC 822, updated by RFC 1123

	* src/: classes/file.C, classes/form.C, targets/cgi/parser3.C,
	  targets/isapi/parser3isapi.C: initialized request_info properly

	* src/classes/xnode.C: found minor bug, commended for future

2003-05-28  paf

	* src/classes/form.C: request_info.content_length can't be <0,
	  size_t for some time

2003-05-26  paf

	* src/: classes/file.C, classes/string.C, main/pa_string.C: few
	  forgotten <0 changed to !=STRING_NOT_FOUND

	* src/classes/math.C: merged ffffu from HEAD

2003-05-11  paf

	* src/main/pa_globals.C: xml memory debugging functions (ifdefed)

	* src/types/: pa_vxdoc.h, pa_vxnode.h: think that found cause of
	  premature doc free.  transformed document had xmlDoc reference
	  stored to non-gc-memory (libgdome) added holding-reference

2003-04-29  paf

	* src/main/pa_globals.C: started digging on double free.  on win32
	  found that that's perfectly normal.

2003-04-25  paf

	* src/classes/table.C: table.join bug fix  [bad limit check]

	* src/classes/math.C: merged from HEAD: simpiler hash_string

	* src/classes/math.C: snprintf(buf, 3) become (buf,2) and failed to
	  print anything.  changed to quicker and simplier code

	* src/classes/hash.C: allowed ^hash::create[^rem{xxx}]	 [were to
	  strict a check]

	* src/: classes/table.C, lib/md5/pa_md5c.c: minor compile errors

2003-04-24  paf

	* src/include/pa_table.h: too strict assert loosened

	* src/lib/: md5/pa_md5c.c, pcre/pcre.h: thanks to Ilia Soldis
	   for reporing this ansi c fiolation syntax
	  report

2003-04-21  paf

	* src/targets/cgi/Makefile.am: pp3 added to .am

	* src/main/pa_globals.C: pcre memory management changed to use GC
	  memory

	* src/main/pa_globals.C: 2.5.6 version of libxml allows to install
	  xmlMallocAtomic [author agreed to my suggestion], used that

	* src/types/pa_vmail.C: ^mail:send[$.body backward compatibility

	* src/: targets/cgi/parser3.C, types/pa_value.C, types/pa_value.h,
	  types/pa_vmail.C: attributed_meaning_to_string added
	  L_UNSPECIFIED piece which was sortof OK, but violated string
	  invariant [assertion barked on that] changed to L_PASS_APPEND,
	  made that param obligatory

	* src/main/pa_string.C: String::ArrayFragment::append_positions bug
	  fixed [assert helped]

	* src/include/pa_string.h: assert added [looking for bug]

	* src/main/pa_request.C: merged from HEAD: "x:..." and "\\..." file
	  names on Win32 considered disk-global

	* src/main/pa_request.C: "x:..." and "\\..." file names on Win32
	  considered disk-global

2003-04-18  paf

	* src/main/untaint.C: merged from HEAD: enabled '~' letter in
	  filenames

	* src/main/untaint.C: enabled '~' letter in filenames

2003-04-16  paf

	* src/classes/file.C: small bug introduced in autoptr times fixed

	* etc/parser3.charsets/: koi8-r.cfg, windows-1251.cfg: merged from
	  HEAD

	* src/classes/table.C: fix: gcc reported tiny error

2003-04-15  paf

	* operators.ru.txt, 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: merged from head ^math:uuid[]
	  ^math:uid64[] ^math:md5[string]

	  test added: 141.html

	* operators.ru.txt, operators.txt, src/classes/math.C:
	  ^math:uid64[]

	* src/classes/math.C: ^math:uuid[]

	* operators.ru.txt, operators.txt, src/classes/math.C: ^math:uuid[]

	* operators.ru.txt, operators.txt, src/classes/math.C,
	  src/lib/md5/pa_md5.h, src/lib/md5/pa_md5c.c: ^math:md5[string]
	  16-byte digest

	* operators.ru.txt, operators.txt, src/classes/file.C,
	  src/include/pa_common.h, src/include/pa_config_fixed.h,
	  src/main/pa_common.C: ^file::load[mode;name;	   $.offset
	  $.limit

2003-04-14  paf

	* src/: classes/math.C, lib/md5/pa_md5.h, lib/md5/pa_md5c.c:
	  started ^math:md5

	* src/classes/table.C, src/include/pa_array.h,
	  src/include/pa_table.h, src/main/pa_table.C, tests/140.html,
	  tests/results/140.processed: table $.reverse option works in
	  create&co table $.distinct[tables] bug fix merged

	* src/: classes/table.C, include/pa_table.h: table
	  $.distinct[tables] bug fixed

	* src/classes/table.C: more warnings

	* 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
	  table::locate

2003-04-11  paf

	* operators.ru.txt, 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_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: merged from HEAD from
	  before_append_array_limit_sense_change to
	  after_append_array_limit_sense_change

	* src/classes/table.C: typo

	* operators.ru.txt, 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,

	* src/classes/: table.C: typo

	* tests/: 130.html, 131.html, 132.html, 133.html, 134.html,
	  135.html, 136.html, 137.html, 138.html, 139.html, descript.ion,
	  results/130.processed, results/131.processed,
	  results/132.processed, results/133.processed,
	  results/134.processed, results/135.processed,
	  results/136.processed, results/137.processed,
	  results/138.processed, results/139.processed: added few mustfail
	  tests 130.html mustfail: empty regexp 131.html mustfail: invalid
	  date/time 132.html mustfail: access to junction outside of
	  context 133.html mustfail: access to junction outside of context,
	  case version 134.html mustfail: hash: adding a key inside of
	  foreach 135.html mustfail: modifying system class 136.html
	  mustfail: $.name outside of $hash[here] 137.html mustfail:
	  appendChild without import 138.html mustfail: invalid encoding
	  inside of xml 139.html mustfail: bad XPath

	* operators.ru.txt, operators.txt, src/classes/table.C,
	  tests/084.html, tests/125.html, tests/126.html, tests/127.html,
	  tests/128.html, tests/129.html, tests/results/125.processed,
	  tests/results/126.processed, tests/results/127.processed,
	  tests/results/128.processed, tests/results/129.processed: merged
	  from HEAD ^table.hash[key][$.distinct[tables]]

	  maked appropriate tests [changed one old nonconforming]

	* operators.ru.txt, operators.txt, src/classes/table.C:
	  ^table.hash[key][$.distinct[tables]]

	* src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h:
	  merged fix for found very old xml (dom) bug: were passing
	  domString objects and later ERROREOUSLY freed them

	* INSTALL, src/include/pa_charset.h, src/lib/Makefile.am,
	  src/main/pa_charset.C: re-added libgdome patch. regretfully
	  libgdome bug can not be worked around

2003-04-10  paf

	* src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h:
	  found very old xml (dom) bug: were passing domString objects and
	  later ERROREOUSLY freed them

	* src/doc/string.dox, src/include/pa_memory.h,
	  src/include/pa_string.h, src/lib/cord/cordbscs.c,
	  src/main/pa_string.C, src/types/pa_vform.C, src/types/pa_vform.h,
	  tests/123.html, tests/124.html, tests/results/001.processed,
	  tests/results/002.processed, tests/results/003.processed,
	  tests/results/004.processed, tests/results/005.processed,
	  tests/results/006.processed, tests/results/008.processed,
	  tests/results/009.processed, tests/results/010.processed,
	  tests/results/011.processed, tests/results/012.processed,
	  tests/results/013.processed, tests/results/014.processed,
	  tests/results/015.processed, tests/results/016.processed,
	  tests/results/017.processed, tests/results/018.processed,
	  tests/results/020.processed, tests/results/021.processed,
	  tests/results/022.processed, tests/results/023.processed,
	  tests/results/024.processed, tests/results/025.processed,
	  tests/results/026.processed, tests/results/027.processed,
	  tests/results/028.processed, tests/results/029.processed,
	  tests/results/030.processed, tests/results/031.processed,
	  tests/results/032.processed, tests/results/033.processed,
	  tests/results/034.processed, tests/results/035.processed,
	  tests/results/036.processed, tests/results/037.processed,
	  tests/results/038.processed, tests/results/039.processed,
	  tests/results/040.processed, tests/results/041.processed,
	  tests/results/042.processed, tests/results/043.processed,
	  tests/results/044.processed, tests/results/045.processed,
	  tests/results/046.processed, tests/results/047.processed,
	  tests/results/048.processed, tests/results/049.processed,
	  tests/results/050.processed, tests/results/051.processed,
	  tests/results/052.processed, tests/results/053.processed,
	  tests/results/054.processed, tests/results/055.processed,
	  tests/results/056.processed, tests/results/057.processed,
	  tests/results/058.processed, tests/results/059.processed,
	  tests/results/060.processed, tests/results/061.processed,
	  tests/results/062.processed, tests/results/063.processed,
	  tests/results/064.processed, tests/results/065.processed,
	  tests/results/066.processed, tests/results/067.processed,
	  tests/results/068.processed, tests/results/069.processed,
	  tests/results/070.processed, tests/results/071.processed,
	  tests/results/072.processed, tests/results/073.processed,
	  tests/results/074.processed, tests/results/075.processed,
	  tests/results/076.processed, tests/results/077.processed,
	  tests/results/078.processed, tests/results/079.processed,
	  tests/results/080.processed, tests/results/081.processed,
	  tests/results/082.processed, tests/results/083.processed,
	  tests/results/084.processed, tests/results/085.processed,
	  tests/results/086.processed, tests/results/087.processed,
	  tests/results/088.processed, tests/results/089.processed,
	  tests/results/090.processed, tests/results/091.processed,
	  tests/results/092.processed, tests/results/093.processed,
	  tests/results/094.processed, tests/results/095.processed,
	  tests/results/096.processed, tests/results/097.processed,
	  tests/results/101.processed, tests/results/102.processed,
	  tests/results/104.processed, tests/results/105.processed,
	  tests/results/106.processed, tests/results/107.processed,
	  tests/results/108.processed, tests/results/109.processed,
	  tests/results/110.processed, tests/results/111.processed,
	  tests/results/112.processed, tests/results/113.processed,
	  tests/results/114.processed, tests/results/115.processed,
	  tests/results/116.processed, tests/results/117.processed,
	  tests/results/118.processed, tests/results/119.processed,
	  tests/results/120.processed, tests/results/121.processed,
	  tests/results/122.processed, tests/results/123.processed,
	  tests/results/124.processed: new convention: char* never 0.
	  assert in cord on that

	* src/main/pa_charset.C: couple more asserts

	* src/: main/pa_charset.C, include/pa_charset.h: little transcodes
	  speedup

	* src/main/pa_charset.C: couple assertions on fantastic situations
	  added [may be those is the case now?]

	* src/main/pa_charset.C: bugfix on memory buffer overrun [but
	  that's memory from gc_malloc, not from g_malloc :(, but would
	  hope]

	* src/main/pa_charset.C: bugfix on memory buffer overrun [but
	  that's memory from gc_malloc, not from g_malloc :(, but would
	  hope]

	* src/main/pa_charset.C: checked custom malloc for returning 0

2003-04-09  paf

	* src/classes/date.C: merged ^date.roll changes

	* src/classes/date.C: ^date.roll bug fix

	* src/classes/date.C: ^date.roll now throws less errors: month
	  shifts handles end of month situation by reducing day number
	  hour-hole shift reduces hour to recover

	* src/targets/cgi/pp3.cmd: custom profiling script: plist/ST <<
	  Sort by function time

	* operators.ru.txt, operators.txt, src/main/pa_charset.C,
	  src/main/pa_common.C: http://   $.charset[] param done

	* tests/: 122.html, results/122.processed: 122 date test <= and ==
	  added [after volatile fix. passes on win&intel-solaris]

2003-04-08  paf

	* src/: classes/file.C, classes/op.C, classes/table.C,
	  classes/xdoc.C, include/pa_charset.h, include/pa_charsets.h,
	  include/pa_common.h, include/pa_request_charsets.h,
	  main/pa_charset.C, main/pa_charsets.C, main/pa_common.C,
	  main/pa_exec.C, main/pa_request.C, main/untaint.C,
	  types/pa_value.h, types/pa_vmail.C, types/pa_vrequest.C,
	  types/pa_vresponse.C: started http://   $.charset[] param and
	  http response charset detection just compiled.  todo:test

	* src/main/pa_common.C: merged PA_USE_ALARM bugfix from HEAD

	* src/: classes/string.C, include/pa_string.h, main/pa_string.C,
	  main/untaint.C, targets/isapi/parser3isapi.C, types/pa_vform.C,
	  types/pa_vmail.C: changed transcode param converntion  along with
	  string creating convention -- all strings are zero-terminated,
	  this allowed to fix one remaining String("123", 2) case

	* src/: classes/date.C, classes/file.C, classes/hash.C,
	  classes/op.C, classes/string.C, classes/table.C,
	  include/pa_charset.h, include/pa_memory.h, include/pa_string.h,
	  main/compile.tab.C, main/pa_charset.C, main/pa_exec.C,
	  main/pa_request.C, main/pa_string.C, main/pa_uue.C,
	  main/untaint.C, types/pa_vfile.C, types/pa_vfile.h,
	  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, 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
	  :(]

	* src/main/untaint.C: removed redundant & in CORD_pos param passing
	  [for it's a pointer really]

	* src/main/untaint.C: CORD_pos_advance turned out to have limit on
	  'n' param. worked that around

	* src/lib/cord/: Makefile.am, cordbscs.c, source.url: From: "Boehm,
	  Hans"  To: "'Alexandr Petrosian (PAF)'"
	  ; "Boehm, Hans"  Sent: Tuesday,
	  April 08, 2003 2:16 AM Subject: RE: libgc 6.2.alpha4
	  cord/cordbscs.c/CORD_cat bug [were: CORD__extend_path bug?

	  Thanks for the bug report and patch.

	  I hadn't looked at this code in a while.  Reading it now, it
	  seems to me that the tests should also be ">= MAX_DEPTH" to
	  comply with the invariant, though that may not matter a lot.	I
	  changed that, too.

	  Hans

2003-04-07  paf

	* src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C:
	  merged from head:safe mode error message now includes numbers

	* src/main/execute.C: n-th attempt to make a=a work with double.
	  problem: as_double returns it's result in fp-register compiler
	  optimizes access to that register after b->as_double, and just
	  compares ALREADY_STORED_VALUE with prev-calculated a->as_double
	  from memory.	_SAME_ double values do not match here.  when
	  forced to REload fp-register, values do match.

	  tried to make them volatile.

	* src/main/execute.C: n-th attempt to make a=a work with double.
	  problem: as_double returns it's result in fp-register compiler
	  optimizes access to that register after b->as_double, and just
	  compares ALREADY_STORED_VALUE with prev-calculated a->as_double
	  from memory.	_SAME_ double values do not match here.  when
	  forced to REload fp-register, values do match.

	  tried to make them volatile.

	* src/types/pa_vobject.h: small style change

	* src/: lib/cord/cordbscs.c, include/pa_string.h: CORD_cat bugfix

	* src/: include/pa_common.h, main/pa_common.C, main/pa_exec.C: safe
	  mode error message now includes numbers

	* src/: main/untaint.C, targets/cgi/parser3.C: unknown untaint lang
	  now causes death

2003-04-04  paf

	* src/: classes/file.C, include/pa_exec.h, main/pa_exec.C:
	  incorportated pa_exec patch by From: "Victor Fedoseev"
	   To: "Alexandr Petrosian (PAF)" 
	  Sent: Thursday, January 23, 2003 9:14 AM

	  huge speedup on ^file::cgi with big result

	* src/classes/table.C: sort table with 0 rows bug fixed

	* src/types/pa_vhash.h: $hash._default showed in foreach & co bug
	  fix http://i2/tasks/edit/?id=4493701604654042676

	  @main[] $with_default[  $.a[1]  $._default[default from
	  with_default] ] ^show[$with_default]

	  $to_add_to[	  $.b[2] ] ^to_add_to.add[$with_default]
	  =$to_add_to.xxx=
^show[$to_add_to] $cloned[^hash::create[$with_default]] =$cloned.xxx=
^show[$cloned] @show[hash] ^hash.foreach[k;v]{ $k = $v
}
* src/classes/hash.C: $hash._default showed in foreach & co bug fix http://i2/tasks/edit/?id=4493701604654042676 @main[] $with_default[ $.a[1] $._default[default from with_default] ] ^show[$with_default] $to_add_to[ $.b[2] ] ^to_add_to.add[$with_default] =$to_add_to.xxx=
^show[$to_add_to] $cloned[^hash::create[$with_default]] =$cloned.xxx=
^show[$cloned] @show[hash] ^hash.foreach[k;v]{ $k = $v
}
* src/types/pa_vmail.C: mail receive: .txt attachemnts bug fix http://i2/tasks/edit/?id=4507350336410850921 * src/classes/xdoc.C: memory allocation func bugfix http://i2/tasks/edit/?id=4499303470368629745 * src/classes/math.C: allowed random 1... * src/classes/math.C: allowed random 0.. * src/main/pa_globals.C: exif mem leak http://i2/tasks/edit/?id=4480590323629807263 * src/: classes/classes.dsp, main/main.dsp, targets/cgi/parser3.dsp, types/pa_vmail.C, types/types.dsp: buf fix http://i2/tasks/edit/?id=4493946731322521294 $.to[billgates@microsoft.com BCc: send-spam-to@someemails.ru ] * src/: classes/classes.dsp, lib/ltdl/libltdl.dsp, lib/md5/md5.dsp, lib/pcre/pcre.dsp, main/compile.tab.C, main/main.dsp, main/pa_globals.C, targets/cgi/parser3.dsp, types/types.dsp: links to xml libs made relative, no need to unpack parser3project to /parser3project. * src/main/: compile.tab.C, compile.y, compile_tools.h: error column more precise - tab handling bug fixed * src/main/: compile.tab.C, compile.y: more understandable error message in case @CLASS with more then one line inside * src/targets/cgi/parser3.C: more understandable error message in case of errors in @unhandled_exception 2003-04-03 paf * INSTALL, src/include/pa_operation.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_request.C: debug info format simplified, now it's: OP_VALUE Operation::Origin << here value* higher limits: file number (max: 255) line number (max: 64535) column number (max: 255) * src/classes/math.C: top limit * src/main/: compile.C, compile.tab.C, compile.y, compile_tools.h: precise parse error position in case of ^bug ] * src/classes/op.C, src/main/pa_request.C, tests/042.html: test 042 changed to realities, and passed [bug fixed] * src/: classes/op.C, include/pa_request.h, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/pa_request.C: introducing ^process...[main-method-alias] * src/: classes/date.C, classes/image.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, types/pa_vmethod_frame.h: MethodParams& now [methods without params receive zero reference, but they are expected not to look there] * operators.ru.txt, operators.txt, 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/memory.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/classes/xnode.h, src/main/execute.C, src/types/pa_method.h: MethodParams& now [methods without params receive zero reference, but they are expected not to look there] * operators.ru.txt, operators.txt, src/classes/op.C, src/include/pa_request.h, src/main/pa_request.C, src/types/pa_vmethod_frame.h: ^process...[filename] useful for better error reporting [file/line/col] * src/: main/execute.C, types/pa_value.C, types/pa_value.h, types/pa_vstring.h: slightly improved error messages text: 1. is '%s', it 2. method undefined in case of ^void[] * src/: classes/op.C, include/pa_request.h, include/pa_stack.h, include/pa_types.h, main/execute.C, main/pa_request.C: exception handling done. now we have error columns todo: test it * src/: classes/op.C, include/pa_request.h: removed from trace 'a' exception when ^try{ ^throw[a;1] }{ ^throw[b;2] } this makes life easier: were: bad stack order -- were in exception catch unwind order, which didn't match execution order @main[] ^try{ ^first[] }{ ^throw[c;3] } @first[] ^throw[a;1] showed throw a first throw b try which is no good * src/: classes/op.C, include/pa_request.h, include/pa_stack.h, main/compile.tab.C, main/execute.C, main/pa_request.C: strack trace reset after handled exception [old bug fixed] * src/main/: compile.tab.C, compile.y: parse position old bug fixed. position reporting made precise [both, in parse erros and runtime errors] 2003-04-02 paf * src/: 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_exception.C, main/pa_request.C: debug info: started using. todo:complete * 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. * tests/: Makefile, results/108.processed, results/117.processed: meta considered OK [it's up to coder now to remove it not needed] * src/main/pa_dictionary.C, tests/Makefile: replace bug fix [broke Dictionary constructor when moved to gc] * src/main/pa_common.C: uncommented http:// file loading * src/include/pa_array.h, src/main/execute.C, src/targets/cgi/parser3.C, tests/run_parser.sh: gif encoder bug fix [gdGrowingBuf] * 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: uncommented http:// file loading * src/: classes/xdoc.C, types/pa_vxdoc.h: removed ref leak in xdoc::create/load * src/: classes/form.C, classes/hash.C, classes/image.C, classes/string.C, classes/table.C, classes/void.C, include/pa_common.h, main/pa_common.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_string.C: all calls to String::String(str,helper_length) are checked. found/fixed one place: $request:body now zero-terminated, * src/: classes/op.C, classes/table.C, include/pa_request.h, main/compile_tools.C, main/execute.C, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.h, types/pa_vxnode.h: more locally scoped vars in execute (more easily optimizable) * src/: classes/table.C, include/pa_table.h, main/pa_table.C: few for(size_t i=0...) -> for(Array_iterator... i(..); i.has_next() * src/: include/pa_array.h, include/pa_stack.h, include/pa_string.h, main/compile_tools.C, main/main.dsp, main/pa_table.C, types/pa_vmethod_frame.C: array get/put check become assertion iterator in methodframe filler * src/: include/pa_array.h, include/pa_stack.h, main/main.dsp, targets/cgi/parser3.C: array::get/put inlined * src/: lib/cord/cordbscs.c, main/pa_globals.C: globals.c: gc_substitute_memory_management_functions +installed CORD_oom function * configure.in, src/classes/xnode.C, src/include/pa_config_fixed.h, src/include/pa_config_includes.h, src/include/pa_string.h, src/lib/cord/cordbscs.c, src/main/pa_memory.C, src/targets/cgi/parser3.C: converted debug hacks to ANSI assertions started configure.in --enable-assertions 2003-04-01 paf * 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 * src/main/pa_memory.C: bug() to set bpt in (memory.c) some .am changes * src/: include/pa_memory.h, main/pa_common.C, main/pa_globals.C, main/pa_memory.C: moved memory debugging to global level: to pa_gc_malloc * src/: main/pa_globals.C, targets/cgi/parser3.C: xml memory debugging showed no errors. todo: debug parser memory * src/targets/cgi/: parser3.C, parser3.dsp: more build configurations * src/: classes/classes.dsp, include/pa_config_fixed.h, main/compile.tab.C, main/main.dsp, main/pa_globals.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: prepared xml-static configuration 2003-03-31 paf * INSTALL, src/classes/xdoc.C, src/main/pa_globals.C, 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 limit of 10 user-defined charsets] 2003-03-28 paf * src/main/execute.C: execution stack copied to local register variable, removed lots [~2e7) of memory accesses 2003-03-27 paf * src/: classes/xdoc.C, main/pa_globals.C: XML memory funcs to GC works in debug, but fails in release todo: fix that * src/: classes/xdoc.C, main/compile.tab.C, main/pa_globals.C, targets/cgi/parser3.C: forgot to merge XML memory funcs replacement from gc branch * src/main/pa_exec.C: introducing append_help_length [radical improvement here] * src/targets/cgi/parser3.C: GC_java_finalization turned off [was 'not recommened' in gc.h, on win32 noticed no difference] * src/include/pa_array.h: returned checked array get [were disabled for debugging] result:not slower [don't understand that, it were INLINED] todo: find out a way of inlining it! * src/: include/pa_string.h, lib/gc/include/gc.h, lib/gc/include/gc_fake.h, main/compile.tab.C, targets/cgi/parser3.C, main/pa_memory.C, targets/cgi/parser3.dsp: convention changed: all resulting strings are zero-terminated * src/: classes/date.C, classes/file.C, classes/hash.C, classes/string.C, classes/table.C, classes/void.C, include/pa_string.h, lib/cord/cord.dsp, lib/cord/cordbscs.c, lib/cord/include/cord.h, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/pa_common.C, main/pa_exec.C, main/pa_request.C, main/pa_string.C, main/pa_uue.C, sql/pa_sql_driver.h, types/pa_value.C, types/pa_venv.h, types/pa_vfile.C, types/pa_vmail.C: introducing append_help_length [radical improvement here] * src/: classes/memory.C, include/pa_array.h, include/pa_hash.h, include/pa_memory.h, lib/cord/cord.dsp, lib/cord/cordxtra.c, lib/gc/include/gc.h, main/pa_memory.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vstatus.C: disabled gc, become even slower * src/: classes/string.C, classes/table.C, include/pa_array.h, include/pa_stack.h, include/pa_string.h, main/compile_tools.C, main/pa_string.C, main/untaint.C, types/pa_vmethod_frame.C: fixed clients of &get(): most to use non-ref version, some[in tight places] to get_unchecked_ref * src/doc/memory.dox: forgot to add * 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 * src/: classes/classes.dsp, classes/file.C, classes/op.C, classes/table.C, include/pa_array.h, include/pa_charset.h, include/pa_stack.h, include/pa_string.h, include/pa_table.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/main.dsp, main/pa_charset.C, main/pa_common.C, main/pa_exec.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, main/pa_table.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, types/types.dsp: pre-evaluated .count() in some places * src/: classes/classes.dsp, lib/ltdl/libltdl.dsp, lib/md5/md5.dsp, lib/pcre/pcre.dsp, main/main.dsp, targets/cgi/parser3.dsp, types/types.dsp: .dsp profiling updated * src/: classes/classes.dsp, lib/cord/cord.dsp, lib/ltdl/libltdl.dsp, lib/md5/md5.dsp, main/main.dsp, targets/cgi/parser3.dsp, types/types.dsp: started profiling * src/: classes/classes.dsp, lib/cord/cord.dsp, main/compile.tab.C, main/compile_tools.h, main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: .dsp updated to use lib/gc,lib/cord * acsite.m4, src/classes/Makefile.am, src/classes/mail.C, src/classes/math.C, src/classes/op.C, src/include/pa_common.h, src/include/pa_config_auto.h.in, src/include/pa_config_fixed.h, src/include/pa_config_includes.h, src/include/pa_request.h, src/include/pa_sql_driver_manager.h, src/include/pa_string.h, src/include/pa_stylesheet_connection.h, src/include/pa_version.h, src/lib/Makefile.am, src/lib/cord/Makefile.am, src/lib/cord/include/Makefile.am, src/lib/cord/include/private/Makefile.am, src/main/Makefile.am, src/main/pa_exec.C, src/main/pa_string.C, src/main/untaint.C, src/targets/cgi/Makefile.am, src/types/Makefile.am, src/types/pa_vclass.h, src/types/pa_vcookie.h, src/types/pa_vform.h, src/types/pa_vhash.h, src/types/pa_vimage.h, src/types/pa_vint.h, src/types/pa_vmail.h, src/types/pa_vresponse.h, src/types/pa_vstateless_class.h, src/types/pa_vstatus.C, src/types/pa_vstatus.h, src/types/pa_vtable.h, src/types/pa_vxdoc.h: configured math funcs ported pa_exec * src/lib/: cord/include/gc.h, gc/include/gc.h: introducing lib/gc * src/lib/cord/include/: cord.h, ec.h, gc.h, private/cord_pos.h: bundled gc includes * 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 * operators.ru.txt, operators.txt, src/main/pa_sql_driver_manager.C, src/types/pa_vstatus.C: $status.memory used free since_compact process * src/: include/pa_sql_connection.h, main/pa_globals.C, main/untaint.C, sql/pa_sql_driver.h: untaint.C L_SQL * src/main/: pa_charset.C, untaint.C: untaint.C L_MAIL_HEADER * src/main/pa_request.C, src/main/untaint.C, src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vfile.h, src/types/pa_vobject.C, src/types/pa_vobject.h, src/types/pa_vstring.C, src/types/pa_vstring.h, tests/121.html, tests/results/121.processed: untaint.C L_URI * operators.ru.txt, 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, 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 * src/classes/xdoc.C, tests/Makefile: fixed transform params2 * src/main/pa_charset.C, src/targets/cgi/parser3.C, tests/Makefile, tests/results/107.processed: fixed dom language [values are now considered tainted. it was a bug in parser. updated 107 test result * src/classes/xdoc.C: fixed transform params * src/: include/pa_stylesheet_manager.h, main/pa_stylesheet_manager.C: fixed stylesheet caching * src/: include/pa_memory.h, main/pa_charset.C: memory: new 'new' overloads for structure handling * src/: classes/image.C, classes/xdoc.C, classes/xnode.C, include/pa_string.h, main/pa_string.C, types/pa_vxnode.C: removed StringBody(0) ambiguilty, introducting static StringBody::Format(int) * src/: main/pa_request.C, types/pa_vxnode.C: vxnode compiled xml linked * src/types/pa_vxdoc.C: vxdoc compiled * src/: classes/xnode.C, classes/xnode.h, include/pa_memory.h, types/pa_vxdoc.h, types/pa_vxnode.h: xnode.C compiled, doc/node finalizers isntalled * src/: classes/image.C, classes/xdoc.C, classes/xnode.h, doc/exception.dox, doc/index.dox, include/pa_charset.h, include/pa_memory.h, include/pa_request.h, include/pa_string.h, main/pa_charset.C, main/pa_memory.C, main/pa_string.C: xdoc.C compiled todo: xnode.C / finalizers * src/doc/string.dox: updated: new string internals 2003-03-24 paf * src/: classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_charset.h, include/pa_config_fixed.h, include/pa_request.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, main/pa_charset.C, main/pa_exception.C, main/pa_globals.C, main/pa_request.C, main/pa_stylesheet_manager.C, types/pa_vxdoc.h, types/pa_vxnode.h: started XML * src/main/: pa_common.C, pa_sql_driver_manager.C: http:// * src/: classes/file.C, classes/image.C, classes/mail.C, include/pa_string.h, main/pa_common.C, main/pa_sql_driver_manager.C: introducing string[body]::pos(char) * src/: classes/file.C, classes/image.C, classes/mail.C, include/pa_memory.h, include/pa_string.h, main/pa_common.C, main/pa_request.C, main/pa_sql_driver_manager.C, types/pa_vimage.h: size_t pos everywhere checks changed to check for eq STRING_NOT_FOUND * src/main/pa_string.C, src/main/untaint.C, tests/Makefile: string optimize bit implemented * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: String::ArrayFragment::append_positions fixed * src/: classes/table.C, include/pa_string.h, main/pa_string.C: String::this_starts fixed * src/main/pa_string.C, tests/Makefile: string::pos fixed * src/: include/pa_hash.h, main/execute.C, main/pa_string.C: hashcode implemented fully, including per-char callback [it can be - substr CORD node] * src/: include/pa_array.h, main/compile.tab.C: gif encoding rewritten to rewalloc with 100byte buf ahead * src/classes/image.C, src/classes/op.C, src/classes/table.C, src/include/pa_string.h, src/main/compile.tab.C, src/main/compile.y, src/main/execute.C, src/main/pa_common.C, src/main/untaint.C, tests/Makefile: attempt to do gif encoding to CORD_ec [bad] would rewrite as realloc now * src/: classes/date.C, classes/file.C, classes/form.C, classes/image.C, classes/math.C, classes/op.C, classes/table.C, include/pa_cache_managers.h, include/pa_charsets.h, include/pa_common.h, include/pa_request.h, include/pa_sql_driver_manager.h, include/pa_table.h, main/pa_charset.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, main/pa_request.C, main/pa_uue.C, targets/isapi/parser3isapi.C, types/pa_value.C, types/pa_value.h, types/pa_vmail.C, types/pa_vmethod_frame.C, types/pa_vstateless_class.h: 2*2 worked :) * parser3.dsw, src/classes/date.C, src/classes/file.C, src/include/pa_exec.h, src/include/pa_string.h, src/main/pa_exec.C, src/main/pa_sql_driver_manager.C: empty run passed OK * src/: classes/hash.C, classes/string.C, classes/table.C, types/pa_value.C: all linked todo: debug * src/: classes/mail.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vstateless_class.C: all compiled. todo:link * src/types/pa_wcontext.C: pa_wcontext.C compiled * src/types/pa_vtable.C: pa_vtable.C compiled * src/types/pa_vstring.C: pa_vstring.C compiled * src/types/pa_vstatus.C: pa_vstatus.C compiled * src/types/: pa_vmath.C, pa_vmethod_frame.C, pa_vmethod_frame.h, pa_vobject.C, pa_vrequest.C, pa_vresponse.C, pa_vstateless_class.C, pa_vstateless_class.h: pa_vstateless_class.C compiled * src/: classes/xdoc.C, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C: pa_vmail.C compiled * src/types/: pa_vhash.C, pa_vimage.C: pa_vimage.C compiled * src/types/pa_vform.C: pa_vform.C compiled * src/types/pa_vfile.C: pa_vfile.C compiled * src/types/: pa_value.h, pa_vclass.C, pa_vcookie.C, pa_vstateless_class.C: pa_vcookie.C compiled * src/: classes/string.C, types/pa_value.C, types/pa_value.h, types/pa_vhash.h: pa_value.C compiled * src/: main/execute.C, main/pa_string.C, types/pa_wcontext.h: classes.lib main.lib compiled * src/classes/void.C: void.C compiled * src/: classes/string.C, classes/table.C, include/pa_string.h, main/pa_string.C, types/pa_vtable.C, types/pa_vtable.h: table.C compiled * src/: classes/string.C, include/pa_request.h, include/pa_string.h, main/pa_string.C: string.C compiled * src/: classes/op.C, classes/string.C, classes/table.C, classes/void.C, include/pa_sql_connection.h, include/pa_string.h, main/pa_request.C, main/pa_string.C: op.C compiled * src/classes/: math.C, op.C: math.C compiled * src/: classes/mail.C, classes/string.C, classes/table.C, types/pa_vmail.h: mail.C compiled * src/classes/: int.C, table.C: int.C compiled * src/: classes/hash.C, classes/image.C, classes/string.C, classes/table.C, include/pa_memory.h, include/pa_string.h, main/pa_memory.C, types/pa_vimage.h, types/pa_vmail.C: image.C compiled * src/: classes/hash.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C, include/pa_request.h, include/pa_sql_connection.h: hash.C compiled * src/: classes/classes.C, classes/classes.awk, 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/xdoc.C, classes/xnode.C, include/pa_memory.h, include/pa_request.h, include/pa_sapi.h, include/pa_string.h, main/pa_string.C, types/pa_vdate.h, types/pa_vmethod_frame.h: file.C table.C compiled * src/: include/pa_string.h, main/pa_string.C, main/pa_uue.C, main/untaint.C: main.lib compiled 2003-03-21 paf * src/: classes/op.C, include/pa_cache_managers.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, main/pa_exception.C, main/pa_globals.C, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h, types/pa_vimage.C: pa_sql_driver_manager.C compiled * src/: classes/hash.C, classes/image.C, classes/op.C, classes/xdoc.C, classes/xnode.C, include/pa_common.h, include/pa_hash.h, include/pa_request.h, include/pa_string.h, main/compile.C, main/pa_common.C, main/pa_request.C, types/pa_vmail.C, types/pa_vresponse.C, types/pa_vxnode.C: pa_request.C compiled * src/: classes/hash.C, classes/mail.C, classes/op.C, include/pa_request.h, main/execute.C, main/pa_request.C, types/pa_value.C, types/pa_value.h, types/pa_vcookie.C, types/pa_vhash.h, types/pa_vimage.C, types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vrequest.C, types/pa_vresponse.h, types/pa_vtable.C: pa_request.C 50% compiled * src/: include/pa_exec.h, include/pa_string.h, main/pa_exec.C, main/pa_string.C: pa_exec.C compiled [win32 only for now] todo: on unix * src/: include/pa_charset.h, include/pa_charsets.h, include/pa_exec.h, main/compile.tab.C, main/pa_charset.C, main/pa_charsets.C, main/pa_dictionary.C, main/pa_exec.C: pa_charsets.C compiled * src/: classes/image.C, classes/mail.C, classes/op.C, include/pa_request.h, include/pa_string.h, main/compile.tab.C, main/compile.y, main/execute.C, main/pa_common.C, main/pa_request.C, types/pa_junction.h, types/pa_method.h, types/pa_vcode_frame.h, types/pa_vimage.h, types/pa_vmethod_frame.h: execute.C compiled * src/: classes/classes.C, 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/string.C, classes/table.C, classes/void.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_cache_managers.h, include/pa_charsets.h, include/pa_common.h, include/pa_exec.h, include/pa_memory.h, include/pa_operation.h, include/pa_request.h, include/pa_sapi.h, include/pa_sql_driver_manager.h, include/pa_string.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, include/pa_table.h, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, main/pa_exec.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_junction.h, types/pa_method.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_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, 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_vint.h, types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h, types/pa_vmethod_frame.C, 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.C, 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: introducing StringBody [C++ CORD wrapper] * src/: lib/cord/cordbscs.c, main/pa_string.C: test14 [bug fixed] * src/: classes/file.C, include/pa_charset.h, main/pa_charset.C: $file::exec/cgi[script; $.charset[this is script's charset] command line, env values, input got transcoded before call stdout, stderr got transcoded after call * src/classes/file.C: ^file::exec/cgi now does not pass post data by default. use: ^file::exec[...;$.stdin[$request.body] * src/main/pa_common.C: } typo bug fix * src/main/pa_common.C: } typo bug fix 2003-03-20 paf * src/: include/pa_string.h, lib/cord/cordbscs.c, main/pa_string.C, main/untaint.C: cord bug fix, but still errors todo: clear out * src/include/pa_string.h: more tests * src/main/pa_string.C: string.pos fixed * src/lib/: ltdl/config_fixed.h, ltdl/configure, ltdl/configure.in, ltdl/libltdl.dsp, ltdl/ltdl.c, ltdl/ltdl.h, pcre/dftables.c, pcre/get.c, pcre/internal.h, pcre/maketables.c, pcre/pcre.c, pcre/pcre.h, pcre/pcre_parser_ctype.c, pcre/study.c: undone bad replaces * src/: classes/image.C, include/pa_dictionary.h, include/pa_string.h, lib/ltdl/ltdl.c, lib/ltdl/ltdl.h, lib/pcre/internal.h, lib/pcre/pcre.c, lib/pcre/study.c, main/compile.tab.C, main/pa_dictionary.C, main/pa_string.C, main/untaint.C, types/pa_vmail.C: more tests [bugs fixed] * src/include/pa_string.h: warning * src/include/pa_string.h: this_starts fixed * src/: include/pa_string.h, main/pa_string.C: added: assertion on new String ctor & append params convention * src/: classes/file.C, classes/hash.C, classes/image.C, classes/mail.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, include/pa_common.h, include/pa_memory.h, include/pa_string.h, main/compile.tab.C, main/pa_common.C, main/pa_exception.C, main/pa_exec.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/untaint.C, targets/isapi/parser3isapi.C, types/pa_vimage.C, types/pa_vmail.C: more tests OK * src/: include/pa_array.h, include/pa_hash.h, include/pa_memory.h, include/pa_string.h, main/pa_memory.C, main/pa_string.C: test: gc/exit runned OK * src/types/pa_vmail.C: another naming problem: should not name vars like that: unpredictable close caused problems with later sending mail: Mar 20 06:39:53 pt-6 sendmail[19044]: File descriptors missing on startup: stdin; Bad file number todo: find out why so many filters(stream) here. probably wrong? * src/: include/pa_dictionary.h, include/pa_string.h, main/pa_common.C, main/pa_dictionary.C, main/pa_string.C, main/untaint.C: test compiled * src/: classes/image.C, classes/mail.C, classes/math.C, classes/string.C, include/pa_dictionary.h, include/pa_hash.h, include/pa_memory.h, include/pa_string.h, lib/cord/cordbscs.c, lib/cord/cordxtra.c, lib/pcre/dftables.c, lib/pcre/get.c, lib/pcre/maketables.c, lib/pcre/pcre.c, lib/pcre/pcre.h, lib/pcre/pcre_parser_ctype.c, lib/pcre/study.c, main/compile.tab.C, main/pa_common.C, main/pa_dictionary.C, main/pa_exec.C, main/pa_memory.C, main/pa_request.C, main/pa_string.C, main/untaint.C, types/pa_vfile.h, types/pa_vmail.C: untaint.C 99% [except mail&sql&optimize] * parser3.dsw, src/classes/file.C, src/classes/image.C, src/classes/op.C, src/classes/string.C, src/classes/table.C, src/classes/xdoc.C, src/classes/xnode.C, src/include/pa_common.h, src/include/pa_memory.h, src/include/pa_request.h, src/include/pa_request_charsets.h, src/include/pa_sql_connection.h, src/include/pa_string.h, 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_request.C, src/main/pa_sql_driver_manager.C, src/main/pa_stylesheet_manager.C, src/main/untaint.C, src/sql/pa_sql_driver.h, src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, src/types/pa_value.C, src/types/pa_vcode_frame.h, src/types/pa_vcookie.C, src/types/pa_venv.h, src/types/pa_vform.C, src/types/pa_vmail.C, src/types/pa_vmethod_frame.C, src/types/pa_vmethod_frame.h, src/types/pa_vobject.C, src/types/pa_vresponse.C, src/types/pa_vstatus.C, src/types/pa_vstring.C, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h, src/types/pa_vxnode.C, src/types/pa_wcontext.h: untaint.C 30%, pa_common.C [done, without http for now] 2003-03-19 paf * src/: classes/date.C, classes/form.C, classes/hash.C, classes/image.C, classes/mail.C, classes/op.C, classes/xdoc.C, classes/xnode.C, include/pa_array.h, include/pa_config_fixed.h, include/pa_exception.h, include/pa_memory.h, include/pa_sapi.h, include/pa_string.h, include/pa_table.h, main/compile.C, main/compile_tools.C, main/execute.C, main/pa_charset.C, main/pa_common.C, main/pa_exception.C, main/pa_request.C, main/pa_socks.C, main/pa_string.C, main/pa_table.C, main/untaint.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_value.C, types/pa_vcookie.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vmail.C, types/pa_vmethod_frame.h, types/pa_vstateless_class.h, types/pa_vtable.C, types/pa_vtable.h, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h: started test * src/lib/pcre/: dftables.c, get.c, maketables.c, pcre.c, pcre.dsp, pcre.h, pcre_parser_ctype.c, study.c: restored bad replaces * src/: classes/op.C, include/pa_array.h, include/pa_memory.h, include/pa_string.h, main/pa_string.C: string compiled todo: test it * src/: classes/classes.dsp, classes/string.C, classes/table.C, include/pa_array.h, include/pa_common.h, include/pa_dictionary.h, include/pa_exception.h, include/pa_string.h, include/pa_table.h, lib/cord/cord.dsp, main/compile.tab.C, main/main.dsp, main/pa_common.C, main/pa_string.C, targets/cgi/parser3.dsp, types/pa_method.h, types/pa_value.h, types/pa_vmethod_frame.C, types/pa_vmethod_frame.h, types/types.dsp: string reimplementation with cord+array: 70% 2003-03-18 paf * src/: classes/date.C, classes/file.C, classes/form.C, classes/hash.C, classes/image.C, classes/mail.C, classes/math.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, classes/xnode.C, include/pa_hash.h, include/pa_string.h, main/pa_string.C, types/pa_vmail.C: lots of replacements, todo:we can ignore lang in cmp and pos really, but would split properly! * src/lib/cord/: cord.dsp, cordbscs.c, cordprnt.c, cordxtra.c: gc: cord part made parser/src/lib: it's not compiled into libgc by default * parser3.dsw, src/classes/classes.dsp, 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/xdoc.C, src/classes/xnode.C, src/classes/xnode.h, src/include/Makefile.am, src/include/pa_cache_managers.h, src/include/pa_charset.h, src/include/pa_charsets.h, src/include/pa_common.h, src/include/pa_dictionary.h, src/include/pa_exception.h, src/include/pa_exec.h, src/include/pa_globals.h, src/include/pa_hash.h, src/include/pa_memory.h, src/include/pa_pool.h, src/include/pa_request.h, src/include/pa_request_charsets.h, src/include/pa_sapi.h, src/include/pa_sql_connection.h, src/include/pa_sql_driver_manager.h, src/include/pa_string.h, src/include/pa_stylesheet_connection.h, src/include/pa_stylesheet_manager.h, src/include/pa_table.h, src/include/pa_uue.h, src/lib/pcre/get.c, src/main/Makefile.am, src/main/compile.C, src/main/compile.tab.C, src/main/compile_tools.C, src/main/compile_tools.h, src/main/execute.C, src/main/main.dsp, src/main/pa_charset.C, src/main/pa_charsets.C, src/main/pa_common.C, src/main/pa_dictionary.C, src/main/pa_exception.C, src/main/pa_exec.C, src/main/pa_globals.C, src/main/pa_memory.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_table.C, src/main/pa_uue.C, src/main/untaint.C, src/targets/cgi/parser3.C, src/targets/cgi/parser3.dsp, src/targets/isapi/parser3isapi.C, src/types/pa_junction.h, src/types/pa_method.h, src/types/pa_value.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_vdouble.h, 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_vimage.C, src/types/pa_vimage.h, src/types/pa_vint.h, src/types/pa_vmail.C, src/types/pa_vmail.h, src/types/pa_vmath.C, src/types/pa_vmath.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_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.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, src/types/types.dsp: started porting to gc: PA_Object done lots of replacements also * src/: include/pa_pool.h, main/execute.C, targets/cgi/pa_pool.C: gc logging 2003-03-17 paf * 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 * src/: include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C, targets/cgi/parser3.C: lt_dlexit called * 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: "Victor Fedoseev" Sent: Thursday, January 23, 2003 8:14 AM now we have $status.rusage.maxrss,tv_sec,tv_usec un WIN32 [plus Win32 specific: QuotaPeakNonPagedPoolUsage QuotaPeakPagedPoolUsage PeakPagefileUsage] 2003-03-12 paf * configure, configure.in, src/lib/ltdl/configure, src/lib/ltdl/configure.in, src/targets/cgi/Makefile.am: lib/ltdl/Makefile now created by /configure.in only [were by lib/ltdl/configure.in OVERWRITE] * configure, configure.in, src/targets/cgi/Makefile.am: libstdc++ linkage fixed for g++ 3.2.2 * src/include/pa_stylesheet_manager.h: gcc 3.2 rightliy complained on using privately declared class [fixed] * src/: include/pa_sql_driver_manager.h, main/compile.tab.C: gcc 3.2 rightliy complained on using privately declared class [fixed] * src/targets/cgi/parser3.C: 1. more detailed log on signals. 2. sigpipe before request constructor now causes death * src/: include/pa_request.h, main/compile.tab.C, main/execute.C, targets/cgi/parser3.C: SIGPIPE now can be intercepted and does not cause exception in exception handler * configure, configure.in, src/targets/cgi/Makefile.am: configure now default links libstdc++ statically. that can be overriden by --with-dynamic-stdcpp 2003-03-11 paf * 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 * src/include/pa_request.h: ANTI_ENDLESS_EXECUTE_RECOURSION doubled 2003-03-08 paf * tests/Makefile: make install & co * src/: include/pa_request.h, classes/op.C: removing vclass,object.h -> pa_request.h dependency * src/: classes/mail.C, classes/response.C, include/pa_request.h, main/pa_request.C: removing vform,response,cookie.h -> pa_request.h dependency * src/include/pa_request.h: removing vmail.h -> pa_request.h dependency [testing...] * src/: include/pa_config_fixed.h, types/pa_vxdoc.C: yet another return 0; fixed * src/: include/pa_config_fixed.h, types/pa_vmail.C, types/pa_vmail.h: vmail.C received just compiled [not tested] * src/classes/xdoc.C: forgotten: global xdoc when ndef XML * src/main/pa_request.C: 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 * src/targets/cgi/parser3.C: charsets: see some strange things with old xml lib-- it's internal memory handling has faults * src/: include/pa_types.h, main/pa_charset.C: charsets: fixed problems when transcode from charset A to A. * 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, 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 * tests/: 021.html, 031.html, 033.html, 109.html, 110.html, 111.html, 112.html, 113.html, 114.html, 115.html, 116.html, 117.html, 118.html, 119.html, 120.html, results/109.processed, results/110.processed, results/111.processed, results/112.processed, results/113.processed, results/114.processed, results/115.processed, results/116.processed, results/117.processed, results/118.processed, results/119.processed, results/120.processed: xml: tests 109 dom create/show 110 xpath selectSingle 111 xdoc.create from tainted & 112 xdoc.create/output with russian attr value 113 xpath selectString/Number 114 dom attributes.count 115 xpath selectBool 116 output media-type change 117 transform by dom stylesheet 118 empty transform result 119 dom setAttribute 120 nbsp letter output =END OF PREPARED XML TESTS= 2003-03-07 paf * src/classes/xdoc.C, src/include/pa_charset.h, src/include/pa_stylesheet_connection.h, tests/108.html, tests/108.xsl, tests/results/108.processed: xml: test 108 transform with params [bugs fixed] * src/: main/pa_charset.C, targets/cgi/parser3.C: fixed: mem leak from copy/paste bug * src/classes/xdoc.C, src/include/pa_charset.h, src/include/pa_request.h, src/main/execute.C, src/main/pa_charset.C, src/main/pa_exception.C, src/main/pa_globals.C, src/main/pa_request.C, src/types/pa_vxdoc.C, src/types/pa_vxdoc.h, src/types/pa_vxnode.C, tests/107.html, tests/results/107.processed: xml: test: 107 bug fixes * src/: classes/xdoc.C, classes/xnode.C, classes/xnode.h, types/pa_value.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: test: 107 bug fixes * tests/: 106.html, results/106.processed: test: 106 xdoc create, string * 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 * src/: classes/xdoc.C, types/pa_vxdoc.h, types/pa_vxnode.h: xml: linked * src/: classes/xdoc.C, types/pa_vxdoc.h: xdoc.C compiled 2003-03-06 paf * src/classes/xdoc.C: xdoc.C 50% * src/: classes/xnode.C, classes/xnode.h, include/pa_charset.h, include/pa_memory.h, include/pa_request.h, include/pa_string.h, main/pa_globals.C, main/pa_request.C, main/pa_stylesheet_manager.C: xnode.C compiled * src/: include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C: xml: stylesheet&manager done * src/: include/pa_memory.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, main/pa_stylesheet_manager.C: xml: stylesheet&manager STARTED * src/: include/pa_globals.h, main/pa_charset.C, main/pa_exception.C, main/pa_globals.C: xml: exceptions * src/: include/pa_charset.h, include/pa_config_fixed.h, include/pa_memory.h, include/pa_pool.h, main/pa_charset.C, main/pa_memory.C, main/pa_pool.C, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: xml: charsets * tests/023.html: in some cases it rounded up badly. postponing solution of that problem, making more simple test * tests/: 058_paf2000.png, results/058.processed: .png added with -kb now * 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 * src/classes/string.C, src/include/pa_string.h, src/main/pa_string.C, tests/105.html, tests/results/105.processed: String::match bug fixed * src/classes/op.C, src/main/main.dsp, tests/104.html, tests/results/104.processed: ^bpt operator added [does int3 in debug build on win32] * tests/: 057.html, results/057.processed: test bug fixed * 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 missing * src/: include/Makefile.am, main/Makefile.am, types/Makefile.am: forgotten files added to Makes * ltmain.sh: ltmain.sh added * src/types/: pa_vhash.C, pa_vhash.h: hash_default_element_name change undone ;( * src/types/: pa_vhash.C, pa_vhash.h: hash_default_element_name made static * src/: classes/math.C, classes/op.C, classes/string.C, main/pa_exec.C, targets/cgi/Makefile.am: gcc more happy. todo:make linker happy * src/: classes/file.C, include/pa_exec.h, main/pa_exec.C: pa_exec env param made optional 2003-03-04 paf * src/: classes/image.C, include/pa_request.h, include/pa_stack.h, types/pa_vimage.h: number of gcc compiler bugs fixed * tests/: 103.html, 103mark.gif, 103paf2001.gif, results/103.processed: tests: 103 image.copy transparence test * src/main/execute.C, tests/101.html, tests/102.html, tests/results/101.processed, tests/results/102.processed: tests: 101 method/variable name conflict test 102 form fields change should not not change anything [bug fix] * tests/: 057.html, 099.html, 100.html, results/057.processed, results/099.processed, results/100.processed: tests: 57 date create 2002: added 99,100 response:body/download * src/classes/image.C, tests/098.html, tests/098font.gif, tests/results/098.processed: test: 98 image font text [bug fixed] * src/main/pa_common.C, src/targets/cgi/parser3.C, tests/097.html, tests/results/097.processed: test: 97 file::load http:// [bugs fixed] * src/classes/hash.C, src/classes/image.C, src/classes/table.C, src/include/pa_memory.h, tests/096.html, tests/096_dir/163.jpg, tests/096_dir/188.jpg, tests/results/096.processed: tests: 96 image EXIF [bug fixed] * src/classes/table.C, src/main/execute.C, tests/061.dat, tests/061.html, tests/062.html, tests/063.html, tests/064.html, tests/065.html, tests/066.html, tests/067.html, tests/068.html, tests/069.html, tests/070.html, tests/071.html, tests/072.html, tests/073.html, tests/074.html, tests/075.html, tests/076.html, tests/077.html, tests/078.html, tests/080.html, tests/081.html, tests/082.html, tests/083.html, tests/084.html, tests/085.html, tests/086.html, tests/087.html, tests/088.html, tests/089.html, tests/090.html, tests/091.html, tests/092.html, tests/093.html, tests/094.html, tests/095.html, tests/results/061.processed, tests/results/062.processed, tests/results/063.processed, tests/results/064.processed, tests/results/065.processed, tests/results/066.processed, tests/results/067.processed, tests/results/068.processed, tests/results/069.processed, tests/results/070.processed, tests/results/071.processed, tests/results/072.processed, tests/results/073.processed, tests/results/074.processed, tests/results/075.processed, tests/results/076.processed, tests/results/077.processed, tests/results/078.processed, tests/results/080.processed, tests/results/081.processed, tests/results/082.processed, tests/results/083.processed, tests/results/084.processed, tests/results/085.processed, tests/results/086.processed, tests/results/087.processed, tests/results/088.processed, tests/results/089.processed, tests/results/090.processed, tests/results/091.processed, tests/results/092.processed, tests/results/093.processed, tests/results/094.processed, tests/results/095.processed, tests/079.html, tests/results/079.processed: tests: 61 file::stat size 62 string->int autoconvert 63 double .int,dec,div,mul 64 date compare 65 file: basename,justname,justext 66 math:crypt 67 string.match simple on long 68 string.match normalized simple on long 69 string.int 70 file::stat content-type 71 table.join 72 hash parameter conditional pass 73 date daylightsaving,yearday 74 date arithmetics 75 response date values/attributes 76 string.pos of void, void.pos 77 syntax parsing 78 cookie tainting 79 switch with local 80 scientific numeric literal in string autoconvert 81 xor: logical and numerical 82 for delims 83 menu delims 84 table.hash distinct 85 long string replace 86 throw+catch current language preserve 87 bit shifts 88 junction tests + $caller test 89 hash.foreach selfmodification 90 int/void to int 91 $caller test 92 junction is + def junction tests 93 $caller test 94 syntax test 95 table.hash(keygenerator) [bug fixed] * src/main/: execute.C, pa_table.C: test: 59 table.locate [bug fixed] 60 string eq string [bug fixed] * tests/: 053.html, 054.html, 055.html, 056.html, 057.html, 058.html, 058_paf2000.png, 059.html, 060.html, results/053.processed, results/054.processed, results/055.processed, results/056.processed, results/057.processed, results/058.processed, results/059.processed, results/060.processed: test: 53 string.replace 54 junctions 55 table.hash 56 call indirect 57 date.create[string] 58 image.measure[png] * tests/: 052.html, outputs/049.processed, outputs/050.processed, outputs/051.processed, results/052.processed: test: 52 pre/match/post test: passed AS-IT-WERE, but wrong :) separate task: fix that 2003-03-03 paf * tests/: 043.html, 044.html, 045.html, 046.html, 047.html, 048.html, 049.html, 050.html, 051.html, 051b.p, 051t.p, Makefile, parser-cygwin.sh, parser-unix.sh, run_parser.sh, outputs/049.processed, outputs/050.processed, outputs/051.processed, results/001.processed, results/002.processed, results/003.processed, results/005.processed, results/006.processed, results/008.processed, results/009.processed, results/011.processed, results/012.processed, results/013.processed, results/014.processed, results/015.processed, results/016.processed, results/017.processed, results/020.processed, results/021.processed, results/022.processed, results/024.processed, results/025.processed, results/026.processed, results/027.processed, results/028.processed, results/029.processed, results/030.processed, results/031.processed, results/049.processed, results/050.processed, results/051.processed, results/043.processed, results/044.processed, results/045.processed, results/046.processed, results/047.processed, results/048.processed: tests: 43,44,45 date rolls 46 autoevaluating junction 47 table.select 48 name with subvar 49 hash-creating switch 50 process 51 started parent/child, works as it were but it were NOT GOOD, created separate task to fix that * tests/: 042.html, results/042.processed: test: 42 exception.handled * tests/: 041.html, results/041.processed: test: 41 table.locate by expression * tests/: 040.html, results/040.processed: test: 39 method result of type table 40 method param junction auto evaluate * tests/: 039.html, results/039.processed: test: 37 method result of type table * src/main/pa_request.C, src/types/pa_vmath.C, tests/033.html, tests/034.html, tests/035.html, tests/036.html, tests/037.html, tests/038.html, tests/results/033.processed, tests/results/034.processed, tests/results/035.processed, tests/results/036.processed, tests/results/037.processed, tests/results/038.processed: tests: 33 string.replace 34 string.upper 35 table created 36 local/global vars with juntions 37 table clone 38 math PI & number formatting math class registring typo fixed * src/classes/op.C, src/include/pa_request.h, src/include/pa_string.h, src/main/execute.C, src/main/pa_request.C, src/main/pa_string.C, src/main/untaint.C, src/types/pa_vcode_frame.h, src/types/pa_wcontext.h, tests/032.html, tests/results/032.processed: uchar changed to 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, 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 * src/main/execute.C, src/types/pa_vstateless_class.h, tests/024.html, tests/025.html, tests/026.html, tests/027.html, tests/028.html, tests/029.html, tests/030.html, tests/031.html, tests/results/024.processed, tests/results/025.processed, tests/results/026.processed, tests/results/027.processed, tests/results/028.processed, tests/results/029.processed, tests/results/030.processed, tests/results/031.processed: fixed bug with name_cstr mutable CharPtr more tests * src/: include/pa_sapi.h, main/pa_globals.C, main/pa_memory.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: SAPI::abort << abort. die now just exits * src/classes/classes.awk, 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/xdoc.C, src/classes/xnode.C, src/include/pa_memory.h, src/include/pa_sapi.h, src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, src/types/pa_venv.h, src/types/pa_vform.C, tests/015.html, tests/016.html, tests/017.html, tests/018.html, tests/019.html, tests/019paf2001.gif, tests/020.html, tests/021.html, tests/022.html, tests/023.html, tests/022_dir/a.html, tests/022_dir/b.txt, tests/022_dir/c.htm, tests/results/015.processed, tests/results/016.processed, tests/results/017.processed, tests/results/018.processed, tests/results/019.processed, tests/results/020.processed, tests/results/021.processed, tests/results/022.processed, tests/results/023.processed: methoded_array now contains all Mxxx classes SAPI::get_env now returns info on pool more tests * src/include/pa_array.h, src/include/pa_hash.h, src/include/pa_memory.h, src/main/pa_charset.C, tests/001.html, tests/002.html, tests/003.html, tests/004.html, tests/005.html, tests/006.html, tests/007.html, tests/008.html, tests/009.html, tests/010.html, tests/011.html, tests/012.html, tests/013.html, tests/014.html, tests/Makefile, tests/outputs/create-dir, tests/results/001.processed, tests/results/002.processed, tests/results/003.processed, tests/results/004.processed, tests/results/005.processed, tests/results/006.processed, tests/results/007.processed, tests/results/008.processed, tests/results/009.processed, tests/results/010.processed, tests/results/011.processed, tests/results/012.processed, tests/results/013.processed, tests/results/014.processed: hash cloning fixed 2003-02-25 paf * src/main/pa_common.C: typo fixed 2003-02-24 paf * src/types/pa_vcookie.C: fixed all places with bad get_string(0) [one remained] * src/: include/pa_request.h, main/execute.C: few bad get_string(0) [should have been get_string(&pool)] todo: check other such calls * src/: main/compile.tab.C, main/execute.C, types/pa_vfile.h: test10, bad lookups xxx* xxx=smartptr.get(); << is bad style, after ";" original object got destructed, and xxx points to sky * ChangeLog, src/classes/string.C: match bug fixed * src/types/pa_vmail.C: body [text/html] transcoded to $.charset[specified] now * src/main/pa_common.C: stupid gcc [2.95.4] generated bad code which failed to handle sigsetjmp+throw: crashed inside of pre-throw code. rewritten simplier [though duplicating closesocket code] * src/main/pa_common.C: stupid gcc [2.95.4] generated bad code which failed to handle sigsetjmp+throw: crashed inside of pre-throw code. rewritten simplier [though duplicating closesocket code] 2003-02-21 paf * operators.ru.txt, operators.txt, src/targets/cgi/parser3.C, src/types/pa_vcookie.C: $cookie:name[$.expires[date << can be now]] written makefile with regression tests [raw] * src/targets/cgi/parser3.C: MAKE_TEST must be used inside of 'make tests' only [it's not forcing CGI mode now] now use -H to output CGI header when parser used in command line [useful for tests also] * src/targets/cgi/parser3.C: MAKE_TEST environment variable switches on CGI mode, and is used in regression tests * src/: include/pa_request.h, main/pa_request.C, targets/cgi/parser3.C, types/pa_vcookie.h, types/pa_venv.h: env fixed * src/: include/pa_memory.h, main/pa_memory.C: inlined memory handling pa_* * src/: include/pa_memory.h, main/pa_memory.C, include/pa_array.h, include/pa_exception.h, include/pa_pool.h, main/Makefile.am, main/main.dsp, main/pa_array.C, main/pa_pool.C: reorganized memory handling files * src/main/pa_array.C: pool::format_integer terminator fixed * 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, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, types/pa_vimage.C, types/pa_vxdoc.h: fixed all cstr's that must use pool [as the one in ^process] * src/classes/op.C: fixed process. sould now check for all cstr's -- some must use pool [as the one in ^process] 2003-02-20 paf * 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 2003-02-19 paf * src/: classes/form.C, include/pa_charset.h, include/pa_pool.h, main/pa_charset.C, main/pa_exception.C, main/pa_request.C, main/pa_stylesheet_manager.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.dsp, types/pa_vcookie.C, types/pa_vform.C, types/pa_vmail.C, types/pa_vxnode.C: found&kill all remaning leaks resulted from pooled::malloc calls [excluding in gd -- planning complete rewrite extremely ugly code] * src/targets/isapi/: pa_pool.C, pool_storage.h: removed unneeded files 2003-02-17 paf * src/: classes/date.C, classes/double.C, classes/file.C, classes/image.C, classes/int.C, classes/mail.C, classes/math.C, classes/response.C, classes/string.C, classes/table.C, classes/xdoc.C, classes/xnode.h, include/pa_stack.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, sql/pa_sql_driver.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vimage.h, types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.h, types/pa_vxnode.h, types/pa_wcontext.h, types/pa_wwrapper.h: fixed all remained bugs of unitialized simple-typed field * src/: classes/classes.C, classes/classes.h, main/execute.C, main/pa_charset.C, main/pa_request.C: another bug of unitialized simple-typed field fixed. todo: find&kill all like that one * src/: main/execute.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h: few bugs in debug output fixed * src/: include/pa_stack.h, main/compile.C, main/execute.C, main/pa_request.C: stack-stored items need extra .ref to prevent object_ptr from delete[them] * src/: classes/date.C, classes/op.C, classes/table.C, classes/xdoc.C, classes/xnode.C, include/pa_array.h, include/pa_charset.h, main/Makefile.am, main/main.dsp, main/pa_charset.C, main/pa_common.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vmail.C: fixed more leaks resulted from pooled::malloc calls * src/: main/pa_request.C, targets/cgi/parser3.C, types/pa_vfile.C: couple mem leaks rusulted from old pooled::malloc usage. todo:find more like those * src/main/: compile.C, compile_tools.C: 2*2! * src/: include/pa_array.h, include/pa_request.h, main/execute.C: stackItem fixed [there were no string on stack before] * src/: main/execute.C, main/pa_request.C, types/pa_vmethod_frame.C: first letters out OK * src/: classes/classes.C, include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, main/pa_request.C, main/pa_string.C, main/untaint.C, types/pa_value.h, types/pa_vint.h, types/pa_vstateless_class.h, types/pa_vstring.h, types/pa_vvoid.h, types/pa_wcontext.h: class fields of simple type not initialized with zeros :( while class fields of class types initialized with default constructors. learn C++ * src/: classes/classes.awk, classes/double.C, classes/file.C, classes/form.C, classes/image.C, classes/int.C, classes/mail.C, classes/math.C, classes/xdoc.C, classes/xnode.C, include/pa_array.h, include/pa_string.h, main/pa_exec.C, types/pa_vmail.C: parser3.exe - 0 error(s), 0 warning(s) 2003-02-14 paf * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C: 13 link errors * src/: classes/file.C, include/pa_request.h, main/pa_request.C, main/pa_sql_driver_manager.C, targets/cgi/parser3.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vimage.C, types/pa_vtable.C: all compiled, only 14 link errors :) * src/: classes/classes.C, classes/classes.awk, classes/file.C, classes/hash.C, classes/mail.C, classes/op.C, include/pa_common.h, include/pa_request.h, include/pa_sapi.h, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C: classes.lib - 0 error(s), 0 warning(s) parser.C compiled * src/: classes/classes.dsp, classes/op.C, classes/string.C, classes/table.C, include/pa_common.h, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vhash.h, types/pa_vint.h, types/types.dsp: op compiled * src/: classes/classes.dsp, classes/response.C, classes/string.C, include/pa_dictionary.h, include/pa_string.h, main/pa_string.C, main/untaint.C, types/pa_vtable.h: string, response compiled 2003-02-07 paf * src/: classes/table.C, types/pa_vtable.h: table compiled 2003-02-06 paf * src/: classes/mail.C, include/pa_request.h, main/pa_request.C: mail compiled * src/: classes/image.C, classes/string.C, classes/xdoc.C, include/pa_common.h, include/pa_hash.h, main/pa_common.C, types/pa_vfile.h, types/pa_vimage.h: image compiled * src/classes/: file.C, form.C: form compiled * src/: classes/classes.dsp, classes/file.C, include/pa_common.h, include/pa_exec.h, main/pa_common.C, main/pa_exec.C, types/pa_vfile.C, types/pa_vfile.h: file compiled * src/: classes/hash.C, classes/math.C, types/pa_vmath.C, types/pa_vmath.h: math compiled [win32] * src/: classes/hash.C, include/pa_hash.h, include/pa_table.h, types/pa_vstring.h: hash compiled 2003-02-04 paf * src/: classes/date.C, classes/hash.C, include/pa_exec.h, include/pa_hash.h, include/pa_request.h, include/pa_string.h, include/pa_table.h, main/pa_common.C, main/pa_exec.C, main/pa_string.C, types/pa_method.h, types/pa_vform.C, types/pa_vhash.h: hash 50% compiled * src/: classes/date.C, classes/file.C, classes/hash.C, classes/image.C, classes/mail.C, classes/math.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, classes/xnode.C, include/pa_request.h, main/pa_globals.C, main/pa_string.C: date compiled * src/classes/: classes.dsp, double.C: double compiled * src/: 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/xdoc.C, classes/xnode.C, types/pa_vdouble.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vxdoc.h, types/pa_vxnode.h: int compiled * 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, classes/xnode.h, types/pa_vvoid.h: void compiled :) * src/: include/pa_globals.h, main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, main/pa_pool.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_uue.C, main/untaint.C, types/pa_value.C, types/pa_vcookie.C, types/pa_vfile.C, types/pa_vimage.C, types/pa_vmath.C, types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vstateless_class.C, types/pa_vstatus.C, types/pa_vstring.C, types/pa_vtable.C, types/pa_wcontext.C, types/types.dsp: removed stupid value_includes.h * src/types/: pa_value.C, pa_value_includes.h, pa_vrequest.C: trying to remove stupid value_includes.h * src/main/pa_exec.C: pa_exec compiled on win32 * src/main/pa_exec.C: libmain.a compiled on six [unix] * src/: include/pa_globals.h, include/pa_request.h, types/pa_value.C, types/pa_value.h, types/pa_vclass.C, types/pa_vcookie.C, types/pa_vdate.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vmail.C, types/pa_vobject.C, types/pa_vrequest.C, types/pa_vstateless_class.C, types/pa_vstatus.C, types/pa_vtable.C: libtypes.a compiled gcc * src/: include/pa_config_includes.h, include/pa_dictionary.h, main/pa_common.C, main/pa_dictionary.C, main/pa_exec.C, main/pa_socks.C: libmain.a gcc and mail.lib msvc++ compiled * src/: include/pa_array.h, include/pa_config_includes.h, include/pa_dictionary.h, main/pa_dictionary.C, main/pa_exec.C, main/pa_socks.C, main/pa_sql_driver_manager.C: gcc libmain.a compiled * src/main/pa_globals.C: merged changes from 1.149-1.150 (stupid name conflicts) * src/: main/compile_tools.h, main/execute.C, main/pa_table.C, types/pa_vmethod_frame.h, types/pa_vvoid.h: yuk: gcc on cygwin yelds "virtual memory exhausted" while trying to compile execute.C [eating up to 127MB] 2003-02-03 paf * src/: include/pa_config_includes.h, include/pa_hash.h, include/pa_operation.h, include/pa_pool.h, include/pa_string.h, main/pa_common.C, types/pa_value.C, types/pa_value.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vstateless_class.h, types/pa_vstring.h, types/types.dsp: started gcc compiling pa_common compiled * src/: include/pa_exception.h, include/pa_pool.h, main/pa_exception.C: exception gcc change #1 * src/include/: Makefile.am, pa_hash.h, pa_pool.h: gcc refused to compile _P identifier. it replaced it to some strange 0x0000040 * src/types/: pa_vmath.C, pa_vmethod_frame.C: vmath compiled * src/types/pa_vtable.C: vtable compiled * src/types/: pa_vstring.C, pa_vstring.h: vstring compiled * src/: include/pa_cache_managers.h, main/pa_request.C, types/pa_vstatus.C, types/pa_vstatus.h: vstatus compiled * src/types/pa_vstateless_class.C: vstateless_class compiled * src/types/: pa_vresponse.C, pa_vresponse.h: vresponse compiled * src/types/pa_vrequest.C: vrequest compiled * src/types/: pa_value.C, pa_value.h, pa_vclass.C, pa_vclass.h, pa_vobject.C, pa_vobject.h: vobject compiled * src/: classes/form.C, classes/mail.C, include/pa_request.h, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vform.C, types/pa_vmail.C, types/pa_vmail.h: vmail compiled * src/types/: pa_vimage.C, pa_vimage.h: vimage compiled * src/: include/pa_pool.h, main/pa_request.C, types/pa_value.C, types/pa_vclass.C, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vform.C, types/pa_vform.h, types/pa_vobject.h: vform compiled * src/: include/pa_request.h, main/execute.C, main/pa_request.C: main.lib - 0 error(s), 0 warning(s) * src/: include/pa_request.h, main/execute.C, main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.h: execute compiled 2003-01-31 paf * src/: include/pa_array.h, include/pa_operation.h, include/pa_request.h, main/execute.C, main/main.dsp, types/pa_vjunction.h: started last file from main library: execute * src/: include/pa_request.h, include/pa_sapi.h, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vhash.h: pa_request compiled * src/: classes/op.C, classes/string.C, include/pa_common.h, include/pa_globals.h, include/pa_request.h, include/pa_sql_connection.h, main/compile.tab.C, main/compile.y, main/execute.C, main/main.dsp, main/pa_common.C, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vcode_frame.h, types/pa_vcookie.h, types/pa_vform.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vresponse.h, types/pa_vtable.h, types/pa_wcontext.C, types/pa_wcontext.h, types/types.dsp: most pa_request compiled * src/: classes/classes.C, 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/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_opcode.h, include/pa_operation.h, include/pa_pool.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, lib/ltdl/config_fixed.h, lib/ltdl/ltdl.c, lib/ltdl/ltdl.h, lib/md5/pa_md5.h, lib/md5/pa_md5c.c, lib/pcre/dftables.c, lib/pcre/get.c, lib/pcre/maketables.c, lib/pcre/pcre.c, lib/pcre/pcre.h, lib/pcre/pcre_parser_ctype.c, lib/pcre/study.c, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/main.dsp, 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_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/getopt.c, targets/cgi/getopt.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_value.C, types/pa_value.h, types/pa_value_includes.h, types/pa_vbool.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_vdouble.h, types/pa_venv.h, types/pa_vfile.C, 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_vint.h, types/pa_vjunction.h, types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, types/pa_vmath.h, types/pa_vmethod_frame.C, 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.C, 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: grammar compiled * ChangeLog, src/classes/classes.h, src/classes/op.C, src/include/pa_cache_managers.h, src/include/pa_charset.h, src/include/pa_charsets.h, src/include/pa_common.h, src/include/pa_dictionary.h, src/include/pa_exception.h, src/include/pa_exec.h, src/include/pa_pool.h, src/include/pa_request.h, src/include/pa_sapi.h, src/include/pa_sql_connection.h, src/include/pa_sql_driver_manager.h, src/include/pa_string.h, src/include/pa_table.h, src/include/pa_uue.h, src/main/compile.C, src/main/compile.tab.C, src/main/compile_tools.C, src/main/compile_tools.h, src/main/main.dsp, src/main/pa_charset.C, src/main/pa_charsets.C, src/main/pa_common.C, src/main/pa_dictionary.C, src/main/pa_exception.C, src/main/pa_exec.C, src/main/pa_request.C, src/main/pa_sql_driver_manager.C, src/main/pa_string.C, src/main/pa_table.C, src/main/pa_uue.C, src/main/untaint.C, src/types/pa_value.C, src/types/pa_value.h, src/types/pa_vclass.h, src/types/pa_vcookie.C, src/types/pa_vcookie.h, src/types/pa_vdate.h, src/types/pa_vdouble.h, src/types/pa_venv.h, src/types/pa_vfile.C, src/types/pa_vfile.h, src/types/pa_vform.h, src/types/pa_vhash.h, src/types/pa_vimage.C, src/types/pa_vimage.h, src/types/pa_vint.h, src/types/pa_vmail.C, src/types/pa_vmail.h, src/types/pa_vmath.C, src/types/pa_vmath.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_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.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: ConstStringPtr died, long live StringPtr 2003-01-30 paf * src/: include/pa_charset.h, include/pa_request.h, include/pa_sql_driver_manager.h, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/pa_request.C, types/pa_vobject.h, types/pa_vstatus.h: grammar compiled * src/: classes/classes.h, include/pa_pool.h, main/compile.C, main/compile.tab.C, types/pa_value.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vmethod_frame.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/types.dsp: vstateless_class compiled * src/main/compile.C: compile compiled * src/: include/pa_array.h, include/pa_operation.h, include/pa_table.h, main/compile_tools.C, main/compile_tools.h, main/pa_table.C: compile_tools compiled * src/: include/pa_operation.h, main/compile.y, main/compile_tools.C, main/compile_tools.h: started compile_tools. vagues ideas of how to free compiled code * src/: include/pa_opcode.h, main/compile_tools.h, main/execute.C, main/main.dsp, types/pa_value.C, types/pa_value.h, types/pa_vmethod_frame.h, types/pa_vstateless_class.h: value compiled 2003-01-29 paf * src/: include/pa_globals.h, include/pa_request.h, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.h, types/pa_vstateless_class.h, types/pa_wcontext.h, types/types.dsp: vmethodframe, pa_request.h compiled * src/lib/ltdl/config_fixed.h: libltdl compiled without warnings now * src/: include/pa_array.h, include/pa_exception.h, include/pa_pool.h, main/pa_exception.C: gd compiled * src/types/: pa_vfile.C, pa_vfile.h, pa_vimage.C, pa_vimage.h: gd compiled * src/: classes/file.C, include/pa_globals.h, main/pa_globals.C, types/pa_value.C, types/pa_value.h, types/pa_vfile.C, types/pa_vfile.h: vfile compiled * src/: include/pa_common.h, include/pa_globals.h, include/pa_string.h, main/pa_globals.C, types/pa_value.C, types/pa_value.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vform.C, types/pa_vform.h: vcookie compiled * src/: include/pa_exception.h, main/pa_cache_managers.C, main/pa_charsets.C, main/pa_common.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_pool.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_uue.C: #include "pa_value_includes.h" everywhere in main * src/: include/pa_request_charsets.h, include/pa_request_info.h, main/main.dsp, main/untaint.C: more compiled * src/: include/pa_charsets.h, include/pa_request.h, include/pa_request_info.h, include/pa_string.h, main/pa_charsets.C, types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vresponse.h: vrequest compiled * src/types/: pa_value.h, pa_vdate.h, pa_vform.h, pa_vhash.h, pa_vobject.C, pa_vobject.h, pa_vrequest.C, pa_vresponse.C, pa_vresponse.h, pa_wcontext.h: vrequest compiled * src/: classes/classes.h, include/pa_charset.h, include/pa_charsets.h, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, include/pa_string.h, main/main.dsp, main/pa_charset.C, main/pa_charsets.C, main/pa_globals.C, main/untaint.C, types/pa_value.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vmath.C, types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vstateless_class.h, types/pa_vstring.h, types/pa_vvoid.h: vrequest,vdouble,vint compiled * src/: classes/classes.h, classes/math.C, include/pa_pool.h, include/pa_request.h, include/pa_sapi.h, include/pa_string.h, main/main.dsp, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vjunction.h, types/pa_vmath.C, types/pa_vmath.h, types/pa_vobject.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vstatus.h, types/pa_vstring.h, types/types.dsp: vmath compiled 2003-01-28 paf * src/: classes/classes.h, classes/date.C, classes/file.C, classes/hash.C, classes/image.C, classes/table.C, classes/xdoc.C, classes/xnode.h, main/execute.C, main/main.dsp, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vstateless_class.h: started main: compile_tools * src/: include/pa_charset.h, include/pa_exception.h, include/pa_request.h, include/pa_string.h, main/untaint.C: untaint compiled * ChangeLog, src/include/pa_array.h, src/include/pa_string.h, src/main/execute.C, src/main/untaint.C, src/types/pa_vmail.C: more compiled. struck with string::store_to needing to know source/client charsets * src/: include/pa_exception.h, include/pa_uue.h, main/pa_uue.C, types/pa_vfile.h: uue compiled * src/: include/pa_table.h, main/pa_string.C, main/pa_table.C: table compiled * src/: include/pa_cache_managers.h, main/pa_cache_managers.C, main/pa_globals.C, main/pa_sql_driver_manager.C: globals compiled * src/: include/pa_charset.h, main/pa_charset.C, main/pa_charsets.C: charset/s simplified [charset::pool_for_load introduced] * src/: classes/date.C, include/pa_charset.h, include/pa_charsets.h, include/pa_globals.h, main/pa_charset.C, main/pa_charsets.C, main/pa_globals.C, main/pa_request.C: pa_charsets compiled * src/: include/pa_array.h, include/pa_exec.h, include/pa_hash.h, include/pa_pool.h, main/pa_exec.C: pa_exec win32 compiled * src/: include/pa_pool.h, main/pa_common.C, types/pa_vdouble.h: common compiled * src/: include/pa_charsets.h, main/pa_charsets.C, main/pa_sql_driver_manager.C: pa_charsets compiled * src/: include/pa_array.h, include/pa_charset.h, include/pa_charsets.h, include/pa_pool.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stack.h, include/pa_string.h, main/pa_sql_driver_manager.C, types/pa_vhash.h, types/pa_vint.h: sql_driver_manager compiled * etc/parser3.charsets/: koi8-r.cfg, windows-1251.cfg: ukranian letter i with two dots added to koi, all ukranian letters added to win1251. typographic simbol 0xb9 deleted from win1251 [strange one & were abscent from koi] 2003-01-27 paf * src/: include/pa_exception.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_string.h, main/pa_common.C, main/pa_exec.C, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: paused on sql_manager * src/: include/pa_cache_managers.h, include/pa_pool.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stack.h, main/pa_sql_driver_manager.C, types/pa_vtable.h, types/pa_vvoid.h: vtable compiled * src/: classes/op.C, include/pa_globals.h, include/pa_hash.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_table.h, main/pa_sql_driver_manager.C, main/pa_table.C: table compiled * src/: include/pa_cache_managers.h, main/pa_cache_managers.C: cache_managers compiled * src/: include/pa_array.h, include/pa_charset.h, include/pa_pool.h, main/pa_charset.C: charset compiled * src/: include/pa_pool.h, main/pa_common.C: common compiled * src/: include/pa_array.h, include/pa_common.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/pa_common.C, main/pa_string.C, types/pa_value.C, types/pa_value.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vstateless_class.h, types/pa_wcontext.C, types/pa_wcontext.h: wcontext compiled 2003-01-24 paf * src/: classes/classes.C, classes/classes.h, include/pa_array.h, include/pa_common.h, include/pa_globals.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/pa_common.C, main/pa_globals.C, main/pa_string.C, types/pa_value.h, types/pa_vbool.h, types/pa_vdouble.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vstatus.h, types/pa_vstring.h: more patched * src/: classes/op.C, include/pa_array.h, include/pa_exception.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, main/pa_dictionary.C, main/pa_exception.C, main/pa_string.C, main/pa_table.C: string compiled * src/: include/pa_array.h, include/pa_common.h, include/pa_dictionary.h, include/pa_exception.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, main/pa_common.C, main/pa_dictionary.C, main/pa_exception.C, main/pa_string.C: dictionary compiled 2003-01-23 paf * src/: include/pa_array.h, include/pa_common.h, include/pa_exception.h, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, include/pa_string.h, main/pa_common.C, main/pa_exception.C, main/pa_globals.C, types/pa_value.C, types/pa_value.h: resurrected pool in new sense: now it's factory, producing&accounting memory chunks for read[autofree] buffers * src/: include/pa_array.h, include/pa_exception.h, include/pa_hash.h, include/pa_pool.h, include/pa_table.h, main/pa_exception.C, main/pa_table.C: table compiled * src/: classes/image.C, classes/op.C, include/pa_array.h, include/pa_exception.h, include/pa_globals.h, include/pa_hash.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_sapi.h, include/pa_string.h, include/pa_table.h, include/pa_types.h, main/pa_exception.C, main/pa_globals.C, main/pa_string.C, main/pa_table.C: aint that easy * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, main/main.dsp: continued with Hash * src/main/pa_common.C: connect_string allocated on heap[wes on stack] now. and exception can be reported OK now [can be reported outside of pro c with that stack] 2003-01-22 paf * src/: include/pa_array.h, include/pa_charset.h, include/pa_dictionary.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/pa_array.C, main/pa_hash.C, main/pa_pool.C, main/pa_string.C: started auto_ptr. PA_Object is base: contains references_count. auto_ptr template calls add_ref/release 2003-01-21 paf * src/: classes/classes.C, 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/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_opcode.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_request.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, lib/md5/pa_md5.h, lib/md5/pa_md5c.c, lib/pcre/pcre_parser_ctype.c, main/compile.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.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_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_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.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_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, 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_vint.h, types/pa_vjunction.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.C, 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, main/compile.tab.C, main/compile.y: 2002->2003 2003-01-16 paf * operators.ru.txt, operators.txt, src/include/pa_globals.h, src/main/pa_common.C, src/main/pa_globals.C: http:// introducing $.any-status(1) * operators.ru.txt, operators.txt, src/include/pa_config_fixed.h, src/main/pa_common.C: http request now return status. and not fail on status!=200 2003-01-15 paf * src/main/pa_globals.C: localized pa_xmlFileRead/Close 2003-01-14 paf * src/lib/ltdl/: config.guess, config.sub, install-sh, missing, mkinstalldirs: removed some ancient files [they in / really] * src/lib/ltdl/: config_fixed.h, libltdl.dsp, ltdl.c: ltdl.c regretfully needed patch in two places. in config_fixed.h made stubs for lib to compile in MSVC 2003-01-13 paf * config.guess, config.sub, ltmain.sh: removed last piece of configure.in(libtool) hacks * src/lib/ltdl/: COPYING.LIB, acinclude.m4, config.h, config_auto.h.in, configure, configure.in, libltdl.dsp, ltdl.c, ltdl.h: moved to latest libtool (1.4.3) 2003-01-10 paf * src/lib/ltdl/: configure, configure.in: PROG_NM * src/main/pa_globals.C: moved to latest xml lib versions, changed patches. libxml2 >= 2.5.1 [ftp://xmlsoft.org/libxml2-2.5.1.tar.gz] libxslt >= 1.0.23 [ftp://xmlsoft.org/libxslt-1.0.23.tar.gz] gdome2 >= 0.7.2 [http://gdome2.cs.unibo.it/tarball/gdome2-0.7.2.tar.gz] * INSTALL: moved to latest versions of xml libs libxml2 >= 2.5.1 [ftp://xmlsoft.org/libxml2-2.5.1.tar.gz] libxslt >= 1.0.23 [ftp://xmlsoft.org/libxslt-1.0.23.tar.gz] gdome2 >= 0.7.2 [http://gdome2.cs.unibo.it/tarball/gdome2-0.7.2.tar.gz] 2003-01-09 paf * INSTALL: xml,xslt,gdome lib urls updated * config.guess, config.sub, missing, mkinstalldirs, src/include/pa_config_auto.h.in, src/lib/ltdl/config_auto.h.in, src/lib/ltdl/configure, src/lib/ltdl/configure.in, src/targets/cgi/Makefile.am: moved to autoconf 2.57 & automake 1.7.2 * depcomp: moving to automake 1.7.2 2002-12-27 paf * src/include/pa_version.h: 0007 * 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 2002-12-26 paf * src/classes/file.C: ^file:fullpath[a.gif] when document root did not contain trailing / fixed. * INSTALL: changing SAFE_MODE politics * src/include/pa_config_auto.h.in: changing SAFE_MODE politics * src/main/: pa_common.C, pa_exec.C: changing SAFE_MODE politics 2002-12-25 paf * src/main/pa_globals.C: optimized-xml * src/main/pa_globals.C: optimized-as-is 2002-12-24 paf * src/main/: pa_common.C, pa_pool.C: pool::copy on zero size|ptr fixed [were really called with zero size when .html?a=&b=] * src/classes/mail.C: $MAIL in @conf now invalid when configured with --with-sendmail * src/main/pa_exec.C: fork/pipe error now [old always-pipe-error fixed] 2002-12-23 paf * src/types/pa_vcookie.C: $cookie:field[put value] fixed [were ignoring parameters & were storing only string with default expires * src/main/pa_charset.C: From: "Victor Fedoseev" To: "Alexandr Petrosian (PAF)" Sent: Monday, December 23, 2002 4:22 AM Subject: bug â Charset::transcode_buf2xchar 2002-12-20 paf * src/targets/cgi/parser3.C: removed last \n appending in non-win32 non-cgi [script] runs 2002-12-19 paf * INSTALL: --without-iconv recommended [it crashes on some systems [tested on elik]] moreover, it's not needed there [parser registers charsets itself] * INSTALL: --without-iconv recommended [it crashes on some systems [tested on elik]] * operators.ru.txt, operators.txt, src/include/pa_globals.h, src/include/pa_request.h, src/main/pa_globals.C, src/main/pa_request.C: $response:download * src/classes/mail.C: 'to' check bugfix [now checked only on ms compiler [win32]]. 2002-12-18 paf * src/classes/xdoc.C: doc->URL on xdoc.load set correctly now 2002-12-17 paf * src/targets/cgi/parser3.C: merged die&iis changes * src/targets/cgi/parser3.C: 1. on win32 in die: abort() reverted to exit(1) 2. more flexible iilegal call check 2002-12-16 paf * ltmain.sh: some automakes silly insist on having this handy * src/main/untaint.C: filespec russian small 'r' changed to latin 'p' bug fix 2002-12-15 paf * src/main/untaint.C: filespec russian small 'r' changed to latin 'p' * configure.in, src/include/pa_config_auto.h.in, src/main/compile.C, src/main/pa_common.C: merged small changes from branch 6 to HEAD * src/main/compile.C: removed warning * src/main/pa_common.C: ftruncate having checked * configure.in, src/include/pa_version.h: new version 2002-12-14 paf * 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: $void.store[now] error * src/targets/cgi/parser3.C: ::die now tries to write core dump * src/targets/: cgi/parser3.C, isapi/parser3isapi.C: ::die now tries to write core dump * src/targets/cgi/parser3.C: ::die now tries to write core dump * src/: classes/hash.C, classes/string.C, classes/table.C, classes/void.C, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: changed exception handling mech in sql handlers #2 * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: changed exception handling mech in sql handlers * src/sql/pa_sql_driver.h: changed exception handling mech in sql handlers * src/: classes/hash.C, classes/string.C, classes/table.C, classes/void.C, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: changed exception handling mech in sql handlers * configure.in: removed configure.in:AC_LIBTOOL, it caused automake to write makefile which used libtool to install things, which is not needed 2002-12-06 paf * operators.ru.txt, operators.txt, src/main/compile.tab.C, src/types/pa_vhash.h: $hash.fields -- pseudo field to make 'hash' more like 'table' 2002-12-05 paf * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: smtp cc/bcc OK now * src/main/untaint.C: mail header closed properly * 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, 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 "", checked that now * src/targets/cgi/parser3.C: more checks on http://domain/parser.cgi start [maybe some getenv returns "", checked that now * src/targets/cgi/parser3.C: error logging made unbuffered [so that out-of-mem errors reached log] * 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 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: lib/libltdl -> lib/ltdl Win32 changes. s * src/classes/classes.awk: more strict *.C$ * gnu.dsp: restored * configure.in, gnu.dsp, src/lib/Makefile.am, src/lib/ltdl/Makefile.am, src/lib/ltdl/README, src/lib/ltdl/acinclude.m4, src/lib/ltdl/config.guess, src/lib/ltdl/config.h, src/lib/ltdl/config.sub, src/lib/ltdl/config_auto.h.in, src/lib/ltdl/config_fixed.h, src/lib/ltdl/configure, src/lib/ltdl/configure.in, src/lib/ltdl/install-sh, src/lib/ltdl/libltdl.dsp, src/lib/ltdl/ltdl.c, src/lib/ltdl/ltdl.h: src/lib/ltdl/Makefile now created with /configure, not ltdl/configure, so it does have no problems with automake. ltdl/configure AC_OUTPUT(Makefile<>attachment<< * 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: utf8 prefix ignored @read text * operators.ru.txt, operators.txt, src/main/pa_common.C: http:// response status!=200 made exception: http.status with source=bad status# 2002-11-25 paf * configure.in, src/classes/image.C, src/include/pa_config_auto.h.in, src/include/pa_config_includes.h, src/main/Makefile.am, src/main/pa_common.C, src/main/pa_globals.C: http:// and image const void related probs fixed * operators.ru.txt, operators.txt, src/main/pa_common.C: http fields now UPPERCASE $file[^file::load[http://there]] $file.SERVER * 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.ru.txt, 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: 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] ]] 2002-11-22 paf * 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, operators.ru.txt, operators.txt: $image.exif support $image.exif.DateTime & co 2002-11-21 paf * src/main/: pa_exec.C, untaint.C: cstr(UL_UNSPECIFIED) [not _PASS_APPENDED) * src/classes/image.C: jpeg size measure fixed: were badly skipping EXIF information [were big block and it's size were considered negative :(] * operators.ru.txt, operators.txt, src/classes/image.C, src/include/pa_common.h, 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 Igor Milyakov for discovering] 2002-11-20 paf * src/targets/cgi/parser3.C: logging @signal += query_string * configure.in, src/include/pa_config_auto.h.in, src/include/pa_config_includes.h, src/targets/cgi/parser3.C: comment * src/targets/cgi/parser3.C: SIGNALS overriden @ main top * src/: include/pa_request.h, main/execute.C, main/pa_request.C, targets/cgi/parser3.C: SIGUSR1 >> writes to error_log uri of currently processed document SIGPIPE >> interrupts request processing [exception = DB rollback] * src/main/pa_exec.C: comment * src/main/pa_exec.C: pa_exec: data written only if size>0 * operators.ru.txt, operators.txt, src/classes/file.C: ^file::exec/cgi[file;$.stdin[] << disable HTTP-POST repassing * src/: include/pa_config_fixed.h, main/pa_common.C, main/pa_exec.C, targets/cgi/parser3.C: ^file:exec/cgi [pa_exec] pipe read errors now checked 2002-11-19 paf * src/targets/cgi/parser3.C: removed #ifdef WIN32 around check of CGI: Illegal call 2002-11-01 paf * src/main/execute.C: comment 2002-10-31 paf * src/main/execute.C: found out why, checked that for now. todo: find out a way for that user could do that * 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, 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 static[class] variable from base * src/: classes/op.C, types/pa_value.h, types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h: fixed statics, left $virtual_fields in dynamic * src/types/: pa_vobject.C, pa_vstateless_class.C: realized that one can't remember derivates in base class: there's so many of them. also there can be no virtual method calls in static classes * 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, types/pa_value.h, types/pa_vobject.h: ^process[$caller.self]{...} now compiles to last derived object part of that 'self' 2002-10-29 paf * src/targets/isapi/parser3isapi.C: comment on 404 bad status re-passing [iis to blame] * src/classes/string.C: changed string.save to pass current sql connection to cstr thus one can ^connect[some server]{ $s[insert into table x (x) values (^taint[sql]{value})] ^s.save[some.sql] } and he'd get in some.sql file code with properly escaped. [tried in mssql->mysql export->import of binary data] 2002-10-25 paf * src/types/pa_vresponse.C: case insensitive response user fields get/put * src/: include/pa_hash.h, main/pa_hash.C, main/pa_request.C, types/pa_vresponse.C: saving for maybe-future 2002-10-23 paf * operators.ru.txt, operators.txt, src/classes/table.C: ^table.hash{code}... ^table.hash(expr)... * src/types/pa_vmail.C: email whitespace trimBoth-ed 2002-10-22 paf * src/types/: pa_vform.C, pa_vform.h: removed needless VForm::Append...(...Value) * src/main/execute.C: $.name outside of $name[...] checked * src/main/: compile.tab.C, compile.y: lexer changed to fix ^call[]^#HH bug [that situation yelded no EON, which whas wrong] 2002-10-21 paf * operators.ru.txt, operators.txt, src/types/pa_vform.C, src/types/pa_vform.h: $form:qtail $form:imap.x/y * operators.ru.txt, operators.txt, src/types/pa_vform.C: $form:nameless = "?value&...", "...&value&...", "...&value" * operators.ru.txt, operators.txt, src/types/pa_vform.C: $form:image-map * operators.ru.txt, operators.txt, src/classes/file.C: /some/page.html: ^file:fullpath[a.gif] => /some/a.gif 2002-10-17 paf * src/main/: compile.tab.C, compile.y: operators precedence changed a little: logical not and bitwise negation precedence made highest, << and >> bitshits precedence made equal [were << higher than >>] * src/classes/op.C: exception handling fixed [were bad with contexts] 2002-10-16 paf * 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() * src/: classes/op.C, main/pa_request.C: VMainClass now has name = $hash in open field now gives old good error meesage 2002-10-15 paf * 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, 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: ^process[CLASS]{body} now executed with CLASS self. [ (request&method_frame).self temporarily changed ] * 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, targets/cgi/parser3.C, types/pa_vstateless_class.C, types/pa_vstateless_class.h: compiling to system classes disabled * operators.ru.txt, operators.txt, src/classes/op.C: ^process[$caller.CLASS]{code-string} added * operators.ru.txt, 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: removed $junction.get $junction.set[] introducing $caller * src/types/pa_value.h: removed outdated comments. doxygen would find them lower by inheritance tree * src/types/pa_vjunction.C: ident 2002-10-14 paf * src/classes/op.C: process compiles to code's class class * 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, 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 * src/main/execute.C: operator execution context now = MAIN, not closest stack frame @touchit[] $i[after] ----t.html $i[before] << local ^touchit[] $i << now 'before', were 'after' ---t.html $i[before] << notlocal [main] ^touchit[] $i << now 'after' * src/main/execute.C: comment * 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.ru.txt, operators.txt: $status:rusage.tv_secs/usecs introduced 2002-10-09 paf * src/classes/: double.C, int.C, string.C: ^string.int[] now failes on empty string [or uses (default)] 2002-10-08 paf * src/main/untaint.C: mail header quoted printable changed after RFC reread * operators.ru.txt, operators.txt: plan on ^if(method * src/types/pa_vxnode.C: misreplace 2002-09-24 paf * src/targets/cgi/Makefile.am: LIBS were bad name in .am * src/types/pa_vmail.C: HAVE_TIMEZONE & co now checked and mailreceive would compile on freebsd now * src/include/pa_config_fixed.h, src/types/pa_vmail.C, acconfig.h, configure, configure.in, src/include/pa_config_auto.h.in, src/targets/cgi/Makefile.am: HAVE_TIMEZONE & co now checked and mailreceive would compile on freebsd 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 @russianindex[] #dir with files with russian-lang names $where[dir] $dir[^file:list[$where;\.txt^$]] ^dir.menu{ $dir.name
} 2002-09-23 paf * src/types/pa_vdouble.h: double->int round added * src/classes/date.C: date bug fix, now round(floatDays*secondsPerDay) * src/classes/date.C: date bug fix, now round(floatDays*secondsPerDay) 2002-09-20 paf * 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, compile.y: changed grammer on junction expanding to include ^junction.method * src/main/pa_common.C: -d "DIR/" now true * 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: hash.foreach modification of existing keys allowed * src/types/types.dsp: introducing $junction.get/put(1) one can write iterators now: ^user-foreach[key;value]{$key=$value
} @user-foreach[key;value;code] ^for[i](1;10){ $code.key($i) $code.value($i*2) $code } * src/main/compile_tools.h: mistype * src/targets/cgi/Makefile.am: binaries now depend on makefiles, thus taking linking options configure changes into account [were: ignoring] * src/types/: pa_vjunction.C, Makefile.am: introducing $junction.get/put(1) one can write iterators now: ^user-foreach[key;value]{$key=$value
} @user-foreach[key;value;code] ^for[i](1;10){ $code.key($i) $code.value($i*2) $code } * 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
} @user-foreach[key;value;code] ^for[i](1;10){ $code.key($i) $code.value($i*2) $code } 2002-09-19 paf * Makefile.am: new: make commit * aclocal.m4: forced to be older 2002-09-18 paf * parser3.dsw, src/include/pa_opcode.h, src/main/compile.tab.C, 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: ^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 converted to subject: ?koi8-r?Q?...?= ?koi8-r?Q?...?= 2002-09-17 paf * src/: main/execute.C, types/pa_value.h, types/pa_vmethod_frame.h: removed changes, operators executed with calling self. lots of code with ^include code relies on defined/defining self variables $a[1] ^include[print_a.p] print_a.p: $a ^include[set_a.p] a=$a set_a.p: $a[1] * 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, 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/classes/: table.C, xdoc.C: table::sql options table::create copy options options checked, wrong option now fatal error * 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: .so now detected [can be .sl on hpux, .dll on cygwin, .so in other cases) * operators.ru.txt, operators.txt, src/classes/hash.C, src/classes/table.C, 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, table.C: menu/for delims bug fixed [were ,2,3] 2002-09-16 paf * 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 2002-09-13 paf * operators.ru.txt, operators.txt, src/main/compile.tab.C, src/main/compile.y, src/main/compile_tools.h: (expression #comment) (multiline expression #comment line2 #comment ) (expression #comment with (brackets) comment) << OK * operators.ru.txt, operators.txt, src/main/compile.tab.C, src/main/compile.y: !| bitwise !|| numerical xor now [preparing for expression #comments] * 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 * configure, configure.in, src/include/pa_config_auto.h.in: HAVE_WINSOCK_H created in configure.in * 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 * src/types/: pa_vclass.C, pa_vmail.C, pa_vobject.C: VObject & VClass get_element now first looks to fields, next to methods & co todo: the rest reason: more speed * src/main/untaint.C: quoted printable encoding stops before \s*<...>$ * src/main/untaint.C: quoted printable ' ' now =20 and encoding stops before <...>$ 2002-09-11 paf * 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 * src/lib/pcre/ibm-1254.ucm, etc/parser3.charsets/windows-1254.cfg: windows-1254 added 2002-09-10 paf * src/: classes/op.C, main/execute.C, types/pa_wcontext.h: VCodeFrame parent param were specified badly * src/: main/execute.C, types/pa_value.h, types/pa_wwrapper.h: WWrapper which used in constructing objects(second param to sql method) ^...sql{}[$.default{code}] now has parent, wich helps code in hash to survivi * src/: include/pa_request.h, main/execute.C: removed redundant param to execute [stack said 'thanks'] * src/: classes/op.C, main/execute.C, types/pa_value.C, types/pa_value.h, types/pa_vcode_frame.h, types/pa_vmethod_frame.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h: moved junction kill responsibility to wcontext * 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, 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 * configure: makes with sjlj * INSTALL, src/include/pa_config_fixed.h, src/include/pa_sql_connection.h, 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 * configure, configure.in: introducing --with-sjlj-exceptions [hpux can not work with longjump/throw pair, and one must switch that on there. todo: detect that automatically] * 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.ru.txt, 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 comparison operators worked badly * src/types/pa_vdate.h: removed debug * Makefile.am, src/types/pa_vdate.h: happy now only install-exec * src/main/execute.C: fixed numeric < & co so that thay now use c=a-b, c OPERATOR 0. this works fine on solaris/intel for still unknown reason. 2002-08-29 paf * parser3.dsw, src/classes/classes.dsp, src/classes/hash.C, src/classes/op.C, src/classes/string.C, src/include/pa_request.h, src/lib/md5/md5.dsp, src/main/execute.C, src/main/main.dsp, 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: 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: $cookie:name[&] $cookie:name << now tainted * src/types/pa_vcookie.C: fixed cookie delete when $cookie:name[$.value[]] * operators.ru.txt, 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.ru.txt, operators.txt, src/main/compile.tab.C, src/main/compile.y: # now delimiter * INSTALL: recommended latest gmime 1.0.5 2002-08-26 paf * configure, configure.in: apache13/hook added to make dist. 2002-08-23 paf * 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 * Makefile.am: can use: make happy equals to make update install * 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: fixed bad language bug, [were wrong string cloning constructor] * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls * 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: fixed language of file:file result * operators.ru.txt, operators.txt, src/classes/void.C: ^void.pos[...] = -1 merged from 3.0.0005 * operators.ru.txt, operators.txt, src/classes/void.C: ^void.pos[...] = -1 * operators.ru.txt, operators.txt, src/classes/void.C: ^void.length[] = 0 merged from 3.0.0005 * src/classes/void.C, operators.ru.txt, operators.txt: ^void.length[] = 0 2002-08-19 paf * src/classes/xdoc.C: xdoc getElementsByTagName, ...NS overriden, work now * src/: classes/xnode.C, types/pa_vxdoc.C: xdoc.fields fixed [were error in xnode, which were not catched in xdoc] * src/: include/pa_stylesheet_connection.h, main/pa_globals.C: prepared: // validate each document after load/create (?) //xmlDoValidityCheckingDefaultValue = 1; 2002-08-15 paf * src/classes/classes.h: write to static var caused useless Exception, introduced Methoded::put_element wich consumes those * operators.ru.txt, 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: $response:field[date] $response:field[$.xxx[date]] * 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.ru.txt, operators.txt: $request:body unprecessed POST request body * src/types/pa_vrequest.C: $request:body unprecessed POST request * 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.ru.txt, 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: planning/preparing_to $request:body r.post_data now const * 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) ^if($xtable) now OK * src/: main/execute.C, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vobject.C, types/pa_vobject.h, types/pa_vxdoc.C, types/pa_vxdoc.h: is->as 2002-08-14 paf * 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 * src/targets/cgi/: fixopt.C, fixopt.h, parser3.C, Makefile.am: removed fixopt stupidity. on stupid linux use cd /document/root ../cgi/parser3 script * src/targets/cgi/fixopt.C: fixopt now preprocesses command line params, splitting them by space, excluding argv[0], argv[argc-1] * src/targets/cgi/: Makefile.am, parser3.C, parser3.dsp, fixopt.C, fixopt.h: fixopt now preprocesses command line params, splitting them by space, excluding argv[0], argv[argc-1] * src/targets/cgi/parser3.C: -f config file * src/targets/cgi/parser3.C: fixed .log file dir 2002-08-13 paf * src/types/pa_vobject.C: allow override parent variables, useful for form descendants [in vobject too, were in vclass] * src/types/pa_vclass.C: allow override parent variables, useful for form descendants * 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, 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.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: introduced Value::get_element(..., bool looking_down) [needed to exclude endless recoursion] * src/types/: pa_vclass.C, pa_vobject.C: reorganized modules todo: fix bug with put endless recoursion todo: check 'as' * src/types/: Makefile.am, pa_vclass.h, pa_vobject.h, types.dsp: reorganized modules todo: fix bug with put endless recoursion todo: check 'as' * src/types/pa_vobject.h: checked: table fields can be overwritten in derived(table) * src/types/pa_vobject.h: derived classes can have fields of their own now * 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, pa_vstateless_object.h: table derived OK * src/main/execute.C: ^base:create[] dynamic call rewritten todo: thorough testing * src/: main/compile.tab.C, main/compile.y, main/execute.C, main/pa_request.C, types/pa_value.h, types/pa_vclass.h, types/pa_vobject.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_wcontext.h, types/pa_valiased.C, types/pa_valiased.h, types/Makefile.am: ^base:create[] dynamic call rewritten todo: thorough testing * 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/: 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, types/pa_value.h, types/pa_vclass.h, types/pa_vobject.h, types/pa_vxdoc.h: started as() 2002-08-08 paf * operators.ru.txt, operators.txt, src/classes/date.C, src/include/pa_globals.h, 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}] ] * operators.ru.txt, 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][ìîñêâà]=] ] * src/: classes/file.C, classes/op.C, types/pa_vfile.C: ^process now prints more precise origin * src/include/pa_string.h: String::first_char now not fails on empty strings ^if(-f '') now ok and in 3 other places. * operators.ru.txt, operators.txt, src/include/pa_string.h, src/main/pa_string.C: String::first_char now not fails on empty strings ^if(-f '') now ok and in 3 other places. 2002-08-07 paf * src/: classes/string.C, main/pa_string.C: ^string.mid(0;bad) fixed * 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.ru.txt, operators.txt, src/classes/op.C: ^cache...{...^cache<client only when text/* or simple onoverridden $response:body 2002-08-01 paf * src/: classes/classes.C, 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/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_dictionary.h, include/pa_dir.h, include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, include/pa_hash.h, include/pa_opcode.h, include/pa_pool.h, include/pa_request.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, lib/md5/pa_md5.h, lib/md5/pa_md5c.c, lib/pcre/pcre_parser_ctype.c, main/compile.C, main/compile.tab.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.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_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_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.C, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, 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_vint.h, types/pa_vjunction.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.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.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: now * src/: classes/classes.C, classes/classes.dsp, 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/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_opcode.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_request.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, lib/md5/pa_md5.h, lib/md5/pa_md5c.c, main/compile.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/main.dsp, main/pa_array.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_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_stylesheet_manager.C, main/pa_table.C, main/pa_uue.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.C, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, 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_vint.h, types/pa_vjunction.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.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.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, types/types.dsp, Makefile.am, classes/Makefile.am, main/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: ident.C* removed * operators.ru.txt, operators.txt, src/classes/file.C, src/main/pa_request.C: file:find[/can/do/this/now.txt] * src/targets/cgi/parser3.C: usage to stdout now 2002-07-31 paf * src/types/pa_vmail.C: mail: errors-to: now default "postmaster" * src/: classes/mail.C, types/pa_vmail.C: mail: errors-to: now default "postmaster" * src/: classes/mail.C, types/pa_vmail.C: mail from/to now must be. -f postmaster now default sendmail key word "postmaster" replaced to $.from 2002-07-30 paf * configure, configure.in, src/targets/cgi/pa_config_paths.h.in, src/targets/cgi/parser3.C: removed pa_config_paths.h * src/main/pa_charset.C: comment * src/main/pa_charset.C: UTF-8 to 1byte charset convert, no char in table, &#decimal; * src/main/pa_request.C: comment * etc/parser3.charsets/windows-1251.cfg: section sign [russian paragraf] 2002-07-11 paf * src/main/pa_exec.C: build command line badly added params twice [and first time without ' ']. double wrong. fixed. * src/main/pa_exec.C: invalid .exe caused error message with params wich parser did not provide = reported badly. fixed that. * src/classes/mail.C: $MAIL[ # xxx ] now ok * operators.ru.txt, operators.txt: plan: sql detailed exception 2002-07-01 paf * src/: classes/form.C, main/pa_request.C: @conf bug fixed [MForm.configure_admin were called when request.main_class ==0 * src/classes/form.C: 10*0x400*400 bug fix [4M not 10M] * src/classes/form.C: content_length type fix 2002-06-30 paf * src/classes/mail.C: merged from 4 * src/classes/mail.C: restored $MAIL 2002-06-28 paf * configure, configure.in: removed paths.h * configure, src/include/pa_version.h, src/targets/cgi/pa_config_paths.h.in: lates changes from 4 build merged, makes updated * ChangeLog, configure, operators.ru.txt, operators.txt, src/classes/xdoc.C, src/include/pa_charset.h, src/include/pa_config_fixed.h, 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: merged latest updates to head 2002-06-27 paf * src/targets/: cgi/parser3.dsp, isapi/parser3isapi.dsp: post-build not error now * operators.ru.txt, 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: ^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: xsltParseStylesheetDoc bug workaround 2002-06-26 paf * configure, configure.in, src/include/pa_version.h: release_3_0_0004 * src/main/pa_string.C: blank string '', ' ' considered 0 now * src/targets/cgi/parser3.C: /cgi-bin/parser empty filename checked 2002-06-25 paf * src/main/pa_string.C: emtpy string, or string of whitespaces considered bad number now * operators.ru.txt, operators.txt, src/classes/xdoc.C: ^xdoc.transform[xdoc <double @ compile time were not-enough-checking... * 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 * configure, configure.in: hpux check, nsl link, no socket * operators.ru.txt, operators.txt: old merge conflict removed * configure, configure.in: pack even address access on sparc&co arch checked in configure * configure, src/include/pa_version.h: makes * configure, configure.in, src/include/pa_version.h: makes * src/main/untaint.C: (bug#2) mail subject got always prepended with charset even when all letters were 7bit one * src/main/pa_common.C: merged fixed -d (bug) * src/main/pa_common.C: fixed -d (bug) 2002-06-03 paf * ChangeLog, operators.ru.txt, operators.txt, etc/parser3.charsets/windows-1251.cfg, 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: 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, targets/isapi/parser3isapi.dsp, types/types.dsp: reorganized cvs modules 2002-05-28 paf * src/targets/cgi/parser3.C: info.uri now "" 2002-05-17 paf * src/classes/: table.C: ^table.save << checked empty pre/match/post columns 2002-05-16 paf * src/classes/image.C: image::measure can png now 2002-05-15 paf * operators.ru.txt, operators.txt, src/classes/date.C: ^date::create[%H:%M[:%S]] added * etc/parser3.charsets/windows-1251.cfg: 0x forgot, fixed * operators.ru.txt, operators.txt, src/classes/date.C: ^date::create[%Y[-%m[-%d[ %H[:%M[:%S]]]]]] [-%m now 2002-05-14 paf * etc/parser3.charsets/: windows-1251.cfg: added 3 quotes 2002-05-07 paf * ChangeLog, 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: 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 * src/: main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/parser3isapi.C: removed 100*40 bytes per request memory leak [nonpool malloc in globals] * src/: main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/parser3isapi.C: removed 100*40 bytes per request memory leak [nonpool malloc in globals] 2002-04-30 paf * configure, src/include/pa_version.h: version now not b * src/targets/cgi/parser3.C: request.uri now never 0 2002-04-29 paf * configure.in: removed b * src/: classes/op.C, include/pa_exception.h, main/pa_request.C: Exception::comment/type checked in (), no there's no empty type/comment by default * ChangeLog, src/doc/ClassExample1.dox, src/doc/ClassExample3.dox, src/doc/aliased.dox, src/doc/methoded.dox, src/doc/string.dox, src/doc/value.dox, src/include/pa_exception.h, src/main/pa_request.C, src/targets/cgi/parser3.C: merged from 0001 2002-04-26 paf * src/: doc/doxygen.cfg, targets/cgi/parser3.dsp: doxygen dot image size reduced 2002-04-25 paf * src/targets/cgi/: parser3.C: setenv in .htaccess when cgi is not under that dir got REDIRECT_ prefix before HTTP_PARSER_x_CONFIG, now that took into account * operators.ru.txt, operators.txt, src/classes/date.C: ^date::create[2002-12-33 01:03:04] * ChangeLog, operators.ru.txt, operators.txt, src/classes/date.C: ^date::create[2002-12-33 01:03:04] * ChangeLog: updated changelog * src/classes/table.C: removed restriction on column count to ^table.hash to work, now must be >0 [were >1] 2002-04-24 paf * src/: classes/classes.dsp, main/compile.tab.C, main/main.dsp, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: MSVC profile targets 2002-04-23 paf * operators.ru.txt, operators.txt, src/classes/string.C: int/double/string:sql{}[$.default{code}] fixed [were barking: "junction used outside of context"] 2002-04-22 paf * types.txt, src/classes/string.C, src/include/pa_string.h, src/main/pa_string.C, src/types/pa_vstring.C, src/types/pa_vstring.h: ^string.optimize[] * src/: include/pa_globals.h, include/pa_table.h, main/pa_globals.C, main/pa_string.C, main/pa_table.C: fixed match table template * src/classes/: string.C: optimize removed from string .left/right/pos * src/main/execute.C: rolled back to before_killing_userjunction_contexts * src/main/execute.C: user junctions context killed * src/main/execute.C: junctions to local contexts got cleanized&checked later 2002-04-19 paf * 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 * src/: include/pa_globals.h, include/pa_table.h, main/pa_globals.C, main/pa_string.C: String::match table columns globalized, not created @ each ^match anymore economy: sizeof(Array)+space on 3+x cells=24+ bytes per ^match * src/: classes/op.C, classes/string.C, types/pa_value.h: VTable removed from each String::match replace iteration, and made stacked sizeof(VTable)=12bytes economy on each replace code * src/doc/footer.htm: 2001, * 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 * src/doc/: doxygen.cfg, footer.htm, html2chm.cmd, postbuild.txt, sources2html.cmd, view_chm.cmd, view_html.cmd, chmhelper.pl: config updated to doxygen 1.2.15, created helper which fixes minor bugs in chm project files & htm tree. changed extension to .htm 2002-04-18 paf * src/doc/doxygen.cfg: .chi generation disabled * 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, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.h, types/pa_vhash.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vobject.h, types/pa_vrequest.h, types/pa_vresponse.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vstatus.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vvoid.h, types/pa_vxdoc.h, types/pa_vxnode.h: fclass_real lowered from VStateless_class to VObject * 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, 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, 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, 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 * src/: doc/ClassExample1.dox, doc/ClassExample2.dox, doc/ClassExample3.dox, doc/compiler.dox, doc/module.dox, doc/pooled.dox, doc/string.dox, doc/targets.dox, include/pa_pool.h, include/pa_types.h: dox updated to current state, PTHROW freshen to throw & co * src/types/pa_vhash.h: vstring wrong parent fixed * src/classes/op.C: taint local result var bug fixed 2002-04-16 paf * asm.txt, form.txt, lang.txt, sql.txt: removed outdated. see in Attic asm.txt as most interesting * 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, main/pa_exec.C: stderr of execs mark as tainted * src/main/pa_request.C: uri in error log * src/: classes/date.C, main/compile.tab.C, targets/cgi/parser3.C: cheched date:create(days) param for validity [later were assumed valid and crashed on invalid onces] * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/execute.C, targets/cgi/parser3.C: OP_CALL -> OP_CALL__WRITE and used that for removing VString wrapper * src/classes/op.C: exception2vhash file now tainted * src/classes/op.C: _process pseudo origin copied from local var to heap * src/classes/op.C: extra check on empty file in origin in _execute 2002-04-15 paf * src/: main/execute.C, types/pa_value.h: fixed name update * src/classes/: file.C, op.C, table.C: finished dual write_xxx_lang functions * src/: classes/file.C, classes/hash.C, classes/op.C, include/pa_request.h, main/execute.C, types/pa_wcontext.h: started dual write_xxx_lang functions, if checked & works * src/: classes/date.C, classes/file.C, classes/mail.C, classes/string.C, classes/xnode.C, include/pa_request.h, types/pa_value.h, types/pa_wcontext.h: removed absolutely unnecessary VString shells * src/main/execute.C: CodeFrame soul fixed [mistakenly killed by prev changes] * src/: classes/image.C, classes/op.C, classes/string.C, classes/table.C, include/pa_request.h, main/execute.C, types/pa_value.h, types/pa_vmethod_frame.h, types/pa_wcontext.h: StringOrValue wcontext result, now ready for dual writes * src/targets/cgi/parser3.C: ctime sometimes can be just "", checked that * src/main/: compile.tab.C, compile.y, compile_tools.C, 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, 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.ru.txt, operators.txt, src/classes/table.C: table.select(expression) 0 2002-04-11 paf * src/: classes/string.C, include/pa_request.h, main/execute.C: Request::process_internal codeFrame & wwrapper stacked [not wasting heap anymore] 2002-04-10 paf * src/: classes/double.C, classes/file.C, classes/hash.C, classes/image.C, classes/int.C, classes/math.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C, include/pa_request.h, main/execute.C, main/pa_string.C: killed Request::process() wrapping VString(String) in case we need only String * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: killed 8 bytes from String.head 2002-04-09 paf * src/: main/compile.tab.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: removed { char *a; { /*sub local*/char b[...]; a=b; situations * operators.ru.txt, operators.txt, src/classes/xdoc.C: xslt params made literal * 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.ru.txt, operators.txt, src/classes/double.C, src/classes/int.C: int/double.int/double(default) 2002-04-04 paf * 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 * src/targets/cgi/parser3.C: document root in standalone version = current dir 2002-04-03 paf * configure, configure.in: more checks on nonexistent charset * INSTALL, configure, configure.in: root config configure options 2002-04-02 paf * src/main/compile.C: parser.compile [exception name more like in doc] 2002-04-01 paf * src/: classes/mail.C, include/pa_string.h, main/untaint.C, targets/isapi/parser3isapi.dsp: mail subject encoding taken from .content-type.charset, not .charset 2002-03-29 paf * etc/parser3.charsets/koi8-r.cfg: koi8-r += ukranian letters * operators.ru.txt, 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.ru.txt, 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: ^cache[file][date]{ ^cache(seconds) ^cache[date] } * src/classes/: xdoc.C, xnode.C, xnode.h: removed redundant pool param 2002-03-27 paf * operators.ru.txt, operators.txt, 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/string.C, src/classes/table.C, src/classes/void.C, src/classes/xdoc.C, src/classes/xnode.C, src/include/pa_exception.h, src/include/pa_request.h, src/include/pa_stylesheet_connection.h, src/main/compile.C, src/main/compile_tools.C, src/main/execute.C, src/main/pa_array.C, src/main/pa_charset.C, src/main/pa_charsets.C, src/main/pa_common.C, src/main/pa_dictionary.C, src/main/pa_exception.C, src/main/pa_exec.C, src/main/pa_pool.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_table.C, src/main/untaint.C, src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, src/types/pa_value.h, src/types/pa_vcookie.C, src/types/pa_vfile.h, src/types/pa_vform.C, src/types/pa_vhash.h, 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: assigned exception types * operators.ru.txt, operators.txt, src/classes/op.C, src/include/pa_config_fixed.h, src/include/pa_request.h, src/main/execute.C, src/main/pa_request.C: decided agains resetting exception_trace, just changed name 2002-03-26 paf * src/: include/pa_common.h, main/pa_exec.C: windows exec chdir fixed * 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.ru.txt, operators.txt: removed date.roll limit of +-1 offset * src/classes/date.C: removed date.roll limit of +-1 offset * operators.ru.txt, 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 * operators.ru.txt, operators.txt, src/targets/cgi/parser3.C: http_site_config_filespec * src/: classes/file.C, classes/mail.C, include/pa_exec.h, main/pa_exec.C: f(!forced_allow) to allow --with-sendmail to work with any/both --disable-foreign-group-files --disable-execs * INSTALL: "--with=sendmail=COMMAND" comment * INSTALL, configure, configure.in, src/classes/mail.C, src/include/pa_config_auto.h.in, src/main/pa_exec.C, src/targets/cgi/Makefile.am: --disable-foreign-group-files now disables execs also. introducing --sendmail * operators.ru.txt, operators.txt: pgsql options comment * INSTALL: comment on --disable-link-stdcpp * INSTALL, configure, configure.in, src/targets/cgi/Makefile.am: libstdc++ link skipping configure option * src/: classes/op.C, include/pa_sql_connection.h: sql connection with error were put to cache with 'marked_to_rollback' flag, all consequent even OK requests rolled back 2002-03-22 paf * src/main/pa_exec.C: createprocess nowindow flag check on readfile false return * operators.ru.txt, operators.txt: few comments on sets 2002-03-18 paf * operators.ru.txt, 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: 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.ru.txt, operators.txt, src/classes/table.C: ^table.locate(logical expr) 2002-03-13 paf * src/main/pa_exception.C: checked not-pooled malloc 2002-03-11 paf * INSTALL, configure, configure.in, src/include/pa_config_auto.h.in: --disable-foreign-group-files * src/main/pa_common.C: --disable-foreign-group-files * INSTALL: --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, 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 2002-03-05 paf * operators.ru.txt, operators.txt, src/classes/date.C: date week calendar columns named * operators.ru.txt, operators.txt, src/classes/date.C: date week calendar columns named * src/targets/isapi/: parser3isapi.C, parser3isapi.dsp: iis5 now requires headers to be terminated with \r\n manually [refuses to separate header/body itself] * 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, 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 * src/targets/isapi/: pa_threads.C, parser3isapi.C, parser3isapi.dsp: isapi updated 2002-03-01 paf * src/main/pa_exec.C: execle -> execve, now argc OK 2002-02-28 paf * src/main/untaint.C: removed some debug comments * src/main/pa_charsets.C: when placing charset to cache using global name now [were request] * configure, configure.in: apache module updated * src/main/pa_string.C: origin by first piece preferred before last piece 2002-02-27 paf * src/main/pa_charset.C: size_t * INSTALL: shared/static-xml with-pathlink * operators.ru.txt, operators.txt: SMTP comment 2002-02-26 paf * src/main/pa_exec.C: more precise names for vars, cosmetic * src/classes/xnode.C: in some situation, xpath query returned result with type NODESET, but empty nodeset member field, checked that 2002-02-22 paf * INSTALL: without-zlib comment * etc/parser3.charsets/windows-1251.cfg: ° * configure, configure.in: glib###.a detection fixed * INSTALL: hashfile removed from INSTALL * Makefile.am: make update * src/main/pa_string.C: string iterators fixed again, so were String::join_chain * src/main/pa_string.C: 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" * operators.ru.txt, operators.txt, src/types/pa_vcookie.C: cookie "expires=0" = "session" * configure, configure.in, src/include/pa_config_auto.h.in: --with-shared-xml --with-static-xml * src/: classes/classes.dsp, main/compile.tab.C, main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: *.dsp: removed refereces to win32db & ancient xalan&xml * acconfig.h: acconfig move in cvs[from src/libltdl to /] * operators.ru.txt, operators.txt, src/classes/classes.dsp, src/main/main.dsp, src/types/types.dsp: removed hashfile support from sources for now * configure, configure.in, src/classes/Makefile.am, src/classes/hashfile.C, src/include/Makefile.am, src/include/pa_config_auto.h.in, src/include/pa_db_connection.h, src/include/pa_db_manager.h, src/include/pa_db_table.h, src/main/Makefile.am, src/main/pa_db_connection.C, src/main/pa_db_manager.C, src/main/pa_db_table.C, src/main/pa_globals.C, src/targets/cgi/Makefile.am, src/types/Makefile.am, src/types/pa_vhashfile.C, src/types/pa_vhashfile.h: removed hashfile support for now 2002-02-21 paf * src/main/untaint.C: removed debug code, activated commented-for debug parts * Makefile.am: make cvsupdate * src/: include/pa_string.h, include/pa_types.h, main/pa_string.C, main/untaint.C: STRING_*FOREACH_ROW changed to stop at append_row, not at link zero now string to string appending works 2002-02-20 paf * 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% * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: space uptimized: string::link_row removed * 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.ru.txt, 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: strign to string append optimiziation idea and estimates 2002-02-19 paf * src/classes/math.C: not used directly [but erroreously reported that 'is', thus registering twice&other probs] * src/classes/: xdoc.C, xnode.C: getElementsByTagName and *NS moved to node [element] * src/main/compile.C: without string_origins parse error file+line+col possible * src/main/: compile.C: without string_origins not worked 2002-02-18 paf * src/types/pa_vdouble.h: since we have in_expression removed that trick i've installed into double::as_string * src/main/pa_globals.C: extern "C" was removed too fast * 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 * src/main/compile.tab.C: bison env set so one could compile without cygwin installed * src/: classes/classes.dsp, main/main.dsp, main/pa_globals.C, targets/cgi/parser3.dsp, types/types.dsp: win32xml now contains gnome xml libs parser .dsp-s changed accordingly * operators.ru.txt, operators.txt, src/targets/cgi/parser3.C: PARSER_ROOT_CONFIG * operators.ru.txt, operators.txt, src/classes/date.C: date::create [were date::set, with backward comp * src/classes/math.C: math:random range check fixed * src/main/: compile.tab.C, compile.y: integer division stops name * INSTALL: local install comment * ltconfig, ltmain.sh: removed libtool subpart files * acinclude.m4, aclocal.m4, configure, configure.in, src/include/pa_config_auto.h.in, src/include/pa_config_includes.h, src/targets/cgi/Makefile.am, src/targets/cgi/parser3.C: removed libtool usage from build mech * operators.ru.txt, operators.txt: \ comment 2002-02-13 paf * src/include/pa_config_includes.h: sys/time time both included now. vaguely remember confilicts on this on some system [not on six|ablv] so when would see them again would think up proper check * INSTALL, configure, configure.in, src/targets/cgi/Makefile.am: --with-glib-config CXXLINK=$(CC) for targets/cgi/parser3 * src/main/pa_common.C: truncation never occured when writing files on unix [since i've changed cache mech] fix * src/main/pa_common.C: strnchr: sanity check added * etc/parser3.charsets/windows-1257.cfg: id added * etc/parser3.charsets/windows-1257.cfg, src/targets/cgi/parser3.C: baltic charset file generated, in generation script ispunct check added 2002-02-08 paf * src/: include/Makefile.am, sql/Makefile.am, targets/isapi/Makefile.am: forgotten makes * src/types/: pa_vcookie.C: VCookie::fill_fields one check forgotten * src/types/pa_vcookie.C: VCookie::fill_fields one check forgotten * INSTALL, README: install&others updated * AUTHORS, COPYING, ChangeLog, INSTALL: install&others updated * Makefile.am, configure, configure.in, etc/parser3.charsets/Makefile.am, src/Makefile.am, src/classes/Makefile.am, src/main/Makefile.am, src/main/pa_status_provider.C, src/targets/Makefile.am, src/targets/cgi/Makefile.am, src/types/Makefile.am: 'make dist' works * 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/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, 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_db_connection.h, include/pa_db_manager.h, include/pa_db_table.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_opcode.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_request.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, main/compile.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_cache_managers.C, main/pa_charsets.C, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_db_table.C, main/pa_dictionary.C, main/pa_dir.C, main/pa_exception.C, main/pa_globals.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_status_provider.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/pa_table.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vhash.h, types/pa_vhashfile.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmath.h, types/pa_vmethod_frame.h, types/pa_vobject.h, types/pa_vrequest.h, 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.h, types/pa_vvoid.h, types/pa_vxdoc.h, types/pa_vxnode.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h, classes/image.C, main/pa_common.C, main/pa_exec.C, main/untaint.C, targets/cgi/parser3.C, types/pa_vcookie.C, types/pa_vfile.C, types/pa_vform.C, types/pa_vhashfile.C, types/pa_vimage.C, types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vstring.C, types/pa_vtable.C, types/pa_vxdoc.C, types/pa_vxnode.C, main/pa_charset.C: name spelling * 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, 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, 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_db_connection.h, include/pa_db_manager.h, include/pa_db_table.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_opcode.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_request.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, main/compile.C, main/compile.tab.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C, main/pa_common.C, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_db_table.C, main/pa_dictionary.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_status_provider.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/pa_table.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, 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.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.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.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: 2002 2002-02-07 paf * src/main/pa_socks.C: swapped headers to avoid compiler warnings * configure, configure.in, src/include/pa_config_auto.h.in, src/main/pa_common.C, src/main/pa_socks.C: compiled under cygwin added yet another locking function: fcntl * config.sub: on cygwin configure passes it with strange i1586 const, hacked it to mean i586 * src/main/: compile.C, compile.tab.C, compile.y, compile_tools.h: disabled $if reference due to conflicts with local variables * operators.ru.txt, operators.txt, src/classes/xdoc.C, src/include/pa_config_fixed.h: xdoc::set obsolete now, now xdoc::create, with both sences * operators.ru.txt, 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: table::create now // 'set' name obsolete now table clone. * operators.ru.txt, operators.txt, src/classes/string.C, src/include/pa_config_fixed.h, src/main/compile.tab.C: ^int/double/string.format now can be called with normal [] brackets, not stupid {} as it were implemented for some strange reason. retaining backward compatibility due to some already-implemented servers * src/: include/pa_array.h, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h: operators now detected by check at name_without_curly_rdive_read rule whether diving code constists only of OP_VALUE+string+OP_GET_ELEMENT. and last op code substituted with OP_GET_ELEMENT_OR_OPERATOR to form OP_VALUE+string+OP_GET_ELEMENT_OR_OPERATOR. code 2002-02-06 paf * configure, configure.in: prefix expanded, grr * operators.ru.txt, operators.txt, src/classes/mail.C: mail:send config changed 2002-02-05 paf * operators.ru.txt, operators.txt: regex options commented * src/main/: pa_exec.C: argv0 now correct * src/types/pa_vstatus.C: status:rusage 3 * src/types/pa_vstatus.C: status:rusage 2 * operators.ru.txt, operators.txt: status:rusage described int operators * src/types/pa_vstatus.C: status:rusage 1 * configure.in, src/types/Makefile.am, src/types/pa_vstatus.h, src/types/types.dsp: status:rusage * configure.in, operators.ru.txt, 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: 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 afterwards] 2002-02-01 paf * src/classes/op.C: file_write does EX lock after create, while file_read does SH after open, so there's a moment after create but before EX lock when read can sneak into, and read just-created-for-writing-and-not-yet-locked file, added a check for that in ^cache...read 2002-01-31 paf * src/main/: compile.y, compile.tab.C: disabled operator call after ^xxx: * src/main/: compile.tab.C, execute.C: made operators lookup first in ^xxx situation. so that one could not do $if[1] ^if[xxx] * src/: include/pa_opcode.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, types/pa_wcontext.h: operators check 6.1 rewritten. now check is done at compile time * src/main/execute.C: operators check 5 floated up old error of staying in 'entered class/object' state after $a($a..) it prevented operators from being called thereafter * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/execute.C: operators check 4 floated up old error of staying in 'entered object' state after ^a.a(a) it prevented operators from being called thereafter * src/main/execute.C: operators check 3 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: operators check, thay mistakenly seen in $class:operator $object.operators contexts * 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, src/targets/cgi/Makefile.am, src/targets/cgi/pa_config_paths.h.in, src/targets/cgi/parser3.C, src/types/Makefile.am: lowered indent.awk back to src/ * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, acinclude.m4, aclocal.m4, asm.txt, config.guess, config.sub, configure, configure.in, form.txt, ident.awk, install-sh, lang.txt, ltconfig, ltmain.sh, missing, mkinstalldirs, operators.ru.txt, operators.txt, parser3.dsw, sql.txt, types.txt, etc/Makefile.am, etc/parser3.charsets/Makefile.am, etc/parser3.charsets/koi8-r.cfg, etc/parser3.charsets/windows-1250.cfg, 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: 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 * src/classes/xdoc.C: acconfig.h changed [comments before #undefs removed] those comments were a mistake, and prevented libltdl from function properly 2002-01-29 paf * src/: Makefile.am, classes/Makefile.am: removed libltdl/libtool creation [modified acinclude.m4 which were creating int into just assignment LIBTOOL=../libtool] added default system config&charsetts prepared 'make install', now it installs targets/cgi/parser3 into bin directory etc/parser3.conf & etc/parser3.charsets/* into $sysconfdir and $sysconfdir/parser3.charsets respectively * src/: classes/xdoc.C, include/pa_charset.h, include/pa_globals.h, main/pa_globals.C: few forgotten ifdef XML added 2002-01-28 paf * src/: classes/Makefile.am, targets/cgi/Makefile.am: xalan-patch removed * src/main/pa_exception.C: dom|generic error output fix * src/classes/xnode.C: xdoc.importNode 3 [check err] * src/classes/xnode.C: xdoc.importNode 2 [mistype err] * src/: classes/xnode.C, types/pa_vxdoc.h: xdoc.importNode 1 [fixed as_node helper func to accept docs] * src/: classes/xdoc.C, classes/xnode.h, main/pa_exception.C: xdoc.importNode 0 * src/classes/xdoc.C: xdoc::set now untaints OK 2002-01-25 paf * src/main/: compile.tab.C, compile.y: #comment before @ after @SPECIAL now works OK * src/main/: pa_exec.C: unix: exec now does chdir to script dir * src/main/pa_exec.C: max arg count now 10, and proper message on violation that added * src/classes/hash.C: unified hash::sql, now ^hash::sql{query}[[$.limit(2) $.offset(4)]] * src/: classes/file.C, include/pa_common.h, main/pa_common.C: ^file:lock[filename]{code} * src/: classes/file.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, include/pa_common.h, main/pa_common.C, types/pa_vfile.h: removed redundant pool param to some pa_common funcs * src/: include/pa_charset.h, main/pa_globals.C: http://localhost/abc -> $ENV{DOCUMENT_ROOT}/abc | ./abc * src/: include/pa_charset.h, main/pa_charset.C, include/pa_config_fixed.h, main/compile.tab.C: typedef XMLCh... not stupid illegal define 2002-01-24 paf * src/include/pa_version.h: changed version number * src/: classes/hashfile.C, include/pa_db_table.h, include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_db_connection.C, main/pa_db_table.C, types/pa_vhashfile.C, types/pa_vhashfile.h: merged from r17 - hashfile without logfiles * src/: classes/hashfile.C, include/pa_db_table.h, main/compile.tab.C, main/pa_db_connection.C, main/pa_db_table.C, types/pa_vhashfile.C, types/pa_vhashfile.h: hashfile: removed use of transactions [libdb removed DB_INIT_LOCK, DB_INIT_LOG, DB_INIT_TXN init bits, thus got rid of huge log files, which cluttered disk without huge need] * src/classes/: xdoc.C, xnode.C, xnode.h: gdome_xml_doc_get_xmlDoc handy macro, which is strangly abscent in dome lib * src/classes/xdoc.C: xsltSaveResultTo checked <0 response * src/classes/xdoc.C: checked empty response * src/classes/xnode.C: xdoc.select fixed context node [were always /, not self node] * src/classes/xnode.C: xnode.select returns array always now, in case 'nothing found' returns empty array * src/classes/xnode.C: xpath nodes select bug [0] instead of [i], be more tender with ctrl/c/v 2002-01-23 paf * src/: classes/xdoc.C, main/pa_globals.C: xdoc::load/set entities substituted. // 2. when dom tree with entites goes under transform text nodes // got [erroreosly] cut on first entity occurance * src/types/pa_vdouble.h: double prec. todo: get rid of twice-converting * src/types/pa_vdouble.h: %.20E now float format when %g produced 'e' in output this is for regretful twice-converting here: $a(double value) when they write double falue they convert it to string first, thus %g were losing precesion. todo: think up some way to remove double->string string->double twice-converting * src/: classes/xdoc.C, main/pa_globals.C, types/pa_vdouble.h: %.20E now default float format this is for regretful twice-converting here: $a(double value) when they write double falue they convert it to string first, thus %g were losing precesion. todo: think up some way to remove double->string string->double twice-converting * src/: classes/xdoc.C, include/pa_stylesheet_connection.h, main/pa_globals.C: xmlSubstituteEntitiesDefault(1) now global, reasons in comment inside * src/main/pa_globals.C: xslt linked dynamically. [mistekenly were statically linked] * src/: include/pa_exception.h, main/compile.tab.C, main/pa_exception.C: removed exception va_list constructor. 1. not needed anymore 2. there were a conflict[causing errors] between ctor(, va_list) ctor(, ...) compiler[both msvc and gcc] never detected an ambiguilty here, compiling ctor(, "hello") into ctor(, va_list) which, of course, caused gpf * src/main/pa_globals.C: removed debug xslt messages 2002-01-22 paf * src/: classes/xdoc.C, include/pa_stylesheet_connection.h, main/pa_globals.C: xsl stylesheet load: parsed entities, this helps compiling stylesheet properly. example: this refused to work, «» stranly worked only this way: «» docs says "set it to 1", never going into details, so I decided to try NOT to do that * src/classes/table.C: join behaived badly in case named tables structure mismatched: 0 strings sneaked into dest failing afterwards. replaced them with empty strings 2002-01-21 paf * src/main/pa_charset.C: checked empty transcoders in transcode_cstr|buf * src/classes/xdoc.C: xdoc::load error source = filespec * src/classes/xdoc.C: transform error source now stylesheet_filespec * src/: classes/xdoc.C, classes/xnode.C, include/pa_stylesheet_connection.h, main/pa_charset.C, main/pa_globals.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, targets/cgi/Makefile.am: autoconf gnome * src/: classes/xdoc.C, classes/xnode.C, include/pa_exception.h, include/pa_globals.h, include/pa_stylesheet_connection.h, main/pa_exception.C, main/pa_globals.C, targets/cgi/pa_threads.C: xslt generic error 1 * src/: include/pa_stylesheet_connection.h, main/pa_exception.C: xml generic message 1 * src/classes/table.C: ^table::load empty lines or #comments before headline * src/: include/pa_array.h, include/pa_globals.h, include/pa_request.h, include/pa_threads.h, main/pa_array.C, main/pa_exception.C, main/pa_globals.C, main/pa_request.C, targets/cgi/pa_threads.C, targets/isapi/pa_threads.C: xml generic errors 0 2002-01-16 paf * src/: classes/hash.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, classes/xdoc.C, include/pa_db_connection.h, include/pa_request.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, targets/cgi/pool_storage.h: auto closers to sql_connection, stylesheet_connection auto destroyers to remaining gnome objects * src/classes/xdoc.C: few comments 2002-01-15 paf * src/classes/xdoc.C: xdoc file save string ready. todo: error handling * src/classes/xdoc.C: xdoc save rewritten using xmlAllocOutputBuffer less mallocs, more reallocs. less fragmented result * src/: classes/xdoc.C, include/pa_charset.h, main/pa_charset.C: started output options parsing 2002-01-14 paf * src/classes/xdoc.C: method * src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h, include/pa_pool.h, include/pa_stylesheet_connection.h, main/main.dsp, main/pa_charset.C, main/pa_globals.C, main/pa_pool.C, main/pa_stylesheet_manager.C, types/pa_vxdoc.h: xslt transform0. TODO: use output options handle errors * src/classes/: xdoc.C, xnode.C: ^xdoc.file 2002-01-11 paf * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: partial logical && || evaluation * src/classes/xnode.C: xpath selectNodes * src/: classes/xnode.C, include/pa_charset.h: xpath selectNode 3: string/number/bool * src/classes/xnode.C: xpath selectNode 2 * src/: classes/xnode.C, include/pa_charset.h, main/pa_charset.C: xpath selectNode 1 2002-01-10 paf * src/classes/xnode.C: xpath selectNode -100 [just written] * src/: classes/xdoc.C, classes/xnode.C, include/pa_charset.h, include/pa_exception.h, include/pa_pool.h, main/pa_charset.C, main/pa_pool.C: GdomeDOMString_auto_ptr c++ wrapper [calls refcounter] 2001-12-29 paf * src/: classes/xdoc.C, include/pa_exception.h, main/pa_charset.C, main/pa_exception.C, main/pa_globals.C: xdoc ^set ^string with glib works 0 2001-12-28 paf * src/: classes/xdoc.C, include/pa_charset.h, main/pa_charset.C, main/pa_exception.C: started glib transcoders * src/main/pa_globals.C: renamed gdome to libgdome.dll * src/: classes/classes.dsp, classes/mail.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_exception.h, include/pa_globals.h, main/compile.tab.C, main/main.dsp, main/pa_charset.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, main/pa_socks.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: gnome libs just compiled in. no refcounting no xpath no xslt yet 2001-12-27 paf * src/: include/pa_charset.h, include/pa_common.h, include/pa_exception.h, include/pa_globals.h, include/pa_pool.h, main/main.dsp, main/pa_charset.C, main/pa_charsets.C, main/pa_globals.C, main/pa_pool.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, types/types.dsp: going away from xalan&xerces, started the process. globals [initialization pool [charset update charset [transcodings vxnode vxdoc [DOM calls * src/classes/Makefile.am: going away from xalan&xerces, not needed anymore 2001-12-26 paf * src/: include/pa_charset.h, include/pa_charsets.h, main/pa_charset.C, main/pa_charsets.C, main/pa_request.C: charset key globalized [bug] 2001-12-25 paf * src/: classes/mail.C, classes/table.C, include/pa_string.h, main/pa_string.C: table set & append changed splitting languages, separators now can be clean AND as-is same to mail command line $MAIN:MAIL.progX arguments 2001-12-24 paf * src/classes/mail.C: one parted text messages - no multipart mime-type anymore. for convinient if $.attach-ments * src/: classes/hashfile.C, classes/op.C, main/pa_db_table.C, main/pa_string.C: read from cache size check updated * src/main/: pa_string.C: String::join_chain another ugly bug :( 2001-12-21 paf * src/classes/date.C: date:sql-string now returns localtime * src/main/pa_request.C: $result in @main actually not working, to hell with it for now * src/: include/pa_request.h, main/execute.C, main/pa_request.C, types/pa_vmethod_frame.h, types/pa_wcontext.h: $result in @main @postprocess @exception * src/main/execute.C: junction evaluation canceled - endless recursion detected 2001-12-19 paf * src/main/pa_charset.C: charset->charset transcoding via unicode intermediate * src/main/pa_request.C: CLASS_PATH now / = DOCUMENT_ROOT * src/classes/hashfile.C: ^hashfile.open DB_HOME now relative * src/classes/op.C: ^cache keypath now relative * src/classes/mail.C: changed weighting prior to sort * src/: classes/mail.C, include/pa_config_fixed.h: to/from 0 check were missing 2001-12-17 paf * src/main/pa_charset.C: ifndef XML were bad type * src/: include/pa_db_table.h, main/pa_db_table.C: db_table used outdated unset services_pool * src/: classes/mail.C, include/pa_charsets.h, include/pa_string.h, main/pa_charsets.C, main/untaint.C, types/pa_vrequest.C, types/pa_vresponse.C: ^mail:send[ $.charset[zzz] addded * src/main/untaint.C: allowed space in filespec * src/main/pa_charset.C: empty bufs transcode [forgot check :(] * src/classes/image.C: no govno * src/classes/image.C: govno 2001-12-16 paf * src/include/: pa_charset.h, pa_charsets.h: forgot to add * src/: main/Makefile.am, main/pa_charset.C, types/Makefile.am: charset_connection&manager replaced by charset&charsets * src/main/pa_charset.C: name_cstr 0 * src/main/untaint.C: uri lang now knows about client/source charsets * src/: classes/file.C, classes/math.C, classes/op.C, classes/string.C, classes/table.C, classes/xdoc.C, include/pa_array.h, include/pa_cache_managers.h, include/pa_charset_connection.h, include/pa_charset_manager.h, include/pa_common.h, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_db_table.h, include/pa_dictionary.h, include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, include/pa_hash.h, include/pa_opcode.h, include/pa_pool.h, include/pa_request.h, include/pa_sapi.h, include/pa_socks.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_string.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, include/pa_table.h, include/pa_transcoder.h, main/compile_tools.h, main/main.dsp, main/pa_charset.C, main/pa_charset_connection.C, main/pa_charset_manager.C, main/pa_charsets.C, main/pa_globals.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/pa_transcoder.C, main/untaint.C, types/pa_vfile.C, types/pa_vform.C, types/pa_vform.h, types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h, types/types.dsp: introducing Charset 2001-12-14 paf * src/: include/pa_request.h, include/pa_transcoder.h, main/pa_request.C, main/pa_transcoder.C, types/pa_vform.C, types/pa_vform.h: transcodeToUTF8[were FromUTF8] for forms todo: uri lang * src/main/pa_transcoder.C: transcodeToUTF8, now form&uri lang * src/targets/cgi/Makefile.am: -I../../pcre to .am * src/: include/pa_globals.h, main/pa_globals.C: removed unused defalts_name global * src/: include/pa_charset_connection.h, include/pa_pool.h, include/pa_request.h, main/main.dsp, main/pa_charset_connection.C, main/pa_charset_manager.C, main/pa_request.C, types/Makefile.am, types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vresponse.h, types/types.dsp, include/pa_transcoder.h, main/pa_transcoder.C, main/Makefile.am: changed charset model. now important: $request:charset $response:charset while $response:content-type.charset become unimportant [informational] 2001-12-13 paf * src/targets/: cgi/pa_pool.C, isapi/pa_pool.C: EOL@EOF * src/classes/xdoc.C: rewritten auto_ptr part other way2, because of stupid gcc 2.96 /usr/include/g++-3/memory:40: candidates are: auto_ptr<_Tp> &auto_ptr<_Tp>::operator= (auto_ptr<_Tp> &) [with _Tp = FormatterListener] /usr/include/g++-3/memory:48: auto_ptr<_Tp> &auto_ptr<_Tp>::operator= (auto_ptr<_Tp1> &) [with _Tp1 = FormatterListener, _Tp = FormatterListener] * src/: classes/xdoc.C, main/pa_sql_driver_manager.C: rewritten auto_ptr part other way, because of stupid gcc 2.96 /usr/include/g++-3/memory:40: candidates are: auto_ptr<_Tp> &auto_ptr<_Tp>::operator= (auto_ptr<_Tp> &) [with _Tp = FormatterListener] /usr/include/g++-3/memory:48: auto_ptr<_Tp> &auto_ptr<_Tp>::operator= (auto_ptr<_Tp1> &) [with _Tp1 = FormatterListener, _Tp = FormatterListener] * src/classes/xdoc.C: removed extra inc * src/targets/cgi/: pa_pool.C, parser3.C: msvc heap debugging flag * src/include/pa_types.h: msvc head debugging flag * src/classes/xdoc.C: freed up listener * src/classes/string.C: change msg '... code is not code' * src/: main/pa_db_connection.C, main/pa_db_manager.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, targets/cgi/pool_storage.h: couple cache expiratiors were wrong [past/future prob] * src/: include/pa_cache_managers.h, include/pa_charset_manager.h, include/pa_config_fixed.h, include/pa_db_manager.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, main/pa_cache_managers.C, main/pa_globals.C: ~Cache_managers * src/: include/pa_config_fixed.h, main/pa_common.C, main/pa_string.C: removed signed mismatch warnings * src/targets/: cgi/parser3.C, isapi/parser3isapi.C: removed 'expires' from header outputs * src/main/pa_string.C: string::recustruct erroreusly used outdated row ptr * src/classes/file.C: file::cgi bug, request_method were passed to SERVER_PROTOCOL but SERVER_PROTOCOL were forgotten * src/classes/xdoc.C: lang list updated 2001-12-10 paf * src/classes/math.C: ^math:random(n) now yields[0;n) not [0;n] * src/main/untaint.C: FILE_SPEC untainting changed so that one can erase files like that, knowing their full name introducing // theoretical problem with, for instance, "_2B" and "." fragments, // they would yield the same // because need_file_encode('_')=false // but we need to delete such files somehow, getting names from ^index * src/main/pa_string.C: ^string.replace bug fixed [bad string::join_chank break] 2001-12-07 paf * src/: classes/hashfile.C, classes/op.C, classes/table.C, include/pa_common.h, include/pa_config_auto.h.in, include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_db_table.h, include/pa_request.h, main/pa_common.C, main/pa_db_table.C, main/pa_request.C, main/pa_string.C, types/pa_vhashfile.C: merged from r14_simple_cache * src/main/pa_string.C: stupid sparc architecture failed to access short at odd address 0x311f0 : lduh [ %i2 + 1 ], %l0 bus error, fixed that * src/main/pa_string.C: strange string deserialize bug on client[pmts], a bit shortened, * src/include/pa_config_auto.h.in: makes * src/: include/pa_common.h, include/pa_config_fixed.h, include/pa_config_includes.h, main/pa_common.C: exclusive lock file write shared lock file read * src/: classes/op.C, include/pa_common.h, include/pa_config_fixed.h, main/pa_common.C: ^cache operator 2001-12-06 paf * src/: classes/op.C, classes/table.C, include/pa_request.h, main/pa_request.C: #ifdef RESOURCES_DEBUG * src/: main/compile.tab.C, targets/cgi/parser3.C: removed debug info * src/classes/hashfile.C: removed transaction from ^cache 2001-12-05 paf * src/targets/cgi/: parser3.C: fatal error reporting fixed. in IIS5 there were a prob with illegal call check 2001-12-04 paf * src/: classes/op.C, classes/table.C, include/pa_request.h, main/pa_request.C: measures to log 2001-11-23 paf * src/: classes/hashfile.C, classes/table.C, include/pa_db_table.h, main/pa_common.C, main/pa_db_table.C, main/pa_string.C, types/pa_vhashfile.C: merged from _0014, 1 * src/: classes/hashfile.C, classes/table.C, include/pa_db_table.h, main/pa_common.C, main/pa_db_table.C, types/pa_vhashfile.C: hashfile bugfix2 more wrong sizes. ^cache behaviour changed: if ^cache(33) would change 0660 bits in file_write & hashfile create * src/main/: pa_db_table.C, pa_string.C: cache bugfix [wrong types after pa_string optimization] 2001-11-22 paf * src/: classes/table.C, include/pa_table.h, main/pa_table.C: table.offset[whence] * src/classes/op.C: process cstr(,connection) * src/classes/op.C: process now gets its body on current language, not as-is * src/main/untaint.C: ORIGINS mode removed UHTML * src/main/untaint.C: ORIGINS mode was bad - forgot about optimize bit * src/classes/xdoc.C: cached xslt [removed nocache forcing] 2001-11-21 paf * src/: classes/xdoc.C, types/pa_vxdoc.C, types/pa_vxdoc.h: buffer_size checked all that * src/classes/op.C: ^untaint{body} as-is default now * src/: main/execute.C, types/pa_vclass.h, types/pa_vobject.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h: merged with no_bad_constructors_try * src/: main/execute.C, types/pa_vclass.h, types/pa_vobject.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h: fixed this: $bred[^string::length[]] $bred[^response::clear[]] $bred[^int::int[]] now VObject creation moved into overriden VClass::create_new_value, thus 0 from create_new_value means that class has no ctors 2001-11-13 paf * src/classes/classes.C: returned accedently removed if in foreach callbacks [when hash no-0-restructure] 2001-11-12 paf * src/main/pa_pool.C: changed xdoc createXXX politics, now string passed as-is to method, xalan makes & into & itself * src/classes/date.C: date.roll parser2 alg used * src/: classes/classes.C, classes/hash.C, classes/xdoc.C, include/pa_hash.h, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_dictionary.C, main/pa_hash.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C: hash now does not containt 0 values. put 0 actullay removes. no check on 0 value in foreach now required 2001-11-11 paf * src/sql/pa_sql_driver.h: removed extra constructor, doc * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: CRLF * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: sql driver initialize not const 2001-11-10 paf * src/main/pa_exec.C: doc 2001-11-09 paf * src/classes/: string.C, xdoc.C: xdoc::set{code} now untaints param properly * src/classes/string.C: string.save now does untainting before saving * src/main/pa_common.C: line endings fixing fixed last piece[was still cstr oriented] * src/: include/pa_common.h, main/pa_common.C, types/pa_vform.C: line endings fixing got rid of cstr, now must work ok with post multipart * src/types/pa_vform.C: line endings fixed at post / multipart / not file also now 2001-11-08 paf * src/: include/pa_cache_managers.h, include/pa_charset_manager.h, include/pa_db_manager.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, main/pa_charset_manager.C, main/pa_db_manager.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C: restructured Cache manager to be simple parent, not second parent [gcc 2.96 strangly refused to call virtual from second parent] * src/: include/pa_common.h, main/Makefile.am, targets/cgi/pa_pool.C: makes * src/: include/pa_request.h, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: apache 'status' class enabler ParserStatusAllowed * src/: include/pa_cache_managers.h, include/pa_charset_manager.h, include/pa_db_manager.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, main/main.dsp, main/pa_cache_managers.C, main/pa_charset_manager.C, main/pa_db_manager.C, main/pa_globals.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, types/pa_vstatus.h: cache_managers, maybe-expiring every request todo: apache 'status' class enabler 2001-11-05 paf * src/main/: pa_db_connection.C, pa_db_manager.C: expiration from debug to normal * src/main/: pa_db_connection.C, pa_db_manager.C, pa_request.C: hence i removed skipping 0 values in hash::for_each-es we need to check cleaned cache items manually. few more checks. expiring to 0 time was wrong, changed to 'now' time * src/targets/cgi/parser3.C: read can return 0, that means sort of sig_pipe on freebsd [moko's experiments]. checked that in cgi, on apache already done :) * src/main/: pa_db_connection.C, pa_db_manager.C: hence i removed skipping 0 values in hash::for_each-es we need to check cleaned cache items manually * src/main/: pa_db_connection.C, pa_db_table.C: parser_multithreaded check was wrong * 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, 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, classes/xnode.h, include/pa_array.h, include/pa_charset_connection.h, include/pa_charset_manager.h, include/pa_common.h, include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_db_table.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_opcode.h, include/pa_pool.h, include/pa_pragma_pack_begin.h, include/pa_pragma_pack_end.h, include/pa_request.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, main/compile.C, main/compile.tab.C, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_charset_connection.C, main/pa_charset_manager.C, main/pa_common.C, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_db_table.C, main/pa_dictionary.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_socks.C, main/pa_sql_driver_manager.C, main/pa_status_provider.C, main/pa_string.C, main/pa_stylesheet_manager.C, main/pa_table.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/pool_storage.h, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, 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.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.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vstatus.h, types/pa_vstring.C, 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: $status:db fixed used not initialized in db_connection & db_table * src/: include/pa_charset_connection.h, main/pa_charset_manager.C: $status:charset * src/: classes/xdoc.C, include/pa_db_connection.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, main/pa_stylesheet_manager.C, types/pa_vstatus.h: $status:stylesheet * src/: include/pa_charset_manager.h, include/pa_db_manager.h, include/pa_request.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, main/main.dsp, main/pa_charset_manager.C, main/pa_common.C, main/pa_db_manager.C, main/pa_globals.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_status_provider.C, main/pa_stylesheet_manager.C, types/pa_vstatus.h, types/pa_vxnode.C, types/types.dsp: started status parser class 2001-11-01 paf * src/include/pa_config_auto.h.in: makes * src/main/pa_hash.C: removed old extra include * src/: classes/math.C, include/pa_common.h: HAVE_TRUNC HAVE_ROUND checks [for hp, there are such in math.h] * src/classes/op.C: ^for endless loop check strightened * src/: classes/hash.C, classes/op.C, main/execute.C: changed root behavior in native calls. it left unchanged, so ^for ^foreach & co can use r.root to write their i & key,value there * src/classes/op.C: detected for var storage bug, fixed. todo:foreach * src/: classes/hash.C, classes/xdoc.C, classes/xnode.C, include/pa_hash.h, main/pa_hash.C, main/pa_request.C, types/pa_vhash.h, types/pa_vxnode.C: hash locking disabled changing of hash inside of foreach * src/: classes/hash.C, classes/hashfile.C, types/pa_vhashfile.C: ^hashfile.foreach[key|value]{body}[[separator]|{separator}] prev were hash.foreach * src/: classes/hash.C, classes/op.C, types/pa_vmethod_frame.h, types/pa_vstring.C, types/pa_vstring.h: ^foreach[key|value]{body}[[separator]|{separator}] * src/: classes/hash.C, include/pa_hash.h, main/pa_hash.C, types/pa_vcookie.C: ^hash.delete[key] 2001-10-31 paf * src/main/: compile.C, pa_common.C: completely empty file now considered "read", not ignored [not perfect trick used] * src/main/pa_common.C: simplier common ifdefs * src/main/pa_common.C: typing bug in common - bad ifdeff * src/main/pa_db_connection.C: z * src/main/: pa_db_connection.C, pa_sql_driver_manager.C: // lockdetector flags dbenv.lk_detect=DB_LOCK_RANDOM; * src/main/pa_sql_driver_manager.C: hiding passwords and addresses from accidental show [imagine user forgot @exception] * src/classes/table.C: ^table.save[[nameless|+append;]path] * src/: classes/file.C, classes/image.C, classes/mail.C, classes/string.C, classes/xnode.C, include/pa_common.h, main/pa_common.C: ^string.save[[append;]path] * src/: include/pa_opcode.h, main/compile.tab.C, main/compile.y, main/execute.C: \ in expression: int divide 10/3=3 * src/types/pa_vhashfile.h: hashfile ^delete to do something only inside of ^cache * src/: include/pa_threads.h, main/pa_db_connection.C, main/pa_db_table.C, targets/cgi/pa_threads.C, targets/isapi/pa_threads.C: libdb DB_THREAD flag only when really needed 2001-10-30 paf * src/: classes/classes.dsp, main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: enabled debug incremental compile * src/: include/pa_common.h, main/pa_common.C, types/pa_vform.C: form post data line endings not reformatted now. * src/types/: pa_vform.C, pa_vform.h: AppendFormEntry length param now required [had bug when file= has no value] * src/main/: pa_db_connection.C, pa_db_manager.C, pa_db_table.C, pa_exec.C, pa_request.C, pa_sql_driver_manager.C, pa_string.C: cstr(asis) default param removed * src/classes/xdoc.C: rolled back {} in xdoc.createTextNode for now * src/classes/xdoc.C: rolled back {} in xdoc.createElement for now * src/include/pa_dir.h: LOAD_DIR fixed * src/types/pa_vform.C: VForm::AppendFormEntry {length convention was broken} fix_line_breaks * src/include/: pa_config_fixed.h, pa_pragma_pack_begin.h, pa_pragma_pack_end.h, pa_string.h, pa_types.h: String & Origin packed with #pragma pack * src/include/pa_config_auto.h.in: pragma detection 2001-10-29 paf * src/types/pa_wcontext.h: bitfield syntax stricter * src/: classes/file.C, types/pa_vimage.C: image&file couple stack string hash.puts * src/include/pa_sql_connection.h: SQL_CONNECTION_FUNC_GUARDED name * src/include/pa_sql_connection.h: there were one wrong SQL_CONNECTION_FUNC_GUARDED [failed] * src/targets/isapi/pa_pool.C: added isapi&apache real_malloc debug param.someday either ifdef or remove it * src/targets/cgi/: pa_pool.C, parser3.C: removed debug defines * src/main/untaint.C: optimizing returned after debugging * src/: include/pa_string.h, include/pa_types.h, main/pa_string.C, main/untaint.C: memory hunging #pragma pack(1) 16 419 844 13 169 394 * src/: include/pa_string.h, main/pa_string.C, main/untaint.C, targets/cgi/pa_pool.C: String size_t replace to uint in proper places [todo:Array] * src/: main/execute.C, targets/cgi/pa_pool.C, targets/cgi/parser3.dsp, types/pa_wcontext.h, types/pa_wwrapper.h: debugging memory WContext flags to bits total 5 652 652/158731 total 5 469 332/158731 * src/: include/pa_array.h, main/pa_array.C: debugging memory Array:: without cache in get/put now [Mon Oct 29 18:23:02 2001] total 5 796 092/158731 [Mon Oct 29 18:25:27 2001] total 5 652 652/158731 * src/: include/pa_string.h, main/pa_string.C, targets/cgi/pa_pool.C: debugging memory String::fused_rows func now [Mon Oct 29 17:55:45 2001] total 5917436/158731 [Mon Oct 29 18:11:53 2001] total 5796092/158731 * src/: classes/file.C, include/pa_hash.h, include/pa_string.h, main/pa_globals.C, targets/cgi/pa_pool.C: debugging memory hash key ref now [Mon Oct 29 16:01:17 2001] total 17050496/202647 [Mon Oct 29 17:11:17 2001] total 16867948/202658 * src/: classes/file.C, classes/image.C, classes/string.C, classes/xdoc.C, include/pa_pool.h, include/pa_string.h, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_hash.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/untaint.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C, types/pa_vcookie.C, types/pa_vstring.h: debuggging memory. string::as_int/double now usually uses stack, not heap [200K out of 17M :)] VString(String&) not copies reference [29M -> 17M] * src/main/pa_sql_driver_manager.C: ping to have services [old hiding bug] * src/Makefile.am: .am order * src/: include/pa_array.h, include/pa_charset_manager.h, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_db_table.h, include/pa_hash.h, include/pa_request.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_manager.h, include/pa_threads.h, types/pa_valiased.h, types/pa_vhashfile.h, types/pa_vstateless_class.h, types/pa_wcontext.h: gcc 3.0.1 required "friend class" ../include/pa_request.h:51: friend declaration requires class-key, i.e. `friend class Temp_lang' * src/: include/pa_exception.h, include/pa_sql_connection.h, main/pa_exception.C, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: sql driver impl changed in _throw part. the idea is to #1 jump to C++ some function to main body, where every function stack frame has exception unwind information and from there... #2 propagate_exception() 2001-10-28 paf * src/main/pa_db_connection.C: removed old consts * src/main/pa_db_connection.C: expire table [was accidently pasted with wrong type/cast] * src/main/: pa_db_connection.C, pa_db_table.C: exception translation * src/: classes/Makefile.am, targets/cgi/Makefile.am: db makes. remember to build DB2 with -fexceptions!!! * src/main/pa_db_table.C: DB_RMW defed * src/: include/pa_config_auto.h.in, include/pa_config_fixed.h, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_db_table.h, main/pa_db_connection.C, main/pa_db_table.C: db2 on linux with DB 2.4.14: (6/2/98) 2001-10-27 paf * src/: classes/hashfile.C, include/pa_db_connection.h, include/pa_db_table.h, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_db_table.C, main/pa_globals.C, types/pa_vhashfile.C: DB2 ifdefs * src/: classes/Makefile.am, include/pa_config_fixed.h, main/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: makes with DB2 * src/: include/pa_config_auto.h.in, main/Makefile.am, types/Makefile.am: makes db * src/: main/pa_globals.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp: vc projects libdb ifdefed into globals.C * src/: classes/hashfile.C, include/pa_db_connection.h, include/pa_db_table.h, main/pa_db_connection.C, main/pa_db_table.C: ^hashfile.clear[] * src/classes/classes.awk: no $ in var names * src/main/: pa_db_connection.C, pa_db_manager.C: db expiration connection&table [forgotten calls] 2001-10-26 paf * src/main/pa_db_connection.C: db checkpoints * src/: include/pa_db_connection.h, main/pa_db_connection.C: db checkpoints * src/classes/xdoc.C: xdoc createTextNode createElement UL_XML default. but entities still reparsed. todo: tothink * src/main/pa_db_connection.C: db recover mech 2 * src/: classes/hashfile.C, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_db_table.h, include/pa_hash.h, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_db_table.C, main/pa_hash.C, types/pa_vhashfile.C, types/pa_vhashfile.h: db connections & tables now cached at create time & multithreaded * src/: classes/xdoc.C, types/pa_vxdoc.h: transform2 for parsed_source * src/main/pa_db_connection.C: about to remove connection from vhashfile * src/: main/pa_db_table.C, classes/hashfile.C: db: child transaction commit/rollback responsibility left to parent [as it sould - else there were a bug with double free] * src/include/pa_db_table.h: db: child transaction commit/rollback responsibility left to parent [as it sould - else there were a bug with double free] 2001-10-25 paf * src/: classes/hashfile.C, include/pa_common.h, include/pa_db_connection.h, include/pa_db_manager.h, main/main.dsp, main/pa_db_connection.C, main/pa_db_manager.C, types/pa_vhashfile.C, types/pa_vhashfile.h, include/pa_db_table.h, main/pa_db_table.C: started db_home [multiple, cached] todo: autorecover [tried, but not succeded, yet] * src/include/pa_dir.h: ancient gpf on dir not found fixed * src/: include/pa_db_connection.h, main/pa_db_manager.C: transaction parent passed 2001-10-24 parser * src/classes/Makefile.am: makes * src/targets/: cgi/pool_storage.h, isapi/parser3isapi.C, isapi/pool_storage.h: pool_storage fixed * src/: include/pa_common.h, main/pa_common.C, types/pa_vform.C, types/pa_vform.h: form fix_line_breaks * src/targets/cgi/pool_storage.h: makes * src/: classes/Makefile.am, targets/cgi/Makefile.am, targets/cgi/pool_storage.h: makes * src/sql/pa_sql_driver.h: version * src/: include/pa_common.h, main/Makefile.am, main/pa_common.C, types/pa_vform.C, types/pa_vform.h: .am * src/main/: pa_db_connection.C, pa_db_manager.C: hashfile setted this: DB_RMW Acquire write locks instead of read locks when doing the retrieval. Setting this flag may decrease the likelihood of deadlock during a read-modify-write cycle by immediately acquiring the write lock during the read part of the cycle so that another thread of control acquiring a read lock for the same item, in its own read-modify-write cycle, will not result in deadlock * src/targets/isapi/parser3isapi.dsp: doc * src/: classes/hashfile.C, types/pa_vhashfile.h: hashfile 1 * src/: classes/hashfile.C, include/pa_request.h: hashfile.cache 0 * src/: classes/hashfile.C, include/pa_db_connection.h, main/pa_db_connection.C: hashfile expired deleted from db when get & iterate * src/: main/pa_db_connection.C, types/pa_vhashfile.C: hashfile expiring 1 * src/types/: pa_vhashfile.C, pa_vhashfile.h: hashfile expiring 0 * src/: main/pa_db_connection.C, types/pa_vhashfile.C: db_connection not bothers with key when not returning expired data * src/: include/pa_db_connection.h, main/pa_db_connection.C, types/pa_vhashfile.C: db_cursor constructor public now * src/: include/pa_db_connection.h, main/pa_db_connection.C, types/pa_vhashfile.C, types/pa_vhashfile.h: hashfile data stamped, todo: put_element analize * src/: include/pa_db_connection.h, include/pa_string.h, main/pa_db_connection.C, main/pa_string.C: hashfile pieced serialize. todo stamp 2001-10-23 parser * src/: classes/file.C, classes/hash.C, classes/hashfile.C, classes/image.C, classes/mail.C, classes/response.C, classes/string.C, classes/table.C, classes/xdoc.C, include/pa_config_fixed.h, include/pa_db_connection.h, main/pa_common.C, main/pa_db_connection.C, main/pa_request.C, types/pa_value.h, types/pa_vcookie.C, types/pa_vhash.h, types/pa_vhashfile.C, types/pa_vhashfile.h, types/pa_vresponse.h, types/pa_vtable.C: ^hashfile.hash[] * src/: classes/hashfile.C, classes/xdoc.C, include/pa_config_fixed.h, main/pa_db_manager.C, main/pa_globals.C: ifdefs so it compiled without db * src/: classes/hashfile.C, include/pa_db_connection.h, include/pa_db_manager.h, main/pa_db_connection.C, main/pa_db_manager.C, types/pa_vhashfile.h: ^hashfile.transaction{code} ^hashfile:clear[filename] ^hashfile.delete[key] 2001-10-22 parser * src/targets/: cgi/pa_pool.C, cgi/parser3.C, cgi/parser3.dsp, cgi/pool_storage.h, isapi/pool_storage.h: cgi += pool cleanups * src/: classes/classes.dsp, classes/hashfile.C, classes/xdoc.C, classes/xnode.C, include/pa_charset_connection.h, include/pa_db_connection.h, include/pa_db_manager.h, include/pa_exception.h, include/pa_sapi.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, include/pa_stylesheet_connection.h, include/pa_stylesheet_manager.h, include/pa_xslt_stylesheet_manager.h, main/main.dsp, main/pa_db_connection.C, main/pa_db_manager.C, main/pa_exception.C, main/pa_globals.C, main/pa_pool.C, main/pa_sql_driver_manager.C, main/pa_stylesheet_manager.C, main/pa_xslt_stylesheet_manager.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vhashfile.C, types/pa_vhashfile.h, types/pa_vxdoc.C, types/pa_vxnode.C, types/types.dsp: hashfile 0 * src/types/pa_vhashfile.C: z * src/: classes/classes.dsp, classes/hashfile.C, include/pa_config_fixed.h, main/execute.C, targets/cgi/parser3.dsp, types/pa_vhashfile.C, types/pa_vhashfile.h, types/types.dsp: hashfile -100 * src/targets/isapi/parser3isapi.C: SEH minor ifdef changes * src/: include/pa_exception.h, include/pa_request.h, main/execute.C, main/pa_exception.C, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vclass.h, types/pa_vobject.h: stack backtrace 2001-10-19 parser * src/include/pa_pool.h: header * src/main/pa_pool.C: auto compiled on gcc * src/classes/image.C: comment * src/: include/pa_pool.h, main/pa_common.C: makes * src/: classes/xdoc.C, classes/xnode.C, classes/xnode.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: xnode clone got freed * src/: classes/xdoc.C, classes/xnode.C, include/pa_pool.h, include/pa_types.h, main/pa_pool.C: first c++ exceptions result: can free up xalandomstring resulting from pool::transcode * src/: classes/Makefile.am, classes/xdoc.C, classes/xnode.C, include/pa_config_fixed.h, include/pa_exception.h, include/pa_stylesheet_connection.h, main/pa_charset_connection.C, main/pa_exception.C, main/pa_pool.C, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: switched to c++ exceptions 1xml configure fixed to exclude xalan-patch from non-xml compile * src/main/pa_request.C: pool:: context - get_context * 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/string.C, classes/table.C, classes/void.C, include/pa_config_fixed.h, include/pa_exception.h, include/pa_pool.h, include/pa_request.h, include/pa_types.h, main/compile.C, main/compile_tools.C, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_dictionary.C, main/pa_exception.C, main/pa_exec.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, types/pa_value.h, types/pa_vbool.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.C, types/pa_vhash.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmethod_frame.h, types/pa_vstateless_class.h, types/pa_vtable.C, types/pa_wcontext.C, types/pa_wwrapper.h: switched to c++ exceptions 0 * src/classes/classes.awk: $ removed 2001-10-18 parser * src/types/pa_vcookie.C: cookie:CLASS * src/main/main.dsp: project * src/: classes/xdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C: vxdoc set_document & ctor question "who owns document" solved * src/: classes/xdoc.C, main/pa_pool.C: extra free removed * src/: classes/xdoc.C, classes/xnode.C, include/pa_pool.h, main/pa_pool.C: encoding in dom creating funcs * src/: classes/xdoc.C, types/pa_vxdoc.h: dom created by create can be transformed now * src/classes/xdoc.C: dom created by create can be transformed now * src/classes/xdoc.C: z * src/classes/xdoc.C: comment * src/: classes/xdoc.C, classes/xnode.C, main/compile.tab.C: xdoc create now uses XercesDocumentBridge, appendChild&co now works * src/include/pa_stylesheet_connection.h: prev stylesheet destroyed @ recompile * src/main/: compile.tab.C, compile.y, pa_request.C: ^: no colon in $origin @exception[ * src/classes/: xdoc.C, xnode.C: xdoc::create[] now. and all dom tag names forced to XML lang * src/: classes/classes.dsp, classes/xdoc.C, types/types.dsp: fiew leechy-found bugs in code&doc fixed 2001-10-17 parser * src/: classes/classes.dsp, classes/string.C, main/pa_string.C, types/pa_vxnode.h, types/types.dsp: string::mid fixed, string.mid n functionality preserved * src/types/pa_vimage.h: removed unused vimage::save 2001-10-16 parser * src/: classes/string.C, main/pa_string.C: $string.mid(p[;n]) * src/classes/: xnode.C: removed few dom returns & changed op.txt * src/types/: pa_vhash.h, pa_vtable.h: hash can be used as boolean * src/classes/image.C: image.copy tolerance * src/classes/image.C: ::CopyResampled made gd2beta+my hands, very ineffective, but works for small paleted image * src/types/pa_vimage.C: comment * src/classes/image.C: gd size/resize bugfix * src/: classes/classes.dsp, main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: ident >nul 2>&1 * src/main/pa_common.C: \r\n -> \n DOS \r -> \n Macintosh on all systems * src/: classes/image.C, types/pa_vimage.h: ^image.copy[source](src x;src y;src w;src h;dst x;dst y[;dest w[;dest h]]) 2001-10-15 parser * src/main/execute.C: z * src/classes/: xdoc.C: !::create{qualifiedName} * src/types/pa_vxnode.C: document_type_node. !readonly attribute DOMString name !notation_node. !readonly attribute DOMString publicId !readonly attribute DOMString systemId * src/types/: pa_vcode_frame.h, pa_wcontext.C: code_frame fixed - ::write badly passed string too transparently [failed to intercept it] * src/: classes/xdoc.C, classes/xnode.C, include/pa_config_fixed.h, include/pa_request.h, main/pa_sql_driver_manager.C, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h: DOM1 major addtion, only few attributes/methods left 2001-10-13 parser * src/: main/pa_sql_driver_manager.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: isapi&cgi couple non-pooled mallocs in main handler * src/targets/isapi/pool_storage.h: isapi pool storage reverse cleanups & frees order * src/types/pa_vcode_frame.h: couple comments * src/: main/execute.C, types/pa_vcode_frame.h: vcodeframe made transparent enough to handle hash if creation&passing * src/: include/pa_config_fixed.h, main/execute.C, main/pa_exception.C: noticed that vcodeframe not transparent enough, would change now 2001-10-12 parser * src/targets/isapi/parser3isapi.C: xalan&xerces multithread bug fixed. initialization&free on each thread! * src/classes/: double.C, int.C, string.C: sql{}[$.default[({})]] handling changed: now type of default param analized always, not only at problem time, thus helping early problem spotting * src/: classes/classes.dsp, classes/xdoc.C, main/compile.tab.C, main/main.dsp, main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, types/types.dsp: xalan&xerces multithread bug fixed. initialization&free on each thread! 2001-10-11 parser * src/classes/xnode.C: xnode.selectSingle now * src/: classes/xdoc.C, classes/xnode.C, include/pa_exception.h, include/pa_pool.h, include/pa_stylesheet_connection.h, main/pa_exception.C, main/pa_pool.C: moved xslt exceptions convertors out of Pool into Exception * src/main/pa_string.C: const * src/: include/pa_string.h, main/pa_string.C: restructured string: linked pieces of same language together prior to String::replace * src/classes/hash.C: !^hash.add[addme] !^hash.sub[subme] !^a.union[b] = new !^a.intersection[b] = new !^a.intersects[b] = bool * src/classes/hash.C: !^hash::append[append_from] * src/: classes/hash.C, types/pa_vhash.h: !^hash::create[[copy_from]] * src/: classes/string.C, classes/table.C, include/pa_globals.h, include/pa_string.h, main/pa_globals.C, main/pa_string.C, main/untaint.C, types/pa_vvoid.h: untaint lang origins table fixed. got rid of empty_string, which caused errors - it hasnt exception but somebody[value.bark] tried to throw it on it's pool * src/include/pa_config_auto.h.in: makes 2001-10-10 parser * src/: classes/op.C, main/compile.tab.C: ^error[msg] * src/main/: compile.tab.C, compile.y: ^a[ @next_method << now unclosed ] would be reported here * src/main/: compile.tab.C, compile.y: ^a[^b] more informative compile error 2001-10-09 parser * src/: classes/Makefile.am, main/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: makes * src/classes/Makefile.am: makes * src/targets/: cgi/parser3.C, isapi/parser3isapi.C: xml transform win32 errors intercepted [xalan transformer patched and incorporated] * src/: classes/classes.dsp, classes/xdoc.C, include/pa_stylesheet_connection.h, main/main.dsp, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vxdoc.h, types/pa_vxnode.h, types/types.dsp: xalan patches starting * src/classes/: string.C, table.C: ^string.save[file] * src/classes/: date.C, table.C: calendar moved to date * src/classes/: op.C, table.C: table.hash[key field;value field(s) string/table] now * src/classes/: op.C, table.C: z * src/: classes/op.C, classes/table.C, types/pa_vfile.h, types/pa_vimage.h, types/pa_vjunction.h, types/pa_vxdoc.h, types/pa_vxnode.h: table:menu & op for delims made allowed not to be code [be string..] * src/classes/: double.C, file.C, image.C, int.C, op.C, string.C, table.C: lots of params->as_int/double/as_string/as_junction/as_no_junction messages added 2001-10-08 parser * src/: classes/date.C, classes/image.C, classes/string.C, classes/table.C, classes/void.C, include/pa_request.h: params->as_int/double message added * src/classes/image.C: image:circle [and round arc] uses Bresenham * src/: classes/image.C, types/pa_vcookie.C, types/pa_vimage.C: image:sector removed image:html internal "line-*" attribs * src/: classes/image.C, include/pa_common.h, main/pa_common.C, types/pa_vcookie.C: cookie urlencoded [netscape doc reread] * src/types/pa_vcookie.C: removing cookie made more netscape-like way * src/: classes/file.C, classes/form.C, main/pa_common.C, main/untaint.C: header untainting to UL_HTTP_HEADER, UL_MAIL_HEADER made nonforced [only tainted pieces] * src/: include/pa_common.h, main/pa_common.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: remove_crlf @ SAPI::log * src/main/untaint.C: \r to ' ' in origins mode * src/classes/xdoc.C: xdoc:load exceptions intercepted [like in set] * src/: classes/xdoc.C, include/pa_config_fixed.h, main/compile.tab.C, types/pa_vxdoc.h: parsedSource produced by nonstandard liaison freed up 2001-10-07 parser * src/: include/pa_config_fixed.h, main/compile.tab.C: restored project 2001-10-05 parser * src/: classes/xdoc.C, include/pa_pool.h, main/main.dsp, main/pa_pool.C: changed xdoc:set to prevent SAXParseException from outputing to cerr. lots of "todos" * src/main/untaint.C: http_header tainting more gentle with enquoting now * src/: classes/xdoc.C, include/pa_dictionary.h, main/main.dsp, main/pa_dictionary.C, main/pa_string.C, types/pa_vxdoc.h: started xml errorhandler. fixed string.replace a little, read @test * src/main/pa_string.C: found replace bug - first_that_starts(char *) does not have limit, and looks further eos, fixing.... * src/doc/: doxygen.cfg, html2chm.cmd, sources2html.cmd: paths * src/: classes/xdoc.C, main/compile.tab.C: xdoc.transform now * src/main/: pa_charset_connection.C: ctype another mem clear bugfix * src/main/: compile.tab.C, compile.y: disabled ^literals in names $result[^[$p^]z] now works fine * src/: include/pa_hash.h, main/pa_hash.C: Hash::size() calculated wrong. fixed it * src/main/pa_charset_connection.C: unicode zero pair at the beging of totable appered to be vital 2001-10-04 parser * src/classes/image.C: ^image.length[text] 2001-10-03 parser * src/main/pa_request.C: DEFAULT...charset was ignored when !XML * src/main/pa_request.C: restored pcre defaulting in request [mindlessly "optimized" yesterday] comment left 2001-10-02 parser * src/: main/pa_charset_manager.C, include/pa_stylesheet_connection.h: forgot non-xml pool.*charset needed * src/: include/pa_pool.h, main/pa_pool.C, types/pa_vresponse.h: forgot non-xml pool.*charset needed * src/classes/table.C: # config comments fixed * src/: classes/table.C, main/pa_charset_connection.C: table:load & charset_connection #comment now * src/: classes/classes.dsp, types/types.dsp: release projects options fixed to use release msvcrt lib * src/main/pa_charset_connection.C: pcre tables now const inside removed default - pcre handles that internally fixed bug on not-cleaning tables [previously was calloced, now member] * src/: include/pa_request.h, main/pa_charset_connection.C, main/pa_request.C, types/pa_vstring.h: pcre tables now const inside removed default - pcre handles that internally fixed bug on not-cleaning tables [previously was calloced, now member] * src/: include/pa_config_fixed.h, main/pa_charset_connection.C: tested charset reload on file change @ apache version = OK tested freeing up prev encoding on adding new = OK 2001-10-01 parser * src/main/pa_charset_connection.C: removed entitify external hack [internal installed] * src/main/Makefile.am: makes+removed dtd * src/: include/pa_charset_connection.h, include/pa_charset_manager.h, include/pa_xslt_stylesheet_manager.h, main/main.dsp, main/pa_charset_connection.C, main/pa_charset_manager.C, main/pa_request.C: charset loading & caching mech 0 * src/: include/pa_stylesheet_connection.h, include/pa_xslt_stylesheet_manager.h, main/main.dsp, main/pa_globals.C, main/pa_request.C: would make charset loading & caching mech now 2001-09-30 parser * src/main/pa_request.C: forgot to fill toTable * src/: include/pa_config_fixed.h, main/pa_request.C: started hack_s_maximumCharacterValues to XALAN_HACK_DIGITAL_ENTITIES but failed on win32 for now.. * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C: now charsets table configuration variable is: CHARSETS * src/: classes/xdoc.C, include/pa_request.h, main/pa_request.C: ctype with unicode 1. todo: no П entities on output somehow * src/: classes/file.C, classes/op.C, classes/string.C, include/pa_request.h, main/pa_request.C: started ctype with unicode values 2001-09-28 parser * src/: main/pa_request.C, classes/mail.C, classes/op.C, classes/xdoc.C, include/pa_stylesheet_connection.h: letter body string passed AS-IS now * src/classes/: xdoc.C, xnode.C: xdoc addencoding works! invented a way of user-configuring... todo: implement 2001-09-27 parser * src/classes/table.C: table.sort changed to sort table itself * src/: classes/xdoc.C, targets/isapi/parser3isapi.dsp: X^.getElementsByTagName[tagname] = array of xnode X^.getElementsByTagNameNS[namespaceURI;localName] = array of nodes removed - regretfully not supported @ xalan. maybe someday would reimplement, if needed. win32build system: solved long waiting anti-non-started-apache problem * src/: classes/classes.dsp, classes/xdoc.C, main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp, types/types.dsp: win32 ident make system so not to rebuild library [ident.C.new] 2001-09-26 parser * src/: classes/classes.dsp, classes/xdoc.C, classes/xnode.C, classes/xnode.h, include/pa_config_fixed.h, main/main.dsp, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vxnode.C, types/types.dsp: z * src/classes/classes.C: forgot one non-xml check * src/: Makefile.am, classes/Makefile.am, main/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: makes with clases.awk * src/targets/cgi/parser3.C: z * src/: include/pa_config_fixed.h, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: #ifdef SMTP * src/: classes/classes.dsp, classes/dnode.C, classes/dnode.h, classes/dom.C, classes/xdoc.C, classes/xnode.C, classes/xnode.h, main/compile.tab.C, types/pa_vdnode.C, types/pa_vdnode.h, types/pa_vdom.C, types/pa_vdom.h, types/pa_vxdoc.C, types/pa_vxdoc.h, types/pa_vxnode.C, types/pa_vxnode.h, types/types.dsp: xdoc&xnode now * src/: classes/classes.C, classes/classes.awk, classes/classes.dsp, classes/classes.h, classes/date.C, classes/dnode.C, classes/dnode.h, classes/dom.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, include/pa_array.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_request.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_table.h, include/pa_threads.h, include/pa_types.h, include/pa_xslt_stylesheet_manager.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/main.dsp, main/pa_array.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_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/pa_xslt_stylesheet_manager.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, targets/isapi/pool_storage.h, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vdnode.C, types/pa_vdnode.h, types/pa_vdom.C, types/pa_vdom.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.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.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_vstring.C, types/pa_vstring.h, types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h, types/types.dsp: added ident.awk and main.dsp splitted to main+classes+types along to .am * src/classes/Makefile.am: removed useless var * src/: classes/classes.cmd, main/main.dsp, targets/cgi/parser3.dsp: moved classes.inc generation on win32 to main.dsp 2001-09-25 parser * src/include/pa_config_auto.h.in: xml on linux[elik] works! no 1251 though, todo ICU * src/: Makefile.am, classes/Makefile.am, classes/dom.C, include/pa_stylesheet_connection.h, main/Makefile.am, main/pa_pool.C, targets/cgi/Makefile.am, types/Makefile.am, types/pa_vdom.h: xml configure makes 2001-09-24 parser * src/: classes/Makefile.am, include/pa_config_auto.h.in, types/Makefile.am: makes * src/targets/cgi/Makefile.am: makefiles * src/: Makefile.am, targets/Makefile.am, targets/cgi/pa_pool.C: started unix makes update * src/: Makefile.am, main/Makefile.am, targets/cgi/Makefile.am: started unix makes update * src/types/: pa_vdnode.C, pa_vvoid.h, pa_vtable.C: z * src/types/pa_value.h: z * src/types/: pa_vhash.h, pa_vtable.h, pa_vclass.h: fixed small bugs with usinge hash/table in expressions * src/types/: pa_vfile.h, pa_vimage.h, pa_vstring.h: fiew wrong resolved conflicts fixed [const] * src/: classes/classes.cmd, classes/image.C, classes/op.C, classes/table.C, include/pa_request.h, include/pa_sapi.h, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/main.dsp, main/pa_common.C, main/pa_sql_driver_manager.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_value.h, types/pa_vbool.h, types/pa_vdate.h, types/pa_vdouble.h, types/pa_vform.C, types/pa_vhash.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vvoid.h: merged3 with before_xml [merge2 actually didn't happen - i've created tags on wrong branch. so this merge is in fact re-merge] 2001-09-21 parser * src/: main/main.dsp, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp: updated project files [/ sadly produced "" in make file and sadly wrong interpreted on load] * src/: classes/classes.h, classes/hash.C, classes/op.C, classes/table.C, doc/doxygen.cfg, include/pa_common.h, include/pa_globals.h, include/pa_request.h, include/pa_sapi.h, include/pa_sql_driver_manager.h, include/pa_string.h, main/compile.tab.C, main/main.dsp, main/pa_common.C, main/pa_exec.C, main/pa_globals.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.dsp: merged with before_xml * src/: classes/classes.C, classes/date.C, classes/dnode.C, classes/dom.C, classes/file.C, classes/form.C, classes/int.C, classes/mail.C, doc/doxygen.cfg, include/pa_config_fixed.h, include/pa_pool.h, main/main.dsp, main/pa_globals.C, main/pa_pool.C, main/pa_request.C, main/pa_xslt_stylesheet_manager.C, targets/cgi/pa_pool.C, targets/cgi/pa_threads.C, targets/cgi/parser3.dsp, targets/isapi/pa_pool.C, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.dsp, types/pa_valiased.C, types/pa_vcookie.C, types/pa_vdnode.C, types/pa_vdom.C, types/pa_vfile.C, types/pa_vform.C, types/pa_vimage.C, types/pa_vrequest.C, types/pa_vresponse.h, types/pa_vstateless_class.C, types/pa_vstring.C, types/pa_vtable.C, types/pa_wcontext.C: zillions of #ifdef XML created new projects for sql drivers [planning to remove sql drivers from main cvs project] first, will join latest changes * src/classes/: dom.C: defaulted dom writing methods encoding to pool.get_charset * src/classes/dom.C: defaulted dom writing methods encoding to pool.get_charset * src/include/pa_pool.h: defaulted dom writing methods encoding to pool.get_charset * src/: classes/dom.C, include/pa_pool.h, main/pa_pool.C, types/pa_vdnode.C, types/pa_vresponse.h: defaulted dom writing methods encoding to pool.get_charset * src/: include/pa_pool.h, main/pa_pool.C: checked whether transcoder were created right "unsupported encoding" message. not @ set time, but @ use time, so until xml output functions .string, .file, .save used - no encoding name check occur reduced transcode buffer size to 60 fixed pool cleanup - no registration needed, pools are officially destructured 2001-09-20 parser * src/classes/image.C: 20K preload on jpg measure [image::measure] * src/main/: pa_pool.C, pa_request.C: Pool::transcode defaults from $MAIN:DEFAULTS.content-type[$.charset[here]] * src/: classes/dnode.C, classes/dom.C, include/pa_config_includes.h, include/pa_globals.h, include/pa_pool.h, main/main.dsp, main/pa_globals.C, main/pa_pool.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, types/pa_vdnode.C, types/pa_vdnode.h, types/pa_vresponse.h: Pool::transcode 0 * src/classes/dom.C: dom. string save file moved output xml options to last param and made it optional * src/types/pa_vdnode.C: !$elementnode.attributes = hash of dnodes !$attributenode.specified = boolean true if the attribute received its value explicitly in the XML document, or if a value was assigned programatically with the setValue function. false if the attribute value came from the default value declared in the document's DTD. !$pinode.target = target of this processing instruction XML defines this as being the first token following the markup that begins the processing instruction. XPath: !^node.select[xpath/query/expression] = hash of 0->node0 1->node1 !^node.select-single[xpath/query/expression] = first node if any * src/types/: pa_value.h, pa_vbool.h, pa_vdate.h, pa_vdouble.h, pa_vhash.h, pa_vint.h, pa_vstring.h, pa_vtable.h, pa_vvoid.h: some 'const's added * src/types/: pa_vhash.h, pa_vtable.h: table/hash can be used in expression context now, there value = size and boolean value size!=0 * src/types/: pa_vhash.h, pa_vstring.h, pa_vtable.h: table/hash can be used in expression context now, there value = size and boolean value size!=0 * src/: classes/dnode.C, classes/dom.C, targets/cgi/parser3.dsp, types/pa_vstring.h: dnode .file .string .save moved back to dom due to strange xalan bug 2001-09-18 parser * src/: classes/dnode.C, classes/dom.C, classes/hash.C, classes/image.C, classes/op.C, classes/table.C, include/pa_common.h, include/pa_globals.h, include/pa_request.h, include/pa_sql_driver_manager.h, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/execute.C, main/pa_common.C, main/pa_request.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/pa_table.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, types/pa_value.h, types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vtable.h: merged latest bugfixes from before_xml branch ^if(def $hash) now true only when ^hash:_count[]!=0 moved .string .save .file from dom to dnode * src/: classes/op.C, main/execute.C: operators self changed to root ^for variable context changed to self * src/types/: pa_vdnode.C, pa_vdom.h, pa_vhash.h, pa_vtable.h: dom, dnode 1 * src/: classes/dnode.C, classes/dnode.h, main/main.dsp, types/pa_vdnode.C, types/pa_vdnode.h: dom, dnode 0 * src/: classes/image.C, main/pa_string.C, main/pa_table.C: image: poly* fixed 2001-09-17 parser * src/: classes/dom.C, main/main.dsp, main/pa_globals.C, types/pa_vdom.h: started dnode+dom dnode DOM methods: $node.name $node.value ...others... ^node.xpath[/rates/USD] = hash $hash[ $.0[node0] $.1[node1] ] * src/: classes/image.C, types/pa_vimage.C: $image.line-style now applies to all linear primitives * src/: classes/classes.h, classes/dom.C, classes/hash.C, include/pa_stylesheet_connection.h, main/main.dsp, targets/cgi/pa_pool.C, types/pa_vdom.h, types/pa_vfile.h, types/pa_vimage.h: started dnode DOM: $node.name $node.value ...others... ^node.xpath[/rates/USD] = hash dom(dnode) * src/: classes/hash.C, main/compile.C, main/compile.tab.C, main/compile.y, main/compile_tools.h, main/execute.C, targets/cgi/parser3.C: expressions unary+ ^hash.count[] bugfix: in expression compound($aa.zz.xx) names now can have minus '-' in name after '.' 2001-09-15 parser * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: image: $line-width ^line(...)[**** style] * src/: classes/dom.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h, types/pa_vdom.h: fixed bug in isapi pool_storage - cleanups first, allocations second. apache wisely does just like that * src/targets/isapi/: parser3isapi.C, pool_storage.h: pool_storage rewritten using template, no bugs now * src/: include/pa_pool.h, main/pa_pool.C, targets/cgi/pa_pool.C, targets/isapi/pa_pool.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, targets/isapi/pool_storage.h: poorly started isapi pool_storage, would rewrite using template now * src/: classes/dom.C, classes/image.C, include/pa_pool.h, include/pa_stylesheet_connection.h, main/main.dsp, targets/cgi/pa_pool.C, targets/isapi/pa_pool.C, targets/isapi/pool_storage.h, types/pa_vdom.C, types/pa_vdom.h: xalan objects freed up [introducing Pool::register_cleanup] * src/: doc/doxygen.cfg, include/pa_sapi.h, types/pa_vdom.h: comments 2001-09-14 parser * src/main/: pa_sql_driver_manager.C, pa_xslt_stylesheet_manager.C: z * src/: classes/dom.C, classes/file.C, classes/image.C, classes/mail.C, include/pa_common.h, include/pa_sql_driver_manager.h, include/pa_string.h, include/pa_stylesheet_connection.h, include/pa_xslt_stylesheet_manager.h, main/main.dsp, main/pa_common.C, main/pa_exec.C, main/pa_globals.C, main/pa_sql_driver_manager.C, main/pa_xslt_stylesheet_manager.C, main/untaint.C, types/pa_vfile.C: dom.xslt stylesheet compiled&cached 2001-09-13 parser * src/: classes/dom.C, classes/file.C, classes/image.C, types/pa_vfile.C, types/pa_vfile.h: ^dom.file[] charset * src/classes/dom.C: dom:file content-type(.method) * src/: include/pa_common.h, include/pa_globals.h, main/pa_common.C, main/pa_request.C: $MAIN:CLASS_PATH now can be string now more informative error messages * src/: include/pa_globals.h, include/pa_request.h, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: ParserRootConfig .../parser3.conf ParserSiteConfig .../parser3.conf cgi&isapi looks for {configure|c:\windows}/parser3.conf 2001-09-12 parser * src/: classes/op.C, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C: ^connect[] ^connect[aaa] more precise error reporting: "connection string must start with protocol://" now * src/main/compile.tab.C: fixed - subname code parts actually [] braced * src/main/: compile.y, compile_tools.h: name.[part].xxx syntax lexer on LS_USER level did [] matching without setting nestage, introduced special LS_NAME_SQUARE_PART state 2001-09-11 parser * src/: classes/dom.C, include/pa_string.h, main/pa_globals.C, main/untaint.C: ^dom:set{xml} default language XML languages+=xml * src/: classes/dom.C, types/pa_vdom.h: ^dom:set[xml] * src/classes/dom.C: ^dom:save/string/file[output options] output options: $.method[xml|html|text] detection fixed * src/types/pa_vdom.h: messages * src/classes/dom.C: ^dom:save/string/file[output options] output options: $.method[xml|html|text] detection fixed 2001-09-10 parser * src/classes/dom.C: ^dom:save/string/file[output options] output options: $.method[xml|html|text] $.encoding[windows-1251|...] * src/classes/dom.C: ^dom.xslt[stylesheet filename][params hash added] * src/: classes/dom.C, main/main.dsp, types/pa_vdom.h: ^dom.xslt[stylesheet filename] 0 * src/: classes/dom.C, main/main.dsp, types/pa_vdom.h: ^dom.xslt[stylesheet filename] -1 doc is lying * src/classes/dom.C: ^dom.file[encoding] = file * src/classes/: dom.C: ^dom.string[encoding] 1 ^dom.save[encoding;filename] * src/classes/dom.C: ^dom.string[] 0 * src/classes/dom.C: ^dom.save[b.xml] 1:error handling * src/: classes/dom.C, main/main.dsp, types/pa_vform.C, types/pa_vform.h: ^dom.save[b.xml] 0 2001-09-08 parser * src/types/pa_vform.C: $form:tables.name.field 2001-09-07 parser * src/classes/table.C: table:empty removed, superceded by ^if(def $table)... * src/targets/cgi/parser3.C: z * src/main/pa_string.C: $a[] ^if($a){y;n} is 'n' now [conversion from '' to int/double is 0] * src/: classes/dom.C, types/pa_value.h, types/pa_vtable.h: (def $table) is false when table is empty * src/: main/pa_request.C, types/pa_vform.C, types/pa_vform.h: !$form:tables $atable[$form:tables.a] ^atable.menu{a=$atable.element}[,] * src/: targets/cgi/parser3.dsp, types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h: !$form:fields * src/: classes/dom.C, classes/table.C, main/main.dsp, types/pa_vdom.h, types/pa_vform.C: merged with successful start of dom * src/: include/pa_hash.h, main/pa_hash.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h: z * src/: main/pa_exception.C, types/pa_vform.C: getting FIRST form element [not last] * src/: classes/dom.C, classes/table.C, main/main.dsp, types/pa_vdom.h: introducing dom. dom:load[a.xml] 2001-09-06 parser * src/types/pa_vform.C: ?a=1&a=2 would result in $form:a being a table with one column 'element' and two rows: 1 and 2 * src/types/pa_vform.C: ?a=1&a=2 would result in $form:a being a table with one column 'element' and two rows: 1 and 2 * src/: classes/void.C, main/pa_string.C, main/pa_table.C: fixed up bad int/double conversions, and now $form:nonexistent.int(88) would return 88 * src/: classes/hash.C, include/pa_globals.h, main/pa_globals.C, types/pa_vhash.h: now there's special hash key '_default' [instead of ^_default method] $hash[ $.a[1] $.b[2] $._default[xx] ] $hash.c * src/main/: compile.tab.C, compile.y: ^if(0){}{ ^if(1){}^; } bug fixed [thanks, fif], ^; were treated there non-literally * src/doc/doxygen.cfg: merged new default options from 1.2.10 doxygen * src/: classes/image.C, classes/op.C, classes/string.C, classes/table.C, doc/doxygen.cfg, targets/isapi/parser3isapi.C, types/pa_vtable.C: few #ifndef DOXYGEN 2001-09-05 parser * src/classes/: string.C, table.C: sql options can be void [same as image:html the other day] * src/targets/cgi/Makefile.am: .am undo * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h, targets/cgi/parser3.C: #define STRINGIZE(name) #name does not macro expantion on param, simply qoutes whatever passed, undone * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h, targets/cgi/Makefile.am, targets/cgi/parser3.C: #define STRINGIZE(name) #name invented * src/: classes/op.C, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C: #define MAIN_SQL_NAME "SQL" #define MAIN_SQL_DRIVERS_NAME "drivers" moved to be availible to all users * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: SQL_DRIVER_CREATE_FUNC_NAME * src/classes/mail.C: MAIN:MAIL check fixed 2001-09-04 parser * src/classes/image.C: image.html now can accept void params * src/targets/isapi/parser3isapi.C: z * src/targets/cgi/parser3.C: full_file_spec bug * src/targets/cgi/parser3.C: getenvcheck * src/targets/cgi/parser3.C: zz * src/targets/cgi/parser3.C: zzz * src/classes/date.C: date * src/classes/date.C: date:sql-string is now without '' * src/: include/pa_config_auto.h.in, targets/cgi/Makefile.am, targets/cgi/parser3.C: configure --sysconfdir=sysadmin-controlled auto.p location for targets/cgi/parser3, default[/usr/local/etc] * src/include/pa_config_auto.h.in: makes 2001-09-03 parser * src/targets/cgi/parser3.C: /configure cgi SYSCONFDIR 2001-09-01 parser * src/classes/image.C: letter_spacing * src/classes/image.C: image: font params changed * src/classes/image.C: image: as_int as_string used * src/types/pa_vmethod_frame.h: $result[] now gets properly analized 2001-08-31 parser * src/targets/cgi/parser3.C: z * src/: include/pa_dir.h, targets/cgi/parser3.C: compiled under cygwin * src/classes/void.C: void:int/double += (default) * src/classes/image.C: image:font added space param image:font changed charwidth alg, added kerning const[for now] * src/classes/: string.C, table.C: string:int/double (defaults) 2001-08-29 parser * src/main/pa_exception.C: exception redundant debug info 2001-08-28 parser * src/classes/image.C: image error msgs * src/classes/image.C: image: gifsize little endian * src/doc/doxygen.cfg: doxygen conf removed some garbage from under doxygeneration * src/: classes/Makefile.am, main/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: .am-s * src/: include/pa_dictionary.h, main/pa_dictionary.C, main/pa_sql_driver_manager.C: NO_STRING_ORIGIN check3 * src/main/compile.C: NO_STRING_ORIGIN check2 * src/classes/table.C: NO_STRING_ORIGIN check * src/include/pa_dictionary.h: gcc: ../include/pa_dictionary.h:19: storage class specifiers invalid in friend function declarations * src/: classes/op.C, main/compile.tab.C, main/pa_dir.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: strncpy forced with zero ending in case of limit * src/: classes/file.C, main/pa_common.C: file:move autocreate/remove dest/src dir * src/: classes/string.C, include/pa_dictionary.h, include/pa_string.h, main/pa_dictionary.C, main/pa_string.C, main/untaint.C: pa_directory speeded up. moved zero 'from' check to directory constructor. string:replace 2001-08-27 parser * src/classes/image.C: fixed jpgsize alg * src/classes/image.C: fixed jpgsize alg * src/main/pa_exception.C: z * src/main/pa_common.C: removed debug info from pa_common * src/: main/pa_request.C, targets/cgi/parser3.C: parser3 test.html [auto.p from current dir loading] * src/: main/pa_common.C, main/pa_exception.C, main/pa_sql_driver_manager.C, targets/cgi/Makefile.am: configure for solaris -lsocket 2001-08-24 parser * src/targets/cgi/parser3.C: not cgi extra \n 3 * src/targets/cgi/parser3.C: not cgi extra \n 2 * src/targets/cgi/parser3.C: not cgi extra \n * src/main/pa_sql_driver_manager.C: z * src/: include/pa_sql_connection.h, main/pa_sql_driver_manager.C: sql* removed services from disconnect - cross-request ideological probs. * src/sql/pa_sql_driver.h: sql* removed services from disconnect - cross-request ideological probs. oracle - fixed bug: cs allocated on request.pool and got freed before disconnect * src/classes/: file.C, form.C, mail.C, table.C: fiew non-pool mallocs fixed 2001-08-23 parser * src/classes/file.C: minor bug in file:save fixed * src/main/pa_sql_driver_manager.C: oracle: dlink 2001-08-22 parser * src/: classes/file.C, main/compile.tab.C, types/pa_vfile.C, types/pa_vfile.h: file:load|save[text|binary; * src/main/: compile.tab.C, compile.y: ^method[]^[^] literals [] 2001-08-21 parser * src/classes/: file.C, table.C: ^file:list 2001-08-20 parser * src/: main/compile.tab.C, main/compile.y, main/pa_sql_driver_manager.C, types/pa_value.h, types/pa_vbool.h, types/pa_vdouble.h, types/pa_vint.h: $var(123) ^var.inc[] recousively caused problems: inc incremeted 123 literal!! fixed 2001-08-10 parser * src/main/: compile.tab.C, compile.y: [codes] name part syntax now * src/main/: compile.tab.C, compile.y: (codes) name part syntax added * src/main/: compile.tab.C, compile.y: (codes) name part syntax added * src/classes/table.C: table:sort restored [it was bad test :(] * src/types/: pa_value.h, pa_vstring.h: string now def only when ne '' * src/main/: pa_request.C: wanted to make const int MAX_EXECUTE_SECONDS=1; but couldnt, set_callback_and_alarm appeared to be not exported :( * src/main/pa_string.C: string.match hanged on. there were a hang check but it weren't wise enough @parse[dateString][tmp] $tmp[^dateString.match[(\d\d\d\d-)?(\d\d-)?][g]] $tmp.1 $tmp.2 #end @main[] ^parse[2001-02-03] * src/classes/: table.C: table:sort now default desc * src/: classes/table.C, include/pa_table.h, main/pa_table.C: table.sort now creates new sorted table 2001-08-09 parser * src/main/pa_string.C: $a[010] now ^if($a==10){true} were octal * src/classes/hash.C: hash:_default now [was hash:default] * src/classes/op.C: case without switch check added * src/types/pa_vcookie.C: cookie name&value origins added, more precise $ORIGINS(1) * src/main/Makefile.am: .am * src/classes/void.C: void: int double copy/paste from int: bug fixed * src/classes/void.C: void: int double copy/paste from int: bug fixed 2001-08-07 parser * src/: classes/double.C, classes/int.C, classes/string.C, classes/table.C, include/pa_globals.h, main/pa_globals.C: !^int/double:sql{query}[[$.limit(2) $.offset(4) $.default(0)]] string, table * src/: classes/math.C, main/pa_request.C: math:random fixed. win32 srand made working 2001-08-06 parser * src/: classes/mail.C, classes/op.C, include/pa_array.h, include/pa_globals.h, include/pa_hash.h, include/pa_request.h, main/compile.tab.C, main/compile.y, main/pa_array.C, main/pa_dictionary.C, main/pa_exec.C, main/pa_globals.C, main/pa_hash.C, main/pa_request.C, main/pa_string.C: class_path * src/main/pa_exec.C: exec win32 real filename * src/classes/file.C: exec stderr out * src/classes/hash.C: hash:keys renamed to hash:_keys :( 2001-08-03 parser * src/: classes/table.C, types/pa_vtable.h: vtable.locks killed 2001-08-02 parser * src/: classes/string.C, classes/table.C, include/pa_array.h, main/execute.C, main/pa_exec.C: introducing Array_iter * src/main/execute.C: detected quick_get recursion bug. changed to get@execute, but needs array iterator, separate from array to avoid it & use caching * src/main/: pa_dictionary.C, pa_globals.C: memset dictionary minor bug fixed * src/: classes/classes.h, classes/op.C, include/pa_globals.h, main/execute.C, main/pa_globals.C: found another multithread bug in op.C (last, last global var killed) :) 2001-08-01 parser * src/: include/pa_dictionary.h, include/pa_globals.h, include/pa_string.h, main/main.dsp, main/pa_dictionary.C, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/untaint.C: speeded up typo-html replacements. introducing Dictionary with first-char caching 2001-07-31 parser * src/types/Makefile.am: pa_vtable.C added to .am * src/main/compile.tab.C: added, so that could be compiled even on non-bison-enabled platforms 2001-07-28 parser * src/classes/table.C: table:hash always produces hash, when can't - empty * src/main/: compile.y, untaint.C: bug fix @ untaint when \r skipped \n 2001-07-27 parser * src/classes/: double.C, int.C, string.C: provided meaningful msg on int/double/string :sql without result and default 2001-07-26 parser * src/classes/op.C: fixed bad multithread bug with strangly global OP * src/main/compile.y: $man[$.age[zzz]] 0 * src/: include/pa_opcode.h, main/compile.y, main/execute.C: hash creation syntax problem persists. restored $: for a while. thinking of $man[$.age[zzz]] syntax now * src/: classes/double.C, classes/int.C, classes/string.C, include/pa_opcode.h, main/compile.C, main/compile.y, main/compile_tools.h, main/execute.C, types/pa_vcode_frame.h, types/pa_vmethod_frame.h, types/pa_wcontext.h, types/pa_wwrapper.h: fixing :: realization #1 * src/: include/pa_opcode.h, main/compile.C, main/compile.y, main/compile_tools.h, main/execute.C, main/pa_request.C, types/pa_vmethod_frame.h: introducing :: this is constructor call prefix. ordinary : remains for static accesses 2001-07-25 parser * src/types/pa_vtable.C: table: get_element order changeed. now: 1. fields 2. methods 3. columns * src/types/: pa_vdouble.h, pa_vint.h: odbc: no result queries; quote. optimized double&int tostring-s * src/main/: compile.C, compile.y, compile_tools.h: allowed whitespace before first method decl * src/classes/table.C: allowed nontable result in table:sql, results in empty table * src/main/: compile.C, compile.y, compile_tools.h: allowed empty lines before first method decl * src/: classes/table.C, main/main.dsp, types/pa_vtable.C, types/pa_vtable.h: ^table.record[] now $table.fields * src/main/compile.y: $var[] is now empty string, not void * src/main/: compile.y, execute.C: $var[] is now empty string, not void * src/: classes/string.C, include/pa_globals.h, main/execute.C, main/pa_globals.C: match replace code context moved to implicit $match context * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: with killed, code storage introduced with former 'with' syntax 2001-07-24 parser * src/: main/compile.C, main/execute.C, main/pa_string.C, types/pa_value.h: first get_element, next get operator * src/main/compile.y: removed @end handling * src/main/: compile.C, compile.y: @end handling method2 * src/: classes/file.C, include/pa_common.h, main/pa_common.C: file:move * src/main/pa_common.C: file_read close @ eof when imgsize bug fixed 2001-07-23 parser * src/: main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: sql odbc driver * src/classes/hash.C: changed sql driver query interface * src/: classes/hash.C, classes/string.C, classes/table.C, classes/void.C, include/pa_sql_connection.h, sql/pa_sql_driver.h: changed sql driver query interface 2001-07-20 parser * src/types/pa_vrequest.C: X!$browser:type * src/: classes/file.C, classes/string.C, include/pa_string.h, main/execute.C, main/pa_string.C, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vclass.h, types/pa_vcookie.h, types/pa_vdate.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vhash.h, types/pa_vmath.h, types/pa_vobject.h, types/pa_vrequest.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h: only ^class:method dynamic calls allowed. ^BASE.method call disabled. BASE element globally removed 2001-07-18 parser * src/classes/file.C: file:exec/cgi msg * src/classes/file.C: $file:exit-code renamed to 'status' * src/: classes/file.C, main/pa_exec.C: file:exec * src/: Makefile.am, classes/Makefile.am, main/Makefile.am, targets/Makefile.am, targets/cgi/Makefile.am, types/Makefile.am: removed $id from *.in *.am * src/main/: pa_request.C, untaint.C: ORIGINS langs name abbrevations * src/: classes/date.C, classes/mail.C, classes/math.C, classes/string.C, classes/table.C, include/pa_globals.h, include/pa_string.h, main/execute.C, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/untaint.C, types/pa_value.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vstring.C, types/pa_vstring.h: $ORIGINS(1) output tracing mode 2001-07-13 parser * src/: classes/double.C, classes/int.C, classes/string.C, include/pa_request.h, main/execute.C, main/pa_request.C: auto.p[@auto], /news/auto.p[no @auto], so that initializing second would not call first @auto * src/main/: execute.C, pa_request.C: order of MAIN parents was wrong, fixed 2001-07-12 parser * src/types/pa_value.h: pa_value.putelement modification of system classes prevented 2001-07-11 parser * src/: classes/string.C, doc/sources2html.cmd: lr split now yelds table $piece * src/: classes/file.C, include/pa_common.h, main/pa_common.C, types/pa_vstateless_class.h: $file created by file:state += .atime .mtime .ctime +found&fixed bug with exceptions on get_junction-created objects [they were on wrong pool] 2001-07-09 parser * src/main/untaint.C: qp wrong name * src/: classes/date.C, classes/string.C, classes/table.C, main/compile.y: date format 0 2001-07-07 parser * src/: classes/date.C, classes/table.C, include/pa_common.h, include/pa_string.h, main/pa_common.C, types/pa_vdate.h: date roll table calendar * src/: classes/Makefile.am, classes/date.C, classes/file.C, classes/hash.C, classes/image.C, classes/mail.C, classes/math.C, classes/op.C, classes/string.C, classes/table.C, classes/void.C, include/pa_request.h, main/main.dsp, types/pa_value.h, types/pa_vdate.h, types/pa_wcontext.C: date now set $fields roll string. todo: sql, calendar 2001-07-06 parser * src/: classes/math.C, include/pa_request.h, main/execute.C, main/main.dsp, main/pa_request.C, types/pa_vmath.h: math 0 2001-07-03 parser * src/: classes/Makefile.am, classes/math.C, classes/op.C, classes/random.C, main/main.dsp: class random renamed to math, operators became methods * src/classes/op.C: pow sqrt * src/: classes/op.C, main/execute.C: sin asin cos acos tan atan 2001-07-02 parser * src/classes/table.C: ^table.columns column renamed from 'name' to 'column' * src/classes/hash.C: ^hash.keys[] * src/: classes/table.C, main/pa_table.C: ^table:columns[] * src/main/: compile.y, compile_tools.h: in expressions now allowed 'strings' 2001-06-29 parser * src/main/: execute.C: /0 %0 checkes ver 2 * src/main/execute.C: /0 %0 checke * src/classes/Makefile.am: nothing - void * src/classes/table.C: empty strings @ sql 2001-06-28 parser * src/: classes/double.C, classes/file.C, classes/form.C, classes/hash.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/void.C, main/compile.C, main/compile_tools.C, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, 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, main/compile.y: */ static const char *RCSId="$Id: double.C,v 1.31 2001/06/28 07:41:59 parser Exp $"; * src/: classes/double.C, classes/file.C, classes/form.C, classes/hash.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/void.C, main/compile.C, main/compile.y, main/compile_tools.C, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_dir.C, main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, 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"; * src/main/: compile.y, compile_tools.h: $:name: == ${name}: $class:name: == ${class:name}: * src/classes/string.C: exactly one 2001-06-27 parser * src/: classes/nothing.C, classes/void.C, types/pa_vnothing.h, types/pa_vvoid.h: nothing renamed to void * src/classes/op.C: ^switch ^case * src/main/compile.y: nothing renamed to void * src/: classes/hash.C, classes/table.C, main/compile.y, main/execute.C, main/main.dsp, main/pa_request.C, targets/cgi/pa_pool.C, types/pa_value.h, types/pa_vcode_frame.h, types/pa_vmethod_frame.h, types/pa_vtable.h: nothing renamed to void * src/main/compile.y: lexer: $zzzz^zzzz were name part 2001-05-28 parser * src/doc/html2chm.cmd: removed >a * src/: main/main.dsp, targets/isapi/parser3isapi.dsp: release project options [some bugs] * src/doc/sources2html.cmd: z * src/: classes/classes.C, main/compile.C, main/compile.y, main/execute.C: operators are not in root class again 2001-05-24 parser * src/targets/cgi/parser3.dsp: project file * src/: classes/op.C, main/pa_request.C, targets/cgi/parser3.C: ^log ^exp * src/: main/pa_request.C, targets/cgi/parser3.C: // no _ conversions in @exception[params] * src/main/pa_request.C: // no _ conversions in @exception[params] 2001-05-23 parser * src/main/pa_string.C: string cmp bug * src/classes/: mail.C, op.C: rem max 1000 * src/: classes/op.C, main/compile.y: allow one empty line before LS_DEF_NAME 2001-05-22 parser * src/classes/op.C: if params code-required 2001-05-21 parser * src/types/pa_vstring.C: eoleof * src/classes/Makefile.am: .AM * src/classes/nothing.C: resultless ^sql moved to nothing: * src/classes/: nothing.C, op.C: 'unknown' renamed to 'nothing' * src/: classes/double.C, classes/nothing.C, classes/string.C, classes/unknown.C, main/main.dsp, types/pa_vnothing.h, types/pa_vunknown.h, classes/hash.C, main/compile.y, main/execute.C, targets/cgi/pa_pool.C, types/pa_vcode_frame.h, types/pa_vmethod_frame.h, types/pa_vtable.h, classes/table.C, main/pa_request.C, types/pa_value.h: 'unknown' renamed to 'nothing' * src/types/: pa_vstring.C, pa_vstring.h: removed unnecessary vstring::set_string * src/classes/: double.C, int.C, string.C: int,double;sql * src/: classes/hash.C, classes/int.C, classes/string.C, classes/table.C, include/pa_string.h, main/pa_string.C, types/pa_vstring.C, types/pa_vstring.h: started int:sql * src/: classes/classes.C, classes/hash.C, classes/op.C, classes/table.C, main/compile.C, main/compile.y, main/execute.C: hash:sql moved to main trunc. operators.txt updated * src/classes/: hash.C, op.C, table.C: hash:sql * src/classes/op.C: z * src/: main/compile.C, classes/classes.C: 1 * src/: classes/classes.C, main/compile.C, main/compile.y, main/execute.C: 0 * src/main/execute.C: z * src/targets/cgi/parser3.C: z * src/targets/cgi/parser3.C: argv can be just "parser3". made site_auto_path "." in that case * src/targets/cgi/: parser3.C: z * src/main/pa_request.C: .am * src/: main/pa_request.C, targets/cgi/parser3.C: pcre_tables=pcre_default_tables; 2001-05-19 parser * src/main/pa_string.C: z * src/: include/pa_string.h, main/untaint.C, targets/cgi/pa_pool.C: introducing String::cstr_bufsize, returns just size+1 for as_is target. * src/: main/untaint.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C: fixed bug in pre html untaint, wrong size used, 4* mem wasted * src/classes/string.C: root context in match replace body now unchanged * src/types/pa_value.h: parameter # 1 based * src/main/pa_common.C: common: actual filename '%s' * src/classes/string.C: z * src/classes/Makefile.am: classes/.am * src/classes/: Makefile.am: classes/.am * src/: classes/Makefile.am, main/pa_sql_driver_manager.C, targets/cgi/pa_pool.C: classes/.am 2001-05-18 parser * src/: include/pa_config_auto.h.in, targets/cgi/pa_pool.C: .am pa_threads.C ins * src/targets/cgi/Makefile.am: .am pa_threads.C added 2001-05-17 parser * src/: classes/string.C, include/pa_config_fixed.h, include/pa_config_includes.h, main/compile.y, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_dir.C, main/pa_hash.C, main/pa_pool.C, main/untaint.C, types/pa_vcookie.C, types/pa_vfile.C, types/pa_vform.C: #include "pa_config_includes.h" removed from most .C * src/doc/html2chm.cmd: z * src/doc/: chm.cmd, doxygen.cmd, html2chm.cmd, sources2html.cmd, view.cmd, view_chm.cmd, view_html.cmd: doc cmds * src/main/pa_sql_driver_manager.C: moved expiration to get_connection_from_cache * src/main/pa_sql_driver_manager.C: cache expiration bf * src/: classes/classes.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C: cache expiration[use SQL_Driver::disconnect] * src/main/pa_table.C: table.locate current restored on "not found" * src/: main/execute.C, types/pa_vmethod_frame.h: endless recursion line no * src/: include/pa_request.h, main/execute.C, main/pa_request.C: ANTI_ENDLESS_EXECUTE_RECOURSION * src/: classes/op.C, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: fixed problem at last: 2connections own 1driver and set_services fight for driver::fservices. before fix * src/: classes/op.C, include/pa_config_fixed.h, include/pa_sql_connection.h, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C: found problem at last: 2connections own 1driver and set_services fight for driver::fservices. before fix * src/: include/pa_config_fixed.h, include/pa_threads.h, targets/cgi/pa_threads.C, targets/cgi/parser3.dsp, targets/isapi/pa_threads.C, targets/isapi/parser3isapi.dsp: added pa_threads.C * src/include/pa_threads.h: removed targets/parser * src/include/: pa_array.h, pa_common.h, pa_config_fixed.h, pa_config_includes.h, pa_exception.h, pa_exec.h, pa_globals.h, pa_hash.h, pa_opcode.h, pa_pool.h, pa_request.h, pa_sapi.h, pa_socks.h, pa_sql_connection.h, pa_stack.h, pa_string.h, pa_table.h, pa_threads.h: #include "pa_config_includes.h" in all headers * src/: classes/image.C, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C, main/pa_string.C: wrong includes order prevented sqlmanager to see MULTYTHREAD define * src/: include/pa_config_fixed.h, include/pa_threads.h, main/pa_sql_driver_manager.C: SYNCHRONIZED moved closer to caches put/gets * src/: include/pa_hash.h, main/execute.C: removed /*SYNCHRONIZED*/ from hash.h * src/: classes/op.C, include/pa_sql_connection.h, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: connection from cache ->set_services(&services); 2001-05-16 parser * src/targets/cgi/parser3.C: z * src/: include/pa_pool.h, targets/cgi/pa_pool.C: removed pool debug, #ifdefed some. would debug later, on more precise sample than stupid: @main[] $name[$z[]] ^for[i](0;10000-2){ $tail[9994] $name.$tail[$tail!] $name.$tail } ok3 * src/: include/pa_array.h, main/pa_array.C, targets/cgi/parser3.C: removed array debug. before vstring rebasing * src/: include/pa_array.h, include/pa_string.h, main/execute.C, main/pa_array.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C: array debugged; adjusted * src/main/: pa_sql_driver_manager.C, pa_string.C: SQL_Driver_manager line no for connect/charset errors 2001-05-15 parser * src/: include/pa_array.h, include/pa_string.h, main/pa_array.C, main/pa_string.C: string+array made linear grows * src/: include/pa_string.h, main/pa_string.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C: think that all must grow lineary, not exponentialy * src/: include/pa_pool.h, include/pa_string.h, main/pa_string.C, targets/cgi/pa_pool.C, targets/cgi/parser3.C: string fixed bug with fullchunk cmps * src/targets/cgi/: pa_pool.C, parser3.C: main loss here: 5673321/ 70041= 81 * src/: include/pa_string.h, targets/cgi/pa_pool.C, targets/cgi/parser3.C: detected huge mem allocation: size/times malloc 27809390/368771, calloc 3232/83. would test now * src/: classes/random.C, main/compile.y, main/execute.C, main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.h: numbered params had wrong name - for instance: bad error message in ^for[] bad body type. fixed 2001-05-14 parser * src/: classes/string.C, include/pa_string.h, main/pa_string.C, main/untaint.C: ^string.upper|lower[] 2001-05-11 parser * src/: classes/double.C, classes/image.C, classes/op.C, classes/string.C, classes/table.C, classes/unknown.C, main/execute.C, types/pa_value.h, types/pa_vbool.h, types/pa_vdouble.h, types/pa_vint.h, types/pa_vstring.h, types/pa_vunknown.h: op: MAX_LOOPS as_int * src/: main/main.dsp, targets/isapi/parser3isapi.dsp: fixed some .dsp for win32tools 2001-05-11 paf * src/: classes/classes.cmd, classes/gawk.exe, classes/ls.exe, main/bison.exe, targets/isapi/KILL.EXE, targets/isapi/PSTAT.EXE, targets/isapi/istart.cmd, targets/isapi/istop.cmd, targets/isapi/kill.pl: moved win32 helpers to /win32tools 2001-05-10 paf * src/include/: pa_common.h, pa_config_includes.h: inline undefed for C++, that's all * src/include/: pa_config_auto.h.in, pa_config_fixed.h, pa_config_includes.h: inline wonders * src/: classes/Makefile.am, classes/hash.C, doc/doxygen.cfg, doc/doxygen.cmd: hash.C added * src/: main/pa_request.C, types/pa_vrequest.C: op configured * src/main/compile.y: @end grammar: allowed zero strings in control menthod * src/types/: pa_value.h, pa_vclass.h, pa_vstateless_class.h, pa_vstateless_object.h: changed priority: field before method lookup in vclass & vobject * src/: doc/doxygen.cmd, main/compile.y, types/pa_vobject.h: grammar: priorities changes [lowerd && prior] vobject: now first fields, next methods 2001-05-08 paf * src/main/pa_table.C: table columnname2item on nameless ignored bark=false. fixed * src/: classes/table.C, types/pa_value.h, types/pa_vhash.h, types/pa_vmethod_frame.h: hash:default works at last! * src/: classes/mail.C, classes/table.C, doc/doxygen.cmd, main/main.dsp, types/pa_vhash.h, types/pa_vstateless_class.h: hash:default * src/classes/table.C: z * src/classes/table.C: table:hash always hash of hash now * src/classes/table.C: table:empty return bool now * src/: classes/table.C, doc/chm.cmd, include/pa_array.h, include/pa_table.h, main/pa_table.C, types/pa_value.h, types/pa_vtable.h: table:hash * src/classes/table.C: table:record have name * src/: classes/op.C, types/pa_vtable.h: allowed $table.2342734 returns vunknown * src/classes/: double.C, int.C, op.C, string.C: int,double,string:int[] double[] string:length[] results now have hames * src/: classes/op.C, classes/table.C, main/main.dsp, types/pa_vtable.h: removed table:find. table:locate and op:eval now return bool * src/: doc/chm.cmd, main/execute.C, types/pa_value.h: wrong pool in method checkparams again. fixed 2001-05-07 paf * src/doc/chm.cmd: cmd * src/: classes/image.C, classes/mail.C, classes/string.C, doc/chm.cmd, include/pa_table.h, main/pa_table.C, types/pa_value.h: method reported errors on wrong pool * src/main/execute.C: ^var[^class:var.method[]] is not constructor now * src/: doc/ClassExample2.dox, doc/aliased.dox, doc/chm.cmd, include/code.h, include/pa_opcode.h, main/compile.C, main/compile_tools.h, main/execute.C, types/pa_value.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vhash.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmethod_frame.h, types/pa_vobject.h, types/pa_vrequest.h, types/pa_vresponse.h, types/pa_vstateless_class.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h, types/pa_wcontext.h, types/pa_wwrapper.h: pa_code.h * src/doc/: chm.cmd, doxygen.cmd, view.cmd: dox cmd * src/: classes/string.C, classes/table.C, doc/ClassExample1.dox, doc/ClassExample2.dox, doc/ClassExample3.dox, doc/aliased.dox, doc/class.dox, doc/compiler.dox, doc/doxygen.cfg, doc/doxygen.cmd, doc/executor.dox, doc/index.dox, doc/methoded.dox, doc/module.dox, doc/object.dox, doc/pooled.dox, doc/string.dox, doc/targets.dox, doc/value.dox, include/code.h, include/pa_hash.h, include/pa_string.h, main/pa_request.C, main/pa_sql_driver_manager.C, types/pa_vjunction.h, types/pa_vtable.h: dox, split by not clean parts also * src/: include/pa_table.h, main/pa_table.C, types/pa_value.h, types/pa_vtable.h: table: fields, then methods. so to enable 'dir' fields & co. more * src/types/: pa_value.h, pa_vtable.h: table: fields, then methods. so to enable 'dir' fields & co. * src/main/compile.y: grammar: @end 2001-05-04 paf * src/: doc/ClassExample1.dox, doc/ClassExample2.dox, doc/ClassExample3.dox, main/execute.C: dox: example1 updated * src/: classes/classes.h, classes/double.C, classes/file.C, classes/form.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, doc/doxygen.cfg, doc/index.dox, main/pa_string.C: removed m- method dox 2001-05-03 paf * src/: classes/classes.h, classes/double.C, doc/aliased.dox, doc/class.dox, doc/compiler.dox, doc/doxygen.cfg, doc/doxygen.txt, doc/executor.dox, doc/index.dox, doc/methoded.dox, doc/module.dox, doc/object.dox, doc/pooled.dox, doc/string.dox, doc/targets.dox, doc/value.dox, main/pa_request.C: dox splitted .dox files and added some * src/: classes/Makefile.am, doc/doxygen.txt: classes/am 2001-05-02 paf * src/classes/: image.C, table.C: table:dir result are not tainted by file_name language now 2001-04-28 paf * src/classes/classes.inc: removed classes.inc * src/: classes/classes.inc, main/Makefile.am: removed pa_methoded from .am * src/classes/classes.awk: skipped classes in .awk * src/: classes/Makefile.am, classes/classes.C, classes/classes.h, classes/classes.inc, classes/double.C, classes/file.C, classes/form.C, classes/int.C, classes/op.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, include/pa_methoded.h, main/main.dsp, main/pa_methoded.C, targets/cgi/parser3.C, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vimage.h, types/pa_vint.h: renamed pa_methoded back to classes/classes.h * src/: classes/Makefile.am, main/main.dsp: classes/Makefile.am * src/: classes/Makefile.am, classes/classes.awk, classes/classes.cmd, classes/classes.inc, classes/gawk.exe, classes/ls.exe, main/bison.exe: classes.inc autogenerator * src/: classes/classes.C, classes/classes.h, classes/double.C, classes/file.C, classes/form.C, classes/int.C, classes/op.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, include/pa_methoded.h, main/Makefile.am, main/main.dsp, main/pa_methoded.C, targets/cgi/parser3.C, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vimage.h, types/pa_vint.h: classes/classes renamet to include|main/pa_methoded * src/: include/pa_string.h, main/pa_globals.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: z * src/: classes/form.C, include/pa_globals.h, main/pa_globals.C: moved some configured data to request::classes_conf moved some string crations from globals to M... [works] * src/: classes/form.C, classes/mail.C, classes/op.C, include/pa_globals.h, include/pa_request.h, main/pa_globals.C, main/pa_request.C: moved some configured data to request::classes_conf moved some string crations from globals to M... * src/: classes/form.C, include/pa_request.h, main/pa_request.C: about to move configured data to special request hash * src/: classes/classes.C, classes/classes.h, classes/file.C, classes/form.C, classes/mail.C, include/pa_request.h, main/pa_request.C: configure started * src/: main/execute.C, types/pa_wcontext.h: Methoded reorganized 2. todo: methoded-configure * src/: classes/_double.h, classes/_file.h, classes/_form.h, classes/_image.h, classes/_int.h, classes/_mail.h, classes/_op.h, classes/_random.h, classes/_response.h, classes/_string.h, classes/_table.h, classes/_unknown.h, classes/classes.inc, classes/double.C, classes/exec.C, classes/file.C, classes/form.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, include/pa_globals.h, include/pa_request.h, main/compile.y, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_value.h, types/pa_vcookie.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vrequest.h, types/pa_vresponse.h, types/pa_vstateless_class.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h, types/pa_wcontext.h, classes/classes.C, classes/classes.h: Methoded reorganized. todo: methoded-configure * src/: classes/file.C, classes/table.C, main/compile.y, main/execute.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vtable.h, types/pa_wcontext.h: removed ^a.menu{$name} ability. now $a{^menu{$name}} or ^a.menu{$a.name} * src/: classes/_string.h, classes/classes.C, classes/classes.h, classes/double.C, classes/exec.C, classes/file.C, classes/form.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, include/pa_request.h, main/compile.y, main/execute.C, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vresponse.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h: beautifying just compiled. todo: debug, configure 2001-04-27 paf * src/: classes/file.C, classes/image.C, classes/table.C, main/execute.C, main/pa_request.C, types/pa_vstateless_class.h: beautifying -99 * src/: classes/_double.h, classes/_form.h, classes/_int.h, classes/_response.h, classes/_unknown.h, classes/classes.C, classes/classes.h, classes/double.C, classes/file.C, classes/form.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, include/pa_globals.h, main/main.dsp, main/pa_globals.C, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vform.h, types/pa_vimage.h, types/pa_vint.h, types/pa_vresponse.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h: beautifying -100 * src/main/compile.y: serge@ found @CLASS bug. fixed * src/: classes/_file.h, classes/_image.h, classes/_mail.h, classes/_op.h, classes/_random.h, classes/_table.h, classes/file.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, include/pa_globals.h, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vcookie.h, types/pa_venv.h, types/pa_vrequest.h: started beautifying 2001-04-26 paf * src/: main/pa_request.C, types/pa_vfile.h: code documentation ++ * src/: doc/doxygen.cfg, include/pa_socks.h, main/pa_socks.C: code documentation ++ * src/: classes/_exec.h, doc/doxygen.cfg, include/pa_config_fixed.h, include/pa_config_includes.h, targets/cgi/pa_pool.C: code documentation ++ * src/: classes/_image.h, classes/op.C, classes/random.C, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vcookie.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vform.C, types/pa_vform.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmethod_frame.h, types/pa_vobject.h, types/pa_vrequest.C, types/pa_vrequest.h, types/pa_vstateless_class.C, types/pa_vstateless_object.h, types/pa_vstring.C, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h, types/pa_wcontext.C, types/pa_wwrapper.h: code documentation ++ * src/: classes/image.C, classes/mail.C, classes/string.C, classes/table.C, doc/doxygen.cfg, doc/doxygen.txt, include/pa_array.h, include/pa_dir.h, include/pa_string.h, main/compile_tools.h, main/pa_common.C, sql/pa_sql_driver.h, types/pa_vbool.h, types/pa_vclass.h, types/pa_vcode_frame.h, types/pa_vhash.h, types/pa_vjunction.h, types/pa_vmethod_frame.h, types/pa_vobject.h, types/pa_vstateless_class.h, types/pa_wcontext.h, types/pa_wwrapper.h: code documentation ++ * src/main/: pa_request.C, pa_string.C: z * src/: include/pa_common.h, include/pa_types.h, main/pa_sql_driver_manager.C: module [and, guess, isapi] connection caching fixed. request-pooled-url were stored into global connectioncache 2001-04-25 paf * src/: doc/doxygen.cfg, doc/doxygen.txt, targets/isapi/parser3isapi.C: started doc / [doxygen.txt] * src/: include/code.h, include/pa_common.h, main/compile.y, main/execute.C, main/pa_common.C: -d * src/: classes/file.C, main/pa_exec.C, targets/cgi/parser3.C: illegal call check a bit improved, but still under iis no mapping of dir with parser allowed! 2001-04-24 paf * src/targets/Makefile.am: apache module lib .am * src/main/pa_exec.C: windows32 buildCommand 2001-04-23 paf * src/targets/cgi/Makefile.am: win32 conditional * src/targets/cgi/Makefile.am: win32 conditional * src/targets/cgi/Makefile.am: liblink * src/: include/pa_array.h, main/pa_array.C, types/pa_vfile.h: vfile fields return type * src/types/pa_vfile.h: vfile fields return type * src/include/pa_config_auto.h.in: .h.in * src/: classes/Makefile, main/Makefile, targets/cgi/Makefile, types/Makefile: makefiles removed * src/: classes/Makefile, main/Makefile, main/pa_string.C, targets/cgi/Makefile, types/Makefile: configure.in + makefiles * src/main/pa_string.C: tested OK /// @test really @b test: s x m [tested: i & g ] * src/: classes/random.C, targets/cgi/parser3.C: redo failed /// @test noticed series in isapi, check how initialize_random_class is called! [must be called only once] * src/main/execute.C: operators first! so that ^table.menu{^rem{}} would not be 'unknown column' * src/: classes/table.C, types/pa_vform.C, types/pa_vtable.h: /// @test $a.menu{ $a[123] } and $a.menu{^table:set[]...} * src/: main/pa_request.C, targets/cgi/parser3.C: /// @test with commandline start "parser3 a.html" so that ^load[a.cfg] worked! [now doesnt] * src/targets/cgi/parser3.C: cgi cmdline ver * src/targets/cgi/parser3.C: cgi /// @test disable /cgi-bin/parser3/auto.p * src/main/untaint.C: untaint without charset * src/: include/pa_config_fixed.h, include/pa_config_includes.h, main/pa_common.C: common: file_write /// @test mkdirs file_delete rmdirs * src/main/untaint.C: mail header only once to =? * src/: classes/image.C, classes/mail.C, include/pa_globals.h, include/pa_string.h, main/pa_exec.C, main/pa_request.C, main/untaint.C: untaint - @test optimize whitespaces for all but 'html' * src/: classes/mail.C, include/pa_hash.h, include/pa_string.h, main/pa_common.C, main/pa_hash.C, main/pa_request.C, main/untaint.C: untaint - @test mail-header 2001-04-20 paf * src/: classes/string.C, classes/table.C, include/pa_globals.h, include/pa_request.h, include/pa_string.h, main/compile.y, main/pa_globals.C, main/pa_request.C, main/pa_string.C, targets/cgi/parser3.C: $MAIN:LOCALE * src/main/untaint.C: z * src/: main/untaint.C, targets/cgi/parser3.C: fixed header "a/a" 2001-04-19 paf * src/main/compile_tools.h: $a$b bugfix * src/targets/cgi/parser3.C: z * src/classes/file.C: z * src/: classes/file.C, include/pa_common.h, types/pa_vcookie.C: done: header to $fields. waits for header '\' tricks * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C, main/untaint.C, targets/isapi/parser3isapi.C, types/pa_vcookie.C: changed urlencode here and in untaint.C to HTTP standard's " and \" mech * src/: main/pa_request.C, targets/isapi/parser3isapi.C: fixed http://alx/~paf/ doesnt load /auto.p 2001-04-18 paf * src/main/pa_request.C: 1 * src/: main/Makefile.am, main/main.dsp, targets/cgi/Makefile.am: linux @alx 2001-04-17 paf * src/: classes/file.C, classes/image.C, doc/doxygen.cfg, include/pa_sql_connection.h, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: SQL_Driver_services renamed. doxygen statics enabled * src/: Makefile.am, classes/Makefile.am, classes/_double.h, classes/_exec.h, classes/_file.h, classes/_form.h, classes/_image.h, classes/_int.h, classes/_mail.h, classes/_op.h, classes/_random.h, classes/_response.h, classes/_string.h, classes/_table.h, classes/_unknown.h, classes/file.C, classes/image.C, classes/mail.C, classes/op.C, classes/random.C, include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_hash.h, include/pa_sql_driver_manager.h, include/pa_version.h, main/Makefile.am, main/compile.y, main/pa_common.C, main/pa_exec.C, main/pa_socks.C, main/pa_sql_driver_manager.C, sql/Makefile.am, sql/pa_sql_driver.h, targets/cgi/Makefile.am, targets/cgi/parser3.C, types/Makefile.am, types/pa_vcookie.C, types/pa_vform.C, types/pa_vimage.h: exec @jav * src/: include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h, types/pa_vimage.h: sql driver interface now has initialize(client .so) 2001-04-16 paf * src/Makefile.am: compile2 cygwin * src/: include/pa_config_includes.h, main/pa_exec.C, main/pa_socks.C, targets/cgi/Makefile.am: compile1 cygwin * src/targets/cgi/Makefile.am: compile0 jav * src/: Makefile.am, classes/Makefile.am, classes/_double.h, classes/_exec.h, classes/_file.h, classes/_form.h, classes/_image.h, classes/_int.h, classes/_mail.h, classes/_op.h, classes/_random.h, classes/_response.h, classes/_string.h, classes/_table.h, classes/_unknown.h, classes/image.C, classes/mail.C, classes/op.C, classes/random.C, include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_hash.h, include/pa_version.h, main/Makefile.am, main/compile.y, main/pa_common.C, main/pa_exec.C, sql/Makefile.am, targets/cgi/Makefile.am, targets/cgi/parser3.C, types/Makefile.am, types/pa_vcookie.C, types/pa_vform.C: compile-1 2001-04-15 paf * src/classes/op.C: z * src/classes/table.C: table:empty +=process * src/types/pa_value.h: MethodParams !junction * src/: classes/_string.h, classes/double.C, classes/file.C, classes/image.C, classes/int.C, classes/mail.C, classes/op.C, classes/random.C, classes/response.C, classes/string.C, classes/table.C, classes/unknown.C, main/pa_request.C: MethodParams everywhere * src/: classes/op.C, include/pa_request.h, types/pa_value.h, types/pa_vmethod_frame.h: MethodParams in op.C 2001-04-12 paf * src/: classes/image.C, types/pa_vimage.h: image:font :text * src/: classes/_unknown.h, classes/unknown.C, include/pa_globals.h, main/main.dsp, main/pa_globals.C, types/pa_vunknown.h: ^unknown:int[]=0 double[]=0 * src/: classes/image.C, main/pa_hash.C: hash bug fixed * src/classes/image.C: image:gif now does not have params * src/classes/image.C: image:line/fill/rectangle/bar/replace/polygon/polybar * src/: classes/image.C, classes/op.C, main/execute.C, types/pa_value.h, types/pa_vmethod_frame.h, types/pa_wcontext.h: for var now written not to r.wcontext, but to r.root cleared "entered_object" state 2001-04-11 paf * src/classes/image.C: image:create image:load * src/: classes/image.C, main/main.dsp: gd with mem write + image just compiled * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: gd todo: gif without file * src/: classes/image.C, types/pa_vimage.C, types/pa_vimage.h: gd started porting to Pooled descendant * src/: classes/image.C, main/execute.C, main/main.dsp, main/pa_request.C, types/pa_vcframe.h, types/pa_vcode_frame.h, types/pa_vimage.C, types/pa_vimage.h, types/pa_vmethod_frame.h, types/pa_vmframe.h: libimaging dead end: pil parses header in .py * src/: classes/image.C, include/pa_globals.h, main/main.dsp, main/pa_globals.C, types/pa_vimage.C, types/pa_vimage.h: gd dead end. switching to python imaging lib * src/main/main.dsp: gd+smtp made separate libs * src/: include/pa_globals.h, include/pa_string.h, main/pa_common.C, main/pa_request.C, main/untaint.C, types/pa_vfile.C, types/pa_vstring.C: fixed vstring:as_vfile length * src/: classes/mail.C, classes/op.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vstring.C, types/pa_vstring.h: forced UL_FILE_NAME of posted file name * src/: classes/image.C, main/pa_request.C, types/pa_vform.C: fixed post [broke when moved post read to core] 2001-04-10 paf * src/classes/image.C: image:html done * src/: classes/image.C, types/pa_vimage.C: jpg measure bugs fixed * src/classes/image.C: z * src/: classes/_image.h, classes/image.C, types/pa_vimage.C: image forgotten! * src/: classes/table.C, include/pa_common.h, main/pa_common.C, main/pa_request.C, main/pa_string.C, main/untaint.C, types/pa_vimage.h: image:measure -90 * src/: classes/_double.h, classes/_file.h, classes/_form.h, classes/_int.h, classes/_mail.h, classes/_op.h, classes/_random.h, classes/_response.h, classes/_string.h, classes/_table.h, classes/file.C, classes/mail.C, include/pa_common.h, include/pa_globals.h, main/execute.C, main/main.dsp, main/pa_common.C, main/pa_globals.C, targets/isapi/parser3isapi.C, types/pa_value.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vhash.h, types/pa_vimage.h, types/pa_vresponse.h, types/pa_vstring.h: image:measure -100 just compiled * src/classes/mail.C: minor bug with unclear from/to * src/classes/mail.C: sendmail unix skipping defaults * src/: classes/mail.C, include/pa_common.h, main/pa_common.C: sendmail unix added defaults * src/classes/mail.C: unix sendmail compiled. todo:testing * src/: classes/mail.C, main/pa_globals.C: smtp some consts 2001-04-09 paf * src/: classes/file.C, include/pa_exec.h, include/pa_sapi.h, main/main.dsp, main/pa_exec.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp: all targets exec * src/: include/pa_sapi.h, include/pa_string.h, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp: sapi exec dead end. badly parsed args in apache:util.script * src/include/pa_string.h: written but not tested exec with env for unix * src/: classes/file.C, main/main.dsp, main/pa_request.C, targets/cgi/parser3.C: exec win32 env * src/: classes/file.C, include/pa_hash.h, main/pa_hash.C: exec env 0 * src/: classes/exec.C, classes/file.C, include/pa_globals.h, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_request.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C, types/pa_vstring.C: exec4. todo env * src/: classes/exec.C, include/pa_common.h, main/pa_common.C, main/untaint.C: exec3. decided exec:cgi to move to file:cgi * src/: classes/_exec.h, main/execute.C, main/pa_globals.C, main/pa_request.C, types/pa_vcookie.C, types/pa_vfile.C: exec -2 * src/: classes/_exec.h, classes/exec.C, include/pa_common.h, include/pa_request.h, include/pa_sapi.h, include/pa_string.h, main/pa_common.C, main/pa_request.C, main/pa_string.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, types/pa_vform.C, types/pa_vform.h: exec class just compiled. moved post read to request core * src/: classes/_op.h, include/pa_dir.h, include/pa_globals.h, include/pa_sapi.h, main/main.dsp, main/pa_dir.C, main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp: problems with ^exec:cgi post data. they are already read by vform 2001-04-08 paf * src/: classes/file.C, classes/mail.C, classes/string.C, include/pa_request.h, include/pa_string.h, main/pa_request.C: uuencode. string<< 2001-04-07 paf * src/classes/mail.C: z * src/classes/mail.C: z * src/classes/mail.C: ^mail[$attach * src/classes/mail.C: ^attach dead end * src/: include/pa_socks.h, main/main.dsp, main/pa_socks.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C: mail:send 1 * src/: classes/mail.C, main/pa_request.C: z * src/: classes/mail.C, include/pa_globals.h, include/pa_request.h, main/main.dsp, main/pa_globals.C, main/pa_request.C: smtp just compiled * src/classes/mail.C: += * src/: classes/mail.C, include/pa_string.h: mail:send -1 text prepared * src/: classes/_mail.h, classes/mail.C, include/pa_common.h, include/pa_globals.h, include/pa_string.h, main/main.dsp, main/pa_common.C, main/pa_globals.C, main/pa_request.C, main/untaint.C, types/pa_vcookie.C: mail:send -10 just compiled 2001-04-06 paf * src/: classes/table.C, include/pa_globals.h, main/pa_globals.C, main/pa_string.C: table:dir 1 * src/: classes/table.C, include/pa_dir.h, main/execute.C, main/main.dsp, main/pa_dir.C: table:dir 0 [without regexp] * src/: classes/_op.h, classes/_root.h, classes/op.C, classes/root.C, include/pa_globals.h, include/pa_request.h, main/compile.C, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_request.C: renamed 'root' to 'op' * src/classes/: _op.h, op.C: renamed from 'root' * src/types/pa_valiased.C: another root inherititance skipped * src/main/: compile.C, compile.y, execute.C: operators are now not root methods of parent class. just 'ROOT' class * src/: classes/random.C, classes/table.C, main/pa_globals.C: @office * src/: main/pa_request.C, sql/pa_sql_driver.h: mysql limit 2001-04-05 paf * src/: main/execute.C, main/pa_request.C, main/pa_string.C, types/pa_value.h, types/pa_vmframe.h, types/pa_wcontext.h: constructor flag dropped at get_method_frame and remembered into method_frame * src/: classes/file.C, classes/root.C, classes/string.C, classes/table.C, main/pa_request.C: junction to code&expression in errors * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C, main/pa_string.C, targets/isapi/parser3isapi.dsp: $LOCALE:ctype[Russian_Russia.1251] * src/: include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_hash.h, include/pa_string.h, main/pa_hash.C, main/pa_table.C: hash now not thread-safe. * src/: classes/table.C, include/pa_string.h, main/pa_string.C, main/untaint.C: z * src/: classes/random.C, classes/root.C, classes/table.C, include/pa_sql_connection.h, include/pa_string.h, main/execute.C, main/pa_sql_driver_manager.C, main/pa_string.C, main/untaint.C, sql/pa_sql_driver.h, types/pa_vmframe.h, types/pa_wcontext.C, types/pa_wcontext.h: sql quote. string untaint UL_SQL * src/: classes/table.C, include/pa_sql_connection.h, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: sql ping * src/classes/table.C: select * from hren error contains statement * src/: classes/table.C, include/pa_sql_connection.h, include/pa_types.h, main/pa_sql_driver_manager.C, main/untaint.C, sql/pa_sql_driver.h, targets/cgi/parser3.dsp: mysql 0 * src/: classes/root.C, include/pa_sql_connection.h, include/pa_sql_driver.h, main/main.dsp, main/pa_sql_driver_manager.C, sql/pa_sql_driver.h: sql driver services for conv memory & error reporting 2001-04-04 paf * src/doc/doxygen.cfg: z * src/include/pa_sql_driver.h: mysql connect * src/include/pa_sql_driver.h: mysql info * src/: classes/root.C, include/pa_sql_driver.h, include/pa_sql_driver_manager.h, main/main.dsp, main/pa_sql_driver_manager.C: more manager&connection&driver * src/sql/Makefile.am: forgot to add mysql client * src/: include/pa_sql_driver.h, include/pa_sql_driver_manager.h, main/pa_sql_driver_manager.C: connect&sql -1000 just compiled [forgot to add libltdl, added] * src/: Makefile.am, classes/root.C, classes/string.C, classes/table.C, include/pa_globals.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_sapi.h, include/pa_string.h, include/pa_table.h, main/main.dsp, main/pa_globals.C, main/pa_hash.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/untaint.C: connect&sql -1000 just compiled * src/: classes/random.C, classes/root.C, classes/table.C, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, main/pa_request.C, types/pa_vclass.h: sql frame -10 2001-04-03 paf * src/types/pa_vform.C: z * src/: classes/string.C, types/pa_vform.C: string:match replace assigned lang * src/: classes/string.C, main/compile.y: grammar: fixed to allow {}[]< empty [] * src/: classes/file.C, classes/string.C, classes/table.C, include/pa_string.h, main/pa_common.C, main/pa_string.C, main/untaint.C: string:match replace 2. string.cstr(forced lang) * src/: classes/string.C, include/pa_string.h, main/pa_string.C: string:match replace strange matches * src/classes/string.C: string:match replace 0 * src/: classes/string.C, main/pa_string.C: string:match replace prepared 2 * src/: classes/string.C, include/pa_string.h, main/pa_string.C: string:match replace prepared * src/: classes/string.C, include/pa_string.h, main/pa_string.C: string:match replace -11 * src/: classes/string.C, include/pa_globals.h, include/pa_string.h, include/pa_threads.h, main/pa_globals.C, main/pa_string.C, targets/isapi/parser3isapi.dsp: string:match 0 * src/: classes/string.C, include/pa_globals.h, include/pa_string.h, main/main.dsp, main/pa_globals.C, main/pa_string.C: string:match [search] -1 just compiled * src/types/pa_vstring.C: z * src/: classes/double.C, classes/file.C, classes/form.C, classes/int.C, classes/response.C, classes/root.C, classes/string.C, classes/table.C, include/pa_string.h, main/pa_string.C: string:match -10 [frame] * src/: classes/file.C, main/compile_tools.C, main/pa_common.C, main/pa_request.C: z * src/: main/pa_common.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/pool_storage.h: todo/tests * src/include/pa_common.h: z * src/: include/pa_globals.h, include/pa_hash.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vfile.C: content-disposition * src/: include/pa_common.h, include/pa_globals.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_value.h: main:post-process * src/: include/pa_common.h, include/pa_request.h, include/pa_sapi.h, main/main.dsp, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vstring.h: vfile in response:body * src/classes/table.C: table:append now uses string::split * src/classes/table.C: z * src/: classes/file.C, classes/root.C, classes/string.C, classes/table.C, doc/doxygen.cmd, doc/doxygen.txt, doc/generate.cmd, include/pa_array.h, include/pa_request.h, include/pa_string.h, main/execute.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C, types/pa_vcookie.C: string::pos & cmp & piece bugs fixed. string::split new table:load separated from set table:set implemented with clean \n \t searches 2001-04-02 paf * src/: classes/table.C, include/pa_string.h, main/pa_string.C, types/pa_valiased.C, types/pa_valiased.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vresponse.h, types/pa_vstring.h, types/pa_vtable.h: string::pos. about to use it in table:set/load * src/: classes/table.C, include/pa_array.h, include/pa_string.h, include/pa_table.h, main/execute.C, types/pa_value.h: table:join * src/classes/random.C: random:generate 1 * src/: classes/_random.h, classes/random.C, include/pa_globals.h, main/main.dsp, main/pa_globals.C, main/pa_request.C, types/pa_value.h: random:generate 2001-03-30 paf * src/: classes/table.C, include/pa_string.h, main/pa_string.C: todo: table flip and append. string::pos * src/: classes/double.C, classes/file.C, classes/int.C, classes/response.C, classes/root.C, classes/string.C, classes/table.C, main/compile.y, main/execute.C, types/pa_value.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h: static|dynamic|any method registration * src/: classes/file.C, classes/table.C, include/pa_table.h, main/pa_table.C, types/pa_vstring.h, types/pa_wwrapper.h: table:flip 2001-03-29 paf * src/classes/string.C: string:xsplit forgot that they must result in 1 row N column [not vice versa] * src/classes/string.C: z * src/classes/string.C: string: rsplit * src/: classes/string.C, include/pa_string.h, main/pa_string.C: string: lsplit * src/: classes/string.C, include/pa_string.h, main/execute.C, main/pa_array.C, main/pa_string.C, types/pa_vtable.h: string: lsplit -1 * src/: include/pa_string.h, main/pa_string.C, main/untaint.C: string: pos * src/: classes/string.C, include/pa_string.h, main/pa_string.C: string: pos -1 * src/: classes/string.C, classes/table.C, include/pa_string.h, main/compile.y, main/pa_request.C, main/pa_string.C, main/untaint.C: string: left right mid * src/: classes/string.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/main.dsp, types/pa_value.h, types/pa_vstring.h, types/pa_vunknown.h: empty params allowed. [] and [;] are different now. * src/: include/pa_pool.h, include/pa_request.h, main/pa_request.C, main/untaint.C: pool.request undone * src/: include/pa_pool.h, include/pa_request.h, main/pa_request.C, main/untaint.C: pool.request 2001-03-28 paf * src/: classes/file.C, include/pa_globals.h, include/pa_request.h, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_value.h, types/pa_vrequest.C, types/pa_vunknown.h: $request:browser [.type .version]; unknown.get_double now = 0. * src/: classes/file.C, include/pa_globals.h, include/pa_request.h, include/pa_table.h, main/pa_globals.C, main/pa_request.C, main/pa_table.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C: file:load autodetection of mime-type by user-file-name * src/: classes/file.C, main/execute.C, main/pa_common.C, main/untaint.C, targets/cgi/parser3.C, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C: file:load 1. tainted * src/: classes/file.C, include/pa_common.h, main/pa_common.C, types/pa_vfile.C, types/pa_vfile.h: started file:load. wrong write. must be self.set * src/: classes/file.C, classes/root.C, classes/table.C, include/pa_table.h, main/pa_table.C: table:locate1, file:test * src/: classes/table.C, include/pa_array.h, include/pa_hash.h, include/pa_table.h, main/pa_array.C, main/pa_table.C, types/pa_vtable.h: table:locate just compiled 2001-03-27 paf * src/main/: execute.C, pa_common.C: fixed r/w context of code-params2, fixed ntfs hardlink slow dir update * src/: main/execute.C, types/pa_value.h, types/pa_vmframe.h, types/pa_wcontext.h: fixed r/w context of code-params * src/: classes/table.C, main/execute.C: about to change junction rcontext!! * src/: classes/double.C, classes/int.C, classes/root.C, classes/string.C, classes/table.C, main/compile_tools.C, main/execute.C, main/pa_request.C, main/untaint.C, types/pa_value.h, types/pa_vbool.h, types/pa_vcookie.C, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vmframe.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_vunknown.h: sort 0 * src/types/: pa_valiased.C, pa_valiased.h, pa_vdouble.h, pa_vfile.h, pa_vint.h, pa_vresponse.h, pa_vstring.h, pa_vtable.h: renamed to are_static_calls_disabled * src/: classes/table.C, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vbool.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vstring.h, types/pa_vunknown.h: continue on sort * src/main/compile.y: fixed minor bug in @mn[][] ...^{ * src/: classes/table.C, include/pa_common.h, main/compile.y: started table:sort fixed minor bug in #...^{ * src/: classes/table.C, include/pa_common.h, main/compile.y, main/execute.C, main/pa_common.C, main/pa_table.C: table:save decided to have as it were. stepped back. grammar: added 'in' 'is' 'lt'&co follow-space check 2001-03-26 paf * src/: classes/file.C, classes/root.C, classes/table.C, include/pa_common.h, include/pa_globals.h, include/pa_table.h, main/pa_common.C, main/pa_globals.C, main/pa_request.C, main/pa_table.C: moved ::save to pa_table. disabled @auto invocation in ^process * src/main/compile.y: grammar: [] 0params [;] 2 params (was 0) * src/: classes/table.C, include/pa_array.h, include/pa_table.h, main/pa_array.C: table:record * src/: main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, targets/isapi/pool_storage.h, types/pa_valiased.h, types/pa_vcookie.C, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vresponse.h, types/pa_vstring.h, types/pa_vtable.h: z * src/: include/pa_pool.h, main/execute.C, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vdouble.h, types/pa_vfile.h, types/pa_vint.h, types/pa_vresponse.h, types/pa_vstring.h, types/pa_vtable.h: disabled $a(123) $b[$a.CLASS] ^b.inc[123] shit. allowed no checks in native method realisations on 'self' validity - they now can simply assume that 'self' is V{Proper} . 2001-03-25 paf * src/main/untaint.C: z * src/main/: pa_request.C, untaint.C: moved default typo-table to lowlevel - it initialization could be skipped if failed in @auto. so that exception report would use some table * src/main/pa_request.C: table empty lines ignored. system-default content type assigned in output:result [can fail in main:auto and skipped normal defaults extraction] * src/: include/pa_string.h, main/compile.y: #comment fixed minor bug * src/main/: pa_globals.C, untaint.C: html-typo - moved all processing to table [except preliminary \r\n \r \n replacements to "\n"] * src/: classes/table.C, main/untaint.C: html-typo - decided to move all the processing to table * src/: classes/table.C, include/pa_table.h, main/pa_globals.C, main/pa_table.C, main/untaint.C: returned table originating. useful for reporting typo table problems origin. think would be useful somewhere else * src/main/untaint.C: typo \r \r\n \n properly handled * src/: classes/table.C, include/pa_globals.h, include/pa_string.h, include/pa_table.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/untaint.C, types/pa_vcookie.h: typo & typo-default 2001-03-24 paf * src/main/pa_common.C: z * src/: include/pa_string.h, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C: html-typo 2 * src/: doc/doxygen.cfg, doc/doxygen.txt, doc/generate.cmd, doc/view.cmd, include/pa_array.h, include/pa_globals.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, main/execute.C, main/pa_array.C, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_value.h, types/pa_vtable.h: html-typo 0 html-typo 1. noticed double default content-type prob. run cgi.cmd tomorrow first html-typo sample. detected << problem: they become ltlt too fast * src/main/compile.y: z * src/main/: compile.y, compile_tools.h: #comment * src/: classes/file.C, classes/root.C, classes/table.C, include/pa_common.h, include/pa_request.h, main/compile.y, main/pa_common.C, main/pa_request.C, main/pa_string.C, targets/isapi/parser3isapi.C, types/pa_vfile.h: file_read stringified * src/types/pa_valiased.C: decided to String-ify file_read * src/targets/: cgi/parser3.C, isapi/nt_log_events.mc, isapi/parser3isapi.dsp: cgi: sapi::log * src/: include/pa_sapi.h, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/nt_log_events.mc, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp: nt error log experiments failed - cgi under iis got no access to log. registereventsource simply failed with 5(illegal call) code, while worked OK as standalone executable. isapi: used HSE_APPEND_LOG_PARAMETER feature * src/: include/pa_common.h, include/pa_globals.h, main/pa_common.C, main/pa_globals.C, main/pa_request.C, targets/isapi/parser3isapi.C: fixed default content-type allocation storage * src/: include/pa_globals.h, include/pa_request.h, main/pa_globals.C, main/pa_request.C: z * src/: include/pa_array.h, include/pa_hash.h, include/pa_request.h, main/compile.y, main/pa_array.C, main/pa_common.C, main/pa_hash.C, main/pa_request.C, types/pa_vcookie.C: cyclic uses ignored. defaulted default content-type * src/main/: compile.y, execute.C, main.dsp: @CLASS equals @BASE. sanity * src/: main/pa_globals.C, types/pa_vclass.C, types/pa_vclass.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h: thrown away freeze mech. no danger now for you can't do ^request:process[@new-method[] body] trick anymore. still remains $some_instance.process[@new-method[] possibility] but would leave it as a feature. see index for sample * src/: include/pa_common.h, main/pa_common.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: auto.p monkey every target * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/pool_storage.h, types/pa_vform.C, types/pa_vform.h: auto.p monkey 2001-03-23 paf * src/: include/pa_pool.h, main/pa_request.C, targets/cgi/pa_pool.C, targets/isapi/pa_pool.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, targets/isapi/pool_storage.h: isapi: dumb pool storage * src/targets/isapi/pa_pool.C: decided to continue with extension * src/targets/: cgi/parser3.C, isapi/parser3isapi.C: isapi: think it would be better to rewrite as filter then to deal with pool * src/: main/main.dsp, targets/isapi/parser3isapi.C: isapi: docroot now like in cgi, not from APPL_PHYSICAL_PATH * src/: classes/root.C, classes/table.C, include/pa_common.h, include/pa_config_fixed.h, include/pa_config_includes.h, include/pa_string.h, include/pa_threads.h, include/pa_types.h, include/pa_version.h, main/compile.y, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vfile.C, types/pa_vform.C: cgi: reinvent document_root and request_uri under iis. autoconf updated. introducing ap_config_includes * src/targets/cgi/parser3.C: cgi: reinvent document_root under iis * src/targets/cgi/parser3.C: cgi: only one pool now * src/: include/pa_globals.h, include/pa_sapi.h, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, types/pa_vcookie.C, types/pa_venv.h, types/pa_vform.C: sapi made object * src/: include/pa_globals.h, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/parser3isapi.C, types/pa_vcookie.C, types/pa_venv.h, types/pa_vform.C: all: sapi beauty * src/: main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp: isapi minor env beauty * src/: main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp: isapi document_root 0 2001-03-22 paf * src/targets/isapi/parser3isapi.C: isapi keep-alive * src/targets/: cgi/vform_fields_fill.C, cgi/vform_fields_fill.h, isapi/parser3isapi.C: z * src/: include/pa_pool.h, main/pa_request.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C: isapi 1 * src/targets/isapi/: KILL.EXE, PSTAT.EXE, istart.cmd, istop.cmd, kill.pl: isapi added utils * src/: include/pa_pool.h, main/pa_pool.C, targets/cgi/parser3.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.dsp, types/pa_vform.C: isapi 0 * src/: include/pa_pool.h, targets/cgi/pa_pool.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/isapi/pa_pool.C, targets/isapi/parser3isapi.C, targets/isapi/parser3isapi.def, targets/isapi/parser3isapi.dsp: started isapi * src/: include/pa_globals.h, main/pa_common.C, main/pa_request.C: some comments * src/: include/pa_globals.h, include/pa_request.h, include/pa_types.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vcookie.C: config of auto.p path: parser_root_auto_path parser_site_auto_path * src/types/pa_vcookie.C: cookie attr decoded 2001-03-21 paf * src/targets/cgi/parser3.C: z * src/include/pa_globals.h: post. todo: config of auto.p path * src/: include/pa_globals.h, targets/cgi/parser3.C, types/pa_venv.h: in cookie & env. todo:post * src/: Makefile.am, classes/Makefile.am, classes/file.C, classes/root.C, classes/table.C, include/pa_array.h, include/pa_common.h, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, include/pa_string.h, main/Makefile.am, main/compile.y, main/execute.C, main/main.dsp, main/pa_common.C, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/untaint.C, targets/Makefile.am, targets/cgi/Makefile.am, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/Makefile.am, types/pa_vcookie.C, types/pa_vform.C, types/pa_vstring.h, types/pa_wwrapper.h: shifted apache branch on main trunc * src/: include/pa_common.h, include/pa_globals.h, include/pa_pool.h, include/pa_request.h, main/main.dsp, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.dsp, types/pa_vcookie.C, types/pa_vform.C, types/pa_vstring.h: starting mod_parser3 * src/targets/cgi/parser3.C: starting mod_parser3 2001-03-20 paf * src/: main/pa_common.C, targets/cgi/Makefile.am, targets/cgi/parser3.C: automake compiled and works. todo:make win32 ifdefs work and add ifdef unistd * src/: classes/table.C, include/pa_common.h, include/pa_request.h, main/Makefile.am, main/pa_common.C, main/pa_request.C, main/pa_table.C, targets/cgi/Makefile.am, targets/cgi/parser3.C: z * src/: include/pa_request.h, main/Makefile.am, main/compile.y, main/execute.C, main/pa_common.C, types/Makefile.am: removing locking * src/: classes/Makefile.am, types/Makefile.am: z * src/: Makefile.am, classes/file.C, classes/root.C, classes/table.C, include/pa_array.h, include/pa_request.h, include/pa_string.h, main/Makefile.am, main/execute.C, main/pa_common.C, main/pa_globals.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/Makefile.am, targets/cgi/Makefile.am, targets/cgi/parser3.C, types/pa_vcookie.C, types/pa_wwrapper.h: String::UL_ * src/: classes/table.C, include/pa_common.h, main/pa_common.C, main/pa_request.C, types/pa_vfile.h: ^table:save * src/: classes/file.C, classes/table.C, include/pa_array.h, include/pa_common.h, include/pa_request.h, include/pa_string.h, include/pa_table.h, include/pa_threads.h, main/pa_globals.C, main/untaint.C, types/pa_valiased.h, types/pa_value.h, types/pa_vform.h: z * src/include/pa_string.h: z * src/: classes/_request.h, classes/request.C, main/main.dsp, main/pa_globals.C, types/pa_value.h, types/pa_vform.h, types/pa_vrequest.C, types/pa_vrequest.h: VRequest moved to :Value * src/: classes/_request.h, classes/request.C, main/pa_globals.C, types/pa_vrequest.C, types/pa_vrequest.h: VRequest moved to :VStateless_object * src/: classes/_response.h, classes/response.C, main/pa_globals.C, types/pa_vform.h, types/pa_vresponse.h: VResponse moved to :VStateless_object * src/: main/main.dsp, targets/cgi/parser3.dsp, types/pa_valiased.C, types/pa_vform.h: commented VForm * src/: targets/cgi/pa_vform.C, types/pa_valiased.C, types/pa_valiased.h, types/pa_value.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h: moved common get_element part from stateless object&class into VAliased * src/: classes/_env.h, classes/_table.h, classes/env.C, classes/table.C, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_request.C, types/pa_value.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_venv.h: VEnv is now :Value * src/: classes/_cookie.h, classes/_table.h, classes/cookie.C, main/execute.C, main/main.dsp, main/pa_globals.C, types/pa_vcookie.C, types/pa_vcookie.h: VCookie is now :Value * src/types/: pa_vfile.C, pa_vfile.h, pa_vstateless_object.h: vfile doxx * src/: classes/_file.h, classes/file.C, include/pa_types.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_valiased.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vstateless_class.h, types/pa_vstateless_object.h: \ to / and ^file:save 2001-03-19 paf * src/types/pa_vfile.C: z * src/: classes/file.C, classes/request.C, classes/table.C, include/pa_string.h, main/main.dsp, main/pa_pool.C, main/pa_request.C, main/untaint.C, types/pa_value.h, types/pa_vfile.C, types/pa_vfile.h, types/pa_vform.C: file 1 * src/: classes/table.C, include/pa_common.h, include/pa_globals.h, include/pa_string.h, include/pa_table.h, main/main.dsp, main/pa_common.C, main/pa_globals.C, types/pa_value.h, types/pa_vcookie.h, types/pa_venv.h, types/pa_vform.C, types/pa_vform.h, types/pa_vrequest.h, types/pa_vtable.h, classes/_file.h, classes/file.C, types/pa_vfile.C, types/pa_vfile.h: file class just compiled * src/: classes/table.C, include/pa_pool.h, include/pa_request.h, include/pa_table.h, include/pa_types.h, main/execute.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vclass.h, types/pa_vform.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h: ^table:set{default level: TABLE} * src/include/pa_pool.h: z * src/: include/pa_hash.h, include/pa_types.h, main/pa_common.C, main/pa_hash.C, main/pa_request.C, types/pa_vcookie.C: renamed Hash::Value to Val so to doxygen would finlly stop confusing those Value-s * src/: include/code.h, include/pa_array.h, include/pa_common.h, include/pa_exception.h, include/pa_globals.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_stack.h, include/pa_string.h, include/pa_table.h, include/pa_threads.h, include/pa_types.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_exception.C, main/pa_globals.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/untaint.C, types/pa_valiased.h, types/pa_value.h: z * src/types/: pa_valiased.h, pa_vbool.h: doc: Value and it's derivates somehow unlinked. don't know why yet * src/: include/code.h, include/pa_array.h, include/pa_pool.h, include/pa_string.h, include/pa_threads.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_exception.C, main/pa_globals.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/untaint.C, types/pa_value.h: auto @brief * src/: classes/root.C, classes/table.C, main/pa_exception.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vbool.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vdouble.h, types/pa_venv.h, types/pa_vform.h, types/pa_vint.h, types/pa_vrequest.h: doc: detected Value derivates prob * src/include/pa_globals.h: z * src/: classes/_request.h, classes/request.C, include/code.h, include/pa_array.h, include/pa_common.h, include/pa_exception.h, include/pa_globals.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_stack.h, include/pa_string.h, include/pa_table.h, include/pa_threads.h, include/pa_types.h, main/execute.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vform.C: doxygen include/, Value 2001-03-18 paf * src/: classes/cookie.C, types/pa_vcookie.C, types/pa_vcookie.h: cookie: allowed access to hash-assigned * src/targets/cgi/parser3.C: z * src/: classes/_cookie.h, classes/cookie.C, include/pa_common.h, include/pa_globals.h, include/pa_request.h, include/pa_string.h, include/pa_types.h, main/main.dsp, main/pa_common.C, main/pa_globals.C, main/pa_hash.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C, types/pa_value.h, types/pa_vcookie.C, types/pa_vcookie.h, types/pa_vform.C, types/pa_vform.h, types/pa_vhash.h, types/pa_vunknown.h: cookie class * src/main/pa_request.C: zero length output allowed * src/: classes/response.C, main/pa_request.C, types/pa_value.h, types/pa_vhash.h, types/pa_vresponse.h: ^response:clear[] * src/: classes/root.C, main/pa_request.C: taint forgotten forced lang switch * src/: classes/root.C, include/pa_globals.h, include/pa_string.h, main/pa_globals.C, main/pa_request.C, main/pa_string.C, types/pa_value.h, types/pa_vhash.h: $defautl[$content-type[$value[text/html] $charset[windows-1251]] * src/main/execute.C: z * src/: classes/root.C, main/pa_request.C, main/untaint.C, targets/cgi/parser3.C: taint[uri * src/: classes/request.C, classes/response.C, classes/root.C, include/pa_common.h, include/pa_globals.h, include/pa_request.h, include/pa_string.h, main/pa_common.C, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C: ^taint 0 * src/: classes/root.C, classes/string.C, include/pa_string.h, main/pa_globals.C, main/pa_request.C, main/pa_string.C, types/pa_vdouble.h, types/pa_vform.C, types/pa_vint.h, types/pa_vstateless_class.C: convinient string(pool, char *src, bool tainted) ctor * src/: include/pa_hash.h, include/pa_request.h, include/pa_string.h, main/pa_globals.C, main/pa_hash.C, main/pa_request.C, main/pa_string.C, main/untaint.C, targets/cgi/parser3.C: proper @exceptions params tainting * src/: include/pa_hash.h, main/pa_hash.C, targets/cgi/parser3.C: response fields to header * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C: z * src/: classes/_response.h, classes/response.C, include/pa_globals.h, include/pa_hash.h, include/pa_request.h, main/compile.C, main/compile.y, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_hash.C, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_value.h, types/pa_vhash.h, types/pa_vrequest.h, types/pa_vresponse.h: $response: 0 request::core exception rethrow 2001-03-16 paf * src/: main/execute.C, main/main.dsp, types/pa_value.h, types/pa_vrequest.h: native method' class call with less params then needed error reporting * src/: classes/_request.h, classes/request.C, include/pa_globals.h, include/pa_request.h, main/execute.C, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vform.C, types/pa_vrequest.C, types/pa_vrequest.h: $request : query :uri * src/: include/pa_globals.h, main/execute.C, main/pa_globals.C, types/pa_value.h, types/pa_vcframe.h, types/pa_vmframe.h, types/pa_wcontext.h: $result * src/: main/execute.C, types/pa_vmframe.h: if(in "/news/") * src/: classes/double.C, include/code.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: () and {} param wcontext conflict fixed by OP_EXPR_CODE__STORE_PARAM * src/: include/code.h, include/pa_hash.h, include/pa_request.h, main/compile.y, main/execute.C, types/pa_value.h, types/pa_vhash.h, types/pa_vstring.h, types/pa_vtable.h, types/pa_wcontext.C, types/pa_wcontext.h: see () and {} param wcontext conflict * src/: main/execute.C, types/pa_value.h, types/pa_vstateless_object.h, types/pa_vstring.h: disabled $string.field 2001-03-15 paf * src/main/pa_request.C: news sample * src/: main/compile.y, main/execute.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vstring.h: @exception * src/main/: compile.y, execute.C: z * src/: main/compile.y, main/pa_request.C, targets/cgi/parser3.C, types/pa_vstring.h: pre-pre-pre-beta cgi under win32 apache pre pre pre works * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, types/pa_vform.C, types/pa_vform.h: vform fillfields just compiled 2001-03-14 paf * src/: include/pa_request.h, main/pa_request.C, targets/cgi/parser3.C: z * src/: include/pa_globals.h, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.dsp, types/pa_vform.C, types/pa_vform.h, types/pa_vstring.h: limits -1 * src/: include/pa_globals.h, include/pa_request.h, include/pa_types.h, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vform.C, types/pa_vform.h: request_info -1 * src/: include/pa_globals.h, main/pa_globals.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, targets/cgi/vform_fields_fill.C, targets/cgi/vform_fields_fill.h: vform_fields_fill * src/targets/cgi/parser3.C: # if MSVC * src/: include/pa_common.h, include/pa_types.h, main/pa_request.C, targets/cgi/parser3.C: PATH_DELIMITER_CHAR * src/targets/cgi/parser3.C: z * src/: include/core.h, include/pa_globals.h, include/pa_pool.h, include/pa_string.h, include/pa_types.h, main/compile.y, main/core.C, main/main.dsp, main/pa_globals.C, main/pa_request.C, targets/cgi/pa_vform.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_value.h, types/pa_vform.h, types/pa_vunknown.h: global handler, exceptions in parser3 2001-03-13 paf * src/: classes/form.C, main/compile.y, main/core.C, types/pa_value.h, types/pa_vclass.h, types/pa_venv.h, types/pa_vform.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h: form:fields removed. use $form.CLASS instead * src/: include/core.h, include/pa_common.h, include/pa_request.h, main/core.C, main/execute.C, main/main.dsp, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp, types/pa_vform.h: started cgi target * src/: include/core.h, include/pa_common.h, include/pa_request.h, main/pa_common.C, main/pa_request.C, targets/cgi/parser3.C: before error show with parser * src/: classes/_form.h, classes/form.C, include/core.h, include/pa_request.h, main/core.C, main/pa_request.C, targets/cgi/parser3.C, targets/cgi/parser3.dsp: z * src/targets/cgi/: parser.dsp, parser3.dsp: z * src/targets/cgi/: Makefile.am, pa_pool.C, pa_vform.C, parser.dsp, parser3.C: renamed targets/ parser to cgi * src/: classes/double.C, classes/env.C, classes/int.C, classes/root.C, classes/string.C, classes/table.C, include/pa_request.h, types/pa_vhash.h: z * src/: classes/_env.h, classes/env.C, classes/root.C, include/core.h, include/pa_pool.h, include/pa_request.h, main/compile.C, main/compile.y, main/core.C, main/main.dsp, main/pa_common.C, main/pa_request.C, types/pa_value.h, types/pa_venv.h, types/pa_vstateless_class.h: started $form: [historical moment :)] * src/: include/code.h, include/pa_string.h, main/compile.y, main/execute.C, main/pa_string.C: 'value is type' expr operator * src/types/pa_venv.h: $ENV 1 * src/main/execute.C: z * src/: main/execute.C, types/pa_value.h, types/pa_venv.h: for future methods of ENV constructor if * src/: include/pa_request.h, types/pa_venv.h: $ENV 0.1 stateless class * src/: classes/_double.h, classes/_env.h, classes/_int.h, classes/_root.h, classes/_string.h, classes/_table.h, classes/double.C, classes/env.C, classes/int.C, classes/root.C, classes/string.C, classes/table.C, include/pa_request.h, main/compile.C, main/compile_tools.h, main/core.C, main/execute.C, main/main.dsp, main/pa_request.C, types/pa_valiased.h, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_venv.h, types/pa_vmframe.h, types/pa_vobject.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_wcontext.h: $ENV: re 0, stateless classes * src/: classes/_double.h, classes/_env.h, classes/_int.h, classes/_root.h, classes/_string.h, classes/_table.h, classes/double.C, classes/env.C, classes/int.C, classes/root.C, classes/string.C, classes/table.C, include/pa_request.h, main/compile.C, main/compile_tools.h, main/core.C, main/execute.C, main/main.dsp, main/pa_request.C, types/pa_valiased.h, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_venv.h, types/pa_vmframe.h, types/pa_vobject.h, types/pa_vstateless_class.C, types/pa_vstateless_class.h, types/pa_vstateless_object.h, types/pa_wcontext.h: $ENV: re 0, stateless classes * src/: include/pa_request.h, main/compile.C, main/execute.C, main/pa_request.C, types/pa_value.h, types/pa_vmframe.h: fixed yesterdays bad decision on execute_static_method * src/: classes/table.C, include/pa_types.h, main/pa_request.C: z * src/: classes/double.C, classes/int.C, classes/root.C, types/pa_vdouble.h, types/pa_vint.h: Int,Double dec mul div mod * src/main/pa_request.C: z * src/: classes/root.C, classes/table.C, include/pa_exception.h, include/pa_pool.h: skipped_restructure_exceptions_dead_end * src/: classes/root.C, classes/table.C, include/pa_exception.h, include/pa_pool.h, main/pa_request.C: restructure_exceptions_dead_end * src/: classes/root.C, main/compile.y: ^if required junctions. allowed ; inside {} to break params * src/classes/root.C: ^eval * src/: classes/_string.h, classes/double.C, classes/int.C, classes/string.C, main/execute.C, types/pa_wcontext.h: int doube string ^format * src/: main/execute.C, types/pa_wcontext.h: constructing flag not 'bad' but not 'enough' * src/: classes/double.C, classes/root.C, classes/table.C, include/pa_common.h, include/pa_types.h, main/compile.y, main/pa_common.C, main/pa_request.C, main/untaint.C, types/pa_vdouble.h, types/pa_vint.h, types/pa_vtable.h, types/pa_wwrapper.h: think constructing flag as is is bad * src/: classes/double.C, classes/int.C, classes/root.C, classes/string.C, classes/table.C, main/core.C, main/execute.C, types/pa_vint.h: ^for 2001-03-12 paf * src/classes/table.C: table ^empty * src/: classes/table.C, include/pa_table.h: table ^menu * src/: classes/root.C, classes/table.C, types/pa_vtable.h: table ^offset ^line ^count * src/classes/root.C: ^round() ^floor() ^ceiling() ^abs() ^sign() * src/classes/: root.C, table.C: ^use * src/: classes/root.C, classes/table.C, include/pa_request.h, main/compile.y, main/core.C, main/execute.C, types/pa_vclass.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h: ^while. switched off wcontext.constructing after write(value) or auto-vhash-constructing * src/: classes/root.C, classes/table.C, include/pa_request.h, main/pa_request.C: fail_if_junction_ helper func * src/: classes/root.C, classes/table.C, include/pa_common.h, include/pa_request.h, main/execute.C, main/main.dsp, main/pa_common.C, main/pa_request.C: ^process error point by actual method_name, not source. ^load * src/types/pa_vtable.h: table: no, better with string in cells... * src/: include/pa_array.h, include/pa_table.h, main/pa_table.C, classes/_table.h, classes/table.C, main/untaint.C: z * src/: classes/root.C, include/pa_common.h, include/pa_string.h, include/pa_table.h, main/core.C, main/execute.C, main/pa_common.C, main/pa_request.C, main/pa_table.C, types/pa_value.h: table:set 0 * src/: classes/root.C, include/core.h, include/pa_array.h, include/pa_request.h, include/pa_table.h, main/core.C, main/main.dsp, main/pa_request.C, main/pa_table.C, types/pa_value.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vdouble.h, types/pa_vint.h, types/pa_vmframe.h, types/pa_vstring.h: freeze, ^table:create[] -1 * src/: classes/root.C, types/pa_value.h: z * src/: classes/root.C, main/execute.C, types/pa_vclass.h: used get_method in couple places optimizing them * src/classes/root.C: z * src/: classes/root.C, types/pa_vclass.h: process temp main zeroing * src/: classes/double.C, classes/int.C, classes/root.C, classes/string.C, include/pa_common.h, include/pa_request.h, include/pa_string.h, include/pa_types.h, main/compile.C, main/compile.y, main/compile_tools.h, main/execute.C, main/pa_common.C, main/pa_request.C, types/pa_value.h, types/pa_vmframe.h: ^process. actual names to store param and check_actual_numbered_params for better place diagnostics * src/: classes/root.C, main/execute.C, main/main.dsp: setname for method-junctions bug fixed * src/types/: pa_vdouble.h, pa_vint.h, pa_vobject.h, pa_vstateless_object.h, pa_vstring.h: stateless_object 2001-03-11 paf * src/: main/main.dsp, types/pa_value.h, types/pa_vdouble.h, types/pa_vint.h, types/pa_vobject.h, types/pa_vstring.h: VString VDouble VInt base now VObject_base - without fields * src/: classes/root.C, include/core.h, main/core.C: z * src/: classes/double.C, classes/int.C, classes/root.C, classes/string.C, include/core.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_string.h, main/compile.C, main/core.C, main/pa_request.C: ^untaint 0 * src/: classes/double.C, classes/int.C, classes/root.C, include/pa_request.h, main/execute.C: intercept_string * src/: classes/double.C, classes/int.C, classes/root.C, types/pa_vclass.C, types/pa_vclass.h: add_native_method helper * src/: classes/double.C, classes/int.C, include/pa_request.h: ^inc-s(expr) * src/: classes/_double.h, classes/_env.h, classes/_int.h, classes/_root.h, classes/_string.h, classes/double.C, classes/env.C, classes/int.C, classes/root.C, classes/string.C, include/code.h, include/core.h, include/pa_array.h, include/pa_common.h, include/pa_exception.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_stack.h, include/pa_string.h, include/pa_table.h, include/pa_threads.h, include/pa_types.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/core.C, main/execute.C, main/pa_array.C, main/pa_common.C, main/pa_exception.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vcframe.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vdouble.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmframe.h, types/pa_vobject.h, types/pa_vstring.h, types/pa_vunknown.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h: headers updated * src/: main/pa_request.C, types/pa_vhash.h: z * src/: include/core.h, include/pa_request.h, main/core.C, main/main.dsp, main/pa_request.C: renamed AUTO: to MAIN: * src/: include/pa_valiased.h, include/pa_value.h, include/pa_vbool.h, include/pa_vcframe.h, include/pa_vclass.h, include/pa_vdouble.h, include/pa_vhash.h, include/pa_vint.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_vunknown.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/compile.y, main/core.C, main/main.dsp, main/pa_cframe.C, main/pa_request.C, main/pa_value.C, main/pa_vclass.C, main/pa_wcontext.C, types/pa_valiased.h, types/pa_value.h, types/pa_vbool.h, types/pa_vcframe.h, types/pa_vclass.C, types/pa_vclass.h, types/pa_vdouble.h, types/pa_vhash.h, types/pa_vint.h, types/pa_vjunction.h, types/pa_vmframe.h, types/pa_vobject.h, types/pa_vstring.h, types/pa_vunknown.h, types/pa_wcontext.C, types/pa_wcontext.h, types/pa_wwrapper.h: splitted types from include/ 2001-03-10 paf * src/: include/core.h, include/pa_request.h, main/core.C, main/pa_request.C: run+auto=run * src/: classes/root.C, include/pa_request.h: minor if junction bug * src/: classes/_double.h, classes/_env.h, classes/_int.h, classes/_root.h, classes/_string.h, classes/double.C, classes/env.C, classes/int.C, classes/root.C, classes/string.C, include/code.h, include/core.h, include/pa_array.h, include/pa_common.h, include/pa_exception.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_stack.h, include/pa_string.h, include/pa_table.h, include/pa_threads.h, include/pa_types.h, include/pa_valiased.h, include/pa_value.h, include/pa_vbool.h, include/pa_vcframe.h, include/pa_vclass.h, include/pa_vdouble.h, include/pa_vhash.h, include/pa_vint.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_vunknown.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/core.C, main/execute.C, main/pa_array.C, main/pa_cframe.C, main/pa_common.C, main/pa_exception.C, main/pa_hash.C, main/pa_pool.C, main/pa_request.C, main/pa_string.C, main/pa_table.C, main/pa_value.C, main/pa_vclass.C, main/pa_wcontext.C: sources header * src/main/pa_request.C: auto.. * src/: include/pa_request.h, main/compile.C, main/compile.y, main/pa_request.C: auto tree0 * src/: include/core.h, include/pa_request.h, main/compile.y, main/core.C, main/pa_request.C: names to core.C * src/: include/core.h, include/pa_common.h, include/pa_pool.h, include/pa_request.h, main/core.C, main/execute.C, main/pa_common.C, main/pa_request.C: root auto.p loaded * src/: include/code.h, include/pa_request.h, include/pa_vint.h, include/pa_vjunction.h, include/pa_vstring.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: optimized from OP_STRING+OP_WRITE to OP_STRING__WRITE * src/: include/pa_request.h, main/execute.C, main/pa_request.C: @auto[] realised. auto.p scan togo * src/: include/pa_request.h, main/execute.C: autocalc code-junctions result now have names * src/: classes/double.C, classes/int.C, classes/root.C, classes/string.C, include/pa_request.h, include/pa_string.h, include/pa_wcontext.h, main/compile.y, main/execute.C, main/pa_string.C, main/pa_wcontext.C: tainting 0 * src/classes/env.C: env:file/line * src/: include/core.h, include/pa_array.h, include/pa_hash.h, include/pa_request.h, include/pa_value.h, include/pa_vcframe.h, include/pa_vdouble.h, include/pa_vint.h, include/pa_vstring.h, include/pa_vunknown.h, include/pa_wcontext.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/core.C, main/execute.C, main/main.dsp, main/pa_cframe.C, main/pa_request.C, main/pa_wcontext.C: const fight finished * src/include/pa_vclass.h: const fight to go * src/: classes/_env.h, classes/env.C, classes/root.C, include/pa_request.h, include/pa_vclass.h, main/core.C, main/main.dsp: env0 * src/: classes/_double.h, classes/_int.h, classes/_root.h, classes/_string.h, classes/double.C, classes/int.C, classes/root.C, classes/string.C, include/pa_request.h, include/pa_string.h, include/pa_types.h, include/pa_vcframe.h, include/pa_wcontext.h, main/core.C, main/main.dsp, main/pa_cframe.C, main/pa_string.C, main/pa_vclass.C, main/pa_wcontext.C: ^lang prepare0 2001-03-09 paf * src/: include/pa_vmframe.h, main/compile.C, main/execute.C: expr construct proper naming * src/: classes/_double.h, classes/_int.h, classes/_string.h, classes/double.C, classes/int.C, classes/root.C, classes/string.C, include/code.h, include/pa_value.h, include/pa_vbool.h, include/pa_vdouble.h, include/pa_vint.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, main/compile.y, main/compile_tools.C, main/core.C, main/execute.C, main/main.dsp: Int and Double classes with ^int[] and ^double[]. fixed expr type * src/: classes/root.C, include/pa_request.h, main/execute.C: ^string.length[] 2001-03-08 paf * src/include/pa_vmframe.h: fixed forgotten method_frame my check * src/: include/pa_vclass.h, include/pa_vstring.h, include/pa_wcontext.h, main/compile.y, main/core.C, main/execute.C, main/main.dsp: dead end: vstring can't be derivated from vobject * src/: include/pa_vclass.h, include/pa_vhash.h, include/pa_vobject.h, include/pa_vstring.h, main/main.dsp: z * src/include/: pa_vclass.h, pa_vhash.h, pa_vobject.h: removes some remained clone conseqs * src/main/pa_vclass.C: that were ok... [vclass were out of vcs] * src/main/pa_vclass.C: wow! vclass were out of vcs * src/: include/pa_bool.h, include/pa_double.h, include/pa_value.h, include/pa_vbool.h, include/pa_vclass.h, include/pa_vdouble.h, include/pa_vhash.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_vunknown.h, main/compile.y, main/compile_tools.C, main/execute.C: withoud cloning. didn't need it actually, params got passed from out unnamed ewpool * src/: include/pa_vdouble.h, include/pa_vhash.h, include/pa_vjunction.h, include/pa_vobject.h, include/pa_vunknown.h, main/compile.y: cloning dead end * src/: include/pa_bool.h, include/pa_double.h, include/pa_valiased.h, include/pa_value.h, include/pa_vbool.h, include/pa_vclass.h, include/pa_vdouble.h, include/pa_vhash.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_vunknown.h, main/compile.y, main/compile_tools.C, main/execute.C, main/main.dsp, main/pa_value.C: value.cloning so to give params proper names * src/main/pa_wcontext.C: z * src/: include/pa_vmframe.h, main/execute.C: added names to unknown values in get_element and unfilled params. removed wrong name change in get_element * src/main/execute.C: z * src/main/execute.C: fixed problems calling operators in constructors * src/: classes/root.C, include/pa_stack.h, main/execute.C: detected problems calling operators in constructors * src/: classes/root.C, include/pa_request.h, main/execute.C: autocalc def to string * src/: classes/root.C, include/pa_request.h, include/pa_value.h, include/pa_vbool.h, include/pa_wwrapper.h, main/execute.C: ^if 0 * src/classes/root.C: added root.c * src/: include/pa_request.h, include/pa_value.h, include/pa_vcframe.h, include/pa_vmframe.h, include/pa_wcontext.h, main/compile.C, main/compile.y, main/core.C, main/execute.C, main/pa_cframe.C, main/pa_wcontext.C: 'if' just compiled * src/: include/pa_vbool.h, include/pa_vdouble.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vstring.h, include/pa_wcontext.h, main/execute.C, main/pa_wcontext.C: z * src/: include/pa_value.h, include/pa_vmframe.h, main/compile.y, main/core.C, main/execute.C, main/main.dsp: z. detected probs with parameter names in operator methods * src/main/compile.y: minor renamings in .y * src/: include/pa_request.h, main/compile.C, main/compile.y, main/core.C, main/main.dsp: introducing ROOT_CLASS. it's default @BASE. changed 'RUN' assignment mech * src/main/execute.C: z * src/: include/code.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: made class: dynamic, not static. so to enable runtime ^use * src/main/compile.y: minor grammar bug with OP_CODE__STORE_PARAM * src/: include/code.h, main/compile.y, main/compile_tools.C, main/execute.C: joined 2 into one OP_CODE__STORE_PARAM * src/main/execute.C: root root in code-junction 2001-03-07 paf * src/include/: pa_value.h, pa_vclass.h, pa_vhash.h, pa_vmframe.h, pa_vobject.h, pa_wwrapper.h: const in Value.get_element * src/: include/pa_stack.h, include/pa_value.h, include/pa_vclass.h, include/pa_vhash.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_wwrapper.h, main/execute.C: fixed rwcontext of {} params up * src/main/: compile.y, compile_tools.h: ^func(params) * src/main/compile.y: .y priorities syntax shaped up a bit * src/: include/pa_hash.h, include/pa_value.h, include/pa_vhash.h, include/pa_vunknown.h, main/compile.y, main/execute.C, main/pa_hash.C: expr def in -f * src/main/: compile.y, execute.C: expr calls * src/main/: compile.y, execute.C, pa_string.C: bug in string.cmp fixed * src/main/compile.y: expr quoted code * src/main/: compile.y, execute.C: expr whitespace solved. added "" support0 * src/main/compile.y: expr string comparisons 0 * src/: include/pa_string.h, main/compile.y, main/execute.C, main/pa_string.C: just compiled lt&co * src/main/execute.C: ^var.menu{$field} problem detected. that $field not a $var.field 2001-03-06 paf * src/main/compile.y: .y expr visible-shorter * src/: include/code.h, main/compile.y, main/execute.C: 1 problems with skipping whitespace in yylex fixed 2 xors: # bitwise ## logical * src/: include/pa_vstring.h, main/compile.y: problems with skipping whitespace in yylex * src/include/pa_vbool.h: forgot this * src/: include/code.h, main/compile.y, main/execute.C: without string ops in expressions 0 * src/: include/pa_value.h, include/pa_vdouble.h, include/pa_vstring.h, include/pa_vunknown.h, main/compile.y, main/execute.C, main/main.dsp: !~ * src/: include/pa_vcframe.h, include/pa_vclass.h, include/pa_vdouble.h, include/pa_vhash.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_vunknown.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: +-*/ * src/: include/pa_vdouble.h, main/compile.y, main/compile_tools.C, main/compile_tools.h: grammar-1.1 $a(z) $a=0 * src/: include/pa_value.h, include/pa_vdouble.h, main/compile.y, main/execute.C: expr grammar-1 2*2=4.000000 :) * src/main/compile.y: expr grammar-1 * src/main/compile.y: expr lexx1 * src/main/: compile.y, execute.C, main.dsp: z * src/: include/code.h, include/pa_valiased.h, include/pa_value.h, include/pa_vdouble.h, include/pa_vstring.h, main/compile.y, main/execute.C: expr lex0 exec-1 * src/: include/code.h, main/compile.y, main/compile_tools.h: g 2001-02-26 paf * src/main/compile.y: max_string in yyerror bug fix 2001-02-25 paf * src/: include/pa_value.h, include/pa_vmframe.h, include/pa_wcontext.h, main/execute.C: VAliased3 * src/include/: pa_value.h, pa_vmframe.h: VAliased2 * src/main/execute.C: VAliased1 * src/: include/pa_request.h, include/pa_value.h, include/pa_vmframe.h, include/pa_wcontext.h, main/execute.C: VAliased0 * src/: include/pa_pool.h, include/pa_request.h, include/pa_value.h, include/pa_vclass.h, include/pa_vmframe.h, include/pa_vobject.h, main/core.C, main/execute.C, main/main.dsp: VAliased just compiled * src/: include/pa_pool.h, include/pa_value.h, include/pa_vclass.h, include/pa_vobject.h, main/execute.C: alias dead end * src/: include/pa_value.h, include/pa_vclass.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/execute.C, main/main.dsp: no not get fields into interm VFielded class. fields & staticfields 1 * src/: include/pa_vcframe.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/core.C, main/execute.C, main/main.dsp: would now get fields into interm VFielded class * src/: include/pa_hash.h, include/pa_value.h, include/pa_vclass.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_vstring.h, include/pa_wcontext.h, main/compile.y, main/core.C, main/execute.C, main/main.dsp, main/pa_hash.C, main/pa_value.C, main/pa_wcontext.C: virtuals2 * src/main/compile.y: : 1 * src/main/compile.y: rethought to $class:static.field.subfield * src/: include/pa_vclass.h, main/compile.y, main/execute.C: $class:element * src/: include/pa_value.h, include/pa_vmframe.h, include/pa_wwrapper.h, main/compile.y, main/execute.C, main/pa_wcontext.C: before execute class calls rewrite * src/: include/pa_request.h, main/compile.C, main/core.C: default name RUN, also alias * src/main/compile.y: escaping bug * src/: include/pa_request.h, include/pa_value.h, include/pa_vobject.h, main/compile.y, main/compile_tools.h, main/core.C, main/execute.C, main/pa_common.C: vobject1 * src/: include/code.h, include/pa_value.h, include/pa_vclass.h, include/pa_vmframe.h, include/pa_vobject.h, include/pa_wwrapper.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: ^class:method() just compiled 2001-02-24 paf * src/main/main.dsp: no bison -d * src/main/: compile.y, compile_tools.h: use0 line no on 'undef class' err msg wrong * src/main/compile.y: z * src/main/: compile.y, core.C: yylex need some @special lines adj * src/: include/pa_request.h, include/pa_vclass.h, main/compile.C, main/compile.y, main/compile_tools.h, main/core.C: modules0 * src/: include/pa_vclass.h, main/core.C: z * src/: include/pa_value.h, include/pa_vclass.h, include/pa_vobject.h, main/main.dsp: vobject00 * src/main/pa_array.C: minor bug in expanding very small arrays. 60% from 1 were 0 * src/: include/pa_value.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/execute.C, main/pa_value.C: it works as bad as you've named it: wcontext.value() was not a perfect idea * src/main/execute.C: codeframe1 * src/: include/pa_value.h, include/pa_vcframe.h, include/pa_vclass.h, include/pa_vframe.h, include/pa_vhash.h, include/pa_vjunction.h, include/pa_vmframe.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/execute.C, main/main.dsp, main/pa_cframe.C, main/pa_wcontext.C: codeframe just compiled * src/: include/pa_vframe.h, main/compile.y: found junction ideology @: ^x{$a()) must construct current wcontext element, so smart wcontext handling needed * src/main/compile.y: fixed grammar bugs in constructor/params klinch * src/main/: compile.y, execute.C: fixed empty constructor optimized empty case. failed on calls - produced empty string param * src/main/compile.y: fixed last \n macrotemplate strip bug * src/: include/code.h, include/pa_request.h, include/pa_value.h, include/pa_vclass.h, include/pa_vframe.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/core.C, main/execute.C: code junctions0. something wrong with last \n macrotemplate strip * src/: include/pa_value.h, main/compile.C, main/core.C, main/pa_value.C: minor error reporting format beautifyings * src/: include/pa_value.h, include/pa_vclass.h, include/pa_vframe.h, main/core.C, main/execute.C, main/pa_value.C: get_method RIP. junctions everywhere. call with junctions0 2001-02-23 paf * src/include/: pa_value.h, pa_vclass.h, pa_vframe.h, pa_wwrapper.h: lara came, can't work, sorry :( * src/main/: compile.y, execute.C, main.dsp: rethought some. before junction * src/: include/pa_vframe.h, include/pa_vunknown.h, include/pa_wcontext.h, include/pa_wwrapper.h, main/core.C, main/execute.C, main/main.dsp, main/pa_value.C: call0 * src/: include/pa_hash.h, include/pa_value.h, include/pa_wcontext.h, main/core.C, main/execute.C, main/main.dsp, main/pa_hash.C: started call. store param, vframe done * src/include/pa_wcontext.h: z * src/main/: compile.y, compile_tools.C, compile_tools.h: fixed wrong grammar in complex constructor case * src/main/: compile.y, execute.C: empty constructor bug fixed * src/main/execute.C: with result rwpool * src/: include/pa_value.h, main/core.C, main/execute.C, main/main.dsp: value named * src/: include/pa_value.h, include/pa_vstring.h, main/execute.C: strign 2 value in 2 places in execute * src/: include/pa_value.h, include/pa_wcontext.h, main/compile.y, main/execute.C, main/main.dsp, main/pa_array.C: auto VHash on wcontext.put_element when wcontext fvalue==0 2001-02-22 paf * src/: include/pa_hash.h, include/pa_value.h, include/pa_vclass.h, include/pa_vhash.h, include/pa_vstring.h, include/pa_wcontext.h, main/execute.C, main/main.dsp: auto VHash in pa.th.cre.at.e * src/: include/pa_wcontext.h, main/compile.y, main/execute.C: erroreos checkout * src/: include/pa_request.h, main/compile.y: $self.put(val) * src/: include/pa_array.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/pa_array.C: $self.get * src/main/: compile.C, compile.y, compile_tools.C: z * src/main/compile.y: $: wasn't finished - $:sdf(sdf) troubled a bit. finished now. * src/main/compile.y: $: finished * src/main/: compile.C, compile.y, execute.C: started : with $a.$:f * src/: include/code.h, main/compile_tools.C, main/compile_tools.h, main/execute.C: OP_STRING better then some xxx _VALUE * src/: include/code.h, include/pa_vstring.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C: string to vstring it .y all * src/: include/pa_request.h, include/pa_stack.h, include/pa_wcontext.h, main/execute.C: z about to vstring it .y all * src/main/: compile.C, core.C, execute.C, pa_string.C: more precise parse error line:col * src/: include/pa_pool.h, include/pa_vclass.h, main/core.C, main/pa_hash.C, main/pa_pool.C: TRY... * src/: include/pa_exception.h, include/pa_pool.h, include/pa_request.h, include/pa_value.h, include/pa_wcontext.h, main/compile.C, main/compile.y, main/compile_tools.C, main/core.C, main/pa_array.C, main/pa_exception.C, main/pa_hash.C, main/pa_pool.C, main/pa_string.C, main/pa_table.C: removed exception from request * src/: include/pa_vstring.h, main/compile.C, main/core.C: added some forgotten * src/: include/code.h, include/pa_value.h, include/pa_vclass.h, include/pa_wcontext.h, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/main.dsp: iiieeyys! get/put simple vars to VClass works0 * src/: include/pa_array.h, include/pa_wcontext.h, main/pa_string.C: in process, but found that exceptions are too global * src/: include/code.h, include/pa_string.h, include/pa_value.h, include/pa_vclass.h, include/pa_wcontext.h, main/compile.y, main/execute.C, main/pa_string.C: write_value write_string 0 it seems wcontext must write strings regardles of fvalue!=0 2001-02-21 paf * src/main/execute.C: tired :) * src/main/: compile.C, compile.y, execute.C: store0 * src/: include/compile.h, include/execute.h, include/pa_array.h, include/pa_request.h, include/pa_stack.h, include/pa_vclass.h, include/pa_wcontext.h, main/compile.C, main/compile.y, main/execute.C, main/main.dsp, main/pa_array.C, main/pa_request.C: get put -1 [just compiled] * src/: include/core.h, include/pa_context.h, include/pa_request.h, include/pa_vclass.h, include/pa_wcontext.h, main/core.C, main/main.dsp, main/pa_request.C: request core methods0 * src/: include/compile.h, include/pa_array.h, main/compile.C, main/compile.y, main/execute.C: MAIN_METHOD_NAME ready to write execute * src/: include/pa_exception.h, include/pa_value.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h: .y methods and one_big_piece. now compile returns array * src/main/compile.y: more straightforward yylex[end] * src/: include/pa_string.h, include/pa_types.h, main/pa_string.C: string.operator==(char*) * src/: include/execute.h, include/pa_array.h, include/pa_value.h, main/execute.C, main/pa_array.C: after array.const get wonders * src/include/: compile.h, pa_context.h, pa_hash.h, pa_request.h, pa_string.h, pa_value.h: struck with const array.gets * src/main/: execute.C: z * src/main/: compile.y, execute.C: z * src/main/: compile.C, compile.y, compile_tools.h: error processing in eval & yyerror so it wouldn't cause memleaks. * src/main/: compile.C, compile.y: failed to add absolute precies parse error positions. leaving RIGHTMOST position as @file[line:col] * src/: include/compile.h, main/compile.C, main/compile.y, main/compile_tools.h: line numbers needed. would add them to .y now internally. externally it's not as precise as needed * src/: include/code.h, include/pa_types.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/execute.C, main/main.dsp: .y to c++ hierarchy output fix. compiler works ok 2001-02-20 paf * src/main/: compile.C, compile.y, compile_tools.C, compile_tools.h, execute.C, main.dsp: nestage probs, eof yylex not perfect * src/: include/code.h, include/compile.h, include/execute.h, include/pa_array.h, include/pa_common.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, include/pa_types.h, main/compile.C, main/compile.y, main/compile_tools.C, main/compile_tools.h, main/core.C, main/execute.C, main/main.dsp, main/pa_array.C, main/pa_common.C, main/pa_hash.C, main/pa_string.C, main/pa_table.C: bison[yacc] first time compiled. execute=dump for now * src/main/core.C: core rewrite using yacc investigations now will be compile[yacc]/execute[opcodes] 2001-02-15 paf * src/: include/pa_value.h, main/core.C: maybe a-la yacc those ifs rewrite as turing machine? for it seems it would be it's too many ifs with this syntax now 2001-02-14 paf * src/main/core.C: get_params 1 * src/main/core.C: get_params figured ^menu[UNEVALUATED unthinked :( ] * src/main/core.C: varios breaks * src/main/core.C: get names 3 * src/main/core.C: get names 2 * src/main/core.C: get names 1 * src/: include/pa_string.h, main/core.C, main/pa_string.C: get names 0 * src/: include/pa_value.h, main/core.C, main/pa_string.C: process text repassing2 operator static vars * src/: include/pa_context.h, include/pa_string.h, main/core.C, main/pa_string.C: process text repassing * src/: include/pa_context.h, include/pa_value.h, main/core.C: module:calls changes 2001-02-13 paf * src/: include/pa_context.h, include/pa_value.h, main/core.C: ^class:calls[] started * src/: include/pa_value.h, main/core.C: z * src/main/core.C: operators : and self. prefixes * src/main/core.C: z * src/: include/pa_string.h, main/pa_string.C: String_iterator tested * src/: include/pa_string.h, main/pa_string.C: String_iterator optimized * src/main/pa_string.C: String_iterator::skip_to optimized a bit. would change privates to better support optimization * src/: include/pa_string.h, main/pa_string.C: String_iterator::skip_to todo:optimize 2001-02-12 paf * src/: include/pa_string.h, main/core.C, main/pa_string.C: started String_iterator * src/: include/pa_context.h, include/pa_value.h, main/core.C: some comments * src/: include/pa_context.h, include/pa_value.h, main/core.C: get self/methodref joined 2001-02-11 paf * src/: include/pa_context.h, include/pa_value.h, main/core.C, main/main.dsp: core started. core.C, context&value .h * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/main.dsp, main/pa_array.C, main/pa_hash.C, main/pa_pool.C, main/pa_string.C: :pooled 2001-01-30 paf * src/: Makefile.am, main/Makefile.am, targets/Makefile.am: .am comments * src/: include/pa_pool.h, main/Makefile.am, main/main.dsp, main/pa_pool.C: moved pa_pool.C to be target specific * src/: include/pa_exception.h, include/pa_pool.h, include/pa_table.h, main/pa_exception.C, main/pa_table.C: minor * to & changes * src/: include/pa_exception.h, include/pa_pool.h, include/pa_request.h, include/pa_table.h, main/pa_array.C, main/pa_exception.C, main/pa_pool.C, main/pa_table.C: error re-associated. that's much better even removed 'die' necessety * src/: include/pa_error.h, include/pa_exception.h, include/pa_pool.h, include/pa_request.h, main/main.dsp, main/pa_error.C, main/pa_exception.C, main/pa_pool.C, targets/Makefile.am: lowered targets/parser into subdir, added parser_Pool(Pool) failed to add. would think.. * src/: include/pa_error.h, include/pa_hash.h, include/pa_string.h, include/pa_table.h, main/pa_error.C, main/pa_hash.C, main/pa_string.C, main/pa_table.C: Table more like C++ style hence lots of 'const' * src/: include/pa_error.h, include/pa_request.h, include/pa_string.h, include/pa_table.h, main/pa_error.C, main/pa_table.C: Error fixed 2001-01-29 paf * src/: include/pa_array.h, include/pa_common.h, include/pa_error.h, include/pa_hash.h, include/pa_pool.h, include/pa_request.h, include/pa_string.h, include/pa_table.h, main/Makefile.am, main/pa_array.C, main/pa_common.C, main/pa_error.C, main/pa_hash.C, main/pa_table.C: added forgotten * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, include/pa_types.h, main/Makefile.am, main/main.dsp, main/pa_array.C, main/pa_hash.C, main/pa_string.C, main/pa_table.C: Request Error Table * src/: include/pa_pool.h, main/pa_array.C: tested - decision "no templates" * src/: include/pa_array.h, include/pa_pool.h, main/Makefile.am, main/main.dsp, main/pa_array.C: templates failed no template specializations [VC6], no library auto instantation [VC6, GNU c++ 2.95.2-6 from latest cygwin] * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, include/pa_table.h, include/pa_types.h, main/main.dsp, main/pa_array.C, main/pa_string.C, main/pa_table.C: Table started would test template Array now * src/: include/pa_pool.h, include/pa_string.h, main/pa_string.C: String originating * src/: include/pa_hash.h, include/pa_pool.h, include/pa_threads.h, main/pa_hash.C: made local Hash-es not thread safe=quicker by SYNCHRONIZED(thread_safe) * src/include/: pa_array.h, pa_hash.h, pa_string.h: moved .h public parts to top * src/: include/pa_hash.h, include/pa_threads.h, main/pa_hash.C, main/pa_threads.C: decided on one global_mutex, like PHP as I can see: needed only in global Hash now, made Hash:: put/get SYNCHRONIZED * src/: include/pa_hash.h, include/pa_threads.h, main/main.dsp, main/pa_threads.C: added pa_threads Mutex * src/include/pa_hash.h: some comments * src/: main/pa_array.C, include/pa_array.h, include/pa_pool.h: Array& operator += (Array& src) * src/main/pa_array.C: expand not convinient, would rewrite * src/: include/pa_array.h, main/pa_array.C: Array::operator += (Array& src) rethought, would change now 2001-01-27 paf * src/: include/pa_array.h, main/pa_array.C: array [] with chunk caching * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/pa_array.C, main/pa_string.C: array cache rethought to chunk caching * src/: include/pa_array.h, include/pa_hash.h, include/pa_pool.h, include/pa_string.h, main/main.dsp, main/pa_array.C, main/pa_hash.C, main/pa_string.C: Array 0 * src/main/pa_string.C: String::operator == * src/main/pa_hash.C: String(&String) * src/main/pa_hash.C: added pa_hash.C [forgotten] * src/: include/pa_hash.h, include/pa_string.h, include/pa_types.h, main/main.dsp, main/pa_string.C: uint, and added pa_types & pa_hash[forgotten] 2001-01-26 paf * src/: include/pa_pool.h, include/pa_string.h, main/pa_string.C: removed templates [vc++ suxx] * src/: include/pa_pool.h, include/pa_string.h, main/main.dsp, main/pa_pool.C, main/pa_string.C: templates in VC++ suxx. * src/include/: pa_pool.h, pa_string.h: pa_pool split * src/main/: main.dsp, pa_string.C: Id check * 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 & dynamic row_count * src/: Makefile.am, include/pa_pool.h, main/Makefile.am, main/main.dsp, main/pa_pool.C, main/pa_string.C, targets/Makefile.am: Initial revision * src/: Makefile.am, include/pa_pool.h, main/Makefile.am, main/main.dsp, main/pa_pool.C, main/pa_string.C, targets/Makefile.am: creating parser3 module