diff options
Diffstat (limited to 'protocols/Discord')
| -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");
 | 
