]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/Gadgets.h
Source Format Enforcement (#963)
[thirdparty/squid.git] / src / auth / Gadgets.h
CommitLineData
e6ccf245 1/*
bf95c10a 2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
e6ccf245 3 *
bbc27441
AJ
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.
e6ccf245 7 */
8
97066760
AR
9#ifndef SQUID_AUTH_GADGETS_H
10#define SQUID_AUTH_GADGETS_H
e6ccf245 11
2f1431ea
AJ
12#if USE_AUTH
13
56a49fda 14#include "auth/User.h"
602d9612 15#include "hash.h"
a2ac85d9 16
924f73bc 17class ConnStateData;
97066760 18class StoreEntry;
e6ccf245 19
d382ccbd 20// TODO this should be a generic cachemgr API type ?
e6ccf245 21typedef void AUTHSSTATS(StoreEntry *);
e6ccf245 22
63be0a78 23/// \ingroup AuthAPI
8a648e8d 24void authenticateInit(Auth::ConfigVector *);
0bcb6908
AJ
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 */
8a648e8d 36void authenticateReset(void);
0bcb6908 37
8a648e8d 38void authenticateRotate(void);
a2ac85d9 39
63be0a78 40/// \ingroup AuthAPI
8a648e8d 41void authenticateFreeProxyAuthUserACLResults(void *data);
63be0a78 42/// \ingroup AuthAPI
8a648e8d 43int authenticateActiveSchemeCount(void);
63be0a78 44/// \ingroup AuthAPI
8a648e8d 45int authenticateSchemeCount(void);
a2ac85d9 46
63be0a78 47/// \ingroup AuthAPI
8a648e8d 48void authenticateOnCloseConnection(ConnStateData * conn);
e6ccf245 49
d2123755
FC
50std::vector<Auth::User::Pointer> authenticateCachedUsersList();
51
2f1431ea 52#endif /* USE_AUTH */
97066760 53#endif /* SQUID_AUTH_GADGETS_H */
f53969cc 54