"path","revision","author","date","csid","comment"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.82.2.3","gustafn",2005/12/28 23:29:11,"oacs-5-2:gustafn:20051228232911","Basic compatibility with naviserver 4.99.0 (some packages with filters will need similar fixes)
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.83.2.5","gustafn",2005/12/28 23:29:11,"oacs-5-2:gustafn:20051228232911","Basic compatibility with naviserver 4.99.0 (some packages with filters will need similar fixes)
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.82.2.4","gustafn",2006/02/09 22:33:38,"oacs-5-2:gustafn:20060209223338","compatibility update for naviserver 4.99.1 or newer
"
"openacs-4/packages/acs-bootstrap-installer/installer.tcl","1.22","victorg",2009/08/14 09:13:13,"MAIN:victorg:20090814091313","redefining install_handler proc when NaviServer is used.
"
"openacs-4/packages/acs-tcl/tcl/aolserver-3-procs.tcl","1.6","gustafn",2010/03/11 11:03:01,"MAIN:gustafn:20100311110301","- improve portability for tcl 8.5 and naviserver
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.102","gustafn",2010/03/11 11:03:01,"MAIN:gustafn:20100311110301","- improve portability for tcl 8.5 and naviserver
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.120","gustafn",2010/03/11 11:03:01,"MAIN:gustafn:20100311110301","- improve portability for tcl 8.5 and naviserver
"
"openacs-4/packages/acs-tcl/tcl/widgets-procs.tcl","1.16","gustafn",2010/03/11 11:03:01,"MAIN:gustafn:20100311110301","- improve portability for tcl 8.5 and naviserver
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.126","victorg",2010/10/15 11:48:36,"MAIN:victorg:20101015114836","In NaviServer usage of ns_startcontent is deprecated instead we use ns_headers to specify the content-type which is added to the connection outputheaders ( which are sent to the client when the first ns_write is called, so no need to use ns_write to write headers to the client before serving the content)
"
"openacs-4/packages/acs-templating/tcl/query-procs.tcl","1.33","victorg",2012/12/03 09:44:55,"MAIN:victorg:20121203094455","Getting right template-caches manipulation depending on wether we run on NaviServer or AOLServer.
"
"openacs-4/packages/acs-tcl/tcl/apm-procs.tcl","1.91","gustafn",2012/12/20 15:47:16,"MAIN:gustafn:20121220154716","- don't use regexp when not needed (match is so much faster).
- provide context info for naviserver writer threads
- reset ""extra_url"", needed for internal redirects on errors.
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.107","gustafn",2012/12/20 15:47:16,"MAIN:gustafn:20121220154716","- don't use regexp when not needed (match is so much faster).
- provide context info for naviserver writer threads
- reset ""extra_url"", needed for internal redirects on errors.
"
"openacs-4/packages/acs-bootstrap-installer/installer/index.tcl","1.28","gustafn",2013/03/30 21:30:16,"MAIN:gustafn:20130330213016","- naviserver compatiblity fix
"
"openacs-4/packages/acs-bootstrap-installer/tcl/00-proc-procs.tcl","1.41","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-bootstrap-installer/tcl/30-apm-load-procs.tcl","1.38","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl","1.33","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-content-repository/tcl/publish-procs.tcl","1.10","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-content-repository/www/index.vuh","1.9","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-content-repository/www/doc/guide/publish.html","1.4","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-core-docs/www/files/acs-pgbackup-init.txt","1.4","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-tcl/tcl/navigation-procs.tcl","1.30","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.113","gustafn",2013/04/12 16:12:56,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl","1.20","gustafn",2013/04/12 16:12:57,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-templating/tcl/debug-procs.tcl","1.6","gustafn",2013/04/12 16:12:57,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-templating/tcl/form-procs.tcl","1.45","gustafn",2013/04/12 16:12:57,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-templating/tcl/util-procs.tcl","1.26","gustafn",2013/04/12 16:12:57,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-templating/www/doc/install.html","1.2","gustafn",2013/04/12 16:12:57,"MAIN:gustafn:20130412161256","- added victor's patch to omit deprecated messages of ""ns_info tcllib"". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to ""ns_server ?-server s? tcllib"" and ""ns_info tcllib"" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.
"
"openacs-4/packages/acs-bootstrap-installer/tcl/00-proc-procs.tcl","1.41.2.2","victorg",2013/08/21 11:27:04,"oacs-5-8:victorg:20130821112704","Moving handling NaviServer deprecated ns_info subcommands to 0-acs-init.tcl.
"
"openacs-4/packages/acs-bootstrap-installer/bootstrap.tcl","1.31.4.1","gustafn",2013/08/23 10:08:48,"oacs-5-8:gustafn:20130823100848","- ensure that bootstrap_write_error work on aolserver and naviserver
- ensure sorted loading order of bootstrap files (Tcl's glob does not guarantee order)
"
"openacs-4/packages/acs-tcl/tcl/apm-file-procs.tcl","1.35.8.3","gustafn",2013/08/26 07:10:52,"oacs-5-8:gustafn:20130826071052","- guard against older versions of naviserver
"
"openacs-4/packages/acs-admin/www/cache/index.tcl","1.3.10.1","michaels",2013/08/29 22:21:34,"oacs-5-8:michaels:20130829222134","update acs-admin cache page to work with both naviserver and aolserver
"
"openacs-4/packages/acs-admin/www/cache/index.tcl","1.3.10.2","gustafn",2013/08/30 07:49:24,"oacs-5-8:gustafn:20130830074924","- no need for separate code for AOLServer/NaviServer
"
"openacs-4/packages/acs-tcl/tcl/defs-procs.tcl","1.62.2.3","gustafn",2013/09/19 10:15:19,"oacs-5-8:gustafn:20130919101519","- modernize tcl
- don't do want aolserver/naviserver does anyhow
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl","1.90.2.2","gustafn",2013/10/02 10:02:28,"oacs-5-8:gustafn:20131002100228","- simply string expressions
- remove unneeded quoting
- use ""in"" or not in (ni) operator instead of lsearch
- improve domain guessing for naviserver configurations
"
"openacs-4/packages/acs-mail-lite/tcl/incoming-mail-procs.tcl","1.6.2.1","gustafn",2013/10/02 10:02:28,"oacs-5-8:gustafn:20131002100228","- simply string expressions
- remove unneeded quoting
- use ""in"" or not in (ni) operator instead of lsearch
- improve domain guessing for naviserver configurations
"
"openacs-4/packages/acs-tcl/tcl/memoize-procs.tcl","1.13.6.3","gustafn",2013/10/24 10:48:26,"oacs-5-8:gustafn:20131024104826","- reimplementation of util_memoize cache for NaviServer. The original
implementation of the util-memoize functions was based on ""manual expirations""
(every cached entry was a pair of value + timestamp). This is not needed
on naviserver, since NaviServer allows us to specify for every entry
directly an expire time, which is implemented internally. The new
has the advantage that (a) it is faster, (b) more secure (no race conditions),
(c) smaller memory footprint (not only storing the timestamp is not needed;
furthermore invalidation of timed-out entries happend in the old version only,
when the entry was fetched; in practice (openacs.org) many dead entries
where kept, the size wen down by 90%), (d) due to small number of entries
the search in the keys is much faster.
"
"openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth-design.xml","1.4.8.3","gustafn",2013/12/02 08:14:29,"oacs-5-8:gustafn:20131202081429","- stop renaming predefined AOLserver/NaviServer command ns_sendmai (for the time migration phase, simply overwrite it)
- replace calls to deprecated ""ns_sendmail"" to calls to ""acs_mail_lite::send""
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-init.tcl","1.13.6.1","gustafn",2013/12/02 08:14:30,"oacs-5-8:gustafn:20131202081429","- stop renaming predefined AOLserver/NaviServer command ns_sendmai (for the time migration phase, simply overwrite it)
- replace calls to deprecated ""ns_sendmail"" to calls to ""acs_mail_lite::send""
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl","1.90.2.3","gustafn",2013/12/02 08:14:30,"oacs-5-8:gustafn:20131202081429","- stop renaming predefined AOLserver/NaviServer command ns_sendmai (for the time migration phase, simply overwrite it)
- replace calls to deprecated ""ns_sendmail"" to calls to ""acs_mail_lite::send""
"
"openacs-4/packages/acs-subsite/www/admin/users/new.tcl","1.12.6.7","gustafn",2013/12/02 08:14:30,"oacs-5-8:gustafn:20131202081429","- stop renaming predefined AOLserver/NaviServer command ns_sendmai (for the time migration phase, simply overwrite it)
- replace calls to deprecated ""ns_sendmail"" to calls to ""acs_mail_lite::send""
"
"openacs-4/packages/acs-admin/acs-admin.info","1.45.2.9","gustafn",2014/04/01 18:37:30,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-admin/tcl/apm-admin-procs.tcl","1.18.8.8","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-subsite/acs-subsite.info","1.114.2.8","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-subsite/www/shared/1pixel.tcl","1.5.2.1","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.67.2.11","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl","1.86.2.13","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-tcl/tcl/apm-file-procs.tcl","1.35.8.12","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-tcl/tcl/pdf-procs.tcl","1.2.12.1","gustafn",2014/04/01 18:37:31,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.133.2.35","gustafn",2014/04/01 18:37:32,"oacs-5-8:gustafn:20140401183730","- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.
Therefore we introduce a new function ""ad_tmpnam"" which requires just a minimal change and uses ns_mktemp.
"
"openacs-4/packages/acs-admin/www/cache/one.tcl","1.3.10.1","gustafn",2014/04/08 20:20:35,"oacs-5-8:gustafn:20140408202035","- fixed user interface for util-memoize cache for NaviServer
"
"openacs-4/packages/acs-admin/www/cache/show-util-memoize.adp","1.4.16.2","gustafn",2014/04/08 20:20:36,"oacs-5-8:gustafn:20140408202035","- fixed user interface for util-memoize cache for NaviServer
"
"openacs-4/packages/acs-admin/www/cache/show-util-memoize.tcl","1.3.16.1","gustafn",2014/04/08 20:20:36,"oacs-5-8:gustafn:20140408202035","- fixed user interface for util-memoize cache for NaviServer
"
"openacs-4/packages/acs-tcl/tcl/document-procs.tcl","1.5.8.2","gustafn",2014/07/30 11:55:00,"oacs-5-8:gustafn:20140730115500","- patch for a subtle difference between aolserver and Naviserver in the handling of ""--"" (nonpos parameter terminator)
"
"openacs-4/packages/acs-templating/tcl/parse-procs.tcl","1.48.2.9","gustafn",2014/07/30 11:55:01,"oacs-5-8:gustafn:20140730115500","- patch for a subtle difference between aolserver and Naviserver in the handling of ""--"" (nonpos parameter terminator)
"
"openacs-4/packages/acs-api-browser/www/tcl-proc-view.tcl","1.6.8.3","gustafn",2014/08/03 19:11:11,"oacs-5-8:gustafn:20140803191111","- point to naviserver doc
- use util::http::get instead of ns_httpget
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.1.2.6","gustafn",2014/08/05 07:14:45,"oacs-5-8:gustafn:20140805071445","- add code to convert timeout value to a value suitable for the
underlying implementation (NaviServer or curl)
- document timeout values
- base deprecated code on util::http::*
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.1.2.7","gustafn",2014/08/05 12:11:08,"oacs-5-8:gustafn:20140805121108","- activate spooling to files for versions of naviserver supporting it
"
"openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl","1.27.8.14","gustafn",2014/09/05 10:18:03,"oacs-5-8:gustafn:20140905101803","- overhaul of prettty-printer:
* use CSS styles instead of hard-coded values
* get rid of FONT tag
* update tcl command list for tcl 8.5
* reactivate links to tcl-commands (of matching version) in pretty
printed procs
- move configuration variables for external documentation servers to
apidoc namespace (reduce redundancy of information)
- keep for aolserver user documentation link as they were before, just
naviserver users see the naviserver documentation
"
"openacs-4/packages/acs-api-browser/www/proc-view.tcl","1.6.16.7","gustafn",2014/09/05 10:22:40,"oacs-5-8:gustafn:20140905102240","- fix potential bug, when passed-in proc name contains wild-card
character * (""info procs|commands"" return multiple results, ""info
args"" raises an error)
- enable proc-view to work with tcl-comands and naviserver/aolserver
commands as well
- fix outdated URLs
"
"openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl","1.27.8.18","gustafn",2014/09/09 07:42:38,"oacs-5-8:gustafn:20140909074238","- show relevant XQL code instead of all XQL code
- provide links to full XQL code
- fix handling of absolute vs. relative command names
- show SQL code (and Tcl code not defined via apidoc) in sam style
- provide tooltips for Tcl commands, NaviServer/AOLserver commands and
API calls
"
"openacs-4/packages/acs-api-browser/www/proc-view.tcl","1.6.16.8","gustafn",2014/09/09 07:42:38,"oacs-5-8:gustafn:20140909074238","- show relevant XQL code instead of all XQL code
- provide links to full XQL code
- fix handling of absolute vs. relative command names
- show SQL code (and Tcl code not defined via apidoc) in sam style
- provide tooltips for Tcl commands, NaviServer/AOLserver commands and
API calls
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.74.2.22","gustafn",2014/11/19 07:22:26,"oacs-5-8:gustafn:20141119072226","- handle case, where driver is loaded, but not started. Recent NaviServer uses for this case port == 0
"
"openacs-4/packages/acs-content-repository/tcl/image-procs.tcl","1.9.4.4","gustafn",2015/04/14 10:23:16,"oacs-5-8:gustafn:20150414102316","- fix inconsistent way to refer to ImageMagick binary (parameter
ImageMagickPath vs. image::identify_binary)
- fix incorrect way to refer to results of ImageMagick (foreach was
dangerous and incorrect)
- fix incorrect parameter to ImageMagick (-size geometry)
- fix broken switch statement
- fix typo in name (image::imagmagick_identify should be imagemagick_identify)
- fix incorrect comments
- provide default to optional argument of filename_mime_type
- try to use built-in support and fall back to external programs
(image magick). Built-in support is several hundred times faster.
- use NaviServer's extened functionality
"
"openacs-4/packages/acs-bootstrap-installer/acs-bootstrap-installer.info","1.39.2.2","gustafn",2015/08/20 10:57:13,"oacs-5-9:gustafn:20150820105713","- optional performance boost for site-nodes:
the site-node code contains an optional performance booster,
that speeds up site-node operations froma factor of 2 to
several thousand times. The performance boost ist just
available for the time being for PostgreSQL, XOTcl2 and
NaviServer and is only activated, when these componentes
are available.
- bump version numbers
"
"openacs-4/packages/acs-bootstrap-installer/installer/tcl/0-acs-init.tcl","1.2.2.2","gustafn",2015/08/20 10:57:13,"oacs-5-9:gustafn:20150820105713","- optional performance boost for site-nodes:
the site-node code contains an optional performance booster,
that speeds up site-node operations froma factor of 2 to
several thousand times. The performance boost ist just
available for the time being for PostgreSQL, XOTcl2 and
NaviServer and is only activated, when these componentes
are available.
- bump version numbers
"
"openacs-4/packages/acs-bootstrap-installer/tcl/00-proc-procs.tcl","1.42.2.2","gustafn",2015/08/20 10:57:13,"oacs-5-9:gustafn:20150820105713","- optional performance boost for site-nodes:
the site-node code contains an optional performance booster,
that speeds up site-node operations froma factor of 2 to
several thousand times. The performance boost ist just
available for the time being for PostgreSQL, XOTcl2 and
NaviServer and is only activated, when these componentes
are available.
- bump version numbers
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.70.2.1","gustafn",2015/08/20 10:57:13,"oacs-5-9:gustafn:20150820105713","- optional performance boost for site-nodes:
the site-node code contains an optional performance booster,
that speeds up site-node operations froma factor of 2 to
several thousand times. The performance boost ist just
available for the time being for PostgreSQL, XOTcl2 and
NaviServer and is only activated, when these componentes
are available.
- bump version numbers
"
"openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl","1.93.2.1","gustafn",2015/08/20 10:57:13,"oacs-5-9:gustafn:20150820105713","- optional performance boost for site-nodes:
the site-node code contains an optional performance booster,
that speeds up site-node operations froma factor of 2 to
several thousand times. The performance boost ist just
available for the time being for PostgreSQL, XOTcl2 and
NaviServer and is only activated, when these componentes
are available.
- bump version numbers
"
"openacs-4/packages/acs-api-browser/acs-api-browser.info","1.36.2.8","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/lib/search.adp","1.7.2.2","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/lib/search.tcl","1.6.12.2","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl","1.30.2.23","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/plsql-subprogram-one.tcl","1.6.2.2","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/plsql-subprograms-all-oracle.xql","1.1.30.1","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/plsql-subprograms-all-postgresql.xql","1.2.24.1","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/plsql-subprograms-all.adp","1.7.2.1","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/plsql-subprograms-all.tcl","1.4.28.4","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/proc-view.tcl","1.10.2.8","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/tcl-doc-search.adp","1.9.2.3","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/tcl-doc-search.tcl","1.8.2.3","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-api-browser/www/tcl-proc-view.tcl","1.10.2.4","gustafn",2016/08/02 10:14:41,"oacs-5-9:gustafn:20160802101441","- apidoc::get_doc_url: factor out common code to reduce redundancy
- OpenACS PL/SQL API Search: add number ot arguments, modernize adp,
better separation of multiple psql functions
- fix postgres search url on api-doc/index page
- add missing csrf protection to NaviServer/AOLserver search box
- bump version number to 5.9.1d3
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.3.2.4","antoniop",2016/10/10 13:38:50,"oacs-5-9:antoniop:20161010133850","Removed use of deprecated ns_ssl API for Naviserver versions newer than 4.99.12
Removed use of util_memoize in favor of ns_memoize
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.140.2.56","gustafn",2017/01/06 11:48:05,"oacs-5-9:gustafn:20170106114805","- use ns_parseurl when available
- provide emulation for ns_parseurl for older versions of NaviServer or AOLserver
"
"openacs-4/packages/acs-subsite/lib/home.adp","1.8.2.2","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-subsite/www/group-master.adp","1.18.2.2","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-subsite/www/members/user-new.adp","1.9.2.1","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-subsite/www/pvt/home.adp","1.29.2.1","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-subsite/www/register/email-confirm.adp","1.11.2.2","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-subsite/www/register/user-new.adp","1.19.2.1","gustafn",2017/02/04 13:57:09,"oacs-5-9:gustafn:20170204135709","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-admin/www/users/user-add.adp","1.12.2.1","gustafn",2017/02/04 14:13:22,"oacs-5-9:gustafn:20170204141322","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-lang/www/admin/index.adp","1.20.2.3","gustafn",2017/02/04 14:13:22,"oacs-5-9:gustafn:20170204141322","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-lang/www/admin/message-list.adp","1.16.2.3","gustafn",2017/02/04 14:13:22,"oacs-5-9:gustafn:20170204141322","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-lang/www/admin/package-list.adp","1.13.2.1","gustafn",2017/02/04 14:13:22,"oacs-5-9:gustafn:20170204141322","- replace """" by """", since adp parser in
AOLserver and NaviServer passes ""/"" as argument to the adp-include.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.140.2.60","gustafn",2017/03/01 13:59:52,"oacs-5-9:gustafn:20170301135952","Fix compatibility with older versions of NaviServer
"
"openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl","1.88.2.14","gustafn",2017/03/03 08:03:22,"oacs-5-9:gustafn:20170303080322","Fix issue #3299 : Oracle installs fail on Naviserver due to missing EXIT in SQL scripts
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.78.2.48","gustafn",2017/03/26 15:14:52,"oacs-5-9:gustafn:20170326151452","- push coockie encoding to emulation level (naviserver does this natively, the aolserver variant handles it no the low-level functions)
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.140.2.62","gustafn",2017/03/26 15:14:52,"oacs-5-9:gustafn:20170326151452","- push coockie encoding to emulation level (naviserver does this natively, the aolserver variant handles it no the low-level functions)
"
"openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl","1.88.2.17","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/admin-procs.tcl","1.23.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/aolserver-3-procs.tcl","1.7.2.3","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/apm-file-procs.tcl","1.36.2.13","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/apm-install-procs.tcl","1.109.2.23","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/apm-procs.tcl","1.95.2.12","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/community-core-procs.tcl","1.62.2.10","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/html-email-procs.tcl","1.19.2.3","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/http-auth-procs.tcl","1.3.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.3.2.19","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/image-procs.tcl","1.2.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/install-procs.tcl","1.30.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/json-procs.tcl","1.6.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/memoize-procs.tcl","1.14.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/navigation-procs.tcl","1.32.2.11","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.118.2.43","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.78.2.54","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/server-cluster-procs.tcl","1.9.2.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl","1.36.2.39","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/tdom-procs.tcl","1.3.10.2","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.140.2.74","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl","1.41.2.6","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/test/file-test-procs.tcl","1.10.2.4","gustafn",2017/04/22 18:11:54,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/acs-integration-init.tcl","1.1.1.1.30.2","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl","1.23.2.5","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/apm-callback-procs.tcl","1.6.6.2","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/date-procs.tcl","1.49.2.7","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/doc-tcl-procs.tcl","1.11.2.5","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/list-procs.tcl","1.60.2.17","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/query-procs.tcl","1.34.2.6","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/richtext-procs.tcl","1.52.2.14","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/tag-init.tcl","1.39.2.13","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/tcl/wizard-procs.tcl","1.11.2.5","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/error.tcl","1.3.2.2","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list5/add-edit.tcl","1.3.2.4","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list6/add-edit.tcl","1.4.2.3","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list7/add-edit.tcl","1.3.2.5","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list8/add-edit.tcl","1.5.2.3","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list9/add-edit.tcl","1.3.2.3","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/demo/list9/delete.tcl","1.2.2.5","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/exercise/form-sample.tcl","1.5.2.3","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-templating/www/doc/gen/generate-docs.tcl","1.2.2.4","gustafn",2017/04/22 18:15:50,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-admin/www/apm/version-i18n-process-2.tcl","1.19.2.2","gustafn",2017/04/22 18:17:05,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-admin/www/apm/version-i18n.tcl","1.14.2.3","gustafn",2017/04/22 18:17:05,"oacs-5-9:gustafn:20170422181154","Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.118.2.47","gustafn",2017/04/24 09:02:17,"oacs-5-9:gustafn:20170424090217","Add ability to include actual user in the access log (see as well updated sample OpenACS config file in the NaviServer repository)
"
"openacs-4/packages/acs-content-repository/tcl/revision-procs.tcl","1.32.2.6","gustafn",2017/04/26 18:37:01,"oacs-5-9:gustafn:20170426183701","Support image sizes on png portraits (as supported by NaviServer)
"
"openacs-4/packages/acs-admin/www/server-restart.tcl","1.4.24.2","gustafn",2017/05/21 09:52:26,"oacs-5-9:gustafn:20170521095226","When the kernel parameter ""NsShutdownWithNonZeroExitCode"" is set (e.g. in the config file) and NaviServer is used, return with a non-zero exit code after ns_shutdown. This lets e.g. windows system to restart the service automatically (the sample config file for openacs in the naviserver archive is updated as an example)
"
"openacs-4/packages/acs-bootstrap-installer/installer.tcl","1.25.2.7","gustafn",2017/06/03 12:17:17,"oacs-5-9:gustafn:20170603121717","Deal with Mauricio's NaviServer modification (fixes issue #3319)
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-aolserver.tcl","1.1","gustafn",2018/02/26 19:07:07,"MAIN:gustafn:20180226190707","factor out naviserver and aolserver specific code
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-naviserver.tcl","1.1","gustafn",2018/02/26 19:07:07,"MAIN:gustafn:20180226190707","factor out naviserver and aolserver specific code
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.150","gustafn",2018/02/26 19:07:07,"MAIN:gustafn:20180226190707","factor out naviserver and aolserver specific code
"
"openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl","1.77","gustafn",2018/03/03 20:42:33,"MAIN:gustafn:20180303204233","Replace ""wrap_string"" by ""ns_reflow_text"", where the latter is a
builtin of newer versions of NaviServer. When ""ns_reflow_text"" is not
available, provide a scripted version for it.
wrap_string is marked as deprecated, since it has no proper prefix,
and is less powerful than ns_reflow_text
"
"openacs-4/packages/acs-tcl/tcl/site-nodes-init.tcl","1.7","gustafn",2018/05/14 13:21:52,"MAIN:gustafn:20180514132152","site-nodes cache reform: use ns_urlsspace instead of brute-force caching.
For OpenACS site with recent versions of NaviServer and XOTcl2,
cache sitenode information much more efficiently by the built-in
URL trie, which supports tree match operations, for
tree information. This means that for example for .vuh
handlers it is not necessary to cache the full url for
obtaining the site-node, like it was until now:
3839 id-/storage/view/installers/windows-installer/installer.htm
3839 id-/storage/view/aolserver/install.tgz
3839 id-/storage/view/tutorial/OpenACS_Tutorial.htm
3839 id-/storage/view/openacs-dotlrn-conference-2007-spring/Methodology_ALPE.pdf
3839 id-/storage/view/xowiki-resources/Assessment.jpg
3839 id-/storage/view/tutorial-page-map.png
...
Providing a single entry like
ns_urlspace set -key sitenode /storage/* 3839
is sufficient.
Why is this needed: current cache sizes of larger sites show 330K
(site A) and 390K (site B) cache entries. Matchbase flushes have to
gor thhrough all these entries, causing long lock times. Running
thhis code at OpenACS.org shows an improvement by a factor of more
than 200x.
"
"openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl","1.108","gustafn",2018/05/14 13:21:52,"MAIN:gustafn:20180514132152","site-nodes cache reform: use ns_urlsspace instead of brute-force caching.
For OpenACS site with recent versions of NaviServer and XOTcl2,
cache sitenode information much more efficiently by the built-in
URL trie, which supports tree match operations, for
tree information. This means that for example for .vuh
handlers it is not necessary to cache the full url for
obtaining the site-node, like it was until now:
3839 id-/storage/view/installers/windows-installer/installer.htm
3839 id-/storage/view/aolserver/install.tgz
3839 id-/storage/view/tutorial/OpenACS_Tutorial.htm
3839 id-/storage/view/openacs-dotlrn-conference-2007-spring/Methodology_ALPE.pdf
3839 id-/storage/view/xowiki-resources/Assessment.jpg
3839 id-/storage/view/tutorial-page-map.png
...
Providing a single entry like
ns_urlspace set -key sitenode /storage/* 3839
is sufficient.
Why is this needed: current cache sizes of larger sites show 330K
(site A) and 390K (site B) cache entries. Matchbase flushes have to
gor thhrough all these entries, causing long lock times. Running
thhis code at OpenACS.org shows an improvement by a factor of more
than 200x.
"
"openacs-4/packages/acs-tcl/tcl/apm-procs.tcl","1.110","gustafn",2018/07/01 09:57:02,"MAIN:gustafn:20180701095702","apm reloading reform (part 1)
Blueprint reloading updates the blueprint of nsd, which has the
consequence the also threads for running scheduled procedures can be updated.
So far blueprint reloading is just tested with NaviServer, but should work with
AOLserver as well (modulo bugs).
To switch between the classic and blueprint reloading, edit acs-tcl/tcl/apm-procs.tcl
and set ::apm::reloading to ""classic"" or ""blueprint"".
Some functions were refactored to ease this transition.
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30","antoniop",2018/11/29 13:52:37,"MAIN:antoniop:20181129135237","Wrap legacy and current ns_http api behavior in a proc with a common interface in a way that people with newer Naviserver can exploit e.g. ns_http run capabilities (in particular, not being forced to queue and potentially block concurrent HTTP requests)
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.126.2.4","gustafn",2019/02/17 12:19:29,"oacs-5-10:gustafn:20190217121929","- ad_set_cookie: add option ""-samesite"" and use it, when the server supports it (NaviServer 4.99.18)
- use ""-samesite strict"" per default on signed cookies
Background from NaviServer commit:
ns_setcookie: add flag ""-samesite"" with values ""strict|lax|none""
When the flag is set it prevents the browser from
sending this cookie along with cross-site requests to mitigate cross site
scripting attacks. Permissible values are [term strict], [term lax],
or [term none] (default). While the value [term strict] prevents
sending the cookie to the target site in all cross-site browsing
context, the value of [term lax] allows sending the cookie when the
user clicks on regular links. For details, see
https://www.owasp.org/index.php/SameSite
This cookie flag is not yet part of an RFC, but most major browsers
support it. Browsers that do not support it, ignore the flag
silently (see https://caniuse.com/#search=samesite).
Although most cookies should probably use the flags, in order to
provide backward compatibility, the flag can't be activated by
default on all cookies.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-aolserver.tcl","1.6.2.1","gustafn",2019/02/17 12:19:29,"oacs-5-10:gustafn:20190217121929","- ad_set_cookie: add option ""-samesite"" and use it, when the server supports it (NaviServer 4.99.18)
- use ""-samesite strict"" per default on signed cookies
Background from NaviServer commit:
ns_setcookie: add flag ""-samesite"" with values ""strict|lax|none""
When the flag is set it prevents the browser from
sending this cookie along with cross-site requests to mitigate cross site
scripting attacks. Permissible values are [term strict], [term lax],
or [term none] (default). While the value [term strict] prevents
sending the cookie to the target site in all cross-site browsing
context, the value of [term lax] allows sending the cookie when the
user clicks on regular links. For details, see
https://www.owasp.org/index.php/SameSite
This cookie flag is not yet part of an RFC, but most major browsers
support it. Browsers that do not support it, ignore the flag
silently (see https://caniuse.com/#search=samesite).
Although most cookies should probably use the flags, in order to
provide backward compatibility, the flag can't be activated by
default on all cookies.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-naviserver.tcl","1.4.2.1","gustafn",2019/02/17 12:19:29,"oacs-5-10:gustafn:20190217121929","- ad_set_cookie: add option ""-samesite"" and use it, when the server supports it (NaviServer 4.99.18)
- use ""-samesite strict"" per default on signed cookies
Background from NaviServer commit:
ns_setcookie: add flag ""-samesite"" with values ""strict|lax|none""
When the flag is set it prevents the browser from
sending this cookie along with cross-site requests to mitigate cross site
scripting attacks. Permissible values are [term strict], [term lax],
or [term none] (default). While the value [term strict] prevents
sending the cookie to the target site in all cross-site browsing
context, the value of [term lax] allows sending the cookie when the
user clicks on regular links. For details, see
https://www.owasp.org/index.php/SameSite
This cookie flag is not yet part of an RFC, but most major browsers
support it. Browsers that do not support it, ignore the flag
silently (see https://caniuse.com/#search=samesite).
Although most cookies should probably use the flags, in order to
provide backward compatibility, the flag can't be activated by
default on all cookies.
"
"openacs-4/packages/acs-subsite/www/shared/ajax/chat.tcl","1.1.2.2","antoniop",2019/06/13 09:03:52,"oacs-5-10:antoniop:20190613090352","Make sure connection channel is available (e.g. not detached) before returning content, as more recent Naviserver versions would return an error
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.22","gustafn",2019/08/04 17:59:38,"oacs-5-10:gustafn:20190804175938","NaviServer handles no continuation lines in a secure way, no need to make multiple log-entries
"
"openacs-4/packages/acs-developer-support/www/index.tcl","1.23.2.2","gustafn",2019/08/19 17:46:54,"oacs-5-10:gustafn:20190819174654","add nsshell when available.
making nsshell available:
a) install nsshell from https://bitbucket.org/naviserver/nsshell/
b) configure in your OpenACS config file nsshell:
##################################################################
#
# nsshell configuration (per-server module)
#
ns_section ""ns/server/${server}/modules"" {
ns_param nsshell tcl
}
ns_section ""ns/server/${server}/module/nsshell"" {
ns_param url /admin//nsshell
ns_param kernel_heartbeat 5
ns_param kernel_timeout 10
}
##################################################################
"
"openacs-4/packages/acs-developer-support/www/nsshell.adp","1.1.2.1","gustafn",2019/08/19 17:46:54,"oacs-5-10:gustafn:20190819174654","add nsshell when available.
making nsshell available:
a) install nsshell from https://bitbucket.org/naviserver/nsshell/
b) configure in your OpenACS config file nsshell:
##################################################################
#
# nsshell configuration (per-server module)
#
ns_section ""ns/server/${server}/modules"" {
ns_param nsshell tcl
}
ns_section ""ns/server/${server}/module/nsshell"" {
ns_param url /admin//nsshell
ns_param kernel_heartbeat 5
ns_param kernel_timeout 10
}
##################################################################
"
"openacs-4/packages/acs-developer-support/www/nsshell.tcl","1.1.2.1","gustafn",2019/08/19 17:46:54,"oacs-5-10:gustafn:20190819174654","add nsshell when available.
making nsshell available:
a) install nsshell from https://bitbucket.org/naviserver/nsshell/
b) configure in your OpenACS config file nsshell:
##################################################################
#
# nsshell configuration (per-server module)
#
ns_section ""ns/server/${server}/modules"" {
ns_param nsshell tcl
}
ns_section ""ns/server/${server}/module/nsshell"" {
ns_param url /admin//nsshell
ns_param kernel_heartbeat 5
ns_param kernel_timeout 10
}
##################################################################
"
"openacs-4/packages/acs-tcl/tcl/test/naviserver-api-procs.tcl","1.1","antoniop",2019/09/04 11:51:58,"MAIN:antoniop:20190904115158","file naviserver-api-procs.tcl was initially added on branch oacs-5-10.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-naviserver.tcl","1.4.2.5","gustafn",2019/10/20 12:52:52,"oacs-5-10:gustafn:20191020125252","- Fix a tricky Tcl_Obj sharing bug triggered by the usage of C-level
IndexObjs based on volatile tables. Consider the following example:
proc foo {x} {
return [bar -value x ...]
}
The Tcl_Obj ""x"" is shared as name of argument and as a value of the
non-positional parameter ""-value"". When bar (e.g. C-implemented)
uses Tcl_GetIndexFromObj*() to lookup ""x"" in a table of options,
which is volatile, the involved Tcl_Obj will be converted to an
indexObj.
On a call with wrong number of arguments( e.g.""foo 1 2 3""), Tcl
will try to give a nice error message, saying that ""foo x"" can be
called only with one argument. When printing argument ""x"", it sees
that ""x"" is an indexObj, and for these kinds of objects, ""x"" might
be an abbreviated version of a full name. Since the table behind
the indexObj is in the case above volatile, a crash might happen.
The committed fix above is just a temporary measure. NaviServer should
try to avoid such Tcl_Obj conversions in these cases. It is also
questionable, whether the attempt to interpret a argument name as
an abbreviated.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.49","gustafn",2020/02/01 09:44:14,"oacs-5-10:gustafn:20200201094414","provide compatibility wrappers for AOLserver and NaviServer before 4.99.17
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl","1.108.2.3","gustafn",2020/04/05 16:02:55,"oacs-5-10:gustafn:20200405160255","Use optionally nssmtpd as different mail delivery agent
when the ""-experimental"" flag is provided to
acs_mail_lite::send_immediately, and the NaviServer
nssmtpd modules is installed.
"
"openacs-4/packages/acs-mail-lite/acs-mail-lite.info","1.62.2.1","gustafn",2020/04/06 17:49:47,"oacs-5-10:gustafn:20200406174947","- acs_mail_lite::send_immediately: new switch for ""-force_delivery_mode""
to force delivery mode for a single call (ignoring package parameter
""EmailDeliveryMode"")
- New potential value for ""EmailDeliveryMode"": ""nssmtpd""
When this parameter is specified, the behavior is like
""smtp"", but the code tries use the SMTP implementation
of the nssmtpd NaviServer module.
- It is also possible to combine ""nssmtpd"" with the delivery methods
""filter"" or ""redirect"" simply by writing e.g. ""filter nssmtpd""
- some refactoring to avoid repeated code
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl","1.108.2.4","gustafn",2020/04/06 17:49:47,"oacs-5-10:gustafn:20200406174947","- acs_mail_lite::send_immediately: new switch for ""-force_delivery_mode""
to force delivery mode for a single call (ignoring package parameter
""EmailDeliveryMode"")
- New potential value for ""EmailDeliveryMode"": ""nssmtpd""
When this parameter is specified, the behavior is like
""smtp"", but the code tries use the SMTP implementation
of the nssmtpd NaviServer module.
- It is also possible to combine ""nssmtpd"" with the delivery methods
""filter"" or ""redirect"" simply by writing e.g. ""filter nssmtpd""
- some refactoring to avoid repeated code
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.9","gustafn",2020/05/03 16:32:10,"oacs-5-10:gustafn:20200503163210","provide compatibility function ns_dbquotelist, which is available in newer versions of NaviServer
"
"openacs-4/packages/acs-tcl/tcl/01-database-procs.tcl","1.1.2.7","gustafn",2020/05/03 16:32:10,"oacs-5-10:gustafn:20200503163210","provide compatibility function ns_dbquotelist, which is available in newer versions of NaviServer
"
"openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl","1.68.2.6","gustafn",2020/06/06 12:44:55,"oacs-5-10:gustafn:20200606124455","reduced the number of mutex locks for message keys lookup by a factor of two by using naviserver commands
"
"openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl","1.108.2.13","hectorr",2020/11/12 14:56:36,"oacs-5-10:hectorr:20201112145636","Remove the 'dot-stuffing' from 'acs-mail-lite', as this is done directly on 'nssmtpd' and 'ns_smtp' now. See https://bitbucket.org/naviserver/naviserver/commits/4bdbd53a3c36f60b8ec0c4e400de1b69bf3e19e5 and https://bitbucket.org/naviserver/nssmtpd/commits/d484ba5d41364c1a0ab8e2437c5311a6d5d7e986
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30.2.12","antoniop",2021/01/13 11:00:18,"oacs-5-10:antoniop:20210113110018","Tear down a lot of boilerplate used to support native HTTP api on Naviserver versions < 4.99.15, which will now fallback to curl
"
"openacs-4/packages/acs-tcl/tcl/test/http-client-procs.tcl","1.1.2.13","antoniop",2021/01/13 11:00:18,"oacs-5-10:antoniop:20210113110018","Tear down a lot of boilerplate used to support native HTTP api on Naviserver versions < 4.99.15, which will now fallback to curl
"
"openacs-4/packages/acs-tcl/tcl/apm-file-procs.tcl","1.45.2.6","antoniop",2021/01/13 13:10:29,"oacs-5-10:antoniop:20210113131029","util::http should provide enough fallback via curl already without targeting specific Naviserver versions, use other fallbacks only when no implementation is available
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30.2.15","antoniop",2021/01/13 13:10:29,"oacs-5-10:antoniop:20210113131029","util::http should provide enough fallback via curl already without targeting specific Naviserver versions, use other fallbacks only when no implementation is available
"
"openacs-4/packages/acs-tcl/tcl/test/00-icanuse-procs.tcl","1.1.2.3","antoniop",2021/01/14 14:30:13,"oacs-5-10:antoniop:20210114143013","Extend test to expose that we need a better idiom to detect also NaviServer commands
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.21","antoniop",2021/01/14 14:32:19,"oacs-5-10:antoniop:20210114143219","Change the regexp so that we catch multiple kinds of error pattern indicating the subcommand does not exist: NaviServer and Tcl return sligthly different error messages
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.22","antoniop",2021/01/14 14:40:33,"oacs-5-10:antoniop:20210114144033","Do not improperly rely on apm_version_names_compare to check for NaviServer version number, use a more reliable capability check instead
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30.2.17","antoniop",2021/01/14 14:40:33,"oacs-5-10:antoniop:20210114144033","Do not improperly rely on apm_version_names_compare to check for NaviServer version number, use a more reliable capability check instead
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.74","gustafn",2021/01/29 15:37:23,"oacs-5-10:gustafn:20210129153723","util_return_headers: align the behavior under AOLserver with NaviServer
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.24","gustafn",2021/02/17 20:51:42,"oacs-5-10:gustafn:20210217205142","make use of built-in reverse proxy mode of newer versions of NaviServer
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.153.2.31","gustafn",2021/02/17 20:51:42,"oacs-5-10:gustafn:20210217205142","make use of built-in reverse proxy mode of newer versions of NaviServer
"
"openacs-4/packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl","1.49.2.14","gustafn",2021/03/01 10:43:10,"oacs-5-10:gustafn:20210301104310","reduce the number of locks (nsv-accesses) for OACS_FULLQUERIES by a factor of 3 when NaviServer is used.
OACS_FULLQUERIES is one of the 3 most intensively locked nsv arrays for
busy implementation
"
"openacs-4/packages/acs-datetime/tcl/acs-calendar-procs.tcl","1.31.2.1","antoniop",2021/03/11 10:14:52,"oacs-5-10:antoniop:20210311101452","Use naviserver api to parse URL variables
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.82","antoniop",2021/03/11 10:24:24,"oacs-5-10:antoniop:20210311101452","Use naviserver api to parse URL variables
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30.2.19","antoniop",2021/03/11 10:46:39,"oacs-5-10:antoniop:20210311104639","Use naviserver api to parse URL variables
"
"openacs-4/packages/acs-admin/tcl/acs-admin-procs.tcl","1.2.2.5","gustafn",2021/07/20 09:17:27,"oacs-5-10:gustafn:20210720091727","check_expired_certificates: automated certificate nenewal for letsencrypt
This change reduce maintenance effort by automating certificate
renewal. When the NaviServer letsencrypt module is installed and
configured, the background operation check_expired_certificates will
automatically update the certificates when these expire soon (as
defined by the ""ExpireCertificateWarningPeriod"" parameter of
acs-admin). When a recent version of NaviServer is used that supports
certificate refetch on SIGHUP, the new certificates are automatically
updated without a server restart.
Prerequisites:
- Recent version of letsencrypt NaviServer module installed (0.6)
and configured
- Recent version of NaviServer (currently Bitbucket tip) for automated
certificate reloading
When the recent letsencrypt module is not installed,
check_expired_certificates sends expiration warnings as usual.
Therefore, it is also useful for sites using certificates from
different sources.
This new functionality was used for latest certificate renewal on
openacs.org.
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.28","gustafn",2021/08/03 19:22:00,"oacs-5-10:gustafn:20210803192200","provide a compatibility function for ns_parsehostport for earlier versions of NaviServer
"
"openacs-4/packages/acs-tcl/tcl/acs-cache-procs.tcl","1.10.2.15","gustafn",2021/09/24 11:31:03,"oacs-5-10:gustafn:20210924113103","let the per_thread_cache behave like the per_connection_cache when the NaviServer configuration valriable ""cachingmode"" is set to none
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.31","gustafn",2021/09/28 12:46:47,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-kernel/acs-kernel.info","1.150.2.34","gustafn",2021/09/28 12:46:48,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.29","gustafn",2021/09/28 12:46:48,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.126.2.53","gustafn",2021/09/28 12:46:48,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-tcl/tcl/security-procs.xql","1.10.2.2","gustafn",2021/09/28 12:46:48,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-kernel/sql/oracle/upgrade/upgrade-5.10.0-5.10.1d1.sql","1.1.2.1","gustafn",2021/09/28 12:46:49,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.10.0-5.10.1d1.sql","1.1.2.1","gustafn",2021/09/28 12:46:49,"oacs-5-10:gustafn:20210928124647","Stronger password hashes for OpenACS
This change introduces the possibility to use either the classical
OpenACS password hash algorithm ""salted-sha1"" or the SCRAM passord
function ""scram-sha-256"". The latter can be used by (a) using the
most recent version of NaviServer (from Sept 28, 2021 or newer) and
(b) by configuring the password hash preferences via Kernel package
parameter ""PasswordHashAlgorithm"". The package parameter can contain a
list of multiple hash algorithms in preference order. The most
preferred available algorithm is chosen.
By default, the ""PasswordHashAlgorithm"" is ""salted-sha1"", and the
behavior is as before. After upgrading to the new version of acs-tcl
and acs-kernel, the preference list can be configured. When a user
logs in and the preferred available algorithm is different from the
previously used algorithm, the upgrade is performed for the user
automatically.
The usage of SHA1 in OpenACS is easily target of security audits (see
[1]). The biggest danger is that if somebody gets full access to the
""users"" table (e.g. when decommissioning a hard disk). In this case
the hashes can be attacked with dictionaries by using some crypto
hardware (when someone gets raw access to the DB, one has usually some
other big problems). However, by using the ""scram-sha-256"" hash
function this danger is substantially reduced. This function computes
a password hash using PBKDF2 (Password-Based Key Derivation Function
2). This function is used to reduce vulnerabilities of brute-force
attacks against password hashes. The hash function of SCRAM is PBKDF2
[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen
== output length of HMAC == output length of the digest function. So,
it uses a better hash algorithm (sha-256 vs. sha1) and applies this a
high number of times (15K times for a password hash computation).
NaviServer supports as well the even better SCRYPT algorithm, but this
is only available when NaviServer is compiled with OpenSSL 3.0 or
newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is
available since OpenSSL 1.0.0 (2015).
All the improved hash functions require NaviServer with its tight
integration to the crypto functions of OpenSSL.
[1] https://openacs.org/forums/message-view?message_id=5522562
"
"openacs-4/packages/acs-tcl/tcl/01-database-procs.tcl","1.1.2.31","gustafn",2021/09/30 12:34:12,"oacs-5-10:gustafn:20210930123412","Change caching of driver keys
There seems to be a bug in ""db_driverkey"", when OpenACS connects to
multiple databases [1]. The situation with ""db_driverkey"" is
complicated by the fact that this function is sometimes called with a
database name in its argument ""dbn"", and sometimes with a database
handle. This is something to look at in the future.
The new version removes the per-thread caching, which was introduced
to reduce the high number of mutex locks caused in busy machines. The
new version is better by a factor of 2 than older versions, but relies
on NaviServer.
[1] https://openacs.org/forums/message-view?message_id=5537865
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.126.2.56","gustafn",2021/10/03 18:13:38,"oacs-5-10:gustafn:20211003181338","added support for SCRYPT (RFC 7914) as password hash function.
The use of scrypt requires NaviServer compiled with OpenSSL 3.0 or newer
"
"openacs-4/packages/acs-kernel/acs-kernel.info","1.150.2.37","gustafn",2021/10/03 18:13:39,"oacs-5-10:gustafn:20211003181338","added support for SCRYPT (RFC 7914) as password hash function.
The use of scrypt requires NaviServer compiled with OpenSSL 3.0 or newer
"
"openacs-4/packages/acs-api-browser/acs-api-browser.info","1.40.2.6","gustafn",2021/10/29 10:35:59,"oacs-5-10:gustafn:20211029103559","added support for ""ns_trim -prefix"".
The command is predefined in NaviServer; if not available, a comatibility version is added.
This change also mitigates a potential memory-leak problem in nsv_dict with certain
versions of NaviServer which might lead on busy sites to problems.
"
"openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl","1.72.2.35","gustafn",2021/10/29 10:35:59,"oacs-5-10:gustafn:20211029103559","added support for ""ns_trim -prefix"".
The command is predefined in NaviServer; if not available, a comatibility version is added.
This change also mitigates a potential memory-leak problem in nsv_dict with certain
versions of NaviServer which might lead on busy sites to problems.
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.35","gustafn",2021/10/29 10:35:59,"oacs-5-10:gustafn:20211029103559","added support for ""ns_trim -prefix"".
The command is predefined in NaviServer; if not available, a comatibility version is added.
This change also mitigates a potential memory-leak problem in nsv_dict with certain
versions of NaviServer which might lead on busy sites to problems.
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.30","gustafn",2021/10/29 10:35:59,"oacs-5-10:gustafn:20211029103559","added support for ""ns_trim -prefix"".
The command is predefined in NaviServer; if not available, a comatibility version is added.
This change also mitigates a potential memory-leak problem in nsv_dict with certain
versions of NaviServer which might lead on busy sites to problems.
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.36","gustafn",2022/01/22 12:09:30,"oacs-5-10:gustafn:20220122120930","Modernize parameter parsing (query and includelet paramters)
- handle invalid UTF-8 exception that might be triggered by
""ns_parsequery"" in newer versions of NaviServer
- the new code is about 4 times faster than the old one
- replaced array by dict
- don't create helper procs on the fly but use ""nsf::parseargs"" if possible
- added icanuse rules for
* ""nsf::parseargs -asdict""
* ""ns_parsequery -charset""
"
"openacs-4/packages/acs-content-repository/tcl/test/content-search-procs.tcl","1.6.2.4","antoniop",2022/01/27 09:23:58,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-subsite/www/permissions/perm-modify.xql","1.2.26.2","antoniop",2022/01/27 09:23:58,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-tcl/tcl/application-data-link-procs.xql","1.7.8.1","antoniop",2022/01/27 09:23:58,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-templating/tcl/deprecated-procs.tcl","1.8.2.7","antoniop",2022/01/27 09:23:58,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-templating/tcl/util-procs.tcl","1.43.2.13","antoniop",2022/01/27 09:23:58,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-templating/tcl/test/parse-test-procs.tcl","1.10.2.2","antoniop",2022/01/27 09:23:59,"oacs-5-10:antoniop:20220127092358","Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command
"
"openacs-4/packages/acs-templating/tcl/parse-procs-aolserver.tcl","1.1.2.1","gustafn",2022/04/07 12:39:28,"oacs-5-10:gustafn:20220407123928","separating naviserver and aolserver specific files
"
"openacs-4/packages/acs-templating/tcl/parse-procs-naviserver.tcl","1.1.2.1","gustafn",2022/04/07 12:39:28,"oacs-5-10:gustafn:20220407123928","separating naviserver and aolserver specific files
"
"openacs-4/packages/acs-templating/tcl/parse-procs.tcl","1.65.2.14","gustafn",2022/04/07 12:39:28,"oacs-5-10:gustafn:20220407123928","separating naviserver and aolserver specific files
"
"openacs-4/packages/acs-templating/tcl/parse-procs-naviserver.tcl","1.1","gustafn",2022/04/07 12:39:28,"MAIN:gustafn:20220407123928:1","file parse-procs-naviserver.tcl was initially added on branch oacs-5-10.
"
"openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl","1.1.2.40","gustafn",2022/05/23 22:01:32,"oacs-5-10:gustafn:20220523220132","Use NaviServer feature ""ns_deletecookie ... -samesite $samesite ..."" when available.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-aolserver.tcl","1.6.2.5","gustafn",2022/05/23 22:01:33,"oacs-5-10:gustafn:20220523220132","Use NaviServer feature ""ns_deletecookie ... -samesite $samesite ..."" when available.
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs-naviserver.tcl","1.4.2.8","gustafn",2022/05/23 22:01:33,"oacs-5-10:gustafn:20220523220132","Use NaviServer feature ""ns_deletecookie ... -samesite $samesite ..."" when available.
"
"openacs-4/packages/acs-tcl/tcl/01-database-procs.tcl","1.1.2.38","gustafn",2022/07/20 11:45:57,"oacs-5-10:gustafn:20220720114557","Improved db-functions db_list_of_nssets, db_list_of_lists, and db_foreach
These versions were developed in the conjunction with the NaviServer
ns_set reform. Especially ns_list_of_lists is improved, since it
avoids duplication of the data. This is especially important, when
queries return huge amount of data.
"
"openacs-4/packages/acs-tcl/tcl/01-database-procs.tcl","1.1.2.40","gustafn",2022/08/23 11:10:22,"oacs-5-10:gustafn:20220823111022","Changed ""db_multirow"" to use ""db_list_of_lists"" instead of ""db_list_of_ns_sets""
Thanks to the recent improvements in NaviServer for
""db_list_of_lists"", it is more efficient to use this in ""db_multirow""
(actually in ""db_multirow_helper""). The implementation revealed a bug
in ""db_list_of_lists"", when both options ""-columns_var"" and
""-with_headers"" were set.
Extended regression test to cover the former bug.
"
"openacs-4/packages/acs-tcl/tcl/test/db-proc-test-procs.tcl","1.1.2.27","gustafn",2022/08/23 11:10:22,"oacs-5-10:gustafn:20220823111022","Changed ""db_multirow"" to use ""db_list_of_lists"" instead of ""db_list_of_ns_sets""
Thanks to the recent improvements in NaviServer for
""db_list_of_lists"", it is more efficient to use this in ""db_multirow""
(actually in ""db_multirow_helper""). The implementation revealed a bug
in ""db_list_of_lists"", when both options ""-columns_var"" and
""-with_headers"" were set.
Extended regression test to cover the former bug.
"
"openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl","1.61.2.31","antoniop",2022/08/25 16:01:27,"oacs-5-10:antoniop:20220825160127","Extend tmpfile filter to behave in the ""old way"" (default), or in strict mode e.g. tmpfile(strict), enforcing the behavior for tmpfile in Aolserver/Naviserver when a form is processed
"
"openacs-4/packages/acs-subsite/acs-subsite.info","1.131.2.29","antoniop",2022/08/26 12:06:43,"oacs-5-10:antoniop:20220826120643","tmpfile page contract filter reform:
do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.52","antoniop",2022/08/26 12:06:43,"oacs-5-10:antoniop:20220826120643","tmpfile page contract filter reform:
do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.126.2.74","antoniop",2022/08/26 12:06:43,"oacs-5-10:antoniop:20220826120643","tmpfile page contract filter reform:
do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.
"
"openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl","1.61.2.32","antoniop",2022/08/26 12:06:44,"oacs-5-10:antoniop:20220826120643","tmpfile page contract filter reform:
do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.
"
"openacs-4/packages/acs-tcl/tcl/test/security-procs.tcl","1.1.2.8","antoniop",2022/08/26 12:06:44,"oacs-5-10:antoniop:20220826120643","tmpfile page contract filter reform:
do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.
"
"openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl","1.109.2.32","gustafn",2022/08/29 11:53:56,"oacs-5-10:gustafn:20220829115356","Use ""ns_parsehtml"" for speed and correctness when available
The new NaviServer built-in command ""ns_parsehtml"" is used on
several occasions in the code when available, namely in
- util_close_html_tags
- escaping disallowed HTML tags in ad_text_to_html
- util_close_html_tags
The command ""util_close_html_tags"" has a long history of troubles,
since it was implemented originally based on regular expressions. It
was reported in Jan 2009, that the function took on certain forums
entries 6 to 9 hours (e.g. /forums/message-view?message_id=357753) to
finish. Therefore, at this time a quick version based on tdom was
introduced, which reduced at that time the performance to 7.3
seconds. However, the tdom-based version tend to fail on invalid HTML,
so it could cover only a few cases. The new ""ns_parsehtml"" is more
robust and works very stable on openacs.org with the know problem
cases. Furthermore, this version is also significantly faster than the
tdom version.
"
"openacs-4/packages/acs-tcl/tcl/test/html-conversion-procs.tcl","1.20.2.14","gustafn",2022/08/29 11:53:56,"oacs-5-10:gustafn:20220829115356","Use ""ns_parsehtml"" for speed and correctness when available
The new NaviServer built-in command ""ns_parsehtml"" is used on
several occasions in the code when available, namely in
- util_close_html_tags
- escaping disallowed HTML tags in ad_text_to_html
- util_close_html_tags
The command ""util_close_html_tags"" has a long history of troubles,
since it was implemented originally based on regular expressions. It
was reported in Jan 2009, that the function took on certain forums
entries 6 to 9 hours (e.g. /forums/message-view?message_id=357753) to
finish. Therefore, at this time a quick version based on tdom was
introduced, which reduced at that time the performance to 7.3
seconds. However, the tdom-based version tend to fail on invalid HTML,
so it could cover only a few cases. The new ""ns_parsehtml"" is more
robust and works very stable on openacs.org with the know problem
cases. Furthermore, this version is also significantly faster than the
tdom version.
"
"openacs-4/packages/acs-automated-testing/tcl/aa-test-procs.tcl","1.79.2.61","antoniop",2022/09/02 13:18:20,"oacs-5-10:antoniop:20220902131820","Improve acs::test::form_reply so that when the attributes of a file upload (*.tmpfile or *.content-type) are part of the update argument, it will switch automatically to a multipart request and implement a ""real"" file upload
This is important on newer NaviServer versions that will reject any *.tmpfile parameter in a request that was not produced internally after a file upload
"
"openacs-4/packages/acs-templating/tcl/test/file-procs.tcl","1.1.2.4","antoniop",2022/09/02 13:18:20,"oacs-5-10:antoniop:20220902131820","Improve acs::test::form_reply so that when the attributes of a file upload (*.tmpfile or *.content-type) are part of the update argument, it will switch automatically to a multipart request and implement a ""real"" file upload
This is important on newer NaviServer versions that will reject any *.tmpfile parameter in a request that was not produced internally after a file upload
"
"openacs-4/packages/acs-tcl/tcl/test/doc-check-procs.tcl","1.20.2.28","antoniop",2022/09/13 14:40:30,"oacs-5-10:antoniop:20220913144030","Ignore the ::nsshell namespace: this is a NaviServer module, hence outside the OpenACS source tree
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.54","gustafn",2022/11/26 16:46:34,"oacs-5-10:gustafn:20221126164634","New API ""ad_mktmpdir"" and ""ad_opentmpfile""
Since ""ns_mktemp"" is deprecated (on the C level) and is prone
to vulnerabilities. This effects as well ""ad_tmpnam"" in OpenACS,
which uses ""ns_mktemp"".
Newer C-compilers complain about this more loudly:
Due to security concerns inherent in the design of mktemp(3),
it is highly recommended that you use mkstemp(3) instead.
The security concern is that when ns_mktemp() is used to generate a
(unique) file name, which is used for opening a file, an attacker can
intercept the running binary and sneak in a different file. Although
ns_mktemp() guarantees to return a unique file name, there is no
mechanism to prevent another process or an attacker from creating a
file with the same name before the application attempts to open it.
The problem with using mkstemp() instead is that it has different
semantics, since it returns the open file. So one cannot blindly
replace these calls, but it requires some refactoring. Unfortunately,
this also effects application code, since NaviServer offers
""ns_mktemp"" on the Tcl level.
To make it short: one has to separate out different use_cases of
""ad_tmpnam"":
(a) use it to obtain a name for creating a file, which is subsequently opened
(b) use it to obtain a name for creating a directory
(c) use it as a name, providing name as a unique name to some external programs.
Case (a) is similar to the ""mkstemp(3)"" recommendation above. For this
usage scenario, the call ""file tmpfile..."" in Tcl 8.6 can be used (but
it should also respect the configured tmp directory. This function
is also very similar to ""ns_opentempdir"" in NaviServer, which uses
as well ""file tmpfile"". Therefore, we have created a new API call
""ad_opentmpdir ..."" which respects the OpenACS settings.
Case (b) can be addressed by ""file tempdir"" in Tcl 8.7, or by a function
in tcllib. The new API function ""ad_mktmpdir"" provides respects the
OpenACS settings, and works for Tcl 8.6 or newer.
Case (c) is somewhat different, since it just wants to create a unique name. This case has not received a special API so far
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.158","gustafn",2022/11/26 16:46:34,"oacs-5-10:gustafn:20221126164634","New API ""ad_mktmpdir"" and ""ad_opentmpfile""
Since ""ns_mktemp"" is deprecated (on the C level) and is prone
to vulnerabilities. This effects as well ""ad_tmpnam"" in OpenACS,
which uses ""ns_mktemp"".
Newer C-compilers complain about this more loudly:
Due to security concerns inherent in the design of mktemp(3),
it is highly recommended that you use mkstemp(3) instead.
The security concern is that when ns_mktemp() is used to generate a
(unique) file name, which is used for opening a file, an attacker can
intercept the running binary and sneak in a different file. Although
ns_mktemp() guarantees to return a unique file name, there is no
mechanism to prevent another process or an attacker from creating a
file with the same name before the application attempts to open it.
The problem with using mkstemp() instead is that it has different
semantics, since it returns the open file. So one cannot blindly
replace these calls, but it requires some refactoring. Unfortunately,
this also effects application code, since NaviServer offers
""ns_mktemp"" on the Tcl level.
To make it short: one has to separate out different use_cases of
""ad_tmpnam"":
(a) use it to obtain a name for creating a file, which is subsequently opened
(b) use it to obtain a name for creating a directory
(c) use it as a name, providing name as a unique name to some external programs.
Case (a) is similar to the ""mkstemp(3)"" recommendation above. For this
usage scenario, the call ""file tmpfile..."" in Tcl 8.6 can be used (but
it should also respect the configured tmp directory. This function
is also very similar to ""ns_opentempdir"" in NaviServer, which uses
as well ""file tmpfile"". Therefore, we have created a new API call
""ad_opentmpdir ..."" which respects the OpenACS settings.
Case (b) can be addressed by ""file tempdir"" in Tcl 8.7, or by a function
in tcllib. The new API function ""ad_mktmpdir"" provides respects the
OpenACS settings, and works for Tcl 8.6 or newer.
Case (c) is somewhat different, since it just wants to create a unique name. This case has not received a special API so far
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.57","gustafn",2023/02/07 17:50:31,"oacs-5-10:gustafn:20230207175031","Cluster reform
- Support for dynamic cluster nodes:
Previous versions of OpenACS required to know the IP addresses of
the cluster nodes in advance, which is a show-stopper for many cloud
applications.
The new functionality allows arbitrary nodes to register as client
nodes at the canonical server, provided that these know a shared
secret. All messages of the intra-cluster talk are now
cryptographically signed using this shared secret.
In the current version, the shared secret key has to be specified in
the NaviServer configuration file (ClusterSecret). Later versions
will support the use of other measures such as generated keys, kept
as files.
Also in the new version it is still possible to use static peer
addresses (which do not have to register during startup).
- Support for multiple protocols for intra-cluster talk
Previous version of OpenACS required the communication of the
intra-cluster talk over HTTP. With these changes, multiple protocols
are supported. Most prominently HTTPS can be used, which is required
by some organization for all web communication, especially for cloud
applications. Other protocols might be added later (e.g. UDP).
- Nodes (such as the canonical server) can be specified via URL
locations. These location specifier have the following advantages
over classical IP address and port.
* support different protocols (http, https, udp)
* support of IP addresses or DNS names
* when DNS names map to multiple IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
the new parameter PreferredLocationRegexp can be use
to select the wanted. When this regexp does not match
any of the addresses, the first address is used.
* ports are now optional (except UDP)
* for location specifier: https://openacs.org
- Support for cluster communication statistics
(requires xotcl-request-monitor)
These statistics show the amount of intra-server
communication. The following statistics are collected
per node:
- number of broadcast operations
- number of send operations (active flushes)
- number of receive operation (passive flushes)
For N cluster nodes, the send operations are
basically the number of broadcast operations times
the number of nodes minus one.
These statistics can also be used prior to cluster
enabling, to obtain the number of potential broadcast
operations.
Kernel Parameters
CanonicalServer : location of the canonical server
ClusterAuthorizedIP : obsolete
ClusterEnabledP : unchanged
ClusterPeerIP : obsolete
EnableLoggingP : unchanged
PreferredLocationRegexp : new
DynamicClusterPeers : new, no not edit
Differences between old and new value for ""CanonicalServer"":
old:
- specify IP address with port
- example: 137.208.116.31:443
new:
- specify URL location
- support different protocols (http, https, udp)
- support of IP address or domain name
- when domain name maps to different IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
PreferredLocationRegexp can be use to select the wanted.
When the provided regexp does not match any of
the addresses, take the first address.
- port is optional
- example: https://openacs.org
Sample setup
Old:
CanonicalServer : 137.208.116.31:443
ClusterAuthorizedIP : 137.208.116.31
ClusterPeerIP : 137.208.116.31:443 137.208.116.31:8443
ClusterEnabledP : 1
EnableLoggingP : 1
New:
CanonicalServer : https://openacs.org
PreferredLocationRegexp : https://
ClusterEnabledP : 1
EnableLoggingP : 1
#
# Cluster secret for intra-cluster communications in NaviServer
# configuration file. Clustering will not be enabled if no value is
# provided.
#
ns_section ns/server/$server/acs {
# ...
ns_param ClusterSecret ""please change me""
}
#-----------------------------------------------------------------------
# Support for munin statistics
#
# 1) install munin plugins for naviserver (munin-plugins-ns.git)
# 2) add link to the munin plugins (replace ""openacs"" by the name
# of your server in the munin configuration)
# /etc/munin/plugins/naviserver_openacs_count_cluster -> /usr/share/munin/plugins/naviserver_count
# 3) in the plugin plugin configuration (e.g., etc/munin/plugin-conf.d/naviserver)
# add a section like the following (again, replace ""openacs"" by the server name you used)
#
# [naviserver_openacs_count_cluster]
# env.title Cluster
# env.vars cluster:broadcast cluster:sent cluster:received
#
# 4) restart munin
"
"openacs-4/packages/acs-kernel/acs-kernel.info","1.150.2.52","gustafn",2023/02/07 17:50:32,"oacs-5-10:gustafn:20230207175031","Cluster reform
- Support for dynamic cluster nodes:
Previous versions of OpenACS required to know the IP addresses of
the cluster nodes in advance, which is a show-stopper for many cloud
applications.
The new functionality allows arbitrary nodes to register as client
nodes at the canonical server, provided that these know a shared
secret. All messages of the intra-cluster talk are now
cryptographically signed using this shared secret.
In the current version, the shared secret key has to be specified in
the NaviServer configuration file (ClusterSecret). Later versions
will support the use of other measures such as generated keys, kept
as files.
Also in the new version it is still possible to use static peer
addresses (which do not have to register during startup).
- Support for multiple protocols for intra-cluster talk
Previous version of OpenACS required the communication of the
intra-cluster talk over HTTP. With these changes, multiple protocols
are supported. Most prominently HTTPS can be used, which is required
by some organization for all web communication, especially for cloud
applications. Other protocols might be added later (e.g. UDP).
- Nodes (such as the canonical server) can be specified via URL
locations. These location specifier have the following advantages
over classical IP address and port.
* support different protocols (http, https, udp)
* support of IP addresses or DNS names
* when DNS names map to multiple IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
the new parameter PreferredLocationRegexp can be use
to select the wanted. When this regexp does not match
any of the addresses, the first address is used.
* ports are now optional (except UDP)
* for location specifier: https://openacs.org
- Support for cluster communication statistics
(requires xotcl-request-monitor)
These statistics show the amount of intra-server
communication. The following statistics are collected
per node:
- number of broadcast operations
- number of send operations (active flushes)
- number of receive operation (passive flushes)
For N cluster nodes, the send operations are
basically the number of broadcast operations times
the number of nodes minus one.
These statistics can also be used prior to cluster
enabling, to obtain the number of potential broadcast
operations.
Kernel Parameters
CanonicalServer : location of the canonical server
ClusterAuthorizedIP : obsolete
ClusterEnabledP : unchanged
ClusterPeerIP : obsolete
EnableLoggingP : unchanged
PreferredLocationRegexp : new
DynamicClusterPeers : new, no not edit
Differences between old and new value for ""CanonicalServer"":
old:
- specify IP address with port
- example: 137.208.116.31:443
new:
- specify URL location
- support different protocols (http, https, udp)
- support of IP address or domain name
- when domain name maps to different IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
PreferredLocationRegexp can be use to select the wanted.
When the provided regexp does not match any of
the addresses, take the first address.
- port is optional
- example: https://openacs.org
Sample setup
Old:
CanonicalServer : 137.208.116.31:443
ClusterAuthorizedIP : 137.208.116.31
ClusterPeerIP : 137.208.116.31:443 137.208.116.31:8443
ClusterEnabledP : 1
EnableLoggingP : 1
New:
CanonicalServer : https://openacs.org
PreferredLocationRegexp : https://
ClusterEnabledP : 1
EnableLoggingP : 1
#
# Cluster secret for intra-cluster communications in NaviServer
# configuration file. Clustering will not be enabled if no value is
# provided.
#
ns_section ns/server/$server/acs {
# ...
ns_param ClusterSecret ""please change me""
}
#-----------------------------------------------------------------------
# Support for munin statistics
#
# 1) install munin plugins for naviserver (munin-plugins-ns.git)
# 2) add link to the munin plugins (replace ""openacs"" by the name
# of your server in the munin configuration)
# /etc/munin/plugins/naviserver_openacs_count_cluster -> /usr/share/munin/plugins/naviserver_count
# 3) in the plugin plugin configuration (e.g., etc/munin/plugin-conf.d/naviserver)
# add a section like the following (again, replace ""openacs"" by the server name you used)
#
# [naviserver_openacs_count_cluster]
# env.title Cluster
# env.vars cluster:broadcast cluster:sent cluster:received
#
# 4) restart munin
"
"openacs-4/packages/acs-tcl/tcl/cluster-init.tcl","1.1.2.9","gustafn",2023/02/07 17:50:32,"oacs-5-10:gustafn:20230207175031","Cluster reform
- Support for dynamic cluster nodes:
Previous versions of OpenACS required to know the IP addresses of
the cluster nodes in advance, which is a show-stopper for many cloud
applications.
The new functionality allows arbitrary nodes to register as client
nodes at the canonical server, provided that these know a shared
secret. All messages of the intra-cluster talk are now
cryptographically signed using this shared secret.
In the current version, the shared secret key has to be specified in
the NaviServer configuration file (ClusterSecret). Later versions
will support the use of other measures such as generated keys, kept
as files.
Also in the new version it is still possible to use static peer
addresses (which do not have to register during startup).
- Support for multiple protocols for intra-cluster talk
Previous version of OpenACS required the communication of the
intra-cluster talk over HTTP. With these changes, multiple protocols
are supported. Most prominently HTTPS can be used, which is required
by some organization for all web communication, especially for cloud
applications. Other protocols might be added later (e.g. UDP).
- Nodes (such as the canonical server) can be specified via URL
locations. These location specifier have the following advantages
over classical IP address and port.
* support different protocols (http, https, udp)
* support of IP addresses or DNS names
* when DNS names map to multiple IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
the new parameter PreferredLocationRegexp can be use
to select the wanted. When this regexp does not match
any of the addresses, the first address is used.
* ports are now optional (except UDP)
* for location specifier: https://openacs.org
- Support for cluster communication statistics
(requires xotcl-request-monitor)
These statistics show the amount of intra-server
communication. The following statistics are collected
per node:
- number of broadcast operations
- number of send operations (active flushes)
- number of receive operation (passive flushes)
For N cluster nodes, the send operations are
basically the number of broadcast operations times
the number of nodes minus one.
These statistics can also be used prior to cluster
enabling, to obtain the number of potential broadcast
operations.
Kernel Parameters
CanonicalServer : location of the canonical server
ClusterAuthorizedIP : obsolete
ClusterEnabledP : unchanged
ClusterPeerIP : obsolete
EnableLoggingP : unchanged
PreferredLocationRegexp : new
DynamicClusterPeers : new, no not edit
Differences between old and new value for ""CanonicalServer"":
old:
- specify IP address with port
- example: 137.208.116.31:443
new:
- specify URL location
- support different protocols (http, https, udp)
- support of IP address or domain name
- when domain name maps to different IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
PreferredLocationRegexp can be use to select the wanted.
When the provided regexp does not match any of
the addresses, take the first address.
- port is optional
- example: https://openacs.org
Sample setup
Old:
CanonicalServer : 137.208.116.31:443
ClusterAuthorizedIP : 137.208.116.31
ClusterPeerIP : 137.208.116.31:443 137.208.116.31:8443
ClusterEnabledP : 1
EnableLoggingP : 1
New:
CanonicalServer : https://openacs.org
PreferredLocationRegexp : https://
ClusterEnabledP : 1
EnableLoggingP : 1
#
# Cluster secret for intra-cluster communications in NaviServer
# configuration file. Clustering will not be enabled if no value is
# provided.
#
ns_section ns/server/$server/acs {
# ...
ns_param ClusterSecret ""please change me""
}
#-----------------------------------------------------------------------
# Support for munin statistics
#
# 1) install munin plugins for naviserver (munin-plugins-ns.git)
# 2) add link to the munin plugins (replace ""openacs"" by the name
# of your server in the munin configuration)
# /etc/munin/plugins/naviserver_openacs_count_cluster -> /usr/share/munin/plugins/naviserver_count
# 3) in the plugin plugin configuration (e.g., etc/munin/plugin-conf.d/naviserver)
# add a section like the following (again, replace ""openacs"" by the server name you used)
#
# [naviserver_openacs_count_cluster]
# env.title Cluster
# env.vars cluster:broadcast cluster:sent cluster:received
#
# 4) restart munin
"
"openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl","1.1.2.5","gustafn",2023/02/07 17:50:32,"oacs-5-10:gustafn:20230207175031","Cluster reform
- Support for dynamic cluster nodes:
Previous versions of OpenACS required to know the IP addresses of
the cluster nodes in advance, which is a show-stopper for many cloud
applications.
The new functionality allows arbitrary nodes to register as client
nodes at the canonical server, provided that these know a shared
secret. All messages of the intra-cluster talk are now
cryptographically signed using this shared secret.
In the current version, the shared secret key has to be specified in
the NaviServer configuration file (ClusterSecret). Later versions
will support the use of other measures such as generated keys, kept
as files.
Also in the new version it is still possible to use static peer
addresses (which do not have to register during startup).
- Support for multiple protocols for intra-cluster talk
Previous version of OpenACS required the communication of the
intra-cluster talk over HTTP. With these changes, multiple protocols
are supported. Most prominently HTTPS can be used, which is required
by some organization for all web communication, especially for cloud
applications. Other protocols might be added later (e.g. UDP).
- Nodes (such as the canonical server) can be specified via URL
locations. These location specifier have the following advantages
over classical IP address and port.
* support different protocols (http, https, udp)
* support of IP addresses or DNS names
* when DNS names map to multiple IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
the new parameter PreferredLocationRegexp can be use
to select the wanted. When this regexp does not match
any of the addresses, the first address is used.
* ports are now optional (except UDP)
* for location specifier: https://openacs.org
- Support for cluster communication statistics
(requires xotcl-request-monitor)
These statistics show the amount of intra-server
communication. The following statistics are collected
per node:
- number of broadcast operations
- number of send operations (active flushes)
- number of receive operation (passive flushes)
For N cluster nodes, the send operations are
basically the number of broadcast operations times
the number of nodes minus one.
These statistics can also be used prior to cluster
enabling, to obtain the number of potential broadcast
operations.
Kernel Parameters
CanonicalServer : location of the canonical server
ClusterAuthorizedIP : obsolete
ClusterEnabledP : unchanged
ClusterPeerIP : obsolete
EnableLoggingP : unchanged
PreferredLocationRegexp : new
DynamicClusterPeers : new, no not edit
Differences between old and new value for ""CanonicalServer"":
old:
- specify IP address with port
- example: 137.208.116.31:443
new:
- specify URL location
- support different protocols (http, https, udp)
- support of IP address or domain name
- when domain name maps to different IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
PreferredLocationRegexp can be use to select the wanted.
When the provided regexp does not match any of
the addresses, take the first address.
- port is optional
- example: https://openacs.org
Sample setup
Old:
CanonicalServer : 137.208.116.31:443
ClusterAuthorizedIP : 137.208.116.31
ClusterPeerIP : 137.208.116.31:443 137.208.116.31:8443
ClusterEnabledP : 1
EnableLoggingP : 1
New:
CanonicalServer : https://openacs.org
PreferredLocationRegexp : https://
ClusterEnabledP : 1
EnableLoggingP : 1
#
# Cluster secret for intra-cluster communications in NaviServer
# configuration file. Clustering will not be enabled if no value is
# provided.
#
ns_section ns/server/$server/acs {
# ...
ns_param ClusterSecret ""please change me""
}
#-----------------------------------------------------------------------
# Support for munin statistics
#
# 1) install munin plugins for naviserver (munin-plugins-ns.git)
# 2) add link to the munin plugins (replace ""openacs"" by the name
# of your server in the munin configuration)
# /etc/munin/plugins/naviserver_openacs_count_cluster -> /usr/share/munin/plugins/naviserver_count
# 3) in the plugin plugin configuration (e.g., etc/munin/plugin-conf.d/naviserver)
# add a section like the following (again, replace ""openacs"" by the server name you used)
#
# [naviserver_openacs_count_cluster]
# env.title Cluster
# env.vars cluster:broadcast cluster:sent cluster:received
#
# 4) restart munin
"
"openacs-4/packages/acs-tcl/tcl/server-cluster-procs.tcl","1.10.2.7","gustafn",2023/02/07 17:50:32,"oacs-5-10:gustafn:20230207175031","Cluster reform
- Support for dynamic cluster nodes:
Previous versions of OpenACS required to know the IP addresses of
the cluster nodes in advance, which is a show-stopper for many cloud
applications.
The new functionality allows arbitrary nodes to register as client
nodes at the canonical server, provided that these know a shared
secret. All messages of the intra-cluster talk are now
cryptographically signed using this shared secret.
In the current version, the shared secret key has to be specified in
the NaviServer configuration file (ClusterSecret). Later versions
will support the use of other measures such as generated keys, kept
as files.
Also in the new version it is still possible to use static peer
addresses (which do not have to register during startup).
- Support for multiple protocols for intra-cluster talk
Previous version of OpenACS required the communication of the
intra-cluster talk over HTTP. With these changes, multiple protocols
are supported. Most prominently HTTPS can be used, which is required
by some organization for all web communication, especially for cloud
applications. Other protocols might be added later (e.g. UDP).
- Nodes (such as the canonical server) can be specified via URL
locations. These location specifier have the following advantages
over classical IP address and port.
* support different protocols (http, https, udp)
* support of IP addresses or DNS names
* when DNS names map to multiple IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
the new parameter PreferredLocationRegexp can be use
to select the wanted. When this regexp does not match
any of the addresses, the first address is used.
* ports are now optional (except UDP)
* for location specifier: https://openacs.org
- Support for cluster communication statistics
(requires xotcl-request-monitor)
These statistics show the amount of intra-server
communication. The following statistics are collected
per node:
- number of broadcast operations
- number of send operations (active flushes)
- number of receive operation (passive flushes)
For N cluster nodes, the send operations are
basically the number of broadcast operations times
the number of nodes minus one.
These statistics can also be used prior to cluster
enabling, to obtain the number of potential broadcast
operations.
Kernel Parameters
CanonicalServer : location of the canonical server
ClusterAuthorizedIP : obsolete
ClusterEnabledP : unchanged
ClusterPeerIP : obsolete
EnableLoggingP : unchanged
PreferredLocationRegexp : new
DynamicClusterPeers : new, no not edit
Differences between old and new value for ""CanonicalServer"":
old:
- specify IP address with port
- example: 137.208.116.31:443
new:
- specify URL location
- support different protocols (http, https, udp)
- support of IP address or domain name
- when domain name maps to different IP addresses
(e.g. multiple IPv4 and/or multiple IPv6 addresses)
PreferredLocationRegexp can be use to select the wanted.
When the provided regexp does not match any of
the addresses, take the first address.
- port is optional
- example: https://openacs.org
Sample setup
Old:
CanonicalServer : 137.208.116.31:443
ClusterAuthorizedIP : 137.208.116.31
ClusterPeerIP : 137.208.116.31:443 137.208.116.31:8443
ClusterEnabledP : 1
EnableLoggingP : 1
New:
CanonicalServer : https://openacs.org
PreferredLocationRegexp : https://
ClusterEnabledP : 1
EnableLoggingP : 1
#
# Cluster secret for intra-cluster communications in NaviServer
# configuration file. Clustering will not be enabled if no value is
# provided.
#
ns_section ns/server/$server/acs {
# ...
ns_param ClusterSecret ""please change me""
}
#-----------------------------------------------------------------------
# Support for munin statistics
#
# 1) install munin plugins for naviserver (munin-plugins-ns.git)
# 2) add link to the munin plugins (replace ""openacs"" by the name
# of your server in the munin configuration)
# /etc/munin/plugins/naviserver_openacs_count_cluster -> /usr/share/munin/plugins/naviserver_count
# 3) in the plugin plugin configuration (e.g., etc/munin/plugin-conf.d/naviserver)
# add a section like the following (again, replace ""openacs"" by the server name you used)
#
# [naviserver_openacs_count_cluster]
# env.title Cluster
# env.vars cluster:broadcast cluster:sent cluster:received
#
# 4) restart munin
"
"openacs-4/packages/acs-api-browser/www/index.tcl","1.11.2.4","antoniop",2023/03/28 13:55:32,"oacs-5-10:antoniop:20230328135532","Prefer NaviServer API directly
"
"openacs-4/packages/acs-admin/www/apm/index.tcl","1.30.2.7","antoniop",2023/03/28 14:01:32,"oacs-5-10:antoniop:20230328140132","Prefer Naviserver API directly
"
"openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl","1.153.2.56","antoniop",2023/03/28 14:04:51,"oacs-5-10:antoniop:20230328140451","Deprecate trivial wrappers to the NaviServer API
Modern ns_getform will not return the empty string for empty requests, but only when we are operating outside of a connection. In such circumstances is arguably useful to manipulate the request parameters.
"
"openacs-4/packages/acs-templating/www/doc/tagref/include.adp","1.4.2.2","antoniop",2023/03/28 14:04:51,"oacs-5-10:antoniop:20230328140451","Deprecate trivial wrappers to the NaviServer API
Modern ns_getform will not return the empty string for empty requests, but only when we are operating outside of a connection. In such circumstances is arguably useful to manipulate the request parameters.
"
"openacs-4/packages/acs-templating/www/doc/tagref/include.html","1.6.2.1","antoniop",2023/03/28 14:04:51,"oacs-5-10:antoniop:20230328140451","Deprecate trivial wrappers to the NaviServer API
Modern ns_getform will not return the empty string for empty requests, but only when we are operating outside of a connection. In such circumstances is arguably useful to manipulate the request parameters.
"
"openacs-4/packages/acs-tcl/tcl/http-client-procs.tcl","1.30.2.28","antoniop",2023/06/23 12:39:26,"oacs-5-10:antoniop:20230623123926","Prefer ns_base64encode where we already require modern NaviServer
"
"openacs-4/packages/acs-core-docs/www/openacs-overview.adp","1.4.2.6","antoniop",2023/10/19 09:44:24,"oacs-5-10:antoniop:20231019094424","Update documentation:
- Replace AOLServer -> NaviServer
- Replace rericeted link to the package repository
- Refer to Wikipedia pages for facts about ArsDigita and original ACS
- Add links to Postgres and Oracle web pages
- Reformat markup
"
"openacs-4/packages/acs-admin/acs-admin.info","1.58.2.16","gustafn",2023/12/17 19:28:31,"oacs-5-10:gustafn:20231217192831","Added support for automatic disconnect when a dynamic cluster node is shut down
When the dynamic cluster configuration has scale for certain
occasions, it makes sense to provide down scaling support when these
occasions are over, which does not rely on the configured cluster
disconnect timeout (ClusterAutodeleteInterval). The new code will send
automatically a disconnect request when a dynamic cluster node is
terminating gracefully.
Depending on the configuration, a new version of NaviServer will be
necessary to reliably execute disconnect requests. Appropriate changes
are in the NaviServer release/4.99 and main branches.
- Bumped version numbers:
* acs-tcl to 5.10.1b4
* acs-admin to 5.10.1b4
"
"openacs-4/packages/acs-admin/www/cluster.tcl","1.1.2.4","gustafn",2023/12/17 19:28:31,"oacs-5-10:gustafn:20231217192831","Added support for automatic disconnect when a dynamic cluster node is shut down
When the dynamic cluster configuration has scale for certain
occasions, it makes sense to provide down scaling support when these
occasions are over, which does not rely on the configured cluster
disconnect timeout (ClusterAutodeleteInterval). The new code will send
automatically a disconnect request when a dynamic cluster node is
terminating gracefully.
Depending on the configuration, a new version of NaviServer will be
necessary to reliably execute disconnect requests. Appropriate changes
are in the NaviServer release/4.99 and main branches.
- Bumped version numbers:
* acs-tcl to 5.10.1b4
* acs-admin to 5.10.1b4
"
"openacs-4/packages/acs-tcl/acs-tcl.info","1.95.2.67","gustafn",2023/12/17 19:28:31,"oacs-5-10:gustafn:20231217192831","Added support for automatic disconnect when a dynamic cluster node is shut down
When the dynamic cluster configuration has scale for certain
occasions, it makes sense to provide down scaling support when these
occasions are over, which does not rely on the configured cluster
disconnect timeout (ClusterAutodeleteInterval). The new code will send
automatically a disconnect request when a dynamic cluster node is
terminating gracefully.
Depending on the configuration, a new version of NaviServer will be
necessary to reliably execute disconnect requests. Appropriate changes
are in the NaviServer release/4.99 and main branches.
- Bumped version numbers:
* acs-tcl to 5.10.1b4
* acs-admin to 5.10.1b4
"
"openacs-4/packages/acs-tcl/tcl/cluster-init.tcl","1.1.2.12","gustafn",2023/12/17 19:28:31,"oacs-5-10:gustafn:20231217192831","Added support for automatic disconnect when a dynamic cluster node is shut down
When the dynamic cluster configuration has scale for certain
occasions, it makes sense to provide down scaling support when these
occasions are over, which does not rely on the configured cluster
disconnect timeout (ClusterAutodeleteInterval). The new code will send
automatically a disconnect request when a dynamic cluster node is
terminating gracefully.
Depending on the configuration, a new version of NaviServer will be
necessary to reliably execute disconnect requests. Appropriate changes
are in the NaviServer release/4.99 and main branches.
- Bumped version numbers:
* acs-tcl to 5.10.1b4
* acs-admin to 5.10.1b4
"
"openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl","1.1.2.14","gustafn",2023/12/17 19:28:31,"oacs-5-10:gustafn:20231217192831","Added support for automatic disconnect when a dynamic cluster node is shut down
When the dynamic cluster configuration has scale for certain
occasions, it makes sense to provide down scaling support when these
occasions are over, which does not rely on the configured cluster
disconnect timeout (ClusterAutodeleteInterval). The new code will send
automatically a disconnect request when a dynamic cluster node is
terminating gracefully.
Depending on the configuration, a new version of NaviServer will be
necessary to reliably execute disconnect requests. Appropriate changes
are in the NaviServer release/4.99 and main branches.
- Bumped version numbers:
* acs-tcl to 5.10.1b4
* acs-admin to 5.10.1b4
"
"openacs-4/packages/acs-tcl/tcl/security-init.tcl","1.6.2.5","gustafn",2024/04/05 08:28:21,"oacs-5-10:gustafn:20240405082821","Improved readability of configuration parameter ""parameterSecret""
- Switched to camelCase for better readabilty and uniformity
- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility
"
"openacs-4/packages/acs-tcl/tcl/security-procs.tcl","1.126.2.99","gustafn",2024/04/05 08:28:21,"oacs-5-10:gustafn:20240405082821","Improved readability of configuration parameter ""parameterSecret""
- Switched to camelCase for better readabilty and uniformity
- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility
"
"openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl","1.61.2.42","gustafn",2024/04/05 08:28:21,"oacs-5-10:gustafn:20240405082821","Improved readability of configuration parameter ""parameterSecret""
- Switched to camelCase for better readabilty and uniformity
- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility
"
"openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl","1.189.2.173","gustafn",2024/04/05 08:28:21,"oacs-5-10:gustafn:20240405082821","Improved readability of configuration parameter ""parameterSecret""
- Switched to camelCase for better readabilty and uniformity
- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility
"