# 0.12.5

Release Date: 2004-03-17

- Strictly use constants from module ldap when evaluating the search result types in w2lapp.search. This fixes a compatibility issue with fixes in upcoming python-ldap 2.0.0pre20+ related to backward compatibility issues with the OpenLDAP 2.2 libs.

# 0.12.4

Release Date: 2004-02-19

- The schema viewer displays all attribute types which use a certain matching rule.

# 0.12.3

Release Date: 2004-01-22

- Template-based input forms similar to what is done with read_template's when displaying a single entry (see option input_template). Unfortunately this does not allow fine-tuned HTML design but it's a start.
- Fixed an error related to disabling cleanUpThread during shutdown.
- Apply HTML entity escaping when displaying attribute types in modify lists to fix a potential security hole (CSS attack).
- Apply HTML entity escaping when displaying error messages in the referral handler to fix a potential security hole (CSS attack).
- New form parameter search_opattrs used to let the user specify whether all operational attributes should be requested or not.
- Added support for setting LAN Manager hash password for Samba/LDAP in attribute lmPassword or sambaLMPassword (needs pycrypto).
- The LDAP URLs in the status on top of each page and in the search results contain bindname LDAP URL extension if not bound anonymously.
- New form parameter passwd_settimesync used to let the user specify whether the password set time is set when changing password(s).
- Appropriate error handling for search references / referrals with an URI which is not a LDAP URL.

# 0.12.2

Release Date: 2003-11-30

- Extracted session handling into new application module w2lapp.session.
- Decoupled cyclic importing of w2lapp.cnf and w2lapp.core which confused pychecker.
- Tons of small fixes for issues found with pychecker.

# 0.12.1

Release Date: 2003-11-12

- Allow hyphens in attribute type input fields.

# 0.12.0

Release Date: 2003-11-11

Installation and Configuration changes
  - Note: This release requires upgrading to PyWebLib 1.3.0!
  - Note: This release requires upgrading to python-ldap 2.0.0pre15+!
  - New script `sbin/checkinst.py` for checking installation prerequisites.
  - pycrypto can be alternatively used for generating MD4 hashes for Samba NT passwords (ntPassword/sambaNTPassword).
New features/enhancements
  - Experimental support for file upload of single-valued binary attributes, e.g. jpegPhoto or userCertificate.
  - Experimental support for setting password in Active Directory (attribute unicodePwd).
  - Added <label> tag to entry input form.
  - w2lapp.groupadm: Full DNs are displayed in group selection fields.
  - Added universal title attribute to a lot of HTML tags to have sort of a bubble-help in browsers which support that.
  - When processing RDN during adding entry the form `'OID.<oid>'` the RDN attribute type is normalized to `'<oid>'`.
  - If no subschema is available from server (e.g. when connected to LDAPv2 server) the link text for entering schema browser in context menu is "Browse Local Schema" to indicate that a locally defined schema is displayed.
  - The password-syncing for Samba is now checked by attribute types instead of object classes. This seems more robust and extensible in regard to future changes of the Samba schema. Support for setting Samba V3 attributes sambaNTPassword and sambaPwdLastSet has been added.
  - After having successfully changed password all the password-related attribute types (not values!) which were (re-)set are displayed.
  - Even more inherited schema element properties are displayed.
  - Added input field for navigating to a single entry by DN in [ConnInfo].
  - Added HTTP header `Content-Disposition: inline; filename=...` when generating export output for specifying the default file name.
  - Added vCard template file for object class organization.
  - DIT content rules extracted from sub schema sub entry attribute dITContentRules are displayed in schema viewer.
Bug Fixes
  - Relaxed handling of attribute types not present in schema when generating entry input form.
  - Removed false extra check when catching ldap.PROTOCOL_ERROR on LDAPv2 servers in ldapsession.LDAPSession._supportedLDAPVersion().
  - Allow characters "*" and "+" in form parameter search_attrs.
  - Fixed compatibility problems with Python versions prior to 2.2.
  - vCard template is processed line by line: If no attribute is present needed for a certain line the line is dropped to avoid problems with vCard parsers not capable of handling empty values.
  - When setting the password in w2lapp.passwd the presence of attributes in subschema is now correctly checked by OID instead of attribute type name.
  - Corrected handling of inherited syntaxes when displaying attribute values or input fields.
  - Fixed charset handling for X.500 DNs in certificate parser.
  - Whitespaces are stripped from object class and attribute type names used in groupadm_defs.
  - Solved Python 2.3 compatibility issues in modules ipadr, mspki, w2lapp.conninfo.
  - Repaired the handling of empty hostport part in LDAP URLs regarding SRV DNS RR lookup.
  - CleanUpThread instance again created in all start-up scripts to avoid problems with os.setuid() when started by user root.