]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/rwmmap.c
ITS#6103: rev 1.331 followup for LDAP_CONNECTIONLESS
[openldap] / servers / slapd / overlays / rwmmap.c
index 67655c3068e95187125da1c7d33e56faccf48eaf..95eec2f92229c7e92ca114740b7b5fca98773546 100644 (file)
@@ -121,6 +121,15 @@ rwm_mapping( struct ldapmap *map, struct berval *s, struct ldapmapping **m, int
 
        assert( m != NULL );
 
+       /* let special attrnames slip through (ITS#5760) */
+       if ( bvmatch( s, slap_bv_no_attrs )
+               || bvmatch( s, slap_bv_all_user_attrs )
+               || bvmatch( s, slap_bv_all_operational_attrs ) )
+       {
+               *m = NULL;
+               return 0;
+       }
+
        if ( remap == RWM_REMAP ) {
                tree = map->remap;
 
@@ -312,7 +321,7 @@ rwm_map_attrnames(
 
        if ( j == 0 && i != 0 ) {
                memset( &(*anp)[0], 0, sizeof( AttributeName ) );
-               BER_BVSTR( &(*anp)[0].an_name, LDAP_NO_ATTRS );
+               (*anp)[0].an_name = *slap_bv_no_attrs;
                j = 1;
        }
        memset( &(*anp)[j], 0, sizeof( AttributeName ) );