Version in base suite: 3.2.0-1 Base version: libapache2-mod-rivet_3.2.0-1 Target version: libapache2-mod-rivet_3.2.1-1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/liba/libapache2-mod-rivet/libapache2-mod-rivet_3.2.0-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/liba/libapache2-mod-rivet/libapache2-mod-rivet_3.2.1-1.dsc ChangeLog | 123 ++- Makefile.in | 39 - README.md | 2 VERSION | 2 aclocal.m4 | 48 - configure | 400 ++--------- configure.ac | 9 debian/autoreconf.after | 828 +++++++++++------------ debian/autoreconf.before | 778 ++++++++++----------- debian/changelog | 10 debian/rules | 2 doc/Makefile.in | 4 doc/html/abort_code.html | 4 doc/html/abort_page.html | 4 doc/html/apache_log_error.html | 2 doc/html/apache_table.html | 2 doc/html/asciiglyphs.html | 4 doc/html/calendar.html | 4 doc/html/calendar_package.html | 2 doc/html/catch.html | 2 doc/html/clock_to_rfc.html | 2 doc/html/cmake.html | 2 doc/html/commands.html | 2 doc/html/cookie.html | 2 doc/html/debug.html | 20 doc/html/decode.html | 4 doc/html/dio.html | 2 doc/html/dio_package.html | 6 doc/html/diodisplay.html | 2 doc/html/diodisplay_package.html | 12 doc/html/directives.html | 4 doc/html/encode.html | 4 doc/html/entities.html | 2 doc/html/env.html | 17 doc/html/escape_sgml_chars.html | 14 doc/html/escape_shell_command.html | 2 doc/html/escape_string.html | 2 doc/html/examples.html | 4 doc/html/exit.html | 2 doc/html/fb.html | 8 doc/html/form.html | 2 doc/html/form_package.html | 74 +- doc/html/formbroker.html | 2 doc/html/headers.html | 2 doc/html/help.html | 10 doc/html/html.html | 2 doc/html/html_calendar.html | 4 doc/html/http_accept.html | 4 doc/html/import_keyvalue_pairs.html | 2 doc/html/include.html | 2 doc/html/index.html | 24 doc/html/inspect.html | 2 doc/html/installation.html | 11 doc/html/internals.html | 56 - doc/html/lassign_array.html | 2 doc/html/lazybridge.html | 78 +- doc/html/lempty.html | 4 doc/html/lmatch.html | 4 doc/html/load_cookies.html | 2 doc/html/load_env.html | 2 doc/html/load_headers.html | 2 doc/html/load_response.html | 2 doc/html/lremove.html | 2 doc/html/makeurl.html | 2 doc/html/no_body.html | 2 doc/html/parray.html | 2 doc/html/parse.html | 2 doc/html/processing.html | 8 doc/html/raw_post.html | 2 doc/html/read_file.html | 4 doc/html/redirect.html | 2 doc/html/request.html | 14 doc/html/session_package.html | 14 doc/html/shorthand.html | 4 doc/html/tcl_packages.html | 2 doc/html/thread_id.html | 14 doc/html/toglyphs.html | 4 doc/html/try.html | 4 doc/html/unescape_string.html | 2 doc/html/upload.html | 2 doc/html/url_script.html | 2 doc/html/var.html | 2 doc/html/wrap.html | 4 doc/html/wrapline.html | 4 doc/html/xml.html | 4 doc/html/xml_calendar.html | 6 doc/rivet.xml | 2 doc/xml/commands.xml | 135 +-- doc/xml/form.xml | 18 doc/xml/installation.xml | 12 doc/xml/internals.xml | 46 - doc/xml/lazybridge.xml | 79 +- doc/xml/processing.xml | 4 rivet/packages/dio/aida.tcl | 4 rivet/packages/dio/dio.tcl | 12 rivet/packages/dio/dio_Mysql.tcl | 42 + rivet/packages/dio/dio_Postgresql.tcl | 3 rivet/packages/dio/dio_Sqlite.tcl | 7 rivet/packages/dio/sql.tcl | 1 rivet/packages/form/form.tcl | 2 rivet/packages/form/form2.tcl | 31 rivet/packages/form/form22.tcl | 621 +++++++++++++++++ rivet/packages/formbroker/formbroker.tcl | 55 - rivet/packages/session/session-class.tcl | 3 rivet/packages/session/session-create-mysql.sql | 6 rivet/packages/session/session-create-oracle.sql | 12 rivet/packages/session/session-create-sqlite.sql | 6 src/Makefile.in | 4 src/mod_rivet_ng/TclWebapache.c | 475 +++++++++---- src/mod_rivet_ng/mod_rivet.c | 31 src/mod_rivet_ng/mod_rivet.h | 4 src/mod_rivet_ng/mod_rivet_common.c | 3 src/mod_rivet_ng/mod_rivet_generator.c | 10 src/mod_rivet_ng/rivetCore.c | 19 src/mod_rivet_ng/rivetInspect.c | 135 +-- src/mod_rivet_ng/rivet_prefork_mpm.c | 3 src/mod_rivet_ng/rivet_types.h | 2 src/rivet.h | 3 tests/apachetest/template.conf.1.tcl | 2 tests/env.rvt | 22 tests/env.test | 49 + tests/env_methods.tcl | 15 tests/headers.test | 5 tests/rivet.test | 19 124 files changed, 2773 insertions(+), 1912 deletions(-) diff -Nru libapache2-mod-rivet-3.2.0/ChangeLog libapache2-mod-rivet-3.2.1/ChangeLog --- libapache2-mod-rivet-3.2.0/ChangeLog 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/ChangeLog 2021-11-13 11:12:30.000000000 +0000 @@ -1,7 +1,64 @@ +2021-11-13 Massimo Manghi + * Changelog: release as Rivet 3.2.1 + +2021-11-06 Massimo Manghi + * configure.ac: remove duplicated call of macro AM_AUTOMAKE_INIT. Add macro AC_CONFIG_SRCDIR + * rivet/packages/form*.tcl: Update copyright lines, removed old svn symbols + * doc/xml/form.xml: documenting new switch -emit + +2021-11-05 Massimo Manghi + * doc/xml/lazybridge.xml: update examples with latest modifications done to the lazy bridge + +2021-11-04 Massimo Manghi + * doc/xml/installation.xml: documenting new configure switch --enable-rivet-debug-build + +2021-11-03 Massimo Manghi + * src/mod_rivet_ng/TclWebapache.c: removed unnecessary call to TclWeb_InitEnvVars + when loading input headers + * tests/env.test: cleaning up http tokens resources + +2021-11-01 Massimo Manghi + * src/mod_rivet_ng/TclWebapache.c: expanded comments to newly + introduced functions + +2021-10-25 Massimo Manghi + * src/mod_rivet_ng/TclWebapache.c: extended comments + * src/rivet.h: new macro MINSTRLEN + +2021-10-20 Massimo Manghi + * src/mod_rivet_ng/Tclwebapache.c: new environment variable handling. + Command ::rivet::env doesn't necessarily trigger the whole enviroment load + into request_rec, it tries to resolve a variable incrementally. Need + to recommend the usage of ::rivet::env instead of ::rivet::load_env + * tests/env.rvt: adding new tests to environment variable resolution + +2021-09-06 Massimo Manghi + * rivet/packages/session/session-create-*.sql: making cache fields larger + +2021-07-30 Massimo Manghi + * src/mod_rivet_ng/TclWebapache.c: integrating the current scant Tcl error info + returned by the various ::rivet::upload subcommands + * rivet/packages/dio/: Removing references to subversion's tags + +2021-04-13 Massimo Manghi + * src/mod_rivet_ng/rivetInspect.c: add server current loglevel. Removed + unneeded ref count management in the server array construction + +2021-03-07 Massimo Manghi + * VERSION: bumped version as 3.2.1 + * src/mod_rivet_ng/mod_rivet.c: more linear determination of the bridge name + * rivet/packages/formbroker.tcl: introduced key maxlength + +2020-11-19 Massimo Manghi + * rivet/packages/dio/dio.tcl,dio_Mysql.tcl: adding support for + connector specific client arguments + * rivet/packages/form/form22.tcl: New form 2.2 package can be + configured to return HTML code instead of printing it to stdout + 2020-11-02 Massimo Manghi - * doc/xml/directives.xml: SingleThreadExit entry re-elaborated - * tests/runtest.tcl: Document new command line options - * README: Removed obsolete warning about scgi scripts + * doc/xml/directives.xml: SingleThreadExit entry re-elaborated + * tests/runtest.tcl: Document new command line options + * README: Removed obsolete warning about scgi scripts 2020-10-04 Massimo Manghi * src/mod_rivet_ng/mod_rivet.c: forcing variable assignment in condition @@ -38,58 +95,58 @@ * test/apachetest/apachetest.tcl,test/runtests.tcl: add support for testing with various MPMs and bridges 2020-02-03 Massimo Manghi - * src/request/: Update obsolete copyright statements - * src/mod_rivet_ng/rivetCore.c: update comments to upload command - * tests: changed upload file test + * src/request/: Update obsolete copyright statements + * src/mod_rivet_ng/rivetCore.c: update comments to upload command + * tests: changed upload file test 2020-04-02 Massimo Manghi - * doc/xml/formbroker.xml: fixed examples - * src/mod_rivet_ng/rivet_lazy_mpm.c: resolved access to shared counter - that was causing segfaults when child process was terminated + * doc/xml/formbroker.xml: fixed examples + * src/mod_rivet_ng/rivet_lazy_mpm.c: resolved access to shared counter + that was causing segfaults when child process was terminated 2020-01-19 Massimo Manghi - * doc/xml/commands.xml: remove entry for command incr0 (dropped in 3.0) + * doc/xml/commands.xml: remove entry for command incr0 (dropped in 3.0) 2019-12-30 Massimo Manghi - * src/mod_rivet_ng/rivetCore.c: fixed bug in 'upload filename' that - caused segfaults instead of Tcl errors when called without arguments - * src/request/: Adding latest Copyright statements to files in this - directory - * tests/upload.rvt,upload.test: revised upload tests (need expansion - to test multiple uploads) + * src/mod_rivet_ng/rivetCore.c: fixed bug in 'upload filename' that + caused segfaults instead of Tcl errors when called without arguments + * src/request/: Adding latest Copyright statements to files in this + directory + * tests/upload.rvt,upload.test: revised upload tests (need expansion + to test multiple uploads) 2019-12-12 Massimo Manghi - * src/mod_rivet_ng/apache_config.c: copying also upload_files_to_var in - Rivet_MergeConfig + * src/mod_rivet_ng/apache_config.c: copying also upload_files_to_var in + Rivet_MergeConfig 2019-12-06 Massimo Manghi - * src/mod_rivet_ng/rivetCore.c: expanded error info data in Rivet_Upload - * doc/rivet.css: new color scheme for docbook manual + * src/mod_rivet_ng/rivetCore.c: expanded error info data in Rivet_Upload + * doc/rivet.css: new color scheme for docbook manual 2019-12-04 Massimo Manghi - * src/mod_rivet_ng/rivetCore.c: new branch uploadcmdfix with improved - argument checking in Rivet_Upload that was the cause of random crashes + * src/mod_rivet_ng/rivetCore.c: new branch uploadcmdfix with improved + argument checking in Rivet_Upload that was the cause of random crashes 2019-11-29 Brice Hamon - * src/mod_rivet_ng/mod_rivet_cache.h: added RivetCache_DeleteEntry - * src/mod_rivet_ng/mod_rivet_cache.c: - * src/mod_rivet_ng/rivetCore.c: fixed crash when rvt file not readable + * src/mod_rivet_ng/mod_rivet_cache.h: added RivetCache_DeleteEntry + * src/mod_rivet_ng/mod_rivet_cache.c: + * src/mod_rivet_ng/rivetCore.c: fixed crash when rvt file not readable 2019-10-13 Massimo Manghi - * doc/xml/directives.xml: configuration directives table expanded - * doc/examples/ + * doc/xml/directives.xml: configuration directives table expanded + * doc/examples/ 2019-09-30 Massimo Manghi - * src/mod_rivet_ng/rivetCore.c: revised argument checking + * src/mod_rivet_ng/rivetCore.c: revised argument checking 2019-09-29 Massimo Manghi - * doc/xml/commands.xml: Completed manual page for command ::rivet::thread_id - * src/mod_rivet_ng/rivetCore.c: Rivet_GetThreadId rewritten. Now the - command accepts an optional argument to select decimal or hexadecimal (default) - output + * doc/xml/commands.xml: Completed manual page for command ::rivet::thread_id + * src/mod_rivet_ng/rivetCore.c: Rivet_GetThreadId rewritten. Now the + command accepts an optional argument to select decimal or hexadecimal (default) + output 2019-08-05 Massimo Manghi - * doc/xml/directives.xml: Documenting SingleThreadExit directive + * doc/xml/directives.xml: Documenting SingleThreadExit directive 2019-07-27 Massimo Manghi * doc/xml/commands.xml,src/mod_rivet_ng/rivetCore.c: Add ::rivet::thread_id diff -Nru libapache2-mod-rivet-3.2.0/Makefile.in libapache2-mod-rivet-3.2.1/Makefile.in --- libapache2-mod-rivet-3.2.0/Makefile.in 2020-11-02 23:39:11.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/Makefile.in 2021-11-08 08:52:10.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -150,8 +150,8 @@ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - config.h.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -687,10 +687,6 @@ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -733,8 +729,6 @@ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -913,19 +907,18 @@ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip dist-zstd distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-local distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-local + dist-xz dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-libtool distclean-local distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-data-local install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-local .PRECIOUS: Makefile diff -Nru libapache2-mod-rivet-3.2.0/README.md libapache2-mod-rivet-3.2.1/README.md --- libapache2-mod-rivet-3.2.0/README.md 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/README.md 2021-11-06 16:48:26.000000000 +0000 @@ -19,4 +19,4 @@ ## RIVET NAMESPACE - - The Rivet command set was moved into the ::rivet namespace and each command should now be fully qualified. By default the command set (exceptions are ::rivet::try and ::rivet::catch) is placed in the namespace export list, so you can import it into the global namespace for compatibility with Rivet version < 2.0. This is a deprecated option though and it could be removed in future releases + - The Rivet command set was moved into the ::rivet namespace and each command should now be fully qualified. By default the command set (exceptions are ::rivet::try and ::rivet::catch) is placed in the namespace export list, so you can import it into the global namespace for compatibility with Rivet version < 2.0. This is a deprecated option though and it could be removed in future releases. diff -Nru libapache2-mod-rivet-3.2.0/VERSION libapache2-mod-rivet-3.2.1/VERSION --- libapache2-mod-rivet-3.2.0/VERSION 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/VERSION 2021-11-06 16:48:26.000000000 +0000 @@ -1 +1 @@ -3.2.0 +3.2.1 diff -Nru libapache2-mod-rivet-3.2.0/aclocal.m4 libapache2-mod-rivet-3.2.1/aclocal.m4 --- libapache2-mod-rivet-3.2.0/aclocal.m4 2020-11-02 23:39:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/aclocal.m4 2021-11-08 08:52:08.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -701,7 +701,7 @@ m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -716,7 +716,7 @@ [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.2], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -732,14 +732,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.2])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -791,7 +791,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -822,7 +822,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1013,7 +1013,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1052,9 +1052,7 @@ done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE="gmake" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -1081,7 +1079,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1278,7 +1276,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1299,7 +1297,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1320,7 +1318,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1363,7 +1361,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1402,7 +1400,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1431,7 +1429,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1478,7 +1476,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1497,7 +1495,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1578,7 +1576,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1638,7 +1636,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1666,7 +1664,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1685,7 +1683,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru libapache2-mod-rivet-3.2.0/configure libapache2-mod-rivet-3.2.1/configure --- libapache2-mod-rivet-3.2.0/configure 2020-11-02 23:39:10.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/configure 2021-11-08 08:52:09.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Rivet 3.2.0. +# Generated by GNU Autoconf 2.69 for Rivet 3.2.1. # # Report bugs to . # @@ -590,11 +590,12 @@ # Identity of this package. PACKAGE_NAME='Rivet' PACKAGE_TARNAME='rivet' -PACKAGE_VERSION='3.2.0' -PACKAGE_STRING='Rivet 3.2.0' +PACKAGE_VERSION='3.2.1' +PACKAGE_STRING='Rivet 3.2.1' PACKAGE_BUGREPORT='rivet-dev@tcl.apache.org' PACKAGE_URL='' +ac_unique_file="src/rivet.h" # Factoring default headers for most tests. ac_includes_default="\ #include @@ -835,8 +836,8 @@ ac_subst_files='' ac_user_opts=' enable_option_checking -enable_silent_rules enable_static +enable_silent_rules with_tcl enable_dependency_tracking enable_shared @@ -1437,7 +1438,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Rivet 3.2.0 to adapt to many kinds of systems. +\`configure' configures Rivet 3.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1508,7 +1509,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Rivet 3.2.0:";; + short | recursive ) echo "Configuration of Rivet 3.2.1:";; esac cat <<\_ACEOF @@ -1516,9 +1517,9 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-static[=PKGS] build static libraries [default=no] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") - --enable-static[=PKGS] build static libraries [default=no] --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking @@ -1651,7 +1652,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Rivet configure 3.2.0 +Rivet configure 3.2.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2074,7 +2075,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Rivet $as_me 3.2.0, which was +It was created by Rivet $as_me 3.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2560,6 +2561,63 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. +ac_config_headers="$ac_config_headers config.h" + + + +# AX_PREFIX_CONFIG_H is a macro taken from the autotools macro archive. +# The typical configure generated 'config.h' can be renamed and +# preprocessor symbols in it can be prefixed in order to avoid clashes +# with Apache's config.h +# +# As of today (27 Sept 2008) this macro is not part of autotools and +# it's in the 'm4' directory +# + + +ac_config_commands="$ac_config_commands rivet_config.h" + + +#-------------------------------------------------------------------- +# Call TEA_INIT as the first TEA_ macro to set up initial vars. +# This will define a ${TEA_PLATFORM} variable == "unix" or "windows" +# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. +#-------------------------------------------------------------------- + +# +# Init automake stuff +# +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=no +fi + + + + + + + + + am__api_version='1.16' # Find a good install program. We prefer a C program (faster), @@ -3046,7 +3104,7 @@ # Define the identity of the package. PACKAGE='rivet' - VERSION='3.2.0' + VERSION='3.2.1' cat >>confdefs.h <<_ACEOF @@ -3139,177 +3197,13 @@ fi fi -ac_config_headers="$ac_config_headers config.h" - - - -# AX_PREFIX_CONFIG_H is a macro taken from the autotools macro archive. -# The typical configure generated 'config.h' can be renamed and -# preprocessor symbols in it can be prefixed in order to avoid clashes -# with Apache's config.h -# -# As of today (27 Sept 2008) this macro is not part of autotools and -# it's in the 'm4' directory -# +# establishing a landmark in the directory hierarchy as per +# autotools design. This is what AC_CONFIG_SRCDIR is meant to do +# I arbitrarily choose src/rivet.h as landmark, moving this file +# to a different directory or deleting it implies this line has to +# change -ac_config_commands="$ac_config_commands rivet_config.h" - - -#-------------------------------------------------------------------- -# Call TEA_INIT as the first TEA_ macro to set up initial vars. -# This will define a ${TEA_PLATFORM} variable == "unix" or "windows" -# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. -#-------------------------------------------------------------------- - -# -# Init automake stuff -# -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=no -fi - - - - - - - - - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='rivet' - VERSION='3.2.0' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi #-------------------------------------------------------------------- @@ -4668,134 +4562,6 @@ fi -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -17929,14 +17695,6 @@ am__EXEEXT_FALSE= fi - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -17945,10 +17703,6 @@ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS="" @@ -18348,7 +18102,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Rivet $as_me 3.2.0, which was +This file was extended by Rivet $as_me 3.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18414,7 +18168,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Rivet config.status 3.2.0 +Rivet config.status 3.2.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -19604,9 +19358,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } diff -Nru libapache2-mod-rivet-3.2.0/configure.ac libapache2-mod-rivet-3.2.1/configure.ac --- libapache2-mod-rivet-3.2.0/configure.ac 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/configure.ac 2021-11-06 16:48:26.000000000 +0000 @@ -29,7 +29,6 @@ CONFIGURE_CMD="$0 $*" AC_CONFIG_AUX_DIR(tclconfig) -AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -56,6 +55,14 @@ AC_DISABLE_STATIC AM_INIT_AUTOMAKE([foreign subdir-objects]) +# establishing a landmark in the directory hierarchy as per +# autotools design. This is what AC_CONFIG_SRCDIR is meant to do +# I arbitrarily choose src/rivet.h as landmark, moving this file +# to a different directory or deleting it implies this line has to +# change + +AC_CONFIG_SRCDIR([src/rivet.h]) + #-------------------------------------------------------------------- # Load the tclConfig.sh file #-------------------------------------------------------------------- diff -Nru libapache2-mod-rivet-3.2.0/debian/autoreconf.after libapache2-mod-rivet-3.2.1/debian/autoreconf.after --- libapache2-mod-rivet-3.2.0/debian/autoreconf.after 2019-01-11 22:10:36.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/debian/autoreconf.after 2021-11-13 17:35:38.000000000 +0000 @@ -1,450 +1,454 @@ -498a94288f77bd7a54e54daf949e59b3 ./rivet/init.tcl.in -7c20b64bc453bf3a08913a5998bd8b70 ./rivet/init.tcl -9aff4f8bf4a432cf8f569ec49a5990c1 ./rivet/rivet-tcl/load_cookies.tcl -fafd0f62f8db78033728fc1ad2445426 ./rivet/rivet-tcl/tclIndex -9b980efc64e36b49fb9b62f9fe9b5fa4 ./rivet/rivet-tcl/putsnnl.tcl -39514fe99f82ceaf00d7b52a6a0ff895 ./rivet/rivet-tcl/load_response.tcl -3f062111009014cf8db9da46e54ffff4 ./rivet/rivet-tcl/xml.tcl -aed75297548d83bfaba1a6affcf3edcb ./rivet/rivet-tcl/catch.tcl -5655c94c620c125a09c1601bf7d8c78a ./rivet/rivet-tcl/wrap.tcl -0e2f59af23cb5a02b936e3c8465a0fd9 ./rivet/rivet-tcl/cookie.tcl -60095728666f772c65bba857989e825a ./rivet/rivet-tcl/html.tcl -96da316e45617a837af638900b7b97ce ./rivet/rivet-tcl/import_switch_args.tcl +bf0c69746c6da686a0350dae89911485 ./INSTALL +5ccae9bb9f204602cc233437049b8977 ./autom4te.cache/requests +58b77ee771a65bdbba85b7da2133f270 ./autom4te.cache/output.0 +26327814072cbb8bc695f6cf48ecc334 ./autom4te.cache/traces.2 +58b77ee771a65bdbba85b7da2133f270 ./autom4te.cache/output.2 +8e816a052f18e56ac396d8b429968e4f ./autom4te.cache/traces.0 +95ba0a0c9667c38ff3e45d55bbc4d4a8 ./autom4te.cache/traces.1 +58b77ee771a65bdbba85b7da2133f270 ./autom4te.cache/output.1 +6f45dd07dec83afadd2f40010f189764 ./cmake/cmake_extra_modules/rivet_config.h.cmake +7ff09c3457a81c6ebbc017844ee7f9fa ./cmake/cmake_extra_modules/checks.cmake +6c26c218c2ea8004ad90cbb7a20a0bf5 ./cmake/cmake_extra_modules/FindAPR.cmake +46239c18eb16a391a44d478b49fd017e ./cmake/cmake_extra_modules/config.h.cmake +ccf61052afbccbedc8437d8d7be9e21e ./cmake/cmake_extra_modules/FindAPACHE.cmake +a6d103437fcb622fdf81e4bda5751b3c ./cmake/README.cmake +ab60cbff980753f0eed4cc5e99c5d6fe ./cmake/CMakeLists.txt +067dfbe0f1c9a9a1b2f517693023e777 ./genconf.sh +fa600d07613950c8d8b3fb729067b44e ./form.txt +fa00c6ab1cdc068cfa5886260dfc46c9 ./configure.ac +26ab0db90d72e28ad0ba1e22ee510510 ./.pc/.version +e8a673d5d4d69a5fd11c880fd4c3c481 ./.pc/.quilt_series +266f9759f56277b2751b24d1eb17c50f ./.pc/.quilt_patches +d41d8cd98f00b204e9800998ecf8427e ./.pc/.dpkg-source-unapply +fc500e77449f6b5cb36a2aba61cc912c ./.pc/selective_tcl_copy.patch/Makefile.am +79ce6c76cefcc5896f430077030cdf33 ./.pc/applied-patches +ddd45cef09e98044f5b2b711f52d06b6 ./README.configure +093f79e5b440d189822e1cfd62dd8276 ./tests/include.rvt +c6ed9f9fe1c2b65e8e4d59ea33e9cc0d ./tests/get.test +80648d4cc9a01d7254a326497a9814e6 ./tests/config.test +ff7e4e43e5275cf940b6d47bf238067e ./tests/parsepackage.test +12020b06f37899ffd50c1447458e7e01 ./tests/docroot1/vhost1.rvt +2ac4db524e5a7762904f6a3c9939cc73 ./tests/docroot1/basic1.rvt +ca56bb7bb8625f0e3326a7eba28fd551 ./tests/docroot1/afterscript.tcl +738dd7307746a913cf96eff7eee2fa96 ./tests/docroot1/beforescript.tcl +06ea7526e63f1fd126279f9c23eba669 ./tests/docroot1/childinit.tcl +95d04e5015ef291be12d344482f2af4b ./tests/upload.rvt +69e5be984c32a531af8a31e56d087388 ./tests/bailout.test +d41d8cd98f00b204e9800998ecf8427e ./tests/srm.conf +b9bee2db154569e399fbe43b8ae2becb ./tests/post.rvt +a026231949a547a743807b9c9da2c950 ./tests/redirect.rvt +747acbf9f1d3311aa8e74e615a2135d1 ./tests/headers.rvt +7778b0f53d5dd5bd2cc7d636f63753d0 ./tests/shorthand.test +b4e1a6d4e78bbd492f323d1c35c02ea4 ./tests/env_methods.tcl +ed14699c53df16b6196550ea8d87f99e ./tests/uploadsave.rvt +38d228f758364554adec0f3d7caaaa57 ./tests/fqrivet_var.tcl +b546e3b28a9d8e48b27c4419ac7fd7a7 ./tests/inspect.tcl +b74e83183d0f3fce3574dcb972ddb1f1 ./tests/tclfile.test +e7a55943fc133a8761de03a9937b46d3 ./tests/commands.test +d82c2e952b6ca79d7ba56225cb77c724 ./tests/virtualhost.test +106fe10479664985b5d74615b545b156 ./tests/tclfile.tcl +caa18e9353630ec44acdb7e8f04cf8c4 ./tests/rivetlib.test +5a125f13ccef81f6f3b335bc7f815437 ./tests/exit.tcl +f8239a56eedc9bcd3d963809bf945d6a ./tests/kill_ipcs.sh +4e5f6d62f849aa01973d42e9edd89878 ./tests/include.test +1912cacbe92d3d5b27d1b39bb96c2e0b ./tests/config.rvt +a03a7f99443f686bcc5e0880310389ee ./tests/broken.rvt +e2d30e51357ca8ab1743d14388fc5d30 ./tests/makeurl.test +a7c357c49e15f37f6414e6af11167b49 ./tests/catch.rvt +f83ffbbcc4eba6cb3c45fa0626509bad ./tests/commands.tcl +6e2541c1120b6803a1be8e6970af99f8 ./tests/failtest.test +39f90e4983cd00b235f7cb7925a85ad0 ./tests/inspect.test +0c3eae844f3f1bf9e55c4b2e617163aa ./tests/README +056d361b9049a4e38c59d32e670ad343 ./tests/apachetest/http.tcl +39a7a4bfc59ac7de3efed57b07a71386 ./tests/apachetest/pkgIndex.tcl +2da496e408bbd845602f4057f313aa54 ./tests/apachetest/template.conf.2.tcl +49a6c190e2cda31ed74144899941abcf ./tests/apachetest/template.conf.1.tcl +cdcbff4da672c44e90b2a3d5b64e8d4a ./tests/apachetest/apachetest.tcl +d41d8cd98f00b204e9800998ecf8427e ./tests/access.conf +c3cea4b6945b84a1f9c96887d3b9ef3b ./tests/hello.rvt +b6336e5d4f254a097d8f5945a75ec89c ./tests/channel.tcl +8701fc289733c6869cbe2380f2b211f9 ./tests/binary.test +a1e2576274d36fb66f389e90a2347d10 ./tests/hello.test +9a4ed13adc535352754dda88df4fd9d5 ./tests/try.rvt +d7961e89edffe4a84997a8aec137fd93 ./tests/cookies.test +d983d78c80d1ec25d0ed6b48ebb10f92 ./tests/checkfails.tcl +0be5600de63b0e4c4868fe19e7e8df12 ./tests/docroot2/basic2.rvt +467e6fc1baa8b58ee96a188a2a185e99 ./tests/docroot2/afterscript.tcl +dbffdcc703c94b31599de699f718f49a ./tests/docroot2/beforescript.tcl +7ab8ab5e39275c3e1e6aad05ade5715d ./tests/docroot2/childinit.tcl +00896dcc3258eb5d716579e61cc0e523 ./tests/docroot2/vhost2.rvt +c2c634cbb474bf764f9671fce47842b6 ./tests/parsestring.rvt +bab36eb9f2e094b1384fc41551475f5d ./tests/runtests.tcl +eb45f35569df9f0eceb450659f0a3814 ./tests/get.rvt +99311d0322a529a739467f49e22fef77 ./tests/headers.test +9f1a410b11d32a1730a687057a0bd081 ./tests/binary.rvt +9af907c0b8df465aabbd7c88b318be7b ./tests/channel.rvt +65e78318aca129323c94ef2fe9ba8c27 ./tests/include.html +f9f87e2c7b038078ea6e20443de6e1a5 ./tests/env.rvt +91d4b1e4dba6b69873fac7f85f3d907f ./tests/makeurl.rvt +d5dcfa23724901053d180aa66aa56e90 ./tests/broken.test +ae5fd61c970d3ed655599a8e3856155f ./tests/parse.rvt +a39b63de4c8beda3a9cf17aa1f30c85b ./tests/parse.test +53a3c7c58f2f1ddd942fbec4a0eb5c0f ./tests/failtest.tcl +b3547271dfccf86a58ddb1f55a025c33 ./tests/channel.test +581ab7f2d3eb814affcd3b44cbb1a8ab ./tests/mime.types +e68db59fcee27d5ded0a6cd2b18a3fa6 ./tests/cookies.rvt +dcdad939fc138fcc8c700ccad3921efb ./tests/rivet.test +fd2ab5d92a1c066f0053e2b209643091 ./tests/env.test +1957a1f5410fe3eb20de388e55ee6354 ./tests/upload.test +3e891cca1518162a5ed169d443fd0a64 ./tests/AngeloFish.jpg +23a1d8555b7e9a41f2ea9f536ce9e085 ./tests/post.test +5ad93252437106f701442f6aaef88041 ./tests/test-htaccess +df8675b2c26927f61d00fe81330f4a1b ./tests/tclconf.tcl +3f67d5c04cc08ab7e78d698f88879867 ./tests/shorthand.rvt +9b16793d7a207178fcfe487d579b6e7d ./tests/AngeloFish.png +7dbf3cb74f6fea8bb219ed916b4b91df ./src/TclWeb.c +1cae318587943e5db268dc4cfc70b4b1 ./src/TclWebcgi.c +4ed423b98883987946c0dc506f479664 ./src/rivet.h +d48c070803760506801944df010f1821 ./src/Makefile.in +72a2df6a99e348a1e98db8fd1ae73df9 ./src/Makefile.am +68a0a28fdfe92f10b628512fa134f57e ./src/parser/parserPkgInit.c +fe1da9bf904f331ae7072f55fc127a90 ./src/parser/rivetParser.h +47a2df1d4b3a934b537bd443af2238a2 ./src/parser/Makefile.am +6d6479d2bf5c2fa907bf260b23213d35 ./src/parser/rivetParser.c +0ae3c1add973c56048a2eba609c1616f ./src/TclWeb.h +0d9c96677673c12c45a4ccdbba89111a ./src/testing.c +b08ecf904096a998ed46aa06928be33f ./src/librivet/rivetCrypt.c +e203abfd456aff5a3be5bd292f1131de ./src/librivet/rivetWWW.c +648ab78522cc187b7c4b97f52f47f69a ./src/librivet/Makefile.am +4b9568723c7ccce0802c2c90f3c52bbe ./src/librivet/rivetList.c +ca01649d7a75ffad0108cca1c21d213b ./src/librivet/rivetPkgInit.c +44105fe10356d8b8509a3e538aa47635 ./src/mod_rivet_ng/worker_prefork_common.h +e2bfc36ec6b100be1fdc95608e0a0ae2 ./src/mod_rivet_ng/TclWebapache.c +69b926fd451cc0d663b3ebb20975b160 ./src/mod_rivet_ng/mod_rivet_generator.c +1157f8f632456acd49c890c40f5bbd3a ./src/mod_rivet_ng/mod_rivet_cache.c +cc1a8d8dd76f1794d1545c6a69153822 ./src/mod_rivet_ng/rivetCore.c +a0dff654ead0a1495fc8cf69c1c8dbbb ./src/mod_rivet_ng/Makefile.am +2108381462f275ff7be095b45f13306e ./src/mod_rivet_ng/rivetChannel.h +e96c1d480617aa315dd5c9adafb42b97 ./src/mod_rivet_ng/mod_rivet_cache.h +8eb00e7024597bf7dfd5810917c6d60c ./src/mod_rivet_ng/rivetChannel.c +f2aefc5f22bd370b47405f3ee2e8667c ./src/mod_rivet_ng/rivet_lazy_mpm.c +c27a5ce959cf07627a00a81101c634de ./src/mod_rivet_ng/rivet_worker_mpm.c +8fcd4ff9d67406ab7373eb6c91c71a45 ./src/mod_rivet_ng/apache_config.c +89c55eae31f74a0a25e2bf35d6b3c6bc ./src/mod_rivet_ng/rivetCore.h +22c877ba2ef3a7d91e1b6d67d4815094 ./src/mod_rivet_ng/apache_config.h +de0f16c82f16de0035f9cc4ec45e1cc3 ./src/mod_rivet_ng/mod_rivet.c +5f98e736043ed06a41c0a45350b2867c ./src/mod_rivet_ng/mod_rivet.h +121357f807475cd90f0cc5443bdf9db5 ./src/mod_rivet_ng/mod_rivet_common.c +894da5fff4926bf1760a55aae88a5d4f ./src/mod_rivet_ng/rivet_prefork_mpm.c +9898988c7e99d792efd9ddfc618745d3 ./src/mod_rivet_ng/rivet_types.h +b5edea2bcf3d1cc28eae4aceb48643e9 ./src/mod_rivet_ng/mod_rivet_common.h +95276bf8fc884d369a12a1c83de03b80 ./src/mod_rivet_ng/mod_rivet_generator.h +38ec67e62e1ed3b6659b07c1a647a9f4 ./src/mod_rivet_ng/rivetInspect.c +ec332b64f5275ba28486077fa0240fab ./src/mod_rivet_ng/worker_prefork_common.c +8b33ce33d9f01a80e00b6344b02230d6 ./src/request/apache_request.c +72a858882c12822114d51834cda67bf5 ./src/request/apache_request.h +abcfa33fdef46779671f1cbf7f90e711 ./src/request/apache_multipart_buffer.h +dbdcd146135d66b84a38dbeb49e46895 ./src/request/apache_multipart_buffer.c +2ec841aa0fd634f9653f6e0655b0297a ./Makefile.in +3b83ef96387f14655fc854ddc3c6bd57 ./LICENSE +91b287ce6c245893a75bd18dc53fb07a ./tclconfig/depcomp +83033bdc5ec203b69a7046b5cb2b4522 ./tclconfig/config.sub +e1746ef7daca9b1e1bcc0812a0b3fd77 ./tclconfig/libtool.m4 +b090c5891571c820e91d345a9551af44 ./tclconfig/install-sh +b2356fd703b65ce3d36403483cf5a04c ./tclconfig/tcl.m4 +b9b117274ab68bc6d1cfa877b8daa23d ./tclconfig/ltmain.sh +c9671feb88339208a8c34c54ac7a6eef ./tclconfig/config.guess +db0112ab22825d7d6cb9257d34577cfc ./tclconfig/compile +82f08ae96605352476d5f9d003b6041f ./tclconfig/README.txt +53e627f03d2b741a129da926c51ca8aa ./tclconfig/missing +9318695a53e5ad6b5b3b23333f708e55 ./tclconfig/ChangeLog +c7fe2389a45244848820063e575c971a ./Makefile.am +e74bfabd146bccfade922f42f07dee09 ./NOTICE +afb98748b9bd8518853bcea39672080f ./configure +42e3d90925c86d065360020ba36b1759 ./acinclude.m4 +511779482884908042517063a8cedd32 ./README.freebsd +60fa4e913a8874e681233f8f651fd528 ./BUGS +f6321124e3d50e797bd7d12521d4183c ./contrib/two-mode-mode.el +2c7c16f1838be54075e37b80ac1f1ec2 ./contrib/form.tcl +a6c5494212775b110bb1efcd2d15957c ./contrib/README +1fa5655e3d2c7cafd813a4a18f6c87b3 ./contrib/validate_mac.tcl +8955cb21df5e53db07d5c9fff15582ce ./contrib/rvt.vim +9be4e6991aff41162cd92026c3e78b11 ./contrib/tcl.vim +a5a4f3833799505efb3afe3c6e409f2a ./README.MacOSX +e08c0390c2bc26da164b020ca0594ecc ./CHANGES +bd9a53c187dc2f1a5f5902e978b877cb ./config.h.in +fa0f52b5bd8aafb397a238805cb9fefc ./README.md +3b3c47a6b6a3b1265bc841118ab24b46 ./README +eb45c5fed6dae303605633ac2123dfad ./rivet/default_request_handler.tcl +19e82d45f1d3ae53dd9f2b872c9d53d5 ./rivet/pkgIndex.tcl +d9fea026db72d24be33cac9e68b7c540 ./rivet/init.tcl 1e8f32263fc0873af075bef89521c804 ./rivet/rivet-tcl/debug.tcl -c31d5b71a87f2ee57552147b301e63fb ./rivet/rivet-tcl/import_keyvalue_pairs.tcl 0cc2b666607fa4d7ef369420203969b3 ./rivet/rivet-tcl/rivet_command_document.tcl +aee7e215aa88f134fcb1bbc5dcf9d753 ./rivet/rivet-tcl/parray.tcl +39514fe99f82ceaf00d7b52a6a0ff895 ./rivet/rivet-tcl/load_response.tcl +0e2f59af23cb5a02b936e3c8465a0fd9 ./rivet/rivet-tcl/cookie.tcl 698273bd27094481d75f2aacae405812 ./rivet/rivet-tcl/try.tcl +5655c94c620c125a09c1601bf7d8c78a ./rivet/rivet-tcl/wrap.tcl +9b980efc64e36b49fb9b62f9fe9b5fa4 ./rivet/rivet-tcl/putsnnl.tcl 754726938de235da1ede212b9f8d326e ./rivet/rivet-tcl/url_query.tcl +60095728666f772c65bba857989e825a ./rivet/rivet-tcl/html.tcl +25434893bb973811dd9c334a90f3c52f ./rivet/rivet-tcl/README +c31d5b71a87f2ee57552147b301e63fb ./rivet/rivet-tcl/import_keyvalue_pairs.tcl +fafd0f62f8db78033728fc1ad2445426 ./rivet/rivet-tcl/tclIndex +96da316e45617a837af638900b7b97ce ./rivet/rivet-tcl/import_switch_args.tcl +3f062111009014cf8db9da46e54ffff4 ./rivet/rivet-tcl/xml.tcl dbb248a33c1c83f7670d162adc189d6e ./rivet/rivet-tcl/lmatch.tcl -aee7e215aa88f134fcb1bbc5dcf9d753 ./rivet/rivet-tcl/parray.tcl -e947a132709992c34d5267a785e93cd1 ./rivet/rivet-tcl/parray_table.tcl -3363e00a99c23175655e92cdf9aeeb37 ./rivet/rivet-tcl/redirect.tcl 062b244b3f2a5bab314a2e1834bf3f85 ./rivet/rivet-tcl/lempty.tcl -b08e501f86d727e91343045b3b189548 ./rivet/rivet-tcl/http_accept.tcl +9aff4f8bf4a432cf8f569ec49a5990c1 ./rivet/rivet-tcl/load_cookies.tcl 0b16475c23ebf93f811f127c47f579f1 ./rivet/rivet-tcl/random.tcl +b08e501f86d727e91343045b3b189548 ./rivet/rivet-tcl/http_accept.tcl +e947a132709992c34d5267a785e93cd1 ./rivet/rivet-tcl/parray_table.tcl +3363e00a99c23175655e92cdf9aeeb37 ./rivet/rivet-tcl/redirect.tcl 921cf44ad1f00056e4e2a72e20ce38d4 ./rivet/rivet-tcl/read_file.tcl -25434893bb973811dd9c334a90f3c52f ./rivet/rivet-tcl/README -fbfe249775d10f0349cb1c73f657cc3b ./rivet/pkgIndex.tcl -d49f7a22b7ab5b7cbdf9db342ecae140 ./rivet/packages/entities/entities.tcl -cebea98e11bf1a87506af38180808d5e ./rivet/packages/dio/dio_Postgresql.tcl -8ebd691e81f655401c82093c676bd61c ./rivet/packages/dio/dio_Mysql.tcl -71276078d73477d4874490ae04b68880 ./rivet/packages/dio/dio_Tdbc.tcl -69baa8f9b425d24698b98534e0e6ca2b ./rivet/packages/dio/diodisplay.tcl -9db63fa9bbc4b618c620c809a602229a ./rivet/packages/dio/sql.tcl -c302165f3b3261ea06641bea4503c19d ./rivet/packages/dio/dio.tcl -715eb3d4836369bc0c475aa5751bf638 ./rivet/packages/dio/pkgIndex.tcl -a38194dfbd0eb9333561ba2466d8401d ./rivet/packages/dio/dio_Sqlite.tcl -3f216e2ca3b7b4408e4326934dad40fa ./rivet/packages/dio/aida.tcl -5575a81a41247f86dbbf3ecc6f7fb5ce ./rivet/packages/dio/dio_Oracle.tcl -314511f2cd0a30fbba5a4063a1f8aa46 ./rivet/packages/formbroker/formbroker.tcl +aed75297548d83bfaba1a6affcf3edcb ./rivet/rivet-tcl/catch.tcl +8ed6ea7211dc974869c05ac38d46de5b ./rivet/README +cefb54503bfb24f85bc7c30acb0e41cf ./rivet/packages/session/session-class.tcl +adf5d585aa36df8bce000bc940cdbe8f ./rivet/packages/session/session-create-oracle.sql +c13acaa6d152a09a7bcb9bce5944bf4c ./rivet/packages/session/pkgIndex.tcl +918113ed6bd6c8b7dc0ef0169c1717af ./rivet/packages/session/session-create-postgresql.sql 013976112daf833ee1131e3eec85ec18 ./rivet/packages/session/session-drop.sql -63ba7c936cb6d433504bf798037dd906 ./rivet/packages/session/session-create-sqlite.sql -252a5f76ced24996839e3026b3e1a754 ./rivet/packages/session/session-create-mysql.sql -1bbd3c9d04e0ddb8c44a9c9d294e4684 ./rivet/packages/session/session-httpd.conf 06dfce07671738348a86d88d7bccff9c ./rivet/packages/session/README.txt -2c6dee37c19055af977317d1e90327a5 ./rivet/packages/session/session-create-oracle.sql -918113ed6bd6c8b7dc0ef0169c1717af ./rivet/packages/session/session-create-postgresql.sql -c13acaa6d152a09a7bcb9bce5944bf4c ./rivet/packages/session/pkgIndex.tcl +30802b366581ae3f112197ed8497814e ./rivet/packages/session/session-create-mysql.sql a5ec498f097777be62883f3babce8726 ./rivet/packages/session/session-demo.rvt -1c365171e4746f65846a5356b3f6d375 ./rivet/packages/session/session-class.tcl +beb8e467134556d758587d7d63c44566 ./rivet/packages/session/session-create-sqlite.sql +1bbd3c9d04e0ddb8c44a9c9d294e4684 ./rivet/packages/session/session-httpd.conf 07b000fc16cb94a9e3032935bbe8d996 ./rivet/packages/session/session-purge-mysql.sql -2abd9ef42f5a73c96249affcd03e78ec ./rivet/packages/rivet_ncgi/rivet_ncgi.tcl -c8d1307b3c90ba856eec19da0949e66c ./rivet/packages/commserver/server.tcl -3447719c1e57f6dd9f864eb9def383b4 ./rivet/packages/commserver/commserver.tcl -a8f141ebae8a07bce77b796622172432 ./rivet/packages/dtcl/dtcl.tcl -0894fa14ba8472dbda3c1d64afb4001e ./rivet/packages/dtcl/pkgIndex.tcl +d49f7a22b7ab5b7cbdf9db342ecae140 ./rivet/packages/entities/entities.tcl ec96aad5f8790511449ce086eb18499a ./rivet/packages/tclrivet/parse.tcl -84c0c608520e9755941a303a925e701d ./rivet/packages/tclrivet/tclrivet.tcl -eef313d0319d58026038711456ccf34b ./rivet/packages/tclrivet/tclrivetparser.tcl ba04be5f14287fdf8f23a1ed80c021c7 ./rivet/packages/tclrivet/pkgIndex.tcl +eef313d0319d58026038711456ccf34b ./rivet/packages/tclrivet/tclrivetparser.tcl bbc060678d5ff039abb276a9a5a21cd3 ./rivet/packages/tclrivet/README -cc5d1911fbcb3e65ab7dbecb6ab72c3a ./rivet/packages/asciiglyphs/asciiglyphs.tcl +84c0c608520e9755941a303a925e701d ./rivet/packages/tclrivet/tclrivet.tcl +c545a255e0bd410a3fa2461d097e1446 ./rivet/packages/formbroker/formbroker.tcl +619c61716892fa0985b12705719cb51f ./rivet/packages/form/form2.tcl 3fd58ea6f14255b877bece448beb279c ./rivet/packages/form/pkgIndex.tcl -594c03432c03c5291b5e382672b6fd3c ./rivet/packages/form/form2.tcl -c2c76d4a16cdffa0aac805db1a85b4ea ./rivet/packages/form/form.tcl +2f01380b641abb0952092fde33bd0f87 ./rivet/packages/form/form.tcl +3b0e45d12e10533d5f679ed1a12feae4 ./rivet/packages/form/form22.tcl +0894fa14ba8472dbda3c1d64afb4001e ./rivet/packages/dtcl/pkgIndex.tcl +a8f141ebae8a07bce77b796622172432 ./rivet/packages/dtcl/dtcl.tcl +385585722527f901fd60ca1ec21bea34 ./rivet/packages/simpledb/pkgIndex.tcl c51efbe74bf051c27b8ecaed066c35e8 ./rivet/packages/simpledb/simpledb.test 0472b3ce557c8134063986a4364ecfc5 ./rivet/packages/simpledb/simpledb.tcl -385585722527f901fd60ca1ec21bea34 ./rivet/packages/simpledb/pkgIndex.tcl 47698b219135f6d32c460820add0ca0f ./rivet/packages/calendar/calendar.tcl +cc5d1911fbcb3e65ab7dbecb6ab72c3a ./rivet/packages/asciiglyphs/asciiglyphs.tcl 033ecc6bce6e28f9f444fa82a44bad83 ./rivet/packages/README -eb45c5fed6dae303605633ac2123dfad ./rivet/default_request_handler.tcl -8ed6ea7211dc974869c05ac38d46de5b ./rivet/README -c685b9b87fe16cb640680378750a123b ./.gitignore -b7fb1a0665a14adf5dfa1d036a21d2b3 ./src/rivet.h -0d9c96677673c12c45a4ccdbba89111a ./src/testing.c -c7729066bbbcd4d4932e2ba07c129328 ./src/mod_rivet_ng/mod_rivet.c -7add7f42e2f8b5f7bcc2920c409b1fc6 ./src/mod_rivet_ng/rivetInspect.c -44105fe10356d8b8509a3e538aa47635 ./src/mod_rivet_ng/worker_prefork_common.h -009b22c3adda93d71ce4f91085c02151 ./src/mod_rivet_ng/apache_config.c -11d0395718bd9d548d4a724080bdda8f ./src/mod_rivet_ng/rivet_types.h -a0dff654ead0a1495fc8cf69c1c8dbbb ./src/mod_rivet_ng/Makefile.am -ab8156ab515f3f832364b2e628afcc23 ./src/mod_rivet_ng/rivet_prefork_mpm.c -f431c725cbbef6520cc64fbf123414bf ./src/mod_rivet_ng/rivet_worker_mpm.c -dc753678005e4cf2f9b7ae4c0d515ba6 ./src/mod_rivet_ng/rivetCore.c -a403b528ec9d317759ee204632272dd9 ./src/mod_rivet_ng/apache_config.h -aec0414db876a0102257336c8ac5044e ./src/mod_rivet_ng/mod_rivet_common.h -dee413a18b87de0acae8eaf5005b4d36 ./src/mod_rivet_ng/rivetChannel.c -ad0e45f6cd66c14f6e04be9d32d8233a ./src/mod_rivet_ng/worker_prefork_common.c -129ac040d186d5527917ded8cfe1ab93 ./src/mod_rivet_ng/mod_rivet_generator.h -89c55eae31f74a0a25e2bf35d6b3c6bc ./src/mod_rivet_ng/rivetCore.h -9ceea9468db1886ed28e6d814049f041 ./src/mod_rivet_ng/mod_rivet_common.c -8bd1627f53a2782f4092f60ad0e399bd ./src/mod_rivet_ng/mod_rivet_generator.c -5021ad3b5d7464e93721a0740315fadc ./src/mod_rivet_ng/rivet_lazy_mpm.c -2108381462f275ff7be095b45f13306e ./src/mod_rivet_ng/rivetChannel.h -6779867481e2dfece9756cb6667c2706 ./src/mod_rivet_ng/TclWebapache.c -24fcbdc171b233c289352e1893d46d7a ./src/mod_rivet_ng/mod_rivet_cache.c -dbbe86505b538b8b0fbe1af098d889c9 ./src/mod_rivet_ng/mod_rivet_cache.h -53ad69ee3c85b179d0ba9272d93930f4 ./src/mod_rivet_ng/mod_rivet.h -7dbf3cb74f6fea8bb219ed916b4b91df ./src/TclWeb.c -bc7952d5016c6db132f58a5d3a967afc ./src/request/apache_request.h -f060fc4ffc9ef3ca0460918beed03662 ./src/request/apache_multipart_buffer.c -97979c8110d06018418664723441248e ./src/request/apache_multipart_buffer.h -f07b6beeadf376aaee00e18ca05c35e9 ./src/request/apache_request.c -72a2df6a99e348a1e98db8fd1ae73df9 ./src/Makefile.am -8eb986894debdb20075b9be8d455b9bc ./src/Makefile.in -3447289bec3c6e49d91154925e9a45a1 ./src/librivet/rivetList.c -648ab78522cc187b7c4b97f52f47f69a ./src/librivet/Makefile.am -28bb955ce7d08879f486a7263e116294 ./src/librivet/rivetWWW.c -ca01649d7a75ffad0108cca1c21d213b ./src/librivet/rivetPkgInit.c -b08ecf904096a998ed46aa06928be33f ./src/librivet/rivetCrypt.c -22ff72d715530e8d4ef87fd7950ed1a8 ./src/TclWeb.h -7602c881d0eff05a3fe56d86b1bdd35b ./src/parser/rivetParser.c -47a2df1d4b3a934b537bd443af2238a2 ./src/parser/Makefile.am -fe1da9bf904f331ae7072f55fc127a90 ./src/parser/rivetParser.h -68a0a28fdfe92f10b628512fa134f57e ./src/parser/parserPkgInit.c -1cae318587943e5db268dc4cfc70b4b1 ./src/TclWebcgi.c -a5a4f3833799505efb3afe3c6e409f2a ./README.MacOSX -067dfbe0f1c9a9a1b2f517693023e777 ./genconf.sh -42e3d90925c86d065360020ba36b1759 ./acinclude.m4 -fa600d07613950c8d8b3fb729067b44e ./form.txt -c7fe2389a45244848820063e575c971a ./Makefile.am -ddd45cef09e98044f5b2b711f52d06b6 ./README.configure +3447719c1e57f6dd9f864eb9def383b4 ./rivet/packages/commserver/commserver.tcl +c8d1307b3c90ba856eec19da0949e66c ./rivet/packages/commserver/server.tcl +2abd9ef42f5a73c96249affcd03e78ec ./rivet/packages/rivet_ncgi/rivet_ncgi.tcl +69baa8f9b425d24698b98534e0e6ca2b ./rivet/packages/dio/diodisplay.tcl +715eb3d4836369bc0c475aa5751bf638 ./rivet/packages/dio/pkgIndex.tcl +06e6861f4586b6d42b2b3da91fcf8b52 ./rivet/packages/dio/dio_Mysql.tcl +71276078d73477d4874490ae04b68880 ./rivet/packages/dio/dio_Tdbc.tcl +776ec18f3297dd62d554fdef95e79801 ./rivet/packages/dio/dio_Sqlite.tcl +d5d729bcf2ae74627daf563310208511 ./rivet/packages/dio/dio_Postgresql.tcl +a19434ed61c58b5c759351b0a018348e ./rivet/packages/dio/aida.tcl +8f938ee05e06e49c0fd4046624a4d829 ./rivet/packages/dio/sql.tcl +5575a81a41247f86dbbf3ecc6f7fb5ce ./rivet/packages/dio/dio_Oracle.tcl +dd52d3ee8c8a9878b16b7d9946b6970f ./rivet/packages/dio/dio.tcl +498a94288f77bd7a54e54daf949e59b3 ./rivet/init.tcl.in +bd9a53c187dc2f1a5f5902e978b877cb ./config.h.in~ +5a1a58193506985eb5f84e66baa2fb73 ./m4/ax_prefix_config_h.m4 +fa2891f9060865871cbbaa1c6e2d96f4 ./m4/ltsugar.m4 +d936fd6b2025c9b5322f826117d7f30c ./m4/ltversion.m4 +ebb455a7fd6a8ba9a4e38a25c8f0b686 ./m4/ax_compare_version.m4 +5457d05f5d2f3421a1321e123df1dbce ./m4/libtool.m4 +064af1799febaa676203302bbf359180 ./m4/ltoptions.m4 +22aa295bf5320aec7fba6756ff11058a ./m4/lt~obsolete.m4 +fcd03c51c78b325ddf2d85520d639abb ./m4/ax_split_version.m4 +15f7c96819e4ea35d132214e73a1ef67 ./TODO b4ec9e131507ea3596a149cb1c66b2d6 ./cvsversion.tcl -6f45dd07dec83afadd2f40010f189764 ./cmake/cmake_extra_modules/rivet_config.h.cmake -ccf61052afbccbedc8437d8d7be9e21e ./cmake/cmake_extra_modules/FindAPACHE.cmake -7ff09c3457a81c6ebbc017844ee7f9fa ./cmake/cmake_extra_modules/checks.cmake -6c26c218c2ea8004ad90cbb7a20a0bf5 ./cmake/cmake_extra_modules/FindAPR.cmake -46239c18eb16a391a44d478b49fd017e ./cmake/cmake_extra_modules/config.h.cmake -5e35431d9e878731fca439495311fa85 ./cmake/CMakeLists.txt -a6d103437fcb622fdf81e4bda5751b3c ./cmake/README.cmake -eb45f35569df9f0eceb450659f0a3814 ./tests/get.rvt -a39b63de4c8beda3a9cf17aa1f30c85b ./tests/parse.test -6e2541c1120b6803a1be8e6970af99f8 ./tests/failtest.test -5ad93252437106f701442f6aaef88041 ./tests/test-htaccess -69e5be984c32a531af8a31e56d087388 ./tests/bailout.test -d5dcfa23724901053d180aa66aa56e90 ./tests/broken.test -d82c2e952b6ca79d7ba56225cb77c724 ./tests/virtualhost.test -d41d8cd98f00b204e9800998ecf8427e ./tests/access.conf -9a4ed13adc535352754dda88df4fd9d5 ./tests/try.rvt -caa18e9353630ec44acdb7e8f04cf8c4 ./tests/rivetlib.test -4e5f6d62f849aa01973d42e9edd89878 ./tests/include.test -ed14699c53df16b6196550ea8d87f99e ./tests/uploadsave.rvt -0a71c9d353530e0198384754121282cb ./tests/rivet.test -df8675b2c26927f61d00fe81330f4a1b ./tests/tclconf.tcl -65e78318aca129323c94ef2fe9ba8c27 ./tests/include.html -d983d78c80d1ec25d0ed6b48ebb10f92 ./tests/checkfails.tcl -38d228f758364554adec0f3d7caaaa57 ./tests/fqrivet_var.tcl -b9bee2db154569e399fbe43b8ae2becb ./tests/post.rvt -056d361b9049a4e38c59d32e670ad343 ./tests/apachetest/http.tcl -561ac56492a979204d461d58c8fe9387 ./tests/apachetest/template.conf.2.tcl -61c37feeb87af7bfe98fca2de06617a9 ./tests/apachetest/template.conf.1.tcl -39a7a4bfc59ac7de3efed57b07a71386 ./tests/apachetest/pkgIndex.tcl -bc5b665c0a9598da81d0f88bb51c1f77 ./tests/apachetest/apachetest.tcl -c2c634cbb474bf764f9671fce47842b6 ./tests/parsestring.rvt -91d4b1e4dba6b69873fac7f85f3d907f ./tests/makeurl.rvt -d7961e89edffe4a84997a8aec137fd93 ./tests/cookies.test -3f67d5c04cc08ab7e78d698f88879867 ./tests/shorthand.rvt -80648d4cc9a01d7254a326497a9814e6 ./tests/config.test -9af907c0b8df465aabbd7c88b318be7b ./tests/channel.rvt -747acbf9f1d3311aa8e74e615a2135d1 ./tests/headers.rvt -b6336e5d4f254a097d8f5945a75ec89c ./tests/channel.tcl -913f4b3253bffd91c8f14d1fff676aa0 ./tests/headers.test -7778b0f53d5dd5bd2cc7d636f63753d0 ./tests/shorthand.test -e7a55943fc133a8761de03a9937b46d3 ./tests/commands.test -c632ee75112574e48e33413dc62b3411 ./tests/upload.rvt -d41d8cd98f00b204e9800998ecf8427e ./tests/srm.conf -c6ed9f9fe1c2b65e8e4d59ea33e9cc0d ./tests/get.test -b3547271dfccf86a58ddb1f55a025c33 ./tests/channel.test -ff7e4e43e5275cf940b6d47bf238067e ./tests/parsepackage.test -f8239a56eedc9bcd3d963809bf945d6a ./tests/kill_ipcs.sh -a1e2576274d36fb66f389e90a2347d10 ./tests/hello.test -b6d8c793a63ec4dd568af1d9fda25ff9 ./tests/env.test -9f1a410b11d32a1730a687057a0bd081 ./tests/binary.rvt -e2d30e51357ca8ab1743d14388fc5d30 ./tests/makeurl.test -a7c357c49e15f37f6414e6af11167b49 ./tests/catch.rvt -c3cea4b6945b84a1f9c96887d3b9ef3b ./tests/hello.rvt -3e891cca1518162a5ed169d443fd0a64 ./tests/AngeloFish.jpg -23a1d8555b7e9a41f2ea9f536ce9e085 ./tests/post.test -106fe10479664985b5d74615b545b156 ./tests/tclfile.tcl -581ab7f2d3eb814affcd3b44cbb1a8ab ./tests/mime.types -b74e83183d0f3fce3574dcb972ddb1f1 ./tests/tclfile.test -65c4799051ab63a62f26da429a643ab6 ./tests/runtests.tcl -093f79e5b440d189822e1cfd62dd8276 ./tests/include.rvt -d5cce8082a8c90f6211e833df905b2b7 ./tests/upload.test -5a125f13ccef81f6f3b335bc7f815437 ./tests/exit.tcl -1912cacbe92d3d5b27d1b39bb96c2e0b ./tests/config.rvt -ae5fd61c970d3ed655599a8e3856155f ./tests/parse.rvt -e68db59fcee27d5ded0a6cd2b18a3fa6 ./tests/cookies.rvt -3a66d8401b0d679c26eda5d7d38980db ./tests/binary.test -f83ffbbcc4eba6cb3c45fa0626509bad ./tests/commands.tcl -7ab8ab5e39275c3e1e6aad05ade5715d ./tests/docroot2/childinit.tcl -00896dcc3258eb5d716579e61cc0e523 ./tests/docroot2/vhost2.rvt -0be5600de63b0e4c4868fe19e7e8df12 ./tests/docroot2/basic2.rvt -467e6fc1baa8b58ee96a188a2a185e99 ./tests/docroot2/afterscript.tcl -dbffdcc703c94b31599de699f718f49a ./tests/docroot2/beforescript.tcl -a026231949a547a743807b9c9da2c950 ./tests/redirect.rvt -b546e3b28a9d8e48b27c4419ac7fd7a7 ./tests/inspect.tcl -12020b06f37899ffd50c1447458e7e01 ./tests/docroot1/vhost1.rvt -06ea7526e63f1fd126279f9c23eba669 ./tests/docroot1/childinit.tcl -ca56bb7bb8625f0e3326a7eba28fd551 ./tests/docroot1/afterscript.tcl -738dd7307746a913cf96eff7eee2fa96 ./tests/docroot1/beforescript.tcl -2ac4db524e5a7762904f6a3c9939cc73 ./tests/docroot1/basic1.rvt -53a3c7c58f2f1ddd942fbec4a0eb5c0f ./tests/failtest.tcl -9ec7bc4acdc493c0da973cef09cb55bf ./tests/env.rvt -a03a7f99443f686bcc5e0880310389ee ./tests/broken.rvt -39f90e4983cd00b235f7cb7925a85ad0 ./tests/inspect.test -0c3eae844f3f1bf9e55c4b2e617163aa ./tests/README -3b83ef96387f14655fc854ddc3c6bd57 ./LICENSE -ccc87ae2ee71db668851487d15a9c052 ./doc/rivet.xml.in -df6cf55e228e14dbf836ac507f0e17f4 ./doc/Rivetlogo_large.jpg -7f6a5d33bf56de220cb9ff76bb0f727f ./doc/Makefile.am -24952aa438232405d869ca8b655fa582 ./doc/Rivetlogo_small.jpg -db974ca2a83c4fc25198b505c0384694 ./doc/release-notes.txt -de6592d4db06274be2281b0704af3ede ./doc/style.css +7607e9da1dba5d65c47b93f7b458136c ./.appveyor.yml +c3411e1e149f4727fbe88ee50653f486 ./VERSION +bf7b6be0c8c31e0a5bcfe9db2f3016e5 ./.gitignore +bad724cf0dedc1078a9a67d9831ed978 ./aclocal.m4 +4327e4eb3c07d41043a5239a28ee4b2d ./ChangeLog 07b7363dbd36e2913e06bc251688eda9 ./doc/examples.rvt -0541d3df42520911f268abc730f3afe0 ./doc/asf_logo.gif -edc18f2d779621dd96a070399f8a136b ./doc/examples/download.tcl -3b5d8225de7d0e498a8fdf14fd3af3f1 ./doc/examples/vars.html -709f4a308b6d77f841006de441462960 ./doc/examples/myrivetapp.tcl -e809c838a779a985922d83cb98c11941 ./doc/examples/color-table.tcl -e90ffbbc3deb97ff9e55eeea832672d1 ./doc/examples/rivet_web_service.tcl -a67c75e27323177dc80f3603bf4e74bf ./doc/examples/myapp_request_handler.tcl -fa7e8628f6ffeca47429bae72127210c ./doc/examples/upload.rvt -c27e147779c1e5fcc86ffe3cae43a111 ./doc/examples/hello1.rvt -bdcc79f255a9f36fb8fb38699412a254 ./doc/examples/vars.rvt -6f292f0b4df228538d363ef951363c83 ./doc/examples/table.rvt -c8601de0d8621662a1d1ae63210a9556 ./doc/examples/hello.rvt -474db63c02f14656bffb6ec9f73d03ee ./doc/examples/upload.html -9f179b4cfa9f91af48be3455fb707da4 ./doc/examples/colortable.rvt -f634cb20e413fa4449bc64a2e86312d5 ./doc/Rivetlogo_medium.jpg 0e035edc907adf85f69c0395fcda4f6f ./doc/rivet-nochunk.xsl -57f0caf3c6dd5c6f55de5a689125ffac ./doc/example.tcl -02c161edd2800abc34cd55e1860d9ee8 ./doc/rivet.css -a3bb2ce2bca41e36c985e3bd20c04f01 ./doc/convert_examples.tcl.in -cc8a5952d644cc7af8a1b76f8cb61089 ./doc/rivet.xml -5047ec81a15757188eeddde6d48814af ./doc/html/headers.html -1e8c35153028210ac82c3c00398924d8 ./doc/html/load_env.html -7a9836b2c991e9d359ee11051295726c ./doc/html/diodisplay.html -8ad988ddf2a4213ac422c4f45bb15a92 ./doc/html/escape_sgml_chars.html -d51056179f09f9865dc1cf9543c2bf8f ./doc/html/examples.html -ff0d9c4a28ee02a1180177e4f6e779ba ./doc/html/encode.html -0ea2d59b7c1c4a670233c8134d199351 ./doc/html/lassign_array.html -21fa28c8b4a8175202d9925c757a56eb ./doc/html/calendar_package.html -8db38f25d0819de315f9f507e8d11e20 ./doc/html/apache_log_error.html -e588c590414a3363b6caac4286aec727 ./doc/html/help.html -275db97122428fda4acde896c1c2c6f6 ./doc/html/clock_to_rfc.html -80cf20c6d4f8a2743559d0a4c925225c ./doc/html/index.html -afd78dcad3ac2d7d59c86784316e254d ./doc/html/installation.html -55289d98c5d3e94caeb4c5c246514e81 ./doc/html/apache_table.html -983fc53ba65213d2255d1e54daa2d90f ./doc/html/entities.html -496823d94b10cdbae6b19f3ea3deb0a8 ./doc/html/read_file.html -87c8e6a9cf490100dd5e8208119ae5fa ./doc/html/import_keyvalue_pairs.html -c0694184c38645554ae22a4bc2100b9c ./doc/html/dio.html -8f6cff8a5b255318e5a64a6cab362753 ./doc/html/catch.html -dde7e737a6f9783806a95cb2fb36f918 ./doc/html/include.html -3ddb7f566e860ccb67be4c8b4cd7c5e7 ./doc/html/escape_shell_command.html -ce2329adf723fbea3a190d6d169171d5 ./doc/html/xml_calendar.html -3ff7dbf55c6109ad8ff2cbabc62cc1d3 ./doc/html/url_script.html -90bdb8edfb73642c647f7da7deb6aab6 ./doc/html/incr0.html -542e45543add0bbbd3a42bc64764be53 ./doc/html/abort_code.html -f7b37ed9eed2c77aa16931e72d4227db ./doc/html/parray.html -0c8ba2740735f801fc9e8b60f5b4da70 ./doc/html/load_response.html -b05486f4b993dc184e09bb6b8ef8b5d1 ./doc/html/xml.html -e4676db337d161dbcb14a82fbf8c98b0 ./doc/html/shorthand.html -219d2de8ccd57edb3ee81d836599972f ./doc/html/escape_string.html -1975a22697166fee1156aeea1f49858b ./doc/html/diodisplay_package.html -98014808d8c0da13bfa8c708be9f059d ./doc/html/raw_post.html -96c585a945cce25cecf4338be682f63f ./doc/html/lazybridge.html -d8d92092c5cac5c7093c590611ddebb7 ./doc/html/load_headers.html -7d1dda06b7492886ed3a15569639dfe4 ./doc/html/http_accept.html -eb577554965cd52ace6e289b6eaf76e7 ./doc/html/load_cookies.html -11406a31e55c65a0812e543c34f06504 ./doc/html/var.html -fdb7fea1bbd4954dcfdc6e06f6074f3e ./doc/html/exit.html -d95af1162c329b9d7dd8e8e4f44625df ./doc/html/no_body.html -c0e441cf378e6eda08b9738e89f72260 ./doc/html/commands.html -02c161edd2800abc34cd55e1860d9ee8 ./doc/html/rivet.css -2f9c712065f0936deb88660a273e16ec ./doc/html/form.html -7c867ec6fd5c67fab0a4e760d9be47d6 ./doc/html/form_package.html -82404df7c3b2385f885eaa6f56187132 ./doc/html/dio_package.html -c68d2ad0c0eb1a76bd82b05b26db9250 ./doc/html/internals.html -14f4dff4b07db05ed7c62cbd2810426f ./doc/html/abort_page.html -cfb5d626872e9a7b889985f1b3b2e54c ./doc/html/decode.html -1d020c19f35a6bdf9054e363cae122f5 ./doc/html/try.html -8c07fbc010888075db87afa9682c3f1e ./doc/html/fb.html -14c1514a6a2a5facbedce3e7861540ba ./doc/html/html_calendar.html -afb9708be35682562c530dc692d92784 ./doc/html/session_package.html -09fadd12555deb3feb927b26d2edbef7 ./doc/html/processing.html -dcd9b08809a098e4d7616ef63b72f451 ./doc/html/request.html -0b5b903934d3d36e32adf4984d60e3f6 ./doc/html/unescape_string.html -670b28e9f4099bbba9cbf8e7af335b56 ./doc/html/upload.html -b7709c3addd2211d33a2621ec47886d5 ./doc/html/parse.html -9cbb1da86a8291e3e24124bb64033303 ./doc/html/lremove.html -216e83197149340cd003a7c5d7dd01d7 ./doc/html/formbroker.html -d7c84a37abf94be531887a48f5b6be13 ./doc/html/debug.html -5771db4611ccc51aeccc1ab52e879e70 ./doc/html/wrap.html -b7f5a7b4bb0197ff6c45cad3a5530eb7 ./doc/html/calendar.html -909a2237e8b4d8eb37de80c39681e5f0 ./doc/html/redirect.html -2abd1a67a0864df7654d8ffa65e4d389 ./doc/html/env.html -ccfde0ce1b251dfc550ad1f872f6796c ./doc/html/wrapline.html -f2bf5007d2ef3c554c58b395d0a182c5 ./doc/html/inspect.html -4048f307a4270dffc7f73b1573ffb14d ./doc/html/tcl_packages.html -df6315296e7c64db388dd75a15cd2514 ./doc/html/html.html -80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/html/images/qbullet-note.png -b83250cd33131389656376a68fd2514c ./doc/html/images/word.png -6af4f64aa30d4162e2c5196b8e34eef5 ./doc/html/images/disk.png -59c28f6840b1f20094af4ffc16ce3189 ./doc/html/images/warning.png -3f6681fac19897a14f2ad826fa8d55da ./doc/html/images/calendar.png -ee8d311bafbc474875730d7644e86047 ./doc/html/images/toc-plus.png +0541d3df42520911f268abc730f3afe0 ./doc/asf_logo.gif +e52416de874c0203f1284ddfa31fcca6 ./doc/rivet.xsl +24952aa438232405d869ca8b655fa582 ./doc/Rivetlogo_small.jpg +06e93ac8e0cf11df429f96f1c2dcb183 ./doc/xml/commands.xml +d2f273eec157e11e5ca13cd9d2c11c92 ./doc/xml/formbroker.xml +f7266523fc4b0c3212b999c11a325ae2 ./doc/xml/directives.xml +a288b9b7c4779f2376f3c300bc5808fd ./doc/xml/installation.xml +563dde9698198cc15e466e671185bf6c ./doc/xml/lazybridge.xml +2caee4d9df3fad527b57e7b659007464 ./doc/xml/processing.xml +be25dea536b79a331c930b3ec57c5e1c ./doc/xml/request.xml +e47f6a109829bd38ab69c6dcee71e2cc ./doc/xml/cmake.xml +0a6ed5f52e607a89ec6b578f35f0dbc1 ./doc/xml/packages.xml +319cedfa6a36088ff64f2cae8550a474 ./doc/xml/asciiglyphs.xml +ed9ac5db2a9e40549576e93ac59a8648 ./doc/xml/internals.xml +29b68ad3df99bd3d2f5a6c09df596b1a ./doc/xml/dio.xml +6b601afa54c91ad1044fd50ee2a4bf4b ./doc/xml/session.xml +787892ba4b86849679b9ce4e211b4f7a ./doc/xml/diodisplay.xml +fec8b01d2d68507be3964e94b7c799af ./doc/xml/entities.xml +29d6d1c101ed5746ea67357a30678a30 ./doc/xml/examples.xml +e2b00842f3a9c702eda447836eb49b97 ./doc/xml/form.xml +d0e3b21b36e7c47b6dab8869e1a96098 ./doc/xml/help.xml +5b75f36b88b7218963f1a61bec7900cd ./doc/xml/intro.xml +07347f7854b4d5abb2988956666eec9a ./doc/xml/calendar.xml +db974ca2a83c4fc25198b505c0384694 ./doc/release-notes.txt +49120561a8679cb619ac15588b776909 ./doc/Makefile.in +4410ef5c7947b6387047a879e986f12f ./doc/html/thread_id.html +dfae440539ca1044b52adf452e209e04 ./doc/html/wrap.html +774b324156cb9127fd040835b01ddc8c ./doc/html/load_env.html +a4d0c23b8d11898f25d020d120cc2105 ./doc/html/env.html +755257c8ca863c6fb85cc050d7b390e0 ./doc/html/abort_page.html +c2cf1a9527636aaa5e760a4eba139256 ./doc/html/parse.html +1ca8f935b2b0f6e63dab7911e8b0f253 ./doc/html/load_headers.html +35f26f9c7075f4af5666271d0b3dd198 ./doc/html/upload.html +02662ffe8f1e5bd2a1c5badbba85e7ce ./doc/html/lazybridge.html +5a80fcff4fb7a91e47ed1bd2cafe964d ./doc/html/http_accept.html +c3fad7549771cae0474f19a0afa9caa8 ./doc/html/dio.html +4fb4c98c1f3d41aa59e18eaaec37b491 ./doc/html/processing.html +ae7fe10792d5c4810dee219e7df5a2e5 ./doc/html/redirect.html +df34e3e7e522d416444f694a9393a1f4 ./doc/html/request.html +b4849b5512ea1d7719fe5d25b0d90443 ./doc/html/lmatch.html +93aa9a7f6febb83d624d154ae929337e ./doc/html/cmake.html +3b7e0d664e4cf311256483426d400803 ./doc/html/encode.html +267936840953551b4bb9be352d36b3ee ./doc/html/dio_package.html +323819b982164ba591f8508f9fa9267e ./doc/html/internals.html +cda7c008d5c4abdb84fcb41aac56b297 ./doc/html/form.html +13c6639848ec3d8bf8483e25287e41b0 ./doc/html/read_file.html +8d830b051720e6d0b99714e10969bc75 ./doc/html/session_package.html +c721e80663bd50e1f7172b31a94940ff ./doc/html/inspect.html +3ed0a18bc5823e333761294e895e9275 ./doc/html/load_response.html +428baab5a0370b084ab2368c947f0adc ./doc/html/exit.html +40eb2b50a601d31d5d42753047a12785 ./doc/html/index.html +12cfce859d6a0429f462d427bcb5b3be ./doc/html/tcl_packages.html +3101d1629a8864f0e21f0c565a7ebf12 ./doc/html/help.html +08bf4596d2689fc6dd2d8de45666aefe ./doc/html/xml.html +7db7f456f211faadd0b1914ed606345f ./doc/html/calendar.html +d05046251f2a4241aec798ea9598c80e ./doc/html/escape_sgml_chars.html +98d85217eddf32655a63e99d69344360 ./doc/html/import_keyvalue_pairs.html +562d0edb92f6ee2e3d88b426993bbe54 ./doc/html/fb.html +489f4957b53676aa7a547f4c6dad20e3 ./doc/html/examples.html +dea36c77692917d655d8d0556b986c92 ./doc/html/unescape_string.html +0176ef8af121441d1dc26eb6f2b68b84 ./doc/html/debug.html +59c9ad854415978e175ce711074f4cc6 ./doc/html/commands.html +b2a0a2bed82d42ded0a1b3f0510fbec4 ./doc/html/toglyphs.html fee93f2eeb69fbaacf4f8df9dbcf836e ./doc/html/images/table.png -9021db39b9ae6701cc11a1d12a327ee0 ./doc/html/images/acrobat.png +ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/html/images/important.png 3da5ad8aa726fe3edd232732de3279b6 ./doc/html/images/remote.png -9fee8f60b6ab1fcc70d37fafd2829198 ./doc/html/images/scrollup.png -e54f1466db92ad5170f142cac741bba1 ./doc/html/images/home.png -7ddae41c51c6b0a71d16edf735d35fdd ./doc/html/images/next.png -dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/html/images/tip.png 2245032ab69fc481e2eefd246aa96e07 ./doc/html/images/caution.png -e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/html/images/up.png +6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/html/images/blank.png a9dfccc01739501bbc01d561da12c944 ./doc/html/images/toc-blank.png +b83250cd33131389656376a68fd2514c ./doc/html/images/word.png 0b549e01c39b98254036c965c1270e3f ./doc/html/images/color-table.png -6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/html/images/blank.png -c11f30d22ae41cfb4ab7bea5405397f6 ./doc/html/images/prev.png -1b1da3ec69df05af5f2a5475e8a8a24b ./doc/html/images/draft.png +dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/html/images/tip.png +80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/html/images/qbullet-note.png +59c28f6840b1f20094af4ffc16ce3189 ./doc/html/images/warning.png 109e4af9c43357a74c6de01db819f36f ./doc/html/images/note.png -ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/html/images/important.png +1b1da3ec69df05af5f2a5475e8a8a24b ./doc/html/images/draft.png +e54f1466db92ad5170f142cac741bba1 ./doc/html/images/home.png 72baddf4a76d4d74f634edf1e71134b3 ./doc/html/images/toc-minus.png -dda8f6fcba623cdcb4085c9e41fa90a8 ./doc/html/toglyphs.html -2bd865afc5b8256f637d455f2eac27a5 ./doc/html/cookie.html -089bc7bf223720cead56db71c544fbfa ./doc/html/asciiglyphs.html -b77d3316a825ac8b32838dbfea3aff6e ./doc/html/lempty.html -ffcabcfb12311a378942fe6a55c54118 ./doc/html/lmatch.html -beea045d53c0a5055ede2fdadcfcf7d3 ./doc/html/makeurl.html -7424ff184752ba960e64461fb912beef ./doc/html/cmake.html -cbfe15ca256075287f5b21cf1eb3980a ./doc/html/directives.html -4c433583586e00f4febf4a3cee8776ea ./doc/examples-sgml/download.tcl -35f104d4d7eb26a0644a2a4d30215c10 ./doc/examples-sgml/vars.html -2fecae2aca512772c754ba4437530aee ./doc/examples-sgml/myrivetapp.tcl -5cd13d0eb9ed71b5b41ba91bd9428b19 ./doc/examples-sgml/color-table.tcl -d55df7c4a8841fc30b6ffe45f8e4616a ./doc/examples-sgml/rivet_web_service.tcl -ddc4b941c3be009fc9c6412d7400c3e9 ./doc/examples-sgml/myapp_request_handler.tcl -cfa33c287ebd3ce318b8af0db2106c2f ./doc/examples-sgml/upload.rvt -27e4c54f14442292e199f18484e988fe ./doc/examples-sgml/hello1.rvt -7dbff0d3d6d1ca18dce0e41f6e67f610 ./doc/examples-sgml/vars.rvt -674415d507f123727a18cfe49161b4cf ./doc/examples-sgml/table.rvt -fe10afe2726e062c7dd9cc1c8af526e0 ./doc/examples-sgml/hello.rvt -36007d300bb6d6a9df16555305dd78fe ./doc/examples-sgml/upload.html -c477ae4247e846a1c4d2d967dcc9b4f2 ./doc/examples-sgml/colortable.rvt -e0e670a4dec4cf74bc0427b3b2977e83 ./doc/Makefile.in -640dc9c4a2decd7d823fdb6c50c5bbd8 ./doc/Rivetlogo_small.png -80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/images/qbullet-note.png -b83250cd33131389656376a68fd2514c ./doc/images/word.png -6af4f64aa30d4162e2c5196b8e34eef5 ./doc/images/disk.png -59c28f6840b1f20094af4ffc16ce3189 ./doc/images/warning.png -3f6681fac19897a14f2ad826fa8d55da ./doc/images/calendar.png -ee8d311bafbc474875730d7644e86047 ./doc/images/toc-plus.png +9fee8f60b6ab1fcc70d37fafd2829198 ./doc/html/images/scrollup.png +6af4f64aa30d4162e2c5196b8e34eef5 ./doc/html/images/disk.png +7ddae41c51c6b0a71d16edf735d35fdd ./doc/html/images/next.png +3f6681fac19897a14f2ad826fa8d55da ./doc/html/images/calendar.png +9021db39b9ae6701cc11a1d12a327ee0 ./doc/html/images/acrobat.png +e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/html/images/up.png +ee8d311bafbc474875730d7644e86047 ./doc/html/images/toc-plus.png +c11f30d22ae41cfb4ab7bea5405397f6 ./doc/html/images/prev.png +748bd6ca697319ed990120b4714f4f41 ./doc/html/directives.html +e3232c4807f1e64b0bb45d4974adf7ef ./doc/html/escape_string.html +e6ad40edf2a1be7b8bb0a11c62ce4fe4 ./doc/html/rivet.css +42f98bc63da07421a58c3c11bd71f1b0 ./doc/html/wrapline.html +16a1ed643fd2f85219c1ab2639eabbbb ./doc/html/html_calendar.html +3afa8c1ed7af1499b1c04b085ceccab9 ./doc/html/calendar_package.html +262d486ec868205e6ff45a105f05ff82 ./doc/html/installation.html +ff9bab4cb549f1f20d9bbca524618b7c ./doc/html/load_cookies.html +a684fe9f2b40c58adcedd766bc0eccf6 ./doc/html/escape_shell_command.html +da5a47df8d2cb1d378c6dc53fb8c3a9d ./doc/html/abort_code.html +a91d97e24ff660e41dbad5e145ea79ac ./doc/html/try.html +3a2ce7aa6ab70573514098c5a30b5cf0 ./doc/html/formbroker.html +a1ccb543ac68cffea78d988577364f50 ./doc/html/no_body.html +4eec8a64754012579fa56d58ff9052f2 ./doc/html/apache_log_error.html +23957dbc44611689b4e2b0b94f186e13 ./doc/html/entities.html +04a15176ced9235d1c3caece2812883b ./doc/html/catch.html +7c946bb446c0aac18d866d281476885f ./doc/html/include.html +a1b9d4caaf82fd4bac57a073db1c6652 ./doc/html/xml_calendar.html +02f9fe7c535b20286dd0dd88a4b679b8 ./doc/html/asciiglyphs.html +72be053d096d71118671c34f2114ff57 ./doc/html/parray.html +58ee826be882182b9e5b6fe0cc8ff774 ./doc/html/diodisplay.html +0e32c67c56bfb52ef9a002371f1dd463 ./doc/html/apache_table.html +6dd81a1ce77f4191eb5f87b307a79647 ./doc/html/lempty.html +a03e9f5da88ef149bead57b9c403bbdc ./doc/html/lassign_array.html +6edcc6e0f3c0b78a6a84a091931dcc9f ./doc/html/decode.html +325f0fb2837ef2ae7e43f94cfd644d65 ./doc/html/clock_to_rfc.html +8148fb0ed1ef372c970c2c760d00b8e1 ./doc/html/diodisplay_package.html +11161804dbf4a426dac5ae2b90b5c963 ./doc/html/html.html +e78562ee0a91740ad9e99f1dec9a7366 ./doc/html/lremove.html +94dbbccc108b2920479b5ddb98ce0e3f ./doc/html/form_package.html +09c09a74a3d55200cf02f1b99f17092c ./doc/html/url_script.html +ec7e143e5215d89fc7c6c36e8b88e3e5 ./doc/html/shorthand.html +682ae5378510a99709f471df25719902 ./doc/html/cookie.html +2f6697c1ac4dda932be1f6327720ffca ./doc/html/makeurl.html +f76d9eb6f30c46a3a920ca2deb86fdc5 ./doc/html/raw_post.html +bde19e3d01e4a78385606099368a1551 ./doc/html/var.html +8c92ecdc1dd07c58d601714e40ee5c61 ./doc/html/headers.html +df6cf55e228e14dbf836ac507f0e17f4 ./doc/Rivetlogo_large.jpg +4b35d264477baf6cda93a53ec7d2aebe ./doc/Rivetlogo_smaller.png +9565047e56d0ff7cfd6737c08ed79578 ./doc/Makefile.am +c27e147779c1e5fcc86ffe3cae43a111 ./doc/examples/hello1.rvt +59b36083612ed4ee0c3e4157398b9cc9 ./doc/examples/upload.html +fa7e8628f6ffeca47429bae72127210c ./doc/examples/upload.rvt +c0efa81880f019130a44617dcafdd205 ./doc/examples/myapp_request_handler.tcl +bdcc79f255a9f36fb8fb38699412a254 ./doc/examples/vars.rvt +9f179b4cfa9f91af48be3455fb707da4 ./doc/examples/colortable.rvt +6f292f0b4df228538d363ef951363c83 ./doc/examples/table.rvt +e809c838a779a985922d83cb98c11941 ./doc/examples/color-table.tcl +c8601de0d8621662a1d1ae63210a9556 ./doc/examples/hello.rvt +3b5d8225de7d0e498a8fdf14fd3af3f1 ./doc/examples/vars.html +edc18f2d779621dd96a070399f8a136b ./doc/examples/download.tcl +709f4a308b6d77f841006de441462960 ./doc/examples/myrivetapp.tcl +e90ffbbc3deb97ff9e55eeea832672d1 ./doc/examples/rivet_web_service.tcl +b097cae8b1ec1de18829f5b6a8ffd3e4 ./doc/rivet.xml.in +a3bb2ce2bca41e36c985e3bd20c04f01 ./doc/convert_examples.tcl.in +57f0caf3c6dd5c6f55de5a689125ffac ./doc/example.tcl +f634cb20e413fa4449bc64a2e86312d5 ./doc/Rivetlogo_medium.jpg +5004201397939c8a3179230b632089e7 ./doc/README.hpux +1021b8f9f543f8ae028dae47f2fed872 ./doc/rivet.xml +0d832653fcdcd28fcdb650702a91964f ./doc/README fee93f2eeb69fbaacf4f8df9dbcf836e ./doc/images/table.png -9021db39b9ae6701cc11a1d12a327ee0 ./doc/images/acrobat.png +ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/images/important.png 3da5ad8aa726fe3edd232732de3279b6 ./doc/images/remote.png -9fee8f60b6ab1fcc70d37fafd2829198 ./doc/images/scrollup.png -e54f1466db92ad5170f142cac741bba1 ./doc/images/home.png -7ddae41c51c6b0a71d16edf735d35fdd ./doc/images/next.png -dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/images/tip.png 2245032ab69fc481e2eefd246aa96e07 ./doc/images/caution.png -e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/images/up.png +6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/images/blank.png a9dfccc01739501bbc01d561da12c944 ./doc/images/toc-blank.png +b83250cd33131389656376a68fd2514c ./doc/images/word.png 0b549e01c39b98254036c965c1270e3f ./doc/images/color-table.png -6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/images/blank.png -c11f30d22ae41cfb4ab7bea5405397f6 ./doc/images/prev.png -1b1da3ec69df05af5f2a5475e8a8a24b ./doc/images/draft.png +dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/images/tip.png +80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/images/qbullet-note.png +59c28f6840b1f20094af4ffc16ce3189 ./doc/images/warning.png 109e4af9c43357a74c6de01db819f36f ./doc/images/note.png -ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/images/important.png +1b1da3ec69df05af5f2a5475e8a8a24b ./doc/images/draft.png +e54f1466db92ad5170f142cac741bba1 ./doc/images/home.png 72baddf4a76d4d74f634edf1e71134b3 ./doc/images/toc-minus.png -5004201397939c8a3179230b632089e7 ./doc/README.hpux +9fee8f60b6ab1fcc70d37fafd2829198 ./doc/images/scrollup.png +6af4f64aa30d4162e2c5196b8e34eef5 ./doc/images/disk.png +7ddae41c51c6b0a71d16edf735d35fdd ./doc/images/next.png +3f6681fac19897a14f2ad826fa8d55da ./doc/images/calendar.png +9021db39b9ae6701cc11a1d12a327ee0 ./doc/images/acrobat.png +e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/images/up.png +ee8d311bafbc474875730d7644e86047 ./doc/images/toc-plus.png +c11f30d22ae41cfb4ab7bea5405397f6 ./doc/images/prev.png 33aacd3a4a53908493ac36b22edb9b8f ./doc/rivet-chunk.xsl -e52416de874c0203f1284ddfa31fcca6 ./doc/rivet.xsl -4b35d264477baf6cda93a53ec7d2aebe ./doc/Rivetlogo_smaller.png -319cedfa6a36088ff64f2cae8550a474 ./doc/xml/asciiglyphs.xml -29b68ad3df99bd3d2f5a6c09df596b1a ./doc/xml/dio.xml -d0e3b21b36e7c47b6dab8869e1a96098 ./doc/xml/help.xml -e47f6a109829bd38ab69c6dcee71e2cc ./doc/xml/cmake.xml -9e0624c254de3c2ca4c7ce53c2c5509e ./doc/xml/commands.xml -eaf8dbbb9e5e717a657d81377f563974 ./doc/xml/installation.xml -fec8b01d2d68507be3964e94b7c799af ./doc/xml/entities.xml -787892ba4b86849679b9ce4e211b4f7a ./doc/xml/diodisplay.xml -be1413cdca74ca55e97d0d911c11eaa8 ./doc/xml/directives.xml -9df1420a2fc4867d1a62822a0ecdc929 ./doc/xml/lazybridge.xml -f567acba490fd4974630eab661620734 ./doc/xml/request.xml -6b601afa54c91ad1044fd50ee2a4bf4b ./doc/xml/session.xml -7bef8f35f52cc4029ca2caf13c41d6b1 ./doc/xml/form.xml -a1098d20f4a6aea4fc79a96af48d7ee4 ./doc/xml/processing.xml -07347f7854b4d5abb2988956666eec9a ./doc/xml/calendar.xml -0a6ed5f52e607a89ec6b578f35f0dbc1 ./doc/xml/packages.xml -aea737698fb0abed7aeab98bd3799756 ./doc/xml/formbroker.xml -29d6d1c101ed5746ea67357a30678a30 ./doc/xml/examples.xml -e80f3dcd37d7778e745a3713f0a218d1 ./doc/xml/internals.xml -5b75f36b88b7218963f1a61bec7900cd ./doc/xml/intro.xml -0d832653fcdcd28fcdb650702a91964f ./doc/README -51fcd5fddc5ccb663dfdad3df6bc0721 ./aclocal.m4 -8ef77d1c733080d652badd8178ab27c9 ./autom4te.cache/output.1 -16ec4228fe122cab9e7f2b7198caed6e ./autom4te.cache/requests -0de2cbce37e3d35683329382e7a37db9 ./autom4te.cache/traces.0 -634f8bc4e3023bee8246eb6d79a5af2d ./autom4te.cache/traces.1 -3a4dd9db17d3a390a9af252c76216ff1 ./autom4te.cache/traces.2 -8ef77d1c733080d652badd8178ab27c9 ./autom4te.cache/output.2 -8ef77d1c733080d652badd8178ab27c9 ./autom4te.cache/output.0 -15f7c96819e4ea35d132214e73a1ef67 ./TODO -be9a01e24239923b86f3288f054b141f ./config.h.in~ -e74bfabd146bccfade922f42f07dee09 ./NOTICE -b7d62137c4c4cd32ab164c2c8a0eec7c ./STATUS -60fa4e913a8874e681233f8f651fd528 ./BUGS -e8a673d5d4d69a5fd11c880fd4c3c481 ./.pc/.quilt_series -266f9759f56277b2751b24d1eb17c50f ./.pc/.quilt_patches -79ce6c76cefcc5896f430077030cdf33 ./.pc/applied-patches -d41d8cd98f00b204e9800998ecf8427e ./.pc/.dpkg-source-unapply -fc500e77449f6b5cb36a2aba61cc912c ./.pc/selective_tcl_copy.patch/Makefile.am -26ab0db90d72e28ad0ba1e22ee510510 ./.pc/.version -1e22c32f840a1f76f402dcc8b076db70 ./Makefile.in -ef162c010e5325c00868967df43b71cf ./configure.ac -a560b2bb6a55fe0bc79d2998e31b6935 ./m4/libtool.m4 -22aa295bf5320aec7fba6756ff11058a ./m4/lt~obsolete.m4 -fa2891f9060865871cbbaa1c6e2d96f4 ./m4/ltsugar.m4 -d936fd6b2025c9b5322f826117d7f30c ./m4/ltversion.m4 -064af1799febaa676203302bbf359180 ./m4/ltoptions.m4 -5a1a58193506985eb5f84e66baa2fb73 ./m4/ax_prefix_config_h.m4 -ebb455a7fd6a8ba9a4e38a25c8f0b686 ./m4/ax_compare_version.m4 -fcd03c51c78b325ddf2d85520d639abb ./m4/ax_split_version.m4 -be9a01e24239923b86f3288f054b141f ./config.h.in -e1746ef7daca9b1e1bcc0812a0b3fd77 ./tclconfig/libtool.m4 -e5f9da8b55623ead67f2bcfee03fb4d4 ./tclconfig/depcomp -83033bdc5ec203b69a7046b5cb2b4522 ./tclconfig/config.sub -b2356fd703b65ce3d36403483cf5a04c ./tclconfig/tcl.m4 -28e27b0082703426127843fe36c96cc0 ./tclconfig/compile -82f08ae96605352476d5f9d003b6041f ./tclconfig/README.txt -4df147724ddd97e56c105f686bb0c776 ./tclconfig/ltmain.sh -c9671feb88339208a8c34c54ac7a6eef ./tclconfig/config.guess -9318695a53e5ad6b5b3b23333f708e55 ./tclconfig/ChangeLog -ff06331c3f16a2d526d6399dfeabf67a ./tclconfig/missing -bac3fb7f33d1f10f02f0b6460d2eee12 ./tclconfig/install-sh -4c03221c57836ee20d48ce6c4d2f1c37 ./ChangeLog -0ae70d34afe7c08796ef8bb6fcffe06e ./configure -56ede8e24b769e1a86e35811759d0b59 ./VERSION -22add19f047b7f34ed1918664af2ad7e ./.appveyor.yml -f6321124e3d50e797bd7d12521d4183c ./contrib/two-mode-mode.el -1fa5655e3d2c7cafd813a4a18f6c87b3 ./contrib/validate_mac.tcl -8955cb21df5e53db07d5c9fff15582ce ./contrib/rvt.vim -2c7c16f1838be54075e37b80ac1f1ec2 ./contrib/form.tcl -9be4e6991aff41162cd92026c3e78b11 ./contrib/tcl.vim -a6c5494212775b110bb1efcd2d15957c ./contrib/README -511779482884908042517063a8cedd32 ./README.freebsd -e08c0390c2bc26da164b020ca0594ecc ./CHANGES -ec3c32677a766afa403a88768c7f9c94 ./INSTALL -47aff263489abdcb884bdff44213e252 ./README +e6ad40edf2a1be7b8bb0a11c62ce4fe4 ./doc/rivet.css +27e4c54f14442292e199f18484e988fe ./doc/examples-sgml/hello1.rvt +36007d300bb6d6a9df16555305dd78fe ./doc/examples-sgml/upload.html +cfa33c287ebd3ce318b8af0db2106c2f ./doc/examples-sgml/upload.rvt +bdbfb13d2621169890e4ef9aaaa09bc7 ./doc/examples-sgml/myapp_request_handler.tcl +7dbff0d3d6d1ca18dce0e41f6e67f610 ./doc/examples-sgml/vars.rvt +c477ae4247e846a1c4d2d967dcc9b4f2 ./doc/examples-sgml/colortable.rvt +674415d507f123727a18cfe49161b4cf ./doc/examples-sgml/table.rvt +5cd13d0eb9ed71b5b41ba91bd9428b19 ./doc/examples-sgml/color-table.tcl +fe10afe2726e062c7dd9cc1c8af526e0 ./doc/examples-sgml/hello.rvt +35f104d4d7eb26a0644a2a4d30215c10 ./doc/examples-sgml/vars.html +4c433583586e00f4febf4a3cee8776ea ./doc/examples-sgml/download.tcl +2fecae2aca512772c754ba4437530aee ./doc/examples-sgml/myrivetapp.tcl +d55df7c4a8841fc30b6ffe45f8e4616a ./doc/examples-sgml/rivet_web_service.tcl +de6592d4db06274be2281b0704af3ede ./doc/style.css +640dc9c4a2decd7d823fdb6c50c5bbd8 ./doc/Rivetlogo_small.png +91940d664aa665ccd04b0f587d6fa97c ./STATUS diff -Nru libapache2-mod-rivet-3.2.0/debian/autoreconf.before libapache2-mod-rivet-3.2.1/debian/autoreconf.before --- libapache2-mod-rivet-3.2.0/debian/autoreconf.before 2019-01-11 22:10:36.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/debian/autoreconf.before 2021-11-13 17:35:38.000000000 +0000 @@ -1,425 +1,429 @@ -498a94288f77bd7a54e54daf949e59b3 ./rivet/init.tcl.in -7c20b64bc453bf3a08913a5998bd8b70 ./rivet/init.tcl -9aff4f8bf4a432cf8f569ec49a5990c1 ./rivet/rivet-tcl/load_cookies.tcl -fafd0f62f8db78033728fc1ad2445426 ./rivet/rivet-tcl/tclIndex -9b980efc64e36b49fb9b62f9fe9b5fa4 ./rivet/rivet-tcl/putsnnl.tcl -39514fe99f82ceaf00d7b52a6a0ff895 ./rivet/rivet-tcl/load_response.tcl -3f062111009014cf8db9da46e54ffff4 ./rivet/rivet-tcl/xml.tcl -aed75297548d83bfaba1a6affcf3edcb ./rivet/rivet-tcl/catch.tcl -5655c94c620c125a09c1601bf7d8c78a ./rivet/rivet-tcl/wrap.tcl -0e2f59af23cb5a02b936e3c8465a0fd9 ./rivet/rivet-tcl/cookie.tcl -60095728666f772c65bba857989e825a ./rivet/rivet-tcl/html.tcl -96da316e45617a837af638900b7b97ce ./rivet/rivet-tcl/import_switch_args.tcl +bf0c69746c6da686a0350dae89911485 ./INSTALL +6f45dd07dec83afadd2f40010f189764 ./cmake/cmake_extra_modules/rivet_config.h.cmake +7ff09c3457a81c6ebbc017844ee7f9fa ./cmake/cmake_extra_modules/checks.cmake +6c26c218c2ea8004ad90cbb7a20a0bf5 ./cmake/cmake_extra_modules/FindAPR.cmake +46239c18eb16a391a44d478b49fd017e ./cmake/cmake_extra_modules/config.h.cmake +ccf61052afbccbedc8437d8d7be9e21e ./cmake/cmake_extra_modules/FindAPACHE.cmake +a6d103437fcb622fdf81e4bda5751b3c ./cmake/README.cmake +ab60cbff980753f0eed4cc5e99c5d6fe ./cmake/CMakeLists.txt +067dfbe0f1c9a9a1b2f517693023e777 ./genconf.sh +fa600d07613950c8d8b3fb729067b44e ./form.txt +fa00c6ab1cdc068cfa5886260dfc46c9 ./configure.ac +26ab0db90d72e28ad0ba1e22ee510510 ./.pc/.version +e8a673d5d4d69a5fd11c880fd4c3c481 ./.pc/.quilt_series +266f9759f56277b2751b24d1eb17c50f ./.pc/.quilt_patches +d41d8cd98f00b204e9800998ecf8427e ./.pc/.dpkg-source-unapply +fc500e77449f6b5cb36a2aba61cc912c ./.pc/selective_tcl_copy.patch/Makefile.am +79ce6c76cefcc5896f430077030cdf33 ./.pc/applied-patches +ddd45cef09e98044f5b2b711f52d06b6 ./README.configure +093f79e5b440d189822e1cfd62dd8276 ./tests/include.rvt +c6ed9f9fe1c2b65e8e4d59ea33e9cc0d ./tests/get.test +80648d4cc9a01d7254a326497a9814e6 ./tests/config.test +ff7e4e43e5275cf940b6d47bf238067e ./tests/parsepackage.test +12020b06f37899ffd50c1447458e7e01 ./tests/docroot1/vhost1.rvt +2ac4db524e5a7762904f6a3c9939cc73 ./tests/docroot1/basic1.rvt +ca56bb7bb8625f0e3326a7eba28fd551 ./tests/docroot1/afterscript.tcl +738dd7307746a913cf96eff7eee2fa96 ./tests/docroot1/beforescript.tcl +06ea7526e63f1fd126279f9c23eba669 ./tests/docroot1/childinit.tcl +95d04e5015ef291be12d344482f2af4b ./tests/upload.rvt +69e5be984c32a531af8a31e56d087388 ./tests/bailout.test +d41d8cd98f00b204e9800998ecf8427e ./tests/srm.conf +b9bee2db154569e399fbe43b8ae2becb ./tests/post.rvt +a026231949a547a743807b9c9da2c950 ./tests/redirect.rvt +747acbf9f1d3311aa8e74e615a2135d1 ./tests/headers.rvt +7778b0f53d5dd5bd2cc7d636f63753d0 ./tests/shorthand.test +b4e1a6d4e78bbd492f323d1c35c02ea4 ./tests/env_methods.tcl +ed14699c53df16b6196550ea8d87f99e ./tests/uploadsave.rvt +38d228f758364554adec0f3d7caaaa57 ./tests/fqrivet_var.tcl +b546e3b28a9d8e48b27c4419ac7fd7a7 ./tests/inspect.tcl +b74e83183d0f3fce3574dcb972ddb1f1 ./tests/tclfile.test +e7a55943fc133a8761de03a9937b46d3 ./tests/commands.test +d82c2e952b6ca79d7ba56225cb77c724 ./tests/virtualhost.test +106fe10479664985b5d74615b545b156 ./tests/tclfile.tcl +caa18e9353630ec44acdb7e8f04cf8c4 ./tests/rivetlib.test +5a125f13ccef81f6f3b335bc7f815437 ./tests/exit.tcl +f8239a56eedc9bcd3d963809bf945d6a ./tests/kill_ipcs.sh +4e5f6d62f849aa01973d42e9edd89878 ./tests/include.test +1912cacbe92d3d5b27d1b39bb96c2e0b ./tests/config.rvt +a03a7f99443f686bcc5e0880310389ee ./tests/broken.rvt +e2d30e51357ca8ab1743d14388fc5d30 ./tests/makeurl.test +a7c357c49e15f37f6414e6af11167b49 ./tests/catch.rvt +f83ffbbcc4eba6cb3c45fa0626509bad ./tests/commands.tcl +6e2541c1120b6803a1be8e6970af99f8 ./tests/failtest.test +39f90e4983cd00b235f7cb7925a85ad0 ./tests/inspect.test +0c3eae844f3f1bf9e55c4b2e617163aa ./tests/README +056d361b9049a4e38c59d32e670ad343 ./tests/apachetest/http.tcl +39a7a4bfc59ac7de3efed57b07a71386 ./tests/apachetest/pkgIndex.tcl +2da496e408bbd845602f4057f313aa54 ./tests/apachetest/template.conf.2.tcl +49a6c190e2cda31ed74144899941abcf ./tests/apachetest/template.conf.1.tcl +cdcbff4da672c44e90b2a3d5b64e8d4a ./tests/apachetest/apachetest.tcl +d41d8cd98f00b204e9800998ecf8427e ./tests/access.conf +c3cea4b6945b84a1f9c96887d3b9ef3b ./tests/hello.rvt +b6336e5d4f254a097d8f5945a75ec89c ./tests/channel.tcl +8701fc289733c6869cbe2380f2b211f9 ./tests/binary.test +a1e2576274d36fb66f389e90a2347d10 ./tests/hello.test +9a4ed13adc535352754dda88df4fd9d5 ./tests/try.rvt +d7961e89edffe4a84997a8aec137fd93 ./tests/cookies.test +d983d78c80d1ec25d0ed6b48ebb10f92 ./tests/checkfails.tcl +0be5600de63b0e4c4868fe19e7e8df12 ./tests/docroot2/basic2.rvt +467e6fc1baa8b58ee96a188a2a185e99 ./tests/docroot2/afterscript.tcl +dbffdcc703c94b31599de699f718f49a ./tests/docroot2/beforescript.tcl +7ab8ab5e39275c3e1e6aad05ade5715d ./tests/docroot2/childinit.tcl +00896dcc3258eb5d716579e61cc0e523 ./tests/docroot2/vhost2.rvt +c2c634cbb474bf764f9671fce47842b6 ./tests/parsestring.rvt +bab36eb9f2e094b1384fc41551475f5d ./tests/runtests.tcl +eb45f35569df9f0eceb450659f0a3814 ./tests/get.rvt +99311d0322a529a739467f49e22fef77 ./tests/headers.test +9f1a410b11d32a1730a687057a0bd081 ./tests/binary.rvt +9af907c0b8df465aabbd7c88b318be7b ./tests/channel.rvt +65e78318aca129323c94ef2fe9ba8c27 ./tests/include.html +f9f87e2c7b038078ea6e20443de6e1a5 ./tests/env.rvt +91d4b1e4dba6b69873fac7f85f3d907f ./tests/makeurl.rvt +d5dcfa23724901053d180aa66aa56e90 ./tests/broken.test +ae5fd61c970d3ed655599a8e3856155f ./tests/parse.rvt +a39b63de4c8beda3a9cf17aa1f30c85b ./tests/parse.test +53a3c7c58f2f1ddd942fbec4a0eb5c0f ./tests/failtest.tcl +b3547271dfccf86a58ddb1f55a025c33 ./tests/channel.test +581ab7f2d3eb814affcd3b44cbb1a8ab ./tests/mime.types +e68db59fcee27d5ded0a6cd2b18a3fa6 ./tests/cookies.rvt +dcdad939fc138fcc8c700ccad3921efb ./tests/rivet.test +fd2ab5d92a1c066f0053e2b209643091 ./tests/env.test +1957a1f5410fe3eb20de388e55ee6354 ./tests/upload.test +3e891cca1518162a5ed169d443fd0a64 ./tests/AngeloFish.jpg +23a1d8555b7e9a41f2ea9f536ce9e085 ./tests/post.test +5ad93252437106f701442f6aaef88041 ./tests/test-htaccess +df8675b2c26927f61d00fe81330f4a1b ./tests/tclconf.tcl +3f67d5c04cc08ab7e78d698f88879867 ./tests/shorthand.rvt +9b16793d7a207178fcfe487d579b6e7d ./tests/AngeloFish.png +7dbf3cb74f6fea8bb219ed916b4b91df ./src/TclWeb.c +1cae318587943e5db268dc4cfc70b4b1 ./src/TclWebcgi.c +4ed423b98883987946c0dc506f479664 ./src/rivet.h +72a2df6a99e348a1e98db8fd1ae73df9 ./src/Makefile.am +68a0a28fdfe92f10b628512fa134f57e ./src/parser/parserPkgInit.c +fe1da9bf904f331ae7072f55fc127a90 ./src/parser/rivetParser.h +47a2df1d4b3a934b537bd443af2238a2 ./src/parser/Makefile.am +6d6479d2bf5c2fa907bf260b23213d35 ./src/parser/rivetParser.c +0ae3c1add973c56048a2eba609c1616f ./src/TclWeb.h +0d9c96677673c12c45a4ccdbba89111a ./src/testing.c +b08ecf904096a998ed46aa06928be33f ./src/librivet/rivetCrypt.c +e203abfd456aff5a3be5bd292f1131de ./src/librivet/rivetWWW.c +648ab78522cc187b7c4b97f52f47f69a ./src/librivet/Makefile.am +4b9568723c7ccce0802c2c90f3c52bbe ./src/librivet/rivetList.c +ca01649d7a75ffad0108cca1c21d213b ./src/librivet/rivetPkgInit.c +44105fe10356d8b8509a3e538aa47635 ./src/mod_rivet_ng/worker_prefork_common.h +e2bfc36ec6b100be1fdc95608e0a0ae2 ./src/mod_rivet_ng/TclWebapache.c +69b926fd451cc0d663b3ebb20975b160 ./src/mod_rivet_ng/mod_rivet_generator.c +1157f8f632456acd49c890c40f5bbd3a ./src/mod_rivet_ng/mod_rivet_cache.c +cc1a8d8dd76f1794d1545c6a69153822 ./src/mod_rivet_ng/rivetCore.c +a0dff654ead0a1495fc8cf69c1c8dbbb ./src/mod_rivet_ng/Makefile.am +2108381462f275ff7be095b45f13306e ./src/mod_rivet_ng/rivetChannel.h +e96c1d480617aa315dd5c9adafb42b97 ./src/mod_rivet_ng/mod_rivet_cache.h +8eb00e7024597bf7dfd5810917c6d60c ./src/mod_rivet_ng/rivetChannel.c +f2aefc5f22bd370b47405f3ee2e8667c ./src/mod_rivet_ng/rivet_lazy_mpm.c +c27a5ce959cf07627a00a81101c634de ./src/mod_rivet_ng/rivet_worker_mpm.c +8fcd4ff9d67406ab7373eb6c91c71a45 ./src/mod_rivet_ng/apache_config.c +89c55eae31f74a0a25e2bf35d6b3c6bc ./src/mod_rivet_ng/rivetCore.h +22c877ba2ef3a7d91e1b6d67d4815094 ./src/mod_rivet_ng/apache_config.h +de0f16c82f16de0035f9cc4ec45e1cc3 ./src/mod_rivet_ng/mod_rivet.c +5f98e736043ed06a41c0a45350b2867c ./src/mod_rivet_ng/mod_rivet.h +121357f807475cd90f0cc5443bdf9db5 ./src/mod_rivet_ng/mod_rivet_common.c +894da5fff4926bf1760a55aae88a5d4f ./src/mod_rivet_ng/rivet_prefork_mpm.c +9898988c7e99d792efd9ddfc618745d3 ./src/mod_rivet_ng/rivet_types.h +b5edea2bcf3d1cc28eae4aceb48643e9 ./src/mod_rivet_ng/mod_rivet_common.h +95276bf8fc884d369a12a1c83de03b80 ./src/mod_rivet_ng/mod_rivet_generator.h +38ec67e62e1ed3b6659b07c1a647a9f4 ./src/mod_rivet_ng/rivetInspect.c +ec332b64f5275ba28486077fa0240fab ./src/mod_rivet_ng/worker_prefork_common.c +8b33ce33d9f01a80e00b6344b02230d6 ./src/request/apache_request.c +72a858882c12822114d51834cda67bf5 ./src/request/apache_request.h +abcfa33fdef46779671f1cbf7f90e711 ./src/request/apache_multipart_buffer.h +dbdcd146135d66b84a38dbeb49e46895 ./src/request/apache_multipart_buffer.c +3b83ef96387f14655fc854ddc3c6bd57 ./LICENSE +e1746ef7daca9b1e1bcc0812a0b3fd77 ./tclconfig/libtool.m4 +b2356fd703b65ce3d36403483cf5a04c ./tclconfig/tcl.m4 +82f08ae96605352476d5f9d003b6041f ./tclconfig/README.txt +9318695a53e5ad6b5b3b23333f708e55 ./tclconfig/ChangeLog +c7fe2389a45244848820063e575c971a ./Makefile.am +e74bfabd146bccfade922f42f07dee09 ./NOTICE +42e3d90925c86d065360020ba36b1759 ./acinclude.m4 +511779482884908042517063a8cedd32 ./README.freebsd +60fa4e913a8874e681233f8f651fd528 ./BUGS +f6321124e3d50e797bd7d12521d4183c ./contrib/two-mode-mode.el +2c7c16f1838be54075e37b80ac1f1ec2 ./contrib/form.tcl +a6c5494212775b110bb1efcd2d15957c ./contrib/README +1fa5655e3d2c7cafd813a4a18f6c87b3 ./contrib/validate_mac.tcl +8955cb21df5e53db07d5c9fff15582ce ./contrib/rvt.vim +9be4e6991aff41162cd92026c3e78b11 ./contrib/tcl.vim +a5a4f3833799505efb3afe3c6e409f2a ./README.MacOSX +e08c0390c2bc26da164b020ca0594ecc ./CHANGES +bd9a53c187dc2f1a5f5902e978b877cb ./config.h.in +fa0f52b5bd8aafb397a238805cb9fefc ./README.md +3b3c47a6b6a3b1265bc841118ab24b46 ./README +eb45c5fed6dae303605633ac2123dfad ./rivet/default_request_handler.tcl +19e82d45f1d3ae53dd9f2b872c9d53d5 ./rivet/pkgIndex.tcl +d9fea026db72d24be33cac9e68b7c540 ./rivet/init.tcl 1e8f32263fc0873af075bef89521c804 ./rivet/rivet-tcl/debug.tcl -c31d5b71a87f2ee57552147b301e63fb ./rivet/rivet-tcl/import_keyvalue_pairs.tcl 0cc2b666607fa4d7ef369420203969b3 ./rivet/rivet-tcl/rivet_command_document.tcl +aee7e215aa88f134fcb1bbc5dcf9d753 ./rivet/rivet-tcl/parray.tcl +39514fe99f82ceaf00d7b52a6a0ff895 ./rivet/rivet-tcl/load_response.tcl +0e2f59af23cb5a02b936e3c8465a0fd9 ./rivet/rivet-tcl/cookie.tcl 698273bd27094481d75f2aacae405812 ./rivet/rivet-tcl/try.tcl +5655c94c620c125a09c1601bf7d8c78a ./rivet/rivet-tcl/wrap.tcl +9b980efc64e36b49fb9b62f9fe9b5fa4 ./rivet/rivet-tcl/putsnnl.tcl 754726938de235da1ede212b9f8d326e ./rivet/rivet-tcl/url_query.tcl +60095728666f772c65bba857989e825a ./rivet/rivet-tcl/html.tcl +25434893bb973811dd9c334a90f3c52f ./rivet/rivet-tcl/README +c31d5b71a87f2ee57552147b301e63fb ./rivet/rivet-tcl/import_keyvalue_pairs.tcl +fafd0f62f8db78033728fc1ad2445426 ./rivet/rivet-tcl/tclIndex +96da316e45617a837af638900b7b97ce ./rivet/rivet-tcl/import_switch_args.tcl +3f062111009014cf8db9da46e54ffff4 ./rivet/rivet-tcl/xml.tcl dbb248a33c1c83f7670d162adc189d6e ./rivet/rivet-tcl/lmatch.tcl -aee7e215aa88f134fcb1bbc5dcf9d753 ./rivet/rivet-tcl/parray.tcl -e947a132709992c34d5267a785e93cd1 ./rivet/rivet-tcl/parray_table.tcl -3363e00a99c23175655e92cdf9aeeb37 ./rivet/rivet-tcl/redirect.tcl 062b244b3f2a5bab314a2e1834bf3f85 ./rivet/rivet-tcl/lempty.tcl -b08e501f86d727e91343045b3b189548 ./rivet/rivet-tcl/http_accept.tcl +9aff4f8bf4a432cf8f569ec49a5990c1 ./rivet/rivet-tcl/load_cookies.tcl 0b16475c23ebf93f811f127c47f579f1 ./rivet/rivet-tcl/random.tcl +b08e501f86d727e91343045b3b189548 ./rivet/rivet-tcl/http_accept.tcl +e947a132709992c34d5267a785e93cd1 ./rivet/rivet-tcl/parray_table.tcl +3363e00a99c23175655e92cdf9aeeb37 ./rivet/rivet-tcl/redirect.tcl 921cf44ad1f00056e4e2a72e20ce38d4 ./rivet/rivet-tcl/read_file.tcl -25434893bb973811dd9c334a90f3c52f ./rivet/rivet-tcl/README -fbfe249775d10f0349cb1c73f657cc3b ./rivet/pkgIndex.tcl -d49f7a22b7ab5b7cbdf9db342ecae140 ./rivet/packages/entities/entities.tcl -cebea98e11bf1a87506af38180808d5e ./rivet/packages/dio/dio_Postgresql.tcl -8ebd691e81f655401c82093c676bd61c ./rivet/packages/dio/dio_Mysql.tcl -71276078d73477d4874490ae04b68880 ./rivet/packages/dio/dio_Tdbc.tcl -69baa8f9b425d24698b98534e0e6ca2b ./rivet/packages/dio/diodisplay.tcl -9db63fa9bbc4b618c620c809a602229a ./rivet/packages/dio/sql.tcl -c302165f3b3261ea06641bea4503c19d ./rivet/packages/dio/dio.tcl -715eb3d4836369bc0c475aa5751bf638 ./rivet/packages/dio/pkgIndex.tcl -a38194dfbd0eb9333561ba2466d8401d ./rivet/packages/dio/dio_Sqlite.tcl -3f216e2ca3b7b4408e4326934dad40fa ./rivet/packages/dio/aida.tcl -5575a81a41247f86dbbf3ecc6f7fb5ce ./rivet/packages/dio/dio_Oracle.tcl -314511f2cd0a30fbba5a4063a1f8aa46 ./rivet/packages/formbroker/formbroker.tcl +aed75297548d83bfaba1a6affcf3edcb ./rivet/rivet-tcl/catch.tcl +8ed6ea7211dc974869c05ac38d46de5b ./rivet/README +cefb54503bfb24f85bc7c30acb0e41cf ./rivet/packages/session/session-class.tcl +adf5d585aa36df8bce000bc940cdbe8f ./rivet/packages/session/session-create-oracle.sql +c13acaa6d152a09a7bcb9bce5944bf4c ./rivet/packages/session/pkgIndex.tcl +918113ed6bd6c8b7dc0ef0169c1717af ./rivet/packages/session/session-create-postgresql.sql 013976112daf833ee1131e3eec85ec18 ./rivet/packages/session/session-drop.sql -63ba7c936cb6d433504bf798037dd906 ./rivet/packages/session/session-create-sqlite.sql -252a5f76ced24996839e3026b3e1a754 ./rivet/packages/session/session-create-mysql.sql -1bbd3c9d04e0ddb8c44a9c9d294e4684 ./rivet/packages/session/session-httpd.conf 06dfce07671738348a86d88d7bccff9c ./rivet/packages/session/README.txt -2c6dee37c19055af977317d1e90327a5 ./rivet/packages/session/session-create-oracle.sql -918113ed6bd6c8b7dc0ef0169c1717af ./rivet/packages/session/session-create-postgresql.sql -c13acaa6d152a09a7bcb9bce5944bf4c ./rivet/packages/session/pkgIndex.tcl +30802b366581ae3f112197ed8497814e ./rivet/packages/session/session-create-mysql.sql a5ec498f097777be62883f3babce8726 ./rivet/packages/session/session-demo.rvt -1c365171e4746f65846a5356b3f6d375 ./rivet/packages/session/session-class.tcl +beb8e467134556d758587d7d63c44566 ./rivet/packages/session/session-create-sqlite.sql +1bbd3c9d04e0ddb8c44a9c9d294e4684 ./rivet/packages/session/session-httpd.conf 07b000fc16cb94a9e3032935bbe8d996 ./rivet/packages/session/session-purge-mysql.sql -2abd9ef42f5a73c96249affcd03e78ec ./rivet/packages/rivet_ncgi/rivet_ncgi.tcl -c8d1307b3c90ba856eec19da0949e66c ./rivet/packages/commserver/server.tcl -3447719c1e57f6dd9f864eb9def383b4 ./rivet/packages/commserver/commserver.tcl -a8f141ebae8a07bce77b796622172432 ./rivet/packages/dtcl/dtcl.tcl -0894fa14ba8472dbda3c1d64afb4001e ./rivet/packages/dtcl/pkgIndex.tcl +d49f7a22b7ab5b7cbdf9db342ecae140 ./rivet/packages/entities/entities.tcl ec96aad5f8790511449ce086eb18499a ./rivet/packages/tclrivet/parse.tcl -84c0c608520e9755941a303a925e701d ./rivet/packages/tclrivet/tclrivet.tcl -eef313d0319d58026038711456ccf34b ./rivet/packages/tclrivet/tclrivetparser.tcl ba04be5f14287fdf8f23a1ed80c021c7 ./rivet/packages/tclrivet/pkgIndex.tcl +eef313d0319d58026038711456ccf34b ./rivet/packages/tclrivet/tclrivetparser.tcl bbc060678d5ff039abb276a9a5a21cd3 ./rivet/packages/tclrivet/README -cc5d1911fbcb3e65ab7dbecb6ab72c3a ./rivet/packages/asciiglyphs/asciiglyphs.tcl +84c0c608520e9755941a303a925e701d ./rivet/packages/tclrivet/tclrivet.tcl +c545a255e0bd410a3fa2461d097e1446 ./rivet/packages/formbroker/formbroker.tcl +619c61716892fa0985b12705719cb51f ./rivet/packages/form/form2.tcl 3fd58ea6f14255b877bece448beb279c ./rivet/packages/form/pkgIndex.tcl -594c03432c03c5291b5e382672b6fd3c ./rivet/packages/form/form2.tcl -c2c76d4a16cdffa0aac805db1a85b4ea ./rivet/packages/form/form.tcl +2f01380b641abb0952092fde33bd0f87 ./rivet/packages/form/form.tcl +3b0e45d12e10533d5f679ed1a12feae4 ./rivet/packages/form/form22.tcl +0894fa14ba8472dbda3c1d64afb4001e ./rivet/packages/dtcl/pkgIndex.tcl +a8f141ebae8a07bce77b796622172432 ./rivet/packages/dtcl/dtcl.tcl +385585722527f901fd60ca1ec21bea34 ./rivet/packages/simpledb/pkgIndex.tcl c51efbe74bf051c27b8ecaed066c35e8 ./rivet/packages/simpledb/simpledb.test 0472b3ce557c8134063986a4364ecfc5 ./rivet/packages/simpledb/simpledb.tcl -385585722527f901fd60ca1ec21bea34 ./rivet/packages/simpledb/pkgIndex.tcl 47698b219135f6d32c460820add0ca0f ./rivet/packages/calendar/calendar.tcl +cc5d1911fbcb3e65ab7dbecb6ab72c3a ./rivet/packages/asciiglyphs/asciiglyphs.tcl 033ecc6bce6e28f9f444fa82a44bad83 ./rivet/packages/README -eb45c5fed6dae303605633ac2123dfad ./rivet/default_request_handler.tcl -8ed6ea7211dc974869c05ac38d46de5b ./rivet/README -c685b9b87fe16cb640680378750a123b ./.gitignore -b7fb1a0665a14adf5dfa1d036a21d2b3 ./src/rivet.h -0d9c96677673c12c45a4ccdbba89111a ./src/testing.c -c7729066bbbcd4d4932e2ba07c129328 ./src/mod_rivet_ng/mod_rivet.c -7add7f42e2f8b5f7bcc2920c409b1fc6 ./src/mod_rivet_ng/rivetInspect.c -44105fe10356d8b8509a3e538aa47635 ./src/mod_rivet_ng/worker_prefork_common.h -009b22c3adda93d71ce4f91085c02151 ./src/mod_rivet_ng/apache_config.c -11d0395718bd9d548d4a724080bdda8f ./src/mod_rivet_ng/rivet_types.h -a0dff654ead0a1495fc8cf69c1c8dbbb ./src/mod_rivet_ng/Makefile.am -ab8156ab515f3f832364b2e628afcc23 ./src/mod_rivet_ng/rivet_prefork_mpm.c -f431c725cbbef6520cc64fbf123414bf ./src/mod_rivet_ng/rivet_worker_mpm.c -dc753678005e4cf2f9b7ae4c0d515ba6 ./src/mod_rivet_ng/rivetCore.c -a403b528ec9d317759ee204632272dd9 ./src/mod_rivet_ng/apache_config.h -aec0414db876a0102257336c8ac5044e ./src/mod_rivet_ng/mod_rivet_common.h -dee413a18b87de0acae8eaf5005b4d36 ./src/mod_rivet_ng/rivetChannel.c -ad0e45f6cd66c14f6e04be9d32d8233a ./src/mod_rivet_ng/worker_prefork_common.c -129ac040d186d5527917ded8cfe1ab93 ./src/mod_rivet_ng/mod_rivet_generator.h -89c55eae31f74a0a25e2bf35d6b3c6bc ./src/mod_rivet_ng/rivetCore.h -9ceea9468db1886ed28e6d814049f041 ./src/mod_rivet_ng/mod_rivet_common.c -8bd1627f53a2782f4092f60ad0e399bd ./src/mod_rivet_ng/mod_rivet_generator.c -5021ad3b5d7464e93721a0740315fadc ./src/mod_rivet_ng/rivet_lazy_mpm.c -2108381462f275ff7be095b45f13306e ./src/mod_rivet_ng/rivetChannel.h -6779867481e2dfece9756cb6667c2706 ./src/mod_rivet_ng/TclWebapache.c -24fcbdc171b233c289352e1893d46d7a ./src/mod_rivet_ng/mod_rivet_cache.c -dbbe86505b538b8b0fbe1af098d889c9 ./src/mod_rivet_ng/mod_rivet_cache.h -53ad69ee3c85b179d0ba9272d93930f4 ./src/mod_rivet_ng/mod_rivet.h -7dbf3cb74f6fea8bb219ed916b4b91df ./src/TclWeb.c -bc7952d5016c6db132f58a5d3a967afc ./src/request/apache_request.h -f060fc4ffc9ef3ca0460918beed03662 ./src/request/apache_multipart_buffer.c -97979c8110d06018418664723441248e ./src/request/apache_multipart_buffer.h -f07b6beeadf376aaee00e18ca05c35e9 ./src/request/apache_request.c -72a2df6a99e348a1e98db8fd1ae73df9 ./src/Makefile.am -3447289bec3c6e49d91154925e9a45a1 ./src/librivet/rivetList.c -648ab78522cc187b7c4b97f52f47f69a ./src/librivet/Makefile.am -28bb955ce7d08879f486a7263e116294 ./src/librivet/rivetWWW.c -ca01649d7a75ffad0108cca1c21d213b ./src/librivet/rivetPkgInit.c -b08ecf904096a998ed46aa06928be33f ./src/librivet/rivetCrypt.c -22ff72d715530e8d4ef87fd7950ed1a8 ./src/TclWeb.h -7602c881d0eff05a3fe56d86b1bdd35b ./src/parser/rivetParser.c -47a2df1d4b3a934b537bd443af2238a2 ./src/parser/Makefile.am -fe1da9bf904f331ae7072f55fc127a90 ./src/parser/rivetParser.h -68a0a28fdfe92f10b628512fa134f57e ./src/parser/parserPkgInit.c -1cae318587943e5db268dc4cfc70b4b1 ./src/TclWebcgi.c -a5a4f3833799505efb3afe3c6e409f2a ./README.MacOSX -067dfbe0f1c9a9a1b2f517693023e777 ./genconf.sh -42e3d90925c86d065360020ba36b1759 ./acinclude.m4 -fa600d07613950c8d8b3fb729067b44e ./form.txt -c7fe2389a45244848820063e575c971a ./Makefile.am -ddd45cef09e98044f5b2b711f52d06b6 ./README.configure +3447719c1e57f6dd9f864eb9def383b4 ./rivet/packages/commserver/commserver.tcl +c8d1307b3c90ba856eec19da0949e66c ./rivet/packages/commserver/server.tcl +2abd9ef42f5a73c96249affcd03e78ec ./rivet/packages/rivet_ncgi/rivet_ncgi.tcl +69baa8f9b425d24698b98534e0e6ca2b ./rivet/packages/dio/diodisplay.tcl +715eb3d4836369bc0c475aa5751bf638 ./rivet/packages/dio/pkgIndex.tcl +06e6861f4586b6d42b2b3da91fcf8b52 ./rivet/packages/dio/dio_Mysql.tcl +71276078d73477d4874490ae04b68880 ./rivet/packages/dio/dio_Tdbc.tcl +776ec18f3297dd62d554fdef95e79801 ./rivet/packages/dio/dio_Sqlite.tcl +d5d729bcf2ae74627daf563310208511 ./rivet/packages/dio/dio_Postgresql.tcl +a19434ed61c58b5c759351b0a018348e ./rivet/packages/dio/aida.tcl +8f938ee05e06e49c0fd4046624a4d829 ./rivet/packages/dio/sql.tcl +5575a81a41247f86dbbf3ecc6f7fb5ce ./rivet/packages/dio/dio_Oracle.tcl +dd52d3ee8c8a9878b16b7d9946b6970f ./rivet/packages/dio/dio.tcl +498a94288f77bd7a54e54daf949e59b3 ./rivet/init.tcl.in +5a1a58193506985eb5f84e66baa2fb73 ./m4/ax_prefix_config_h.m4 +ebb455a7fd6a8ba9a4e38a25c8f0b686 ./m4/ax_compare_version.m4 +fcd03c51c78b325ddf2d85520d639abb ./m4/ax_split_version.m4 +15f7c96819e4ea35d132214e73a1ef67 ./TODO b4ec9e131507ea3596a149cb1c66b2d6 ./cvsversion.tcl -6f45dd07dec83afadd2f40010f189764 ./cmake/cmake_extra_modules/rivet_config.h.cmake -ccf61052afbccbedc8437d8d7be9e21e ./cmake/cmake_extra_modules/FindAPACHE.cmake -7ff09c3457a81c6ebbc017844ee7f9fa ./cmake/cmake_extra_modules/checks.cmake -6c26c218c2ea8004ad90cbb7a20a0bf5 ./cmake/cmake_extra_modules/FindAPR.cmake -46239c18eb16a391a44d478b49fd017e ./cmake/cmake_extra_modules/config.h.cmake -5e35431d9e878731fca439495311fa85 ./cmake/CMakeLists.txt -a6d103437fcb622fdf81e4bda5751b3c ./cmake/README.cmake -eb45f35569df9f0eceb450659f0a3814 ./tests/get.rvt -a39b63de4c8beda3a9cf17aa1f30c85b ./tests/parse.test -6e2541c1120b6803a1be8e6970af99f8 ./tests/failtest.test -5ad93252437106f701442f6aaef88041 ./tests/test-htaccess -69e5be984c32a531af8a31e56d087388 ./tests/bailout.test -d5dcfa23724901053d180aa66aa56e90 ./tests/broken.test -d82c2e952b6ca79d7ba56225cb77c724 ./tests/virtualhost.test -d41d8cd98f00b204e9800998ecf8427e ./tests/access.conf -9a4ed13adc535352754dda88df4fd9d5 ./tests/try.rvt -caa18e9353630ec44acdb7e8f04cf8c4 ./tests/rivetlib.test -4e5f6d62f849aa01973d42e9edd89878 ./tests/include.test -ed14699c53df16b6196550ea8d87f99e ./tests/uploadsave.rvt -0a71c9d353530e0198384754121282cb ./tests/rivet.test -df8675b2c26927f61d00fe81330f4a1b ./tests/tclconf.tcl -65e78318aca129323c94ef2fe9ba8c27 ./tests/include.html -d983d78c80d1ec25d0ed6b48ebb10f92 ./tests/checkfails.tcl -38d228f758364554adec0f3d7caaaa57 ./tests/fqrivet_var.tcl -b9bee2db154569e399fbe43b8ae2becb ./tests/post.rvt -056d361b9049a4e38c59d32e670ad343 ./tests/apachetest/http.tcl -561ac56492a979204d461d58c8fe9387 ./tests/apachetest/template.conf.2.tcl -61c37feeb87af7bfe98fca2de06617a9 ./tests/apachetest/template.conf.1.tcl -39a7a4bfc59ac7de3efed57b07a71386 ./tests/apachetest/pkgIndex.tcl -bc5b665c0a9598da81d0f88bb51c1f77 ./tests/apachetest/apachetest.tcl -c2c634cbb474bf764f9671fce47842b6 ./tests/parsestring.rvt -91d4b1e4dba6b69873fac7f85f3d907f ./tests/makeurl.rvt -d7961e89edffe4a84997a8aec137fd93 ./tests/cookies.test -3f67d5c04cc08ab7e78d698f88879867 ./tests/shorthand.rvt -80648d4cc9a01d7254a326497a9814e6 ./tests/config.test -9af907c0b8df465aabbd7c88b318be7b ./tests/channel.rvt -747acbf9f1d3311aa8e74e615a2135d1 ./tests/headers.rvt -b6336e5d4f254a097d8f5945a75ec89c ./tests/channel.tcl -913f4b3253bffd91c8f14d1fff676aa0 ./tests/headers.test -7778b0f53d5dd5bd2cc7d636f63753d0 ./tests/shorthand.test -e7a55943fc133a8761de03a9937b46d3 ./tests/commands.test -c632ee75112574e48e33413dc62b3411 ./tests/upload.rvt -d41d8cd98f00b204e9800998ecf8427e ./tests/srm.conf -c6ed9f9fe1c2b65e8e4d59ea33e9cc0d ./tests/get.test -b3547271dfccf86a58ddb1f55a025c33 ./tests/channel.test -ff7e4e43e5275cf940b6d47bf238067e ./tests/parsepackage.test -f8239a56eedc9bcd3d963809bf945d6a ./tests/kill_ipcs.sh -a1e2576274d36fb66f389e90a2347d10 ./tests/hello.test -b6d8c793a63ec4dd568af1d9fda25ff9 ./tests/env.test -9f1a410b11d32a1730a687057a0bd081 ./tests/binary.rvt -e2d30e51357ca8ab1743d14388fc5d30 ./tests/makeurl.test -a7c357c49e15f37f6414e6af11167b49 ./tests/catch.rvt -c3cea4b6945b84a1f9c96887d3b9ef3b ./tests/hello.rvt -3e891cca1518162a5ed169d443fd0a64 ./tests/AngeloFish.jpg -23a1d8555b7e9a41f2ea9f536ce9e085 ./tests/post.test -106fe10479664985b5d74615b545b156 ./tests/tclfile.tcl -581ab7f2d3eb814affcd3b44cbb1a8ab ./tests/mime.types -b74e83183d0f3fce3574dcb972ddb1f1 ./tests/tclfile.test -65c4799051ab63a62f26da429a643ab6 ./tests/runtests.tcl -093f79e5b440d189822e1cfd62dd8276 ./tests/include.rvt -d5cce8082a8c90f6211e833df905b2b7 ./tests/upload.test -5a125f13ccef81f6f3b335bc7f815437 ./tests/exit.tcl -1912cacbe92d3d5b27d1b39bb96c2e0b ./tests/config.rvt -ae5fd61c970d3ed655599a8e3856155f ./tests/parse.rvt -e68db59fcee27d5ded0a6cd2b18a3fa6 ./tests/cookies.rvt -3a66d8401b0d679c26eda5d7d38980db ./tests/binary.test -f83ffbbcc4eba6cb3c45fa0626509bad ./tests/commands.tcl -7ab8ab5e39275c3e1e6aad05ade5715d ./tests/docroot2/childinit.tcl -00896dcc3258eb5d716579e61cc0e523 ./tests/docroot2/vhost2.rvt -0be5600de63b0e4c4868fe19e7e8df12 ./tests/docroot2/basic2.rvt -467e6fc1baa8b58ee96a188a2a185e99 ./tests/docroot2/afterscript.tcl -dbffdcc703c94b31599de699f718f49a ./tests/docroot2/beforescript.tcl -a026231949a547a743807b9c9da2c950 ./tests/redirect.rvt -b546e3b28a9d8e48b27c4419ac7fd7a7 ./tests/inspect.tcl -12020b06f37899ffd50c1447458e7e01 ./tests/docroot1/vhost1.rvt -06ea7526e63f1fd126279f9c23eba669 ./tests/docroot1/childinit.tcl -ca56bb7bb8625f0e3326a7eba28fd551 ./tests/docroot1/afterscript.tcl -738dd7307746a913cf96eff7eee2fa96 ./tests/docroot1/beforescript.tcl -2ac4db524e5a7762904f6a3c9939cc73 ./tests/docroot1/basic1.rvt -53a3c7c58f2f1ddd942fbec4a0eb5c0f ./tests/failtest.tcl -9ec7bc4acdc493c0da973cef09cb55bf ./tests/env.rvt -a03a7f99443f686bcc5e0880310389ee ./tests/broken.rvt -39f90e4983cd00b235f7cb7925a85ad0 ./tests/inspect.test -0c3eae844f3f1bf9e55c4b2e617163aa ./tests/README -3b83ef96387f14655fc854ddc3c6bd57 ./LICENSE -ccc87ae2ee71db668851487d15a9c052 ./doc/rivet.xml.in -df6cf55e228e14dbf836ac507f0e17f4 ./doc/Rivetlogo_large.jpg -7f6a5d33bf56de220cb9ff76bb0f727f ./doc/Makefile.am -24952aa438232405d869ca8b655fa582 ./doc/Rivetlogo_small.jpg -db974ca2a83c4fc25198b505c0384694 ./doc/release-notes.txt -de6592d4db06274be2281b0704af3ede ./doc/style.css +7607e9da1dba5d65c47b93f7b458136c ./.appveyor.yml +c3411e1e149f4727fbe88ee50653f486 ./VERSION +bf7b6be0c8c31e0a5bcfe9db2f3016e5 ./.gitignore +4327e4eb3c07d41043a5239a28ee4b2d ./ChangeLog 07b7363dbd36e2913e06bc251688eda9 ./doc/examples.rvt -0541d3df42520911f268abc730f3afe0 ./doc/asf_logo.gif -edc18f2d779621dd96a070399f8a136b ./doc/examples/download.tcl -3b5d8225de7d0e498a8fdf14fd3af3f1 ./doc/examples/vars.html -709f4a308b6d77f841006de441462960 ./doc/examples/myrivetapp.tcl -e809c838a779a985922d83cb98c11941 ./doc/examples/color-table.tcl -e90ffbbc3deb97ff9e55eeea832672d1 ./doc/examples/rivet_web_service.tcl -a67c75e27323177dc80f3603bf4e74bf ./doc/examples/myapp_request_handler.tcl -fa7e8628f6ffeca47429bae72127210c ./doc/examples/upload.rvt -c27e147779c1e5fcc86ffe3cae43a111 ./doc/examples/hello1.rvt -bdcc79f255a9f36fb8fb38699412a254 ./doc/examples/vars.rvt -6f292f0b4df228538d363ef951363c83 ./doc/examples/table.rvt -c8601de0d8621662a1d1ae63210a9556 ./doc/examples/hello.rvt -474db63c02f14656bffb6ec9f73d03ee ./doc/examples/upload.html -9f179b4cfa9f91af48be3455fb707da4 ./doc/examples/colortable.rvt -f634cb20e413fa4449bc64a2e86312d5 ./doc/Rivetlogo_medium.jpg 0e035edc907adf85f69c0395fcda4f6f ./doc/rivet-nochunk.xsl -57f0caf3c6dd5c6f55de5a689125ffac ./doc/example.tcl -02c161edd2800abc34cd55e1860d9ee8 ./doc/rivet.css -a3bb2ce2bca41e36c985e3bd20c04f01 ./doc/convert_examples.tcl.in -cc8a5952d644cc7af8a1b76f8cb61089 ./doc/rivet.xml -5047ec81a15757188eeddde6d48814af ./doc/html/headers.html -1e8c35153028210ac82c3c00398924d8 ./doc/html/load_env.html -7a9836b2c991e9d359ee11051295726c ./doc/html/diodisplay.html -8ad988ddf2a4213ac422c4f45bb15a92 ./doc/html/escape_sgml_chars.html -d51056179f09f9865dc1cf9543c2bf8f ./doc/html/examples.html -ff0d9c4a28ee02a1180177e4f6e779ba ./doc/html/encode.html -0ea2d59b7c1c4a670233c8134d199351 ./doc/html/lassign_array.html -21fa28c8b4a8175202d9925c757a56eb ./doc/html/calendar_package.html -8db38f25d0819de315f9f507e8d11e20 ./doc/html/apache_log_error.html -e588c590414a3363b6caac4286aec727 ./doc/html/help.html -275db97122428fda4acde896c1c2c6f6 ./doc/html/clock_to_rfc.html -80cf20c6d4f8a2743559d0a4c925225c ./doc/html/index.html -afd78dcad3ac2d7d59c86784316e254d ./doc/html/installation.html -55289d98c5d3e94caeb4c5c246514e81 ./doc/html/apache_table.html -983fc53ba65213d2255d1e54daa2d90f ./doc/html/entities.html -496823d94b10cdbae6b19f3ea3deb0a8 ./doc/html/read_file.html -87c8e6a9cf490100dd5e8208119ae5fa ./doc/html/import_keyvalue_pairs.html -c0694184c38645554ae22a4bc2100b9c ./doc/html/dio.html -8f6cff8a5b255318e5a64a6cab362753 ./doc/html/catch.html -dde7e737a6f9783806a95cb2fb36f918 ./doc/html/include.html -3ddb7f566e860ccb67be4c8b4cd7c5e7 ./doc/html/escape_shell_command.html -ce2329adf723fbea3a190d6d169171d5 ./doc/html/xml_calendar.html -3ff7dbf55c6109ad8ff2cbabc62cc1d3 ./doc/html/url_script.html -90bdb8edfb73642c647f7da7deb6aab6 ./doc/html/incr0.html -542e45543add0bbbd3a42bc64764be53 ./doc/html/abort_code.html -f7b37ed9eed2c77aa16931e72d4227db ./doc/html/parray.html -0c8ba2740735f801fc9e8b60f5b4da70 ./doc/html/load_response.html -b05486f4b993dc184e09bb6b8ef8b5d1 ./doc/html/xml.html -e4676db337d161dbcb14a82fbf8c98b0 ./doc/html/shorthand.html -219d2de8ccd57edb3ee81d836599972f ./doc/html/escape_string.html -1975a22697166fee1156aeea1f49858b ./doc/html/diodisplay_package.html -98014808d8c0da13bfa8c708be9f059d ./doc/html/raw_post.html -96c585a945cce25cecf4338be682f63f ./doc/html/lazybridge.html -d8d92092c5cac5c7093c590611ddebb7 ./doc/html/load_headers.html -7d1dda06b7492886ed3a15569639dfe4 ./doc/html/http_accept.html -eb577554965cd52ace6e289b6eaf76e7 ./doc/html/load_cookies.html -11406a31e55c65a0812e543c34f06504 ./doc/html/var.html -fdb7fea1bbd4954dcfdc6e06f6074f3e ./doc/html/exit.html -d95af1162c329b9d7dd8e8e4f44625df ./doc/html/no_body.html -c0e441cf378e6eda08b9738e89f72260 ./doc/html/commands.html -02c161edd2800abc34cd55e1860d9ee8 ./doc/html/rivet.css -2f9c712065f0936deb88660a273e16ec ./doc/html/form.html -7c867ec6fd5c67fab0a4e760d9be47d6 ./doc/html/form_package.html -82404df7c3b2385f885eaa6f56187132 ./doc/html/dio_package.html -c68d2ad0c0eb1a76bd82b05b26db9250 ./doc/html/internals.html -14f4dff4b07db05ed7c62cbd2810426f ./doc/html/abort_page.html -cfb5d626872e9a7b889985f1b3b2e54c ./doc/html/decode.html -1d020c19f35a6bdf9054e363cae122f5 ./doc/html/try.html -8c07fbc010888075db87afa9682c3f1e ./doc/html/fb.html -14c1514a6a2a5facbedce3e7861540ba ./doc/html/html_calendar.html -afb9708be35682562c530dc692d92784 ./doc/html/session_package.html -09fadd12555deb3feb927b26d2edbef7 ./doc/html/processing.html -dcd9b08809a098e4d7616ef63b72f451 ./doc/html/request.html -0b5b903934d3d36e32adf4984d60e3f6 ./doc/html/unescape_string.html -670b28e9f4099bbba9cbf8e7af335b56 ./doc/html/upload.html -b7709c3addd2211d33a2621ec47886d5 ./doc/html/parse.html -9cbb1da86a8291e3e24124bb64033303 ./doc/html/lremove.html -216e83197149340cd003a7c5d7dd01d7 ./doc/html/formbroker.html -d7c84a37abf94be531887a48f5b6be13 ./doc/html/debug.html -5771db4611ccc51aeccc1ab52e879e70 ./doc/html/wrap.html -b7f5a7b4bb0197ff6c45cad3a5530eb7 ./doc/html/calendar.html -909a2237e8b4d8eb37de80c39681e5f0 ./doc/html/redirect.html -2abd1a67a0864df7654d8ffa65e4d389 ./doc/html/env.html -ccfde0ce1b251dfc550ad1f872f6796c ./doc/html/wrapline.html -f2bf5007d2ef3c554c58b395d0a182c5 ./doc/html/inspect.html -4048f307a4270dffc7f73b1573ffb14d ./doc/html/tcl_packages.html -df6315296e7c64db388dd75a15cd2514 ./doc/html/html.html -80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/html/images/qbullet-note.png -b83250cd33131389656376a68fd2514c ./doc/html/images/word.png -6af4f64aa30d4162e2c5196b8e34eef5 ./doc/html/images/disk.png -59c28f6840b1f20094af4ffc16ce3189 ./doc/html/images/warning.png -3f6681fac19897a14f2ad826fa8d55da ./doc/html/images/calendar.png -ee8d311bafbc474875730d7644e86047 ./doc/html/images/toc-plus.png +0541d3df42520911f268abc730f3afe0 ./doc/asf_logo.gif +e52416de874c0203f1284ddfa31fcca6 ./doc/rivet.xsl +24952aa438232405d869ca8b655fa582 ./doc/Rivetlogo_small.jpg +06e93ac8e0cf11df429f96f1c2dcb183 ./doc/xml/commands.xml +d2f273eec157e11e5ca13cd9d2c11c92 ./doc/xml/formbroker.xml +f7266523fc4b0c3212b999c11a325ae2 ./doc/xml/directives.xml +a288b9b7c4779f2376f3c300bc5808fd ./doc/xml/installation.xml +563dde9698198cc15e466e671185bf6c ./doc/xml/lazybridge.xml +2caee4d9df3fad527b57e7b659007464 ./doc/xml/processing.xml +be25dea536b79a331c930b3ec57c5e1c ./doc/xml/request.xml +e47f6a109829bd38ab69c6dcee71e2cc ./doc/xml/cmake.xml +0a6ed5f52e607a89ec6b578f35f0dbc1 ./doc/xml/packages.xml +319cedfa6a36088ff64f2cae8550a474 ./doc/xml/asciiglyphs.xml +ed9ac5db2a9e40549576e93ac59a8648 ./doc/xml/internals.xml +29b68ad3df99bd3d2f5a6c09df596b1a ./doc/xml/dio.xml +6b601afa54c91ad1044fd50ee2a4bf4b ./doc/xml/session.xml +787892ba4b86849679b9ce4e211b4f7a ./doc/xml/diodisplay.xml +fec8b01d2d68507be3964e94b7c799af ./doc/xml/entities.xml +29d6d1c101ed5746ea67357a30678a30 ./doc/xml/examples.xml +e2b00842f3a9c702eda447836eb49b97 ./doc/xml/form.xml +d0e3b21b36e7c47b6dab8869e1a96098 ./doc/xml/help.xml +5b75f36b88b7218963f1a61bec7900cd ./doc/xml/intro.xml +07347f7854b4d5abb2988956666eec9a ./doc/xml/calendar.xml +db974ca2a83c4fc25198b505c0384694 ./doc/release-notes.txt +4410ef5c7947b6387047a879e986f12f ./doc/html/thread_id.html +dfae440539ca1044b52adf452e209e04 ./doc/html/wrap.html +774b324156cb9127fd040835b01ddc8c ./doc/html/load_env.html +a4d0c23b8d11898f25d020d120cc2105 ./doc/html/env.html +755257c8ca863c6fb85cc050d7b390e0 ./doc/html/abort_page.html +c2cf1a9527636aaa5e760a4eba139256 ./doc/html/parse.html +1ca8f935b2b0f6e63dab7911e8b0f253 ./doc/html/load_headers.html +35f26f9c7075f4af5666271d0b3dd198 ./doc/html/upload.html +02662ffe8f1e5bd2a1c5badbba85e7ce ./doc/html/lazybridge.html +5a80fcff4fb7a91e47ed1bd2cafe964d ./doc/html/http_accept.html +c3fad7549771cae0474f19a0afa9caa8 ./doc/html/dio.html +4fb4c98c1f3d41aa59e18eaaec37b491 ./doc/html/processing.html +ae7fe10792d5c4810dee219e7df5a2e5 ./doc/html/redirect.html +df34e3e7e522d416444f694a9393a1f4 ./doc/html/request.html +b4849b5512ea1d7719fe5d25b0d90443 ./doc/html/lmatch.html +93aa9a7f6febb83d624d154ae929337e ./doc/html/cmake.html +3b7e0d664e4cf311256483426d400803 ./doc/html/encode.html +267936840953551b4bb9be352d36b3ee ./doc/html/dio_package.html +323819b982164ba591f8508f9fa9267e ./doc/html/internals.html +cda7c008d5c4abdb84fcb41aac56b297 ./doc/html/form.html +13c6639848ec3d8bf8483e25287e41b0 ./doc/html/read_file.html +8d830b051720e6d0b99714e10969bc75 ./doc/html/session_package.html +c721e80663bd50e1f7172b31a94940ff ./doc/html/inspect.html +3ed0a18bc5823e333761294e895e9275 ./doc/html/load_response.html +428baab5a0370b084ab2368c947f0adc ./doc/html/exit.html +40eb2b50a601d31d5d42753047a12785 ./doc/html/index.html +12cfce859d6a0429f462d427bcb5b3be ./doc/html/tcl_packages.html +3101d1629a8864f0e21f0c565a7ebf12 ./doc/html/help.html +08bf4596d2689fc6dd2d8de45666aefe ./doc/html/xml.html +7db7f456f211faadd0b1914ed606345f ./doc/html/calendar.html +d05046251f2a4241aec798ea9598c80e ./doc/html/escape_sgml_chars.html +98d85217eddf32655a63e99d69344360 ./doc/html/import_keyvalue_pairs.html +562d0edb92f6ee2e3d88b426993bbe54 ./doc/html/fb.html +489f4957b53676aa7a547f4c6dad20e3 ./doc/html/examples.html +dea36c77692917d655d8d0556b986c92 ./doc/html/unescape_string.html +0176ef8af121441d1dc26eb6f2b68b84 ./doc/html/debug.html +59c9ad854415978e175ce711074f4cc6 ./doc/html/commands.html +b2a0a2bed82d42ded0a1b3f0510fbec4 ./doc/html/toglyphs.html fee93f2eeb69fbaacf4f8df9dbcf836e ./doc/html/images/table.png -9021db39b9ae6701cc11a1d12a327ee0 ./doc/html/images/acrobat.png +ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/html/images/important.png 3da5ad8aa726fe3edd232732de3279b6 ./doc/html/images/remote.png -9fee8f60b6ab1fcc70d37fafd2829198 ./doc/html/images/scrollup.png -e54f1466db92ad5170f142cac741bba1 ./doc/html/images/home.png -7ddae41c51c6b0a71d16edf735d35fdd ./doc/html/images/next.png -dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/html/images/tip.png 2245032ab69fc481e2eefd246aa96e07 ./doc/html/images/caution.png -e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/html/images/up.png +6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/html/images/blank.png a9dfccc01739501bbc01d561da12c944 ./doc/html/images/toc-blank.png +b83250cd33131389656376a68fd2514c ./doc/html/images/word.png 0b549e01c39b98254036c965c1270e3f ./doc/html/images/color-table.png -6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/html/images/blank.png -c11f30d22ae41cfb4ab7bea5405397f6 ./doc/html/images/prev.png -1b1da3ec69df05af5f2a5475e8a8a24b ./doc/html/images/draft.png +dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/html/images/tip.png +80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/html/images/qbullet-note.png +59c28f6840b1f20094af4ffc16ce3189 ./doc/html/images/warning.png 109e4af9c43357a74c6de01db819f36f ./doc/html/images/note.png -ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/html/images/important.png +1b1da3ec69df05af5f2a5475e8a8a24b ./doc/html/images/draft.png +e54f1466db92ad5170f142cac741bba1 ./doc/html/images/home.png 72baddf4a76d4d74f634edf1e71134b3 ./doc/html/images/toc-minus.png -dda8f6fcba623cdcb4085c9e41fa90a8 ./doc/html/toglyphs.html -2bd865afc5b8256f637d455f2eac27a5 ./doc/html/cookie.html -089bc7bf223720cead56db71c544fbfa ./doc/html/asciiglyphs.html -b77d3316a825ac8b32838dbfea3aff6e ./doc/html/lempty.html -ffcabcfb12311a378942fe6a55c54118 ./doc/html/lmatch.html -beea045d53c0a5055ede2fdadcfcf7d3 ./doc/html/makeurl.html -7424ff184752ba960e64461fb912beef ./doc/html/cmake.html -cbfe15ca256075287f5b21cf1eb3980a ./doc/html/directives.html -4c433583586e00f4febf4a3cee8776ea ./doc/examples-sgml/download.tcl -35f104d4d7eb26a0644a2a4d30215c10 ./doc/examples-sgml/vars.html -2fecae2aca512772c754ba4437530aee ./doc/examples-sgml/myrivetapp.tcl -5cd13d0eb9ed71b5b41ba91bd9428b19 ./doc/examples-sgml/color-table.tcl -d55df7c4a8841fc30b6ffe45f8e4616a ./doc/examples-sgml/rivet_web_service.tcl -ddc4b941c3be009fc9c6412d7400c3e9 ./doc/examples-sgml/myapp_request_handler.tcl -cfa33c287ebd3ce318b8af0db2106c2f ./doc/examples-sgml/upload.rvt -27e4c54f14442292e199f18484e988fe ./doc/examples-sgml/hello1.rvt -7dbff0d3d6d1ca18dce0e41f6e67f610 ./doc/examples-sgml/vars.rvt -674415d507f123727a18cfe49161b4cf ./doc/examples-sgml/table.rvt -fe10afe2726e062c7dd9cc1c8af526e0 ./doc/examples-sgml/hello.rvt -36007d300bb6d6a9df16555305dd78fe ./doc/examples-sgml/upload.html -c477ae4247e846a1c4d2d967dcc9b4f2 ./doc/examples-sgml/colortable.rvt -640dc9c4a2decd7d823fdb6c50c5bbd8 ./doc/Rivetlogo_small.png -80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/images/qbullet-note.png -b83250cd33131389656376a68fd2514c ./doc/images/word.png -6af4f64aa30d4162e2c5196b8e34eef5 ./doc/images/disk.png -59c28f6840b1f20094af4ffc16ce3189 ./doc/images/warning.png -3f6681fac19897a14f2ad826fa8d55da ./doc/images/calendar.png -ee8d311bafbc474875730d7644e86047 ./doc/images/toc-plus.png +9fee8f60b6ab1fcc70d37fafd2829198 ./doc/html/images/scrollup.png +6af4f64aa30d4162e2c5196b8e34eef5 ./doc/html/images/disk.png +7ddae41c51c6b0a71d16edf735d35fdd ./doc/html/images/next.png +3f6681fac19897a14f2ad826fa8d55da ./doc/html/images/calendar.png +9021db39b9ae6701cc11a1d12a327ee0 ./doc/html/images/acrobat.png +e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/html/images/up.png +ee8d311bafbc474875730d7644e86047 ./doc/html/images/toc-plus.png +c11f30d22ae41cfb4ab7bea5405397f6 ./doc/html/images/prev.png +748bd6ca697319ed990120b4714f4f41 ./doc/html/directives.html +e3232c4807f1e64b0bb45d4974adf7ef ./doc/html/escape_string.html +e6ad40edf2a1be7b8bb0a11c62ce4fe4 ./doc/html/rivet.css +42f98bc63da07421a58c3c11bd71f1b0 ./doc/html/wrapline.html +16a1ed643fd2f85219c1ab2639eabbbb ./doc/html/html_calendar.html +3afa8c1ed7af1499b1c04b085ceccab9 ./doc/html/calendar_package.html +262d486ec868205e6ff45a105f05ff82 ./doc/html/installation.html +ff9bab4cb549f1f20d9bbca524618b7c ./doc/html/load_cookies.html +a684fe9f2b40c58adcedd766bc0eccf6 ./doc/html/escape_shell_command.html +da5a47df8d2cb1d378c6dc53fb8c3a9d ./doc/html/abort_code.html +a91d97e24ff660e41dbad5e145ea79ac ./doc/html/try.html +3a2ce7aa6ab70573514098c5a30b5cf0 ./doc/html/formbroker.html +a1ccb543ac68cffea78d988577364f50 ./doc/html/no_body.html +4eec8a64754012579fa56d58ff9052f2 ./doc/html/apache_log_error.html +23957dbc44611689b4e2b0b94f186e13 ./doc/html/entities.html +04a15176ced9235d1c3caece2812883b ./doc/html/catch.html +7c946bb446c0aac18d866d281476885f ./doc/html/include.html +a1b9d4caaf82fd4bac57a073db1c6652 ./doc/html/xml_calendar.html +02f9fe7c535b20286dd0dd88a4b679b8 ./doc/html/asciiglyphs.html +72be053d096d71118671c34f2114ff57 ./doc/html/parray.html +58ee826be882182b9e5b6fe0cc8ff774 ./doc/html/diodisplay.html +0e32c67c56bfb52ef9a002371f1dd463 ./doc/html/apache_table.html +6dd81a1ce77f4191eb5f87b307a79647 ./doc/html/lempty.html +a03e9f5da88ef149bead57b9c403bbdc ./doc/html/lassign_array.html +6edcc6e0f3c0b78a6a84a091931dcc9f ./doc/html/decode.html +325f0fb2837ef2ae7e43f94cfd644d65 ./doc/html/clock_to_rfc.html +8148fb0ed1ef372c970c2c760d00b8e1 ./doc/html/diodisplay_package.html +11161804dbf4a426dac5ae2b90b5c963 ./doc/html/html.html +e78562ee0a91740ad9e99f1dec9a7366 ./doc/html/lremove.html +94dbbccc108b2920479b5ddb98ce0e3f ./doc/html/form_package.html +09c09a74a3d55200cf02f1b99f17092c ./doc/html/url_script.html +ec7e143e5215d89fc7c6c36e8b88e3e5 ./doc/html/shorthand.html +682ae5378510a99709f471df25719902 ./doc/html/cookie.html +2f6697c1ac4dda932be1f6327720ffca ./doc/html/makeurl.html +f76d9eb6f30c46a3a920ca2deb86fdc5 ./doc/html/raw_post.html +bde19e3d01e4a78385606099368a1551 ./doc/html/var.html +8c92ecdc1dd07c58d601714e40ee5c61 ./doc/html/headers.html +df6cf55e228e14dbf836ac507f0e17f4 ./doc/Rivetlogo_large.jpg +4b35d264477baf6cda93a53ec7d2aebe ./doc/Rivetlogo_smaller.png +9565047e56d0ff7cfd6737c08ed79578 ./doc/Makefile.am +c27e147779c1e5fcc86ffe3cae43a111 ./doc/examples/hello1.rvt +59b36083612ed4ee0c3e4157398b9cc9 ./doc/examples/upload.html +fa7e8628f6ffeca47429bae72127210c ./doc/examples/upload.rvt +c0efa81880f019130a44617dcafdd205 ./doc/examples/myapp_request_handler.tcl +bdcc79f255a9f36fb8fb38699412a254 ./doc/examples/vars.rvt +9f179b4cfa9f91af48be3455fb707da4 ./doc/examples/colortable.rvt +6f292f0b4df228538d363ef951363c83 ./doc/examples/table.rvt +e809c838a779a985922d83cb98c11941 ./doc/examples/color-table.tcl +c8601de0d8621662a1d1ae63210a9556 ./doc/examples/hello.rvt +3b5d8225de7d0e498a8fdf14fd3af3f1 ./doc/examples/vars.html +edc18f2d779621dd96a070399f8a136b ./doc/examples/download.tcl +709f4a308b6d77f841006de441462960 ./doc/examples/myrivetapp.tcl +e90ffbbc3deb97ff9e55eeea832672d1 ./doc/examples/rivet_web_service.tcl +b097cae8b1ec1de18829f5b6a8ffd3e4 ./doc/rivet.xml.in +a3bb2ce2bca41e36c985e3bd20c04f01 ./doc/convert_examples.tcl.in +57f0caf3c6dd5c6f55de5a689125ffac ./doc/example.tcl +f634cb20e413fa4449bc64a2e86312d5 ./doc/Rivetlogo_medium.jpg +5004201397939c8a3179230b632089e7 ./doc/README.hpux +1021b8f9f543f8ae028dae47f2fed872 ./doc/rivet.xml +0d832653fcdcd28fcdb650702a91964f ./doc/README fee93f2eeb69fbaacf4f8df9dbcf836e ./doc/images/table.png -9021db39b9ae6701cc11a1d12a327ee0 ./doc/images/acrobat.png +ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/images/important.png 3da5ad8aa726fe3edd232732de3279b6 ./doc/images/remote.png -9fee8f60b6ab1fcc70d37fafd2829198 ./doc/images/scrollup.png -e54f1466db92ad5170f142cac741bba1 ./doc/images/home.png -7ddae41c51c6b0a71d16edf735d35fdd ./doc/images/next.png -dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/images/tip.png 2245032ab69fc481e2eefd246aa96e07 ./doc/images/caution.png -e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/images/up.png +6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/images/blank.png a9dfccc01739501bbc01d561da12c944 ./doc/images/toc-blank.png +b83250cd33131389656376a68fd2514c ./doc/images/word.png 0b549e01c39b98254036c965c1270e3f ./doc/images/color-table.png -6f7573d4bb6bf0f55ed9ebd79f3f786f ./doc/images/blank.png -c11f30d22ae41cfb4ab7bea5405397f6 ./doc/images/prev.png -1b1da3ec69df05af5f2a5475e8a8a24b ./doc/images/draft.png +dbb88aaf05b4a6a7df59c72cc5c947b4 ./doc/images/tip.png +80dfde13e7f957a2ae7ee49d9d36fb18 ./doc/images/qbullet-note.png +59c28f6840b1f20094af4ffc16ce3189 ./doc/images/warning.png 109e4af9c43357a74c6de01db819f36f ./doc/images/note.png -ca20b7b781cf82d1aeb36ce63590ccd0 ./doc/images/important.png +1b1da3ec69df05af5f2a5475e8a8a24b ./doc/images/draft.png +e54f1466db92ad5170f142cac741bba1 ./doc/images/home.png 72baddf4a76d4d74f634edf1e71134b3 ./doc/images/toc-minus.png -5004201397939c8a3179230b632089e7 ./doc/README.hpux +9fee8f60b6ab1fcc70d37fafd2829198 ./doc/images/scrollup.png +6af4f64aa30d4162e2c5196b8e34eef5 ./doc/images/disk.png +7ddae41c51c6b0a71d16edf735d35fdd ./doc/images/next.png +3f6681fac19897a14f2ad826fa8d55da ./doc/images/calendar.png +9021db39b9ae6701cc11a1d12a327ee0 ./doc/images/acrobat.png +e78c0eecaea5bf8900bf2ce9f45f8204 ./doc/images/up.png +ee8d311bafbc474875730d7644e86047 ./doc/images/toc-plus.png +c11f30d22ae41cfb4ab7bea5405397f6 ./doc/images/prev.png 33aacd3a4a53908493ac36b22edb9b8f ./doc/rivet-chunk.xsl -e52416de874c0203f1284ddfa31fcca6 ./doc/rivet.xsl -4b35d264477baf6cda93a53ec7d2aebe ./doc/Rivetlogo_smaller.png -319cedfa6a36088ff64f2cae8550a474 ./doc/xml/asciiglyphs.xml -29b68ad3df99bd3d2f5a6c09df596b1a ./doc/xml/dio.xml -d0e3b21b36e7c47b6dab8869e1a96098 ./doc/xml/help.xml -e47f6a109829bd38ab69c6dcee71e2cc ./doc/xml/cmake.xml -9e0624c254de3c2ca4c7ce53c2c5509e ./doc/xml/commands.xml -eaf8dbbb9e5e717a657d81377f563974 ./doc/xml/installation.xml -fec8b01d2d68507be3964e94b7c799af ./doc/xml/entities.xml -787892ba4b86849679b9ce4e211b4f7a ./doc/xml/diodisplay.xml -be1413cdca74ca55e97d0d911c11eaa8 ./doc/xml/directives.xml -9df1420a2fc4867d1a62822a0ecdc929 ./doc/xml/lazybridge.xml -f567acba490fd4974630eab661620734 ./doc/xml/request.xml -6b601afa54c91ad1044fd50ee2a4bf4b ./doc/xml/session.xml -7bef8f35f52cc4029ca2caf13c41d6b1 ./doc/xml/form.xml -a1098d20f4a6aea4fc79a96af48d7ee4 ./doc/xml/processing.xml -07347f7854b4d5abb2988956666eec9a ./doc/xml/calendar.xml -0a6ed5f52e607a89ec6b578f35f0dbc1 ./doc/xml/packages.xml -aea737698fb0abed7aeab98bd3799756 ./doc/xml/formbroker.xml -29d6d1c101ed5746ea67357a30678a30 ./doc/xml/examples.xml -e80f3dcd37d7778e745a3713f0a218d1 ./doc/xml/internals.xml -5b75f36b88b7218963f1a61bec7900cd ./doc/xml/intro.xml -0d832653fcdcd28fcdb650702a91964f ./doc/README -15f7c96819e4ea35d132214e73a1ef67 ./TODO -e74bfabd146bccfade922f42f07dee09 ./NOTICE -b7d62137c4c4cd32ab164c2c8a0eec7c ./STATUS -60fa4e913a8874e681233f8f651fd528 ./BUGS -e8a673d5d4d69a5fd11c880fd4c3c481 ./.pc/.quilt_series -266f9759f56277b2751b24d1eb17c50f ./.pc/.quilt_patches -79ce6c76cefcc5896f430077030cdf33 ./.pc/applied-patches -d41d8cd98f00b204e9800998ecf8427e ./.pc/.dpkg-source-unapply -fc500e77449f6b5cb36a2aba61cc912c ./.pc/selective_tcl_copy.patch/Makefile.am -26ab0db90d72e28ad0ba1e22ee510510 ./.pc/.version -ef162c010e5325c00868967df43b71cf ./configure.ac -5a1a58193506985eb5f84e66baa2fb73 ./m4/ax_prefix_config_h.m4 -ebb455a7fd6a8ba9a4e38a25c8f0b686 ./m4/ax_compare_version.m4 -fcd03c51c78b325ddf2d85520d639abb ./m4/ax_split_version.m4 -be9a01e24239923b86f3288f054b141f ./config.h.in -e1746ef7daca9b1e1bcc0812a0b3fd77 ./tclconfig/libtool.m4 -b2356fd703b65ce3d36403483cf5a04c ./tclconfig/tcl.m4 -82f08ae96605352476d5f9d003b6041f ./tclconfig/README.txt -9318695a53e5ad6b5b3b23333f708e55 ./tclconfig/ChangeLog -4c03221c57836ee20d48ce6c4d2f1c37 ./ChangeLog -56ede8e24b769e1a86e35811759d0b59 ./VERSION -22add19f047b7f34ed1918664af2ad7e ./.appveyor.yml -f6321124e3d50e797bd7d12521d4183c ./contrib/two-mode-mode.el -1fa5655e3d2c7cafd813a4a18f6c87b3 ./contrib/validate_mac.tcl -8955cb21df5e53db07d5c9fff15582ce ./contrib/rvt.vim -2c7c16f1838be54075e37b80ac1f1ec2 ./contrib/form.tcl -9be4e6991aff41162cd92026c3e78b11 ./contrib/tcl.vim -a6c5494212775b110bb1efcd2d15957c ./contrib/README -511779482884908042517063a8cedd32 ./README.freebsd -e08c0390c2bc26da164b020ca0594ecc ./CHANGES -ec3c32677a766afa403a88768c7f9c94 ./INSTALL -47aff263489abdcb884bdff44213e252 ./README +e6ad40edf2a1be7b8bb0a11c62ce4fe4 ./doc/rivet.css +27e4c54f14442292e199f18484e988fe ./doc/examples-sgml/hello1.rvt +36007d300bb6d6a9df16555305dd78fe ./doc/examples-sgml/upload.html +cfa33c287ebd3ce318b8af0db2106c2f ./doc/examples-sgml/upload.rvt +bdbfb13d2621169890e4ef9aaaa09bc7 ./doc/examples-sgml/myapp_request_handler.tcl +7dbff0d3d6d1ca18dce0e41f6e67f610 ./doc/examples-sgml/vars.rvt +c477ae4247e846a1c4d2d967dcc9b4f2 ./doc/examples-sgml/colortable.rvt +674415d507f123727a18cfe49161b4cf ./doc/examples-sgml/table.rvt +5cd13d0eb9ed71b5b41ba91bd9428b19 ./doc/examples-sgml/color-table.tcl +fe10afe2726e062c7dd9cc1c8af526e0 ./doc/examples-sgml/hello.rvt +35f104d4d7eb26a0644a2a4d30215c10 ./doc/examples-sgml/vars.html +4c433583586e00f4febf4a3cee8776ea ./doc/examples-sgml/download.tcl +2fecae2aca512772c754ba4437530aee ./doc/examples-sgml/myrivetapp.tcl +d55df7c4a8841fc30b6ffe45f8e4616a ./doc/examples-sgml/rivet_web_service.tcl +de6592d4db06274be2281b0704af3ede ./doc/style.css +640dc9c4a2decd7d823fdb6c50c5bbd8 ./doc/Rivetlogo_small.png +91940d664aa665ccd04b0f587d6fa97c ./STATUS diff -Nru libapache2-mod-rivet-3.2.0/debian/changelog libapache2-mod-rivet-3.2.1/debian/changelog --- libapache2-mod-rivet-3.2.0/debian/changelog 2020-11-09 08:28:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/debian/changelog 2021-11-13 17:35:38.000000000 +0000 @@ -1,3 +1,13 @@ +libapache2-mod-rivet (3.2.1-1) stable; urgency=medium + + * New upstream release. + * New rivet version addresses issue with multiple AM_AUTOMAKE_INIT + expansion (Closes: #998490). + * Correcting the name of the target directory where rivet library and + Tcl scripts are moved into (it still had the old 3.1 version name) + + -- Massimo Manghi Sat, 13 Nov 2021 18:35:38 +0100 + libapache2-mod-rivet (3.2.0-1) unstable; urgency=medium * New upstream release diff -Nru libapache2-mod-rivet-3.2.0/debian/rules libapache2-mod-rivet-3.2.1/debian/rules --- libapache2-mod-rivet-3.2.0/debian/rules 2018-11-29 22:15:17.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/debian/rules 2021-11-13 17:35:38.000000000 +0000 @@ -5,7 +5,7 @@ TCL_VERSION=8.6 package=libapache2-mod-rivet -RIVETLIB_DIR=/usr/lib/tcltk/rivet3.1 +RIVETLIB_DIR=/usr/lib/tcltk/rivet3.2 TCLSH_PROG=/usr/bin/tclsh export DEB_BUILD_MAINT_OPTIONS = hardening=+all diff -Nru libapache2-mod-rivet-3.2.0/doc/Makefile.in libapache2-mod-rivet-3.2.1/doc/Makefile.in --- libapache2-mod-rivet-3.2.0/doc/Makefile.in 2020-11-02 23:39:11.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/Makefile.in 2021-11-08 08:52:10.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru libapache2-mod-rivet-3.2.0/doc/html/abort_code.html libapache2-mod-rivet-3.2.1/doc/html/abort_code.html --- libapache2-mod-rivet-3.2.0/doc/html/abort_code.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/abort_code.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,7 +1,7 @@ -abort_code

