From: Timo Teras Date: Fri, 25 Jan 2013 09:59:54 +0000 (-0700) Subject: Bug 3678: external acl grace period causes acl lookup failures X-Git-Tag: SQUID_3_2_7~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7073da70c650c2b17611d37a0dcff2fe8060c27f;p=thirdparty%2Fsquid.git Bug 3678: external acl grace period causes acl lookup failures --- diff --git a/src/external_acl.cc b/src/external_acl.cc index b3821c5b66..53a2350108 100644 --- a/src/external_acl.cc +++ b/src/external_acl.cc @@ -830,8 +830,13 @@ aclMatchExternal(external_acl_data *acl, ACLFilledChecklist *ch) if (acl->def->theHelper->stats.queue_size <= (int)acl->def->theHelper->childs.n_active) { debugs(82, 2, "aclMatchExternal: \"" << key << "\": queueing a call."); ch->changeState(ExternalACLLookup::Instance()); - debugs(82, 2, "aclMatchExternal: \"" << key << "\": return -1."); - return -1; // to get here we have to have an expired cache entry. MUST not use. + if (!entry) { + debugs(82, 2, "aclMatchExternal: \"" << key << "\": return -1."); + return -1; // to get here we have to have an expired cache entry. MUST not use. + } + // else we have a usable entry in grace period + debugs(82, 2, "aclMatchExternal: \"" << key << "\": grace period active, will use results from entry."); + // Fall thru to processing below. } else { if (!entry) { debugs(82, 1, "aclMatchExternal: '" << acl->def->name <<