]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/modify.c
Remove lint
[openldap] / servers / slapd / modify.c
index 2089bff88341b9d8b76dfd5964e3547a11b8a072..e2086b81a517f61c69390b54a6140314133e394f 100644 (file)
@@ -252,8 +252,13 @@ do_modify(
         * if we don't hold it.
         */
        if ( (be = select_backend( ndn, manageDSAit )) == NULL ) {
+               struct berval **ref = referral_rewrite( default_referral,
+                       NULL, dn, LDAP_SCOPE_DEFAULT );
+
                send_ldap_result( conn, op, rc = LDAP_REFERRAL,
-                       NULL, NULL, default_referral, NULL );
+                       NULL, NULL, ref ? ref : default_referral, NULL );
+
+               ber_bvecfree( ref );
                goto cleanup;
        }
 
@@ -337,9 +342,15 @@ do_modify(
 #ifndef SLAPD_MULTIMASTER
                /* send a referral */
                } else {
+                       struct berval **defref = be->be_update_refs
+                               ? be->be_update_refs : default_referral;
+                       struct berval **ref = referral_rewrite( defref,
+                               NULL, dn, LDAP_SCOPE_DEFAULT );
+
                        send_ldap_result( conn, op, rc = LDAP_REFERRAL, NULL, NULL,
-                               be->be_update_refs ? be->be_update_refs : default_referral,
-                               NULL );
+                               ref ? ref : defref, NULL );
+
+                       ber_bvecfree( ref );
 #endif
                }
        } else {
@@ -541,7 +552,7 @@ int slap_mods_opattrs(
        if( op->o_tag == LDAP_REQ_ADD ) {
                mod = (Modifications *) ch_calloc( 1, sizeof( Modifications ) );
                mod->sml_op = mop;
-               mod->sml_desc = ad_dup( slap_schema.si_ad_creatorsName );
+               mod->sml_desc = slap_schema.si_ad_creatorsName;
                mod->sml_bvalues = (struct berval **) malloc( 2 * sizeof( struct berval * ) );
                mod->sml_bvalues[0] = ber_bvdup( &name );
                mod->sml_bvalues[1] = NULL;
@@ -551,7 +562,7 @@ int slap_mods_opattrs(
 
                mod = (Modifications *) ch_calloc( 1, sizeof( Modifications ) );
                mod->sml_op = mop;
-               mod->sml_desc = ad_dup( slap_schema.si_ad_createTimestamp );
+               mod->sml_desc = slap_schema.si_ad_createTimestamp;
                mod->sml_bvalues = (struct berval **) malloc( 2 * sizeof( struct berval * ) );
                mod->sml_bvalues[0] = ber_bvdup( &timestamp );
                mod->sml_bvalues[1] = NULL;
@@ -561,7 +572,7 @@ int slap_mods_opattrs(
 
        mod = (Modifications *) ch_calloc( 1, sizeof( Modifications ) );
        mod->sml_op = mop;
-       mod->sml_desc = ad_dup( slap_schema.si_ad_modifiersName );
+       mod->sml_desc = slap_schema.si_ad_modifiersName;
        mod->sml_bvalues = (struct berval **) malloc( 2 * sizeof( struct berval * ) );
        mod->sml_bvalues[0] = ber_bvdup( &name );
        mod->sml_bvalues[1] = NULL;
@@ -570,7 +581,7 @@ int slap_mods_opattrs(
 
        mod = (Modifications *) ch_calloc( 1, sizeof( Modifications ) );
        mod->sml_op = mop;
-       mod->sml_desc = ad_dup( slap_schema.si_ad_modifyTimestamp );
+       mod->sml_desc = slap_schema.si_ad_modifyTimestamp;
        mod->sml_bvalues = (struct berval **) malloc( 2 * sizeof( struct berval * ) );
        mod->sml_bvalues[0] = ber_bvdup( &timestamp );
        mod->sml_bvalues[1] = NULL;