]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-meta/suffixmassage.c
honor T-F filters (ITS#3706) and lots of cleanup
[openldap] / servers / slapd / back-meta / suffixmassage.c
index 94409125227f55c93335f4297a1a94d88a1df49f..244e4666eb816a564c55f5a5b008366b1b1c4bc0 100644 (file)
@@ -68,7 +68,7 @@ ldap_back_dn_massage(
        int             rc = 0;
        static char     *dmy = "";
 
-       switch ( rewrite_session( dc->rwmap->rwm_rw, dc->ctx,
+       switch ( rewrite_session( dc->target->mt_rwmap.rwm_rw, dc->ctx,
                                ( dn->bv_val ? dn->bv_val : dmy ),
                                dc->conn, &res->bv_val ) )
        {
@@ -133,7 +133,7 @@ ldap_back_dn_massage(
                res->bv_len = 0;
                return 0;
        }
-       if ( dc->rwmap == NULL || dc->rwmap->rwm_suffix_massage == NULL ) {
+       if ( dc->target->mt_rwmap.rwm_suffix_massage == NULL ) {
                *res = *dn;
                return 0;
        }
@@ -152,9 +152,9 @@ ldap_back_dn_massage(
        }
 
        for ( i = 0;
-               dc->rwmap->rwm_suffix_massage[i].bv_val != NULL;
+               dc->target->mt_rwmap.rwm_suffix_massage[i].bv_val != NULL;
                i += 4 ) {
-               int aliasLength = dc->rwmap->rwm_suffix_massage[i+src].bv_len;
+               int aliasLength = dc->target->mt_rwmap.rwm_suffix_massage[i+src].bv_len;
                int diff = dn->bv_len - aliasLength;
 
                if ( diff < 0 ) {
@@ -166,11 +166,11 @@ ldap_back_dn_massage(
                        /* At a DN Separator */
                }
 
-               if ( !strcmp( dc->rwmap->rwm_suffix_massage[i+src].bv_val, &dn->bv_val[diff] ) ) {
-                       res->bv_len = diff + dc->rwmap->rwm_suffix_massage[i+dst].bv_len;
+               if ( !strcmp( dc->target->mt_rwmap.rwm_suffix_massage[i+src].bv_val, &dn->bv_val[diff] ) ) {
+                       res->bv_len = diff + dc->target->mt_rwmap.rwm_suffix_massage[i+dst].bv_len;
                        res->bv_val = ch_malloc( res->bv_len + 1 );
                        strncpy( res->bv_val, dn->bv_val, diff );
-                       strcpy( &res->bv_val[diff], dc->rwmap->rwm_suffix_massage[i+dst].bv_val );
+                       strcpy( &res->bv_val[diff], dc->target->mt_rwmap.rwm_suffix_massage[i+dst].bv_val );
                        Debug( LDAP_DEBUG_ARGS,
                                "ldap_back_dn_massage:"
                                " converted \"%s\" to \"%s\"\n",