summaryrefslogtreecommitdiff
path: root/src/radv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radv.c')
-rw-r--r--src/radv.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/radv.c b/src/radv.c
index 49b41d8..a4af344 100644
--- a/src/radv.c
+++ b/src/radv.c
@@ -186,7 +186,8 @@ void icmp6_packet(time_t now)
return;
for (tmp = daemon->dhcp_except; tmp; tmp = tmp->next)
- if (tmp->name && wildcard_match(tmp->name, interface))
+ if (tmp->name && (tmp->flags & INAME_6) &&
+ wildcard_match(tmp->name, interface))
return;
if (packet[1] != 0)
@@ -835,7 +836,8 @@ time_t periodic_ra(time_t now)
{
struct iname *tmp;
for (tmp = daemon->dhcp_except; tmp; tmp = tmp->next)
- if (tmp->name && wildcard_match(tmp->name, param.name))
+ if (tmp->name && (tmp->flags & INAME_6) &&
+ wildcard_match(tmp->name, param.name))
break;
if (!tmp)
{
@@ -934,7 +936,8 @@ static int iface_search(struct in6_addr *local, int prefix,
return 1;
for (tmp = daemon->dhcp_except; tmp; tmp = tmp->next)
- if (tmp->name && wildcard_match(tmp->name, param->name))
+ if (tmp->name && (tmp->flags & INAME_6) &&
+ wildcard_match(tmp->name, param->name))
return 1;
for (context = daemon->dhcp6; context; context = context->next)