Changes 1.4.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
1.4.19
Release Date: 2019-10-22
- Fixed plugin registration for aeChildClasses.
1.4.18
Release Date: 2019-10-22
-
-
Updated code causing SyntaxError with Python 3:
-
Avoid using type
long
. - Replaced ancient syntax when raising exceptions.
- Renamed module web2ldap.ldaputil.async to web2ldap.ldaputil.asynch.
-
Avoid string literals starting like
ur''
. - Removed unused code.
-
Avoid using type
- Added support for upcoming Æ-DIR attribute aeChildClasses.
1.4.17
Release Date: 2019-08-25
- Fixed lots of typos (thanks to Klemens).
- Pinned to use ldap0 0.2.7.
- More code-cleaning.
1.4.16
Release Date: 2019-07-15
- Changed path names for trusted CA certs in default configuration.
- Dropped dependency on certifi module.
1.4.15
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.
1.4.14
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).
1.4.13
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.
1.4.12
Release Date: 2019-06-02
- Fixed regression when displaying login form after failed SASL/GSSAPI bind.
-
Code changes after scanning with bandit:
- Removed non-functional use of pickle module.
- Module defusedxml is now optionally used for parsing XML attribute values to avoid various attack vectors.
1.4.11
Release Date: 2019-05-22
- Fixed plugin class for aRecord to generate correct filter string for searching PTR RRs.
1.4.10
Release Date: 2019-03-25
- Fixed setting env var LDAPNOINIT=1 early enough by later import of sub-module.
1.4.9
Release Date: 2019-03-20
- Added support for new Æ-DIR attribute aeRequires in aeSrvGroup entries.
1.4.8
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.
1.4.7
Release Date: 2019-02-16
- Correctly ignore empty DNS SRV RR when handling ldap0.NO_SUCH_OBJECT for dc-style DNs.
1.4.6
Release Date: 2019-02-14
- Fixed regression when displaying input form when for chasing referrals.
- Added some simple LDIF templates for MS AD.
1.4.5
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.
1.4.4
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.
1.4.3
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.
1.4.2
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.
1.4.1
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.
1.4.0
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.
New features/enhancements
-
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 wherever possible.
-
Module logging
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.
Fixes
- 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 features
- 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:
- web2ldap.mspki.vendorext.VerisignCZAG
- web2ldap.mspki.nsext
- 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 (filesetc/web2ldap/properties/*.properties.de
) were removed because a language mix does not look nice to beginners.