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_NEGOTIATE_USERREQUEST_H
10 #define SQUID_SRC_AUTH_NEGOTIATE_USERREQUEST_H
11 
12 #if HAVE_AUTH_MODULE_NEGOTIATE
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 Negotiate
25 {
26 
27 class UserRequest : public Auth::UserRequest
28 {
29  MEMPROXY_CLASS(Auth::Negotiate::UserRequest);
30 
31 public:
32  UserRequest();
33  ~UserRequest() override;
34  void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type) override;
35  Direction module_direction() override;
36  void startHelperLookup(HttpRequest *request, AccessLogEntry::Pointer &al, AUTHCB *, void *) override;
37  const char *credentialsStr() override;
38 
39  const char * connLastHeader() override;
40 
41  void releaseAuthServer(void) override;
42 
43  /* what connection is this associated with */
44  /* ConnStateData * conn;*/
45 
46  /* our current blob to pass to the client */
47  char *server_blob;
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 
59  Helper::ReservationId reservationId;
60 private:
61  static HLPCB HandleReply;
62 };
63 
64 } // namespace Negotiate
65 } // namespace Auth
66 
67 #endif /* HAVE_AUTH_MODULE_NEGOTIATE */
68 #endif /* SQUID_SRC_AUTH_NEGOTIATE_USERREQUEST_H */
69 
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