• last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
scalability improvement: keep result of lc_time_fmt_compile in (lock-free) per-thread cache rather than in the util_memoize cache

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


simplify initialization logic and issue login cookie only, when account_status is ok

fix passing of variables to error message

prefer dict over anonymous array

    • -6
    • +7
Removed duplicate registration of template tag "tabstrip"

remove quotes

Fix typo

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"

whitespace changes: improve linebreaks

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


ds_properties 7855339

rp_extension_handlers 6837414

apm_subsite_packages_list 3524672

apm_reload_watch 3514474

apm_properties 3514472

Part 2 of scalability improvement: provide lock-free implementation of ad_page_contract_filters (*rules are still missing)

fix for backwards compatibility test for ns_reflow_text

fix documentation

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

    • -1
    • +1
    • -1
    • +3
    • -158
    • +158
    • -95
    • +95
Improve scalability by reducing the number of locks on ad_page_contract_filters (this nsv receives the most locks on e.g. openacs.org)

Use acs_magic_object instead of acs_lookup_magic_object

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
    • +11
    • -0
    • +67
- 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"

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

white space cleanup and removal of unneeded line

- 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

Improve handling of unauthorized cases via exception handling

Improve performance of ::xowiki::datasource, especially for huge text/plain xowiki::Files

complete truncated file

factor out naviserver and aolserver specific code

Factor out code for navisever and aolserver

    • -220
    • +1
fix adp expression