Scheme.cc
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 #include "squid.h"
10 #include "auth/digest/Config.h"
11 #include "auth/digest/Scheme.h"
12 #include "debug/Messages.h"
13 #include "debug/Stream.h"
14 #include "globals.h"
15 #include "helper.h"
16 
17 Auth::Scheme::Pointer Auth::Digest::Scheme::_instance = nullptr;
18 
20 Auth::Digest::Scheme::GetInstance()
21 {
22  if (_instance == nullptr) {
23  _instance = new Auth::Digest::Scheme();
24  AddScheme(_instance);
25  }
26  return _instance;
27 }
28 
29 char const *
30 Auth::Digest::Scheme::type() const
31 {
32  return "digest";
33 }
34 
35 void
36 Auth::Digest::Scheme::shutdownCleanup()
37 {
38  if (_instance == nullptr)
39  return;
40 
42 
43  _instance = nullptr;
44  debugs(29, Critical(59), "Shutdown: Digest authentication.");
45 }
46 
48 Auth::Digest::Scheme::createConfig()
49 {
51  return dynamic_cast<Auth::SchemeConfig*>(digestCfg);
52 }
53 
#define Critical(id)
Definition: Messages.h:92
void authenticateDigestNonceShutdown(void)
Definition: Config.cc:216
#define debugs(SECTION, LEVEL, CONTENT)
Definition: Stream.h:192
class SquidConfig Config
Definition: SquidConfig.cc:12

 

Introduction

Documentation

Support

Miscellaneous