Name

abort_code — +abort_code


Name

abort_code — Returns the code passed to abort_page earlier during the request processing -

Synopsis

::rivet::abort_code

Description

+

Synopsis

::rivet::abort_code

Description

Usage of this command is meaningful only in a script set as AbortScript or AfterEveryScript. abort_code returns the value of the optional diff -Nru libapache2-mod-rivet-3.2.0/doc/html/abort_page.html libapache2-mod-rivet-3.2.1/doc/html/abort_page.html --- libapache2-mod-rivet-3.2.0/doc/html/abort_page.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/abort_page.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,7 +1,7 @@ -abort_page


Name

abort_page — +abort_page


Name

abort_page — Stops outputting data to web page, similar in purpose to PHP's die command. -

Synopsis

::rivet::abort_page (abort code | -aborting)

Description

+

Synopsis

::rivet::abort_page (abort code | -aborting)

Description

This command flushes the output buffer and stops the Tcl script from sending any more data to the client. A normal Tcl script might use the diff -Nru libapache2-mod-rivet-3.2.0/doc/html/apache_log_error.html libapache2-mod-rivet-3.2.1/doc/html/apache_log_error.html --- libapache2-mod-rivet-3.2.0/doc/html/apache_log_error.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/apache_log_error.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -apache_log_error


