]> git.sur5r.net Git - openldap/commitdiff
Set outbound connection to use the same protocol version as the inbound.
authorHoward Chu <hyc@openldap.org>
Sat, 11 Nov 2000 03:01:00 +0000 (03:01 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 11 Nov 2000 03:01:00 +0000 (03:01 +0000)
servers/slapd/back-ldap/bind.c

index 921bbe0cdce751de0d66a2ebfae3c6eff33ee000..bd1af5af8b727e49ad0825de2f03ca5b124ca885 100644 (file)
@@ -74,6 +74,7 @@ ldap_back_getconn(struct ldapinfo *li, Connection *conn, Operation *op)
 
        /* Looks like we didn't get a bind. Open a new session... */
        if (!lc) {
+               int vers = conn->c_protocol;
                int err = ldap_initialize(&ld, li->url);
                if (err != LDAP_SUCCESS) {
                        err = ldap_back_map_result(err);
@@ -81,6 +82,11 @@ ldap_back_getconn(struct ldapinfo *li, Connection *conn, Operation *op)
                                NULL, "ldap_init failed", NULL, NULL );
                        return( NULL );
                }
+               /* Set LDAP version. This will always succeed: If the client
+                * bound with a particular version, then so can we.
+                */
+               ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &vers);
+
                lc = (struct ldapconn *)ch_malloc(sizeof(struct ldapconn));
                lc->conn = conn;
                lc->ld = ld;