Skip to content

Conversation

@kakwa
Copy link
Owner

@kakwa kakwa commented Mar 12, 2024

No description provided.

kakwa and others added 30 commits February 7, 2018 19:52
- Switch from base64 to URL encoding for the passing the URL, using the built-in Mako filtering
- Apply HTML filtering to Mako output by default
- Disable HTML filtering for nested templates in adduser, modify, and selfmodify
Protect against XSS vulnerabilities in URL redirection
- Use markupsafe to format escaped HTML fragments
- Correct the formatting problems introduced with the XSS fixes
Escape form values with markupsafe
The templates were html escaping the generated js code for the
autofill and the role management. This was breaking these features.
It's okay to not escape these as they are coming from a trusted source
(configuration file).

Also make the templates python3 compatible (not need to import Set in
python 3)
Sets are not available in mako templates when using python3.
Reverting to using lists with 'if not in' checks to avoid duplication.
* changes in urllib imports since quote_plus in urllib with python 2 and
in urllib.parse in python 3
* changes in imports for Sets since set is a native type in python 3 and
doesn't requires an import
* fix in __import__, '-1' level for module path discovery is not supported
anymore, switching to 0 (absolute import only).
* switch from script to entry_points in setup.py
* move the cli script in ldapcherry (to be used as a module)
* put the __main__ code in a dedicated function constituting the entry
point
* add a few python3 environments in travis file
kakwa added 29 commits February 9, 2019 19:09
Now the escaping is done by in the templates.
We need to remove the previous escaping done by hand in the code.
Otherwise, we end-up with double escaping and funky displaying of
fields.
The id of the user is passed through the querystring in this page.
But the id was not properly escaped to be included as a querystring
parameter leading to weird issues like.
Debug mode can lead to log sensitive data (like password changes).
Having -D to log exclusively to stderr is a safer option.
previously, the default logger was passed, this logger was using the
default configuration and log level, not honoring log level in
particular.
As a consequence, it was impossible to get debug logs from the backend.
This is now working as expected.
* improve documentation for key: True flag in attributes.yml
* improve documentation for the ldap filters and their templating
* improve comment in the .ini file
pre-cleanup to avoid contamination if other tests fail
* pass additional information in a dictionary (the type)
* manage multiple declaration of a given backend attribute (content
could be lists, not only a lonely string)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants