--- parser3/ChangeLog 2020/05/25 02:05:07 1.136 +++ parser3/ChangeLog 2021/01/20 15:39:31 1.158 @@ -1,3 +1,901 @@ +2021-01-20 moko + + * configure, configure.ac, src/include/pa_version.h: 3.4.6rc -> + 3.4.6 + + * etc/auto.p.in: post_max_size 10Mb -> 64Mb. It's 2021 year now. :) + + * etc/auto.p.in: @config[result] added to simplify $cfg change in + /httpd.p + + * etc/auto.p.in: httpd fine-tune: + @OPTIONS partial, + + ^use[/httpd.p] + optional ^preprocess[] (related to feature + #1203) + +2021-01-19 moko + + * buildall: --disable-parallel-mark added to avoid "number of + processors" threads creation for heap marking as it conflicts + with RLimitNProc in apache (on Linux setrlimit RLIMIT_NPROC + limits threads) + +2021-01-16 moko + + * src/: classes/memory.C, include/pa_memory.h, lib/gc/include/gc.h, + main/pa_globals.C, main/pa_memory.C, + targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C, + types/pa_vhashfile.C: ^memory:auto-compact(N) added (implements + feature #1209) + +2021-01-15 moko + + * configure, configure.ac, src/include/pa_version.h: 3.4.6b -> + 3.4.6rc + + * src/classes/json.C: get_delim added for delimiter caching (10% + faster on large json) + +2021-01-14 moko + + * operators.txt: updated with 3.4.6 changes + + * tests/results/224.processed: test result modified after + today(shift) implemented + + * tests/: 407.html, results/407.processed: test for ^hash.select + option $.default(bool) added (related to feature #1172) + + * src/classes/hash.C: ^hash.select option $.default(bool) added + (related to feature #1172) + + * tests/: 141.html, results/141.processed: test modified for + feature #1185. + + * src/: classes/math.C, include/pa_random.h, main/pa_random.C: + ^math:uuid options $.lower(bool) $.solid(bool), ^math:uid64 + options $.lower(bool) (implements feature #1185) + +2021-01-11 moko + + * src/classes/date.C: ^date::today(N) by gz@ (implements feature + #1192) + + * tests/: 411.html, results/411.processed: test for ^date::today(N) + added (related to feature #1192) + +2021-01-05 moko + + * tests/: 270.html, results/270.processed: test modified to work + under Windows + + * tests/: 390.html, 395.html, results/395.processed: tests updated + 4 windows + + * tests/: 410.html, results/410.processed: test for + $CLASS-GETTER-PROTECTED(false) added + +2021-01-04 moko + + * tests/: 409.html, results/409.processed, results/auto.p: test for + $MAIN:LOCALS(true) added + +2021-01-03 moko + + * src/: main/pa_http.C, main/pa_request.C, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vstateless_class.C, + types/pa_vstateless_class.h: @conf[] +CLASS-GETTER-PROTECTED, + +LOCALS. $main -> $MAIN in exception texts (implements feature + #1207) + +2021-01-02 moko + + * etc/auto.p.in: minor + + * src/main/pa_request.C: sending headers only after opening file to + allow error reporting if file was not opened (foreign group, + etc). + +2020-12-31 moko + + * src/: include/pa_request.h, main/pa_request.C, + targets/cgi/parser3.C: ^httpd-main[] -> ^httpd:main[] + + * src/: classes/reflection.C, include/pa_request.h, main/execute.C, + main/pa_request.C: get_class_ref added and used + + * etc/auto.p.in: @CLASS httpd added + + * etc/auto.p.in: @auto[] is now first + +2020-12-30 moko + + * tests/: 408.html, results/408.processed: test for bug #1166 + (windows only) added + + * src/main/pa_common.C: create_dir_for_file should not create dir + for trailing / (fixes bug #1166) + + * tests/: 341.html, results/341.processed: tests for + ^nameless_table.hash[] added (related to feature #1138) + + * src/classes/table.C: ^nameless_table.hash[0;1] now supported + (implements feature #1138), extra fields in named tables no + longer ignored (implements feature #1138) + + * tests/results/390.processed: updated after exception text change + +2020-12-29 moko + + * tests/: 407.html, results/407.processed: +$._default check + + * src/classes/hash.C: keep $_default in ^hash.reverse[] + + * tests/: 407.html, results/407.processed: test for ^hash.select[] + and ^hash.reverse[] added (releated to feature #1172) + + * src/classes/hash.C: + ^hash.select[key;value](bool-condition)[options hash] + + ^hash.reverse[] added (implements feature #1172) + + * src/types/pa_vtable.h: warning war + + * src/include/pa_config_fixed.h: win32 fix + +2020-12-27 moko + + * tests/: 406.html, results/406.processed: test results updated + + * src/: classes/table.C, main/pa_request.C, types/pa_vmail.C, + types/pa_vmemcached.C: fine tuning in ^table.rename[], minor + spelling + +2020-12-26 moko + + * tests/: 406.html, results/406.processed: tests for + ^table.rename[] added (related to feature #1148) + + * src/: classes/table.C, include/pa_table.h, main/pa_table.C: + ^table.rename[column name from;column name to], ^table.rename[ + $.[column name from][column name to] ... ] added (implements + feature #1148) + +2020-12-25 moko + + * src/: include/pa_request_info.h, targets/cgi/parser3.C: + request_info now on stack to avoid yet another THREAD_LOCAL + memory deallocation issue (now with cookies), explained in #1203 + + * src/types/pa_vcookie.C: fields should be inited + +2020-12-24 moko + + * src/include/pa_stylesheet_connection.h: looks like + xsltFreeStylesheet leads to memory double-free. If so, it's for + sure libxml bug, but we have GC anyway, so we just remove this + call and see... + + * thread #1, name = 'parser.parser3.cgi', stop reason = signal + SIGABRT * frame #0: 0x0000000801ab50fa libc.so.7`__sys_thr_kill + + 10 frame #2: 0x0000000801ab5039 libc.so.7`abort at + abort.c:65:8 frame #3: 0x00000000004da663 + parser.parser3.cgi`GC_freehblk(hbp=) at + allchblk.c:878:9 frame #4: 0x00000000004cb8c4 + parser.parser3.cgi`GC_free(p=0x0000000808b34000) at + malloc.c:617:9 frame #5: 0x0000000000577f0c + parser.parser3.cgi`xmlHashFree(table=0x0000000806991a80, + f=) at hash.c:356:2 frame #6: 0x000000000051a7c2 + parser.parser3.cgi`xsltFreeTemplateHashes + 50 frame #7: + 0x000000000050cfac parser.parser3.cgi`xsltFreeStylesheet + 124 + frame #8: 0x000000000050d35c + parser.parser3.cgi`xsltFreeStylesheetList + 44 frame #9: + 0x000000000050d1fa parser.parser3.cgi`xsltFreeStylesheet + 714 + frame #10: 0x00000000004436e5 + parser.parser3.cgi`Stylesheet_manager::maybe_expire_cache() + [inlined] + Stylesheet_connection::disconnect(this=0x0000000804676c80) at + pa_stylesheet_connection.h:62:3 + +2020-12-23 moko + + * src/classes/image.C: ^image::measure[; $.video() ] option added + + * tests/: 395.html, 395_dir/4.mp4, results/395.processed: test + ^image::measure[; $.video(true) ] added + + * src/main/pa_exec.C: not cleared automatically in multithreaded + httpd mode for unknown reasons + +2020-12-22 moko + + * src/targets/cgi/parser3.C: added by PAF in rev 201 to "write to + error_log uri of currently processed document", but never used + and conflicts with how libgc stops threads on FreeBSD (#define + SIG_SUSPEND SIGUSR1), thus removed. + +2020-12-21 moko + + * src/main/pa_request.C: +comment + +2020-12-20 moko + + * src/: include/pa_common.h, include/pa_memory.h, main/pa_common.C: + it is more safe to have versions of pa_strdup with one and two + arguments, as helper_length=0 not always mean that strlen() + should be called, but means zero. + + * src/targets/isapi/parser3isapi.C: minor + + * src/main/pa_http.C: +valid_http_method + + * src/: include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: SERVER_PORT now available + +2020-12-17 moko + + * tests/: 405.html, results/405.processed: test for split by regex + added (related to feature #1160) + + * src/classes/string.C: split by regex implemented (feature #1160) + + * src/classes/string.C: minor + + * tests/: 404.html, results/404.processed: test for whitespace + string is now OK for table argument (related to feature #1169) + + * src/: classes/image.C, classes/string.C, classes/table.C, + types/pa_vmethod_frame.C: whitespace string is now OK for table + argument (as with hash) (implements feature #1169) + + * src/classes/op.C: Exception.add_comment used to avoid MAX_LENGTH + limit for comment (fixes bug #1102) + + * src/targets/cgi/parser3.C: +HAVE_TLS check + + * src/main/pa_http.C: no HAVE_TLS -> no multithreads mode + + * src/include/pa_config_includes.h: HAVE_TLS used + + * configure.ac: +TLS check + + * src/main/pa_http.C: content logging added + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: + clear_response_headers added + +2020-12-16 moko + + * buildall: as we now use threads, libatomic_ops still required for + some OS. + + * src/main/pa_request.C: whitespace + + * src/: include/pa_request.h, main/pa_request.C: + Request::Exception_trace::table extracted and used + + * src/main/pa_request.C: moving output_result call outside of try + as network exceptions should not be handled by parser code + + * src/: include/pa_http.h, main/pa_http.C: HTTPD_DEBUG added for + logging network exchange + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: do not send error + via network if it was network write error. + + * src/targets/cgi/parser3.C: log -> pa_log + + * src/targets/cgi/parser3.C: pa_get_thread_id() used for logging + + * src/main/pa_threads.C: getpid() if no gettid() found + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + we need to ignore "void" connections from browsers (browsers open + connections in advance and they will be empty if user does not + request more pages) + +2020-12-15 moko + + * src/targets/cgi/parser3.C: avoid previous uri in logs + + * src/targets/cgi/: pa_sapi_info.h, parser3.C: global ::request and + RequestController not needed in httpd mode + + * src/: classes/bool.C, classes/classes.C, classes/classes.awk, + classes/classes.h, classes/curl.C, classes/date.C, + classes/double.C, classes/file.C, classes/form.C, classes/hash.C, + classes/hashfile.C, classes/image.C, classes/inet.C, + classes/int.C, classes/json.C, classes/mail.C, classes/math.C, + classes/memcached.C, classes/memory.C, classes/op.C, + classes/reflection.C, classes/regex.C, classes/response.C, + classes/string.C, classes/table.C, classes/void.C, + classes/xdoc.C, classes/xnode.C, classes/xnode.h, + include/pa_array.h, include/pa_base64.h, + include/pa_cache_managers.h, include/pa_charset.h, + include/pa_charsets.h, include/pa_common.h, + include/pa_config_fixed.h, include/pa_config_includes.h, + include/pa_dictionary.h, include/pa_dir.h, + include/pa_exception.h, include/pa_exec.h, include/pa_globals.h, + include/pa_hash.h, include/pa_http.h, include/pa_memory.h, + include/pa_opcode.h, include/pa_operation.h, include/pa_os.h, + include/pa_pool.h, include/pa_random.h, include/pa_request.h, + include/pa_request_charsets.h, include/pa_request_info.h, + include/pa_sapi.h, include/pa_socks.h, + include/pa_sql_connection.h, include/pa_sql_driver_manager.h, + include/pa_stack.h, include/pa_string.h, + include/pa_stylesheet_connection.h, + include/pa_stylesheet_manager.h, include/pa_symbols.h, + include/pa_table.h, include/pa_threads.h, include/pa_types.h, + include/pa_uue.h, include/pa_xml_exception.h, + include/pa_xml_io.h, lib/gd/gif.C, lib/gd/gif.h, lib/gd/gifio.C, + lib/md5/pa_md5.h, lib/md5/pa_md5c.c, + lib/memcached/pa_memcached.C, lib/memcached/pa_memcached.h, + lib/punycode/pa_idna.c, lib/punycode/pa_idna.h, + lib/sdbm/pa_file_io.C, lib/sdbm/pa_strings.C, lib/smtp/comms.C, + lib/smtp/smtp.C, lib/smtp/smtp.h, main/compile.C, + main/compile.tab.C, main/compile.y, main/compile_tools.C, + main/compile_tools.h, main/execute.C, main/pa_base64.C, + main/pa_cache_managers.C, main/pa_charset.C, main/pa_charsets.C, + main/pa_common.C, main/pa_dictionary.C, main/pa_dir.C, + main/pa_exception.C, main/pa_exec.C, main/pa_globals.C, + main/pa_http.C, main/pa_memory.C, main/pa_os.C, main/pa_pool.C, + main/pa_random.C, main/pa_request.C, main/pa_socks.C, + main/pa_sql_driver_manager.C, main/pa_string.C, + main/pa_stylesheet_connection.C, main/pa_stylesheet_manager.C, + main/pa_symbols.C, main/pa_table.C, main/pa_threads.C, + main/pa_uue.C, main/pa_xml_exception.C, main/pa_xml_io.C, + main/untaint.C, sql/pa_sql_driver.h, + targets/apache/mod_parser3.c, targets/apache/mod_parser3_core.C, + targets/apache/pa_httpd.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_junction.h, + types/pa_method.h, types/pa_property.h, types/pa_value.C, + types/pa_value.h, types/pa_vbool.h, types/pa_vcaller_wrapper.h, + types/pa_vclass.C, types/pa_vclass.h, types/pa_vcode_frame.h, + types/pa_vconsole.h, types/pa_vcookie.C, types/pa_vcookie.h, + types/pa_vdate.C, types/pa_vdate.h, types/pa_vdouble.h, + types/pa_venv.C, types/pa_venv.h, types/pa_vfile.C, + types/pa_vfile.h, types/pa_vform.C, types/pa_vform.h, + types/pa_vhash.C, types/pa_vhash.h, types/pa_vhashfile.C, + types/pa_vhashfile.h, types/pa_vimage.C, types/pa_vimage.h, + types/pa_vint.h, types/pa_vjunction.C, types/pa_vjunction.h, + types/pa_vmail.C, types/pa_vmail.h, types/pa_vmath.C, + types/pa_vmath.h, types/pa_vmemcached.C, types/pa_vmemcached.h, + types/pa_vmemory.h, types/pa_vmethod_frame.C, + types/pa_vmethod_frame.h, types/pa_vobject.C, types/pa_vobject.h, + types/pa_vregex.C, types/pa_vregex.h, types/pa_vrequest.C, + types/pa_vrequest.h, types/pa_vresponse.C, types/pa_vresponse.h, + types/pa_vstateless_class.C, types/pa_vstateless_class.h, + types/pa_vstateless_object.h, types/pa_vstatus.C, + types/pa_vstatus.h, types/pa_vstring.C, types/pa_vstring.h, + types/pa_vtable.C, types/pa_vtable.h, types/pa_vvoid.C, + types/pa_vvoid.h, types/pa_vxdoc.C, types/pa_vxdoc.h, + types/pa_vxnode.C, types/pa_vxnode.h, types/pa_wcontext.C, + types/pa_wcontext.h, types/pa_wwrapper.h: Copyright year updated + + * src/main/pa_request.C: old compilers support + + * tests/: 362.html, results/362.processed: test updated after + changes after upgrade to libxml2-2.9.9 were made (related to bug + #1108) + + * src/: classes/xdoc.C, types/pa_vxdoc.h: xsltStylesheet_auto_ptr + removed, as xsltFreeStylesheet has side effects on original doc. + compiled stylesheet no longer cached as with libxml2-2.9.9 it was + not updated after xdoc modification (part 3 of test 362). + (related to bug #1108) + + * src/targets/isapi/parser3isapi.C: +pa_strcat + + * src/: classes/memory.C, include/pa_memory.h, + targets/apache/mod_parser3_core.C, targets/isapi/parser3isapi.C: + PA_GC_GCOLLECT used + + * src/include/pa_memory.h: +PA_GC_COLLECT + + * src/targets/cgi/parser3.C: msvs support fixes + + * src/lib/gc/include/gc.h: more cleanup + + * src/: include/pa_threads.h, main/pa_threads.C: win32 fixes + + * src/: include/pa_http.h, main/pa_http.C, main/pa_request.C, + targets/cgi/parser3.C: $main:HTTPD.mode implemented + + * src/include/pa_config_includes.h: +HAVE_PTHREAD_H + + * configure.ac: pthread.h added to checked headers + + * src/classes/table.C: string stream is back :) + + * src/classes/memory.C: GC_generate_random_backtrace no longer + exists + + * src/main/pa_globals.C: GC_dont_gc replaced + + * src/lib/gc/include/gc.h: major cleanup, only used functions are + left to simplify adding new functions. depricated GC_dont_gc + replaced with GC_disable and GC_enable calls. + + * src/lib/cord/: cordxtra.c, include/cord.h: cleanup: + CORD_from_file* not used and thus removed + + * src/lib/gc/include/gc_allocator.h: minor cleanup + +2020-12-14 moko + + * src/classes/: curl.C, memory.C, table.C: every TLS should be + referenced elsewhere, or GC will collect it. + + * src/: include/pa_xml_io.h, main/pa_stylesheet_connection.C, + main/pa_xml_io.C: bugfix: TLS variables should be referenced + elsewhere, or GC will collect them (and we'll get GPF in + multithreaded enviroment). May be it can be also fixed by some + GC call, not sure. But this fix costs nothing (but hours of + debugging to find the issue :). + +2020-12-11 moko + + * configure.ac: gettid() check added + + * src/main/pa_threads.C: HAVE_GETTID used + + * src/include/pa_config_auto.h.in: +HAVE_GETTID + + * src/: include/pa_threads.h, main/pa_threads.C: now unified + version for isapi/cgi/apache + + * buildall: threads are now required. + + * src/: targets/apache/ApacheModuleParser3Core.vcproj, + targets/cgi/parser3.vcproj, targets/isapi/parser3isapi.vcproj, + main/main.vcproj: pa_threads.C moved to main + + * src/targets/: apache/pa_threads.C, cgi/pa_threads.C, + isapi/pa_threads.C: pa_threads.C moved to main + + * src/: main/Makefile.am, targets/cgi/Makefile.am, + targets/apache/Makefile.am: pa_threads.C moved to main + + * src/classes/xdoc.C: Stylesheet_connection_ptr changed a bit + + * src/: include/pa_stylesheet_connection.h, + main/pa_stylesheet_manager.C: Stylesheet_connection_ptr simplfied + and weird GPF in multithreaded httpd is gone + + * src/include/: pa_stylesheet_connection.h, + pa_sql_driver_manager.h: whitespace + + * src/main/pa_sql_driver_manager.C: timeout 60 sec -> 10 sec + + * src/: include/pa_sql_connection.h, main/pa_sql_driver_manager.C, + main/pa_stylesheet_manager.C: whitespace, warning war + + * src/: include/pa_threads.h, targets/apache/pa_threads.C, + targets/cgi/pa_threads.C, targets/isapi/pa_threads.C: + parser_multithreaded never used + + * src/main/pa_http.C: no ALARM in MULTITHREADED httpd server mode + +2020-12-10 moko + + * src/: include/pa_config_includes.h, include/pa_http.h, + main/pa_http.C, targets/cgi/parser3.C: initial support for + MULTITHREADED and PARALLEL httpd server modes + + * src/main/pa_globals.C: GC_java_finalization is depricated + +2020-12-09 moko + + * etc/auto.p.in: + @httpd-main + + * src/: include/pa_common.h, main/pa_request.C, + targets/cgi/pa_sapi_info.h: Range Requests (rfc7233) now really + work + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C: + slow file_read_binary no longer used, send_range added + +2020-12-08 moko + + * src/main/pa_request.C: >4Gb support + + * src/targets/cgi/parser3.C: msvc warning war + + * src/: include/pa_config_includes.h, main/pa_http.C, + main/pa_request.C: msvc warnings war + + * src/classes/image.C: warning war + + * src/classes/table.C: MSVC warning war + + * src/targets/cgi/parser3.C: msvc warnings war + + * src/targets/apache/mod_parser3_core.C: SYSTEM_CONFIG_FILE support + added + +2020-12-07 moko + + * configure.ac: SYSTEM_LOG_FILE no longer required as cheat used to + avoid logging beside system-wide auto.p + + * src/targets/cgi/parser3.C: SYSTEM_CONFIG_FILE used + + * configure, configure.ac, src/include/pa_config_auto.h.in: + configure options added: + + --with-system-cfg=FILE to specify system-wide auto.p + --with-system-log=FILE to specify system-wide parser3.log + + * Makefile.am: bin no longer exists + + * configure, configure.ac: auto.p moved to etc to simplify debian + package + + * buildall: auto.p and parser3.charsets moved to their default + location after install + + * etc/: Makefile.am, auto.p.in: auto.p moved to etc directory + + * aclocal.m4, configure: automake 1.15 -> 1.16.1 + + * src/targets/cgi/parser3.C: locate_config call returned to + original place as it requires pa_thread_request() under Windows + + * src/targets/cgi/parser3.C: renaming + +2020-12-06 moko + + * src/: main/pa_globals.C, targets/cgi/parser3.C: thread request + check added + +2020-12-04 moko + + * src/: classes/image.C, include/pa_common.h, main/pa_common.C, + main/pa_request.C: unified uint64_t lseek implemented to support + >4Gb files under x86, including Windows + +2020-12-02 moko + + * src/main/pa_common.C: minor bugfix: $.limit() should be checked + with max_file_size + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C: + support for processing files sized >4Gb on 32 bit planforms + + * tests/399.html: file moved + + * src/: include/pa_string.h, main/pa_string.C: long long -> int64_t + + * src/targets/cgi/pa_sapi_info.h: warning war + + * src/: main/pa_http.C, targets/isapi/parser3isapi.C: windows + warning war + +2020-12-01 moko + + * src/classes/image.C: mp4 extended size (>4Gb) support added + + * src/classes/image.C: for "size not found" exception to be shown + if size not found until eof + + * src/classes/image.C: long -> off_t (which is 64 bits even on 32 + bit linux) + + * src/classes/image.C: ^image::measure[] now supports mp4 (feature + #1188) + +2020-11-30 moko + + * src/classes/image.C: definitions moved closer to code + + * tests/: 395.bmp, 395.html, 396.html, 396.tiff, 395_dir/1.bmp, + 395_dir/2.tiff, 395_dir/3_VP8.webp, 395_dir/3_VP8L.webp, + 395_dir/3_VP8X.webp, results/395.processed, + results/396.processed: tests for ^image::measure[] .webp support + added, all image files moved into one directory (related to + feature #1188) + + * src/classes/image.C: ^image::measure[] now supports webp (feature + #1188) + +2020-11-29 moko + + * src/main/pa_request.C: CONF_OPTION added to unify @conf options + processing, unnessesary defines removed + +2020-11-24 moko + + * tests/results/: 099.processed, 100.processed, 205.processed, + 309.processed, 310.processed: Content-Disposition: inline + returned + + * tests/: 099.html, 237.html, 403.html, outputs/403.processed, + results/auto.p: test for $response:body[ $.file[] $.name[] + ] added (related to bug #1204) + + * src/main/pa_request.C: $response:body[ $file[.ext] $.name[] + ] supported to avoid Content-Disposition: inline; + filename=".ext" but still set Content-Type for ext (related + to bug #1204) + +2020-11-22 moko + + * src/: include/pa_common.h, main/pa_common.C, main/pa_request.C, + types/pa_vfile.C: pa_filename added to avoid useless rsplit + + * src/main/pa_request.C: content_disposition_inline returned. + +2020-11-17 moko + + * src/main/pa_request.C: empty main method name support + + * src/: main/pa_common.C, targets/cgi/parser3.C: httpd + config_handler added, stdout flush added. + +2020-11-16 moko + + * src/targets/cgi/parser3.C: filespec_4log added, pa_strcat used. + + * tests/results/: 099.processed, 205.processed, 237.processed, + 309.processed, 310.processed: Content-Disposition: inline is not + required and should not contain filename="" + + * src/: include/pa_common.h, main/pa_common.C, main/pa_exception.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: pa_strcat implemented and used + +2020-11-14 moko + + * src/targets/cgi/parser3.C: spelling + + * src/targets/cgi/parser3.C: renaming + + * src/targets/cgi/parser3.C: args_skip removed, locate_config + relocated + + * src/targets/cgi/parser3.C: execution_canceled was for sigpipe + before request processing, which is weired + +2020-11-13 moko + + * src/main/pa_http.C: pa_recv added with timeout support, thus read + copied in httpd. + +2020-11-12 moko + + * src/main/pa_http.C: ALARM code unified to be used in httpd + + * src/: include/pa_request.h, main/pa_request.C, + targets/cgi/pa_sapi_info.h: pa_httpd_timeout added + + * src/main/pa_http.C: URI validation added + + * src/targets/cgi/parser3.C: filespec_to_process now variable, + can't be empty but can be null. httpd-main is now main method + name for httpd mode + +2020-11-11 moko + + * src/main/pa_request.C: path_translated can be null in httpd mode + + * src/: classes/curl.C, classes/file.C, classes/hashfile.C, + classes/image.C, classes/op.C, classes/string.C, classes/table.C, + classes/xdoc.C, include/pa_request.h, main/execute.C, + main/pa_request.C: r.absolute -> r.full_disk_path + + * src/targets/cgi/parser3.C: if filename to process is not + specified, auto.p should be present. + +2020-11-03 moko + + * src/: classes/op.C, include/pa_request.h: unused argument removed + + * src/main/pa_request.C: content_disposition_inline is the default, + not required. + +2020-10-29 moko + + * src/: classes/op.C, include/pa_request.h, main/pa_request.C: + ^use[file; $.main(true) ] implemented for auto.p processing and + path_translated changing to correct relative files path + calculation in httpd mode + + * src/: include/pa_request.h, main/pa_request.C: + fail_on_read_problem removed, as it allways true, as if should + be. + + * src/: include/pa_request.h, main/pa_request.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: clearing config_filespec when + config was not found, thus flag not required and removed. + +2020-10-28 moko + + * tests/: 402.html, results/402.processed: error reporting test + + * src/main/execute.C: better error reporting when + $result[^hash::create[]] in @main. + + * src/main/: execute.C, pa_request.C: frame.result() should be used + + minor optimization + + * src/: include/pa_request.h, main/execute.C, main/pa_request.C, + main/pa_xml_io.C: execute_*_method simplified and unified + +2020-10-27 moko + + * tests/: 306.html, results/306.processed: a bit more testing. :) + + * src/: main/execute.C, types/pa_value.h, types/pa_vclass.C, + types/pa_vclass.h, types/pa_vconsole.h, types/pa_vcookie.C, + types/pa_vdate.C, types/pa_venv.C, types/pa_vform.C, + types/pa_vhash.h, types/pa_vimage.C, types/pa_vmemcached.C, + types/pa_vmethod_frame.h, types/pa_vobject.C, + types/pa_vrequest.C, types/pa_vresponse.C, types/pa_vtable.C, + types/pa_vxnode.C: optimization: PUT_ELEMENT_REPLACED_ELEMENT no + longer used in object-prototype mode + + * src/: include/pa_sapi.h, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C, types/pa_venv.C, types/pa_venv.h, + types/pa_vform.C, types/pa_vform.h: + $env:name[value] and + $form:name[value] features + +2020-10-18 moko + + * src/targets/cgi/Makefile.am: + pa_sapi_info.h + +2020-10-15 moko + + * src/main/pa_http.C: url no longer needed as + ALTER_EXCEPTION_SOURCE is used + + * src/: classes/curl.C, include/pa_common.h, main/pa_common.C, + main/pa_http.C: check_file_size filespec is now optional + + * src/: classes/curl.C, include/pa_exception.h, + main/pa_exception.C, main/pa_http.C: ALTER_EXCEPTION_SOURCE and + ALTER_EXCEPTION_COMMENT added for better error reporting + + * tests/: 379-curl.html, 379.html, results/223-curl.processed, + results/346-curl.processed, results/379-curl.processed, + results/379.processed: test results updated as load now provides + better error reporting + curl responses updated + +2020-10-14 moko + + * src/: classes/date.C, include/pa_string.h, main/pa_http.C, + main/pa_string.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C: pa_atoi / pa_atoui / pa_atoul usage + checked. 10 is now default base, no hex autodetect by default + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + connection socket closing in destructor + accept exception + handling + + * src/targets/cgi/parser3.C: warning war + + * src/: include/pa_http.h, include/pa_sapi.h, main/pa_http.C, + main/pa_request.C, targets/apache/mod_parser3_core.C, + targets/cgi/pa_sapi_info.h, targets/cgi/parser3.C: global try + exception handling unified + +2020-10-13 moko + + * src/targets/isapi/parser3isapi.C: reverted to atoi to avoid hex + autodetection + + * src/targets/apache/mod_parser3_core.C: reverted to atoi + + * src/: main/pa_http.C, targets/cgi/pa_sapi_info.h: warning war + + * src/main/pa_http.C: warning war + +2020-10-12 moko + + * src/: main/pa_request.C, targets/apache/mod_parser3_core.C, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C: excaption in + unhandled exception code optimization + + * src/targets/cgi/parser3.C: request_info now global variable + + * src/main/pa_http.C: http_read_response moved to HTTP_response + class + + * src/: include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: read_post implemented + + * src/: include/pa_http.h, main/pa_http.C, targets/cgi/parser3.C: + [host:]port syntax support in httpd mode + + * src/: include/pa_http.h, targets/cgi/pa_sapi_info.h, + targets/cgi/parser3.C: populate_env added + + * src/include/pa_hash.h: to make get(char *) compiling in + HashStringString + +2020-10-10 moko + + * src/: classes/curl.C, include/pa_http.h, main/pa_http.C, + targets/cgi/pa_sapi_info.h: ResponseHeaders -> HTTP_Headers + + * src/: include/pa_http.h, include/pa_request_info.h, + main/pa_http.C, main/pa_string.C, + targets/apache/mod_parser3_core.C, targets/cgi/pa_sapi_info.h, + targets/cgi/parser3.C, targets/isapi/parser3isapi.C, + types/pa_vrequest.C: initial httpd mode implementation + +2020-10-04 moko + + * src/targets/cgi/parser3.C: options together + +2020-09-30 moko + + * src/main/pa_http.C: renamed + +2020-08-14 moko + + * configure, configure.ac, parser3.sln, src/lib/Makefile.am, + src/targets/cgi/Makefile.am: no httpd as separate library + +2020-08-13 moko + + * src/targets/cgi/parser3.C: SAPI::die used in exception in + unhandled exception handler to report 500 instead of 200 it was + before. + + * src/targets/apache/mod_parser3_core.C: minor cleanup + + * src/: include/pa_sapi.h, main/untaint.C, + targets/apache/mod_parser3_core.C, targets/cgi/parser3.C, + targets/isapi/parser3isapi.C: SAPI::abort was used only once, + thus replaced with SAPI::die and removed + + * src/targets/: apache/mod_parser3_core.C, isapi/parser3isapi.C, + cgi/parser3.C: whitespace + + * src/targets/cgi/parser3.C: locate_config() extracted, whitespace. + +2020-08-12 moko + + * src/targets/cgi/parser3.C: duplicate info in signal logging + removed, whitespace was: SIGPIPE received while executing code. + uri=/_tmp.html, method=GET, cl=0 [uri=/_tmp.html, method=GET, + cl=0] + + * parser3.sln: + httpd.vcproj + +2020-08-11 moko + + * src/targets/cgi/Makefile.am: +libhttpd + + * configure.ac, src/lib/Makefile.am: +libhttpd + +2020-07-13 moko + + * tests/: 401.html, results/401.processed: test for hash key does + not keep language, but tainted in foreach. + +2020-07-01 moko + + * tests/: 235.html, results/235.processed: test result updated as + messages before attachments implemented (feature #1176) + +2020-06-27 moko + + * tests/: 400.html, results/400.processed: test updated to check + ^return{code} + + * src/classes/op.C: bugfix: ^return{code} or ^return(expre+ssion) + fixed + +2020-06-26 moko + + * tests/: 400.html, results/400.processed: test for OPTIMIZE_RESULT + added (related to https://www.parser.ru/forum/?id=85319) + + * src/types/pa_vmethod_frame.h: bugfix: OPTIMIZE_RESULT failed, + when $result assignment was last statement in the method + (https://www.parser.ru/forum/?id=85319) + 2020-05-23 moko * src/: classes/mail.C, types/pa_vmail.C, types/pa_vmail.h: @@ -508,8 +1406,6 @@ 2018-01-11 moko - * bin/auto.p.dist.in: sqlite3 -> libsqlite3 - * src/classes/xdoc.C: xmlReadMemory/xmlReadFile now used with XML_PARSE_HUGE option passed by default (implements feature #1181) @@ -3474,10 +4370,6 @@ main/pa_stylesheet_connection.C: forgotten to be replaced XmlException is now replaced (once again closes issue #938) -2013-10-19 misha - - * bin/auto.p.dist.in: - more mime-types are added - 2013-10-18 moko * buildall: disable clock_gettime detection to avoid librt linking @@ -3776,8 +4668,6 @@ * src/types/pa_vmemcached.C: LT_MODULE_EXT used - * bin/auto.p.dist.in: libpq.so -> libpq. - * src/classes/curl.C: LT_MODULE_EXT used * src/include/pa_config_fixed.h: LT_MODULE_EXT defined @@ -3896,10 +4786,6 @@ 2013-07-07 moko - * bin/auto.p.dist.in: windows-1251 commented to remove auto.p - dependense from $charsetsdir directory existance and content (and - UTF-8 is default allready) - * AUTHORS: + misha + moko. :) 2013-07-06 moko @@ -4349,8 +5235,6 @@ * src/targets/apache/Makefile.am: updated for libtool usage - * bin/auto.p.dist.in: .cfg removed from charset names. - * buildall-without-xml: --with-included-ltdl added * buildall-without-xml: sync with buildall-with-xml @@ -4444,10 +5328,6 @@ debian/patches/101_pcre.patch - local copy of pcre_internal.h extracts now used old trash removed - * bin/auto.p.dist.in: all charsets are listed, utf-8 by default, - rare charsets/drivers are commented, sql driver quessing removed - (debian/patches/103_auto_p.patch) - * etc/parser3.charsets/Makefile.am: charsets now in share (debian/patches/104_automake.patch) + all charsets are copied @@ -9009,8 +9889,6 @@ 2007-02-20 misha - * bin/auto.p.dist.in: - added lines for sqlite - * configure.in: - added some strings for sqlite detection 2007-02-19 misha @@ -9270,11 +10148,6 @@ * src/classes/file.C: - empty args in file::exec removed now -2006-09-11 misha - - * bin/auto.p.dist.in: - 2 errors were fixed - table::set was - replaced to table::create - some changes in text/code formatting - 2006-09-03 paf * src/classes/file.C: proper tainting of @@ -10217,12 +11090,6 @@ 2005-08-08 paf - * bin/auto.p.dist.in: merged . apache bad 404 handling workaround - integrated - - * bin/auto.p.dist.in: . apache bad 404 handling workaround - integrated - * src/main/: compile.tab.C, compile.y, compile_tools.C, compile_tools.h: merged + optimized constants in expressions vstring->vdouble + optimized ^call(vdouble), no junction @@ -11554,7 +12421,7 @@ main/main.vcproj, main/pa_globals.C, main/pa_xml_io.C: change: .xsl.stamp now not used, introducing dependencies timestamp check - * configure.in, bin/auto.p.dist.in: auto.p: @conf made relative + * configure.in: auto.p: @conf made relative 2004-02-12 paf @@ -12113,8 +12980,6 @@ * src/types/: pa_value.h, pa_vfile.h: more C++ compatible [HP C++ failed] - * bin/auto.p.dist.in: colno - 2003-11-10 paf * src/types/pa_vconsole.h: flush @@ -16272,13 +17137,11 @@ * src/main/pa_string.C: string.replace fixed [were missing words on pieces boundaries] - * bin/auto.p.dist.in: strange \n - * configure, configure.in: .so now detected [can be .sl on hpux, .dll on cygwin, .so in other cases) - * configure, configure.in, bin/auto.p.dist.in: .so now detected - [can be .sl on hpux, .dll on cygwin, .so in other cases) + * configure, configure.in: .so now detected [can be .sl on hpux, + .dll on cygwin, .so in other cases) * operators.txt, src/classes/hash.C, src/classes/table.C, src/include/pa_globals.h, src/main/pa_globals.C: table.sql @@ -16479,8 +17342,7 @@ * src/: main/execute.C, types/pa_vobject.h: fixed virtual calls - * bin/auto.p.dist.in, src/targets/cgi/parser3.C, - src/types/pa_vfile.C, src/types/pa_vmail.C: + * src/: targets/cgi/parser3.C, types/pa_vfile.C, types/pa_vmail.C: $mail.received.file.value.content-type fixed 2002-08-20 paf @@ -16677,10 +17539,6 @@ VAliased [redundant], moved $CLASS to VObject only [parser class instance] - * bin/auto.p.dist.in: more like in dist on parser.ru - - * bin/auto.p.dist.in: fixed sendmail default comment - * src/main/pa_request.C: $response:body[file] content-type check fixed [were bad when content-type is hash] @@ -16764,8 +17622,6 @@ * src/main/pa_request.C: case insensitive mime_type_of - * bin/auto.p.dist.in: jpeg - 2002-08-05 paf * src/types/pa_vxnode.C: xnode.childNodes now 0... [were 1...] @@ -16792,8 +17648,6 @@ * configure, configure.in, src/include/pa_version.h: release 3_0_0005 - * bin/auto.p.dist.in: unhandled_exception comments - * src/types/: pa_vclass.h, pa_vform.C, pa_vobject.h: opera multipart post fixed @@ -17020,9 +17874,9 @@ * src/main/pa_request.C: configure_admin forced if no @conf - * operators.txt, bin/auto.p.dist.in, src/classes/math.C, - src/types/pa_vmail.C: ^math:crypt updated to generate random salt - when needed and to call system crypt() if not $apr1$ prefix + * operators.txt, src/classes/math.C, src/types/pa_vmail.C: + ^math:crypt updated to generate random salt when needed and to + call system crypt() if not $apr1$ prefix 2002-06-24 paf @@ -17101,14 +17955,13 @@ 2002-06-20 paf - * INSTALL, configure, configure.in, operators.txt, bin/Makefile.am, - bin/auto.p.dist.in, src/classes/file.C, src/classes/op.C, - src/doc/doxygen.cfg, src/include/pa_globals.h, - src/include/pa_request.h, src/main/execute.C, - src/main/pa_request.C, src/targets/cgi/parser3.C, - src/targets/isapi/parser3isapi.C, src/types/pa_vmethod_frame.h: - marged latest HEAD updates, mainly file:justname&co & - @auto/conf[filespec + * INSTALL, configure, configure.in, operators.txt, + src/classes/file.C, src/classes/op.C, src/doc/doxygen.cfg, + src/include/pa_globals.h, src/include/pa_request.h, + src/main/execute.C, src/main/pa_request.C, + src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C, + src/types/pa_vmethod_frame.h: marged latest HEAD updates, mainly + file:justname&co & @auto/conf[filespec * operators.txt, src/classes/file.C: !^file:dirname[/a/some.tar.gz]=/a @@ -17121,12 +17974,9 @@ main/pa_request.C, types/pa_vmethod_frame.h: introducing @conf/auto[filespec] - * bin/auto.p.dist.in: - * configure: parser3.conf renamed to auto.p autoconf changes - * INSTALL, configure.in, operators.txt, bin/Makefile.am, - bin/auto.p.dist.in, src/doc/doxygen.cfg, + * INSTALL, configure.in, operators.txt, src/doc/doxygen.cfg, src/include/pa_globals.h, src/targets/cgi/parser3.C, src/targets/isapi/parser3isapi.C: parser3.conf renamed to auto.p @@ -17137,7 +17987,7 @@ * INSTALL: reflected .conf.dist dir change - * Makefile.am, configure, configure.in, bin/Makefile.am, + * Makefile.am, configure, configure.in, etc/parser3.charsets/Makefile.am: parser3.conf.dist moved to bin, .in & *.am updated @@ -17145,8 +17995,7 @@ * src/classes/file.C: strcasecmp - * bin/Makefile.am, etc/Makefile.am: bin/parser3.conf.dist [moved - from etc + * etc/Makefile.am: bin/parser3.conf.dist [moved from etc * src/classes/file.C: ^file::exec[script;$.bad error case insensitive check now