From 8c6d68a739cfc5af0921876a40ad1538213c5980 Mon Sep 17 00:00:00 2001 From: ElzorFox Date: Tue, 14 Jan 2020 13:38:33 +0500 Subject: =?UTF-8?q?VKontakte:=20login=20fix=20(header=20=E2=80=98Set-cooki?= =?UTF-8?q?e=E2=80=99=20can=20occur=20more=20than=20once)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/VKontakte/src/misc.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index d94361bb96..4fe0e82eb5 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -478,8 +478,11 @@ CMStringW CVkProto::RunRenameNick(LPCWSTR pwszOldName) void CVkProto::GrabCookies(NETLIBHTTPREQUEST *nhr) { debugLogA("CVkProto::GrabCookies"); - if (auto *pszCookie = Netlib_GetHeader(nhr, "Set-cookie")) { - CMStringA szValue = pszCookie, szCookieName, szCookieVal, szDomain; + for (int i = 0; i < nhr->headersCount; i++) { + if (_stricmp(nhr->headers[i].szName, "Set-cookie")) + continue; + + CMStringA szValue = nhr->headers[i].szValue, szCookieName, szCookieVal, szDomain; int iStart = 0; while (true) { bool bFirstToken = (iStart == 0); -- cgit v1.2.3