summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgssdp/gssdp-socket-source.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgssdp/gssdp-socket-source.c b/libgssdp/gssdp-socket-source.c
index de27394..01a81f0 100644
--- a/libgssdp/gssdp-socket-source.c
+++ b/libgssdp/gssdp-socket-source.c
@@ -239,9 +239,14 @@ gssdp_socket_source_do_init (GInitable *initable,
}
/* TTL */
- if (!priv->ttl)
+ if (priv->ttl == 0) {
/* UDA/1.0 says 4, UDA/1.1 says 2 */
priv->ttl = 4;
+ if (family == G_SOCKET_FAMILY_IPV6) {
+ /* UDA 2.0, Annex A says 10 hops */
+ priv->ttl = 10;
+ }
+ }
g_socket_set_multicast_ttl (priv->socket, priv->ttl);