From 198b34db3596dbb15212d335c425e9fed836985d Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sun, 11 Jul 2004 22:52:01 +0000 Subject: [PATCH] back-relay doesn't like this --- servers/slapd/back-bdb/operational.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 ) { -- 2.39.5