diff options
-rw-r--r-- | protocols/Discord/src/http.cpp | 4 | ||||
-rw-r--r-- | protocols/Discord/src/mfa.cpp | 5 | ||||
-rw-r--r-- | protocols/Discord/src/server.cpp | 4 |
3 files changed, 11 insertions, 2 deletions
diff --git a/protocols/Discord/src/http.cpp b/protocols/Discord/src/http.cpp index 87cdf9369a..b8e71aa09a 100644 --- a/protocols/Discord/src/http.cpp +++ b/protocols/Discord/src/http.cpp @@ -53,9 +53,13 @@ AsyncHttpRequest::AsyncHttpRequest(CDiscordProto *ppro, int iRequestType, LPCSTR flags = NLHRF_HTTP11 | NLHRF_REDIRECT | NLHRF_SSL;
if (ppro->m_szAccessToken != nullptr) {
AddHeader("Authorization", ppro->m_szAccessToken);
+ #ifndef _DEBUG
flags |= NLHRF_DUMPASTEXT | NLHRF_NODUMPHEADERS;
+ #endif
}
+ #ifndef _DEBUG
else flags |= NLHRF_NODUMPSEND;
+ #endif
if (pRoot != nullptr) {
ptrW text(json_write(pRoot));
diff --git a/protocols/Discord/src/mfa.cpp b/protocols/Discord/src/mfa.cpp index 3a3032e529..f70ffd287d 100644 --- a/protocols/Discord/src/mfa.cpp +++ b/protocols/Discord/src/mfa.cpp @@ -102,7 +102,10 @@ public: m_label.SetText(TranslateT("Enter SMS code you received:")); { JSONNode root; root << CHAR_PARAM("ticket", m_szTicket); - m_proto->Push(new AsyncHttpRequest(m_proto, REQUEST_POST, "/auth/mfa/sms/send", 0, &root)); + auto *pReq = new AsyncHttpRequest(m_proto, REQUEST_POST, "/auth/mfa/sms/send", 0, &root); + if (m_proto->m_szCookie) + pReq->AddHeader("Cookie", m_proto->m_szCookie); + m_proto->Push(pReq); } break; default: diff --git a/protocols/Discord/src/server.cpp b/protocols/Discord/src/server.cpp index 113ea75f72..cb520a7624 100644 --- a/protocols/Discord/src/server.cpp +++ b/protocols/Discord/src/server.cpp @@ -290,8 +290,10 @@ void CDiscordProto::OnReceiveToken(MHttpResponse *pReply, AsyncHttpRequest*) return;
}
- if (data["mfa"].as_bool())
+ if (data["mfa"].as_bool()) {
+ m_szCookie = pReply->GetCookies();
ShowMfaDialog(data);
+ }
else {
ConnectionFailed(LOGINERR_WRONGPASSWORD);
debugLogA("Strange empty token received, exiting");
|