]> git.sur5r.net Git - openldap/commitdiff
ITS#5647
authorQuanah Gibson-Mount <quanah@openldap.org>
Wed, 3 Sep 2008 02:11:48 +0000 (02:11 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 3 Sep 2008 02:11:48 +0000 (02:11 +0000)
CHANGES
servers/slapd/back-meta/config.c
servers/slapd/overlays/rwmconf.c
servers/slapd/overlays/rwmmap.c

diff --git a/CHANGES b/CHANGES
index 27379cb27c35b604128da5eb3a92c8babfd553c0..24d0afb4cfc0a16f0b4fda791bba1ba4e5a08691 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -8,12 +8,14 @@ OpenLDAP 2.4.12 Engineering
        Fixed slapd socket closing on Windows (ITS#5606)
        Fixed slapd-ldap,slapd-meta invalid filter behavior (ITS#5614)
        Fixed slapd-meta quarantine behavior (ITS#5592)
+       Fixed slapd-meta objectClass filtering (ITS#5647)
        Fixed slapd-relay initialization (ITS#5643)
        Fixed slapd-sql freeing of connection (ITS#5607)
        Fixed slapo-constraint string termination (ITS#5609)
        Fixed slapo-memberof internal operations DN (ITS#5622)
        Fixed slapo-rwm callback cleanup (ITS#5601)
        Fixed slapo-rwm attr mapping and merging (ITS#5624)
+       Fixed slapo-rwm objectClass filtering (ITS#5647)
        Fixed slapo-unique filter validation (ITS#5581)
        Fixed slapo-unique suffix testing (ITS#5641)
        Build Environment
index c3424438e6fd5715ae7042f059cc418ab532ae6a..610f607545a6c7a6c2d3288a4fc3ac9ee6f45a1e 100644 (file)
@@ -1556,6 +1556,11 @@ ldap_back_map_config(
                return 1;
        }
 
+       if ( !is_oc && map->map == NULL ) {
+               /* only init if required */
+               ldap_back_map_init( map, &mapping );
+       }
+
        if ( strcmp( argv[ 2 ], "*" ) == 0 ) {
                if ( argc < 4 || strcmp( argv[ 3 ], "*" ) == 0 ) {
                        map->drop_missing = ( argc < 4 );
@@ -1702,11 +1707,6 @@ ldap_back_map_config(
                                mapping_cmp, mapping_dup );
 
 success_return:;
-       if ( !is_oc && map->map == NULL ) {
-               /* only init if required */
-               ldap_back_map_init( map, &mapping );
-       }
-
        return 0;
 
 error_return:;
index d612712f0e7f0f87ee0e9151db30f90307fb4758..a96bf8b4507cfad4dc35096390be363d604bfbfb 100644 (file)
@@ -71,6 +71,13 @@ rwm_map_config(
                return 1;
        }
 
+       if ( !is_oc && map->map == NULL ) {
+               /* only init if required */
+               if ( rwm_map_init( map, &mapping ) != LDAP_SUCCESS ) {
+                       return 1;
+               }
+       }
+
        if ( strcmp( argv[2], "*" ) == 0 ) {
                if ( argc < 4 || strcmp( argv[3], "*" ) == 0 ) {
                        map->drop_missing = ( argc < 4 );
@@ -225,11 +232,6 @@ rwm_map_config(
                                rwm_mapping_cmp, rwm_mapping_dup );
 
 success_return:;
-       if ( !is_oc && map->map == NULL ) {
-               /* only init if required */
-               rc = rwm_map_init( map, &mapping ) != LDAP_SUCCESS;
-       }
-
        return rc;
 
 error_return:;
index c9a8126db5514282427aa67c7fa250d0f9dc99e1..bc79ae17b64fdb1379577f8039d6948610ec4ba5 100644 (file)
@@ -81,7 +81,9 @@ rwm_map_init( struct ldapmap *lm, struct ldapmapping **m )
                return LDAP_NO_MEMORY;
        }
 
-       /* FIXME: I don't think this is needed any more... */
+       /* NOTE: this is needed to make sure that
+        *      rwm-map attribute *
+        * does not  filter out all attributes including objectClass */
        rc = slap_str2ad( "objectClass", &mapping[0].m_src_ad, &text );
        if ( rc != LDAP_SUCCESS ) {
                ch_free( mapping );