mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-22 01:49:35 +00:00
Properly ignore address hints if we cannot supply them.
See RT ticket #17303 for details.
This commit is contained in:
parent
838358228b
commit
6f76de5884
5
RELNOTES
5
RELNOTES
@ -55,6 +55,11 @@ suggested fixes to <dhcp-users@isc.org>.
|
||||
|
||||
Changes since 4.0.0b3
|
||||
|
||||
- When addresses were passed as hints to the server in an IA, they were
|
||||
incorrectly handled, sometimes being treated as an error. Now the
|
||||
server will treat these as hints and ignore them if it cannot supply
|
||||
a requested address.
|
||||
|
||||
- If the client had multiple addresses, and one expired (was not renewed
|
||||
by the server), the client would continue to attempt to renew the same
|
||||
old address over and over. Now, the client will omit any expired
|
||||
|
@ -1261,7 +1261,7 @@ reply_process_ia(struct reply_state *reply, struct option_cache *ia) {
|
||||
if (status == ISC_R_CANCELED)
|
||||
break;
|
||||
|
||||
if (status != ISC_R_SUCCESS)
|
||||
if ((status != ISC_R_SUCCESS) && (status != ISC_R_ADDRINUSE))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -1627,7 +1627,8 @@ reply_process_addr(struct reply_state *reply, struct option_cache *addr) {
|
||||
status = reply_process_try_addr(reply, &tmp_addr);
|
||||
|
||||
/* Either error out or skip this address. */
|
||||
if (status != ISC_R_SUCCESS)
|
||||
if ((status != ISC_R_SUCCESS) &&
|
||||
(status != ISC_R_ADDRINUSE))
|
||||
goto cleanup;
|
||||
|
||||
if (reply->lease == NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user