Diff for /servers/slapd/back-ldap/modrdn.c between versions 1.38.2.11 and 1.38.2.12

version 1.38.2.11, 2007/01/02 21:44:02 version 1.38.2.12, 2007/01/05 09:47:10
Line 1 Line 1
 /* modrdn.c - ldap backend modrdn function */  /* modrdn.c - ldap backend modrdn function */
 /* $OpenLDAP: pkg/ldap/servers/slapd/back-ldap/modrdn.c,v 1.38.2.10 2006/09/26 12:54:26 ando Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-ldap/modrdn.c,v 1.38.2.11 2007/01/02 21:44:02 kurt Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 1999-2007 The OpenLDAP Foundation.   * Copyright 1999-2007 The OpenLDAP Foundation.
Line 36  ldap_back_modrdn( Line 36  ldap_back_modrdn(
                 Operation       *op,                  Operation       *op,
                 SlapReply       *rs )                  SlapReply       *rs )
 {  {
         ldapinfo_t      *li = (ldapinfo_t *)op->o_bd->be_private;          ldapinfo_t              *li = (ldapinfo_t *)op->o_bd->be_private;
   
         ldapconn_t      *lc;          ldapconn_t              *lc = NULL;
         ber_int_t       msgid;          ber_int_t               msgid;
         LDAPControl     **ctrls = NULL;          LDAPControl             **ctrls = NULL;
         int             do_retry = 1;          ldap_back_send_t        retrying = LDAP_BACK_RETRYING;
         int             rc = LDAP_SUCCESS;          int                     rc = LDAP_SUCCESS;
         char            *newSup = NULL;          char                    *newSup = NULL;
   
         lc = ldap_back_getconn( op, rs, LDAP_BACK_SENDERR );          if ( !ldap_back_dobind( &lc, op, rs, LDAP_BACK_SENDERR ) ) {
         if ( !lc || !ldap_back_dobind( lc, op, rs, LDAP_BACK_SENDERR ) ) {  
                 return rs->sr_err;                  return rs->sr_err;
         }          }
   
Line 75  ldap_back_modrdn( Line 74  ldap_back_modrdn(
   
 retry:  retry:
         ctrls = op->o_ctrls;          ctrls = op->o_ctrls;
         rc = ldap_back_proxy_authz_ctrl( lc, op, rs, &ctrls );          rc = ldap_back_proxy_authz_ctrl( &lc->lc_bound_ndn,
                   li->li_version, &li->li_idassert, op, rs, &ctrls );
         if ( rc != LDAP_SUCCESS ) {          if ( rc != LDAP_SUCCESS ) {
                 send_ldap_result( op, rs );                  send_ldap_result( op, rs );
                 rc = -1;                  rc = -1;
Line 86  retry: Line 86  retry:
                         op->orr_newrdn.bv_val, newSup,                          op->orr_newrdn.bv_val, newSup,
                         op->orr_deleteoldrdn, ctrls, NULL, &msgid );                          op->orr_deleteoldrdn, ctrls, NULL, &msgid );
         rc = ldap_back_op_result( lc, op, rs, msgid,          rc = ldap_back_op_result( lc, op, rs, msgid,
                 li->li_timeout[ LDAP_BACK_OP_MODRDN ], LDAP_BACK_SENDRESULT );                  li->li_timeout[ SLAP_OP_MODRDN ],
         if ( rs->sr_err == LDAP_SERVER_DOWN && do_retry ) {                  ( LDAP_BACK_SENDRESULT | retrying ) );
                 do_retry = 0;          if ( rs->sr_err == LDAP_SERVER_DOWN && retrying ) {
                   retrying &= ~LDAP_BACK_RETRYING;
                 if ( ldap_back_retry( &lc, op, rs, LDAP_BACK_SENDERR ) ) {                  if ( ldap_back_retry( &lc, op, rs, LDAP_BACK_SENDERR ) ) {
                         /* if the identity changed, there might be need to re-authz */                          /* if the identity changed, there might be need to re-authz */
                         (void)ldap_back_proxy_authz_ctrl_free( op, &ctrls );                          (void)ldap_back_proxy_authz_ctrl_free( op, &ctrls );

Removed from v.1.38.2.11  
changed lines
  Added in v.1.38.2.12


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org