Diff for /servers/slapd/back-ldap/modrdn.c between versions 1.28 and 1.28.2.2

version 1.28, 2003/04/07 14:52:59 version 1.28.2.2, 2003/12/15 22:05:24
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.27 2003/04/07 10:53:00 ando Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-ldap/modrdn.c,v 1.28.2.1 2003/12/01 00:58:40 kurt Exp $ */
 /*  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.  
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file  
  */  
 /* This is an altered version */  
 /*  
  * Copyright 1999, Howard Chu, All rights reserved. <hyc@highlandsun.com>  
  *   
  * Permission is granted to anyone to use this software for any purpose  
  * on any computer system, and to alter it and redistribute it, subject  
  * to the following restrictions:  
  *   
  * 1. The author is not responsible for the consequences of use of this  
  *    software, no matter how awful, even if they arise from flaws in it.  
  *   
  * 2. The origin of this software must not be misrepresented, either by  
  *    explicit claim or by omission.  Since few users ever read sources,  
  *    credits should appear in the documentation.  
  *   
  * 3. Altered versions must be plainly marked as such, and must not be  
  *    misrepresented as being the original software.  Since few users  
  *    ever read sources, credits should appear in the documentation.  
  *   
  * 4. This notice may not be removed or altered.  
  *   *
    * Copyright 1999-2003 The OpenLDAP Foundation.
    * Portions Copyright 1999-2003 Howard Chu.
    * Portions Copyright 2000-2003 Pierangelo Masarati.
    * All rights reserved.
  *   *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted only as authorized by the OpenLDAP
    * Public License.
  *   *
  * Copyright 2000, Pierangelo Masarati, All rights reserved. <ando@sys-net.it>   * A copy of this license is available in the file LICENSE in the
  *    * top-level directory of the distribution or, alternatively, at
  * This software is being modified by Pierangelo Masarati.   * <http://www.OpenLDAP.org/license.html>.
  * The previously reported conditions apply to the modified code as well.   */
  * Changes in the original code are highlighted where required.  /* ACKNOWLEDGEMENTS:
  * Credits for the original code go to the author, Howard Chu.   * This work was initially developed by the Howard Chu for inclusion
    * in OpenLDAP Software and subsequently enhanced by Pierangelo
    * Masarati.
  */   */
   
 #include "portable.h"  #include "portable.h"
Line 54  ldap_back_modrdn( Line 40  ldap_back_modrdn(
         struct ldapconn *lc;          struct ldapconn *lc;
         ber_int_t msgid;          ber_int_t msgid;
         dncookie dc;          dncookie dc;
   #ifdef LDAP_BACK_PROXY_AUTHZ 
           LDAPControl **ctrls = NULL;
           int rc = LDAP_SUCCESS;
   #endif /* LDAP_BACK_PROXY_AUTHZ */
   
         struct berval mdn = { 0, NULL }, mnewSuperior = { 0, NULL };          struct berval mdn = { 0, NULL }, mnewSuperior = { 0, NULL };
   
Line 98  ldap_back_modrdn( Line 88  ldap_back_modrdn(
                 return -1;                  return -1;
         }          }
   
   #ifdef LDAP_BACK_PROXY_AUTHZ
           rc = ldap_back_proxy_authz_ctrl( lc, op, rs, &ctrls );
           if ( rc != LDAP_SUCCESS ) {
                   goto cleanup;
           }
   #endif /* LDAP_BACK_PROXY_AUTHZ */
   
         rs->sr_err = ldap_rename( lc->ld, mdn.bv_val,          rs->sr_err = ldap_rename( lc->ld, mdn.bv_val,
                         op->orr_newrdn.bv_val, mnewSuperior.bv_val,                          op->orr_newrdn.bv_val, mnewSuperior.bv_val,
                         op->orr_deleteoldrdn, op->o_ctrls,                          op->orr_deleteoldrdn,
   #ifdef LDAP_BACK_PROXY_AUTHZ
                           ctrls,
   #else /* ! LDAP_BACK_PROXY_AUTHZ */
                           op->o_ctrls,
   #endif /* ! LDAP_BACK_PROXY_AUTHZ */
                         NULL, &msgid );                          NULL, &msgid );
   
   #ifdef LDAP_BACK_PROXY_AUTHZ
   cleanup:
           if ( ctrls && ctrls != op->o_ctrls ) {
                   free( ctrls[ 0 ] );
                   free( ctrls );
           }
   #endif /* LDAP_BACK_PROXY_AUTHZ */
   
         if ( mdn.bv_val != op->o_req_dn.bv_val ) {          if ( mdn.bv_val != op->o_req_dn.bv_val ) {
                 free( mdn.bv_val );                  free( mdn.bv_val );
         }          }
Line 110  ldap_back_modrdn( Line 120  ldap_back_modrdn(
                 && mnewSuperior.bv_val != op->oq_modrdn.rs_newSup->bv_val ) {                  && mnewSuperior.bv_val != op->oq_modrdn.rs_newSup->bv_val ) {
                 free( mnewSuperior.bv_val );                  free( mnewSuperior.bv_val );
         }          }
           
   #ifdef LDAP_BACK_PROXY_AUTHZ
           if ( rc != LDAP_SUCCESS ) {
                   send_ldap_result( op, rs );
                   return -1;
           }
   #endif /* LDAP_BACK_PROXY_AUTHZ */
   
         return( ldap_back_op_result( lc, op, rs, msgid, 1 ) );          return( ldap_back_op_result( lc, op, rs, msgid, 1 ) );
 }  }
   

Removed from v.1.28  
changed lines
  Added in v.1.28.2.2


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