Release Date: 2019-07-xx
- Fixed lots of typos (thanks to Klemens).
Release Date: 2019-07-15
- Changed path names for trusted CA certs in default configuration.
- Dropped dependency on certifi module.
Release Date: 2019-07-13
- Simplified syntax checking in Æ-DIR plugin class for attribute memberUid.
- New plugin class DerefDynamicDNSelectList is meant as drop-in replacement for DynamicDNSelectList which improves caching behaviour with multi-valued attributes. This requires the LDAP server to support the Dereference Control.
- Various Æ-DIR plugin classes now use new base class DerefDynamicDNSelectList.
Release Date: 2019-07-09
- Æ-DIR plugin classes for attributes member, memberUid and rfc822MailMember now empties attribute value list in case aeStatus is set to archived (2).
Release Date: 2019-06-26
- Some more code-cleaning.
- Fixed plugin class DHCPConfigStatement to generate correct links for searching dNSZone entries.
- A new consolidated function to determine remote hostname or address avoids to accept an empty string.
- Removed wrong Type= lines from example systemd units.
Release Date: 2019-06-02
- Fixed regression when displaying login form after failed SASL/GSSAPI bind.
- Code changes after scanning with bandit:
Release Date: 2019-05-22
- Fixed plugin class for aRecord to generate correct filter string for searching PTR RRs.
Release Date: 2019-03-25
- Fixed setting env var LDAPNOINIT=1 early enough by later import of sub-module.
Release Date: 2019-03-20
- Added support for new Æ-DIR attribute aeRequires in aeSrvGroup entries.
Release Date: 2019-02-22
- Correctly display a form field for attribute memberUid in case no LDAP URL is set in plugin class attribute for searching members.
Release Date: 2019-02-16
- Correctly ignore empty DNS SRV RR when handling ldap0.NO_SUCH_OBJECT for dc-style DNs.
Release Date: 2019-02-14
- Fixed regression when displaying input form when for chasing referrals.
- Added some simple LDIF templates for MS AD.
Release Date: 2019-02-13
- Regression fix for AD-specific plugin class for objectSID.
- Now multiple values are accepted for form parameter read_expandattr. So the user can manually choose which attributes are displayed with expanded value lists.
Release Date: 2019-02-11
- Fixed superfluous session creation.
- More CSS tuning for varying display size based on CSS media queries.
- Submit button in add/modify input form has now text [Save] especially to distinguish it from [Modify] in context menu.
- Some classes now use base class LogHelper for output of class-/instance-specific log prefix.
Release Date: 2019-02-06
- More small UI changes and CSS tuning.
- Display the parent DN in LDIF template select screen if no matching template was found for parent's object classes.
Release Date: 2019-01-31
- CSS tuning to make user interface look more breezy, save horizontal space and more elastic rendering depending on current window width.
- Dropped displaying operational attributes with extra HTML template because it looked very confusing and could not be improved. You have to remove host-/site-specific the obsolete parameter read_operationalattrstemplate from your config module web2ldapcnf.hosts.
- Stripped down basic search form for Æ-DIR.
- Stripped displayed attributes from inputform_supentrytemplate for Æ-DIR because the multiple lines were confusing.
- Fixed assertion raised because of missing encoding step in plugin class for aeNwDevice.
Release Date: 2019-01-28
- Fixed plugin class Integer not to use hard-coded regex pattern when creating input field.
- Fixed plugin class for Æ-DIR attribute aeStatus to gracefully handle empty value string in attribute aeNotBefore.
Release Date: 2019-01-27
Installation and configuration changes
- Site-specific configuration is now checked during startup for valid option names and their type. So you have to clean up your old configuration not to contain any obsolete parameter.
- Mandates update of module ldap0.
- Dropped external dependency on separate module package pyweblib because it is now partially shipped as internal package web2ldap.web.
- Configuration parameter web2ldapcnf.hosts.ldap_uri_list now must contain list of 2-tuples of Unicode strings.
- Because of internal API changes custom plugins have to be changed.
- Some renaming in CSS identifiers to save network bandwidth when displaying many search results. Thus custom CSS files must be updated.
Web2LDAPConfig instances defined and web2ldapcnf.hosts
now have a method
.clone()which gives even more flexibility for defining configuration items.
- New site-specific configuration parameter binddn_mapping is used for specifying bind DN mappings with an LDAP URL. Especially it allows statically derived bind DNs without LDAP search.
- [ConnInfo] shows max. 30 of the last search bases used before.
- Bulk-copying entries is now more efficient.
- All DN information is now always request-specific (formerly session-specific). This improves user experience when navigating in multiple browser tabs.
- HTML5 attribute pattern is set for <input> tags in case the plugin class has class attribute input_pattern.
Heavy code-cleaning including fixing of various minor bugs:
- pylint score (default config) is now 8.16 which is a huge gain in code quality especially compared to -16.33 of last release 1.3.38
- Compliance to PEP-8
- Changed some optional imports to mandatory dependencies
- Handling the password policy response controls (see draft-behera-ldap-password-policy) is now done within module package ldap0.
- Class ldap0.schema.models.SchemaElementOIDSet used whereever possible.
used instead of sys.stderr.write() for writing log messages.
- Improved exception logging.
- Debug logging of form class registrations.
- Debug logs and warnings during plugin registrations.
- Debug logging of session handling.
- System environment, Python interpreter, etc.
- Tree viewer now correctly uses configuration parameters dit_*.
- Removed some dangerous mutable default values used for key-word arguments.
- Many small fixes along code-cleaning which are not worth to be mentioned separately.
- Dropped support for running on Windows.
- Removed the separate web2ldap-checkinst console script. Module requirements checking is now done via pip installation anyway and some installation information is logged during startup.
- Removed configuration parameter web2ldapcnf.sec_sslacceptedciphers.
- Removed site-specific configuration parameter search_tablistattrs because the generic parameter search_tdtemplate is much more useful anyway.
- Replaced site-specific configuration parameter binddnsearch by more flexible parameter binddn_mapping.
- Hunked out non-functional code for handling "Authorization Identity Request and Response Controls" (see RFC 3829).
- Dropped login form parameter login_filterstr. The user can search for an entry and use link [Bind as] from the context menu.
Removed obsolete X.509 certificate extension parser classes:
- Removed the tool tips from [Read] link of displayed search results because tool tips in general are not helpful for better UX. Better performance, less network traffic is much more important.
For now all german HTML templates (files
etc/web2ldap/templates/*.html.de) and select list properties (files
etc/web2ldap/properties/*.properties.de) were removed because a language mix does not look nice to beginners.