Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dequis/purple-facebook.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2017-09-17 08:15:26 +0300
committerdequis <dx@dxzone.com.ar>2017-09-17 08:15:26 +0300
commit215316eebbbe445b9739428ea2f2505fa33a74cc (patch)
treee2c84226f39035d7ef4bfed35e5281a1ad5e3888
parentc40d9fade51f4aa08adacf0ebe81d79d2650ffb3 (diff)
Test build, 0.9.4 + thrift fixes onlymystery-meat-3
-rw-r--r--patches/15-thrift.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/patches/15-thrift.patch b/patches/15-thrift.patch
new file mode 100644
index 0000000..6b10f7d
--- /dev/null
+++ b/patches/15-thrift.patch
@@ -0,0 +1,34 @@
+# HG changeset patch
+# User dx <dx@dxzone.com.ar>
+# Date 1504135981 10800
+# Wed Aug 30 20:33:01 2017 -0300
+# Node ID 9ff9acf9fa1486a13be913eb4229242eb3d04496
+# Parent 4fe93b8bdcb43a2d00d80ed62f5454a69bf48c54
+facebook: Fix "Failed to read thrift" with unknown fields in /t_p payload
+
+>Login error: Failed to read thrift: facebook-api.c:1815
+>fb_api_cb_publish_pt: assertion 'FALSE' failed
+
+diff --git a/libpurple/protocols/facebook/api.c b/libpurple/protocols/facebook/api.c
+--- a/libpurple/protocols/facebook/api.c
++++ b/libpurple/protocols/facebook/api.c
+@@ -1858,8 +1858,18 @@ fb_api_cb_publish_pt(FbThrift *thft, GSL
+ FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
+ break;
+
++ case 6:
++ /* Unknown new field */
++ FB_API_TCHK(type == FB_THRIFT_TYPE_I64);
++ FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
++ break;
++
+ default:
+- FB_API_TCHK(FALSE);
++ /* Try to read unknown fields as varint */
++ FB_API_TCHK(type == FB_THRIFT_TYPE_I16 ||
++ type == FB_THRIFT_TYPE_I32 ||
++ type == FB_THRIFT_TYPE_I64);
++ FB_API_TCHK(fb_thrift_read_i64(thft, NULL));
+ break;
+ }
+ }