Release Date: 2001-01-28
- Added input field for search root in connect input form.
- Check if user trys to do ModRDN on empty DN.
- Try to locate a LDAP host for a DN or DNS domain with various methods (see draft-ietf-ldapext-ldap-taxonomy).
- New parameter dir_listing_allowed for HTTP server (stand-alone mode).
Release Date: 2001-01-18
- More clean-ups of exception handling in w2lhandler.py.
- Do a separate DNS lookup of LDAP host name which leads to a cleaner exception handling and error message being more meaningful to user.
- Fixed displaying the DN of deleted entries. The parent DN was displayed instead of the entry's DN.
- Solely use the new string methods of Python 2.0 and abandoned importing string module whereever possible.
- Fixed displaying cRLDistributionPoints.distributionPoint.fullName as proper URL link when displaying HTML.
- Display empty DN as - World - in status line.
- Fixed building modify list when LDAP server is handling attribute types case-respecting.
- Function ldapbase.SearchTree() properly returns list of Unicode objects now. Affects recursive deletes.
- Fixed missing parameter when raising cgiforms.formContentLengthException.
- Somewhat fixed handling of creating modlist's with binary attributes involved.
Release Date: 2000-12-20
- Wrong regex pattern for select lists in cgiforms.py fixed.
- Some select fields did not use the right charset.
- Fixed displaying displayName attribute.
- Fixed ldapbase.SplitRDN() (affected modrdn command).
- Default of modrdn input field was displayed as HTML.
- Proper handling of UTF-8 characters in namingContexts attribute of RootDSE.
- Handling of form data more robust.
- Corrected handling of RDNs when DN has only one component.
- Avoid any LDAP operations before first bind.
Release Date: 2000-12-02
- Nice displaying of certificate and CRL attributes including certificate extensions if at least sub-module asn1 of Pisces is installed on the system (automatically detected). Credits go to Jeremy Hylton for his work on the ASN.1 parser and helping me understanding it.
- New parameter web2ldapcnf.hosts.ldap_def['timeout'] for specifying a timeout (seconds) for search operations.
- Login not longer mandantory at beginning of session. User can explictly bind after connecting to server.
- Avoid making a LDAP connection when not necessary (e.g. when displaying add form).
- Displayed LDAP URLs are all URL-quoted now and handling of LDAP URLs stored in attribute is more robust and smarter.
- Some efforts were done to browse global directories in a reasonable manner.
Simple support for direct use of LDAP URLs (short hack):
[web2ldap URL]/ldapurl?[LDAP URL]
will display the entry or do a search.
- Gracefully handling of exceptions which make a re-login of a user necessary: ldap.INSUFFICIENT_ACCESS, ldap.INVALID_CREDENTIALS, ldap.INAPPROPRIATE_AUTH etc. User can re-login and retry command.
Smarter handling of LDAPv3 referrals: Instead of relying on the
referral handling of the underlying lib the referral exceptions
are caught and the user is prompted for new bind DN / password
for connecting to the referred host and repeat the action before
the referral was received.
Credits go to Konstantin Chuguev for patching python-ldap to do correct error handling when result() method is called.
web2ldap now makes use of the new Unicode features introduced
in recent Python versions because the handling of different character
encoding is faster and cleaner.
=> You have to upgrade your Python installation at least to version 2.0.
- For cleaner exception handling python-ldap prior to 1.8 is not longer supported since the ldap.LDAPError exception base class is used now. This affects mainly the Windows platform since I do not know of pre-compiled python-ldap version later than 1.5. Feel free to contribute!
- Moved parameters web2ldapcnf.misc.search_attrsonly and web2ldapcnf.misc.search_attrs to web2ldapcnf.hosts.ldap_def. You have to adjust your local configuration files!
- web2ldap now makes use of the new Unicode features introduced in recent Python versions because the handling of different character encoding is faster and cleaner.
- All LDAP-related strings are internally handled as Unicode string types.
- Handle more input field stuff with the fine cgiforms module.
- LDAP session objects. First step towards session handling with pickeable session objects.
- Simplified many function calls into module w2lcore.
- All exception handling of LDAP errors is done in module w2lhandler except exceptions which needs special handling in a specific context.
- Correct handling of DNs with quoted comma.
- Some code was too case-sensitive with handling attribute type names.
- Fixed some compability issues with Python 1.6+.
- Fixed some vCard issues. Still not perfect but usable most times.
- Correct handling of special characters when putting together LDAP filter string (RFC 2254).
- Fixed typo in main exception handling.