diff --git a/src/acl/ExtUser.h b/src/acl/ExtUser.h index 3faaeeb0f06..a851be8824f 100644 --- a/src/acl/ExtUser.h +++ b/src/acl/ExtUser.h @@ -27,6 +27,7 @@ class ACLExtUser : public Acl::Node char const *typeString() const override; void parse() override; int match(ACLChecklist *checklist) override; + bool requiresRequest() const override { return true; } SBufList dump() const override; bool empty () const override; diff --git a/src/acl/SourceDomain.cc b/src/acl/SourceDomain.cc index f3267f15bba..343e0d7ae15 100644 --- a/src/acl/SourceDomain.cc +++ b/src/acl/SourceDomain.cc @@ -30,7 +30,11 @@ LookupDone(const char *, const Dns::LookupDetails &details, void *data) { ACLFilledChecklist *checklist = Filled((ACLChecklist*)data); checklist->markSourceDomainChecked(); - checklist->request->recordLookup(details); + if (checklist->request) + checklist->request->recordLookup(details); + else + debugs(28, 3, "no request to recordLookup()"); + checklist->resumeNonBlockingCheck(); }