Diff for /servers/slapd/overlays/refint.c between versions 1.7.2.9 and 1.7.2.10

version 1.7.2.9, 2006/01/03 22:16:25 version 1.7.2.10, 2006/05/11 17:04:27
Line 1 Line 1
 /* refint.c - referential integrity module */  /* refint.c - referential integrity module */
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/refint.c,v 1.7.2.8 2005/11/26 23:54:52 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/refint.c,v 1.7.2.9 2006/01/03 22:16:25 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 2004-2006 The OpenLDAP Foundation.   * Copyright 2004-2006 The OpenLDAP Foundation.
Line 468  refint_response( Line 468  refint_response(
   
         for(ip = id->attrs, ac = 0; ip; ip = ip->next, ac++);          for(ip = id->attrs, ac = 0; ip; ip = ip->next, ac++);
         if(!ac) {          if(!ac) {
                 rs->sr_err = LDAP_OTHER;                  Debug( LDAP_DEBUG_TRACE,
                 rs->sr_text = "refint_response called without any attributes";                          "refint_response called without any attributes\n", 0, 0, 0 );
                 return SLAP_CB_CONTINUE;                  return SLAP_CB_CONTINUE;
         }          }
   
Line 483  refint_response( Line 483  refint_response(
   
         if(nop.o_bd) {          if(nop.o_bd) {
                 if (!nop.o_bd->be_search || !nop.o_bd->be_modify) {                  if (!nop.o_bd->be_search || !nop.o_bd->be_modify) {
                         rs->sr_err = LDAP_UNWILLING_TO_PERFORM;                          Debug( LDAP_DEBUG_TRACE,
                         rs->sr_text = "backend missing search and/or modify";                                  "refint_response: backend missing search and/or modify\n",
                                   0, 0, 0 );
                         return SLAP_CB_CONTINUE;                          return SLAP_CB_CONTINUE;
                 }                  }
         } else {          } else {
                 rs->sr_err = LDAP_OTHER;                  Debug( LDAP_DEBUG_TRACE,
                 rs->sr_text = "no known backend? this shouldn't be happening!";                          "refint_response: no backend for our baseDN %s??\n",
                           id->dn.bv_val, 0, 0 );
                 return SLAP_CB_CONTINUE;                  return SLAP_CB_CONTINUE;
         }          }
   
Line 580  refint_response( Line 582  refint_response(
         dd.nnewdn.bv_val = NULL;          dd.nnewdn.bv_val = NULL;
   
         if(rc != LDAP_SUCCESS) {          if(rc != LDAP_SUCCESS) {
                 rs->sr_err = nrs.sr_err;                  Debug( LDAP_DEBUG_TRACE,
                 rs->sr_text = "refint_response search failed";                          "refint_response: search failed: %d\n",
                           rc, 0, 0 );
                 goto done;                  goto done;
         }          }
   
         /* safety? paranoid just in case */          /* safety? paranoid just in case */
         if(!cb.sc_private) {          if(!cb.sc_private) {
                 rs->sr_err = LDAP_OTHER;                  Debug( LDAP_DEBUG_TRACE,
                 rs->sr_text = "whoa! refint_response callback wiped out sc_private?!";                          "refint_response: callback wiped out sc_private?!\n",
                           0, 0, 0 );
                 goto done;                  goto done;
         }          }
   
Line 625  refint_response( Line 629  refint_response(
                 nop.o_req_ndn   = dp->dn;                  nop.o_req_ndn   = dp->dn;
                 nop.o_bd = select_backend(&dp->dn, 0, 1);                  nop.o_bd = select_backend(&dp->dn, 0, 1);
                 if(!nop.o_bd) {                  if(!nop.o_bd) {
                         rs->sr_err = LDAP_OTHER;                          Debug( LDAP_DEBUG_TRACE,
                         rs->sr_text = "this should never happen either!";                                  "refint_response: no backend for DN %s!\n",
                                   dp->dn.bv_val, 0, 0 );
                         goto done;                          goto done;
                 }                  }
                 nrs.sr_type     = REP_RESULT;                  nrs.sr_type     = REP_RESULT;
Line 637  refint_response( Line 642  refint_response(
                 nop.o_ndn = nop.o_bd->be_rootndn;                  nop.o_ndn = nop.o_bd->be_rootndn;
                 if(rs->sr_err != LDAP_SUCCESS) goto done;                  if(rs->sr_err != LDAP_SUCCESS) goto done;
                 if((rc = nop.o_bd->be_modify(&nop, &nrs)) != LDAP_SUCCESS) {                  if((rc = nop.o_bd->be_modify(&nop, &nrs)) != LDAP_SUCCESS) {
                         rs->sr_err = nrs.sr_err;                          Debug( LDAP_DEBUG_TRACE,
                         rs->sr_text = "dependent modify failed";                                  "refint_response: dependent modify failed: %d\n",
                                   nrs.sr_err, 0, 0 );
                         goto done;                          goto done;
                 }                  }
         }          }

Removed from v.1.7.2.9  
changed lines
  Added in v.1.7.2.10


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