]> git.sur5r.net Git - openldap/commitdiff
assume operations with version set to 0 are internal, and use LDAPv3
authorPierangelo Masarati <ando@openldap.org>
Thu, 15 Dec 2005 11:39:46 +0000 (11:39 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 15 Dec 2005 11:39:46 +0000 (11:39 +0000)
servers/slapd/back-ldap/bind.c

index b9be36a40825d824983394b93f06ab1665dd7309..0531d46f5933cefd1c49b783aab5fa1720d2178c 100644 (file)
@@ -336,7 +336,7 @@ retry:;
                                                rc = ldap_install_tls( ld );
 
                                        } else if ( rc == LDAP_REFERRAL ) {
-                                               rc = LDAP_OTHER;
+                                               rc = LDAP_UNWILLING_TO_PERFORM;
                                                *text = "unwilling to chase referral returned by Start TLS exop";
                                        }
 
@@ -415,6 +415,10 @@ ldap_back_prepare_conn( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_bac
        /* Set LDAP version. This will always succeed: If the client
         * bound with a particular version, then so can we.
         */
+       if ( vers == 0 ) {
+               /* assume it's an internal op; set to LDAPv3 */
+               vers = LDAP_VERSION3;
+       }
        ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, (const void *)&vers );
 
        /* automatically chase referrals ("[dont-]chase-referrals" statement) */