42Auth::Negotiate::Config::rotateHelpers()
53Auth::Negotiate::Config::done()
68 if (authenticateProgram)
75Auth::Negotiate::Config::type()
const
77 return Auth::Negotiate::Scheme::GetInstance()->type();
87 if (authenticateProgram) {
110Auth::Negotiate::Config::registerWithCacheManager(
void)
113 "Negotiate User Authenticator Stats",
118Auth::Negotiate::Config::active()
const
126 if (!authenticateProgram)
134 if (auth_user_request ==
nullptr) {
135 debugs(29, 9,
"Sending type:" << reqType <<
" header: 'Negotiate'");
144 Auth::Negotiate::UserRequest *negotiate_request =
dynamic_cast<Auth::Negotiate::UserRequest *
>(auth_user_request.
getRaw());
145 assert(negotiate_request !=
nullptr);
147 switch (negotiate_request->user()->credentials()) {
160 if (negotiate_request->server_blob) {
161 debugs(29, 9,
"Sending type:" << reqType <<
" header: 'Negotiate " << negotiate_request->server_blob <<
"'");
163 safe_free(negotiate_request->server_blob);
165 debugs(29, 9,
"Connection authenticated");
173 debugs(29, 9,
"Sending type:" << reqType <<
" header: 'Negotiate'");
179 debugs(29, 9,
"Sending type:" << reqType <<
" header: 'Negotiate " << negotiate_request->server_blob <<
"'");
181 safe_free(negotiate_request->server_blob);
185 debugs(29,
DBG_CRITICAL,
"ERROR: Negotiate auth fixHeader: state " << negotiate_request->user()->credentials() <<
".");
186 fatal(
"unexpected state in AuthenticateNegotiateFixErrorHeader.\n");
203Auth::Negotiate::Config::decode(
char const *proxy_auth,
const HttpRequest *,
const char *aRequestRealm)
209 auth_user_request->
user(newUser);
212 auth_user_request->
user()->BuildUserKey(proxy_auth, aRequestRealm);
215 debugs(29, 9,
"decode Negotiate authentication");
216 return auth_user_request;
void AUTHSSTATS(StoreEntry *)
static AUTHSSTATS authenticateNegotiateStats
static int authnegotiate_initialised
static hash_table * proxy_auth_cache
Helper::StatefulClientPointer negotiateauthenticators
static SchemeConfig * Find(const char *proxy_auth)
virtual User::Pointer user()
ChildConfig & updateLimits(const ChildConfig &rhs)
void packStatsInto(Packable *p, const char *label=nullptr) const
Dump some stats about the helper state to a Packable object.
ChildConfig childs
Configuration settings for number running.
static Pointer Make(const char *name)
void openSessions() override
#define debugs(SECTION, LEVEL, CONTENT)
void fatal(const char *message)
hash_table * hash_create(HASHCMP *, int, HASHHASH *)
int HASHCMP(const void *, const void *)
void helperStatefulShutdown(const statefulhelper::Pointer &hlp)
void RegisterAction(char const *action, char const *desc, OBJH *handler, Protected, Atomic, Format)
void wordlistDestroy(wordlist **list)
destroy a wordlist