]>
Commit | Line | Data |
---|---|---|
928f3421 AJ |
1 | #ifndef _SQUID_SRC_AUTH_NTLM_USERREQUEST_H |
2 | #define _SQUID_SRC_AUTH_NTLM_USERREQUEST_H | |
3 | ||
928f3421 AJ |
4 | #include "auth/UserRequest.h" |
5 | #include "auth/ntlm/auth_ntlm.h" | |
6 | #include "MemPool.h" | |
7 | ||
8 | class ConnStateData; | |
9 | class HttpReply; | |
10 | class HttpRequest; | |
7aa29632 | 11 | class helper_stateful_server; |
928f3421 | 12 | |
c7baff40 AJ |
13 | namespace Auth |
14 | { | |
15 | namespace Ntlm | |
16 | { | |
17 | ||
18 | class UserRequest : public Auth::UserRequest | |
928f3421 AJ |
19 | { |
20 | ||
21 | public: | |
c7baff40 | 22 | MEMPROXY_CLASS(Auth::Ntlm::UserRequest); |
928f3421 | 23 | |
c7baff40 AJ |
24 | UserRequest(); |
25 | virtual ~UserRequest(); | |
928f3421 AJ |
26 | virtual int authenticated() const; |
27 | virtual void authenticate(HttpRequest * request, ConnStateData * conn, http_hdr_type type); | |
51a3dd58 | 28 | virtual Auth::Direction module_direction(); |
4c535e87 | 29 | virtual void module_start(AUTHCB *, void *); |
928f3421 AJ |
30 | |
31 | virtual const char * connLastHeader(); | |
32 | ||
33 | /* we need to store the helper server between requests */ | |
34 | helper_stateful_server *authserver; | |
cc1e110a | 35 | virtual void releaseAuthServer(); ///< Release authserver NTLM helpers properly when finished or abandoning. |
928f3421 | 36 | |
928f3421 AJ |
37 | /* our current blob to pass to the client */ |
38 | char *server_blob; | |
39 | ||
40 | /* our current blob to pass to the server */ | |
41 | char *client_blob; | |
42 | ||
43 | /* currently waiting for helper response */ | |
44 | unsigned char waiting; | |
45 | ||
46 | /* need access to the request flags to mess around on pconn failure */ | |
47 | HttpRequest *request; | |
48 | ||
49 | private: | |
e166785a | 50 | static HLPCB HandleReply; |
928f3421 AJ |
51 | }; |
52 | ||
c7baff40 AJ |
53 | } // namespace Ntlm |
54 | } // namespace Auth | |
55 | ||
56 | MEMPROXY_CLASS_INLINE(Auth::Ntlm::UserRequest); | |
928f3421 AJ |
57 | |
58 | #endif /* _SQUID_SRC_AUTH_NTLM_USERREQUEST_H */ |