• last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Enhanced security logging and debugging in security-procs.tcl

- Updated the internal log procedure to accept multiple arguments (using join) for more flexible logging.

- Replace several ns_log calls with ::security::log to standardize logging of session_id, login_cookie, timeout, and other events.

- Add additional log statements in critical functions (e.g. sec_handler, sec_setup_session, __ad_verify_signature, and CSRF token handling)

to provide better traceability of session allocation, cookie generation, session invalidation, and signature verification.

- Improve debug output for CSRF token generation and verification, including logging differences in computed hash values.

added debugging hook for tracing CSRF livecyle

improved log messages to pinpoint location and reason

  1. … 1 more file in changeset.
fixed variable name

provent passwords from form being logged via ad_log

ad_return_url: provide a positive list and a negative list for selecting included query variables

The new parameters follow the terminology of the "export_vars" command.

ad_return_url: new parameter "-exclude"

This change allows to exclude certain variables (which are e.g. considered as

confidential) from the form, which computes the return_url.

The change is based on a feature request in the OpenACS forums by Josue Cardona.

reapplied post 5-10 release fix

Many thanks to Claudio Pasolini for reporting and identifying the problem!

fixed bug security::validated_host_header

Many thanks to Claudio Pasolini for reporting and identifying the problem!

Fixed 2 bugs: with remote code repository

- fixed repository URL when trying to "install-from-repositry"

on a checkout from the HEAD channel. The code tried to fetch

from a channel "6-0", which does not exist.

- determine the exact repository tag for repository channels

  1. … 1 more file in changeset.
Ported essential post-release fixes from oacs-5-10 branch

  1. … 2 more files in changeset.
improved comments

Fixed bug in install-from-repository (issue #3472)

Install from repository (e.g., of /dotlrn) was horribly broken, see,

e.g., issue #3472. Furthermore, this bug was hard to debug, since it

showed up just during a complex installation attempts involving

install.xml, and it requires fetching from the repository. Therefore,

the debug rounds were quite time-consuming.

There were several problems involved:

1) dotlrn/install.xml was trying to set the theme to the

dotlrn-bootstrap3-theme, which was not loaded from the repository

2) The loading order was not correct, since the theme requires an

existing dotlrn instance to register the theme templates there.

3) The tests in install::xml::action::mount checking, if the package

was already mounted were incorrect, probably since many years. It

looks to me as some refactorings of the "get_node_id" semantics

(many years ago) were not reflected in this code. This bug let

the code assume, that the package was already mounted. Therefore,

the package was never mounted, causing a long tail of subsequent

issues.

4) the site_node::instantiate_and_mount call in

install::xml::action::mount was called with incorrect parameters,

causing overwriting of the site root node, leaving the site

completely unusable.

Bumped version number of acs-tcl to 5.10.2d1

fixed overquoting in "ad_progress_base_end"

fixed cut&paste problem

reset to released version to keep differences little

  1. … 1 more file in changeset.
keep theme-stetting for dotlrn themes in dotlrn, since it requires a dotlrn instance

but when the dotlrn is installed, it requires the dotlrn-theme package to be installed

  1. … 3 more files in changeset.
Continue working on the install.xml issue.

added more debugging info

undo one more recent change

undo recent change. This was not the problem

added debug statement

try to get a non-empty context id

added debugging line

Fixed incorrect result handling from ::acs::site_node get_node_id

When

::acs::site_node get_node_id -url /$mount_point

is executed with a non-existing mount point, the node info of the

parent_id is returned. The code assumed that for such cases, the

resulting "object_id" member is empty. Since this affects only the

two action procs

install::xml::action::mount

install::xml::action::mount-existing

i have adjusted the behavior there.

Furthermore, some tests are now less mind-twisted.

improved log messages

avoid triggering exception, when provided host header field cannot be resolved.

avoid error, when page_contract is called without an ns_set and without an open connection

Avoid calls to deprecated NaviServer functions

removed deprecated "ns_set new" by "ns_set create"