summaryrefslogtreecommitdiff
path: root/protocols/FacebookRM/src/connection.cpp
diff options
context:
space:
mode:
authorRobert Pösel <robyer@seznam.cz>2015-02-15 10:24:20 +0000
committerRobert Pösel <robyer@seznam.cz>2015-02-15 10:24:20 +0000
commit60b391e2a55749c0cf9e96f53515673a0898a0d5 (patch)
tree6c750dc8e278a30773a0a60cf4a6e6235a63931d /protocols/FacebookRM/src/connection.cpp
parent39492f39ace0b10ff2ee6c9d61c22f2ac7d4a839 (diff)
Facebook: Fix for infinite channel "starting"; Version bump
This fixes it by better using of random number generator. Now we use rand_s() instead of rand() because of thread safety and also we have random "seed" per each facebook_client with much better initial random seed. Previously when user logged off and then logged in again, it used same randomgly generated clientid which resulted in confusion on Facebook server and "infinite" repeated requests for channel every second from Miranda... This bug was here probably for many months and affected all stable and development versions. git-svn-id: http://svn.miranda-ng.org/main/trunk@12119 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/FacebookRM/src/connection.cpp')
-rw-r--r--protocols/FacebookRM/src/connection.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/protocols/FacebookRM/src/connection.cpp b/protocols/FacebookRM/src/connection.cpp
index 42f1526e38..8eaec5044a 100644
--- a/protocols/FacebookRM/src/connection.cpp
+++ b/protocols/FacebookRM/src/connection.cpp
@@ -54,6 +54,10 @@ void FacebookProto::ChangeStatus(void*)
ToggleStatusMenuItems(false);
delSetting(FACEBOOK_KEY_LOGON_TS);
+ facy.chat_traceid_.clear();
+ facy.chat_sticky_num_.clear();
+ facy.chat_sticky_pool_.clear();
+
facy.clear_cookies();
facy.clear_notifications();
facy.clear_chatrooms();
@@ -186,7 +190,7 @@ bool FacebookProto::NegotiateConnection()
facy.https_ = getByte(FACEBOOK_KEY_FORCE_HTTPS, DEFAULT_FORCE_HTTPS) != 0;
// Generate random clientid for this connection
- facy.chat_clientid_ = utils::text::rand_string(8, "0123456789abcdef");
+ facy.chat_clientid_ = utils::text::rand_string(8, "0123456789abcdef", &facy.random_);
// Create default group for new contacts
if (m_tszDefaultGroup)