If you don't have ctools enabled, the Server settings do not save correctly. The bind password in LdapServer->bindpw was always blank for me, until I looked at the code and enabled ctools.

This makes the module useless (difficult?) for anyone without ctools. This caused the discovery of: #1823670: LDAP Server: Server test form displays nothing on connection error

Source: LdapServerAdmin->save()

      if (module_exists('ctools')) {
        $result = ctools_export_crud_save('ldap_servers', $entry);
         ctools_export_load_object_reset('ldap_servers'); // ctools_export_crud_save doesn't invalidate cache
      else {
        $result = drupal_write_record('ldap_servers', $entry, 'sid');

Server and LDAP Module

OK Apache Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.6
OK PHP version 5.3.6
OK PHP ldap extension data LDAP Support: enabled
RCS Version: $Id: ldap.c 306939 2011-01-01 02:19:59Z felipe $
Total Links: 0/unlimited
API Version: 3001
Vendor Name: OpenLDAP
Vendor Version: 20411
Directive: Array
[0] => Local Value
[1] => Master Value

ldap.max_links: Array
[0] => Unlimited
[1] => Unlimited
OK mcrypt extension loaded yes
OK open ssl extension loaded yes
OK Drupal 7.16
OK ldap_servers status: 1, schema_version: 7112, v: unknown
OK ldap_authentication status: 0, schema_version: -1, v: unknown
OK ldap_authorization status: 0, schema_version: -1, v: unknown
OK ldap_authorization_drupal_role status: 0, schema_version: -1, v: unknown
OK ldap_authorization_og status: 0, schema_version: -1, v: unknown
OK ldap_feeds status: 0, schema_version: -1, v: unknown
OK ldap_query status: 0, schema_version: -1, v: unknown
OK ldap_sso status: 0, schema_version: -1, v: unknown
OK ldap_views status: 0, schema_version: -1, v: unknown

User Settings

OK Who can register accounts? Visitors, but administrator approval is required

General Settings

OK encryption No Encyption


OK status 0
OK ldap_type default
OK address ldaps://REMOVED:REMOVED
OK tls 0
OK bind_method Service Account Bind. Use credentials in following section to
bind to ldap. This option is usually a best practice. Service account is entered in next section.
OK basedn Array
OK binddn uid=School of REMOVED Drupal Lookup,ou=applications,dc=REMOVED,dc=edu
OK user_dn_expression
OK user_attr cn
OK account_name_attr
OK mail_attr
OK mail_template
OK unique_persistent_attr
OK unique_persistent_attr_binary 0
OK ldapToDrupalUserPhp
OK testingDrupalUsername
OK testingDrupalUserDn
OK groupFunctionalityUnused 0
OK groupObjectClass
OK groupNested 0
OK groupUserMembershipsAttrExists 0
OK groupUserMembershipsAttr
OK groupMembershipsAttr
OK groupMembershipsAttrMatchingUserAttr
OK groupDeriveFromDn 0
OK groupDeriveFromDnAttr
OK groupTestGroupDn
OK groupTestGroupDnWriteable
OK searchPagination 0
OK searchPageSize 1000
OK ldaps in address y
OK binddn present yes
OK basedn count 0
#1 1826400.patch659 bytesjohnbarclay


johnbarclay’s picture

Priority:Major» Critical
Status:Active» Needs review
new659 bytes

good catch. thanks. This was caused by breaking out some of the constructor work in LdapServer class in the 7.x-2.x branch. Attached is a patch which is also committed. Another symptom would be that encrypted server passwords would not function.

johnbarclay’s picture

Status:Needs review» Fixed

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.