]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/State.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / auth / State.h
CommitLineData
bbc27441 1/*
f70aedc4 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
bbc27441
AJ
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
928f3421
AJ
9#ifndef __AUTH_AUTHENTICATE_STATE_T__
10#define __AUTH_AUTHENTICATE_STATE_T__
11
2f1431ea
AJ
12#if USE_AUTH
13
928f3421 14#include "auth/UserRequest.h"
1c756645
AJ
15#include "cbdata.h"
16
17namespace Auth
18{
928f3421 19
928f3421
AJ
20/**
21 * CBDATA state for NTLM, Negotiate, and Digest stateful authentication.
22 */
a9336c23
A
23class StateData
24{
5c2f68b7
AJ
25 CBDATA_CLASS(StateData);
26
1c756645 27public:
4c535e87 28 StateData(const UserRequest::Pointer &r, AUTHCB *h, void *d) :
f53969cc
SM
29 data(cbdataReference(d)),
30 auth_user_request(r),
31 handler(h) {}
1c756645
AJ
32
33 ~StateData() {
34 auth_user_request = NULL;
35 cbdataReferenceDone(data);
36 }
37
928f3421 38 void *data;
c7baff40 39 UserRequest::Pointer auth_user_request;
4c535e87 40 AUTHCB *handler;
1c756645 41};
928f3421 42
1c756645 43} // namespace Auth
928f3421 44
2f1431ea 45#endif /* USE_AUTH */
928f3421 46#endif /* __AUTH_AUTHENTICATE_STATE_T__ */
f53969cc 47