]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
If we have one interface enabled for IPv6 RS, we stupidly process
authorRoy Marples <roy@marples.name>
Tue, 5 Feb 2013 10:18:31 +0000 (10:18 +0000)
committerRoy Marples <roy@marples.name>
Tue, 5 Feb 2013 10:18:31 +0000 (10:18 +0000)
RAs for all interfaces we control. This patch fixes this and
updates the man page to reflect this better.

dhcpcd.conf.5.in
ipv6rs.c

index 7b75c97bab484188630d043f350482f4cd189cbc..083b09cb1f303281cf652ddc6c63c6a083fb4984 100644 (file)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2006-2012 Roy Marples
+.\" Copyright (c) 2006-2013 Roy Marples
 .\" All rights reserved
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd October 11, 2012
+.Dd February 5, 2013
 .Dt DHCPCD.CONF 5 SMM
 .Os
 .Sh NAME
@@ -200,7 +200,7 @@ See
 .%T "RFC 3927"
 .Re
 .It Ic noipv6rs
-Disable solicition of IPv6 Router Advertisements.
+Disable solicitation and receipt of IPv6 Router Advertisements.
 .It Ic nolink
 Don't receive link messages about carrier status.
 You should only set this for buggy interface drivers.
index e2d9a1628a08c507557d3939feed79ca7cbe6b15..8e371a8f691d5a6a13505cd0fbb51f8ea6713d63 100644 (file)
--- a/ipv6rs.c
+++ b/ipv6rs.c
@@ -462,6 +462,13 @@ ipv6rs_handledata(_unused void *arg)
                syslog(LOG_ERR, "RA for unexpected interface from %s", sfrom);
                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,