2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_ACLDESTINATIONDOMAIN_H
10 #define SQUID_ACLDESTINATIONDOMAIN_H
13 #include "acl/Checklist.h"
15 #include "acl/Strategised.h"
16 #include "dns/forward.h"
19 class ACLDestinationDomainStrategy
: public ACLStrategy
<char const *>
24 virtual int match (ACLData
<MatchType
> * &, ACLFilledChecklist
*);
25 virtual bool requiresRequest() const {return true;}
26 virtual const Acl::Options
&options();
29 Acl::BooleanOptionValue lookupBanned
; ///< Are DNS lookups allowed?
33 class DestinationDomainLookup
: public ACLChecklist::AsyncState
37 static DestinationDomainLookup
*Instance();
38 virtual void checkForAsync(ACLChecklist
*)const;
41 static DestinationDomainLookup instance_
;
42 static void LookupDone(const char *, const Dns::LookupDetails
&, void *);
45 #endif /* SQUID_ACLDESTINATIONDOMAIN_H */