summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Routhier <sar@isc.org>2015-05-12 11:19:12 -0700
committerShawn Routhier <sar@isc.org>2015-05-12 11:19:12 -0700
commit30dcfbf6ae18e00a5c74eb578503973695ef5ddb (patch)
treecbc232e7132c5a18c967b57153dfce67564a3354
parent1b245c913a93296cd6924d81cf7f876f874b080c (diff)
downloadisc-dhcp-30dcfbf6ae18e00a5c74eb578503973695ef5ddb.tar.gz
[master] Don't send expired addresses to the script in the client
Don't send expired addresses to the script in the client
-rw-r--r--RELNOTES5
-rw-r--r--client/dhc6.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/RELNOTES b/RELNOTES
index 3e32fae8..5b6dc979 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -109,6 +109,11 @@ by Eric Young (eay@cryptsoft.com).
table 3.
[ISC-Bugs #38769]
+- In the client don't send expired addresses to the script as part of
+ the binding process. Thanks to Sven Trenkel at Google for reporting
+ the issue and suggesting the patch.
+ [ISC-Bugs #38631]
+
Changes since 4.3.2rc2
- None
diff --git a/client/dhc6.c b/client/dhc6.c
index 04a8fa00..33e35cdf 100644
--- a/client/dhc6.c
+++ b/client/dhc6.c
@@ -1,7 +1,7 @@
/* dhc6.c - DHCPv6 client routines. */
/*
- * Copyright (c) 2012-2014 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2012-2015 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2006-2010 by Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
@@ -4259,6 +4259,10 @@ start_bound(struct client_state *client)
oldia = NULL;
for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ /* Don't try to use the address if it's already expired */
+ if (addr->flags & DHC6_ADDR_EXPIRED)
+ continue;
+
if (oldia != NULL) {
if (ia->ia_type != D6O_IA_PD)
oldaddr = find_addr(oldia->addrs,