Squid Web Cache master
Loading...
Searching...
No Matches
AclMaxUserIp.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_ACLMAXUSERIP_H
10#define SQUID_SRC_AUTH_ACLMAXUSERIP_H
11
12#if USE_AUTH
13
14#include "acl/Node.h"
15#include "auth/UserRequest.h"
16
17class ACLMaxUserIP : public Acl::Node
18{
20
21public:
22 explicit ACLMaxUserIP(char const *theClass);
23
24 char const *typeString() const override;
25 const Acl::Options &options() override;
26 void parse() override;
27 int match(ACLChecklist *cl) override;
28 SBufList dump() const override;
29 bool empty() const override;
30 bool valid() const override;
31 bool requiresRequest() const override {return true;}
32
33 int getMaximum() const {return maximum;}
34
35private:
36 int match(Auth::UserRequest::Pointer auth_user_request, Ip::Address const &src_addr);
37
38public:
40
41private:
42 char const *class_;
44};
45
46#endif /* USE_AUTH */
47#endif /* SQUID_SRC_AUTH_ACLMAXUSERIP_H */
48
bool requiresRequest() const override
whether our (i.e. shallow) match() requires checklist to have a request
void parse() override
parses node representation in squid.conf; dies on failures
bool valid() const override
int getMaximum() const
Acl::BooleanOptionValue beStrict
Enforce "one user, one device" policy?
bool empty() const override
int match(ACLChecklist *cl) override
Matches the actual data in checklist against this Acl::Node.
char const * class_
MEMPROXY_CLASS(ACLMaxUserIP)
const Acl::Options & options() override
char const * typeString() const override
SBufList dump() const override
std::vector< const Option * > Options
Definition Options.h:217
std::list< SBuf > SBufList
Definition forward.h:23