diff options
author | Shawn Routhier <sar@isc.org> | 2015-05-12 11:19:12 -0700 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2015-05-12 11:19:12 -0700 |
commit | 30dcfbf6ae18e00a5c74eb578503973695ef5ddb (patch) | |
tree | cbc232e7132c5a18c967b57153dfce67564a3354 | |
parent | 1b245c913a93296cd6924d81cf7f876f874b080c (diff) | |
download | isc-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-- | RELNOTES | 5 | ||||
-rw-r--r-- | client/dhc6.c | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -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, |