]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/ntlm/UserRequest.h
Source Maintenance: enforce #include statement block ordering
[thirdparty/squid.git] / src / auth / ntlm / UserRequest.h
CommitLineData
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
8class ConnStateData;
9class HttpReply;
10class HttpRequest;
7aa29632 11class helper_stateful_server;
928f3421 12
c7baff40
AJ
13namespace Auth
14{
15namespace Ntlm
16{
17
18class UserRequest : public Auth::UserRequest
928f3421
AJ
19{
20
21public:
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
49private:
e166785a 50 static HLPCB HandleReply;
928f3421
AJ
51};
52
c7baff40
AJ
53} // namespace Ntlm
54} // namespace Auth
55
56MEMPROXY_CLASS_INLINE(Auth::Ntlm::UserRequest);
928f3421
AJ
57
58#endif /* _SQUID_SRC_AUTH_NTLM_USERREQUEST_H */