• last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
make sure to log errors in the error.log

scalability improvement: keep result of lc_time_fmt_compile in (lock-free) per-thread cache rather than in the util_memoize cache

    • -10
    • +21
    ./acs-lang/tcl/localization-procs.tcl
New functions for improved theming

template::head::flush_link -href ... -rel ...

template::head::flush_script -src

These functions are the inverse functions of template::head::add_link

and template::head::add_script. These functions are required in

situations where e.g. different subsites with different themes have

different requirements for a style file provide by some application

package.

    • -1
    • +35
    ./acs-templating/tcl/head-procs.tcl
simplify initialization logic and issue login cookie only, when account_status is ok

    • -17
    • +20
    ./acs-authentication/tcl/authentication-procs.tcl
fix passing of variables to error message

prefer dict over anonymous array

Removed duplicate registration of template tag "tabstrip"

remove quotes

Fix typo

    • -2
    • +2
    ./cookie-consent/tcl/cookie-consent-procs.tcl
fix behavior for Tcl 8.5:

it seems that the scripted "try" implementation in tcllib is not fully

compatible with the built-in version in Tcl 8.6; fall back in these

cases to the old implemenentation of the methods "contains"

    • -1
    • +37
    ./xotcl-core/tcl/20-Ordered-Composite-procs.tcl
whitespace changes: improve linebreaks

    • -1
    • +4
    ./xotcl-core/tcl/50-protocol-handler-procs.tcl
Part 3 of scalability improvement: provide lock-free implementation of

ad_page_contract_filter_rules. If nothing bad shows up, the

underlaying nsv-arrays can be removed completely.

If one looks at the top 10 nsv mutex locks of a rather busy site

(nsd running for 3 days), one can see the ad_page_contract_filters

and ad_page_contract_filter_rules belong to the most frequent

mutex locks, which can be avoided at completely. These two

arrays make up of nearly 40% of the top 10 nsv locks.

ad_page_contract_filters 38042679

api_proc_doc 37717019

ad_page_contract_filter_rules 26036060

::xotcl::THREAD 18628540

OACS_FULLQUERIES 17771146

ds_properties 7855339

rp_extension_handlers 6837414

apm_subsite_packages_list 3524672

apm_reload_watch 3514474

apm_properties 3514472

    • -14
    • +21
    ./acs-tcl/tcl/tcl-documentation-procs.tcl
Part 2 of scalability improvement: provide lock-free implementation of ad_page_contract_filters (*rules are still missing)

    • -9
    • +16
    ./acs-tcl/tcl/tcl-documentation-procs.tcl
fix for backwards compatibility test for ns_reflow_text

fix documentation

    • -2
    • +2
    ./acs-tcl/tcl/tcl-documentation-procs.tcl
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

    • -44
    • +60
    ./acs-tcl/tcl/text-html-procs.tcl
    • -1
    • +1
    ./sloan-bboard/www/message-threaded.adp
Improve scalability by reducing the number of locks on ad_page_contract_filters (this nsv receives the most locks on e.g. openacs.org)

    • -14
    • +22
    ./acs-tcl/tcl/tcl-documentation-procs.tcl
Use acs_magic_object instead of acs_lookup_magic_object

    • -2
    • +2
    ./acs-tcl/tcl/community-core-procs.tcl
    • -2
    • +2
    ./acs-tcl/tcl/request-processor-procs.tcl
reduce stress on util_memoize cache by using per-thread cache for magic objects

reduce stress on util_memoize_cache by using per-thread cache for acs::version number

Add files missed by last commit

    • -0
    • +27
    ./acs-admin/www/auth/login-attempts-reset.tcl
    • -0
    • +11
    ./acs-admin/www/auth/login-attempts.adp
    • -0
    • +67
    ./acs-admin/www/auth/login-attempts.tcl
    • -0
    • +133
    ./acs-authentication/tcl/authentication-procs-aolserver.tcl
    • -0
    • +92
    ./acs-authentication/tcl/authentication-procs-naviserver.tcl
- Add new feature to prevent/slowdown brute force attacks on login by counting the number of

failed consecutive login attempts based on ip-address and subsite.

- Add new package dependency: package "acs-admin" now requires "acs-authentication"

    • -2
    • +4
    ./acs-authentication/acs-authentication.info
    • -0
    • +1
    ./acs-authentication/catalog/acs-authentication.de_DE.ISO-8859-1.xml
    • -0
    • +1
    ./acs-authentication/catalog/acs-authentication.en_US.ISO-8859-1.xml
    • -7
    • +119
    ./acs-authentication/tcl/authentication-procs.tcl
Reduce stress on util_memoize_cache by removing the - by far - most often reused

item in the cache (apm_package_installed_p_not_cached ref-timezones). Instead,

we fall back to the (per-thread) caching of apm_package_id_from_key.

Whitesepace cleanup

    • -72
    • +76
    ./tsearch2-driver/tcl/tsearch2-driver-install-procs.tcl
    • -50
    • +55
    ./tsearch2-driver/tcl/tsearch2-driver-procs.tcl
white space cleanup and removal of unneeded line

    • -19
    • +18
    ./xotcl-core/tcl/50-protocol-handler-procs.tcl
- make sure that length timitation of tsearch vector does not raise errors

- refactor code to avoid redundant logic

- bump version number to 5.10.0d2

    • -2
    • +2
    ./tsearch2-driver/tsearch2-driver.info
    • -10
    • +27
    ./tsearch2-driver/tcl/tsearch2-driver-procs.tcl
Improve handling of unauthorized cases via exception handling

    • -5
    • +15
    ./xotcl-core/tcl/50-protocol-handler-procs.tcl
Improve performance of ::xowiki::datasource, especially for huge text/plain xowiki::Files

complete truncated file

    • -1
    • +10
    ./acs-tcl/tcl/memoize-procs-naviserver.tcl
factor out naviserver and aolserver specific code

    • -0
    • +283
    ./acs-tcl/tcl/utilities-procs-aolserver.tcl
    • -0
    • +191
    ./acs-tcl/tcl/utilities-procs-naviserver.tcl
    • -429
    • +1
    ./acs-tcl/tcl/utilities-procs.tcl
Factor out code for navisever and aolserver

    • -0
    • +120
    ./acs-tcl/tcl/memoize-procs-aolserver.tcl
    • -0
    • +117
    ./acs-tcl/tcl/memoize-procs-naviserver.tcl