[PATCH] Add MS-TURN TCP support
David Woodhouse
dwmw2 at infradead.org
Tue Mar 10 14:02:40 EDT 2015
From: Jakub Adam <jakub.adam at ktknet.cz>
---
This is the first of the patches adding application data support, as
part of the Lync-collab effort which is adding file transfer and screen
sharing support to Pidgin and Pidgin-SIPE.
It bumps the requirement for farstream02 to 0.2.5 as just discussed on
IRC.
I do hold out hope of backporting all this to 2.x in the not-so-distant
future, but 2.x doesn't support farstream02/gstreamer1.x at all yet so
the fact that it would no longer build with 0.2.4 is not a regression
there either.
configure.ac | 2 +-
libpurple/media/backend-fs2.c | 16 ++++++++++++----
libpurple/media/enum-types.c | 9 +++++++++
libpurple/media/enum-types.h | 5 ++++-
4 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 675e613..6ab69ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1138,7 +1138,7 @@ AC_ARG_ENABLE(farstream,
enable_farstream="$enableval", enable_farstream="yes")
if test "x$enable_farstream" != "xno"; then
if test "x$with_gstreamer" == "x1.0"; then
- PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2], [
+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2 >= 0.2.5], [
AC_SUBST(FARSTREAM_CFLAGS)
AC_SUBST(FARSTREAM_LIBS)
], [
diff --git a/libpurple/media/backend-fs2.c b/libpurple/media/backend-fs2.c
index ba39127..9a21801 100644
--- a/libpurple/media/backend-fs2.c
+++ b/libpurple/media/backend-fs2.c
@@ -226,8 +226,12 @@ purple_media_network_protocol_to_fs(PurpleMediaNetworkProtocol protocol)
switch (protocol) {
case PURPLE_MEDIA_NETWORK_PROTOCOL_UDP:
return FS_NETWORK_PROTOCOL_UDP;
- case PURPLE_MEDIA_NETWORK_PROTOCOL_TCP:
- return FS_NETWORK_PROTOCOL_TCP;
+ case PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE:
+ return FS_NETWORK_PROTOCOL_TCP_ACTIVE;
+ case PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE:
+ return FS_NETWORK_PROTOCOL_TCP_PASSIVE;
+ case PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO:
+ return FS_NETWORK_PROTOCOL_TCP_SO;
}
g_return_val_if_reached(FS_NETWORK_PROTOCOL_TCP);
}
@@ -238,8 +242,12 @@ purple_media_network_protocol_from_fs(FsNetworkProtocol protocol)
switch (protocol) {
case FS_NETWORK_PROTOCOL_UDP:
return PURPLE_MEDIA_NETWORK_PROTOCOL_UDP;
- case FS_NETWORK_PROTOCOL_TCP:
- return PURPLE_MEDIA_NETWORK_PROTOCOL_TCP;
+ case FS_NETWORK_PROTOCOL_TCP_ACTIVE:
+ return PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE;
+ case FS_NETWORK_PROTOCOL_TCP_PASSIVE:
+ return PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE;
+ case FS_NETWORK_PROTOCOL_TCP_SO:
+ return PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO;
}
g_return_val_if_reached(PURPLE_MEDIA_NETWORK_PROTOCOL_TCP);
}
diff --git a/libpurple/media/enum-types.c b/libpurple/media/enum-types.c
index 4626938..fab7ae9 100644
--- a/libpurple/media/enum-types.c
+++ b/libpurple/media/enum-types.c
@@ -143,6 +143,15 @@ purple_media_network_protocol_get_type()
{ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP,
"PURPLE_MEDIA_NETWORK_PROTOCOL_TCP",
"tcp" },
+ { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE,
+ "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE",
+ "tcp active" },
+ { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE,
+ "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE",
+ "tcp passive" },
+ { PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO,
+ "PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO",
+ "tcp so" },
{ 0, NULL, NULL }
};
type = g_enum_register_static("PurpleMediaNetworkProtocol",
diff --git a/libpurple/media/enum-types.h b/libpurple/media/enum-types.h
index e420ad4..aef16fb 100644
--- a/libpurple/media/enum-types.h
+++ b/libpurple/media/enum-types.h
@@ -103,7 +103,10 @@ typedef enum {
*/
typedef enum {
PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
- PURPLE_MEDIA_NETWORK_PROTOCOL_TCP
+ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP,
+ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE = PURPLE_MEDIA_NETWORK_PROTOCOL_TCP,
+ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE,
+ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO,
} PurpleMediaNetworkProtocol;
/**
--
2.1.0
--
dwmw2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5745 bytes
Desc: not available
URL: <https://pidgin.im/pipermail/devel/attachments/20150310/2030fe7e/attachment.bin>
More information about the Devel
mailing list