From: Howard Chu Date: Sat, 11 Nov 2000 03:01:00 +0000 (+0000) Subject: Set outbound connection to use the same protocol version as the inbound. X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~1648 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e2ff92c6fc18dddd771a1e0c4e46b015eed2dc4a;p=openldap Set outbound connection to use the same protocol version as the inbound. --- diff --git a/servers/slapd/back-ldap/bind.c b/servers/slapd/back-ldap/bind.c index 921bbe0cdc..bd1af5af8b 100644 --- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -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;