Squid Web Cache master
Loading...
Searching...
No Matches
AclProxyAuth.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3 *
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.
7 */
8
9#ifndef SQUID_SRC_AUTH_ACLPROXYAUTH_H
10#define SQUID_SRC_AUTH_ACLPROXYAUTH_H
11
12#if USE_AUTH
13
14#include "acl/Acl.h"
15#include "acl/Checklist.h"
16#include "acl/Data.h"
17
18class ACLProxyAuth : public Acl::Node
19{
21
22public:
23 static void StartLookup(ACLFilledChecklist &, const Acl::Node &);
24
25 ~ACLProxyAuth() override;
26 ACLProxyAuth(ACLData<char const *> *, char const *);
27
28 /* Acl::Node API */
29 char const *typeString() const override;
30 void parse() override;
31 bool isProxyAuth() const override {return true;}
32 int match(ACLChecklist *checklist) override;
33 SBufList dump() const override;
34 bool valid() const override;
35 bool empty() const override;
36 bool requiresRequest() const override {return true;}
37 int matchForCache(ACLChecklist *checklist) override;
38
39private:
40 static void LookupDone(void *data);
41
42 /* Acl::Node API */
43 const Acl::Options &lineOptions() override;
44
47 char const *type_;
48};
49
50#endif /* USE_AUTH */
51#endif /* SQUID_SRC_AUTH_ACLPROXYAUTH_H */
52
Configured ACL parameter(s) (e.g., domain names in dstdomain ACL).
Definition Data.h:18
bool isProxyAuth() const override
SBufList dump() const override
int matchProxyAuth(ACLChecklist *)
void parse() override
parses node representation in squid.conf; dies on failures
const Acl::Options & lineOptions() override
static void StartLookup(ACLFilledChecklist &, const Acl::Node &)
MEMPROXY_CLASS(ACLProxyAuth)
ACLData< char const * > * data
char const * type_
static void LookupDone(void *data)
~ACLProxyAuth() override
bool valid() const override
bool requiresRequest() const override
whether our (i.e. shallow) match() requires checklist to have a request
char const * typeString() const override
int matchForCache(ACLChecklist *checklist) override
bool empty() const override
int match(ACLChecklist *checklist) override
Matches the actual data in checklist against this Acl::Node.
std::vector< const Option * > Options
Definition Options.h:217
std::list< SBuf > SBufList
Definition forward.h:23