• last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- handle error when opening psql and error from withing psql the same way

- improve line reaks in source control

- improve comments

- move deprecated proc lmap (since this conflicts with the built-in function of tcl 8.6) to acs-outdated

- use dicts for default ports

  1. … 1 more file in changeset.
- added default CSP directive "font-src data:"

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

- bump version number to 5.9.1d12

- shorten export_vars argument list

- replace deprecated "cc_email_from_party ..." by "party::email -party_id ..."

  1. … 3 more files in changeset.
- replace deprecated "cc_email_from_party ..." by "party::email -party_id ..."

- replace deprecated "cc_lookup_email_user ..." by "party::get_by_email -email ..."

    • -4
    • +4
    ./tcl/test/community-core-test-procs.tcl
  1. … 2 more files in changeset.
- mark cc_* functions as deprecated, since more general functions exists in acs_user::, party::, or group:: namespaces

- move comment to the right place

- 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. … 6 more files in changeset.
- new function ::security::nonce_token to generate a nonce token as described in W3C Content Security Policy

- Implements "Upgrade Insecure Requests" headers:

W3C Candidate Recommendation

https://www.w3.org/TR/upgrade-insecure-requests/

- 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 missing expand operator

- 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. … 3 more files in changeset.
- improve debug messages for broken installations

  1. … 1 more file in changeset.
- make return explicit

- added kernel parameter MaxUrlLength (default 2000) to remove

hard-coded length in request-processor-procs.

- lifted data model restriction of 100 characters for url-segments

(changing types of "site_nodes.name" from "varchar(100)" to "text")

(PostgreSQL only)

- site_node__node_id

* use built-in string functions instead of characterwise loop

* use default for last argument

* Improve source-code documentation

- bumped version number of kernel to 5.9.1d15

  1. … 3 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.

- added new function "util::join_location" as counterpart of

"util::split_location" to use IP-literal notation when necessary

(IPv6). The function can be used in connection with

"util::split_location" to substitute hostnames/ports etc. in full

urls instead of insecure regsub operations.

- function "util::external_url_p":

* don't use "string match" for comparing locations, since this

will fail with IP-literal notation

* no need to compare with encoded name (if needed, on should provide

an option).

- 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

Improving root_of_host_

- reduce dependency of the paths in the configuration script

- treat not only http, but as well https locations

- improve comments

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