]> git.sur5r.net Git - openldap/commitdiff
Kludge - set conn->c_sasl_bindop before calling slap_sasl_getdn, otherwise
authorHoward Chu <hyc@openldap.org>
Sun, 16 Feb 2003 12:23:00 +0000 (12:23 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 16 Feb 2003 12:23:00 +0000 (12:23 +0000)
op->o_threadctx is inaccessible.

servers/slapd/controls.c

index c4b726d79b62da009749adae3cd40267125cc3b1..a22876bce807ade792a98f33b48dad46d26dd935 100644 (file)
@@ -520,6 +520,7 @@ static int parseProxyAuthz (
 {
        int rc;
        struct berval dn = { 0, NULL };
+       Operation *tmp;
 
        if ( op->o_proxy_authz != SLAP_NO_CONTROL ) {
                *text = "proxy authorization control specified multiple times";
@@ -567,9 +568,12 @@ static int parseProxyAuthz (
                return LDAP_SUCCESS;
        }
 
+       tmp = conn->c_sasl_bindop;
+       conn->c_sasl_bindop = op;
        rc = slap_sasl_getdn( conn,
                ctrl->ldctl_value.bv_val, ctrl->ldctl_value.bv_len,
                NULL, &dn, SLAP_GETDN_AUTHZID );
+       conn->c_sasl_bindop = tmp;
 
        if( rc != LDAP_SUCCESS || !dn.bv_len ) {
                if ( dn.bv_val ) {