In the DIGEST-MD5 case, the final server SASL response is transported in the final bindResponse indicating LDAP_SUCCESS. Patch from Paul Kranenburg
"synchronize", instead of attempting to use an undefined value as a HASH reference. Original change from Mike Dorman <firstname.lastname@example.org>
Essentially this is a valueless control that's passed in to various operations (bind, modify, set_password make sense) and the server is then able to return richer error and warning information in a returned control. I've done some preliminary testing against Isode M-Vault, and it seems to work OK.
Patch by Alex Bramley
to build the argument list for Net::LDAP->moddn() correctly. Having the attributes undef in this case, allows using the logic of Net::LDAP->update() for error handling or setting defaults.