Merge pull request #22 from mehlis/log-dhcp4-events
authorsbyx <steven@midlink.org>
Tue, 12 Aug 2014 13:10:27 +0000 (15:10 +0200)
committersbyx <steven@midlink.org>
Tue, 12 Aug 2014 13:10:27 +0000 (15:10 +0200)
dhcpv4: log requests and replies to syslog

1  2 
src/dhcpv4.c

diff --cc src/dhcpv4.c
@@@ -334,18 -357,14 +357,23 @@@ static void handle_dhcpv4(void *addr, v
        } else if (reqmsg == DHCPV4_MSG_REQUEST && reqaddr.s_addr &&
                        reqaddr.s_addr != htonl(lease->addr)) {
                msg = DHCPV4_MSG_NAK;
 -              lease = NULL;
 +              /*
 +               * DHCP client requested an IP which we can't offer to him. Probably the
 +               * client changed the network. The reply type is set to DHCPV4_MSG_NAK,
 +               * because the client should not use that IP.
 +               *
 +               * For modern devices we build an answer that includes a valid IP, like
 +               * a DHCPV4_MSG_ACK. The client will use that IP and doesn't need to
 +               * perform additional DHCP round trips.
 +               *
 +               */
        }
  
+       syslog(LOG_WARNING, "received %s from %x:%x:%x:%x:%x:%x",
+                       dhcpv4_msg_to_string(reqmsg),
+                       req->chaddr[0],req->chaddr[1],req->chaddr[2],
+                       req->chaddr[3],req->chaddr[4],req->chaddr[5]);
        if (reqmsg == DHCPV4_MSG_DECLINE || reqmsg == DHCPV4_MSG_RELEASE)
                return;