/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2011 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
{
Operation op = {0};
Opheader oph;
- SlapReply rs = {REP_RESULT};
int rc, i;
unsigned j;
Connection *conn = NULL;
op.o_req_dn = op.o_req_ndn;
op.orm_modlist = modlist;
-retry_dontUseCopy:;
- rc = op.o_bd->be_modify( &op, &rs );
+ for (;;) {
+ SlapReply rs = {REP_RESULT};
+ rc = op.o_bd->be_modify( &op, &rs );
#ifdef SLAP_AUXPROP_DONTUSECOPY
- if ( dontUseCopy &&
- rs.sr_err == LDAP_UNAVAILABLE &&
- slap_dontUseCopy_ignore )
- {
- op.o_bd = dontUseCopy_bd;
- op.o_dontUseCopy = SLAP_CONTROL_NONE;
- dontUseCopy = 0;
- goto retry_dontUseCopy;
- }
+ if ( dontUseCopy &&
+ rs.sr_err == LDAP_UNAVAILABLE &&
+ slap_dontUseCopy_ignore )
+ {
+ op.o_bd = dontUseCopy_bd;
+ op.o_dontUseCopy = SLAP_CONTROL_NONE;
+ dontUseCopy = 0;
+ continue;
+ }
#endif /* SLAP_AUXPROP_DONTUSECOPY */
+ break;
+ }
}
}
slap_mods_free( modlist, 1 );
/* EXTERNAL */
if( op->orb_cred.bv_len ) {
- rs->sr_text = "proxy authorization not support";
+ rs->sr_text = "proxy authorization not supported";
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
send_ldap_result( op, rs );