From 7800bc4031eec1be0ac77320e4ab933e2f34b196 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 2 May 2024 19:14:50 +0300 Subject: =?UTF-8?q?fixes=20#4384=20(Discord:=20SMS=20=D0=BD=D0=B5=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=85=D0=BE=D0=B4=D0=B5=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=9C=D0=B8=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B4=D1=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Discord/src/http.cpp | 4 ++++ protocols/Discord/src/mfa.cpp | 5 ++++- protocols/Discord/src/server.cpp | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'protocols') 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"); -- cgit v1.2.3