1 /*
2  * Copyright (C) 1996-2021 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 
11 #if USE_AUTH
12 #include "AuthReg.h"
13 
14 #if HAVE_AUTH_MODULE_BASIC
15 #include "auth/basic/Scheme.h"
16 #endif
17 #if HAVE_AUTH_MODULE_DIGEST
18 #include "auth/digest/Scheme.h"
19 #endif
20 #if HAVE_AUTH_MODULE_NEGOTIATE
21 #include "auth/negotiate/Scheme.h"
22 #endif
23 #if HAVE_AUTH_MODULE_NTLM
24 #include "auth/ntlm/Scheme.h"
25 #endif
26 
27 #include "Debug.h"
28 
29 /**
30  * Initialize the authentication modules (if any)
31  * This is required once, before any configuration actions are taken.
32  */
33 void
Init()34 Auth::Init()
35 {
36     debugs(29,DBG_IMPORTANT,"Startup: Initializing Authentication Schemes ...");
37 #if HAVE_AUTH_MODULE_BASIC
38     static const char *basic_type = Auth::Basic::Scheme::GetInstance()->type();
39     debugs(29,DBG_IMPORTANT,"Startup: Initialized Authentication Scheme '" << basic_type << "'");
40 #endif
41 #if HAVE_AUTH_MODULE_DIGEST
42     static const char *digest_type = Auth::Digest::Scheme::GetInstance()->type();
43     debugs(29,DBG_IMPORTANT,"Startup: Initialized Authentication Scheme '" << digest_type << "'");
44 #endif
45 #if HAVE_AUTH_MODULE_NEGOTIATE
46     static const char *negotiate_type = Auth::Negotiate::Scheme::GetInstance()->type();
47     debugs(29,DBG_IMPORTANT,"Startup: Initialized Authentication Scheme '" << negotiate_type << "'");
48 #endif
49 #if HAVE_AUTH_MODULE_NTLM
50     static const char *ntlm_type = Auth::Ntlm::Scheme::GetInstance()->type();
51     debugs(29,DBG_IMPORTANT,"Startup: Initialized Authentication Scheme '" << ntlm_type << "'");
52 #endif
53     debugs(29,DBG_IMPORTANT,"Startup: Initialized Authentication.");
54 }
55 
56 #endif /* USE_AUTH */
57 
58