diff -Nru gssdp-1.2.2/debian/changelog gssdp-1.2.3/debian/changelog --- gssdp-1.2.2/debian/changelog 2020-01-07 18:46:32.000000000 +0000 +++ gssdp-1.2.3/debian/changelog 2020-06-25 14:27:36.000000000 +0000 @@ -1,3 +1,16 @@ +gssdp (1.2.3-2) unstable; urgency=medium + + * debian/libgssdp-1.2-0.symbols: + - correctly update the symbols now + + -- Sebastien Bacher Thu, 25 Jun 2020 16:27:36 +0200 + +gssdp (1.2.3-1) unstable; urgency=medium + + * New upstream release + + -- Sebastien Bacher Thu, 25 Jun 2020 16:15:43 +0200 + gssdp (1.2.2-1) unstable; urgency=medium * New upstream release @@ -5,7 +18,6 @@ * debian/libgssdp-1.2-0.symbols: Mark gssdp_pktinfo6_message_get_type and gssdp_pktinfo_message_get_type symbols as arch=linux-any. * debian/control: Bump Standards-Version to 4.4.1 (no further changes) - * New upstream release * Add debian/docs to provide NEWS and README files, thanks to Patrice Duroux (Closes: #917356) diff -Nru gssdp-1.2.2/debian/libgssdp-1.2-0.symbols gssdp-1.2.3/debian/libgssdp-1.2-0.symbols --- gssdp-1.2.2/debian/libgssdp-1.2-0.symbols 2020-01-07 18:46:32.000000000 +0000 +++ gssdp-1.2.3/debian/libgssdp-1.2-0.symbols 2020-06-25 14:27:36.000000000 +0000 @@ -5,6 +5,7 @@ gssdp_client_clear_headers@Base 0.14.8 gssdp_client_get_active@Base 0.12.0 gssdp_client_get_address@Base 1.1.3 + gssdp_client_get_address_mask@Base 1.2.3-0ubuntu1~build1 gssdp_client_get_family@Base 1.1.3 gssdp_client_get_host_ip@Base 0.12.0 gssdp_client_get_index@Base 1.1.3 diff -Nru gssdp-1.2.2/debian/patches/disable-multicast-tests.patch gssdp-1.2.3/debian/patches/disable-multicast-tests.patch --- gssdp-1.2.2/debian/patches/disable-multicast-tests.patch 2020-01-07 18:46:32.000000000 +0000 +++ gssdp-1.2.3/debian/patches/disable-multicast-tests.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -From: Jeremy Bicha -Date: Wed, 29 Nov 2017 11:15:15 -0500 -Subject: disable multicast tests - -These build tests appear to violate Debian Policy 4.9's -"no required targets may attempt network access" - -https://bugs.debian.org/882216 ---- - tests/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/meson.build b/tests/meson.build -index 09e1e8b..26fe2ad 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -8,4 +8,4 @@ regression = executable('test-regression', - - # Cannot run tests in parallel because both would do UPnP on localhost --test('Functional test', functional, is_parallel: false) -+#test('Functional test', functional, is_parallel: false) - test('Bug regression test', regression, is_parallel: false) diff -Nru gssdp-1.2.2/debian/patches/series gssdp-1.2.3/debian/patches/series --- gssdp-1.2.2/debian/patches/series 2020-01-07 18:46:32.000000000 +0000 +++ gssdp-1.2.3/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -disable-multicast-tests.patch diff -Nru gssdp-1.2.2/debian/rules gssdp-1.2.3/debian/rules --- gssdp-1.2.2/debian/rules 2020-01-07 18:46:32.000000000 +0000 +++ gssdp-1.2.3/debian/rules 2020-06-25 14:27:36.000000000 +0000 @@ -9,6 +9,13 @@ override_dh_auto_configure: dh_auto_configure -- -Dgtk_doc=true +# Make the tests non-fatal on kfreebsd-* as multicast requires to explicitly +# setup a route +ifneq (,$(filter $(DEB_HOST_ARCH),kfreebsd-amd64 kfreebsd-i386 hurd-i386)) +override_dh_auto_test: + dh_auto_test || true +endif + override_dh_makeshlibs: dh_makeshlibs -- -c4 diff -Nru gssdp-1.2.2/libgssdp/gssdp-client.c gssdp-1.2.3/libgssdp/gssdp-client.c --- gssdp-1.2.2/libgssdp/gssdp-client.c 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/libgssdp/gssdp-client.c 2020-06-22 21:50:39.681717900 +0000 @@ -562,7 +562,7 @@ "The IP netmask of the associated" "network interface", G_TYPE_INET_ADDRESS_MASK, - G_PARAM_WRITABLE | + G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); @@ -1156,6 +1156,24 @@ } /** + * gssdp_client_get_address_mask: + * @client: A #GSSDPClient + * + * Since: 1.2.3 + * + * Returns: (transfer full): Address mask of this client + */ +GInetAddressMask * +gssdp_client_get_address_mask (GSSDPClient *client) +{ + g_return_val_if_fail (GSSDP_IS_CLIENT (client), NULL); + + GSSDPClientPrivate *priv = gssdp_client_get_instance_private (client); + + return g_object_ref (priv->device.host_mask); +} + +/** * gssdp_client_get_uda_version: * @client: A #GSSDPClient * @@ -1258,6 +1276,8 @@ priv = gssdp_client_get_instance_private (client); + g_return_if_fail (priv->initialized); + if (!priv->active) /* We don't send messages in passive mode */ return; diff -Nru gssdp-1.2.2/libgssdp/gssdp-client.h gssdp-1.2.3/libgssdp/gssdp-client.h --- gssdp-1.2.2/libgssdp/gssdp-client.h 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/libgssdp/gssdp-client.h 2020-06-22 21:50:39.685717800 +0000 @@ -98,6 +98,9 @@ GSocketFamily gssdp_client_get_family (GSSDPClient *client); +GInetAddressMask * +gssdp_client_get_address_mask (GSSDPClient *client); + void gssdp_client_append_header (GSSDPClient *client, const char *name, diff -Nru gssdp-1.2.2/libgssdp/gssdp-net-posix.c gssdp-1.2.3/libgssdp/gssdp-net-posix.c --- gssdp-1.2.2/libgssdp/gssdp-net-posix.c 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/libgssdp/gssdp-net-posix.c 2020-06-22 21:50:39.685717800 +0000 @@ -544,7 +544,9 @@ break; } - device->address_family = g_inet_address_get_family (device->host_addr); + if (device->host_addr != NULL) { + device->address_family = g_inet_address_get_family (device->host_addr); + } g_list_free (up_ifaces); freeifaddrs (ifa_list); diff -Nru gssdp-1.2.2/libgssdp/gssdp-socket-source.c gssdp-1.2.3/libgssdp/gssdp-socket-source.c --- gssdp-1.2.2/libgssdp/gssdp-socket-source.c 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/libgssdp/gssdp-socket-source.c 2020-06-22 21:50:39.693718000 +0000 @@ -271,16 +271,20 @@ } else { guint port = SSDP_PORT; - if (!gssdp_socket_mcast_interface_set (priv->socket, - priv->address, - (guint32) priv->index, - &inner_error)) { - g_propagate_prefixed_error ( - error, - inner_error, - "Failed to set multicast interface"); + if (family != G_SOCKET_FAMILY_IPV6 || + (!g_inet_address_get_is_loopback (priv->address))) { - goto error; + if (!gssdp_socket_mcast_interface_set (priv->socket, + priv->address, + (guint32) priv->index, + &inner_error)) { + g_propagate_prefixed_error ( + error, + inner_error, + "Failed to set multicast interface"); + + goto error; + } } /* Use user-supplied or random port for the socket source used diff -Nru gssdp-1.2.2/meson.build gssdp-1.2.3/meson.build --- gssdp-1.2.2/meson.build 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/meson.build 2020-06-22 21:50:39.693718000 +0000 @@ -1,4 +1,4 @@ -project('gssdp', 'c', version: '1.2.2', meson_version : '>= 0.48.0') +project('gssdp', 'c', version: '1.2.3', meson_version : '>= 0.48.0') gnome = import('gnome') pkg = import('pkgconfig') diff -Nru gssdp-1.2.2/NEWS gssdp-1.2.3/NEWS --- gssdp-1.2.2/NEWS 2020-01-02 11:44:00.000000000 +0000 +++ gssdp-1.2.3/NEWS 2020-06-22 21:50:39.681717900 +0000 @@ -1,3 +1,17 @@ +1.2.3 +===== + - Prevent crash if client is not initialized + - Fix critical if network device does not exists + - Fix ::1 multicast + - client. Add getter for network mask + +Bugs fixed in this release: + - https://gitlab.gnome.org/GNOME/gssdp/issues/5 + - https://gitlab.gnome.org/GNOME/gssdp/issues/6 + +All contributors to this release: + - Jens Georg + 1.2.2 ===== - Fix macOS dylib versioning