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.
-
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 (files
etc/web2ldap/properties/*.properties.de
)
were removed because a language mix does not look nice
to beginners.