Changes 0.8.x
History of released versions
1.8 / 1.7 / 1.6 / 1.5 / 1.4 / 1.3 / 1.2 / 1.1 / 1.0 / 0.16 / 0.15 / 0.14 / 0.13 / 0.12 / 0.11 / 0.10 / 0.9 / 0.8 / 0.7 / Ancient / Overview
0.8.3
Release Date: 2001-01-28
- Added input field for search root in connect input form.
- Check if user tries 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).
0.8.2
Release Date: 2001-01-18
-
Code cleaning:
- 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 wherever possible.
- Fixed displaying cRLDistributionPoints.distributionPoint.fullName as proper URL link when displaying HTML.
-
Bug fixes:
- 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.
0.8.1
Release Date: 2000-12-20
-
Bug fixes:
- 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.
0.8.0
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 explicitly 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. -
Compatibility issues:
-
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.
-
Code cleaning:
- 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.
-
Bug fixes:
- Correct handling of DNs with quoted comma.
- Some code was too case-sensitive with handling attribute type names.
- Fixed some compatibility 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.