]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/DestinationIp.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / acl / DestinationIp.h
CommitLineData
8000a965 1/*
b8ae064d 2 * Copyright (C) 1996-2023 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 16class DestinationIPLookup : public ACLChecklist::AsyncState
17{
18
19public:
8000a965 20 static DestinationIPLookup *Instance();
337b9aa4 21 void checkForAsync(ACLChecklist *)const override;
62e76326 22
23private:
8000a965 24 static DestinationIPLookup instance_;
25 static IPH LookupDone;
26};
27
62e76326 28class ACLDestinationIP : public ACLIP
29{
b001e822 30 MEMPROXY_CLASS(ACLDestinationIP);
8000a965 31
741c2986 32public:
337b9aa4
AR
33 char const *typeString() const override;
34 const Acl::Options &options() override;
35 int match(ACLChecklist *checklist) override;
62e76326 36
62e76326 37private:
4eac3407 38 Acl::BooleanOptionValue lookupBanned; ///< are DNS lookups allowed?
8000a965 39};
40
41#endif /* SQUID_ACLDESTINATIONIP_H */
f53969cc 42