Config.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_BASIC_CONFIG_H
10 #define SQUID_SRC_AUTH_BASIC_CONFIG_H
11 
12 #if HAVE_AUTH_MODULE_BASIC
13 
14 #include "auth/Gadgets.h"
15 #include "auth/SchemeConfig.h"
16 #include "auth/UserRequest.h"
17 #include "helper/forward.h"
18 
19 namespace Auth
20 {
21 namespace Basic
22 {
23 
25 class Config : public Auth::SchemeConfig
26 {
27 public:
28  Config();
29  bool active() const override;
30  bool configured() const override;
31  Auth::UserRequest::Pointer decode(char const *proxy_auth, const HttpRequest *request, const char *requestRealm) override;
32  void done() override;
33  void rotateHelpers() override;
34  bool dump(StoreEntry *, const char *, Auth::SchemeConfig *) const override;
35  void fixHeader(Auth::UserRequest::Pointer, HttpReply *, Http::HdrType, HttpRequest *) override;
36  void init(Auth::SchemeConfig *) override;
37  void parse(Auth::SchemeConfig *, int, char *) override;
38  void decode(char const *httpAuthHeader, Auth::UserRequest::Pointer);
39  void registerWithCacheManager(void) override;
40  const char * type() const override;
41 
42 public:
43  time_t credentialsTTL;
44  int casesensitive;
45 
46 private:
47  char * decodeCleartext(const char *httpAuthHeader, const HttpRequest *request);
48 };
49 
50 } // namespace Basic
51 } // namespace Auth
52 
54 
55 #endif /* HAVE_AUTH_MODULE_BASIC */
56 #endif /* SQUID_SRC_AUTH_BASIC_CONFIG_H */
57 
HTTP Authentication.
Definition: Config.h:18
static struct node * parse(FILE *fp)
Definition: parse.c:965
class SquidConfig Config
Definition: SquidConfig.cc:12
Helper::ClientPointer basicauthenticators
Definition: Config.cc:39

 

Introduction

Documentation

Support

Miscellaneous