diff options
author | George Hazan <george.hazan@gmail.com> | 2024-05-02 19:14:50 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-05-02 19:14:50 +0300 |
commit | 7800bc4031eec1be0ac77320e4ab933e2f34b196 (patch) | |
tree | 96c19da4050eef1dd92e791dd95639fb2cbc828b /protocols | |
parent | 638ed16b9f3016e6e7bd7036ac1ac114425bdb76 (diff) |
fixes #4384 (Discord: SMS не отправляется при входе через Миранду)
Diffstat (limited to 'protocols')
-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");
|