From ae15230da32ea7413d26435482c6257937721a6b Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 24 Jun 2018 11:56:39 +0200 Subject: [PATCH] dhcp4d: log in leases callback --- cmd/dhcp4d/dhcp4d.go | 3 ++- internal/dhcp4d/dhcp4d.go | 5 ++--- internal/dhcp4d/dhcp4d_test.go | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/dhcp4d/dhcp4d.go b/cmd/dhcp4d/dhcp4d.go index c24ea9e..af84653 100644 --- a/cmd/dhcp4d/dhcp4d.go +++ b/cmd/dhcp4d/dhcp4d.go @@ -46,7 +46,8 @@ func logic() error { if err := loadLeases(handler, "/perm/dhcp4d/leases.json"); err != nil { return err } - handler.Leases = func(leases []*dhcp4d.Lease) { + handler.Leases = func(leases []*dhcp4d.Lease, latest *dhcp4d.Lease) { + log.Printf("DHCPACK %+v", latest) b, err := json.Marshal(leases) if err != nil { errs <- err diff --git a/internal/dhcp4d/dhcp4d.go b/internal/dhcp4d/dhcp4d.go index 7f185cc..026d602 100644 --- a/internal/dhcp4d/dhcp4d.go +++ b/internal/dhcp4d/dhcp4d.go @@ -43,7 +43,7 @@ type Handler struct { timeNow func() time.Time // Leases is called whenever a new lease is handed out - Leases func([]*Lease) + Leases func([]*Lease, *Lease) } func NewHandler(dir string, iface *net.Interface, conn net.PacketConn) (*Handler, error) { @@ -250,13 +250,12 @@ func (h *Handler) serveDHCP(p dhcp4.Packet, msgType dhcp4.MessageType, options d h.leasesIP[leaseNum] = lease h.leasesHW[lease.HardwareAddr] = lease - log.Printf("handed out lease %+v (ip bytes: %#v)", lease, lease.Addr) if h.Leases != nil { var leases []*Lease for _, l := range h.leasesIP { leases = append(leases, l) } - h.Leases(leases) + h.Leases(leases, lease) } return dhcp4.ReplyPacket(p, dhcp4.ACK, h.serverIP, reqIP, h.leasePeriod, h.options.SelectOrderOrAll(options[dhcp4.OptionParameterRequestList])) diff --git a/internal/dhcp4d/dhcp4d_test.go b/internal/dhcp4d/dhcp4d_test.go index dc1c254..bb102ae 100644 --- a/internal/dhcp4d/dhcp4d_test.go +++ b/internal/dhcp4d/dhcp4d_test.go @@ -87,7 +87,7 @@ func TestLease(t *testing.T) { hostname = "xps" ) leasedCalled := false - handler.Leases = func(leases []*Lease) { + handler.Leases = func(leases []*Lease, latest *Lease) { if got, want := len(leases), 1; got != want { t.Fatalf("unexpected number of leases: got %d, want %d", got, want) }