mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-05 14:42:10 -05:00
fix proxyAuthz oid setup
This commit is contained in:
parent
c32e182c56
commit
f834cdb2f7
1 changed files with 9 additions and 2 deletions
|
|
@ -2393,11 +2393,14 @@ ldap_back_proxy_authz_ctrl(
|
|||
goto done;
|
||||
}
|
||||
|
||||
ctrl->ldctl_oid = LDAP_CONTROL_PROXY_AUTHZ;
|
||||
|
||||
switch ( si->si_mode ) {
|
||||
/* already in u:ID or dn:DN form */
|
||||
case LDAP_BACK_IDASSERT_OTHERID:
|
||||
case LDAP_BACK_IDASSERT_OTHERDN:
|
||||
ber_dupbv_x( &ctrl->ldctl_value, &assertedID, op->o_tmpmemctx );
|
||||
rs->sr_err = LDAP_SUCCESS;
|
||||
break;
|
||||
|
||||
/* needs the dn: prefix */
|
||||
|
|
@ -2408,6 +2411,7 @@ ldap_back_proxy_authz_ctrl(
|
|||
AC_MEMCPY( ctrl->ldctl_value.bv_val, "dn:", STRLENOF( "dn:" ) );
|
||||
AC_MEMCPY( &ctrl->ldctl_value.bv_val[ STRLENOF( "dn:" ) ],
|
||||
assertedID.bv_val, assertedID.bv_len + 1 );
|
||||
rs->sr_err = LDAP_SUCCESS;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -2435,6 +2439,8 @@ ldap_back_proxy_authz_ctrl(
|
|||
goto free_ber;
|
||||
}
|
||||
|
||||
rs->sr_err = LDAP_SUCCESS;
|
||||
|
||||
free_ber:;
|
||||
op->o_tmpfree( authzID.bv_val, op->o_tmpmemctx );
|
||||
ber_free_buf( ber );
|
||||
|
|
@ -2475,6 +2481,9 @@ free_ber:;
|
|||
goto free_ber2;
|
||||
}
|
||||
|
||||
ctrl->ldctl_oid = LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ;
|
||||
rs->sr_err = LDAP_SUCCESS;
|
||||
|
||||
free_ber2:;
|
||||
op->o_tmpfree( authzID.bv_val, op->o_tmpmemctx );
|
||||
ber_free_buf( ber );
|
||||
|
|
@ -2482,8 +2491,6 @@ free_ber2:;
|
|||
if ( rs->sr_err != LDAP_SUCCESS ) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
ctrl->ldctl_oid = LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ;
|
||||
}
|
||||
|
||||
done:;
|
||||
|
|
|
|||
Loading…
Reference in a new issue