mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-22 09:57:20 +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
|
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
|
- 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
|
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
|
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)
|
if (status == ISC_R_CANCELED)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (status != ISC_R_SUCCESS)
|
if ((status != ISC_R_SUCCESS) && (status != ISC_R_ADDRINUSE))
|
||||||
goto cleanup;
|
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);
|
status = reply_process_try_addr(reply, &tmp_addr);
|
||||||
|
|
||||||
/* Either error out or skip this address. */
|
/* Either error out or skip this address. */
|
||||||
if (status != ISC_R_SUCCESS)
|
if ((status != ISC_R_SUCCESS) &&
|
||||||
|
(status != ISC_R_ADDRINUSE))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (reply->lease == NULL) {
|
if (reply->lease == NULL) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user