diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc index a23197fb..731952ea 100644 --- a/src/HttpRequest.cc +++ b/src/HttpRequest.cc @@ -219,10 +219,10 @@ std::string HttpRequest::createRequest() builtinHds.push_back(getProxyAuthString()); } if(authConfig_) { - builtinHds.push_back - (std::make_pair("Authorization:", - strconcat("Basic ", - Base64::encode(authConfig_->getAuthText())))); + std::string authText = authConfig_->getAuthText(); + std::string val = "Basic "; + val += base64::encode(authText.begin(), authText.end()); + builtinHds.push_back(std::make_pair("Authorization:", val)); } if(getPreviousURI().size()) { builtinHds.push_back(std::make_pair("Referer:", getPreviousURI())); @@ -298,12 +298,12 @@ std::string HttpRequest::createProxyRequest() const std::pair HttpRequest::getProxyAuthString() const { - return std::make_pair - ("Proxy-Authorization:", - strconcat("Basic ", - Base64::encode(strconcat(proxyRequest_->getUsername(), - ":", - proxyRequest_->getPassword())))); + std::string authText = proxyRequest_->getUsername(); + authText += ':'; + authText += proxyRequest_->getPassword(); + std::string val = "Basic "; + val += base64::encode(authText.begin(), authText.end()); + return std::make_pair("Proxy-Authorization:", val); } void HttpRequest::enableContentEncoding() diff --git a/src/HttpResponse.cc b/src/HttpResponse.cc index 6c67bc4c..59438d1a 100644 --- a/src/HttpResponse.cc +++ b/src/HttpResponse.cc @@ -416,7 +416,7 @@ void HttpResponse::getDigest(std::vector& result) const break; } util::lowercase(hashType); - digest = Base64::decode(digest); + digest = base64::decode(digest.begin(), digest.end()); if(!MessageDigest::supports(hashType) || MessageDigest::getDigestLength(hashType) != digest.size()) { continue; diff --git a/src/HttpServer.cc b/src/HttpServer.cc index 67e72993..d55c1e34 100644 --- a/src/HttpServer.cc +++ b/src/HttpServer.cc @@ -225,8 +225,7 @@ bool HttpServer::authenticate() A2_AUTHMETHOD, vend(A2_AUTHMETHOD)-1)) { return false; } - std::string userpass = Base64::decode(std::string(p.second.first, - p.second.second)); + std::string userpass = base64::decode(p.second.first, p.second.second); std::pair up; util::divide(up, userpass.begin(), userpass.end(), ':'); return util::streq(up.first.first, up.first.second, diff --git a/src/Makefile.am b/src/Makefile.am index 34b91058..8549b622 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -48,7 +48,7 @@ SRCS = Socket.h\ DefaultDiskWriterFactory.cc DefaultDiskWriterFactory.h\ File.cc File.h\ Option.cc Option.h\ - base64.cc base64.h\ + base64.h\ base32.cc base32.h\ LogFactory.cc LogFactory.h\ TimerA2.cc TimerA2.h\ diff --git a/src/RpcMethodImpl.cc b/src/RpcMethodImpl.cc index c152b8df..73453b6f 100644 --- a/src/RpcMethodImpl.cc +++ b/src/RpcMethodImpl.cc @@ -271,7 +271,9 @@ SharedHandle AddTorrentRpcMethod::process SharedHandle tempTorrentParam; if(req.jsonRpc) { - tempTorrentParam = String::g(Base64::decode(torrentParam->s())); + tempTorrentParam = String::g + (base64::decode(torrentParam->s().begin(), + torrentParam->s().end())); torrentParam = tempTorrentParam.get(); } std::vector uris; @@ -317,7 +319,9 @@ SharedHandle AddMetalinkRpcMethod::process SharedHandle tempMetalinkParam; if(req.jsonRpc) { - tempMetalinkParam = String::g(Base64::decode(metalinkParam->s())); + tempMetalinkParam = String::g + (base64::decode(metalinkParam->s().begin(), + metalinkParam->s().end())); metalinkParam = tempMetalinkParam.get(); } SharedHandle