- msg=ldap_next_entry( client, msg ) ) {
- dn = ldap_get_dn( client, msg );
- dn_normalize( dn );
- rc = strcmp( dn, assertDN );
- ch_free( dn );
- if( rc == 0 ) {
- rc = LDAP_SUCCESS;
- goto CONCLUDED;
+ msg=ldap_next_entry( client, msg ) )
+ {
+ struct berval dn;
+ dn.bv_val = ldap_get_dn( client, msg );
+
+ if( dn.bv_val ) {
+ struct berval ndn;
+ dn.bv_len = strlen( dn.bv_val );
+ rc = dnNormalize2( NULL, &dn, &ndn );
+ ldap_memfree( dn.bv_val );
+ if( rc != LDAP_SUCCESS ) {
+ goto CONCLUDED;
+ }
+ rc = strcmp( ndn.bv_val, assertDN );
+ free( ndn.bv_val );
+ if( rc == 0 ) {
+ rc = LDAP_SUCCESS;
+ goto CONCLUDED;
+ }