]> git.sur5r.net Git - openldap/commitdiff
More dn_normalize -> dnNormalize changes
authorKurt Zeilenga <kurt@openldap.org>
Fri, 28 Dec 2001 07:41:52 +0000 (07:41 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 28 Dec 2001 07:41:52 +0000 (07:41 +0000)
servers/slapd/back-ldbm/alias.c
servers/slapd/back-ldbm/cache.c

index e78fb6c53705088e5be6361618223a898fc93ef6..36ae6869e22a6d0d4cecd1e5b7a6ef55da998fdc 100644 (file)
@@ -219,9 +219,12 @@ static char* get_alias_dn(
        int *err,
        const char **errmsg )
 {      
+       int rc;
        char *dn;
+       struct berval *ndn = NULL;
        Attribute *a;
-       AttributeDescription *aliasedObjectName = slap_schema.si_ad_aliasedObjectName;
+       AttributeDescription *aliasedObjectName
+               = slap_schema.si_ad_aliasedObjectName;
 
        a = attr_find( e->e_attrs, aliasedObjectName );
 
@@ -252,15 +255,15 @@ static char* get_alias_dn(
                return NULL;
        }
 
-       dn = ch_strdup( a->a_vals[0]->bv_val );
-
-       if( dn_normalize(dn) == NULL ) {
-               ch_free( dn );
+       rc = dnNormalize( NULL, a->a_vals[0], &ndn );
+       if( rc != LDAP_SUCCESS ) {
                *err = LDAP_ALIAS_PROBLEM;
                *errmsg = "alias aliasedObjectName value is invalid";
                return NULL;
        }
 
+       dn = ndn->bv_val;
+       free( ndn );
        return dn;
 }
 
index d9a7c65149495b686b960cafeae76b794db9e0f0..3f03c66081af5329d94bcfcfec7dc06941d3e41f 100644 (file)
@@ -574,16 +574,22 @@ cache_find_entry_dn2id(
     const char         *dn
 )
 {
-       char                    *ndn;
-       ID                      id;
+       int rc;
+       struct berval bv;
+       struct berval *ndn = NULL;
+       ID id;
 
-       ndn = ch_strdup( dn );
-       (void) dn_normalize( ndn );
+       bv.bv_val = dn;
+       bv.bv_len = strlen( dn );
 
-       id = cache_find_entry_ndn2id( be, cache, ndn );
+       rc = dnNormalize( NULL, &bv, &ndn );
+       if( rc != LDAP_SUCCESS ) {
+               return NOID;
+       }
 
-       free( ndn );
+       id = cache_find_entry_ndn2id( be, cache, ndn->bv_val );
 
+       ber_bvfree( ndn );
        return ( id );
 }