From: Kurt Zeilenga Date: Fri, 28 Dec 2001 07:30:34 +0000 (+0000) Subject: More dn_normalize() -> dnNormalize() changes X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~440 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=27f42bba62513d2aacbc49aba20b04a18f09b459;p=openldap More dn_normalize() -> dnNormalize() changes --- diff --git a/servers/slapd/back-dnssrv/search.c b/servers/slapd/back-dnssrv/search.c index 09cade5256..2132c46ff9 100644 --- a/servers/slapd/back-dnssrv/search.c +++ b/servers/slapd/back-dnssrv/search.c @@ -38,7 +38,8 @@ dnssrv_back_search( char *domain = NULL; char *hostlist = NULL; char **hosts = NULL; - char *refdn, *nrefdn; + char *refdn; + struct berval *nrefdn = NULL; struct berval **urls = NULL; assert( get_manageDSAit( op ) ); @@ -107,12 +108,22 @@ dnssrv_back_search( NULL, "DNS SRV problem processing manageDSAit control", NULL, NULL ); goto done; - } - nrefdn = ch_strdup( refdn ); - dn_normalize(nrefdn); + } else { + struct berval bv; + bv.bv_val = refdn; + bv.bv_len = strlen( refdn ); + + rc = dnNormalize( NULL, &bv, &nrefdn ); + if( rc != LDAP_SUCCESS ) { + send_ldap_result( conn, op, LDAP_OTHER, + NULL, "DNS SRV problem processing manageDSAit control", + NULL, NULL ); + goto done; + } + } - if( strcmp( nrefdn, ndn->bv_val ) != 0 ) { + if( strcmp( nrefdn->bv_val, ndn->bv_val ) != 0 ) { /* requested dn is subordinate */ Debug( LDAP_DEBUG_TRACE, @@ -211,7 +222,7 @@ dnssrv_back_search( } free( refdn ); - free( nrefdn ); + ber_bvfree( nrefdn ); done: if( domain != NULL ) ch_free( domain ); diff --git a/servers/slapd/back-passwd/search.c b/servers/slapd/back-passwd/search.c index 4f75e31957..42399bc72e 100644 --- a/servers/slapd/back-passwd/search.c +++ b/servers/slapd/back-passwd/search.c @@ -328,10 +328,11 @@ pw2entry( Backend *be, struct passwd *pw, char *rdn ) attr_merge(e, ad_description, vals); s = strchr(val.bv_val, ','); - if (s) - *s = '\0'; + if (s) *s = '\0'; + s = strchr(val.bv_val, '&'); if (s) { + char buf[256]; int i = s - val.bv_val; strncpy(buf, val.bv_val, i); s = buf+i;