]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/Gadgets.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / Gadgets.h
1 /*
2 * Copyright (C) 1996-2017 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_AUTH_GADGETS_H
10 #define SQUID_AUTH_GADGETS_H
11
12 #if USE_AUTH
13
14 #include "auth/User.h"
15 #include "hash.h"
16
17 class ConnStateData;
18 class StoreEntry;
19
20 // TODO this should be a generic cachemgr API type ?
21 typedef void AUTHSSTATS(StoreEntry *);
22
23 /// \ingroup AuthAPI
24 void authenticateInit(Auth::ConfigVector *);
25
26 /** \ingroup AuthAPI
27 * Remove all idle authentication state. Intended for use by reconfigure.
28 *
29 * Removes the username cache contents and global configuration state.
30 * Stops just short of detaching the auth components completely.
31 *
32 * Currently active requests should finish. Howevee new requests will not use
33 * authentication unless something causes the global config to be rebuilt.
34 * Such as a configure load action adding config and re-running authenticateInit().
35 */
36 void authenticateReset(void);
37
38 void authenticateRotate(void);
39
40 /// \ingroup AuthAPI
41 void authenticateFreeProxyAuthUserACLResults(void *data);
42 /// \ingroup AuthAPI
43 int authenticateActiveSchemeCount(void);
44 /// \ingroup AuthAPI
45 int authenticateSchemeCount(void);
46
47 /// \ingroup AuthAPI
48 void authenticateOnCloseConnection(ConnStateData * conn);
49
50 std::vector<Auth::User::Pointer> authenticateCachedUsersList();
51
52 #endif /* USE_AUTH */
53 #endif /* SQUID_AUTH_GADGETS_H */
54