]>
Commit | Line | Data |
---|---|---|
bbc27441 | 1 | /* |
f6e9a3ee | 2 | * Copyright (C) 1996-2019 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 _SQUID_SRC_AUTH_NTLM_USERREQUEST_H |
10 | #define _SQUID_SRC_AUTH_NTLM_USERREQUEST_H | |
11 | ||
a0026a6c AJ |
12 | #if HAVE_AUTH_MODULE_NTLM |
13 | ||
602d9612 | 14 | #include "auth/UserRequest.h" |
12daeef6 | 15 | #include "helper/forward.h" |
928f3421 AJ |
16 | |
17 | class ConnStateData; | |
18 | class HttpReply; | |
19 | class HttpRequest; | |
928f3421 | 20 | |
c7baff40 AJ |
21 | namespace Auth |
22 | { | |
23 | namespace Ntlm | |
24 | { | |
25 | ||
26 | class UserRequest : public Auth::UserRequest | |
928f3421 | 27 | { |
c7baff40 | 28 | MEMPROXY_CLASS(Auth::Ntlm::UserRequest); |
928f3421 | 29 | |
741c2986 | 30 | public: |
c7baff40 AJ |
31 | UserRequest(); |
32 | virtual ~UserRequest(); | |
928f3421 | 33 | virtual int authenticated() const; |
789217a2 | 34 | virtual void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type); |
51a3dd58 | 35 | virtual Auth::Direction module_direction(); |
30c3f584 | 36 | virtual void startHelperLookup(HttpRequest *req, AccessLogEntry::Pointer &al, AUTHCB *, void *); |
d4806c91 | 37 | virtual const char *credentialsStr(); |
928f3421 AJ |
38 | |
39 | virtual const char * connLastHeader(); | |
40 | ||
41 | /* we need to store the helper server between requests */ | |
42 | helper_stateful_server *authserver; | |
cc1e110a | 43 | virtual void releaseAuthServer(); ///< Release authserver NTLM helpers properly when finished or abandoning. |
928f3421 | 44 | |
928f3421 AJ |
45 | /* our current blob to pass to the client */ |
46 | char *server_blob; | |
47 | ||
48 | /* our current blob to pass to the server */ | |
49 | char *client_blob; | |
50 | ||
51 | /* currently waiting for helper response */ | |
52 | unsigned char waiting; | |
53 | ||
54 | /* need access to the request flags to mess around on pconn failure */ | |
55 | HttpRequest *request; | |
56 | ||
57 | private: | |
e166785a | 58 | static HLPCB HandleReply; |
928f3421 AJ |
59 | }; |
60 | ||
c7baff40 AJ |
61 | } // namespace Ntlm |
62 | } // namespace Auth | |
63 | ||
a0026a6c | 64 | #endif /* HAVE_AUTH_MODULE_NTLM */ |
928f3421 | 65 | #endif /* _SQUID_SRC_AUTH_NTLM_USERREQUEST_H */ |
f53969cc | 66 |