Name

apache_log_error — log messages to the Apache error log

Synopsis

::rivet::apache_log_error ?priority? ?message?

Description

+apache_log_error


Name

apache_log_error — log messages to the Apache error log

Synopsis

::rivet::apache_log_error ?priority? ?message?

Description

The apache_log_error command logs a message to the Apache error log, whose name and location have been set by the ErrorLog directive. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/apache_table.html libapache2-mod-rivet-3.2.1/doc/html/apache_table.html --- libapache2-mod-rivet-3.2.0/doc/html/apache_table.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/apache_table.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -apache_table


Name

apache_table — access and manipulate Apache tables in the request structure.

Synopsis

::rivet::apache_table (get | set | exists | unset | names | array_get | clear)

Description

+apache_table


Name

apache_table — access and manipulate Apache tables in the request structure.

Synopsis

::rivet::apache_table (get | set | exists | unset | names | array_get | clear)

Description

The apache_table command is for accessing and manipulating Apache tables in the request structure.

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/asciiglyphs.html libapache2-mod-rivet-3.2.1/doc/html/asciiglyphs.html --- libapache2-mod-rivet-3.2.0/doc/html/asciiglyphs.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/asciiglyphs.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -AsciiGlyphs


AsciiGlyphs

Introduction

+AsciiGlyphs


