• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- fix name/address check: one should not check for the hostname (or

its IP address), but the for DNS name of the configured driver and

its IP addresses. If a host has multiple IP addresses, there might

not be a nsd driver configured on the hostname of the machine.

- make documentation more precise

- provide cross references to similar commands

  1. … 1 more file in changeset.
- fix variable name in lmap statement

- push coockie encoding to emulation level (naviserver does this natively, the aolserver variant handles it no the low-level functions)

  1. … 1 more file in changeset.
ease reading of debug messages; don't unset coockie(s) if there is no session cookie

Fix security::validated_host_header on configurations without virtual hosts

Streamlined one more place with new infrastructure (security::configured_driver_info)

Simplified code, improved documentation

- improve documentation

Prettify code

- improve proc documentation

- Make security::locations aware of potentially multiple drivers listening on multiple ports

- use "ns_driver info" when available

  1. … 1 more file in changeset.
security::validated_host_header:

- check also in nssock sections for v4 and v6

- check as well virtual server configuration

- perform nonce-computation independent of user_id computation

- put resetting of untrusted user_id to the right place

  1. … 1 more file in changeset.
- provide initial value for untrusted user_id

- setting nonce always (also for non-authenticated requests)

- use variable names consistently

- fix handling of csrf token

- make sure, that the sec_handler's global variables are always set (also in error cases, blocked bots, etc.)

- allow csrf token generation in background jobs

- improve comments

- added default CSP directive "font-src data:"

- adding "-force" parameter to security::csp::require

- bump version number to 5.9.1d12

  1. … 1 more file in changeset.
- Refine security policies: when necessary, define both a nonce and a

'unsafe-inline' to ensure compatibility on some less adavanced

browsers

- use same "secure" setting for ad_session_id, otherwise, just the

last one is honored

- fix linefeed and semicolon in js for focus handling

  1. … 2 more files in changeset.
- add CSP directive "img-src 'self'" per default

- Added support for W3C Content Security Policy(CSP)

* For details about CSP, see https://www.w3.org/TR/CSP/

* New calls:

security::csp::nonce:

Generate a CSP nonce token token

security::csp::require /directive/ /value/:

Add a requirements of a page to the CSP in order to generate

later a tailored policy with the minimal permissions for

this page. For example, the following requirement is

currently added per default to the oacs-master template to

permit style tags and style attribites in the markup.

security::csp::require style-src 'unsafe-inline'

security::csp::render:

Generate a policy from the requirements

* Added Kernel Parameter CSPEnabledP to activate/desctivate CSP

(default on)

- Bump version numbers

acs-tcl to 5.9.1d11

acs-bootstrap-installer to 5.9.1d4

acs-kernel to 5.9.1d17

  1. … 7 more files in changeset.
- new function ::security::nonce_token to generate a nonce token as described in W3C Content Security Policy

- security::redirect_to_secure: add flag "-script_abort" to make it

usable in filter procs (ad_script_abort triggers errors without

error message)

- security::get_secure_location:

* align implementation to function documentation (to make it usable

for sub-sites). Last version returned always the "configured

secure" location, not the "current secure location"

* replace regexps by util::split_location/util::join_location/

- add kernel parameter to make ad_session_id cookies secure (useful on sites, where all sessions are via https, improves security rating on e.g. mozillas observatory tool)

  1. … 1 more file in changeset.
- reduce redundancy handling legacy network drivers

- simplify code

- fix bug for host-node-mapped subsites: on the (subsite) admin-page

of a host-node-mapped subsites, the link to site-wide-admin should

always point to the main site.

- add new helper function util::configured_location to address the bug

above to return the configured location as configured for the

current network driver. While [util_current_location] honors the

virtual host information of the host header field,

util::configured_location returns the main configured location

(probably the main subsite).

- extend [util_driver_info]

* make the passed-in array name optional and to return always a dict

* include the configured host name in the result (dict/array)

- add cross references via @see to make it easier to switch between

related functions

- bump version number of acs-tcl to 5.9.1d10 and acs-subsite to

5.9.1d7 to address dependencies

  1. … 6 more files in changeset.