On Fri, Jul 08, 2022 at 10:26:35PM +0200, Petr Menšík wrote: > From 7885f99da642306bc3ae65f591f36dd4a704918d Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemen...@redhat.com> > Date: Fri, 10 Dec 2021 20:18:20 +0100 > Subject: [PATCH 3/6] Create temporary leases on DISCOVER message > > Previously only ping cache contained hash of few last pinged addresses. > They allowed skipping of address proposed to different host in > allocate_address. If no-ping were used together with dhcp-sequential-ip, > nothing would prevent offering single address to multiple clients. > > Use temporary leases to store clients interested right when DHCPDISCOVER is > received. It makes sure that address is 'reserved' for that client when > he requests it. Uses short expiration time. > --- > src/dbus.c | 2 +- > src/dnsmasq.h | 3 ++- > src/lease.c | 25 +++++++++++++++++-------- > src/rfc2131.c | 30 ++++++++++++++++++++++++------ > 4 files changed, 44 insertions(+), 16 deletions(-) > > diff --git a/src/dbus.c b/src/dbus.c > index bf6b661..571743f 100644 > --- a/src/dbus.c > +++ b/src/dbus.c > @@ -537,7 +537,7 @@ static DBusMessage *dbus_add_lease(DBusMessage* message) > "ia_id and is_temporary must be zero for > IPv4 lease"); > > if (!(lease = lease_find_by_addr(addr.addr4))) > - lease = lease4_allocate(addr.addr4); > + lease = lease4_allocate(addr.addr4, 0); > } > #ifdef HAVE_DHCP6 > else if (inet_pton(AF_INET6, ipaddr, &addr.addr6))
Output from `git am`: |Applying: Create temporary leases on DISCOVER message |.git/rebase-apply/patch:17: space before tab in indent. | lease = lease4_allocate(addr.addr4, 0); |warning: 1 line adds whitespace errors. "repaired" in my public git repo. More about that git repository in another email. Groeten Geert Stappers -- Silence is hard to parse _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss