1.2|
1.1|
1.0|
0.16.x|
0.15.x|
0.14.x|
0.13.x|
0.12.x|
0.11.x|
0.10.x|
0.9.x|
0.8.x|
0.7.x|
Ancient|
Overview
1.2.19
Release Date: 2015-01-30
-
All remote IP addresses ever getting a session are counted.
-
The code maintaining session ID and remote IP associations was cleaned up.
-
Standard search form templates were overhauled. Redundant templates were
removed and more specific templates added (NIS, DNS, DHCP).
-
Empty search attribute type is simply ignored.
-
User interface of enabling/disabling extended controls was overhauled:
-
Controls can now be enabled/disabled with one click
(no separate <form>).
-
Per default only controls known in rootDSE are listed.
The list can be expanded with one click though.
-
Unknown controls are displayed striked instead of an X in a
separate table column. This also saves horizontal space.
-
Removed errornous handling of Values Sort Control.
1.2.18
Release Date: 2015-01-27
-
Fixed again generating input form values for associatedDomain.
-
Plugin class for associatedDomain now displays links to
search matching A RR entries for reverse DNS RR entries
(.in-addr.arpa).
-
Fixed regression when displaying error message in schema viewer.
-
New plugin classes for attribute types member and
memberOf.
1.2.17
Release Date: 2015-01-25
-
Implemented per remote IP session limits additionally to the global limit.
This requires new global parameter
session_per_ip_limit
to be set in your configuration.
-
OctetString values are now displayed as a proper hex-dump
with offset and ASCII excerpt.
-
Registered more Kerberos attribute types with Timespan
plugin class.
-
Fixed some small issues found with pychecker.
1.2.16
Release Date: 2015-01-22
-
Fixed plugin class registration bug which could lead to
IOError exception.
-
Major changes to displaying of search results:
-
Detailed view of search parameters and the export form is provided
at end of page. An intra-document link points to that section.
Mainly this saves vertical space at top of page.
-
An equivalent ldapsearch command-line is generated based
on the search parameters which is only compatible with OpenLDAP's
command-line tool though.
-
Some minor fixes in HTML markup.
-
More minor improvements in DIT browser.
-
Start of main <div> and top anchor are now part of
top_template.
This makes the top link always work independent of the CSS layout.
-
Small HTML fixes here and there.
1.2.15
Release Date: 2015-01-21
-
Added workaround in DIT browser for servers which return search results
for one-level search below an empty root DN.
-
Limits/error handling of DIT browser more robust now
(ldap.ADMINLIMIT_EXCEEDED etc.).
-
DIT_MAX_LEVELS is now enforced in DIT browser.
-
For the current selected DN the link is now for collapsing the sub-tree
(simply browse from parent entry).
-
Intra-document links are displayed in "Syntax check failed"
which point to the attribute's input field. This is helpful for the
user if HTML templates are used for input names without mentioning real
attribute names.
-
Some minor improvements to default CSS theme.
-
For all [Up] and [Down] links the advanced search form is used now.
1.2.14
Release Date: 2015-01-20
-
Added basic DIT browser reachable with [Tree] in main menu.
This is a rather useless feature if you have more than a handful of
entries. But many people seem to be keen to waste their time clicking
around in their web browser instead of using a proper search.
1.2.13
Release Date: 2015-01-19
-
Some minor changes to default CSS theme especially for smaller displays.
-
Fixed various subtle UnicodeError exceptions,
added more related assertions.
1.2.12
Release Date: 2015-01-18
-
Fixed UnicodeError exception when adding entries below a DN
with non-ASCII chars.
-
Finally a new default CSS theme was made (overdue for 1.2.x).
Hope you like it.
The old 1.1 CSS theme can still be found in file
white-on-green.css.
-
Added plugin class for sSHFPRecord.
-
Schema viewer now points to advanced search form for searching by
attribute type existence or object class.
-
When generating select fields for attribute types unnecessary sorting
is avoided, value uniqueness is ensured and sorting is done
case-insensitive.
-
All input HTML templates now make extensive use of <fieldset> and
<legend> tags instead of sub headings to group related input fields.
1.2.11
Release Date: 2015-01-15
-
Fixed unhandled exception when displaying dhcpStatement
value with no space-separated value.
-
Fixed generating input form values for associatedDomain.
-
Fixed/improved some HTML search form templates.
-
Added plugin class for mXRecord.
-
Added additional safety check for invalid key string in HTML template
dictionary.
-
Added example configuration snippet for accessing web2ldap running as
external FastCGI responder via lighttpd.
-
Added script
sbin/web2ldap_postinstall.sh
which adds demon
user/group, creates directories and fixes ownership/permissions.
-
Added select list plugin class for NIS attribute ipServiceProtocol.
-
Added inputform template for dNSDomain2.
-
Updated fallback schema file localschema.ldif.
-
HTTPS
links are used for all IETF docs, PyPI and Google code links.
-
Added HTML templates for object classes namedObject and
namedPolicy (defined in
draft-stroeder-namedobject)
-
Added HTML templates for object class groupOfNames.
1.2.10
Release Date: 2014-12-19
-
Fixed case-insensitive syntax checking of attribute dhcpHWAddress.
-
Added link for search PTR RR entry when displaying attributes
aRecord and aAAARecord.
-
Plugin class for associatedDomain now displays link to search
referencing DNS RR entries.
-
Improved suggesting reasonable input values for associatedDomain
based on domain entries with attributes
nSRecord or sOARecord found.
-
Added ssh-ed25519 to validation regex pattern for
sshPublicKey.
-
Plugin class for dhcpStatements and dhcpOptions
now displays link to search related DNS RR entries for DHCP options
host-name and fixed-address.
-
Env vars HTTP_X_REAL_IP, HTTP_FORWARDED_FOR,
HTTP_X_FORWARDED_FOR are derived from HTTP headers to get
the real client IP address when running in stand-alone mode behind a
proxy.
-
Many small improvements to docs, config examples and a new wrapper script around
spawn-fcgi
for running as a separate FastCGI process.
-
FastCGI process starts even when configured PID file cannot be written.
-
Added example configuration snippet for accessing web2ldap running as
external FastCGI responder via nginx.
1.2.9
Release Date: 2014-12-12
-
In case something goes wrong when reading LDIF templates the name of
the template is displayed in the error message.
-
Importing non-standard lib modules before extending sys.path
is now avoided.
-
Added LDIF template for entry with object class
olcModuleList (for OpenLDAP's back-config).
-
Added LDIF and HTML templates for various DHCP entries / object classes.
-
Added entryDN to HTML templates for structural object classes.
-
Registered multi-line plugin class for dhcpOption,
dhcpOptions and dhcpStatements.
-
Include more LAN types in regex for dhcpHWAddress.
-
Corrected installation instructions and current version number is used everywhere.
-
Error message is generated for a formerly unhandled exception when object
classes of an entry are completely unknown and users hits [Modify].
1.2.8
Release Date: 2014-12-01
-
Added preliminary support for bulk copying entries
based on search results (new checkbox in bulkmod).
Use with care!
-
Slightly improved support for OpenLDAP's back-config:
-
Moved templates to separate sub directory.
-
Fixed/improved LDIF and HTML templates for back-hdb.
-
New LDIF and HTML templates for back-mdb.
-
Plugin class for olcRootDn now derives form input value
from olcSuffix.
-
Added value for Windows 2012R2 to plugin class for
domainControllerFunctionality.
-
Added some Windows 2012R2 specific control and capabilities OIDs to
LDAP OID registry.
-
Added plugin module for the Univention Corporate Server
which does not contain much yet.
-
Registered attribute types krb5PrincipalName,
krb5RealmName and krb5Key with more suitable LDAP
syntax classes to make values displayable.
1.2.7
Release Date: 2014-11-28
-
New parameter
groupadm_optgroup_bounds
for defining the DN component slice to use to generate the
<optgroup> in group administration.
-
New plugin class for namingContexts displays link to search
accompanying OpenLDAP's database configuration entries.
-
Fixed unhandled exception when choosing printable output of search results.
-
Small improvements to plugin class for associatedDomain.
-
Added work-around to always ignore non-empty configuration value
requested_attrs
when cloning an entry.
1.2.6
Release Date: 2014-11-13
-
Added plugin class for AD attribute lockoutTime.
-
Fixed group administration exception in case attribute
objectClass of group entry is not present.
-
Fixed fallback to module ipaddr.
-
Fixed plugin class pseudo OIDs
IPHostAddress.oid and IPNetworkAddress.oid.
-
Improved plugin class for dhcpRange for checking against
network address specified in attributes cn/dhcpNetMask
and suggesting the whole range as default value.
-
Use posixAccount as default value for objectClass
when searching primary member entries of a posixGroup entry
by gidNumber.
1.2.5
Release Date: 2014-11-03
-
Fixed various regressions with extended control form handling introduced
in 1.2.2 when extending data structure in
ldapparams.AVAILABLE_BOOLEAN_CONTROLS.
-
Some minor HTML5 markup fixes/improvements.
1.2.4
Release Date: 2014-10-31
-
Plugin class for attribute x509issuer only uses normal DN
value check.
-
OID values with curly braces are now normalized to dotted IETF string
representation for OIDs.
-
Different plugin classes for IPv4 and IPv6 host and network addresses.
-
Started new plugin module for
dnsdomain2.schema.
1.2.3
Release Date: 2014-10-21
-
Disabled using "Don't Use Copy" control for now because
it's not gracefully handled in OpenLDAP MMR setups.
1.2.2
Release Date: 2014-10-21
-
Relaxed regex patterns for DNS-related attributes to allow underscore.
-
ldap.PROTOCOL_ERROR is now silently ignored when trying to
read the server's rootDSE.
- Fixed using the subentries extended control.
1.2.1
Release Date: 2014-10-09
-
Fixed sanitizing input values in case of equality search on
OctetString syntaxes.
1.2.0
Release Date: 2014-10-03
- Installation and configuration changes
-
The following changes to local system installation/configuration are
required:
- New features/enhancements
-
-
Implemented multi-session cookie handling with cross-checking
against web2ldap's session ID to prevent attacks in
case web server's access logs is not kept confidential.
Cookie usage is enabled by setting
cookie_length
to a non-zero cookie value length.
-
Now more TLS options can be set by using the more flexible
host-/backend-specific parameter
tls_options.
-
Input form entry data now processed in different steps to give
plugin classes access to more attributes in the different stages.
Especially there's a new method LDAPSyntax.transmute()
which has guaranteed access to the whole entry and will be called
several times if needed to make composing attributes values possible.
-
The sequence of keys used to determine HTML templates from
input_template and
read_template
is now first the single STRUCTURAL object class
followed by all non-STRUCTURAL object classes.
-
New context menu item [Clone] when displaying a single entry
leads to add form being displayed with the old entry used as
template.
-
HTTP headers pre-configured with
http_headers
are now consequently used for every HTTP response generated.
-
Bulk modification/moving of entries derived from search results.
New context menu item [Bulk modify] is shown when displaying search results.
-
Bulk deleting of entries derived from search results.
New context menu item [Delete] is shown when displaying search results.
-
New host-/backend-specific configuration parameter
schema_supplement
allows to extend the subschema with the content of a locally
installed LDIF file.
-
New host-/backend-specific configuration parameter
schema_strictcheck
to deal with buggy subschema in some LDAP servers (e.g.
issue #47811 in 389-DS).
-
Monitor page now shows maximum of concurrent sessions and how
many sessions were removed after timeout in the session counter
table.
-
New host-/backend-specific configuration parameter
naming_contexts
allows to set list of fake namingContexts values.
-
When starting in stand-alone mode the hostname in command-line
option -l is now fully honored to determine
SERVER_NAME and thus the cookie domain.
This works around a cookie issue with Google Chrome etc.
when listening just on 127.0.0.1. You can now add e.g.
localhost.localdomain to your /etc/hosts and set the
hostname with -l.
-
Plugin classes SelectList and friends now support
additional option title. In particular DynamicValueSelectList
looks for attributes description or info to
determine the option title.
-
Former configuration template files/snippets defined with
status_template, html_begin_template and
link_css are now all consolidated in one HTML template
top_template.
-
The redirect page can also be defined with a HTML template file referenced by
redirect_template.
-
Added OpenSearch example file.
-
"Don't Use Copy" control is used if readable in rootDSE
attribute supportedControl when reading an entry before
presenting modification input form.
OIDs from RFC 6171
and OpenLDAP experimental are supported.
- Dropped features
-
-
Support for normally unused parameter web2ldapcnf.misc.sec_expire
was removed also due to security issues with setting it to non-zero value.
-
Host-/backend-specific parameter now login_default_mech
obsolete. You can specify a default login mechanism in the HTML
template referenced by
login_template.
- Changes in the UI
-
-
Full bookmark links are now generated and added as link to
<head> section and in the displayed status area.
-
When choosing [Modify] from the context menu the entry input form
is shown directly.
-
The entry input form now provides [+] and [-] buttons for easier
input handling of multi-valued attributes.
-
The entry input form now provides a button [Classes] for changing
the set of chosen object classes.
-
New plugin class AuthzDN additionally displays a
description of the referenced entry. Registered for the
following attribute types:
- creatorsName
- modifiersName
- reqAuthzID
- monitorConnectionAuthzDN
-
If the user submitted a search form without assertion values the
same search form is re-displayed now.
-
When displaying search results the context menu now has a new
menu item [Modify Search] which allows to edit the search input
in an advanced search form if base or advanced search form was
used before.
-
No context menu anymore displayed along with input form for new entry.
-
When adding a new entry two different forms are available for
choosing the object classes:
-
Templates:
Displays a radio button list to choose from pre-configured
LDIF templates
-
Expert:
Displays multi-select lists for choosing the object classes
manually.
-
mailto: links only displayed along with search
results if not only partial results were retrieved. Adding a
mail address more than once is avoided.
- Bugs fixed
-
-
Better error handling when exporting data to e.g. avoid HTML
error messages appearing in LDIF export.
-
More graceful handling of errors when accessing a LDAP server
with very paranoid security settings (no anon bind, explicit
bind required, etc.).
- Security
-