mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-31 14:25:41 +00:00
- A bug where leases not in ACTIVE state would get billed to billed classes
(classes with lease limitations) was fixed. Non-active leases OFFERed to clients are no longer billed (but billing is checked before offering). [ISC-Bugs #16168]
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
"$Id: dhcp.c,v 1.204 2006/06/01 20:23:17 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
||||
"$Id: dhcp.c,v 1.205 2006/06/15 17:52:06 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#include "dhcpd.h"
|
||||
@@ -1920,6 +1920,19 @@ void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* If this is an offer, undo the billing. We go
|
||||
* through all the steps above to bill a class so
|
||||
* we can hit the 'no available billing' mark and
|
||||
* abort without offering. But it just doesn't make
|
||||
* sense to permanently bill a class for a non-active
|
||||
* lease. This means on REQUEST, we will bill this
|
||||
* lease again (if there is a REQUEST).
|
||||
*/
|
||||
if (offer == DHCPOFFER &&
|
||||
lease->billing_class != NULL &&
|
||||
lease->state != FTS_ACTIVE)
|
||||
unbill_class(lease, lease->billing_class);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user