summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-05-02 19:14:50 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-05-02 19:14:50 +0300
commit7800bc4031eec1be0ac77320e4ab933e2f34b196 (patch)
tree96c19da4050eef1dd92e791dd95639fb2cbc828b /protocols
parent638ed16b9f3016e6e7bd7036ac1ac114425bdb76 (diff)
fixes #4384 (Discord: SMS не отправляется при входе через Миранду)
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Discord/src/http.cpp4
-rw-r--r--protocols/Discord/src/mfa.cpp5
-rw-r--r--protocols/Discord/src/server.cpp4
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");