From: Pierangelo Masarati Date: Sun, 11 Jul 2004 22:52:01 +0000 (+0000) Subject: back-relay doesn't like this X-Git-Tag: OPENDLAP_REL_ENG_2_2_MP~88 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=198b34db3596dbb15212d335c425e9fed836985d;p=openldap back-relay doesn't like this --- diff --git a/servers/slapd/back-bdb/operational.c b/servers/slapd/back-bdb/operational.c index 5250470803..c239908eac 100644 --- a/servers/slapd/back-bdb/operational.c +++ b/servers/slapd/back-bdb/operational.c @@ -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 ) {