• last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
security-procs:

- fix broken comparisons when "UseHostnameDomainforReg" is set

(see also issue #3293).

- don't use string match/regesub when manipulating URLs

(causes troubles with IP-literal notation). Instead, us

"eq" or "util::split_location"/"util::join_location"

- added means to ease debugging of login_urls and login_cookie:

variables "::security::log(login_url)" and

"::security::log(login_cookie)" contain the log severity.

by setting these to e.g. "notice", this does not require

to activate full debugging (setting severity to debug) in order

to obtain log output.

- address bug #3293: actual code in oacs-5-9 used full host header

(from request header fields) which might contain port.

db-query is now performed without the optional port

- improve Tcl coding (use defaults, break long lines)

- security::validated_host_header: Handle aliases for locations, which cannot be determined from config files, but which are supposed to be ok

- don't report urls in security::locations obtained form https drivers which loaded but not listening (identifiable via port number 0)

- unset coockies with the same "-secure" setting, which was used when creating it (differed for ad_session_id and ad_user_login).

- improve documentation

- improve behavior on invalid host headers and comment the purpose in more detail

  1. … 1 more file in changeset.