AsciiGlyphs

Introduction

The AsciiGlyphs package provides a command to print large ASCII glyphs in an HTML fragment based on a <pre>...</pre:> element. The shape of the glyphs was @@ -7,7 +7,7 @@ support the whole English alphabet and some punctuation characters. The string to be represented has to be made of pure 7-bit ASCII characters. The package also runs standalone outside of mod_rivet -

Example

package require AsciiGlyphs
+        

Example

package require AsciiGlyphs
 ::AsciiGlyphs toGlyphs "Date: 07-12-2015"
  _____              _____   ______          ___   ______         __  ___          ___    ___   __  _____ 
 |  __ \     /\     |_   _| |  ____|  _     / _ \ |____  |       /_ ||__ \        |__ \  / _ \ /_ || ____|
diff -Nru libapache2-mod-rivet-3.2.0/doc/html/calendar.html libapache2-mod-rivet-3.2.1/doc/html/calendar.html
--- libapache2-mod-rivet-3.2.0/doc/html/calendar.html	2020-11-02 23:35:08.000000000 +0000
+++ libapache2-mod-rivet-3.2.1/doc/html/calendar.html	2021-11-08 08:52:52.000000000 +0000
@@ -1,7 +1,7 @@
-Calendar

Name

Calendar — Utility class the builds and prints a calendar table

