X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fdn.c;h=348336f8a6da866d0bb10f42fb12ee951175ab20;hb=c350b558d7cbfb36ec8991fadd702c5dee3f4de8;hp=5696dbf837f1ebcb2ac3b2c4fa3cc2bf6f494ce3;hpb=5766ca91e0e8e484e6bf824b47865dd7b541c422;p=openldap diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c index 5696dbf837..348336f8a6 100644 --- a/servers/slapd/dn.c +++ b/servers/slapd/dn.c @@ -314,7 +314,7 @@ LDAPDN_rewrite( LDAPDN dn, unsigned flags, void *ctx ) * if value is empty, use empty_bv */ rc = ( *normf )( - 0, + SLAP_MR_VALUE_OF_ASSERTION_SYNTAX, ad->ad_type->sat_syntax, mr, ava->la_value.bv_len @@ -329,8 +329,10 @@ LDAPDN_rewrite( LDAPDN dn, unsigned flags, void *ctx ) if( bv.bv_val ) { - ber_memfree_x( ava->la_value.bv_val, ctx ); + if ( ava->la_flags & LDAP_AVA_FREE_VALUE ) + ber_memfree_x( ava->la_value.bv_val, ctx ); ava->la_value = bv; + ava->la_flags |= LDAP_AVA_FREE_VALUE; } if( do_sort ) AVA_Sort( rdn, iAVA ); @@ -882,7 +884,12 @@ int dnX509normalize( void *x509_name, struct berval *out ) { /* Invoke the LDAP library's converter with our schema-rewriter */ - return ldap_X509dn2bv( x509_name, out, LDAPDN_rewrite, 0 ); + int rc = ldap_X509dn2bv( x509_name, out, LDAPDN_rewrite, 0 ); + + Debug( LDAP_DEBUG_TRACE, + "dnX509Normalize: <%s>\n", out->bv_val, 0, 0 ); + + return rc; } /*