From: Shawn Routhier Date: Tue, 12 May 2015 18:19:12 +0000 (-0700) Subject: [master] Don't send expired addresses to the script in the client X-Git-Tag: v4_3_3b1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30dcfbf6ae18e00a5c74eb578503973695ef5ddb;p=thirdparty%2Fdhcp.git [master] Don't send expired addresses to the script in the client Don't send expired addresses to the script in the client --- diff --git a/RELNOTES b/RELNOTES index 3e32fae82..5b6dc9796 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 04a8fa008..33e35cdf7 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,