changeset 1892:be42469455e4 draft

Stop ipv6only enabling RS support.
author Roy Marples <roy@marples.name>
date Tue, 02 Apr 2013 16:49:36 +0000
parents dd794249b881
children 148a2c1b53b7
files if-options.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/if-options.c	Tue Apr 02 07:30:13 2013 +0000
+++ b/if-options.c	Tue Apr 02 16:49:36 2013 +0000
@@ -874,12 +874,12 @@
 		ifdv = splitv(&ifdc, ifdv, arg);
 		break;
 	case '4':
-		ifo->options &= ~(DHCPCD_IPV6 | DHCPCD_IPV6RS);
+		ifo->options &= ~DHCPCD_IPV6;
 		ifo->options |= DHCPCD_IPV4;
 		break;
 	case '6':
 		ifo->options &= ~DHCPCD_IPV4;
-		ifo->options |= DHCPCD_IPV6 | DHCPCD_IPV6RS;
+		ifo->options |= DHCPCD_IPV6;
 		break;
 #ifdef INET
 	case O_ARPING:
@@ -1165,12 +1165,15 @@
 	}
 
 	/* Terminate the encapsulated options */
-	if (ifo && ifo->vendor[0] && !(ifo->options & DHCPCD_VENDORRAW)) {
+	if (ifo->vendor[0] && !(ifo->options & DHCPCD_VENDORRAW)) {
 		ifo->vendor[0]++;
 		ifo->vendor[ifo->vendor[0]] = DHO_END;
 	}
 
 #ifdef INET6
+	if (!(ifo->options & DHCPCD_IPV6))
+		ifo->options &= ~DHCPCD_IPV6RS;
+
 	if (ifname && ifo->iaid_len == 0 && ifo->options & DHCPCD_IPV6) {
 		ifo->iaid = malloc(sizeof(*ifo->iaid));
 		if (ifo->iaid == NULL)