• last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
merge with missing files

  1. … 1464 more files in changeset.
merge from oacs-5-10

  1. … 8099 more files in changeset.
small fix, when cookie times out and dotlrn is active

Fix default https port in security::configured_driver_info

Provide an API to check/set/clear the state of the regression test

The new calls are:

- aa_test_running_p

- aa_test_start

- aa_test_end

  1. … 1 more file in changeset.
improved spelling

  1. … 14 more files in changeset.
use original provided host-header-field in log statement

escape variable in log statement

Fix another variable name after refactoring

Fix variable name after refactoring

fixed typo

Updated location handling

- make use of "ns_server hosts" when available

- refactored and simplified code

- keep validated locations in an nsv array

- added support for extra white-listed hosts

in case, every other configuration fails

(should not be necessary)

ns_section ns/server/$server/acs {

ns_param whitelistedHosts {...}

}

- updated inline documentation

The new code is supposed to handle in combination of a recent NaviServer

all complex host header validation scenarios, include running behind a proxy,

in a container or cluster.

Improved readability of configuration parameter "parameterSecret"

- Switched to camelCase for better readabilty and uniformity

- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility

  1. … 5 more files in changeset.
security::validated_host_header: Made acceptance of configured vhosts the first check

Under certain conditions (such as running in a container, or reverse

proxy situations) the admin of a server wants to specify accepted host

names. This can be achieved in the "*/servers" section of a network

driver. These values are used now first for accepting host header

fields. This change avoids unexpected redirects to, e.g., internal

server addresses.

improved spelling

added standard parameterizations for Argon2 when supported.

  1. … 2 more files in changeset.
Disable tests to check for executables on the system

  1. … 7 more files in changeset.
improve spelling

  1. … 7 more files in changeset.
Document public api

refactor login cookie handling

The old code required repeated execption handlers.

Now, these exception handlers are on one place, and

users of sec_login_read_cookie can rely that a dict

is returned

added exception handler for sec_login_get_external_registry

This is necessary for cases, where no login cookie exists

don't assume, the oauth package is installed

  1. … 3 more files in changeset.
External identity provider reform (part 3)

- logout from external identity provider, if logged in via it

- extend default login page via ADP include, when external

identity providers are configured.

  1. … 5 more files in changeset.
External identity provider reform (part 2)

Use the external identity provider for refresh of logins. When a user

is logged in via an external identity provider, use the same identity

provider for a refresh when it expires. The expiration time is

controlled via the classical OpenACS parameters.

Note that in general, the same user might be authenticated via a

classical OpenACS authority (e.g. local authority) and/or via an

external one (e.g. Microsoft Identity Platform (Azure) or GitHub).

For single-sign-ons, when the token is still valid, the redirect to

the external identity provider does not mean necessarily that the use

is shown the external identity provider's login page.

  1. … 3 more files in changeset.
whitespace changes

Added preliminary support for secondary registries (e.g., MS Azure via oauth2)

- When login happened via external registry, the logout should happen

there as well.

- let "sec_login_read_cookie" return a dict instead of a list

(eases future extension)

- bump version number to 5.10.1d31

  1. … 1 more file in changeset.
improve spelling

  1. … 4 more files in changeset.
security::safe_tmpfile_p: fix false positive under macOS

This fixes as well the regression test for acs-tcl under macOS

provide an API for single-token signed values

Consider failures obtaining the token as failure to verify the value and report into the log file