Skip to content
Commits on Oct 6, 2012
  1. Release 0.49

  2. add examples for Active Directory

    Add examples for MS Active Directory
    - how to create account and groups
    - how to search for accounts & groups using the
      LDAP_MATCHING_RULE_BIT_AND matching rule
Commits on Oct 3, 2012
  1. add methods is_AD & is_ADAM

    Add methods to determine whether an LDAP server is an AD,
    so that the AD specific methods can be used.
Commits on Sep 28, 2012
  1. canonicalize host name with ldapi://

    Having the host name canonicalized allows one to call start_tls()
    with option verify => 'require', which does hostname checking.
    Confirmed to work for Quanah.
  2. don't try to set errors on undefined objects

    When disconnecting, make sure the set_error() method is called only
    on defined objects
    Author: Howard Wilkinson <>
    Originally sent in via private mail to Graham Barr:
     Date: 20.06.2012 13:06
     From: Howard Wilkinson <>
     To: gbarr <>
     Reply to:
     However, the DESTROY is still being called and killing the error
     messages - so this could do with being added to the package.
     ---    2012-06-20 12:02:36.000000000 +0100
     +++     2012-06-20 12:03:01.000000000 +0100
     @@ -902,6 +902,7 @@
       if (my $msgs = delete $self->{net_ldap_mesg}) {
         foreach my $mesg (values %$msgs) {
     +     next unless (defined $mesg);
           $mesg->set_error($err, $etxt);
Commits on Sep 21, 2012
  1. extend ldap_explode_dn() for RFC 4514

    Extend ldap_explode_dn() to also parse DNs that conform to RFC 4514.
    This way ldap_explode_dn() is rather lax in checking what it allows or not,
    but tries to make sense of as much DNs as possible.
      - only spaces ignored around attribute value instead of \s
      - NUL (U+0000) not allowed unquoted in attribute value
      - sharp/square/octothorpe (U+0023) allowed unquoted unless at first position
      - equal sign (U+003D) allowed unquoted in attribute value
      - space (U+0020) allowed to be quoted by \\ in a quoted pair
    Test cases adapted accordingly.
Commits on Sep 20, 2012
  1. Release 0.48

  2. Merge marschap/next into next

  3. fix bug in escape_dn_value()

    The original implementation replaced any leading & trailing whitespace
    with '\20', the replacement for SPACE (U+0020).
    This could lead to tabulators, newlines, ... being wrongly replaced by '\20'.
    This commit fixes the issue.
Commits on Sep 18, 2012
  1. FAQ.pod: updates

    * mark questions as such, i.e. with a question mark
    * consistent naming of perl-ldap: lowercase
  2. LWP/Protocol/ respond with requested MIME type

    Instead of answering with the simplistic faked MIME type 'text/FORMAT',
    get the mime type from the HTTP Accept header, and use it in the response's
    HTTP Content-Type header.
  3. Changes: fix typo

  4. tests with server: don't fail on undefined $SLAPD_MODULE_DIR

    Define $SLAPD_MODULE_DIR in t/ in case it is not defined in my.cfg or
  5. fix typo in comment

  6. with encode => 'canonical', do mbcescape DNs

    Better standard conformance when writing LDIFs with the encode option set to
    'canonical': encode multi-octet UTF-8 sequences as sequences of hexpairs,
    each preceded by a backslash.
  7. tests with server: updated OpenLDAP schema files

    Updated OpenLDAP schema files to those of OpenLDAP 2.4.32.
    While at it, I added the missing data/openldap.schema.
  8. tests with server: updated for recent OpenLDAP & cleanup

    * make 'bdb' the default for $SLAPD_DB
    * rename OpenLDAP-specific variables to $SLAPD_...
    * require LDAPv3 support
    * add variable $SLAPD_MODULE_DIR for dynamcally loaded modules
    * rename config template to data/
    * rename config used to $TEMPDIR/slapd.conf
  9. Extension/ polish ASN.1 definition

    Use OCTET STRING in ASN.1 definition instead of STRING,
    and add comment on the intended data.
  10. Extension/ polish ASN.1 definition

    Use OCTET STRING in ASN.1 definition instead of STRING,
    and add comment on the intended data.
  11. adapt to RFC 4511

    * remove AttributeType
    * replace AttributeDescriptionList to AttributeSelection
    * introduce PartialAttribute
    * rename LDAPURL to URI
    * replace AttributeTypeAndValues by PartialAttribute
    In addition, clean up alignment a bit, and remove trailing spaces.
Something went wrong with that request. Please try again.