Synopsis

Calendar calendar_name

Calendar object subcommands

+Calendar

Name

Calendar — Utility class the builds and prints a calendar table

Synopsis

Calendar calendar_name

Calendar object subcommands

The main public command for a calendar object is emit that returns a calendar table -

+

The method emit when invoked with a single argument takes it as an year number and prints the whole calendar of that year. When invoked with 2 arguments takes the first as a month, either diff -Nru libapache2-mod-rivet-3.2.0/doc/html/calendar_package.html libapache2-mod-rivet-3.2.1/doc/html/calendar_package.html --- libapache2-mod-rivet-3.2.0/doc/html/calendar_package.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/calendar_package.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Calendar Package


Calendar Package

Introduction

+Calendar Package


Calendar Package

Introduction

The package is based on the Calendar class, a class capable of printing an ascii calendar table that closely resembles the output of the typical Unix cal command. The internal diff -Nru libapache2-mod-rivet-3.2.0/doc/html/catch.html libapache2-mod-rivet-3.2.1/doc/html/catch.html --- libapache2-mod-rivet-3.2.0/doc/html/catch.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/catch.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -catch


Name

catch — wraps core command catch

Synopsis

::rivet::catch ?script? ?error_code_var_name? ?options_var_name?

Description

+catch


Name

catch — wraps core command catch

Synopsis

::rivet::catch ?script? ?error_code_var_name? ?options_var_name?

Description

::rivet::catch wraps the core language catch command adding some extra error handling needed by mod_rivet design. The rationale for Rivet to have its own ::rivet::catch reads diff -Nru libapache2-mod-rivet-3.2.0/doc/html/clock_to_rfc.html libapache2-mod-rivet-3.2.1/doc/html/clock_to_rfc.html --- libapache2-mod-rivet-3.2.0/doc/html/clock_to_rfc.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/clock_to_rfc.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -clock_to_rfc850_gmt


Name

clock_to_rfc850_gmt — create a rfc850 time from [clock seconds].

Synopsis

::rivet::clock_to_rfc850_gmt ?seconds?

Description

+clock_to_rfc850_gmt


Name

clock_to_rfc850_gmt — create a rfc850 time from [clock seconds].

Synopsis

::rivet::clock_to_rfc850_gmt ?seconds?

Description

Convert an integer-seconds-since-1970 click value to RFC850 format, with the additional requirement that it be GMT only. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/cmake.html libapache2-mod-rivet-3.2.1/doc/html/cmake.html --- libapache2-mod-rivet-3.2.0/doc/html/cmake.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/cmake.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -Building Rivet 3.2 with CMake


Building Rivet 3.2 with CMake

CMake build procedure and examples

+Building Rivet 3.2 with CMake


Building Rivet 3.2 with CMake

CMake build procedure and examples

