summaryrefslogtreecommitdiff
path: root/net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch
reinit the tree, so we can have metadata
Diffstat (limited to 'net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch')
-rw-r--r--net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch b/net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch
new file mode 100644
index 000000000000..e01089eda91c
--- /dev/null
+++ b/net-libs/meanwhile/files/meanwhile-1.0.2-presence.patch
@@ -0,0 +1,42 @@
+# User Mikael Berthe <mikael.berthe@lilotux.net>
+# Date 1194208892 -3600
+Fix Awareness Snapshots with recent Sametime servers
+
+With recent Sametime servers there seem to be 2 bytes
+after the Snapshot Message Blocks.
+This patch tries to use the end of block offset provided
+by the server.
+
+diff -r be8d8f1d3ebc src/common.c
+--- a/src/common.c Sun Nov 04 18:48:00 2007 +0100
++++ b/src/common.c Tue Nov 06 11:46:26 2007 +0100
+@@ -878,23 +878,24 @@ gboolean mwAwareIdBlock_equal(const stru
+ /* 8.4.2.4 Snapshot */
+
+ void mwAwareSnapshot_get(struct mwGetBuffer *b, struct mwAwareSnapshot *idb) {
+- guint32 junk;
+- char *empty = NULL;
++ guint32 end_of_block;
+
+ g_return_if_fail(b != NULL);
+ g_return_if_fail(idb != NULL);
+
+- guint32_get(b, &junk);
++ guint32_get(b, &end_of_block);
+ mwAwareIdBlock_get(b, &idb->id);
+ mwString_get(b, &idb->group);
+ gboolean_get(b, &idb->online);
+-
+- g_free(empty);
+
+ if(idb->online) {
+ mwString_get(b, &idb->alt_id);
+ mwUserStatus_get(b, &idb->status);
+ mwString_get(b, &idb->name);
++ }
++
++ if( b->ptr < b->buf + end_of_block ) {
++ mwGetBuffer_advance(b, b->buf + end_of_block - b->ptr);
+ }
+ }
+