Index: b/dirmngr/dirmngr_ldap.c =================================================================== --- b/dirmngr/dirmngr_ldap.c +++ b/dirmngr/dirmngr_ldap.c @@ -641,6 +641,18 @@ /* Fixme: Can we use MYOPT->user or is it shared with other theeads?. */ ret = my_ldap_simple_bind_s (ld, myopt->user, myopt->pass); npth_protect (); +#ifdef LDAP_VERSION3 + if (ret == LDAP_PROTOCOL_ERROR) + { + int version = LDAP_VERSION3; + /* Protocol error could mean that the server only supports v3 */ + npth_unprotect (); + log_debug ("Protocol error, retrying bind with V3 Protocol. \n"); + ldap_set_option (ld, LDAP_OPT_PROTOCOL_VERSION, &version); + ret = my_ldap_simple_bind_s (ld, myopt->user, myopt->pass); + npth_protect (); + } +#endif if (ret) { log_error (_("binding to '%s:%d' failed: %s\n"),