From: Shawn Routhier Date: Wed, 6 Jun 2012 00:23:44 +0000 (+0000) Subject: Correct code to calculate timing values in client to compare X-Git-Tag: v4_3_0a1~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f9265b63f0216176aada825a7152ef5ded64a1e;p=thirdparty%2Fdhcp.git Correct code to calculate timing values in client to compare rebind value to infinity instead of renew value. [ISC-Bugs #29062] --- diff --git a/RELNOTES b/RELNOTES index 7e930b946..cb8271a43 100644 --- a/RELNOTES +++ b/RELNOTES @@ -49,6 +49,14 @@ work on other platforms. Please report any problems and suggested fixes to to perform an fsync() operation on the lease database before reply, which improves performance. [ISC-Bugs #22228] + Changes since 4.2.4 + +- Correct code to calculate timing values in client to compare + rebind value to infinity instead of renew value. + Thanks to Chenda Huang from H3C Technologies Co., Limited + for reporting this issue. + [ISC-Bugs #29062] + Changes since 4.2.3 ! Add a check for a null pointer before calling the regexec function. diff --git a/client/dhc6.c b/client/dhc6.c index 633f9b1a6..eb019c871 100644 --- a/client/dhc6.c +++ b/client/dhc6.c @@ -1,6 +1,7 @@ /* dhc6.c - DHCPv6 client routines. */ /* + * Copyright (c) 2012 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 @@ -4023,7 +4024,7 @@ dhc6_check_times(struct client_state *client) /* Set rebind to 3/4 expiration interval. */ tmp = ia->starts; tmp += use_expire + (use_expire / 2); - } else if (ia->renew == 0xffffffff) + } else if (ia->rebind == 0xffffffff) tmp = MAX_TIME; else tmp = ia->starts + ia->rebind;