This release is a pre-release and may not be stable for production use.
redturtle.pasldap
This product is currently in development and highly experimental.
Its goal is to improve the performance and resilience of pas.plugins.ldap.
Some implementations may be debatable and have specific prerequisites and conditions.
We strongly recommend reviewing the code and its implemented functionalities carefully before using this product. — or not using it at all. :)
Features
- Check the pas.plugins.ldap configuration for best practices, such as read/connection timeouts, memcached usage, handling many users, etc.
- Log LDAP queries to investigate long processing times and unnecessary operations (ensure passwords are not logged for security).
- Make LDAP operations resilient by persistently caching certain queries (opinionated suggestion).
- Intercept errors such as "Problems getting group_ids!" caused by misconfigurations.
- During testing I saw some call to enumerateUsers with
criteria:{'id': 'user@example.com*'} exact_match:False, ... - ...
We need a profile installation here? (maybe not)
We need restapi here? (maybe not)
pas.plugins.ldap hidden gems
LDAP_ERROR_LOG_TIMEOUT = float(
os.environ.get("PAS_PLUGINS_LDAP_ERROR_LOG_TIMEOUT", 300.0)
)
LDAP_LONG_RUNNING_LOG_THRESHOLD = float(
os.environ.get("PAS_PLUGINS_LDAP_LONG_RUNNING_LOG_THRESHOLD", 5.0)
)
Installation
Install redturtle.pasldap with pip:
pip install redturtle.pasldap
And to create the Plone site:
make create_site
Development
Local ldap server:
cd tests/docker-test-openldap
docker compose build
docker compose up
Verify that ldap is working:
LDAPTLS_REQCERT=never ldapsearch -H ldap://localhost:10389 -ZZ -x -b "ou=people,dc=planetexpress,dc=com" -D "cn=admin,dc=planetexpress,dc=com" -w GoodNewsEveryone "(objectClass=inetOrgPerson)"
make buil-dev
PLONE_REGISTRY_YAML=tests/docker-test-openldap/regenv.yaml LDAPTLS_REQCERT=never make start
Contribute
License
The project is licensed under GPLv2.
Credits and Acknowledgements 🙏
Crafted with care by Generated using Cookieplone (0.8.2) and cookiecutter-plone (d9b5293) on 2025-01-15 23:35:38.896932. A special thanks to all contributors and supporters!
Contributors
- RedTurtle [mauro.amico@redturtle.it]
1.0.0a4 (2026-08-12)
No significant changes.
1.0.0a4 (unreleased)
- Nothing changed yet.
1.0.0a3 (2025-10-07)
- add "Anonymous User" to the reserved userids list @mamico
- False positives in local_groups check @mamico
1.0.0a2 (2025-01-27)
Metadata
Release files for redturtle.pasldap 1.0.0a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| redturtle_pasldap-1.0.0a4.tar.gz | 25.3 kB | Without provenance | Details for redturtle_pasldap-1.0.0a4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| redturtle_pasldap-1.0.0a4-py3-none-any.whl | Python 3 | none | any | Details for redturtle_pasldap-1.0.0a4-py3-none-any.whl |
Total release size: 51.8 kB
Release files / redturtle_pasldap-1.0.0a4.tar.gz
| Download URL | redturtle_pasldap-1.0.0a4.tar.gz |
|---|---|
| Size | 25.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a7d306e05291a732083bf828d158db030e6e86de646b78949bc6f94550bd40b
|
|
BLAKE2b-256 checksum How to use checksums |
60b062452c5717c404c05842994e596b52af6c6101291223b5ca52ed412004ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Release files / redturtle_pasldap-1.0.0a4-py3-none-any.whl
| Download URL | redturtle_pasldap-1.0.0a4-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f9e867238a7a7570f84b6d2674d5e12bb091a4a744edfac9bf4d9dbc98a4a0a
|
|
BLAKE2b-256 checksum How to use checksums |
8ea4716741dbec734778ba9a02d0924ef0e02cdc8ccdc959e3110dd77200004c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Security for redturtle.pasldap 1.0.0a4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.