Blame SOURCES/dnsmasq-2.79-rh1728698-2.patch

8e0267
From 7e3250d52921b5f75bdbe0b794514bb78a209969 Mon Sep 17 00:00:00 2001
8e0267
From: Petr Mensik <pemensik@redhat.com>
8e0267
Date: Wed, 3 Jul 2019 17:02:16 +0200
8e0267
Subject: [PATCH 2/5] Compare address and interface index for allowed interface
8e0267
8e0267
If interface is recreated with the same address but different index, it
8e0267
would not change any other parameter.
8e0267
8e0267
Test also address family on incoming TCP queries.
8e0267
---
8e0267
 src/dnsmasq.c | 3 ++-
8e0267
 src/network.c | 3 ++-
8e0267
 2 files changed, 4 insertions(+), 2 deletions(-)
8e0267
8e0267
diff --git a/src/dnsmasq.c b/src/dnsmasq.c
8e0267
index f3d2671..7812be8 100644
8e0267
--- a/src/dnsmasq.c
8e0267
+++ b/src/dnsmasq.c
8e0267
@@ -1667,7 +1667,8 @@ static void check_dns_listeners(time_t now)
8e0267
 #endif
8e0267
 		  
8e0267
 		  for (iface = daemon->interfaces; iface; iface = iface->next)
8e0267
-		    if (iface->index == if_index)
8e0267
+		    if (iface->index == if_index &&
8e0267
+		        iface->addr.sa.sa_family == tcp_addr.sa.sa_family)
8e0267
 		      break;
8e0267
 		  
8e0267
 		  if (!iface && !loopback_exception(listener->tcpfd, tcp_addr.sa.sa_family, &addr, intr_name))
8e0267
diff --git a/src/network.c b/src/network.c
8e0267
index fd90288..f247811 100644
8e0267
--- a/src/network.c
8e0267
+++ b/src/network.c
8e0267
@@ -404,10 +404,11 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label,
8e0267
   /* check whether the interface IP has been added already 
8e0267
      we call this routine multiple times. */
8e0267
   for (iface = daemon->interfaces; iface; iface = iface->next) 
8e0267
-    if (sockaddr_isequal(&iface->addr, addr))
8e0267
+    if (sockaddr_isequal(&iface->addr, addr) && iface->index == if_index)
8e0267
       {
8e0267
 	iface->dad = !!(iface_flags & IFACE_TENTATIVE);
8e0267
 	iface->found = 1; /* for garbage collection */
8e0267
+	iface->netmask = netmask;
8e0267
 	return 1;
8e0267
       }
8e0267
 
8e0267
-- 
8e0267
2.20.1
8e0267