[arch-commits] Commit in pidgin-sipe/repos (6 files)
Evangelos Foutras
foutrelis at archlinux.org
Sat Feb 21 10:32:03 UTC 2015
Date: Saturday, February 21, 2015 @ 11:32:03
Author: foutrelis
Revision: 128067
archrelease: copy trunk to community-i686, community-x86_64
Added:
pidgin-sipe/repos/community-i686/0001-Fix-278-488-error-after-libnice-upgrade.patch
(from rev 128066, pidgin-sipe/trunk/0001-Fix-278-488-error-after-libnice-upgrade.patch)
pidgin-sipe/repos/community-i686/PKGBUILD
(from rev 128066, pidgin-sipe/trunk/PKGBUILD)
pidgin-sipe/repos/community-x86_64/0001-Fix-278-488-error-after-libnice-upgrade.patch
(from rev 128066, pidgin-sipe/trunk/0001-Fix-278-488-error-after-libnice-upgrade.patch)
pidgin-sipe/repos/community-x86_64/PKGBUILD
(from rev 128066, pidgin-sipe/trunk/PKGBUILD)
Deleted:
pidgin-sipe/repos/community-i686/PKGBUILD
pidgin-sipe/repos/community-x86_64/PKGBUILD
---------------------------------------------------------------------+
/PKGBUILD | 86 +++++++
community-i686/0001-Fix-278-488-error-after-libnice-upgrade.patch | 112 ++++++++++
community-i686/PKGBUILD | 34 ---
community-x86_64/0001-Fix-278-488-error-after-libnice-upgrade.patch | 112 ++++++++++
community-x86_64/PKGBUILD | 34 ---
5 files changed, 310 insertions(+), 68 deletions(-)
Copied: pidgin-sipe/repos/community-i686/0001-Fix-278-488-error-after-libnice-upgrade.patch (from rev 128066, pidgin-sipe/trunk/0001-Fix-278-488-error-after-libnice-upgrade.patch)
===================================================================
--- community-i686/0001-Fix-278-488-error-after-libnice-upgrade.patch (rev 0)
+++ community-i686/0001-Fix-278-488-error-after-libnice-upgrade.patch 2015-02-21 10:32:03 UTC (rev 128067)
@@ -0,0 +1,112 @@
+From 7ac053271f74f3c3d3b2d2d01dccda13237b344b Mon Sep 17 00:00:00 2001
+From: Jakub Adam <jakub.adam at ktknet.cz>
+Date: Thu, 12 Feb 2015 18:43:57 +0100
+Subject: [PATCH] Fix #278: 488 error after libnice upgrade
+
+When libnice 0.1.10 is combined with Farstream 0.1.x, TCP candidates
+that libnice now always generates are incorrectly labeled as UDP by
+Farstream (which has no support for TCP in 0.1 branch). We try to filter
+them in SIPE, assuming that RTP+RTCP UDP pairs that share the same port
+are actually mistagged TCP candidates.
+---
+ ChangeLog | 3 +++
+ src/core/sipe-media.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 57 insertions(+), 2 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index a216fe1..40fef99 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++version 1.20.0 "???" (XXXX-XX-XX)
++ - Fixed #278: 488 error after libnice upgrade (Jakub Adam)
++
+ version 1.19.0 "Auto Authentication, MFA & Search Improvements" (2015-02-07)
+ - Feature #80: Move parsing of login name (Stefan Becker)
+ - Feature #79: support for Adium group chat bookmarks (David Matz, Stefan Becker)
+diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c
+index 90b195b..710662e 100644
+--- a/src/core/sipe-media.c
++++ b/src/core/sipe-media.c
+@@ -3,7 +3,7 @@
+ *
+ * pidgin-sipe
+ *
+- * Copyright (C) 2011-2014 SIPE Project <http://sipe.sourceforge.net/>
++ * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net/>
+ * Copyright (C) 2010 Jakub Adam <jakub.adam at ktknet.cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+@@ -191,6 +191,56 @@ sdpcodec_compare(gconstpointer a, gconstpointer b)
+ ((const struct sdpcodec *)b)->id;
+ }
+
++static GList *
++remove_wrong_farstream_0_1_tcp_candidates(GList *candidates)
++{
++ GList *i = candidates;
++ GHashTable *foundation_to_candidate = g_hash_table_new_full(g_str_hash,
++ g_str_equal,
++ g_free,
++ NULL);
++
++ while (i) {
++ GList *next = i->next;
++ struct sipe_backend_candidate *c1 = i->data;
++
++ if (sipe_backend_candidate_get_protocol(c1) == SIPE_NETWORK_PROTOCOL_UDP) {
++ gchar *foundation = sipe_backend_candidate_get_foundation(c1);
++ struct sipe_backend_candidate *c2 = g_hash_table_lookup(foundation_to_candidate,
++ foundation);
++
++ if (c2) {
++ g_free(foundation);
++
++ if (sipe_backend_candidate_get_port(c1) ==
++ sipe_backend_candidate_get_port(c2) ||
++ (sipe_backend_candidate_get_type(c1) !=
++ SIPE_CANDIDATE_TYPE_HOST &&
++ sipe_backend_candidate_get_base_port(c1) ==
++ sipe_backend_candidate_get_base_port(c2))) {
++ /*
++ * We assume that RTP+RTCP UDP pairs
++ * that share the same port are
++ * actually mistagged TCP candidates.
++ */
++ candidates = g_list_remove(candidates, c2);
++ candidates = g_list_delete_link(candidates, i);
++ sipe_backend_candidate_free(c1);
++ sipe_backend_candidate_free(c2);
++ }
++ } else
++ /* hash table takes ownership of "foundation" */
++ g_hash_table_insert(foundation_to_candidate, foundation, c1);
++ }
++
++ i = next;
++ }
++
++ g_hash_table_destroy(foundation_to_candidate);
++
++ return candidates;
++}
++
+ static void
+ fill_zero_tcp_act_ports_from_tcp_pass(GSList *candidates)
+ {
+@@ -315,9 +365,11 @@ backend_stream_to_sdpmedia(struct sipe_backend_media *backend_media,
+ // Otherwise send all available local candidates.
+ candidates = sipe_backend_media_get_active_local_candidates(backend_media,
+ backend_stream);
+- if (!candidates)
++ if (!candidates) {
+ candidates = sipe_backend_get_local_candidates(backend_media,
+ backend_stream);
++ candidates = remove_wrong_farstream_0_1_tcp_candidates(candidates);
++ }
+
+ media->candidates = backend_candidates_to_sdpcandidate(candidates);
+ fill_zero_tcp_act_ports_from_tcp_pass(media->candidates);
+--
+2.3.0
+
Deleted: community-i686/PKGBUILD
===================================================================
--- community-i686/PKGBUILD 2015-02-21 10:31:51 UTC (rev 128066)
+++ community-i686/PKGBUILD 2015-02-21 10:32:03 UTC (rev 128067)
@@ -1,34 +0,0 @@
-# $Id$
-# Maintainer: Jonathan Steel <jsteel at archlinux.org>
-# Contributor: Gicu Gorodenco <cyclopsihus at gmail.com>
-# Contributor: MaLiK <malik_cjm at o2.pl>
-# Contributor: dpevp <daniel.plaza.espi at gmail.com>
-# Contributor: Magnus Therning <magnus at therning.org>
-# Contributor: Anthony <anthony at littlegno.me>
-
-pkgname=pidgin-sipe
-pkgver=1.19.0
-pkgrel=1
-pkgdesc="Third-party Pidgin plugin for Microsoft Office 365/Lync/LCS/OCS"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://sipe.sourceforge.net/"
-depends=('gmime' 'libpurple')
-makedepends=('intltool')
-options=('!buildflags')
-source=(http://downloads.sourceforge.net/project/sipe/sipe/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('0022c30982527c9cf94e4ad0a162aa08')
-
-build() {
- cd $pkgname-$pkgver
-
- ./configure --prefix=/usr --disable-telepathy
-
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-
- make DESTDIR="$pkgdir" install
-}
Copied: pidgin-sipe/repos/community-i686/PKGBUILD (from rev 128066, pidgin-sipe/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD (rev 0)
+++ community-i686/PKGBUILD 2015-02-21 10:32:03 UTC (rev 128067)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Jonathan Steel <jsteel at archlinux.org>
+# Contributor: Gicu Gorodenco <cyclopsihus at gmail.com>
+# Contributor: MaLiK <malik_cjm at o2.pl>
+# Contributor: dpevp <daniel.plaza.espi at gmail.com>
+# Contributor: Magnus Therning <magnus at therning.org>
+# Contributor: Anthony <anthony at littlegno.me>
+
+pkgname=pidgin-sipe
+pkgver=1.19.0
+pkgrel=2
+pkgdesc="Third-party Pidgin plugin for Microsoft Office 365/Lync/LCS/OCS"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://sipe.sourceforge.net/"
+depends=('gmime' 'libpurple')
+makedepends=('intltool')
+options=('!buildflags')
+source=(http://downloads.sourceforge.net/project/sipe/sipe/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2
+ 0001-Fix-278-488-error-after-libnice-upgrade.patch)
+md5sums=('0022c30982527c9cf94e4ad0a162aa08'
+ '5fe05bae567b8ff764b76e8a290b42cb')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # https://sourceforge.net/p/sipe/bugs/278/
+ patch -Np1 -i ../0001-Fix-278-488-error-after-libnice-upgrade.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr --disable-telepathy
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
Copied: pidgin-sipe/repos/community-x86_64/0001-Fix-278-488-error-after-libnice-upgrade.patch (from rev 128066, pidgin-sipe/trunk/0001-Fix-278-488-error-after-libnice-upgrade.patch)
===================================================================
--- community-x86_64/0001-Fix-278-488-error-after-libnice-upgrade.patch (rev 0)
+++ community-x86_64/0001-Fix-278-488-error-after-libnice-upgrade.patch 2015-02-21 10:32:03 UTC (rev 128067)
@@ -0,0 +1,112 @@
+From 7ac053271f74f3c3d3b2d2d01dccda13237b344b Mon Sep 17 00:00:00 2001
+From: Jakub Adam <jakub.adam at ktknet.cz>
+Date: Thu, 12 Feb 2015 18:43:57 +0100
+Subject: [PATCH] Fix #278: 488 error after libnice upgrade
+
+When libnice 0.1.10 is combined with Farstream 0.1.x, TCP candidates
+that libnice now always generates are incorrectly labeled as UDP by
+Farstream (which has no support for TCP in 0.1 branch). We try to filter
+them in SIPE, assuming that RTP+RTCP UDP pairs that share the same port
+are actually mistagged TCP candidates.
+---
+ ChangeLog | 3 +++
+ src/core/sipe-media.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 57 insertions(+), 2 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index a216fe1..40fef99 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++version 1.20.0 "???" (XXXX-XX-XX)
++ - Fixed #278: 488 error after libnice upgrade (Jakub Adam)
++
+ version 1.19.0 "Auto Authentication, MFA & Search Improvements" (2015-02-07)
+ - Feature #80: Move parsing of login name (Stefan Becker)
+ - Feature #79: support for Adium group chat bookmarks (David Matz, Stefan Becker)
+diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c
+index 90b195b..710662e 100644
+--- a/src/core/sipe-media.c
++++ b/src/core/sipe-media.c
+@@ -3,7 +3,7 @@
+ *
+ * pidgin-sipe
+ *
+- * Copyright (C) 2011-2014 SIPE Project <http://sipe.sourceforge.net/>
++ * Copyright (C) 2011-2015 SIPE Project <http://sipe.sourceforge.net/>
+ * Copyright (C) 2010 Jakub Adam <jakub.adam at ktknet.cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+@@ -191,6 +191,56 @@ sdpcodec_compare(gconstpointer a, gconstpointer b)
+ ((const struct sdpcodec *)b)->id;
+ }
+
++static GList *
++remove_wrong_farstream_0_1_tcp_candidates(GList *candidates)
++{
++ GList *i = candidates;
++ GHashTable *foundation_to_candidate = g_hash_table_new_full(g_str_hash,
++ g_str_equal,
++ g_free,
++ NULL);
++
++ while (i) {
++ GList *next = i->next;
++ struct sipe_backend_candidate *c1 = i->data;
++
++ if (sipe_backend_candidate_get_protocol(c1) == SIPE_NETWORK_PROTOCOL_UDP) {
++ gchar *foundation = sipe_backend_candidate_get_foundation(c1);
++ struct sipe_backend_candidate *c2 = g_hash_table_lookup(foundation_to_candidate,
++ foundation);
++
++ if (c2) {
++ g_free(foundation);
++
++ if (sipe_backend_candidate_get_port(c1) ==
++ sipe_backend_candidate_get_port(c2) ||
++ (sipe_backend_candidate_get_type(c1) !=
++ SIPE_CANDIDATE_TYPE_HOST &&
++ sipe_backend_candidate_get_base_port(c1) ==
++ sipe_backend_candidate_get_base_port(c2))) {
++ /*
++ * We assume that RTP+RTCP UDP pairs
++ * that share the same port are
++ * actually mistagged TCP candidates.
++ */
++ candidates = g_list_remove(candidates, c2);
++ candidates = g_list_delete_link(candidates, i);
++ sipe_backend_candidate_free(c1);
++ sipe_backend_candidate_free(c2);
++ }
++ } else
++ /* hash table takes ownership of "foundation" */
++ g_hash_table_insert(foundation_to_candidate, foundation, c1);
++ }
++
++ i = next;
++ }
++
++ g_hash_table_destroy(foundation_to_candidate);
++
++ return candidates;
++}
++
+ static void
+ fill_zero_tcp_act_ports_from_tcp_pass(GSList *candidates)
+ {
+@@ -315,9 +365,11 @@ backend_stream_to_sdpmedia(struct sipe_backend_media *backend_media,
+ // Otherwise send all available local candidates.
+ candidates = sipe_backend_media_get_active_local_candidates(backend_media,
+ backend_stream);
+- if (!candidates)
++ if (!candidates) {
+ candidates = sipe_backend_get_local_candidates(backend_media,
+ backend_stream);
++ candidates = remove_wrong_farstream_0_1_tcp_candidates(candidates);
++ }
+
+ media->candidates = backend_candidates_to_sdpcandidate(candidates);
+ fill_zero_tcp_act_ports_from_tcp_pass(media->candidates);
+--
+2.3.0
+
Deleted: community-x86_64/PKGBUILD
===================================================================
--- community-x86_64/PKGBUILD 2015-02-21 10:31:51 UTC (rev 128066)
+++ community-x86_64/PKGBUILD 2015-02-21 10:32:03 UTC (rev 128067)
@@ -1,34 +0,0 @@
-# $Id$
-# Maintainer: Jonathan Steel <jsteel at archlinux.org>
-# Contributor: Gicu Gorodenco <cyclopsihus at gmail.com>
-# Contributor: MaLiK <malik_cjm at o2.pl>
-# Contributor: dpevp <daniel.plaza.espi at gmail.com>
-# Contributor: Magnus Therning <magnus at therning.org>
-# Contributor: Anthony <anthony at littlegno.me>
-
-pkgname=pidgin-sipe
-pkgver=1.19.0
-pkgrel=1
-pkgdesc="Third-party Pidgin plugin for Microsoft Office 365/Lync/LCS/OCS"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://sipe.sourceforge.net/"
-depends=('gmime' 'libpurple')
-makedepends=('intltool')
-options=('!buildflags')
-source=(http://downloads.sourceforge.net/project/sipe/sipe/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('0022c30982527c9cf94e4ad0a162aa08')
-
-build() {
- cd $pkgname-$pkgver
-
- ./configure --prefix=/usr --disable-telepathy
-
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-
- make DESTDIR="$pkgdir" install
-}
Copied: pidgin-sipe/repos/community-x86_64/PKGBUILD (from rev 128066, pidgin-sipe/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD (rev 0)
+++ community-x86_64/PKGBUILD 2015-02-21 10:32:03 UTC (rev 128067)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Jonathan Steel <jsteel at archlinux.org>
+# Contributor: Gicu Gorodenco <cyclopsihus at gmail.com>
+# Contributor: MaLiK <malik_cjm at o2.pl>
+# Contributor: dpevp <daniel.plaza.espi at gmail.com>
+# Contributor: Magnus Therning <magnus at therning.org>
+# Contributor: Anthony <anthony at littlegno.me>
+
+pkgname=pidgin-sipe
+pkgver=1.19.0
+pkgrel=2
+pkgdesc="Third-party Pidgin plugin for Microsoft Office 365/Lync/LCS/OCS"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://sipe.sourceforge.net/"
+depends=('gmime' 'libpurple')
+makedepends=('intltool')
+options=('!buildflags')
+source=(http://downloads.sourceforge.net/project/sipe/sipe/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2
+ 0001-Fix-278-488-error-after-libnice-upgrade.patch)
+md5sums=('0022c30982527c9cf94e4ad0a162aa08'
+ '5fe05bae567b8ff764b76e8a290b42cb')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # https://sourceforge.net/p/sipe/bugs/278/
+ patch -Np1 -i ../0001-Fix-278-488-error-after-libnice-upgrade.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr --disable-telepathy
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
More information about the arch-commits
mailing list