From 6de9b112d89f64fd0511dae0f7c15054fb5e1988 Mon Sep 17 00:00:00 2001 From: Andrey Gusakov Date: Mon, 4 Aug 2014 10:46:05 +0400 Subject: [PATCH] Lease IP on REQUEST if address is free Signed-off-by: Andrey Gusakov --- src/dhcp/server.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dhcp/server.c b/src/dhcp/server.c index f5f1cc7..3484920 100644 --- a/src/dhcp/server.c +++ b/src/dhcp/server.c @@ -702,6 +702,12 @@ static gboolean listener_event(GIOChannel *channel, GIOCondition condition, break; } + if (!lease) { + /* check if requested address free */ + lease = add_lease(dhcp_server, OFFER_TIME, + packet.chaddr, htonl(requested_nip)); + } + if (lease && requested_nip == lease->lease_nip) { debug(dhcp_server, "Sending ACK"); send_ACK(dhcp_server, &packet,