/*
- * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
#include "auth/basic/UserRequest.h"
#include "auth/QueueNode.h"
#include "auth/State.h"
-#include "charset.h"
#include "Debug.h"
#include "format/Format.h"
#include "helper.h"
#include "helper/Reply.h"
-#include "HttpMsg.h"
#include "HttpRequest.h"
#include "MemBuf.h"
#include "rfc1738.h"
return;
/* are we about to recheck the credentials externally? */
- if ((user()->expiretime + static_cast<Auth::Basic::Config*>(Auth::Config::Find("basic"))->credentialsTTL) <= squid_curtime) {
+ if ((user()->expiretime + static_cast<Auth::Basic::Config*>(Auth::SchemeConfig::Find("basic"))->credentialsTTL) <= squid_curtime) {
debugs(29, 4, HERE << "credentials expired - rechecking");
return;
}
return Auth::CRED_LOOKUP;
case Auth::Ok:
- if (user()->expiretime + static_cast<Auth::Basic::Config*>(Auth::Config::Find("basic"))->credentialsTTL <= squid_curtime)
+ if (user()->expiretime + static_cast<Auth::Basic::Config*>(Auth::SchemeConfig::Find("basic"))->credentialsTTL <= squid_curtime)
return Auth::CRED_LOOKUP;
return Auth::CRED_VALID;
assert(basic_auth != NULL);
debugs(29, 9, HERE << "'" << basic_auth->username() << ":" << basic_auth->passwd << "'");
- if (static_cast<Auth::Basic::Config*>(Auth::Config::Find("basic"))->authenticateProgram == NULL) {
+ if (static_cast<Auth::Basic::Config*>(Auth::SchemeConfig::Find("basic"))->authenticateProgram == NULL) {
debugs(29, DBG_CRITICAL, "ERROR: No Basic authentication program configured.");
handler(data);
return;
char buf[HELPER_INPUT_BUFFER];
static char usern[HELPER_INPUT_BUFFER];
static char pass[HELPER_INPUT_BUFFER];
- if (static_cast<Auth::Basic::Config*>(user()->config)->utf8) {
- latin1_to_utf8(usern, sizeof(usern), user()->username());
- latin1_to_utf8(pass, sizeof(pass), basic_auth->passwd);
- xstrncpy(usern, rfc1738_escape(usern), sizeof(usern));
- xstrncpy(pass, rfc1738_escape(pass), sizeof(pass));
- } else {
- xstrncpy(usern, rfc1738_escape(user()->username()), sizeof(usern));
- xstrncpy(pass, rfc1738_escape(basic_auth->passwd), sizeof(pass));
- }
+
+ xstrncpy(usern, rfc1738_escape(user()->username()), sizeof(usern));
+ xstrncpy(pass, rfc1738_escape(basic_auth->passwd), sizeof(pass));
+
int sz = 0;
if (const char *keyExtras = helperRequestKeyExtras(request, al))
sz = snprintf(buf, sizeof(buf), "%s %s %s\n", usern, pass, keyExtras);
// add new helper kv-pair notes to the credentials object
// so that any transaction using those credentials can access them
- r->auth_user_request->user()->notes.appendNewOnly(&reply.notes);
+ static const NotePairs::Names appendables = { SBuf("group"), SBuf("tag") };
+ r->auth_user_request->user()->notes.replaceOrAddOrAppend(&reply.notes, appendables);
/* this is okay since we only play with the Auth::Basic::User child fields below
- * and dont pass the pointer itself anywhere */
+ * and do not pass the pointer itself anywhere */
Auth::Basic::User *basic_auth = dynamic_cast<Auth::Basic::User *>(r->auth_user_request->user().getRaw());
assert(basic_auth != NULL);