Made HTTP authentication scheme case-insensitive.

This commit is contained in:
Thulinma 2019-03-06 11:18:16 +01:00
parent d5dbb57c84
commit 999568644c

View file

@ -2,6 +2,7 @@
/// Holds all code for the HTTP namespace.
#include "http_parser.h"
#include "util.h"
#include "auth.h"
#include "defines.h"
#include "encode.h"
@ -328,11 +329,12 @@ void HTTP::Parser::auth(const std::string &user, const std::string &pass,
return;
}
std::string meth = authReq.substr(0, space);
if (meth == "Basic"){
Util::stringToLower(meth);
if (meth == "basic"){
SetHeader(headerName, "Basic " + Encodings::Base64::encode(user + ":" + pass));
return;
}
if (meth == "Digest"){
if (meth == "digest"){
std::string realm = findValIn(authReq, "realm"), nonce = findValIn(authReq, "nonce"),
opaque = findValIn(authReq, "opaque"), qop = findValIn(authReq, "qop"),
algo = findValIn(authReq, "algorithm");