summaryrefslogtreecommitdiff
path: root/protocols/VKontakte
diff options
context:
space:
mode:
authorElzorFox <elzorfox@ya.ru>2023-09-01 10:40:26 +0500
committerElzorFox <elzorfox@ya.ru>2023-09-01 10:40:26 +0500
commit21d1556442289f2c271c96000b0b959b17064958 (patch)
treed28a32acb679361a07ee5bb39076b6ef463a870f /protocols/VKontakte
parent0f92c8eb4ebc06fca84300f1338b53bc44fe9513 (diff)
VKontakte:
VK ID INT64 compatibility – part 2 version bump
Diffstat (limited to 'protocols/VKontakte')
-rw-r--r--protocols/VKontakte/src/main.cpp4
-rw-r--r--protocols/VKontakte/src/misc.cpp13
-rw-r--r--protocols/VKontakte/src/version.h4
-rw-r--r--protocols/VKontakte/src/vk_proto.cpp2
-rw-r--r--protocols/VKontakte/src/vk_struct.cpp3
5 files changed, 21 insertions, 5 deletions
diff --git a/protocols/VKontakte/src/main.cpp b/protocols/VKontakte/src/main.cpp
index 6241d8763f..fc8bf1a6fe 100644
--- a/protocols/VKontakte/src/main.cpp
+++ b/protocols/VKontakte/src/main.cpp
@@ -39,8 +39,8 @@ PLUGININFOEX pluginInfoEx =
CMPlugin::CMPlugin() :
ACCPROTOPLUGIN<CVkProto>("VKontakte", pluginInfoEx)
-{
- SetUniqueId("ID", DBVT_DWORD);
+{
+ SetUniqueId("ID");
}
/////////////////////////////////////////////////////////////////////////////////////////
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp
index aae67d094b..ff3ed307e1 100644
--- a/protocols/VKontakte/src/misc.cpp
+++ b/protocols/VKontakte/src/misc.cpp
@@ -130,6 +130,19 @@ void CVkProto::CheckUpdate()
}
setByte("Compatibility", 1);
}
+
+ if (getByte("Iint64IDCompatibility") < 1) {
+ for (auto& cc : AccContacts()) {
+ char szID[40];
+ _ltoa(ReadVKUserID(cc), szID, 10);
+ db_unset(cc, m_szModuleName, "ID");
+ setString(cc, "ID", szID);
+ }
+
+ setByte("Iint64IDCompatibility", 1);
+ bIint64IDCompatibility = true;
+ }
+
}
//////////////////////// bIint64IDCompatibility /////////////////////////////////////////
diff --git a/protocols/VKontakte/src/version.h b/protocols/VKontakte/src/version.h
index 377ddcad09..b198d6705d 100644
--- a/protocols/VKontakte/src/version.h
+++ b/protocols/VKontakte/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 1
-#define __RELEASE_NUM 14
-#define __BUILD_NUM 8
+#define __RELEASE_NUM 15
+#define __BUILD_NUM 0
#include <stdver.h>
diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp
index 678df6c0ec..6af4cfd606 100644
--- a/protocols/VKontakte/src/vk_proto.cpp
+++ b/protocols/VKontakte/src/vk_proto.cpp
@@ -43,7 +43,7 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) :
m_bErr404Return(false),
m_vkOptions(this)
{
- bIint64IDCompatibility = false;
+ bIint64IDCompatibility = getBool("Iint64IDCompatibility");
m_tWorkThreadTimer = m_tPoolThreadTimer = time(0);
InitQueue();
diff --git a/protocols/VKontakte/src/vk_struct.cpp b/protocols/VKontakte/src/vk_struct.cpp
index 52ababd13c..25e8fa9057 100644
--- a/protocols/VKontakte/src/vk_struct.cpp
+++ b/protocols/VKontakte/src/vk_struct.cpp
@@ -41,6 +41,9 @@ AsyncHttpRequest::AsyncHttpRequest(CVkProto *ppro, int iRequestType, LPCSTR _url
bIsMainConn = false;
AddHeader("Connection", "keep-alive");
+ if (ppro->bIint64IDCompatibility)
+ AddHeader("X-Owner", "long");
+
if (*_url == '/') { // relative url leads to a site
m_szUrl = ((bSecure) ? "https://" : "http://") + CMStringA("api.vk.com");
m_szUrl += _url;