summaryrefslogtreecommitdiff
path: root/client/dhc6.c
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 /client/dhc6.c
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
Diffstat (limited to 'client/dhc6.c')
-rw-r--r--client/dhc6.c6
1 files changed, 5 insertions, 1 deletions
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,