UserRequest.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
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 
9 #ifndef SQUID_SRC_AUTH_NTLM_USERREQUEST_H
10 #define SQUID_SRC_AUTH_NTLM_USERREQUEST_H
11 
12 #if HAVE_AUTH_MODULE_NTLM
13 
14 #include "auth/UserRequest.h"
15 #include "helper/forward.h"
16 #include "helper/ReservationId.h"
17 
18 class ConnStateData;
19 class HttpReply;
20 class HttpRequest;
21 
22 namespace Auth
23 {
24 namespace Ntlm
25 {
26 
27 class UserRequest : public Auth::UserRequest
28 {
29  MEMPROXY_CLASS(Auth::Ntlm::UserRequest);
30 
31 public:
32  UserRequest();
33  ~UserRequest() override;
34  void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type) override;
35  Auth::Direction module_direction() override;
36  void startHelperLookup(HttpRequest *req, AccessLogEntry::Pointer &al, AUTHCB *, void *) override;
37  const char *credentialsStr() override;
38 
39  const char * connLastHeader() override;
40 
41  void releaseAuthServer() override;
42 
43  /* our current blob to pass to the client */
44  char *server_blob;
45 
46  /* our current blob to pass to the server */
47  char *client_blob;
48 
49  /* currently waiting for helper response */
50  unsigned char waiting;
51 
52  /* need access to the request flags to mess around on pconn failure */
53  HttpRequest *request;
54 
57  Helper::ReservationId reservationId;
58 private:
59  static HLPCB HandleReply;
60 };
61 
62 } // namespace Ntlm
63 } // namespace Auth
64 
65 #endif /* HAVE_AUTH_MODULE_NTLM */
66 #endif /* SQUID_SRC_AUTH_NTLM_USERREQUEST_H */
67 
HTTP Authentication.
Definition: Config.h:18
static void authenticate(int socket_fd, const char *username, const char *passwd)
Direction
Definition: UserRequest.h:64
a (temporary) lock on a (stateful) helper channel
Definition: ReservationId.h:17
#define MEMPROXY_CLASS(CLASS)
void HLPCB(void *, const Helper::Reply &)
Definition: forward.h:33
void AUTHCB(void *)
Definition: UserRequest.h:57

 

Introduction

Documentation

Support

Miscellaneous