Diff for /servers/slapd/back-bdb/modrdn.c between versions 1.63.2.13 and 1.63.2.14

version 1.63.2.13, 2003/02/09 16:31:37 version 1.63.2.14, 2003/02/26 15:17:50
Line 1 Line 1
 /* modrdn.c - bdb backend modrdn routine */  /* modrdn.c - bdb backend modrdn routine */
 /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.86 2003/02/07 14:47:32 jongchoi Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.63.2.13 2003/02/09 16:31:37 kurt Exp $ */
 /*  /*
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 108  retry: /* transaction retry */ Line 108  retry: /* transaction retry */
                 rc = TXN_ABORT( ltid );                  rc = TXN_ABORT( ltid );
                 ltid = NULL;                  ltid = NULL;
                 op->o_private = NULL;                  op->o_private = NULL;
                   op->o_do_not_cache = opinfo.boi_acl_cache;
                 if( rc != 0 ) {                  if( rc != 0 ) {
                         rc = LDAP_OTHER;                          rc = LDAP_OTHER;
                         text = "internal error";                          text = "internal error";
Line 141  retry: /* transaction retry */ Line 142  retry: /* transaction retry */
         opinfo.boi_txn = ltid;          opinfo.boi_txn = ltid;
         opinfo.boi_locker = locker;          opinfo.boi_locker = locker;
         opinfo.boi_err = 0;          opinfo.boi_err = 0;
           opinfo.boi_acl_cache = op->o_do_not_cache;
         op->o_private = &opinfo;          op->o_private = &opinfo;
   
         /* get entry */          /* get entry */
Line 191  retry: /* transaction retry */ Line 193  retry: /* transaction retry */
         /* check write on old entry */          /* check write on old entry */
         rc = access_allowed( be, conn, op, e, entry, NULL, ACL_WRITE, NULL );          rc = access_allowed( be, conn, op, e, entry, NULL, ACL_WRITE, NULL );
   
         switch( opinfo.boi_err ) {  
         case DB_LOCK_DEADLOCK:  
         case DB_LOCK_NOTGRANTED:  
                 goto retry;  
         }  
   
         if ( ! rc ) {          if ( ! rc ) {
                   switch( opinfo.boi_err ) {
                   case DB_LOCK_DEADLOCK:
                   case DB_LOCK_NOTGRANTED:
                           goto retry;
                   }
   
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
                 LDAP_LOG ( OPERATION, ERR,                   LDAP_LOG ( OPERATION, ERR, 
                         "==>bdb_modrdn: no access to entry\n", 0, 0, 0 );                          "==>bdb_modrdn: no access to entry\n", 0, 0, 0 );
Line 277  retry: /* transaction retry */ Line 279  retry: /* transaction retry */
                         children, NULL, ACL_WRITE, NULL );                          children, NULL, ACL_WRITE, NULL );
   
                 if ( ! rc ) {                  if ( ! rc ) {
                           switch( opinfo.boi_err ) {
                           case DB_LOCK_DEADLOCK:
                           case DB_LOCK_NOTGRANTED:
                                   goto retry;
                           }
   
                         rc = LDAP_INSUFFICIENT_ACCESS;                          rc = LDAP_INSUFFICIENT_ACCESS;
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
                         LDAP_LOG ( OPERATION, ERR,                           LDAP_LOG ( OPERATION, ERR, 
Line 329  retry: /* transaction retry */ Line 337  retry: /* transaction retry */
                                 p = NULL;                                  p = NULL;
   
                                 if ( ! rc ) {                                  if ( ! rc ) {
                                           switch( opinfo.boi_err ) {
                                           case DB_LOCK_DEADLOCK:
                                           case DB_LOCK_NOTGRANTED:
                                                   goto retry;
                                           }
   
                                         rc = LDAP_INSUFFICIENT_ACCESS;                                          rc = LDAP_INSUFFICIENT_ACCESS;
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
                                         LDAP_LOG ( OPERATION, ERR,                                           LDAP_LOG ( OPERATION, ERR, 
Line 468  retry: /* transaction retry */ Line 482  retry: /* transaction retry */
                                 NULL, ACL_WRITE, NULL );                                  NULL, ACL_WRITE, NULL );
   
                         if( ! rc ) {                          if( ! rc ) {
                                   switch( opinfo.boi_err ) {
                                   case DB_LOCK_DEADLOCK:
                                   case DB_LOCK_NOTGRANTED:
                                           goto retry;
                                   }
   
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
                                 LDAP_LOG ( OPERATION, DETAIL1,                                   LDAP_LOG ( OPERATION, DETAIL1, 
                                         "==>bdb_modrdn: no wr to newSup children\n", 0, 0, 0 );                                          "==>bdb_modrdn: no wr to newSup children\n", 0, 0, 0 );
Line 531  retry: /* transaction retry */ Line 551  retry: /* transaction retry */
                                         np = NULL;                                          np = NULL;
   
                                         if ( ! rc ) {                                          if ( ! rc ) {
                                                   switch( opinfo.boi_err ) {
                                                   case DB_LOCK_DEADLOCK:
                                                   case DB_LOCK_NOTGRANTED:
                                                           goto retry;
                                                   }
   
                                                 rc = LDAP_INSUFFICIENT_ACCESS;                                                  rc = LDAP_INSUFFICIENT_ACCESS;
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
                                                 LDAP_LOG ( OPERATION, ERR,                                                   LDAP_LOG ( OPERATION, ERR, 
Line 621  retry: /* transaction retry */ Line 647  retry: /* transaction retry */
                 goto return_results;                  goto return_results;
         }          }
   
 #ifdef NEW_LOGGING  
         LDAP_LOG ( OPERATION, ERR,   
                 "bdb_modrdn: new ndn=%s does not exist\n", new_ndn.bv_val, 0, 0 );  
 #else  
         Debug( LDAP_DEBUG_TRACE,  
                 "bdb_modrdn: new ndn=%s does not exist\n",  
                 new_ndn.bv_val, 0, 0 );  
 #endif  
   
         /* Get attribute type and attribute value of our new rdn, we will          /* Get attribute type and attribute value of our new rdn, we will
          * need to add that to our new entry           * need to add that to our new entry
          */           */
Line 745  retry: /* transaction retry */ Line 762  retry: /* transaction retry */
                 &text, textbuf, textlen );                  &text, textbuf, textlen );
   
         if( rc != LDAP_SUCCESS ) {          if( rc != LDAP_SUCCESS ) {
                   if ( ( rc == LDAP_INSUFFICIENT_ACCESS ) && opinfo.boi_err ) {
                           rc = opinfo.boi_err;
                   }
                 switch( rc ) {                  switch( rc ) {
                 case DB_LOCK_DEADLOCK:                  case DB_LOCK_DEADLOCK:
                 case DB_LOCK_NOTGRANTED:                  case DB_LOCK_NOTGRANTED:

Removed from v.1.63.2.13  
changed lines
  Added in v.1.63.2.14


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