2
0
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:
Shane Kerr 2007-12-02 23:19:02 +00:00
parent 838358228b
commit 6f76de5884
2 changed files with 8 additions and 2 deletions

View File

@ -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

View File

@ -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) {