summaryrefslogtreecommitdiffstats
path: root/ipv6rs.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2013-02-05 10:15:59 +0000
committerRoy Marples <roy@marples.name>2013-02-05 10:15:59 +0000
commit4c6a8bececddf23702c95bfce65a753d9efffead (patch)
treed9c21f06fbd56765aacdfe4521c18ff9475da00a /ipv6rs.c
parent68ceb7004aac56b7fa57bc24bc25ca6336355350 (diff)
downloaddhcpcd-4c6a8bececddf23702c95bfce65a753d9efffead.tar.xz
If we have one interface enabled for IPv6 RS, we stupidly process
RAs for all interfaces we control. This patch fixes this and updates the man page to reflect this better.
Diffstat (limited to 'ipv6rs.c')
-rw-r--r--ipv6rs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipv6rs.c b/ipv6rs.c
index 67d6dfcf..8193fa00 100644
--- a/ipv6rs.c
+++ b/ipv6rs.c
@@ -467,6 +467,13 @@ ipv6rs_handledata(_unused void *arg)
#endif
return;
}
+ if (!(ifp->options->options & DHCPCD_IPV6RS)) {
+#ifdef DEBUG_RS
+ syslog(LOG_DEBUG, "%s: unexpected RA from %s",
+ ifp->name, sfrom);
+#endif
+ return;
+ }
TAILQ_FOREACH(rap, &ipv6_routers, next) {
if (ifp == rap->iface &&
memcmp(rap->from.s6_addr, from.sin6_addr.s6_addr,