[gupnp] linux-cm: Fix filtering for address families



commit ace86669b8b52cff2db89ee10be6dc6272e4eccc
Author: Robert Tiemann <rtie gmx de>
Date:   Thu Sep 2 11:30:59 2021 +0200

    linux-cm: Fix filtering for address families

 libgupnp/gupnp-linux-context-manager.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/libgupnp/gupnp-linux-context-manager.c b/libgupnp/gupnp-linux-context-manager.c
index a2077fa..7ad35d0 100644
--- a/libgupnp/gupnp-linux-context-manager.c
+++ b/libgupnp/gupnp-linux-context-manager.c
@@ -970,11 +970,11 @@ create_netlink_socket (GUPnPLinuxContextManager *self, GError **error)
         /* Listen for interface changes and IP address changes */
         sa.nl_groups = RTMGRP_LINK;
         if (gupnp_context_manager_get_socket_family (GUPNP_CONTEXT_MANAGER (self)) == 
G_SOCKET_FAMILY_INVALID) {
-                sa.nl_groups = RTMGRP_IPV6_IFADDR | RTMGRP_IPV4_IFADDR;
+                sa.nl_groups |= RTMGRP_IPV6_IFADDR | RTMGRP_IPV4_IFADDR;
         } else if (gupnp_context_manager_get_socket_family (GUPNP_CONTEXT_MANAGER (self)) == 
G_SOCKET_FAMILY_IPV4) {
-                sa.nl_groups = RTMGRP_IPV4_IFADDR;
+                sa.nl_groups |= RTMGRP_IPV4_IFADDR;
         } else if (gupnp_context_manager_get_socket_family (GUPNP_CONTEXT_MANAGER (self)) == 
G_SOCKET_FAMILY_IPV6) {
-                sa.nl_groups = RTMGRP_IPV6_IFADDR;
+                sa.nl_groups |= RTMGRP_IPV6_IFADDR;
         }
 
         status = bind (fd, (struct sockaddr *) &sa, sizeof (sa));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]