summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-10-30 20:30:00 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-10-30 20:30:00 (GMT)
commitf32929128e1d93517f24253ed58801acc32ce814 (patch)
treef69a196fe12336da410627cb4761fc01b7b51a0b /src
parent67c82ee283b81c32c77fd663819987df68097717 (diff)
downloadpowder-f32929128e1d93517f24253ed58801acc32ce814.zip
powder-f32929128e1d93517f24253ed58801acc32ce814.tar.gz
Hotfix: Authenticate all Web&ApiRequests to fix save loading/voting issuesHEADmaster
Diffstat (limited to 'src')
-rw-r--r--src/client/requestbroker/APIRequest.cpp11
-rw-r--r--src/client/requestbroker/WebRequest.cpp10
2 files changed, 20 insertions, 1 deletions
diff --git a/src/client/requestbroker/APIRequest.cpp b/src/client/requestbroker/APIRequest.cpp
index aa42f10..6685b42 100644
--- a/src/client/requestbroker/APIRequest.cpp
+++ b/src/client/requestbroker/APIRequest.cpp
@@ -97,7 +97,6 @@ RequestBroker::ProcessResponse APIRequest::Process(RequestBroker & rb)
if(Client::Ref().GetAuthUser().ID)
{
- std::cout << typeid(*this).name() << " Authenticated " << std::endl;
User user = Client::Ref().GetAuthUser();
char userName[12];
char *userSession = new char[user.SessionID.length() + 1];
@@ -115,6 +114,16 @@ RequestBroker::ProcessResponse APIRequest::Process(RequestBroker & rb)
else
{
HTTPContext = http_async_req_start(NULL, (char *)URL.c_str(), NULL, 0, 0);
+ if(Client::Ref().GetAuthUser().ID)
+ {
+ User user = Client::Ref().GetAuthUser();
+ char userName[12];
+ char *userSession = new char[user.SessionID.length() + 1];
+ std::strcpy(userName, format::NumberToString<int>(user.ID).c_str());
+ std::strcpy(userSession, user.SessionID.c_str());
+ http_auth_headers(HTTPContext, userName, NULL, userSession);
+ delete userSession;
+ }
}
//RequestTime = time(NULL);
}
diff --git a/src/client/requestbroker/WebRequest.cpp b/src/client/requestbroker/WebRequest.cpp
index fffdcc8..532cda7 100644
--- a/src/client/requestbroker/WebRequest.cpp
+++ b/src/client/requestbroker/WebRequest.cpp
@@ -114,6 +114,16 @@ RequestBroker::ProcessResponse WebRequest::Process(RequestBroker & rb)
else
{
HTTPContext = http_async_req_start(NULL, (char *)URL.c_str(), NULL, 0, 0);
+ if(Client::Ref().GetAuthUser().ID)
+ {
+ User user = Client::Ref().GetAuthUser();
+ char userName[12];
+ char *userSession = new char[user.SessionID.length() + 1];
+ std::strcpy(userName, format::NumberToString<int>(user.ID).c_str());
+ std::strcpy(userSession, user.SessionID.c_str());
+ http_auth_headers(HTTPContext, userName, NULL, userSession);
+ delete userSession;
+ }
}
}
return RequestBroker::OK;