From: hno <> Date: Fri, 20 Jun 2003 01:07:21 +0000 (+0000) Subject: 2003-06-17 09:18 hno X-Git-Tag: SQUID_3_0_PRE1~111 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4121813160f4031072fbfc7629285b2c8768738b;p=thirdparty%2Fsquid.git 2003-06-17 09:18 hno Bug #683: external_acl does not wait for ident lookups to complete --- diff --git a/src/external_acl.cc b/src/external_acl.cc index 6e296aa709..d675fbc94d 100644 --- a/src/external_acl.cc +++ b/src/external_acl.cc @@ -1,6 +1,6 @@ /* - * $Id: external_acl.cc,v 1.43 2003/06/19 18:05:11 hno Exp $ + * $Id: external_acl.cc,v 1.44 2003/06/19 19:07:21 hno Exp $ * * DEBUG: section 82 External ACL * AUTHOR: Henrik Nordstrom, MARA Systems AB @@ -554,6 +554,12 @@ aclMatchExternal(external_acl_data *acl, ACLChecklist * ch) } key = makeExternalAclKey(ch, acl); + + if (!key) { + /* Not sufficient data to process */ + return -1; + } + entry = static_cast(hash_lookup(acl->def->cache, key)); if (entry && external_acl_entry_expired(acl->def, entry)) { @@ -658,7 +664,7 @@ makeExternalAclKey(ACLChecklist * ch, external_acl_data * acl_data) case _external_acl_format::EXT_ACL_IDENT: str = ch->rfc931; - if (!str) { + if (!str || !*str) { ch->changeState(IdentLookup::Instance()); return NULL; }