From a653b4ad9217a45aad65a7eec71234e652acd446 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 13 Jun 2025 11:52:06 +0300 Subject: fixes #5046 (MsTeams: Will not login) --- protocols/Teams/src/teams_endpoint.cpp | 81 ---------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 protocols/Teams/src/teams_endpoint.cpp (limited to 'protocols/Teams/src/teams_endpoint.cpp') diff --git a/protocols/Teams/src/teams_endpoint.cpp b/protocols/Teams/src/teams_endpoint.cpp deleted file mode 100644 index b84494f8bd..0000000000 --- a/protocols/Teams/src/teams_endpoint.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* -Copyright (c) 2025 Miranda NG team (https://miranda-ng.org) - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation version 2 -of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include "stdafx.h" - -void CTeamsProto::SendCreateEndpoint() -{ - auto *pReq = new AsyncHttpRequest(REQUEST_POST, HOST_DEFAULT, "/users/ME/endpoints", &CTeamsProto::OnEndpointCreated); - pReq->flags |= NLHRF_REDIRECT; - pReq->m_szParam = "{\"endpointFeatures\":\"Agent,Presence2015,MessageProperties,CustomUserProperties,Casts,ModernBots,AutoIdleForWebApi,secureThreads,notificationStream,InviteFree,SupportsReadReceipts,ued\"}"; - pReq->AddHeader("Origin", "https://web.skype.com"); - pReq->AddHeader("Referer", "https://web.skype.com/"); - pReq->AddAuthentication(this); - - PushRequest(pReq); -} - -void CTeamsProto::OnEndpointCreated(MHttpResponse *response, AsyncHttpRequest*) -{ - if (IsStatusConnecting(m_iStatus)) - m_iStatus++; - - if (response == nullptr) { - debugLogA(__FUNCTION__ ": failed to get create endpoint"); - ProtoBroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, 1001); - SetStatus(ID_STATUS_OFFLINE); - return; - } - - switch (response->resultCode) { - case 200: - case 201: // okay, endpoint created - break; - - case 401: // unauthorized - default: - delSetting("TokenExpiresIn"); - ProtoBroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, 1001); - SetStatus(ID_STATUS_OFFLINE); - return; - } - - // Succeeded, decode the answer - if (auto *hdr = response->FindHeader("Set-RegistrationToken")) { - CMStringA szValue = hdr; - int iStart = 0; - while (true) { - CMStringA szToken = szValue.Tokenize(";", iStart).Trim(); - if (iStart == -1) - break; - - int iStart2 = 0; - CMStringA name = szToken.Tokenize("=", iStart2); - CMStringA val = szToken.Mid(iStart2); - - if (name == "registrationToken") - m_szRegToken = val; - else if (name == "endpointId") { - val.Replace("{", ""); - val.Replace("}", ""); - m_szEndpoint = val; - } - } - } - - LoggedIn(); -} -- cgit v1.2.3