Module Name:    src
Committed By:   roy
Date:           Fri Jun 14 09:06:45 UTC 2019

Modified Files:
        src/usr.sbin/rtadvd: config.c

Log Message:
rtadvd: fix rdnss and dnssl lifetime assignment

Treat it the same as a prefix valid time as per the RFC.
This allows to set a zero value to remove the assignment from the node.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/rtadvd/config.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/rtadvd/config.c
diff -u src/usr.sbin/rtadvd/config.c:1.40 src/usr.sbin/rtadvd/config.c:1.41
--- src/usr.sbin/rtadvd/config.c:1.40	Fri Apr 20 15:57:23 2018
+++ src/usr.sbin/rtadvd/config.c	Fri Jun 14 09:06:45 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: config.c,v 1.40 2018/04/20 15:57:23 roy Exp $	*/
+/*	$NetBSD: config.c,v 1.41 2019/06/14 09:06:45 roy Exp $	*/
 /*	$KAME: config.c,v 1.93 2005/10/17 14:40:02 suz Exp $	*/
 
 /*
@@ -701,9 +701,7 @@ getconfig(const char *intface, int exith
 
 		makeentry(entbuf, sizeof(entbuf), i, "rdnssltime");
 		MAYHAVE(val64, entbuf, tmp->maxinterval * 3 / 2);
-		if (val64 < tmp->maxinterval ||
-		    val64 > tmp->maxinterval * 2)
-		{
+		if (val64 < 0 || val64 > 0xffffffff) {
 			logit(LOG_ERR, "<%s> %s (%lld) on %s is invalid",
 			     __func__, entbuf, (long long)val64, intface);
 			goto errexit;
@@ -737,9 +735,7 @@ getconfig(const char *intface, int exith
 
 		makeentry(entbuf, sizeof(entbuf), i, "dnsslltime");
 		MAYHAVE(val64, entbuf, tmp->maxinterval * 3 / 2);
-		if (val64 < tmp->maxinterval ||
-		    val64 > tmp->maxinterval * 2)
-		{
+		if (val64 < 0 || val64 > 0xffffffff) {
 			logit(LOG_ERR, "<%s> %s (%lld) on %s is invalid",
 			     __func__, entbuf, (long long)val64, intface);
 			goto errexit;

Reply via email to