]> git.sur5r.net Git - openldap/commitdiff
back-relay doesn't like this
authorPierangelo Masarati <ando@openldap.org>
Sun, 11 Jul 2004 22:52:01 +0000 (22:52 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sun, 11 Jul 2004 22:52:01 +0000 (22:52 +0000)
servers/slapd/back-bdb/operational.c

index 52504708038d7377b141a21a6b730c8a496964c4..c239908eac44d5d39e98087464cc72c02f2ee01a 100644 (file)
@@ -39,7 +39,19 @@ bdb_hasSubordinates(
        
        assert( e );
 
+       /* NOTE: this should never happen, but it actually happens
+        * when using back-relay; until we find a better way to
+        * preserve entry's private information while rewriting it,
+        * let's disable the hasSubordinate feature for back-relay.
+        */
+       if ( BEI( e ) == NULL ) {
+               return LDAP_OTHER;
+       }
+
 retry:
+       /* FIXME: we can no longer assume the entry's e_private
+        * field is correctly populated; so we need to reacquire
+        * it with reader lock */
        rc = bdb_cache_children( op, NULL, e );
        
        switch( rc ) {