]>
Commit | Line | Data |
---|---|---|
8000a965 | 1 | /* |
77b1029d | 2 | * Copyright (C) 1996-2020 The Squid Software Foundation and contributors |
8000a965 | 3 | * |
bbc27441 AJ |
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. | |
8000a965 | 7 | */ |
8 | ||
9 | #ifndef SQUID_ACLDESTINATIONIP_H | |
10 | #define SQUID_ACLDESTINATIONIP_H | |
741c2986 | 11 | |
3ad63615 AR |
12 | #include "acl/Checklist.h" |
13 | #include "acl/Ip.h" | |
714e68b7 | 14 | #include "ipcache.h" |
8000a965 | 15 | |
62e76326 | 16 | class DestinationIPLookup : public ACLChecklist::AsyncState |
17 | { | |
18 | ||
19 | public: | |
8000a965 | 20 | static DestinationIPLookup *Instance(); |
21 | virtual void checkForAsync(ACLChecklist *)const; | |
62e76326 | 22 | |
23 | private: | |
8000a965 | 24 | static DestinationIPLookup instance_; |
25 | static IPH LookupDone; | |
26 | }; | |
27 | ||
62e76326 | 28 | class ACLDestinationIP : public ACLIP |
29 | { | |
b001e822 | 30 | MEMPROXY_CLASS(ACLDestinationIP); |
8000a965 | 31 | |
741c2986 | 32 | public: |
8000a965 | 33 | virtual char const *typeString() const; |
4eac3407 | 34 | virtual const Acl::Options &options(); |
8000a965 | 35 | virtual int match(ACLChecklist *checklist); |
62e76326 | 36 | |
8000a965 | 37 | virtual ACL *clone()const; |
62e76326 | 38 | |
39 | private: | |
4eac3407 | 40 | Acl::BooleanOptionValue lookupBanned; ///< are DNS lookups allowed? |
8000a965 | 41 | }; |
42 | ||
43 | #endif /* SQUID_ACLDESTINATIONIP_H */ | |
f53969cc | 44 |