]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/delete.c
add a giant mutex around the ldapinfo structure to serialize chaining (need to check...
[openldap] / servers / slapd / back-ldap / delete.c
index 3d6575be57c9153453c57d0a167635f690c72627..4c615b5e487c5d67f96c26ae38888efc92093024 100644 (file)
@@ -45,15 +45,14 @@ ldap_back_delete(
        lc = ldap_back_getconn( op, rs, LDAP_BACK_SENDERR );
        
        if ( !lc || !ldap_back_dobind( lc, op, rs, LDAP_BACK_SENDERR ) ) {
-               rc = -1;
-               goto cleanup;
+               return rs->sr_err;
        }
 
        ctrls = op->o_ctrls;
        rc = ldap_back_proxy_authz_ctrl( lc, op, rs, &ctrls );
        if ( rc != LDAP_SUCCESS ) {
                send_ldap_result( op, rs );
-               rc = -1;
+               rc = rs->sr_err;
                goto cleanup;
        }
 
@@ -71,5 +70,9 @@ retry:
 cleanup:
        (void)ldap_back_proxy_authz_ctrl_free( op, &ctrls );
 
+       if ( lc != NULL ) {
+               ldap_back_release_conn( op, rs, lc );
+       }
+
        return rc;
 }