2 * Copyright (C) 1996-2020 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_ACLSERVERNAME_H
10 #define SQUID_ACLSERVERNAME_H
13 #include "acl/DomainData.h"
14 #include "acl/Strategy.h"
16 class ACLServerNameData
: public ACLDomainData
{
17 MEMPROXY_CLASS(ACLServerNameData
);
19 ACLServerNameData() : ACLDomainData() {}
20 virtual bool match(const char *);
21 virtual ACLData
<char const *> *clone() const;
24 class ACLServerNameStrategy
: public ACLStrategy
<char const *>
29 virtual int match (ACLData
<MatchType
> * &, ACLFilledChecklist
*);
30 virtual bool requiresRequest() const {return true;}
31 virtual const Acl::Options
&options();
32 virtual bool valid() const;
35 Acl::BooleanOptionValue useClientRequested
; ///< Ignore server-supplied names
36 Acl::BooleanOptionValue useServerProvided
; ///< Ignore client-supplied names
37 Acl::BooleanOptionValue useConsensus
; ///< Ignore mismatching names
40 #endif /* SQUID_ACLSERVERNAME_H */