Starting with 3.2 Rivet has adopted CMake as an alternate build system. The choice of introducing CMake was motivated by the need of an easy to use and reliable build system for Windows installations. Nonetheless diff -Nru libapache2-mod-rivet-3.2.0/doc/html/commands.html libapache2-mod-rivet-3.2.1/doc/html/commands.html --- libapache2-mod-rivet-3.2.0/doc/html/commands.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/commands.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Rivet Tcl Commands and Variables


Rivet Tcl Commands and Variables

+Rivet Tcl Commands and Variables


Rivet Tcl Commands and Variables

Starting with version 2.1.0 the Rivet command set moved into the ::rivet namespace.

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/cookie.html libapache2-mod-rivet-3.2.1/doc/html/cookie.html --- libapache2-mod-rivet-3.2.0/doc/html/cookie.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/cookie.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -cookie


Name

cookie — get, set and delete cookies.

Synopsis

::rivet::cookie ?set? ?cookieName? ??cookiValue?? ?-days expireInDays? ?-hours expireInHours? ?-minutes expireInMinutes? ?-expires Wdy, DD-Mon-YYYY HH:MM:SS GMT? ?-path uriPathCookieAppliesTo? ?-secure 1/0? ?-HttpOnly 1/0?
::rivet::cookie ?get? ?cookieName?
::rivet::cookie ?delete? ?cookieName?
::rivet::cookie ?unset? ?cookieName?

Description

+cookie


Name

cookie — get, set and delete cookies.

Synopsis

::rivet::cookie ?set? ?cookieName? ??cookiValue?? ?-days expireInDays? ?-hours expireInHours? ?-minutes expireInMinutes? ?-expires Wdy, DD-Mon-YYYY HH:MM:SS GMT? ?-path uriPathCookieAppliesTo? ?-secure 1/0? ?-HttpOnly 1/0?
::rivet::cookie ?get? ?cookieName?
::rivet::cookie ?delete? ?cookieName?
::rivet::cookie ?unset? ?cookieName?

Description

cookie gets, sets, unsets or deletes a cookie. When you get a cookie, the command returns the value of the cookie, or an empty string if no cookie exists. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/debug.html libapache2-mod-rivet-3.2.1/doc/html/debug.html --- libapache2-mod-rivet-3.2.0/doc/html/debug.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/debug.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,10 +1,10 @@ -debug


Name

debug — - A command to print strings, arrays - and the values of variables as specified by the arguments. -

Synopsis

::rivet::debug -subst ?<on|off>? -separator ?<string>? -option ?<value>? -option ?<value>? ...

Description

- A command to make debugging more convenient print strings, arrays - and the values of variables as specified by the arguments. -

- Also allows the setting of an array called debug which will pick up - options for all debug commands. -

+debug

Name

debug — + A command to print strings, arrays + and the values of variables as specified by the arguments. +

Synopsis

::rivet::debug -subst ?<on|off>? -separator ?<string>? -option ?<value>? -option ?<value>? ...

Description

+ A command to make debugging more convenient print strings, arrays + and the values of variables as specified by the arguments. +

+ Also allows the setting of an array called debug which will pick up + options for all debug commands. +

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/decode.html libapache2-mod-rivet-3.2.1/doc/html/decode.html --- libapache2-mod-rivet-3.2.0/doc/html/decode.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/decode.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,7 +1,7 @@ -decode

Name

decode — +decode


Name

decode — decode an SGML encoded string replacing every entity with the corresponding character -

Synopsis

::rivet::decode string ?-encoding <encoding>?

Description

+

Synopsis

::rivet::decode string ?-encoding <encoding>?

Description

::rivet::decode implements the inverse function of ::rivet::encode. The input string is scanned searching and replacing every SGML entity with its corresponding character. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/dio.html libapache2-mod-rivet-3.2.1/doc/html/dio.html --- libapache2-mod-rivet-3.2.0/doc/html/dio.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/dio.html 2021-11-08 08:52:52.000000000 +0000 @@ -1 +1 @@ -DIO - Database Interface Objects


DIO - Database Interface Objects

+DIO - Database Interface Objects

DIO - Database Interface Objects

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/dio_package.html libapache2-mod-rivet-3.2.1/doc/html/dio_package.html --- libapache2-mod-rivet-3.2.0/doc/html/dio_package.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/dio_package.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -DIO

Name

DIO — Database Interface Objects

Synopsis

::DIO::handle interface ?objectName? (-option | option | -option | option | ...)

Description

+DIO

Name

DIO — Database Interface Objects

Synopsis

::DIO::handle interface ?objectName? (-option | option | -option | option | ...)

Description

DIO is designed to be a generic, object-oriented interface to SQL databases. Its main goal is to be as generic as possible, but since not all SQL @@ -15,7 +15,7 @@ specified, DIO creates an object of that name. If there is no objectName given, DIO will automatically generate a unique object ID -

Options

-host ?hostname?
+

Options

-host ?hostname?
The hostname of the computer to connect to. If none is given, DIO assumes the local host.
-port ?portNumber?
The port number to connect to on hostname.
-user ?username?
The username you wish to login to the server as.
-pass ?password?
The password to login to the server with.
-db ?database?
@@ -35,7 +35,7 @@ field specified as AUTO.
-sequence ?sequenceName?
If DIO is automatically generating keys, it will use this sequence as a means to gain a unique number for - the stored key.

DIO Object Commands

objectName ?array? ?request?
+ the stored key.

DIO Object Commands

objectName ?array? ?request?
Execute request as a SQL query and create an array from the first record found. The array is set with the fields of the table and the diff -Nru libapache2-mod-rivet-3.2.0/doc/html/diodisplay.html libapache2-mod-rivet-3.2.1/doc/html/diodisplay.html --- libapache2-mod-rivet-3.2.0/doc/html/diodisplay.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/diodisplay.html 2021-11-08 08:52:52.000000000 +0000 @@ -1 +1 @@ -DIODisplay - Database Interface Objects Display Class

DIODisplay - Database Interface Objects Display Class

+DIODisplay - Database Interface Objects Display Class

DIODisplay - Database Interface Objects Display Class

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/diodisplay_package.html libapache2-mod-rivet-3.2.1/doc/html/diodisplay_package.html --- libapache2-mod-rivet-3.2.0/doc/html/diodisplay_package.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/diodisplay_package.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,8 +1,8 @@ -DIODisplay

Name

DIODisplay — Database Interface Objects Display Class

Synopsis

