ss_ldappasswd

ss_ldappasswd - the utility to let users change their passwords doesn't work with Ldap Version 3. This is a clean 'patch' to enable v3. Note that ss_ldappasswd is not very verbose, it doesn't say 'can't connect to ldap_server because of the wrong ldap version (I found that out by tcpdumping the ldap server), but it says 'incorrect old password' :)

Insert the code within the ### to force version 3:

if (!extension_loaded('ldap')) {
  $content = $fail.$this->pi_getLL('ldap_unsupported');
  return $content;
}
### Version 3 Patch #### 
if (!ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
  echo "Failed to set protocol version to 3";
}
### /// Version 3 Patch /// ###     
if (!($ldapconn = ldap_connect($ldapUrl))) {
  $content = $fail.$this->pi_getLL('ldap_connect_failed');
  return $content;
}