summaryrefslogtreecommitdiff
path: root/protocols/FacebookRM/src
diff options
context:
space:
mode:
authorRobert Pösel <robyer@seznam.cz>2014-11-09 23:03:49 +0000
committerRobert Pösel <robyer@seznam.cz>2014-11-09 23:03:49 +0000
commit2f4eaac57045bcb45f0c7087437649a9f664410d (patch)
tree23a5dded9c82ec63df9209f56e7118679eca226c /protocols/FacebookRM/src
parent527208215068dfe86e7a666988b36bdf811a427f (diff)
Facebook: Fix disconnection few seconds after login for some people
git-svn-id: http://svn.miranda-ng.org/main/trunk@10941 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/FacebookRM/src')
-rw-r--r--protocols/FacebookRM/src/client.h3
-rw-r--r--protocols/FacebookRM/src/communication.cpp7
-rw-r--r--protocols/FacebookRM/src/version.h2
3 files changed, 8 insertions, 4 deletions
diff --git a/protocols/FacebookRM/src/client.h b/protocols/FacebookRM/src/client.h
index 03a62be446..14b2731232 100644
--- a/protocols/FacebookRM/src/client.h
+++ b/protocols/FacebookRM/src/client.h
@@ -39,7 +39,7 @@ public:
{
username_ = password_ = \
chat_sequence_num_ = chat_channel_host_ = chat_channel_partition_ = \
- dtsg_ = logout_hash_ = chat_sticky_num_ = chat_conn_num_ = chat_clientid_ = chat_traceid_ = "";
+ dtsg_ = logout_hash_ = chat_sticky_num_ = chat_sticky_pool_ = chat_conn_num_ = chat_clientid_ = chat_traceid_ = "";
msgid_ = error_count_ = last_feeds_update_ = last_notification_time_ = 0;
@@ -74,6 +74,7 @@ public:
std::string chat_sequence_num_;
std::string chat_reconnect_reason_;
std::string chat_sticky_num_;
+ std::string chat_sticky_pool_;
std::string chat_conn_num_;
std::string chat_clientid_;
std::string chat_traceid_;
diff --git a/protocols/FacebookRM/src/communication.cpp b/protocols/FacebookRM/src/communication.cpp
index fe8fdc3cfb..3cefc8a822 100644
--- a/protocols/FacebookRM/src/communication.cpp
+++ b/protocols/FacebookRM/src/communication.cpp
@@ -539,6 +539,9 @@ std::string facebook_client::choose_action(RequestType request_type, std::string
if (!this->chat_sticky_num_.empty())
action += "&sticky_token=" + this->chat_sticky_num_;
+ if (!this->chat_sticky_pool_.empty())
+ action += "&sticky_pool=" + this->chat_sticky_pool_;
+
if (!this->chat_traceid_.empty())
action += "&traceid=" + this->chat_traceid_;
@@ -1139,8 +1142,8 @@ bool facebook_client::channel()
}
else if (type == "lb") {
// Some new stuff (idk how does it work yet)
- this->chat_channel_host_ = utils::text::source_get_value(&resp.data, 2, "\"vip\":\"", "\"");
- parent->debugLogA(" Got self channel host: %s", this->chat_channel_host_.c_str());
+ this->chat_sticky_pool_ = utils::text::source_get_value(&resp.data, 2, "\"pool\":\"", "\"");
+ parent->debugLogA(" Got self sticky pool: %s", this->chat_sticky_pool_.c_str());
this->chat_sticky_num_ = utils::text::source_get_value2(&resp.data, "\"sticky\":\"", "\"");
parent->debugLogA(" Got self sticky number: %s", this->chat_sticky_num_.c_str());
diff --git a/protocols/FacebookRM/src/version.h b/protocols/FacebookRM/src/version.h
index 234a5218ab..dad9979bf5 100644
--- a/protocols/FacebookRM/src/version.h
+++ b/protocols/FacebookRM/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 2
#define __RELEASE_NUM 9
-#define __BUILD_NUM 3
+#define __BUILD_NUM 4
#include <stdver.h>