2 * Copyright (C) 1996-2023 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 bool match(const char *) override
;
23 class ACLServerNameStrategy
: public ACLStrategy
<char const *>
28 int match (ACLData
<MatchType
> * &, ACLFilledChecklist
*) override
;
29 bool requiresRequest() const override
{return true;}
30 const Acl::Options
&options() override
;
31 bool valid() const override
;
34 Acl::BooleanOptionValue useClientRequested
; ///< Ignore server-supplied names
35 Acl::BooleanOptionValue useServerProvided
; ///< Ignore client-supplied names
36 Acl::BooleanOptionValue useConsensus
; ///< Ignore mismatching names
39 #endif /* SQUID_ACLSERVERNAME_H */