From 5a920206dd95ea6e77328c9970bb4ada4d641e80 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 11 Dec 2004 18:36:31 +0000 Subject: [PATCH] more cleanup --- servers/slapd/back-ldap/search.c | 9 +++++---- servers/slapd/overlays/chain.c | 7 +++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index e60d6bfc54..4953060c76 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -498,7 +498,8 @@ ldap_back_entry_get( { struct ldapconn *lc; int rc = 1, - is_oc; + is_oc, + do_not_cache; struct berval bdn; LDAPMessage *result = NULL, *e = NULL; @@ -509,17 +510,17 @@ ldap_back_entry_get( int do_retry = 1; /* Tell getconn this is a privileged op */ - is_oc = op->o_do_not_cache; + do_not_cache = op->o_do_not_cache; op->o_do_not_cache = 1; lc = ldap_back_getconn( op, &rs ); oconn = op->o_conn; op->o_conn = NULL; if ( !lc || !ldap_back_dobind( lc, op, &rs ) ) { - op->o_do_not_cache = is_oc; + op->o_do_not_cache = do_not_cache; op->o_conn = oconn; return 1; } - op->o_do_not_cache = is_oc; + op->o_do_not_cache = do_not_cache; op->o_conn = oconn; if ( at ) { diff --git a/servers/slapd/overlays/chain.c b/servers/slapd/overlays/chain.c index 5abc50f422..1b3ac75a3f 100644 --- a/servers/slapd/overlays/chain.c +++ b/servers/slapd/overlays/chain.c @@ -114,6 +114,13 @@ ldap_chain_response( Operation *op, SlapReply *rs ) op->o_callback = NULL; if ( lip->url == NULL ) { + /* if we parse the URI then by no means + * we can cache stuff or reuse connections, + * because in back-ldap there's no caching + * based on the URI value, which is supposed + * to be set once for all (correct?) */ + op->o_do_not_cache = 1; + /* FIXME: we're setting the URI of the first referral; * what if there are more? Is this something we should * worry about? */