]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/Config.h
2 * Copyright (C) 1996-2021 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_SRC_AUTH_CONFIG_H
10 #define SQUID_SRC_AUTH_CONFIG_H
14 #include "acl/forward.h"
15 #include "auth/SchemeConfig.h"
16 #include "auth/SchemesConfig.h"
23 explicit Config(const Config
&) = delete;
24 explicit Config(const Config
*) = delete;
28 explicit Config(Config
&&) = default;
29 ~Config() { assert(!schemeAccess
); }
31 /// set of auth_params directives
32 Auth::ConfigVector schemes
;
34 /// set of auth_schemes directives
35 std::vector
<Auth::SchemesConfig
> schemeLists
;
37 /// the ACL list for auth_schemes directives
38 acl_access
*schemeAccess
= nullptr;
40 /// the authenticate_cache_garbage_interval
41 time_t garbageCollectInterval
= 0;
43 // TODO replace this directive with per-Scheme 'credentialsttl'
44 // and make Scheme::expirestime the real time-when-expires.
45 /// the authenticate_ttl
46 time_t credentialsTtl
= 0;
48 /// the authenticate_ip_ttl
52 extern Auth::Config TheConfig
;
57 #endif /* SQUID_SRC_AUTH_CONFIG_H */