DIODisplay (objectName | #auto) (-option | option | -option | option | ...)

Description

+DIODisplay

Name

DIODisplay — Database Interface Objects Display Class

Synopsis

DIODisplay (objectName | #auto) (-option | option | -option | option | ...)

Description

DIODisplay is an HTML display class that uses a DIO object to do the database work and a form object to do the displaying. -

Options

+

Options

-DIO dioObject
The DIO object to be used in conjunction with this @@ -82,7 +82,7 @@
The title of the display object. This will be output as the title of the HTML document. -

DIO Display Object Commands

+

DIO Display Object Commands

objectName cleanup ?value?
Return the current cleanup value. If @@ -288,7 +288,7 @@ Return the current value value. If value is specified, it sets a new value for value. -

DIO Display Functions

+

DIO Display Functions

These functions are called from the show method when a form response variable called mode is set. If no @@ -369,7 +369,7 @@ query. Once any number of records are found, Search displays the results in rows. -

DIO Display Fields

+

DIO Display Fields

Display fields are created with the field command of the DIODisplay object. Each field is created as a new DIODisplayField object or @@ -422,7 +422,7 @@ Or, if type were textarea, you could define -rows and -cols to specify its row and column count. -

DIO Display Field Types

+

DIO Display Field Types

The following is a list of recognized field types by DIODisplay. Some are standard HTML form fields, and others are DIODisplay fields which execute special actions diff -Nru libapache2-mod-rivet-3.2.0/doc/html/directives.html libapache2-mod-rivet-3.2.1/doc/html/directives.html --- libapache2-mod-rivet-3.2.0/doc/html/directives.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/directives.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -Apache Rivet 3.2 Configuration


Apache Rivet 3.2 Configuration

Apache Rivet Configuration lines

+Apache Rivet 3.2 Configuration


Apache Rivet 3.2 Configuration

Apache Rivet Configuration lines

Rivet directives are used within the Apache httpd server configuration to set up the environment where Rivet script will be run. @@ -34,7 +34,7 @@ <Directory /var/www/myrivetapp> RivetDirConf BeforeScript "source /var/www/myrivetapp/before_script.tcl" -</Directory>

Configuration Directives

+</Directory>

Configuration Directives

Configuration DirectivesDirConfUserConfServerConfVirtual HostNotes
AbortScriptXXXX
Configuration DirectivesDirConfUserConfServerConfVirtual HostNotes
AbortScriptXXXX This directive is meaningful with the default request handler. In order to have this triggered by calling ::rivet::abort_page or ::rivet::exit any special request handler should explicitly read this script from the configuration diff -Nru libapache2-mod-rivet-3.2.0/doc/html/encode.html libapache2-mod-rivet-3.2.1/doc/html/encode.html --- libapache2-mod-rivet-3.2.0/doc/html/encode.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/encode.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,7 +1,7 @@ -encode

Name

encode — +encode

Name

encode — encode a string replacing every occurrence of characters for which an SGML entity exists -

Synopsis

::rivet::encode string ?-encoding <encoding>?

Description

+

Synopsis

::rivet::encode string ?-encoding <encoding>?

Description

::rivet::encode returns a copy of the input string after replacing every occurence of characters for which an SGML entity exists. By default the command assumes the string is encoded in UTF-8, diff -Nru libapache2-mod-rivet-3.2.0/doc/html/entities.html libapache2-mod-rivet-3.2.1/doc/html/entities.html --- libapache2-mod-rivet-3.2.0/doc/html/entities.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/entities.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -RivetEntities


RivetEntities

Introduction

+RivetEntities


RivetEntities

Introduction

The RivetEntities package was kindly provided by Harald Oehlmann and is largely taken from a simple yet clever encoder/decoder of HTML entities starting from a utf-8 character string. The original code writted by Andy Goth is diff -Nru libapache2-mod-rivet-3.2.0/doc/html/env.html libapache2-mod-rivet-3.2.1/doc/html/env.html --- libapache2-mod-rivet-3.2.0/doc/html/env.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/env.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,7 +1,10 @@ -env


Name

env — - Loads a single "environmental variable" into a Tcl variable. -

Synopsis

::rivet::env ?varName?

Description

- If it is only necessary to load one environmental variable, - this command may be used to avoid the overhead of loading - and storing the entire array. -

+env

Name

env — + Returns the value a single "environmental variable". +

Synopsis

::rivet::env ?environment_variable_name?

Description

+ ::rivet::env resolves a single environment + variable and returns its value or an empty string if the environment + variable name in the argument is not defined. + This command is the recommended way to resolve an environment + variable leaving ::rivet::load_env to debugging + and development operations. +

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/escape_sgml_chars.html libapache2-mod-rivet-3.2.1/doc/html/escape_sgml_chars.html --- libapache2-mod-rivet-3.2.0/doc/html/escape_sgml_chars.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/escape_sgml_chars.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,7 +1,7 @@ -escape_sgml_chars

Name

escape_sgml_chars — escape special SGML characters in a string.

Synopsis

::rivet::escape_sgml_chars ?string?

Description

- Scans through each character in the specified string looking - for any special (with respect to SGML, and hence HTML) characters - from the specified string, and returns the result. - For example, the right angle bracket is escaped to the corrected - ampersand gt symbol. -

+escape_sgml_chars

Name

escape_sgml_chars — escape special SGML characters in a string.

Synopsis

::rivet::escape_sgml_chars ?string?

Description

+ Scans through each character in the specified string looking + for any special (with respect to SGML, and hence HTML) characters + from the specified string, and returns the result. + For example, the right angle bracket is escaped to the corrected + ampersand gt symbol. +

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/escape_shell_command.html libapache2-mod-rivet-3.2.1/doc/html/escape_shell_command.html --- libapache2-mod-rivet-3.2.0/doc/html/escape_shell_command.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/escape_shell_command.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -escape_shell_command

Name

escape_shell_command — escape shell metacharacters in a string.

Synopsis

::rivet::escape_shell_command ?string?

Description

+escape_shell_command


Name

escape_shell_command — escape shell metacharacters in a string.

Synopsis

::rivet::escape_shell_command ?string?

Description

Scans through each character in the specified string looking for any shell metacharacters, such as asterisk, less than and greater than, parens, square brackets, curly brackets, angle diff -Nru libapache2-mod-rivet-3.2.0/doc/html/escape_string.html libapache2-mod-rivet-3.2.1/doc/html/escape_string.html --- libapache2-mod-rivet-3.2.0/doc/html/escape_string.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/escape_string.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -escape_string


Name

escape_string — convert a string into escaped characters.

Synopsis

::rivet::escape_string ?string?

Description

+escape_string


Name

escape_string — convert a string into escaped characters.

Synopsis

::rivet::escape_string ?string?

Description

Scans through each character in the specified string looking for special characters, escaping them as needed, mapping special characters to a quoted hexadecimal equivalent, diff -Nru libapache2-mod-rivet-3.2.0/doc/html/examples.html libapache2-mod-rivet-3.2.1/doc/html/examples.html --- libapache2-mod-rivet-3.2.0/doc/html/examples.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/examples.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Examples and Usage


Examples and Usage

+Examples and Usage


Examples and Usage

Some examples of Rivet usage follow. Some prior Tcl knowledge is assumed. If you don't know much Tcl, don't worry, it's easy, and there are some good resources available on the web that will @@ -29,7 +29,7 @@

which is translated into

puts -nonewline "Hello World"

-


Example 2. Generate a Colorful Table

+


Example 2. Generate a Colorful Table

In another simple example, we dynamically generate a table selecting a different background color for each cell. The font color is determined through a simple CSS rule embedded in a HTML <style> element. Create diff -Nru libapache2-mod-rivet-3.2.0/doc/html/exit.html libapache2-mod-rivet-3.2.1/doc/html/exit.html --- libapache2-mod-rivet-3.2.0/doc/html/exit.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/exit.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -exit


Name

exit — terminate execution and child process

Synopsis

::rivet::exit ?code?

Description

+exit


Name

exit — terminate execution and child process

Synopsis

::rivet::exit ?code?

Description

Replaces Tcl's exit core command. ::rivet::exit interrupts execution of the current script and passes execution to AbortScript if such script is set. After AbortScript has finished and request processing completed diff -Nru libapache2-mod-rivet-3.2.0/doc/html/fb.html libapache2-mod-rivet-3.2.1/doc/html/fb.html --- libapache2-mod-rivet-3.2.0/doc/html/fb.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/fb.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -FormBroker

Name

FormBroker — +FormBroker

Name

FormBroker — Form broker object creator -

Synopsis

::FormBroker create ?-quoting quoting_procedure? ?variable1 descriptor? ?variable2 descriptor? ?...?

Description

+

Synopsis

::FormBroker create ?-quoting quoting_procedure? ?variable1 descriptor? ?variable2 descriptor? ?...?

Description

The command returns a reference to a form broker object by creating a representation of the form data using the list of variable descriptors passed to method create. Each descriptor @@ -36,7 +36,7 @@

An example of a form accepting four variable, one for each native type of a form broker object

 % set fbroker [::FormBroker create {var1 integer} {var2 unsigned} {var3 string} {var4 integer bounds {-10 100}}]
-::FormBroker::form0

Form broker object methods

+::FormBroker::form0

Form broker object methods

The central method of a form broker object is validate

formBroker_object validate ?-forcequote? response ?response copy?
The method validate takes as argument the name of an array of variables @@ -198,7 +198,7 @@ a(var2) = 1 a(var4) = 0
formBroker_object reset
The method resets the object to its initial defaults -

Writing a custom variable validator

+

Writing a custom variable validator

The form broker is by no means restricted to work only with its native data types: you may define your own form variable types and have them validated with their own variable validator. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/form.html libapache2-mod-rivet-3.2.1/doc/html/form.html --- libapache2-mod-rivet-3.2.0/doc/html/form.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/form.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Form: An HTML Form Fields Generation Utility


Form: An HTML Form Fields Generation Utility

Introduction

+Form: An HTML Form Fields Generation Utility


Form: An HTML Form Fields Generation Utility

Introduction

The form package is a utility for generating html forms. A form object command saves the programmer from typing the cumbersome html code of input elements, working out a solution for better standardization and readability of the code. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/form_package.html libapache2-mod-rivet-3.2.1/doc/html/form_package.html --- libapache2-mod-rivet-3.2.0/doc/html/form_package.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/form_package.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -form

Name

form — a Tcl command object for creating HTML forms

Synopsis

form form_name ?-option1 value_1? ?-option2 value_2? ?...?

- creates and returns a new Tcl command named form_name. -

Options

-method ?post|get?
+form

Name

form — a Tcl command object for creating HTML forms

Synopsis

form form_name ?-option1 value_1? ?-option2 value_2? ?...?

+ creates and returns a new Tcl command named form_name. +

Options

-method ?post|get?
The http method for sending the form data back to the server. Possible values are get or post
-name ?form_name?
@@ -14,10 +14,14 @@ This option works well in conjuction with the load_response command of Rivet when default values come from another form. +
-emit ?true(default)|false?
+ a Tcl accepted representation of a Boolean value. Change a form object + instance behavior so that methods generating HTML form entries return + to the caller their output as string instead of directly sending it to stdout
-action ?URL?
The URL the data are being sent to. If no ?-action? switch is specified the data are sent to the form's URL. -

Form Object Commands

+

Form Object Commands

Form object commands follow the usual syntax of Tcl commands with a ?subcommand? argument playing the role of a switch among various functionalities of the command. Form objects also need the ?name? parameter which is to become the value of the 'name' attribute in an input field. This argument is the key that has to be @@ -32,7 +36,7 @@ field is an abstract input field creation method and requires an additional parameter specifiyng the type of field to create. Every concrete input field generation command uses this subcommand internally to print the final html. -

Subcommands

start ?name? ?-method get | post? ?-name form_name? ?-defaults default_values? ?-action URL? ?args?
+

Subcommands

start ?name? ?-method get | post? ?-name form_name? ?-defaults default_values? ?-action URL? ?args?
Print the <form> tag with all its attributes. This command must be called as first in the form generation process. The following is a sample of code creating a form named 'formname' whose data will @@ -48,7 +52,7 @@ The code prints a form that sends a text entry content and the option value associated with a radiobutton. The URL of the server script is the same that created the form. Use the ?-url? option to specify a different url. -
Options
-method ?post|get?
+
Options
-method ?post|get?
The method to be used to encode the form data. Possible values are get or post
-name ?form_name?
@@ -65,22 +69,22 @@
-action ?URL?
The URL the data will be sent to. If no ?-action? switch is specified the data are sent to the form's URL. -
end
+
end
Print the </form> closing tag. This command must be called last in the form generation process -
field ?name? ?type? ?args?
+
field ?name? ?type? ?args?
Print a field of the given ?type? and ?name?, including any default key-value pairs defined for this field type and optional key-value pairs included with the statement -
Options
-opt1 ?val1?
+
Options
-opt1 ?val1?
Option description -
radiobuttons ?name? ?-values values? ?-labels labels? ?args?
+
radiobuttons ?name? ?-values values? ?-labels labels? ?args?
the radiobutton creates a whole radiobutton group with the values and labels specified in the argument list. If no ?-labels? switch is passed to the subcommand the values are printed as labels of the radiobutton. -
Options
-values ?values_list?
+
Options
-values ?values_list?
List of values associated with the radiobuttons to be displayed
-labels ?labels_list?
List of labels to be printed with every radiobutton. There must @@ -106,7 +110,7 @@ radiobutton field is automatically checked. The options ?values? and ?labels? are used internally and don't get into the tag attributes. If a ?labels? option is not given, labels are assigned using the ?values? list. -
checkbox ?name? ?-label label? ?-value value? ?args?
+
checkbox ?name? ?-label label? ?-value value? ?args?
The checkbox subcommand emits a checkbox type input field with the name, label and value attributes set according to the parameters passed to the subcommand. @@ -129,13 +133,13 @@ <input type="checkbox" name="options" id="autogen_3" label="Option 3" value="sopt3" /><label for="autogen_3">Option 3</label> <input type="checkbox" name="options" id="autogen_4" label="Option 4" value="sopt4" /><label for="autogen_4">Option 4</label> <input type="submit" name="submit" value="Send" /> -</form>
checkboxes ?name? ?-labels labels_list? ?-values values_list? ?args?
+</form>
checkboxes ?name? ?-labels labels_list? ?-values values_list? ?args?
The checkboxes is an extended form of the checkbox subcommand. checkboxes prints as many checkboxes as the number of elements in the ?labels_list? argument -
Options
-values ?values_list?
+
Options
-values ?values_list?
List of values associated with the checkboxes to be displayed
-labels ?labels_list?
List of labels to be printed with every checkbox. There must @@ -155,12 +159,12 @@ <input type="checkbox" name="options" id="autogen_3" label="Option 3" value="opt3" /><label for="autogen_3">Option 3</label> <input type="checkbox" name="options" id="autogen_4" label="Option 4" value="opt4" /><label for="autogen_4">Option 4</label> <input type="submit" name="save_tps" value="Send Options" /> -</form>
password ?name? ?args?
+</form>
password ?name? ?args?
Same as text, but the input is obfuscated so as not to reveal the text being typed -
hidden ?name? ?args?
+
hidden ?name? ?args?
hidden input element: typicall embedded in a form in order to pass status variables. -
submit ?name? ?args?
+
submit ?name? ?args?
emits the code for a classical HTML submit button. Example: the following code
@@ -173,41 +177,41 @@
 	<form...>
 	<input type="submit" name="submit" value="Search" /> 
-	</form>
button ?name? ?args?
+ </form>
button ?name? ?args?
emits the code for a button field having ?name? as name -
reset ?name? ?args?
+
reset ?name? ?args?
Classical HTML reset button that resets the input fields back to their initial values -
image ?name? ?args?
+
image ?name? ?args?
Emits an image input field -
radio ?name? ?args?
+
radio ?name? ?args?
Emits a radiobutton input field -
color ?name? ?args?
+
color ?name? ?args?
Emits an HTML 5 "color" form field -
date ?name? ?args?
+
date ?name? ?args?
Emits an HTML 5 "date" form field -
datetime ?name? ?args?
+
datetime ?name? ?args?
Emits an HTML 5 "datetime" form field -
datetime_local ?name? ?args?
+
datetime_local ?name? ?args?
Emits an HTML 5 "datetime_local" form field -
email ?name? ?args?
+
email ?name? ?args?
Emits an HTML 5 "email" form field -
file ?name? ?args?
+
file ?name? ?args?
Emits an HTML 5 "file" form field -
month ?name? ?args?
+
month ?name? ?args?
Emits an HTML 5 "month" form field -
number ?name? ?args?
+
number ?name? ?args?
Emits an HTML 5 "number" form field -
range ?name? ?args?
+
range ?name? ?args?
Emits an HTML 5 "range" form field -
search ?name? ?args?
+
search ?name? ?args?
Emits an HTML 5 "search" form field -
tel ?name? ?args?
+
tel ?name? ?args?
Emits an HTML 5 "tel" form field -
time ?name? ?args?
+
time ?name? ?args?
Emits an HTML 5 "time" form field -
url ?name? ?args?
+
url ?name? ?args?
Emits an HTML 5 "url" form field -
week ?name? ?args?
+
week ?name? ?args?
Emits an HTML 5 "week" form field
diff -Nru libapache2-mod-rivet-3.2.0/doc/html/formbroker.html libapache2-mod-rivet-3.2.1/doc/html/formbroker.html --- libapache2-mod-rivet-3.2.0/doc/html/formbroker.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/formbroker.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -The Form Broker

The Form Broker

Introduction

+The Form Broker


The Form Broker

Introduction

The FormBroker package creates instances of form data description objects. These objects instances have a simple set of methods to validate and control data diff -Nru libapache2-mod-rivet-3.2.0/doc/html/headers.html libapache2-mod-rivet-3.2.1/doc/html/headers.html --- libapache2-mod-rivet-3.2.0/doc/html/headers.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/headers.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -headers


Name

headers — set and parse HTTP headers.

Synopsis

::rivet::headers (get | set | redirect | add | type | numeric)

Description

+headers


Name

headers — set and parse HTTP headers.

Synopsis

::rivet::headers (get | set | redirect | add | type | numeric)

Description

The headers command is for setting and parsing HTTP headers.

diff -Nru libapache2-mod-rivet-3.2.0/doc/html/help.html libapache2-mod-rivet-3.2.1/doc/html/help.html --- libapache2-mod-rivet-3.2.0/doc/html/help.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/help.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Resources - How to Get Help

Resources - How to Get Help

Mailing Lists

+Resources - How to Get Help


Resources - How to Get Help

Mailing Lists

The Rivet mailing list is the first place you should turn for help. If you haven't found the solution to your problem in the documentation or you have a question, idea, or comment about the Rivet code itself send email to @@ -6,7 +6,7 @@ .

The mailing list archives are available at http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/ -

Newsgroup

+

Newsgroup

The news:comp.lang.tcl newsgroup is a good place to ask about Tcl questions in general. Rivet developers also follow the newsgroup, but it's best to ask Rivet-specific @@ -28,14 +28,14 @@

  • http://wiki.tcl.tk is the Tcl'ers Wiki, a free-form place to search for answers and ask for help. -
  • Bug Tracking System

    +

    Bug Tracking System

    Apache Rivet uses the Apache Bug Tracking system at http://issues.apache.org/bugzilla/. Here, you can report problems, or check and see if existing issues are already known and being dealt with. -

    IRC

    +

    IRC

    Occasionally, someone from the Rivet team is on IRC at irc.freenode.net, channel #tcl. -

    Editing Rivet Template Files

    +

    Editing Rivet Template Files

    Rivet makes available code for two popular editors, emacs and vim to facilitate the editing of diff -Nru libapache2-mod-rivet-3.2.0/doc/html/html.html libapache2-mod-rivet-3.2.1/doc/html/html.html --- libapache2-mod-rivet-3.2.0/doc/html/html.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/html.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -html


    Name

    html — construct html tagged text.

    Synopsis

    ::rivet::html ?string? ?arg...?

    Description

    +html


    Name

    html — construct html tagged text.

    Synopsis

    ::rivet::html ?string? ?arg...?

    Description

    Print text with the added ability to pass HTML tags following the string. Example:

    ::rivet::html "Test" b i

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/html_calendar.html libapache2-mod-rivet-3.2.1/doc/html/html_calendar.html --- libapache2-mod-rivet-3.2.0/doc/html/html_calendar.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/html_calendar.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -HtmlCalendar


    Name

    HtmlCalendar — Concrete class derived from XmlCalendar

    Synopsis

    HtmlCalendar calendar_name ?-option1 option_list? ?-option2 option_list? ?...?

    +HtmlCalendar


    Name

    HtmlCalendar — Concrete class derived from XmlCalendar

    Synopsis

    HtmlCalendar calendar_name ?-option1 option_list? ?-option2 option_list? ?...?

    Concrete XmlCalendar class for printing html calendar tables. The markup of the class is xhtml compliant and prints a code fragment for inclusion in a webpage. The following is the class definition. @@ -18,7 +18,7 @@ -days_row tr \ -days_cell td } -}

    +}

    A sample output from HtmlCalendar (with some styling)

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/http_accept.html libapache2-mod-rivet-3.2.1/doc/html/http_accept.html --- libapache2-mod-rivet-3.2.0/doc/html/http_accept.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/http_accept.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,8 +1,8 @@ -http_accept


    Name

    http_accept — Parse HTTP Accept header lines

    Synopsis

    ::rivet::http_accept +http_accept

    Name

    http_accept — Parse HTTP Accept header lines

    Synopsis

    ::rivet::http_accept ?-zeroweight? ?-default? ?-list? - http_accept_line

    Description

    + http_accept_line

    Description

    Command for parsing HTTP Accept header lines that tell the server about preferences and/or capabilities of the browser (e.g. content language,media type, etc.). The following diff -Nru libapache2-mod-rivet-3.2.0/doc/html/import_keyvalue_pairs.html libapache2-mod-rivet-3.2.1/doc/html/import_keyvalue_pairs.html --- libapache2-mod-rivet-3.2.0/doc/html/import_keyvalue_pairs.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/import_keyvalue_pairs.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -import_keyvalue_pairs


    Name

    import_keyvalue_pairs — Import an argument list into the named array

    Synopsis

    ::rivet::import_keyvalue_pairs ?arrayName? ?argsList?

    Description

    +import_keyvalue_pairs


    Name

    import_keyvalue_pairs — Import an argument list into the named array

    Synopsis

    ::rivet::import_keyvalue_pairs ?arrayName? ?argsList?

    Description

    key-value pairs, like "-foo bar" are stored in the array ?arrayName?. In that case, the value "bar" would be stored in the element "foo"

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/include.html libapache2-mod-rivet-3.2.1/doc/html/include.html --- libapache2-mod-rivet-3.2.0/doc/html/include.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/include.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -include


    Name

    include — includes a file into the output stream without modification.

    Synopsis

    ::rivet::include ?filename_name?

    Description

    +include


    Name

    include — includes a file into the output stream without modification.

    Synopsis

    ::rivet::include ?filename_name?

    Description

    Include a file without parsing it for processing tags <? and ?>. This is the best way to include an HTML file or any other static content. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/index.html libapache2-mod-rivet-3.2.1/doc/html/index.html --- libapache2-mod-rivet-3.2.0/doc/html/index.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/index.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -Apache Rivet 3.2

    Apache Rivet 3.2

    The Rivet Team


    Table of Contents

    Introduction to Apache Rivet version 3.2
    Apache Rivet 3.2 Installation
    Building Rivet 3.2 with CMake
    CMake build procedure and examples
    Apache Rivet 3.2 Configuration
    Apache Rivet Configuration lines
    Configuration Directives
    Apache Rivet HTTP Request Processing
    Tcl Scripts Processing
    Example: basic OO Rivet Application
    Apache Child Processes Lifecycle and Request Processing
    Rivet Tcl Commands and Variables
    <?= ... ?> — Shorthand construct for single strings output
    abort_code — Returns the code passed to abort_page @@ -9,11 +9,11 @@ Stops outputting data to web page, similar in purpose to PHP's die command.
    apache_log_error — log messages to the Apache error log
    apache_table — access and manipulate Apache tables in the request structure.
    catch — wraps core command catch
    clock_to_rfc850_gmt — create a rfc850 time from [clock seconds].
    cookie — get, set and delete cookies.
    debug — - A command to print strings, arrays - and the values of variables as specified by the arguments. -
    env — - Loads a single "environmental variable" into a Tcl variable. -
    escape_sgml_chars — escape special SGML characters in a string.
    escape_shell_command — escape shell metacharacters in a string.
    escape_string — convert a string into escaped characters.
    exit — terminate execution and child process
    headers — set and parse HTTP headers.
    html — construct html tagged text.
    http_accept — Parse HTTP Accept header lines
    import_keyvalue_pairs — Import an argument list into the named array
    include — includes a file into the output stream without modification.
    inspect — Introspection command for Rivet configuration
    lassign_array — Assign a list of values to array variables
    lempty — + A command to print strings, arrays + and the values of variables as specified by the arguments. +
    env — + Returns the value a single "environmental variable". +
    escape_sgml_chars — escape special SGML characters in a string.
    escape_shell_command — escape shell metacharacters in a string.
    escape_string — convert a string into escaped characters.
    exit — terminate execution and child process
    headers — set and parse HTTP headers.
    html — construct html tagged text.
    http_accept — Parse HTTP Accept header lines
    import_keyvalue_pairs — Import an argument list into the named array
    include — includes a file into the output stream without modification.
    inspect — Introspection command for Rivet configuration
    lassign_array — Assign a list of values to array variables
    lempty — Returns 1 if <list> is empty or 0 if it has any elements. This command emulates the TclX lempty command.
    lmatch — @@ -28,18 +28,18 @@ Split the line into multiple lines by splitting on space characters
    xml — XML Fragments creation -
    Examples and Usage
    Rivet Tcl Packages
    DIO - Database Interface Objects
    DIO — Database Interface Objects
    DIODisplay - Database Interface Objects Display Class
    DIODisplay — Database Interface Objects Display Class
    Session Package
    Introduction
    Requirements
    Preparing To Use It
    Example Usage
    Using Sessions From Your Code
    Session Configuration Options
    Session Methods
    Getting Additional Randomness From The Entropy File
    Form: An HTML Form Fields Generation Utility
    Introduction
    form — a Tcl command object for creating HTML forms
    Calendar Package
    Introduction
    Calendar — Utility class the builds and prints a calendar table
    XmlCalendar — Prints XML formatted calendar tables
    HtmlCalendar — Concrete class derived from XmlCalendar
    RivetEntities
    Introduction
    encode — +
    Examples and Usage
    Rivet Tcl Packages
    DIO - Database Interface Objects
    DIO — Database Interface Objects
    DIODisplay - Database Interface Objects Display Class
    DIODisplay — Database Interface Objects Display Class
    Session Package
    Introduction
    Requirements
    Preparing To Use It
    Example Usage
    Using Sessions From Your Code
    Session Configuration Options
    Session Methods
    Getting Additional Randomness From The Entropy File
    Form: An HTML Form Fields Generation Utility
    Introduction
    form — a Tcl command object for creating HTML forms
    Calendar Package
    Introduction
    Calendar — Utility class the builds and prints a calendar table
    XmlCalendar — Prints XML formatted calendar tables
    HtmlCalendar — Concrete class derived from XmlCalendar
    RivetEntities
    Introduction
    encode — encode a string replacing every occurrence of characters for which an SGML entity exists
    decode — decode an SGML encoded string replacing every entity with the corresponding character -
    AsciiGlyphs
    Introduction
    toGlyphs — +
    AsciiGlyphs
    Introduction
    toGlyphs — print large ASCII glyphs -
    Example
    The Form Broker
    Introduction
    FormBroker — +
    Example
    The Form Broker
    Introduction
    FormBroker — Form broker object creator -
    Resources - How to Get Help
    Mailing Lists
    Newsgroup
    Web Sites
    Bug Tracking System
    IRC
    Editing Rivet Template Files
    Rivet Internals
    Rivet approach to Apache Multiprocessing Models
    mod_rivet MPM Bridge callbacks
    Server Initialization and MPM Bridge
    RivetChan
    The global Command
    Page Parsing, Execution and Caching
    Extending Rivet by developing C code procedures
    Debugging Rivet and Apache
    Example: the Lazy bridge
    The rationale of threaded bridges
    Lazy bridge data structures
    Handling Tcl's exit core command
    HTTP request processing with the lazy bridge

    - This manual is released as part of Apache/Rivet 3.2.0 (Tuesday 2020-11-03 00:35:08+01:00). +

    Resources - How to Get Help
    Mailing Lists
    Newsgroup
    Web Sites
    Bug Tracking System
    IRC
    Editing Rivet Template Files
    Rivet Internals
    Rivet approach to Apache Multiprocessing Models
    mod_rivet MPM Bridge callbacks
    Server Initialization and MPM Bridge
    RivetChan
    The global Command
    Page Parsing, Execution and Caching
    Extending Rivet by developing C code procedures
    Debugging Rivet and Apache
    Example: the Lazy bridge
    The rationale of threaded bridges
    Lazy bridge data structures
    Handling Tcl's exit core command
    HTTP request processing with the lazy bridge

    + This manual is released as part of Apache/Rivet 3.2.1 (Monday 2021-11-08 09:52:51+01:00).


    Introduction to Apache Rivet version 3.2

    Apache Rivet is a system for creating dynamic web content by integrating the diff -Nru libapache2-mod-rivet-3.2.0/doc/html/inspect.html libapache2-mod-rivet-3.2.1/doc/html/inspect.html --- libapache2-mod-rivet-3.2.0/doc/html/inspect.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/inspect.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -inspect


    Name

    inspect — Introspection command for Rivet configuration

    Synopsis

    ::rivet::inspect ?configuration_section? ?configuration_parameter?

    Description

    +inspect


    Name

    inspect — Introspection command for Rivet configuration

    Synopsis

    ::rivet::inspect ?configuration_section? ?configuration_parameter?

    Description

    ::rivet::inspect provides introspection into the running configuration of Rivet. Rivet's debug command uses it in order to gain insight into the configuration, but it can be used in any script. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/installation.html libapache2-mod-rivet-3.2.1/doc/html/installation.html --- libapache2-mod-rivet-3.2.0/doc/html/installation.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/installation.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -Apache Rivet 3.2 Installation


    Apache Rivet 3.2 Installation

    +Apache Rivet 3.2 Installation


    Apache Rivet 3.2 Installation

    Rivet 3.2 runs with the Apache 2.4.x HTTP web server. It is known to build and run on various Linux distributions (Debian & Ubuntu, Redhat, SuSE and CentOS), FreeBSD and OpenBSD. For some @@ -67,8 +67,8 @@ We will assume that you have Apache installed at this point. You must uncompress the Rivet sources in the directory where you wish to compile them. -

    gunzip rivet-3.2.0.tar.gz
    -tar -xvf rivet-3.2.0.tar.gz

    +

    gunzip rivet-3.2.1.tar.gz
    +tar -xvf rivet-3.2.1.tar.gz

  • Building Rivet

    1. Rivet uses the standard ./configure ; make ; make install sequence which installs to their target directories the Apache module, the binary libraries and the @@ -120,7 +120,10 @@ thus demanding the commands to be exported (otherwise it would generate errors at run-time). This option is disabled by default and it can be changed in the configuration with the ImportRivetNS directive -

  • --enable-virtual-interps-separation
    +
    --enable-rivet-debug-build
    + Enable definition of the preprocessor symbol RIVET_DEBUG_BUILD. This is used to + conditionally include code into the build for development and debugging purposes +
    --enable-virtual-interps-separation
    This option changes the default for the SeparateVirtualInterps configuration variable. Default: 0 (no separation among interpreters)

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/internals.html libapache2-mod-rivet-3.2.1/doc/html/internals.html --- libapache2-mod-rivet-3.2.0/doc/html/internals.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/internals.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,11 +1,11 @@ -Rivet Internals


    Rivet Internals

    +Rivet Internals


    Rivet Internals

    This section easily falls out of date, as new code is added, old code is removed, and changes are made. The best place to look is the source code itself. If you are interested in the changes themselves, the Subversion revision control system (svn) can provide you with information about what has been happening with the code. -

    Rivet approach to Apache Multiprocessing Models

    +

    Rivet approach to Apache Multiprocessing Models

    The Apache HTTP web server has an extremely modular architecture that made it very popular among web developers. Most of the server features can be implemented in external modules, including some of @@ -22,33 +22,33 @@ mod_rivet to offer a design that could work together with more MPM and hopefully pave the way to support different OS that have no 'fork' call. At the same time we tried to preserve some of the basic - features of mod_rivet when working with the prefork MPM, chiefly the feature of - the Unix fork system call of 'cloning' a parent process + features of mod_rivet when working with the prefork MPM, chiefly + the feature of the Unix fork system call of 'cloning' a parent process memory into its child, thus allowing fast initialization of interpreters.

    The central design of mod_rivet now relies on the idea of MPM bridges, loadable modules that are responsible to adapt the module procedural design to a given class of Apache MPMs. This design is open to the development of more MPM bridges coping with different multi-processing models but also to the development of - different approaches to resource consumption and workload balance. Currently we have 3 bridges: + different approaches to resource consumption and workload balance. Currently we have 3 bridges:

    • rivet_prefork_mpm.c: a bridge for the prefork MPM
    • rivet_worker_mpm.c: a threaded bridge creating a pool of threads - each running Tcl interpreters and communicating with the worker MPM threads - through a thread safe queue. This bridge is needed by the worker MPM.
    • rivet_lazy_mpm.c: a threaded bridge where Tcl threads are - started on demand. The bridge creates no threads and Tcl interpreters - at start up and only when requests come in Tcl execution threads are created. - This bridge is explained in detail in the the section called “Example: the Lazy bridge”. - Since the resource demand at startup is minimal this bridge should suit - development machines that go through frequent web server restarts.

    mod_rivet MPM Bridge callbacks

    - A bridge is a loadable library implementing different ways to handle - specific features needed to mod_rivet. It was originally meant as a way - to handle the prefork/worker/event MPM specificities, at the same time - avoiding the need to stuff the - code with conditional statements that would have implied useless complexity (an - instance of the Apache web server can run only an MPM at a time), - error prone programming and performance costs. - New bridges could be imagined also to implement different models of workload - and resource management (like the resources demanded by the Tcl interpreters). - We designed an interface between the core of mod_rivet and its MPM bridges + each running Tcl interpreters and communicating with the worker MPM threads + through a thread safe queue. This bridge is needed by the worker MPM and by + any the winnt MPM on Windows.

  • rivet_lazy_mpm.c: a threaded bridge where Tcl threads are + started on demand. The bridge creates no threads and Tcl interpreters + at start up, only when requests come in Tcl execution threads are created. + This bridge is explained in detail in the the section called “Example: the Lazy bridge”. + Since the resource demand at startup is minimal this bridge should suit + development machines that go through frequent web server restarts.
  • mod_rivet MPM Bridge callbacks

    + A bridge is a loadable library implementing different ways to handle + specific features needed to mod_rivet. It was originally meant as a way + to handle the prefork/worker/event MPM specificities, at the same time + avoiding the need to stuff the code with conditional statements that would + have implied useless complexity (an instance of the Apache web server can + run only an MPM at a time), error prone programming and performance costs. + New bridges could be imagined also to implement different models of workload + and resource management (like the resources demanded by the Tcl interpreters). + We designed an interface between the core of mod_rivet and its MPM bridges based on a set of functions defined in the rivet_bridge_table structure.

    typedef struct _mpm_bridge_table {
         RivetBridge_ServerInit    *mpm_server_init;
    @@ -119,8 +119,8 @@
     					status. So this macro (and associated function)	should hide from the module core function
     					the specific approach followed in a particular bridge
     				

    -

    Server Initialization and MPM Bridge

    -

    RivetChan

    +

    Server Initialization and MPM Bridge

    +

    RivetChan

    The RivetChan system was created in order to have an actual Tcl channel that we could redirect standard output to. This enables us use, for instance, the @@ -130,7 +130,7 @@ Tcl's regular standard output is replaced with an instance of this channel type, so that, by default, output will go to the web page. -

    The global Command

    +

    The global Command

    Rivet aims to run standard Tcl code with as few surprises as possible. At times this involves some compromises - in this case regarding the global command. The @@ -145,7 +145,7 @@ you really need a true global variable, use either ::global or add the :: namespace qualifier to variables you wish to make global. -

    Page Parsing, Execution and Caching

    +

    Page Parsing, Execution and Caching

    When a Rivet page is requested, it is transformed into an ordinary Tcl script by parsing the file for the <? ?> processing instruction tags. Everything outside these tags @@ -171,7 +171,7 @@ without having to reload it (and re-parse it) from the disk. The number of scripts stored in memory is configurable. This feature can significantly improve performance. -

    Extending Rivet by developing C code procedures

    +

    Extending Rivet by developing C code procedures

    Rivet endows the Tcl interpreter with new commands serving as interface between the application layer and the Apache web server. Many of these commands @@ -246,7 +246,7 @@ mycmd->1 The value associated to the test must be 0 in case the command doesn't need to test the private->r pointer. -

    Debugging Rivet and Apache

    +

    Debugging Rivet and Apache

    If you are interested in hacking on Rivet, you're welcome to contribute! Invariably, when working with code, things go wrong, and it's necessary to do some debugging. In a server diff -Nru libapache2-mod-rivet-3.2.0/doc/html/lassign_array.html libapache2-mod-rivet-3.2.1/doc/html/lassign_array.html --- libapache2-mod-rivet-3.2.0/doc/html/lassign_array.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/lassign_array.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -lassign_array


    Name

    lassign_array — Assign a list of values to array variables

    Synopsis

    ::rivet::lassign_array ?value_list? ?array_name? ?array_variables?

    Description

    +lassign_array


    Name

    lassign_array — Assign a list of values to array variables

    Synopsis

    ::rivet::lassign_array ?value_list? ?array_name? ?array_variables?

    Description

    lassign_array is an utility command inspired by the same Tclx command and with a close resemblance with Tcl's lassign for assigning list elements to variables. lassign_array first argument is a list of values to be assigned to an array that must be diff -Nru libapache2-mod-rivet-3.2.0/doc/html/lazybridge.html libapache2-mod-rivet-3.2.1/doc/html/lazybridge.html --- libapache2-mod-rivet-3.2.0/doc/html/lazybridge.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/lazybridge.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Example: the “Lazy” bridge


    Example: the Lazy bridge

    The rationale of threaded bridges

    +Example: the “Lazy” bridge


    Example: the Lazy bridge

    The rationale of threaded bridges

    The 'bridge' concept was introduced to cope with the ability of the Apache HTTP web server to adopt different multiprocessing models by loading one of the available MPMs (Multi Processing Modules). @@ -19,7 +19,7 @@ This demands a Tcl interpreters be run on separated threads communicating with the HTTP web server through suitable methods. -

    Lazy bridge data structures

    +

    Lazy bridge data structures

    The lazy bridge was initially developed to outline the basic tasks carried out by each function making a rivet MPM bridge. The lazy bridge attempts to be minimalist @@ -33,12 +33,12 @@ This is the lazy bridge jump table, as such it defines the functions implemented by the bridge.

    RIVET_MPM_BRIDGE {
    -    NULL,
    -    Lazy_MPM_ChildInit,
    -    Lazy_MPM_Request,
    -    Lazy_MPM_Finalize,
    -    Lazy_MPM_ExitHandler,
    -    Lazy_MPM_Interp
    +    LazyBridge_ServerInit,
    +    LazyBridge_ChildInit,
    +    LazyBridge_Request,
    +    LazyBridge_Finalize,
    +    LazyBridge_ExitHandler,
    +    LazyBridge_Interp
     };

    After the server initialization stage, child processes read the configuration and modules build their own configuration representation. MPM bridges hooks into @@ -46,10 +46,9 @@ A fundamental information built during this stage is the database of virtual hosts. The lazy bridge keeps an array of virtual host descriptor pointers each of them referencing an instance of the following structure. -

    /* virtual host descriptor */
    +	

    /* virtual host thread queue descriptor */
     
     typedef struct vhost_iface {
    -    int                 idle_threads_cnt;   /* idle threads for the virtual hosts       */
         int                 threads_count;      /* total number of running and idle threads */
         apr_thread_mutex_t* mutex;              /* mutex protecting 'array'                 */
         apr_array_header_t* array;              /* LIFO array of lazy_tcl_worker pointers   */
    @@ -65,6 +64,17 @@
         int                 server_shutdown;    /* the child process is shutting down  */
         vhost*              vhosts;             /* array of vhost descriptors          */
     } mpm_bridge_status;

    + The lazy bridge also extends the thread private data structure with the + data concerning the Tcl intepreter, its configuration and +

    /* lazy bridge thread private data extension */
    +
    +typedef struct mpm_bridge_specific {
    +    rivet_thread_interp*  interp;           /* thread Tcl interpreter object        */
    +    int                   keep_going;       /* thread loop controlling variable     */
    +                                            /* the request_rec and TclWebRequest    *
    +                                             * are copied here to be passed to a    *
    +                                             * channel                              */
    +} mpm_bridge_specific;

    By design the bridge must create exactly one instance of mpm_bridge_status and store its pointer in module_globals->mpm. This is usually done at the very beginning of the child init script function pointed by @@ -72,14 +82,14 @@ For the lazy bridge this field in the jump table points to Lazy_MPM_ChildInit function

    /*
    - * -- Lazy_MPM_ChildInit
    + * -- LazyBridge_ChildInit
      * 
      * child process initialization. This function prepares the process
      * data structures for virtual hosts and threads management
      *
      */
     
    -void Lazy_MPM_ChildInit (apr_pool_t* pool, server_rec* server)
    +void LazyBridge_ChildInit (apr_pool_t* pool, server_rec* server)
     {
         apr_status_t    rv;
         server_rec*     s;
    @@ -117,22 +127,21 @@
          
         for (s = root_server; s != NULL; s = s->next)
         {
    -        int                 vh;
    +        int                 idx;
             apr_array_header_t* array;
             rivet_server_conf*  rsc = RIVET_SERVER_CONF(s->module_config);
     
    -        vh = rsc->idx;
    -        rv = apr_thread_mutex_create(&module_globals->mpm->vhosts[vh].mutex,
    +        idx = rsc->idx;
    +        rv  = apr_thread_mutex_create(&module_globals->mpm->vhosts[idx].mutex,
                                           APR_THREAD_MUTEX_UNNESTED,pool);
             ap_assert(rv == APR_SUCCESS);
             array = apr_array_make(pool,0,sizeof(void*));
             ap_assert(array != NULL);
    -        module_globals->mpm->vhosts[vh].array = array;
    -        module_globals->mpm->vhosts[vh].idle_threads_cnt = 0;
    -        module_globals->mpm->vhosts[vh].threads_count = 0;
    +        module_globals->mpm->vhosts[idx].array = array;
    +        module_globals->mpm->vhosts[idx].threads_count = 0;
         }
         module_globals->mpm->server_shutdown = 0;
    -}

    Handling Tcl's exit core command

    +}

    Handling Tcl's exit core command

    Most of the fields in the mpm_bridge_status are meant to deal with the child exit process. Rivet supersedes the Tcl core's exit function with a ::rivet::exit function and it does so in order to curb the effects @@ -164,7 +173,7 @@ when the web server shuts down. See these functions' code for further details, they are very easy to read and understand -

    HTTP request processing with the lazy bridge

    +

    HTTP request processing with the lazy bridge

    Requests processing with the lazy bridge is done by determining for which virtual host a request was created. The rivet_server_conf structure keeps a numerical index for each virtual host. This index is used @@ -186,8 +195,7 @@ request_rec* r; int ctype; int ap_sts; - int nreqs; - rivet_server_conf* conf; /* rivet_server_conf* record */ + rivet_server_conf* conf; /* rivet_server_conf* record */ } lazy_tcl_worker;

    The server field is assigned with the virtual host server record. Whereas the conf field keeps the pointer to a run time computed rivet_server_conf. This structure @@ -308,11 +316,12 @@ private->ext = apr_pcalloc(private->pool,sizeof(mpm_bridge_specific)); private->ext->keep_going = 1; - private->ext->interp = Rivet_NewVHostInterp(private->pool,w->server); + //private->ext->interp = Rivet_NewVHostInterp(private->pool,w->server); + RIVET_POKE_INTERP(private,rsc,Rivet_NewVHostInterp(private->pool,rsc->default_cache_size)); private->ext->interp->channel = private->channel; /* The worker thread can respond to a single request at a time therefore - * must handle and register its own Rivet channel */ + must handle and register its own Rivet channel */ Tcl_RegisterChannel(private->ext->interp->interp,*private->channel); @@ -327,7 +336,7 @@ Rivet_PerInterpInit(private->ext->interp,private,w->server,private->pool); /* The child initialization is fired. Beware of the terminologic - * trap: we inherited from prefork only modules the term 'child' + * trap: we inherited from fork capable systems the term 'child' * meaning 'child process'. In this case the child init actually * is a worker thread initialization, because in a threaded module * this is the agent playing the same role a child process plays @@ -335,14 +344,21 @@ Lazy_RunConfScript(private,w,child_init); + idx = w->conf->idx; + + /* After the thread has run the configuration script we + increment the threads counter */ + + apr_thread_mutex_lock(module_globals->mpm->vhosts[idx].mutex); + (module_globals->mpm->vhosts[idx].threads_count)++; + apr_thread_mutex_unlock(module_globals->mpm->vhosts[idx].mutex); + /* The thread is now set up to serve request within the the * do...while loop controlled by private->keep_going */ - idx = w->conf->idx; apr_thread_mutex_lock(w->mutex); do { - module_globals->mpm->vhosts[idx].idle_threads_cnt++; while ((w->status != init) && (w->status != thread_exit)) { apr_thread_cond_wait(w->condition,w->mutex); } @@ -352,16 +368,16 @@ } w->status = processing; - module_globals->mpm->vhosts[idx].idle_threads_cnt--; /* Content generation */ private->req_cnt++; private->ctype = w->ctype; + private->r = w->r; - w->ap_sts = Rivet_SendContent(private,w->r); + w->ap_sts = Rivet_SendContent(private); - if (module_globals->mpm->server_shutdown) continue; + // if (module_globals->mpm->server_shutdown) continue; w->status = done; apr_thread_cond_signal(w->condition); @@ -378,8 +394,8 @@ } while (private->ext->keep_going); apr_thread_mutex_unlock(w->mutex); - ap_log_error(APLOG_MARK,APLOG_DEBUG,APR_SUCCESS,w->server,"processor thread orderly exit"); Lazy_RunConfScript(private,w,child_exit); + ap_log_error(APLOG_MARK,APLOG_DEBUG,APR_SUCCESS,w->server,"processor thread orderly exit"); apr_thread_mutex_lock(module_globals->mpm->vhosts[idx].mutex); (module_globals->mpm->vhosts[idx].threads_count)--; diff -Nru libapache2-mod-rivet-3.2.0/doc/html/lempty.html libapache2-mod-rivet-3.2.1/doc/html/lempty.html --- libapache2-mod-rivet-3.2.0/doc/html/lempty.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/lempty.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,7 +1,7 @@ -lempty


    Name

    lempty — +lempty


    Name

    lempty — Returns 1 if <list> is empty or 0 if it has any elements. This command emulates the TclX lempty command. -

    Synopsis

    ::rivet::lempty list

    Description

    +

    Synopsis

    ::rivet::lempty list

    Description

    Returns 1 if <list> is empty or 0 if it has any elements. This command emulates the TclX lempty command.

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/lmatch.html libapache2-mod-rivet-3.2.1/doc/html/lmatch.html --- libapache2-mod-rivet-3.2.0/doc/html/lmatch.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/lmatch.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -lmatch

    Name

    lmatch — +lmatch


    Name

    lmatch — Look for elements in <list> that match <pattern> -

    Synopsis

    ::rivet::lmatch (-exact | -glob | -regexp) list pattern

    Description

    +

    Synopsis

    ::rivet::lmatch (-exact | -glob | -regexp) list pattern

    Description

    Look for elements in <list> that match <pattern>. This command is a decent replacement for TclX lmatch command when TclX is not available diff -Nru libapache2-mod-rivet-3.2.0/doc/html/load_cookies.html libapache2-mod-rivet-3.2.1/doc/html/load_cookies.html --- libapache2-mod-rivet-3.2.0/doc/html/load_cookies.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/load_cookies.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -load_cookies


    Name

    load_cookies — get any cookie variables sent by the client.

    Synopsis

    ::rivet::load_cookies ?array_name?

    Description

    +load_cookies


    Name

    load_cookies — get any cookie variables sent by the client.

    Synopsis

    ::rivet::load_cookies ?array_name?

    Description

    Load the array of cookie variables into the specified array name. Uses array cookies by default. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/load_env.html libapache2-mod-rivet-3.2.1/doc/html/load_env.html --- libapache2-mod-rivet-3.2.0/doc/html/load_env.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/load_env.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -load_env


    Name

    load_env — get the request's environment variables.

    Synopsis

    ::rivet::load_env ?array_name?

    Description

    +load_env


    Name

    load_env — get the request's environment variables.

    Synopsis

    ::rivet::load_env ?array_name?

    Description

    Load the array of environment variables into the specified array name. Uses array ::request::env by default. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/load_headers.html libapache2-mod-rivet-3.2.1/doc/html/load_headers.html --- libapache2-mod-rivet-3.2.0/doc/html/load_headers.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/load_headers.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -load_headers


    Name

    load_headers — get client request's headers.

    Synopsis

    ::rivet::load_headers ?array_name?

    Description

    +load_headers


    Name

    load_headers — get client request's headers.

    Synopsis

    ::rivet::load_headers ?array_name?

    Description

    Load the headers that come from a client request into the provided array name, or use headers if no name is provided. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/load_response.html libapache2-mod-rivet-3.2.1/doc/html/load_response.html --- libapache2-mod-rivet-3.2.0/doc/html/load_response.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/load_response.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -load_response


    Name

    load_response — load form variables into an array.

    Synopsis

    ::rivet::load_response ?arrayName?

    Description

    +load_response


    Name

    load_response — load form variables into an array.

    Synopsis

    ::rivet::load_response ?arrayName?

    Description

    Load any form variables passed to this page into an array. If load_response is called without arguments the array response is created in diff -Nru libapache2-mod-rivet-3.2.0/doc/html/lremove.html libapache2-mod-rivet-3.2.1/doc/html/lremove.html --- libapache2-mod-rivet-3.2.0/doc/html/lremove.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/lremove.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -lremove


    Name

    lremove — remove from a list elements matching one or more patterns

    Synopsis

    ::rivet::lremove (-regexp | -glob | -exact) list pattern ?pattern? ?pattern?

    Description

    +lremove


    Name

    lremove — remove from a list elements matching one or more patterns

    Synopsis

    ::rivet::lremove (-regexp | -glob | -exact) list pattern ?pattern? ?pattern?

    Description

    lremove removes from list ?list? the first occurrence of an element matching one of the patterns listed in the command line. By specifying the -all option every occurrence of one the patterns is removed diff -Nru libapache2-mod-rivet-3.2.0/doc/html/makeurl.html libapache2-mod-rivet-3.2.1/doc/html/makeurl.html --- libapache2-mod-rivet-3.2.0/doc/html/makeurl.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/makeurl.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -makeurl


    Name

    makeurl — construct url's based on hostname, port.

    Synopsis

    ::rivet::makeurl ?filename?

    Description

    +makeurl


    Name

    makeurl — construct url's based on hostname, port.

    Synopsis

    ::rivet::makeurl ?filename?

    Description

    Create a self referencing URL from a filename. makeurl can be used in three ways

    • With no arguments the current script URL is returned
    • diff -Nru libapache2-mod-rivet-3.2.0/doc/html/no_body.html libapache2-mod-rivet-3.2.1/doc/html/no_body.html --- libapache2-mod-rivet-3.2.0/doc/html/no_body.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/no_body.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -no_body

      Name

      no_body — Prevents Rivet from sending any content.

      Synopsis

      ::rivet::no_body

      Description

      +no_body


      Name

      no_body — Prevents Rivet from sending any content.

      Synopsis

      ::rivet::no_body

      Description

      This command is useful for situations where it is necessary to only return HTTP headers and no actual content. For instance, when returning a 304 redirect. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/parray.html libapache2-mod-rivet-3.2.1/doc/html/parray.html --- libapache2-mod-rivet-3.2.0/doc/html/parray.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/parray.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -parray


      Name

      parray — Tcl's parray with html formatting.

      Synopsis

      ::rivet::parray ?arrayName? ??pattern??

      Description

      +parray


      Name

      parray — Tcl's parray with html formatting.

      Synopsis

      ::rivet::parray ?arrayName? ??pattern??

      Description

      An html version of the standard Tcl parray command. Displays the entire contents of an array in a sorted, nicely-formatted way. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/parse.html libapache2-mod-rivet-3.2.1/doc/html/parse.html --- libapache2-mod-rivet-3.2.0/doc/html/parse.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/parse.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -parse


      Name

      parse — parses a Rivet template file.

      Synopsis

      ::rivet::parse ?filename?

      Description

      +parse


      Name

      parse — parses a Rivet template file.

      Synopsis

      ::rivet::parse ?filename?

      Description

      Like the Tcl source command, but also parses for Rivet <? and ?> processing tags. Using this command, you can use one .rvt file from another. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/processing.html libapache2-mod-rivet-3.2.1/doc/html/processing.html --- libapache2-mod-rivet-3.2.0/doc/html/processing.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/processing.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,8 +1,8 @@ -Apache Rivet HTTP Request Processing


      Apache Rivet HTTP Request Processing

      Tcl Scripts Processing

      +Apache Rivet HTTP Request Processing


      Apache Rivet HTTP Request Processing

      Tcl Scripts Processing

      Until 2.x versions Rivet handled requests following the vision that inspired the original design - which was summarized in the definition <q>Web programming - like in PHP, but with Tcl</q>. HTTP requests triggered the + which was summarized in the definition Web programming + like in PHP, but with Tcl. HTTP requests triggered the execution of Tcl scripts or a Rivet (.rvt file) templates whose path is encoded in the URI (an alias translation or URL rewriting might occur to establish the real path). @@ -95,7 +95,7 @@ ::rivet::abort_page. The current procedure might work as a template to be reworked into your own request handler. -

    Example: basic OO Rivet Application

    +

    Example: basic OO Rivet Application

    An applications may have no interest in running a script pointed by the URL as in the traditional approach followed by rivet inspired to the PHP philosophy of scripting diff -Nru libapache2-mod-rivet-3.2.0/doc/html/raw_post.html libapache2-mod-rivet-3.2.1/doc/html/raw_post.html --- libapache2-mod-rivet-3.2.0/doc/html/raw_post.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/raw_post.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -raw_post


    Name

    raw_post — get the unmodified body of a POST request sent by the client.

    Synopsis

    ::rivet::raw_post

    Description

    +raw_post


    Name

    raw_post — get the unmodified body of a POST request sent by the client.

    Synopsis

    ::rivet::raw_post

    Description

    Returns the raw POST data from the request. If the request was not a POST or there is no data, then "" - an empty string - is returned.

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/read_file.html libapache2-mod-rivet-3.2.1/doc/html/read_file.html --- libapache2-mod-rivet-3.2.0/doc/html/read_file.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/read_file.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -read_file

    Name

    read_file — +read_file


    Name

    read_file — Read the entire contents of a file and return it as a string. -

    Synopsis

    ::rivet::read_file ?file name?

    Description

    +

    Synopsis

    ::rivet::read_file ?file name?

    Description

    This is a utility command which loads the entire content of a file and returns it as a result.

    diff -Nru libapache2-mod-rivet-3.2.0/doc/html/redirect.html libapache2-mod-rivet-3.2.1/doc/html/redirect.html --- libapache2-mod-rivet-3.2.0/doc/html/redirect.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/redirect.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -redirect

    Name

    redirect — Interrupt processing and divert to a new URL

    Synopsis

    ::rivet::redirect ?URL? ?permanent?

    Description

    +redirect


    Name

    redirect — Interrupt processing and divert to a new URL

    Synopsis

    ::rivet::redirect ?URL? ?permanent?

    Description

    ::rivet::redirect diverts the browser to a new URL and marks the redirection as either permanent in the browser local cache or non permanent (default). diff -Nru libapache2-mod-rivet-3.2.0/doc/html/request.html libapache2-mod-rivet-3.2.1/doc/html/request.html --- libapache2-mod-rivet-3.2.0/doc/html/request.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/request.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,4 +1,4 @@ -Apache Child Processes Lifecycle and Request Processing


    Apache Child Processes Lifecycle and Request Processing

    Apache Child Process Lifecycle

    +Apache Child Processes Lifecycle and Request Processing


    Apache Child Processes Lifecycle and Request Processing

    Apache Child Process Lifecycle

    Apache Rivet devolves to the Multi-Processing Module (MPM) the task of managing the agents responding to network requests. An MPM is responsible for creating such agents during the start-up, @@ -21,7 +21,7 @@

    There are 4 stages in the lifetime of an Apache webserver that are relevant to Rivet: -

    1. Server Initialization

      +

      1. Server Initialization

        Apaches starts up as a single process. During this stage Apache performs various preliminary tasks including reading and parsing the configuration. After the configuration has been read Rivet sets up some internal resources @@ -42,7 +42,7 @@ in this context are IPC methods that must be initialized at this stage. With the prefork MPM also importing from namespaces and loading packages can be done here removing the burden from the child initialization stage. -
      2. Child Process Initialization

        +
      3. Child Process Initialization

        A child process calls the MPM bridge interface function to set up the Tcl run time environment,either creating multiple threads each running its Tcl interpreters or, in the case of the prefork MPM bridge, setting up @@ -78,7 +78,7 @@ a single virtual host, therefore SeparateVirtualInterps is ignored and you can't share the same interpreter among virtual host
        -
    2. Request Processing and Content Generation

      +
    3. Request Processing and Content Generation

      [Note]Note
      This section explain the default request handling procedure which was written to let Rivet 3.0 work as a drop in replacement @@ -104,7 +104,7 @@ be running within the same "before" and "after" scripts to which the programmer can devolve tasks common to every page of an application. -
    4. Child Process Exit

      +
    5. Child Process Exit

      If no error condition forces the child process to a premature exit, his life is determined by the Apache configuration parameters. To reduce the effects of memory leaks in buggy applications the Apache webserver @@ -122,7 +122,7 @@ to exit and be replaced by a new one when the workload demands it. This operation implies the ChildExitScript be run before the interpreter is actually deleted. -
    6. Apache Rivet Error and Exception Scripts Directives

      +

      Apache Rivet Error and Exception Scripts Directives

      Rivet is highly configurable and each of the webserver lifecycle stages can be exploited to control a web application. Not only the orderly sequence of stages @@ -148,7 +148,7 @@ the abnormal condition. Starting with Rivet 2.1.0 abort_page accepts a free form parameter that can be retrieved later with the command abort_code -

      Tcl Namespaces in Rivet and the ::request Namespace

      +

      Tcl Namespaces in Rivet and the ::request Namespace

      [Note]Note
      This section explain the default request handling procedure which was written to let Rivet 3.0 work as a drop in replacement diff -Nru libapache2-mod-rivet-3.2.0/doc/html/session_package.html libapache2-mod-rivet-3.2.1/doc/html/session_package.html --- libapache2-mod-rivet-3.2.0/doc/html/session_package.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/session_package.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Session Package

      Session Package

      Introduction

      +Session Package


      Session Package

      Introduction

      This is session management code. It provides an interface to allow you to generate and track a browser's visit as a "session", giving you a unique session ID and an interface @@ -25,13 +25,13 @@ All DB interfacing is done through DIO, though, so it should be relatively easy to add support for other databases. -

      Preparing To Use It

      Create the tables in your SQL server. With Postgres, +

      Preparing To Use It

      Create the tables in your SQL server. With Postgres, do a psql www or whatever DB you connect as, then a backslash-i on session-create.sql

      (If you need to delete the tables, use session-drop.sql)

      The session code by default requires a DIO handle called DIO (the name of which can be overridden). We get it by doing a

      RivetServerConf ChildInitScript "package require DIO"
      -RivetServerConf ChildInitScript "::DIO::handle Postgresql DIO -user www"

      Example Usage

      In your httpd.conf, add:

      RivetServerConf ChildInitScript "package require Session; Session SESSION"

      +RivetServerConf ChildInitScript "::DIO::handle Postgresql DIO -user www"

      Example Usage

      In your httpd.conf, add:

      RivetServerConf ChildInitScript "package require Session; Session SESSION"

      This tells Rivet you want to create a session object named SESSION in every child process Apache creates.

      You can configure the session at this point using numerous @@ -52,7 +52,7 @@ additional requests are received during the session, all under the control of the key-value pairs controlling the session object. -

      Using Sessions From Your Code

      The main methods your code will use are:

      SESSION id
      +

      Using Sessions From Your Code

      The main methods your code will use are:

      SESSION id
      After doing a SESSION activate, this will return a 32-byte ASCII-encoded random hexadecimal string. Every time this browser comes @@ -79,7 +79,7 @@ none was set. (Status is set to the DIO error that occurred, it can be fetched using the status method.) -

      Session Configuration Options

      The following key-value pairs can be specified when a +

      Session Configuration Options

      The following key-value pairs can be specified when a session object (like SESSION above) is created:

      sessionLifetime
      how many seconds the session will live for. 7200 == 2 hours
      sessionRefreshInterval
      @@ -132,7 +132,7 @@ file handle that debugging messages will be written to (default stdout) -

      Session Methods

      +

      Session Methods

      The following methods can be invoked to find out information about the current session, store and fetch server data identified with this session, etc: @@ -171,7 +171,7 @@ If they don't have one or it isn't valid (timed out, etc), create a session and drop a cookie on them. -

      Getting Additional Randomness From The Entropy File

      RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
      +	      

      Getting Additional Randomness From The Entropy File

      RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
         -entropyLength 10 -debugMode 1"

      This options say we want to get randomness from an entropy file (random data pseudo-device) of /dev/urandom, to get ten diff -Nru libapache2-mod-rivet-3.2.0/doc/html/shorthand.html libapache2-mod-rivet-3.2.1/doc/html/shorthand.html --- libapache2-mod-rivet-3.2.0/doc/html/shorthand.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/shorthand.html 2021-11-08 08:52:51.000000000 +0000 @@ -1,6 +1,6 @@ -<?= ... ?>

      Name

      <?= ... ?> — +<?= ... ?>

      Name

      <?= ... ?> — Shorthand construct for single strings output -

      Synopsis

      <?= $string ?>

      Description

      +

      Synopsis

      <?= $string ?>

      Description

      This construct is a simplified form to print a single string wherever needed in a ?.rvt? template. The contruct is equivalent to writing the following line of Tcl code diff -Nru libapache2-mod-rivet-3.2.0/doc/html/tcl_packages.html libapache2-mod-rivet-3.2.1/doc/html/tcl_packages.html --- libapache2-mod-rivet-3.2.0/doc/html/tcl_packages.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/tcl_packages.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -Rivet Tcl Packages


      Rivet Tcl Packages

      +Rivet Tcl Packages


      Rivet Tcl Packages

      In addition to the core Apache module, Rivet provides a number of Tcl packages that include potentially useful code.

      • dio is a database abstraction layer.
      • form - for creating forms.
      • calendar - a package providing a simple configurable calendar generator
      • rivet entities - an UTF-8 / HTML entities converter
      • formbroker - a form data validators broker
      • ASCII Glyphs - prints most of the ASCII character set as large ASCII art glyphs
      diff -Nru libapache2-mod-rivet-3.2.0/doc/html/thread_id.html libapache2-mod-rivet-3.2.1/doc/html/thread_id.html --- libapache2-mod-rivet-3.2.0/doc/html/thread_id.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/thread_id.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,8 +1,8 @@ -thread_id

      Name

      thread_id — Returns the Tcl interpreter current thread id

      Synopsis

      ::rivet::thread_id ?-decimal | -hex?

      Description

      - ::rivet::threadid returns is either hexadecimal - (default) or decimal representation the current thread id. This command - is useful because allows for precise identification of an execution thread - when Apache runs a threaded MPM. Calling the command with ?-decimal? - prints the thread id in a form that makes it comparable with the tid - information printed in the error log. +thread_id


      Name

      thread_id — Returns the Tcl interpreter current thread id

      Synopsis

      ::rivet::thread_id ?-decimal | -hex?

      Description

      + ::rivet::threadid either returns the hexadecimal + (default) or the decimal representation of the current thread id. This command + is useful for precise identification of an execution thread + when Apache runs a threaded MPM. When called with the ?-decimal? switch the + command prints the thread id can be compared with the tid + information printed in the Apache error log.

      diff -Nru libapache2-mod-rivet-3.2.0/doc/html/toglyphs.html libapache2-mod-rivet-3.2.1/doc/html/toglyphs.html --- libapache2-mod-rivet-3.2.0/doc/html/toglyphs.html 2020-11-02 23:35:09.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/toglyphs.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -toGlyphs

      Name

      toGlyphs — +toGlyphs

      Name

      toGlyphs — print large ASCII glyphs -

      Synopsis

      ::AsciiGlyphs toGlyphs string

      Description

      +

      Synopsis

      ::AsciiGlyphs toGlyphs string

      Description

      prints the ASCII glyphs corresponding to the characters forming the argument string

      diff -Nru libapache2-mod-rivet-3.2.0/doc/html/try.html libapache2-mod-rivet-3.2.1/doc/html/try.html --- libapache2-mod-rivet-3.2.0/doc/html/try.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/try.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -try

      Name

      try — +try


      Name

      try — Catch error and exception conditions -

      Synopsis

      ::rivet::try ?script? ?script? ?handlers? ?finally script?

      Description

      +

      Synopsis

      ::rivet::try ?script? ?script? ?handlers? ?finally script?

      Description

      ::rivet::try wraps the core language command and simply traps exceptions that might have raised by ::rivet::abort_page and diff -Nru libapache2-mod-rivet-3.2.0/doc/html/unescape_string.html libapache2-mod-rivet-3.2.1/doc/html/unescape_string.html --- libapache2-mod-rivet-3.2.0/doc/html/unescape_string.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/unescape_string.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -unescape_string


      Name

      unescape_string — unescape escaped characters in a string.

      Synopsis

      ::rivet::unescape_string ?string?

      Description

      +unescape_string


      Name

      unescape_string — unescape escaped characters in a string.

      Synopsis

      ::rivet::unescape_string ?string?

      Description

      Scans through each character in the specified string looking for escaped character sequences (characters containing a percent sign and two hexadecimal characters), unescaping them diff -Nru libapache2-mod-rivet-3.2.0/doc/html/upload.html libapache2-mod-rivet-3.2.1/doc/html/upload.html --- libapache2-mod-rivet-3.2.0/doc/html/upload.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/upload.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -upload


      Name

      upload — handle a file uploaded by a client.

      Synopsis

      ::rivet::upload (channel | save | data | exists | size | type | filename)

      Description

      +upload


      Name

      upload — handle a file uploaded by a client.

      Synopsis

      ::rivet::upload (channel | save | data | exists | size | type | filename)

      Description

      The upload command is for file upload manipulation. See the relevant Apache Directives to further configure the behavior of this Rivet feature. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/url_script.html libapache2-mod-rivet-3.2.1/doc/html/url_script.html --- libapache2-mod-rivet-3.2.0/doc/html/url_script.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/url_script.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -url_script


      Name

      url_script — get the code of the URL referenced Tcl script or Rivet template

      Synopsis

      ::rivet::url_script

      Description

      +url_script


      Name

      url_script — get the code of the URL referenced Tcl script or Rivet template

      Synopsis

      ::rivet::url_script

      Description

      This command is used internally by the rivet central Tcl procedure (::Rivet::request_handling) executed by the default traditional code for HTTP requests processing. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/var.html libapache2-mod-rivet-3.2.1/doc/html/var.html --- libapache2-mod-rivet-3.2.0/doc/html/var.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/var.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -var


      Name

      var, var_qs, var_post — get the value of a form variable.

      Synopsis

      ::rivet::var (get | list | exists | number | all)
      ::rivet::var_qs (get | list | exists | number | all)
      ::rivet::var_post (get | list | exists | number | all)

      Description

      +var


      Name

      var, var_qs, var_post — get the value of a form variable.

      Synopsis

      ::rivet::var (get | list | exists | number | all)
      ::rivet::var_qs (get | list | exists | number | all)
      ::rivet::var_post (get | list | exists | number | all)

      Description

      The var command retrieves information about GET or POST variables sent to the script via client request. It treats both GET and POST variables the same, diff -Nru libapache2-mod-rivet-3.2.0/doc/html/wrap.html libapache2-mod-rivet-3.2.1/doc/html/wrap.html --- libapache2-mod-rivet-3.2.0/doc/html/wrap.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/wrap.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -wrap


      Name

      wrap — +wrap


      Name

      wrap — Split a string on newlines. -

      Synopsis

      ::rivet::wrap ?string? ?maxlen? html

      Description

      +

      Synopsis

      ::rivet::wrap ?string? ?maxlen? html

      Description

      For each line, wrap the line at a space character to be equal to or shorter than the maximum length value passed.

      diff -Nru libapache2-mod-rivet-3.2.0/doc/html/wrapline.html libapache2-mod-rivet-3.2.1/doc/html/wrapline.html --- libapache2-mod-rivet-3.2.0/doc/html/wrapline.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/wrapline.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -wrapline


      Name

      wrapline — +wrapline


      Name

      wrapline — Split the line into multiple lines by splitting on space characters -

      Synopsis

      ::rivet::wrapline ?string? ?maxlen? html

      Description

      +

      Synopsis

      ::rivet::wrapline ?string? ?maxlen? html

      Description

      Given a line and a maximum length and option "-html" argument, split the line into multiple lines by splitting on space characters and making sure each line is less than maximum length. diff -Nru libapache2-mod-rivet-3.2.0/doc/html/xml.html libapache2-mod-rivet-3.2.1/doc/html/xml.html --- libapache2-mod-rivet-3.2.0/doc/html/xml.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/xml.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,6 +1,6 @@ -xml


      Name

      xml — +xml


      Name

      xml — XML Fragments creation -

      Synopsis

      ::rivet::xml ?string? ?tag descriptor? ?tag descriptor? ?...?

      Description

      +

      Synopsis

      ::rivet::xml ?string? ?tag descriptor? ?tag descriptor? ?...?

      Description

      Given a string and a variable number of tag descriptors return XML fragment made by nesting the tags with the same hierarchical order they are listed on the command line. The tag descriptors can be a one element list (the tag) or an odd-length list whose diff -Nru libapache2-mod-rivet-3.2.0/doc/html/xml_calendar.html libapache2-mod-rivet-3.2.1/doc/html/xml_calendar.html --- libapache2-mod-rivet-3.2.0/doc/html/xml_calendar.html 2020-11-02 23:35:08.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/html/xml_calendar.html 2021-11-08 08:52:52.000000000 +0000 @@ -1,4 +1,4 @@ -XmlCalendar


      Name

      XmlCalendar — Prints XML formatted calendar tables

      Synopsis

      XmlCalendar calendar_name ?-option1 option_list? ?-option2 option_list? ?...?

      +XmlCalendar


      Name

      XmlCalendar — Prints XML formatted calendar tables

      Synopsis

      XmlCalendar calendar_name ?-option1 option_list? ?-option2 option_list? ?...?

      An XmlCalendar object is created and returned. XmlCalendar objects print XML formatted calendar tables. The markup can be customized using the configuration options. @@ -11,7 +11,7 @@ The first element of an option list is a tag name, the remaining terms are therefore an even-length sublist which is interpreted as a sequence of attribute-value pairs that will in turn become attributes of the tag. -

      Methods

      +

      Methods

      cal_obj emit -opt1 val1 -opt2 val2
      cal_obj emit ?month? ?year? -opt1 val1 -opt2 val2
      cal_obj emit ? @@ -19,7 +19,7 @@ -opt2 val2
      The method 'emit' if invoked without arguments returns an XML calendar table of the current month -

      Options

      -container (tag_name +

      Options

      -container (tag_name attr11 val1 attr2 val2 ...)
      Assigns an options list to the XML element that will hold the whole table. diff -Nru libapache2-mod-rivet-3.2.0/doc/rivet.xml libapache2-mod-rivet-3.2.1/doc/rivet.xml --- libapache2-mod-rivet-3.2.0/doc/rivet.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/rivet.xml 2021-11-06 16:48:26.000000000 +0000 @@ -36,7 +36,7 @@ - + diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/commands.xml libapache2-mod-rivet-3.2.1/doc/xml/commands.xml --- libapache2-mod-rivet-3.2.0/doc/xml/commands.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/commands.xml 2021-11-06 16:48:26.000000000 +0000 @@ -460,61 +460,63 @@ - - debug - - A command to print strings, arrays - and the values of variables as specified by the arguments. - - - - - ::rivet::debug - -subst<on|off> - -separator<string> - -option<value> - -option<value> - ... - - + + debug + + A command to print strings, arrays + and the values of variables as specified by the arguments. + + + + + ::rivet::debug + -subst<on|off> + -separator<string> + -option<value> + -option<value> + ... + + - - Description - - A command to make debugging more convenient print strings, arrays - and the values of variables as specified by the arguments. - - - Also allows the setting of an array called debug which will pick up - options for all debug commands. - - + + Description + + A command to make debugging more convenient print strings, arrays + and the values of variables as specified by the arguments. + + + Also allows the setting of an array called debug which will pick up + options for all debug commands. + + - - - env - - Loads a single "environmental variable" into a Tcl variable. - - + + env + + Returns the value a single "environmental variable". + + - - - ::rivet::env - varName - - + + + ::rivet::env + environment_variable_name + + - - Description - - If it is only necessary to load one environmental variable, - this command may be used to avoid the overhead of loading - and storing the entire array. - - + + Description + + ::rivet::env resolves a single environment + variable and returns its value or an empty string if the environment + variable name in the argument is not defined. + This command is the recommended way to resolve an environment + variable leaving ::rivet::load_env to debugging + and development operations. + + @@ -530,19 +532,16 @@ - - Description - - Scans through each character in the specified string looking - for any special (with respect to SGML, and hence HTML) characters - from the specified string, and returns the result. - For example, the right angle bracket is escaped to the corrected - ampersand gt symbol. - - - + + Description + + Scans through each character in the specified string looking + for any special (with respect to SGML, and hence HTML) characters + from the specified string, and returns the result. + For example, the right angle bracket is escaped to the corrected + ampersand gt symbol. + + @@ -1537,12 +1536,12 @@ Description - ::rivet::threadid returns is either hexadecimal - (default) or decimal representation the current thread id. This command - is useful because allows for precise identification of an execution thread - when Apache runs a threaded MPM. Calling the command with -decimal - prints the thread id in a form that makes it comparable with the tid - information printed in the error log. + ::rivet::threadid either returns the hexadecimal + (default) or the decimal representation of the current thread id. This command + is useful for precise identification of an execution thread + when Apache runs a threaded MPM. When called with the -decimal switch the + command prints the thread id can be compared with the tid + information printed in the Apache error log. diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/form.xml libapache2-mod-rivet-3.2.1/doc/xml/form.xml --- libapache2-mod-rivet-3.2.0/doc/xml/form.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/form.xml 2021-11-06 16:48:26.000000000 +0000 @@ -42,7 +42,7 @@ - creates and returns a new Tcl command named . + creates and returns a new Tcl command named . Options @@ -87,11 +87,25 @@ load_response command of Rivet when default values come from another form. - + + -emit + true(default)|false + + + a Tcl accepted representation of a Boolean value. Change a form object + instance behavior so that methods generating HTML form entries return + to the caller their output as string instead of directly sending it to stdout + + + + + + + -action URL diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/installation.xml libapache2-mod-rivet-3.2.1/doc/xml/installation.xml --- libapache2-mod-rivet-3.2.0/doc/xml/installation.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/installation.xml 2021-11-06 16:48:26.000000000 +0000 @@ -240,7 +240,17 @@ - + + + --enable-rivet-debug-build + + + Enable definition of the preprocessor symbol RIVET_DEBUG_BUILD. This is used to + conditionally include code into the build for development and debugging purposes + + + + --enable-virtual-interps-separation diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/internals.xml libapache2-mod-rivet-3.2.1/doc/xml/internals.xml --- libapache2-mod-rivet-3.2.0/doc/xml/internals.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/internals.xml 2021-11-06 16:48:26.000000000 +0000 @@ -30,8 +30,8 @@ mod_rivet to offer a design that could work together with more MPM and hopefully pave the way to support different OS that have no 'fork' call. At the same time we tried to preserve some of the basic - features of mod_rivet when working with the prefork MPM, chiefly the feature of - the Unix fork system call of 'cloning' a parent process + features of mod_rivet when working with the prefork MPM, chiefly + the feature of the Unix fork system call of 'cloning' a parent process memory into its child, thus allowing fast initialization of interpreters. @@ -39,34 +39,34 @@ loadable modules that are responsible to adapt the module procedural design to a given class of Apache MPMs. This design is open to the development of more MPM bridges coping with different multi-processing models but also to the development of - different approaches to resource consumption and workload balance. Currently we have 3 bridges: + different approaches to resource consumption and workload balance. Currently we have 3 bridges: - rivet_prefork_mpm.c: a bridge for the prefork MPM - rivet_worker_mpm.c: a threaded bridge creating a pool of threads - each running Tcl interpreters and communicating with the worker MPM threads - through a thread safe queue. This bridge is needed by the worker MPM. - rivet_lazy_mpm.c: a threaded bridge where Tcl threads are - started on demand. The bridge creates no threads and Tcl interpreters - at start up and only when requests come in Tcl execution threads are created. - This bridge is explained in detail in the next section. - Since the resource demand at startup is minimal this bridge should suit - development machines that go through frequent web server restarts. + rivet_prefork_mpm.c: a bridge for the prefork MPM + rivet_worker_mpm.c: a threaded bridge creating a pool of threads + each running Tcl interpreters and communicating with the worker MPM threads + through a thread safe queue. This bridge is needed by the worker MPM and by + any the winnt MPM on Windows. + rivet_lazy_mpm.c: a threaded bridge where Tcl threads are + started on demand. The bridge creates no threads and Tcl interpreters + at start up, only when requests come in Tcl execution threads are created. + This bridge is explained in detail in the next section. + Since the resource demand at startup is minimal this bridge should suit + development machines that go through frequent web server restarts.
      mod_rivet MPM Bridge callbacks - A bridge is a loadable library implementing different ways to handle - specific features needed to mod_rivet. It was originally meant as a way - to handle the prefork/worker/event MPM specificities, at the same time - avoiding the need to stuff the - code with conditional statements that would have implied useless complexity (an - instance of the Apache web server can run only an MPM at a time), - error prone programming and performance costs. - New bridges could be imagined also to implement different models of workload - and resource management (like the resources demanded by the Tcl interpreters). - We designed an interface between the core of mod_rivet and its MPM bridges + A bridge is a loadable library implementing different ways to handle + specific features needed to mod_rivet. It was originally meant as a way + to handle the prefork/worker/event MPM specificities, at the same time + avoiding the need to stuff the code with conditional statements that would + have implied useless complexity (an instance of the Apache web server can + run only an MPM at a time), error prone programming and performance costs. + New bridges could be imagined also to implement different models of workload + and resource management (like the resources demanded by the Tcl interpreters). + We designed an interface between the core of mod_rivet and its MPM bridges based on a set of functions defined in the rivet_bridge_table structure. typedef struct _mpm_bridge_table { diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/lazybridge.xml libapache2-mod-rivet-3.2.1/doc/xml/lazybridge.xml --- libapache2-mod-rivet-3.2.0/doc/xml/lazybridge.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/lazybridge.xml 2021-11-06 16:48:26.000000000 +0000 @@ -46,12 +46,12 @@ RIVET_MPM_BRIDGE { - NULL, - Lazy_MPM_ChildInit, - Lazy_MPM_Request, - Lazy_MPM_Finalize, - Lazy_MPM_ExitHandler, - Lazy_MPM_Interp + LazyBridge_ServerInit, + LazyBridge_ChildInit, + LazyBridge_Request, + LazyBridge_Finalize, + LazyBridge_ExitHandler, + LazyBridge_Interp }; @@ -62,10 +62,9 @@ The lazy bridge keeps an array of virtual host descriptor pointers each of them referencing an instance of the following structure. - /* virtual host descriptor */ + /* virtual host thread queue descriptor */ typedef struct vhost_iface { - int idle_threads_cnt; /* idle threads for the virtual hosts */ int threads_count; /* total number of running and idle threads */ apr_thread_mutex_t* mutex; /* mutex protecting 'array' */ apr_array_header_t* array; /* LIFO array of lazy_tcl_worker pointers */ @@ -84,6 +83,22 @@ int server_shutdown; /* the child process is shutting down */ vhost* vhosts; /* array of vhost descriptors */ } mpm_bridge_status; + + + The lazy bridge also extends the thread private data structure with the + data concerning the Tcl intepreter, its configuration and + + + /* lazy bridge thread private data extension */ + +typedef struct mpm_bridge_specific { + rivet_thread_interp* interp; /* thread Tcl interpreter object */ + int keep_going; /* thread loop controlling variable */ + /* the request_rec and TclWebRequest * + * are copied here to be passed to a * + * channel */ +} mpm_bridge_specific; + By design the bridge must create exactly one instance of mpm_bridge_status and store its pointer in module_globals->mpm. @@ -93,14 +108,14 @@ function /* - * -- Lazy_MPM_ChildInit + * -- LazyBridge_ChildInit * * child process initialization. This function prepares the process * data structures for virtual hosts and threads management * */ -void Lazy_MPM_ChildInit (apr_pool_t* pool, server_rec* server) +void LazyBridge_ChildInit (apr_pool_t* pool, server_rec* server) { apr_status_t rv; server_rec* s; @@ -138,19 +153,18 @@ for (s = root_server; s != NULL; s = s->next) { - int vh; + int idx; apr_array_header_t* array; rivet_server_conf* rsc = RIVET_SERVER_CONF(s->module_config); - vh = rsc->idx; - rv = apr_thread_mutex_create(&module_globals->mpm->vhosts[vh].mutex, + idx = rsc->idx; + rv = apr_thread_mutex_create(&module_globals->mpm->vhosts[idx].mutex, APR_THREAD_MUTEX_UNNESTED,pool); ap_assert(rv == APR_SUCCESS); array = apr_array_make(pool,0,sizeof(void*)); ap_assert(array != NULL); - module_globals->mpm->vhosts[vh].array = array; - module_globals->mpm->vhosts[vh].idle_threads_cnt = 0; - module_globals->mpm->vhosts[vh].threads_count = 0; + module_globals->mpm->vhosts[idx].array = array; + module_globals->mpm->vhosts[idx].threads_count = 0; } module_globals->mpm->server_shutdown = 0; } @@ -219,8 +233,7 @@ request_rec* r; int ctype; int ap_sts; - int nreqs; - rivet_server_conf* conf; /* rivet_server_conf* record */ + rivet_server_conf* conf; /* rivet_server_conf* record */ } lazy_tcl_worker; The server field is assigned with the virtual host server record. Whereas the conf @@ -321,7 +334,7 @@ * The lazy bridge worker thread. This thread prepares its control data and * will serve requests addressed to a given virtual host. Virtual host server * data are stored in the lazy_tcl_worker structure stored in the generic - * pointer argument 'data' + * pointer argument 'data' * */ @@ -346,11 +359,12 @@ private->ext = apr_pcalloc(private->pool,sizeof(mpm_bridge_specific)); private->ext->keep_going = 1; - private->ext->interp = Rivet_NewVHostInterp(private->pool,w->server); + //private->ext->interp = Rivet_NewVHostInterp(private->pool,w->server); + RIVET_POKE_INTERP(private,rsc,Rivet_NewVHostInterp(private->pool,rsc->default_cache_size)); private->ext->interp->channel = private->channel; /* The worker thread can respond to a single request at a time therefore - * must handle and register its own Rivet channel */ + must handle and register its own Rivet channel */ Tcl_RegisterChannel(private->ext->interp->interp,*private->channel); @@ -365,22 +379,29 @@ Rivet_PerInterpInit(private->ext->interp,private,w->server,private->pool); /* The child initialization is fired. Beware of the terminologic - * trap: we inherited from prefork only modules the term 'child' - * meaning 'child process'. In this case the child init actually + * trap: we inherited from fork capable systems the term 'child' + * meaning 'child process'. In this case the child init actually * is a worker thread initialization, because in a threaded module * this is the agent playing the same role a child process plays * with the prefork bridge */ Lazy_RunConfScript(private,w,child_init); + idx = w->conf->idx; + + /* After the thread has run the configuration script we + increment the threads counter */ + + apr_thread_mutex_lock(module_globals->mpm->vhosts[idx].mutex); + (module_globals->mpm->vhosts[idx].threads_count)++; + apr_thread_mutex_unlock(module_globals->mpm->vhosts[idx].mutex); + /* The thread is now set up to serve request within the the * do...while loop controlled by private->keep_going */ - idx = w->conf->idx; apr_thread_mutex_lock(w->mutex); do { - module_globals->mpm->vhosts[idx].idle_threads_cnt++; while ((w->status != init) && (w->status != thread_exit)) { apr_thread_cond_wait(w->condition,w->mutex); } @@ -390,16 +411,16 @@ } w->status = processing; - module_globals->mpm->vhosts[idx].idle_threads_cnt--; /* Content generation */ private->req_cnt++; private->ctype = w->ctype; + private->r = w->r; - w->ap_sts = Rivet_SendContent(private,w->r); + w->ap_sts = Rivet_SendContent(private); - if (module_globals->mpm->server_shutdown) continue; + // if (module_globals->mpm->server_shutdown) continue; w->status = done; apr_thread_cond_signal(w->condition); @@ -416,8 +437,8 @@ } while (private->ext->keep_going); apr_thread_mutex_unlock(w->mutex); - ap_log_error(APLOG_MARK,APLOG_DEBUG,APR_SUCCESS,w->server,"processor thread orderly exit"); Lazy_RunConfScript(private,w,child_exit); + ap_log_error(APLOG_MARK,APLOG_DEBUG,APR_SUCCESS,w->server,"processor thread orderly exit"); apr_thread_mutex_lock(module_globals->mpm->vhosts[idx].mutex); (module_globals->mpm->vhosts[idx].threads_count)--; diff -Nru libapache2-mod-rivet-3.2.0/doc/xml/processing.xml libapache2-mod-rivet-3.2.1/doc/xml/processing.xml --- libapache2-mod-rivet-3.2.0/doc/xml/processing.xml 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/doc/xml/processing.xml 2021-11-06 16:48:26.000000000 +0000 @@ -5,8 +5,8 @@ Until &version2-generic; versions Rivet handled requests following the vision that inspired the original design - which was summarized in the definition Web programming - like in PHP, but with Tcl. HTTP requests triggered the + which was summarized in the definition Web programming + like in PHP, but with Tcl. HTTP requests triggered the execution of Tcl scripts or a Rivet (.rvt file) templates whose path is encoded in the URI (an alias translation or URL rewriting might occur to establish the real path). diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/aida.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/aida.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/aida.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/aida.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -14,8 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# $Id$ - package require Tcl 8.6 package require Itcl @@ -61,7 +59,7 @@ } ::itcl::body Aida::build_select_query {args} { - return [$sqlobj build_select_query {*}$args] + return [$sql build_select_query {*}$args] } diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -14,8 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# $Id$ - catch {package require Tclx} package require Itcl ##set auto_path [linsert $auto_path 0 [file dirname [info script]]] @@ -617,8 +615,8 @@ method exec {args} {} method nextkey {args} {} method lastkey {args} {} - method now {} {} - + method now {} {} + method last_inserted_rec {} {} ## ## Functions to get and set public variables. ## @@ -648,6 +646,12 @@ public variable host "" public variable port "" + protected method handle_client_arguments {cargs} { } + + public variable clientargs "" { + handle_client_arguments $clientargs + } + public variable keyfield "" { if {[llength $keyfield] > 1 && $autokey} { return -code error "Cannot have autokey and multiple keyfields" diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Mysql.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Mysql.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Mysql.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Mysql.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -17,18 +17,17 @@ # specific language governing permissions and limitations # under the License. -# $Id$ - -package provide dio_Mysql 0.3 +package require DIO +package provide dio_Mysql 0.4 namespace eval DIO { ::itcl::class Mysql { inherit Database constructor {args} {eval configure $args} { - if { [catch {package require Mysqltcl}] \ - && [catch {package require mysqltcl}] \ - && [catch {package require mysql} ] } { + if { [catch {package require Mysqltcl}] \ + && [catch {package require mysqltcl}] \ + && [catch {package require mysql}]} { return -code error "No MySQL Tcl package available" } @@ -53,6 +52,14 @@ if {![::rivet::lempty $pass]} { lappend command -password $pass } if {![::rivet::lempty $port]} { lappend command -port $port } if {![::rivet::lempty $host]} { lappend command -host $host } + #if {![::rivet::lempty $encoding]} { lappend command -encoding $encoding } + + if {$clientargs != ""} { + set command [lappend command {*}$clientargs] + } + + #puts stderr "evaluating $command" + if {[catch $command error]} { return -code error $error } set conn $error @@ -198,6 +205,29 @@ } } + protected method handle_client_arguments {cargs} { + + # we assign only the accepted options + + set clientargs {} + + foreach {a v} $cargs { + + if {($a == "-encoding") || \ + ($a == "-localfiles") || \ + ($a == "-ssl") || \ + ($a == "-sslkey") || \ + ($a == "-sslcert") || \ + ($a == "-sslca") || \ + ($a == "-sslcapath") || \ + ($a == "-sslcipher") || \ + ($a == "-socket")} { + lappend clientargs $a $v + } + + } + } + public variable interface "Mysql" private variable conn diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Postgresql.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Postgresql.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Postgresql.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Postgresql.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -14,8 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# $Id$ - +package require DIO package provide dio_Postgresql 0.1 namespace eval DIO { diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Sqlite.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Sqlite.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/dio_Sqlite.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/dio_Sqlite.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -14,8 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# $Id$ - +package require DIO package provide dio_Sqlite 0.1 namespace eval DIO { @@ -26,8 +25,8 @@ ::itcl::class Sqlite { inherit Database - private variable dbcmd "" - public variable interface "Sqlite" + private variable dbcmd "" + public variable interface "Sqlite" constructor {args} {eval configure $args} { if {[catch {package require sqlite}] && \ diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/dio/sql.tcl libapache2-mod-rivet-3.2.1/rivet/packages/dio/sql.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/dio/sql.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/dio/sql.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -19,7 +19,6 @@ # different implementation in various backends for specific # functionalities # -# $Id$ package require Itcl diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/form/form.tcl libapache2-mod-rivet-3.2.1/rivet/packages/form/form.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/form/form.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/form/form.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -14,8 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# $Id$ -# package require Itcl diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/form/form2.tcl libapache2-mod-rivet-3.2.1/rivet/packages/form/form2.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/form/form2.tcl 2020-11-02 23:32:50.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/form/form2.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -1,18 +1,23 @@ -# form.tcl -- generate forms automatically. +# form2.tcl -- generate forms automatically. -# Copyright 2002-2004 The Apache Software Foundation +# Copyright 2002-2021 The Apache Software Foundation -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. package require Itcl package provide form 2.1 diff -Nru libapache2-mod-rivet-3.2.0/rivet/packages/form/form22.tcl libapache2-mod-rivet-3.2.1/rivet/packages/form/form22.tcl --- libapache2-mod-rivet-3.2.0/rivet/packages/form/form22.tcl 1970-01-01 00:00:00.000000000 +0000 +++ libapache2-mod-rivet-3.2.1/rivet/packages/form/form22.tcl 2021-11-06 16:48:26.000000000 +0000 @@ -0,0 +1,621 @@ +# form.tcl -- generate forms automatically. + +# Copyright 2002-2021 The Apache Software Foundation + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package require Itcl +package provide form 2.2 + +# Rivet form class +# +# + +::itcl::class form { + + constructor {args} { + # set the form method to be a post and the action to be + # a refetching of the current page + set arguments(method) post + set arguments(action) [::rivet::env DOCUMENT_URI] + + # use $this for the type for form-global stuff like form arguments + import_data form $this arguments $args + + if {[info exists arguments(defaults)]} { + # make the public variable contain the name of the array + # we are sucking default values out of + set defaults $arguments(defaults) + + upvar 1 $arguments(defaults) callerDefaults + array set DefaultValues [array get callerDefaults] + unset arguments(defaults) + } else { + array set DefaultValues {} + } + } + + destructor { + + } + + method destroy {} { + ::itcl::delete object $this + } + + # + # import_data -- given a field type, field name, name of an array, and a + # list of key-value pairs, prepend any default key-value pairs, + # then store the resulting key-value pairs in the named array + # + protected method import_data {type name arrayName list} { + upvar 1 $arrayName data + + # we now guarantee an array, though empty, will exist + + array set data {} + + # + # If there are elements in the defaultArgs array for the + # specified type, combine them with the list of key-value + # pairs, putting the DefaultArgs values first so the + # key-value pairs from list can possibly override them. + # + if {[info exists DefaultArgs($type)]} { + set list [concat $DefaultArgs($type) $list] + } + + # + # if we don't have an even number of key-value pairs, + # that just ain't right + # + if {[llength $list] % 2} { + return -code error "Unmatched key-value pairs" + } + + # + # for each key-value pair in the list, strip the first + # dash character from the key part and map it to lower + # case, then use that as the key for the passed-in + # array and store the corresonding value in there + # + # we also prep and return the list of key-value pairs, normalized + # with the lowercase thing + # + set return "" + foreach {var val} $list { + set var [string range [string tolower $var] 1 end] + + if {$var == "prefix"} { + set prefix $val + continue + } + + set data($var) $val + if {($var == "values") || ($var == "labels")} { continue } + + lappend return -$var $val + } + return $return + } + + # + # argstring - given an array name, construct a string of the + # style key1="data1" key2="data2" etc for each key value pair in the + # array + # + protected method argstring {arrayName} { + upvar 1 $arrayName data + set string "" + foreach arg [lsort [array names data]] { + append string " $arg=\"$data($arg)\"" + } + return $string + } + + # + # default_value ?-list? ?--? name ?value? + # + # If value is not given, returns a default value + # for that name if one exists, else an empty list. + # + # if a name and a value are given, the default value is set to that + # name (and the new default value is returned). + # + # The default value is a list if "-list" is given. + + method default_value {args} { + # Command line + if {[lindex $args 0] eq "-list"} { + set isList 1 + set args [lrange $args 1 end] + } + if {[lindex $args 0] eq "--"} { + set args [lrange $args 1 end] + } + switch -exact -- [llength $args] { + 1 { # Return default value + lassign $args name + if {default_exists $name]} { + if {[info exists isList]} { + return [default_list_get $name] + } else { + return [default_value_get $name] + } + } else { + return + } + } + 2 { # Set default value + lassign $args name value + set DefaultValues($name) $value + if {[info exists isList]} { + set DefaultValues(__$name) 1 + } else { + unset -nocomplain DefaultValues(__$name) + } + } + default { error "wrong argument count" } + } + } + + # + # default_exists - return true, if a default value exists + protected method default_exists {name} { + return [info exists DefaultValues($name)] + } + + # + # default_list_get - get the default value as a list + # return with error if there is no default value + protected method default_list_get {name} { + if {[info exists DefaultValues(__$name)]} { + return $DefaultValues($name) + } else { + return [list $DefaultValues($name)] + } + } + # + # default_value_get - get the default value as a value + # return with error if there is no default value + protected method default_value_get {name} { + if {[info exists DefaultValues(__$name)]} { + return [lindex $DefaultValues($name) 0] + } else { + return $DefaultValues($name) + } + } + # + # default_value_exists - return true, if the given value exists in the + # default list + protected method default_value_exists {name value} { + if { ! [info exists DefaultValues($name)] } { + return 0 + } + if {[info exists DefaultValues(__$name)]} { + return [expr {$value in $DefaultValues($name)}] + } + return [expr {$value eq $DefaultValues($name)}] + } + + # + # default_args - given a type and a variable number of arguments, + # if there are no arguments other than the type, return the + # element of that name from the DefaultArgs array, if that element + # exists, else return an empty list. + # + # if a name and a value are given, sets the DefaultArgs to the variable + # list of arguments. + # + method default_args {type args} { + + # if only one argument was specified + if {[::rivet::lempty $args]} { + if {![info exists DefaultArgs($type)]} { return } + return $DefaultArgs($type) + } + + # make sure we have an even number of key-value pairs + if {[llength $args] % 2} { + return -code error "Unmatched key-value pairs" + } + + # set the DefaultArgs for the specified type + return [set DefaultArgs($type) $args] + } + + # + # start - generate the
      with all of its arguments + # + method start {{args ""}} { + if {![::rivet::lempty $args]} { + # replicated in constructor + import_data form $this arguments $args + } + $this emit_html "" + } + + # + # end - generate the
      + # + method end {} { + $this emit_html "" + } + + # + # field - emit a field of the given field type and name, including + # any default key-value pairs defined for this field type and + # optional key-value pairs included with the statement + # + method field {type name args} { + + # import any default key-value pairs, then any specified in this + # field declaration + import_data $type $name data $args + + switch -- $type { + "radio" - + "checkbox" { + + # if there's a label then prepare to output it. + if {[info exists data(label)]} { + set label "" $data(label) "" + } + + # if there is a default value for this field + # and it matches the value we have for it, make + # the field show up as selected (checked) + # Alternatively, select a checkbox, if it has no value but a + # default value with arbitrary value. + if { [info exists data(value)] + && [default_value_exists $name $data(value)] + || ![info exists data(value)] + && $type eq "checkbox" + && [info exists DefaultValues($name)] + } { + set data(checked) "checked" + } + } + } + # For non multi-choice widgets: set default value if there is no value + # given + if { ! [info exists data(value)] + && [default_exists $name] + && $type ni {"select" "radio" "checkbox"} + } { + set data(value) [default_value_get $name] + } + + # generate the field definition + set string "" + if {[info exists label]} { + append string $label + } + + # ...and emit it + $this emit_html $string + + } + + # + # text -- emit an HTML "text" field + # + method text {name args} { + field text $name {*}$args + } + + # + # password -- emit an HTML "password" field + # + method password {name args} { + field password $name {*}$args + } + + # + # hidden -- emit an HTML "hidden" field + # + method hidden {name args} { + field hidden $name {*}$args + } + + # + # submit -- emit an HTML "submit" field + # + method submit {name args} { + field submit $name {*}$args + } + + # + # button -- emit an HTML "button" field + # + method button {name args} { + field button $name {*}$args + } + + # + # reset -- emit an HTML "reset" button + # + method reset {name args} { + field reset $name {*}$args + } + + # + # image -- emit an HTML image field + # + method image {name args} { + field image $name {*}$args + } + + # + # checkbox -- emit an HTML "checkbox" form field + # + method checkbox {name args} { + field checkbox $name {*}$args + } + + # + # radio -- emit an HTML "radiobutton" form field + # + method radio {name args} { + field radio $name {*}$args + } + + # + # color -- emit an HTML 5 "color" form field + # + method color {name args} { + field color $name {*}$args + } + + # + # date -- emit an HTML 5 "date" form field + # + method date {name args} { + field date $name {*}$args + } + + # + # datetime -- emit an HTML 5 "datetime" form field + # + method datetime {name args} { + field datetime $name {*}$args + } + + # + # datetime_local -- emit an HTML 5 "datetime-local" form field + # + method datetime_local {name args} { + field datetime-local $name {*}$args + } + + # + # email -- emit an HTML 5 "email" form field + # + method email {name args} { + field email $name {*}$args + } + + # + # file -- emit an HTML 5 "file" form field + # + method file {name args} { + field file $name {*}$args + } + + # + # month -- emit an HTML 5 "month" form field + # + method month {name args} { + field month $name {*}$args + } + + # + # number -- emit an HTML 5 "number" form field + # + method number {name args} { + field number $name {*}$args + } + + # + # range -- emit an HTML 5 "range" form field + # + method range {name args} { + field range $name {*}$args + } + + # + # search -- emit an HTML 5 "search" form field + # + method search {name args} { + field search $name {*}$args + } + + # + # tel -- emit an HTML 5 "tel" form field + # + method tel {name args} { + field tel $name {*}$args + } + + # + # time -- emit an HTML 5 "time" form field + # + method time {name args} { + field time $name {*}$args + } + + # + # url -- emit an HTML 5 "url" form field + # + method url {name args} { + field url $name {*}$args + } + + # + # week -- emit an HTML 5 "week" form field + # + method week {name args} { + field week $name {*}$args + } + + # + # radiobuttons -- + # + method radiobuttons {name args} { + set data(values) [list] + set data(labels) [list] + + set list [import_data radiobuttons $name data $args] + + if {[::rivet::lempty $data(labels)]} { + set data(labels) $data(values) + } + + foreach label $data(labels) value $data(values) { + radio $name {*}$list -label $label -value $value + } + } + + # + # checkboxes -- + # + method checkboxes {name args} { + set data(values) [list] + set data(labels) [list] + + set list [import_data checkboxes $name data $args] + + if {[::rivet::lempty $data(labels)]} { + set data(labels) $data(values) + } + + foreach label $data(labels) value $data(values) { + checkbox $name {*}$list -label $label -value $value + } + } + + # + # select -- generate a selector + # + # part of the key value pairs can include -values with a list, + # and -labels with a list and it'll populate the