Skip to content

Commit

Permalink
Tweak log_debug() verbiage to reduce repetitive info
Browse files Browse the repository at this point in the history
(ACK/NAK), add details (DISCOVER/REQUEST) and provide
before/after info for SSID/LLADDR/MTU changes.
  • Loading branch information
krw committed Apr 1, 2021
1 parent 8ecbadc commit 8d756c7
Showing 1 changed file with 44 additions and 21 deletions.
65 changes: 44 additions & 21 deletions sbin/dhclient/dhclient.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* $OpenBSD: dhclient.c,v 1.719 2021/04/01 13:17:48 krw Exp $ */
/* $OpenBSD: dhclient.c,v 1.720 2021/04/01 16:07:44 krw Exp $ */

/*
* Copyright 2004 Henning Brauer <[email protected]>
Expand Down Expand Up @@ -233,9 +233,9 @@ get_link_ifa(const char *name, struct ifaddrs *ifap)
void
interface_state(struct interface_info *ifi)
{
struct ether_addr hw;
struct ifaddrs *ifap, *ifa;
struct sockaddr_dl *sdl;
char *oldlladdr;
int newlinkup, oldlinkup;

oldlinkup = LINK_STATE_IS_UP(ifi->link_state);
Expand Down Expand Up @@ -265,15 +265,19 @@ interface_state(struct interface_info *ifi)
tick_msg("link", newlinkup ? TICK_SUCCESS : TICK_WAIT);
}

if (newlinkup != 0) {
memcpy(&hw, &ifi->hw_address, sizeof(hw));
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
memcpy(ifi->hw_address.ether_addr_octet, LLADDR(sdl),
ETHER_ADDR_LEN);
if (memcmp(&hw, &ifi->hw_address, sizeof(hw))) {
log_debug("%s: LLADDR changed", log_procname);
quit = RESTART;
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
if (memcmp(&ifi->hw_address, LLADDR(sdl), ETHER_ADDR_LEN) != 0) {
if (log_getverbose()) {
oldlladdr = strdup(ether_ntoa(&ifi->hw_address));
if (oldlladdr == NULL)
fatal("oldlladddr");
log_debug("%s: LLADDR %s -> %s", log_procname,
oldlladdr,
ether_ntoa((struct ether_addr *)LLADDR(sdl)));
free(oldlladdr);
}
memcpy(&ifi->hw_address, LLADDR(sdl), ETHER_ADDR_LEN);
quit = RESTART; /* Even if MTU has changed. */
}

freeifaddrs(ifap);
Expand Down Expand Up @@ -503,6 +507,7 @@ rtm_dispatch(struct interface_info *ifi, struct rt_msghdr *rtm)
struct if_announcemsghdr *ifan;
struct ifa_msghdr *ifam;
struct if_ieee80211_data *ifie;
char *oldssid;
uint32_t oldmtu;

switch (rtm->rtm_type) {
Expand Down Expand Up @@ -547,8 +552,8 @@ rtm_dispatch(struct interface_info *ifi, struct rt_msghdr *rtm)
if (oldmtu == ifi->mtu)
quit = RESTART;
else
log_debug("%s: MTU change RTM_IFINFO ignored",
log_procname);
log_debug("%s: MTU %u -> %u",
log_procname, oldmtu, ifi->mtu);
break;

case RTM_80211INFO:
Expand All @@ -557,9 +562,17 @@ rtm_dispatch(struct interface_info *ifi, struct rt_msghdr *rtm)
ifie = &((struct if_ieee80211_msghdr *)rtm)->ifim_ifie;
if (ifi->ssid_len != ifie->ifie_nwid_len || memcmp(ifi->ssid,
ifie->ifie_nwid, ifie->ifie_nwid_len) != 0) {
log_debug("%s: SSID changed", log_procname);
if (log_getverbose()) {
oldssid = strdup(pretty_print_string(ifi->ssid,
ifi->ssid_len, 1));
if (oldssid == NULL)
fatal("oldssid");
log_debug("%s: SSID %s -> %s", log_procname,
oldssid, pretty_print_string(ifie->ifie_nwid,
ifie->ifie_nwid_len, 1));
free(oldssid);
}
quit = RESTART;
return;
}
break;

Expand Down Expand Up @@ -957,7 +970,7 @@ dhcpack(struct interface_info *ifi, struct option_data *options,
return;
}

log_debug("%s: DHCPACK from %s", log_procname, src);
log_debug("%s: DHCPACK", log_procname);

lease = packet_to_lease(ifi, options);
if (lease == NULL) {
Expand Down Expand Up @@ -990,7 +1003,7 @@ dhcpnak(struct interface_info *ifi, const char *src)
return;
}

log_debug("%s: DHCPNAK from %s", log_procname, src);
log_debug("%s: DHCPNAK", log_procname);

/* Remove the NAK'd address from the database. */
TAILQ_FOREACH_SAFE(ll, &ifi->lease_db, next, pl) {
Expand Down Expand Up @@ -1466,8 +1479,9 @@ send_discover(struct interface_info *ifi)

rslt = send_packet(ifi, inaddr_any, inaddr_broadcast, "DHCPDISCOVER");
if (rslt != -1)
log_debug("%s: DHCPDISCOVER - interval %lld", log_procname,
(long long)ifi->interval);
log_debug("%s: DHCPDISCOVER %s", log_procname,
(ifi->requested_address.s_addr == INADDR_ANY) ? "" :
inet_ntoa(ifi->requested_address));

tick_msg("lease", TICK_WAIT);
}
Expand Down Expand Up @@ -1510,6 +1524,7 @@ send_request(struct interface_info *ifi)
struct in_addr from;
struct timespec now;
ssize_t rslt;
char *addr;

cancel_timeout(ifi);
clock_gettime(CLOCK_MONOTONIC, &now);
Expand Down Expand Up @@ -1564,9 +1579,17 @@ send_request(struct interface_info *ifi)
set_secs(ifi, &now);

rslt = send_packet(ifi, from, destination.sin_addr, "DHCPREQUEST");
if (rslt != -1)
log_debug("%s: DHCPREQUEST to %s", log_procname,
inet_ntoa(destination.sin_addr));
if (rslt != -1 && log_getverbose()) {
addr = strdup(inet_ntoa(ifi->requested_address));
if (addr == NULL)
fatal("strdup(ifi->requested_address)");
if (destination.sin_addr.s_addr == INADDR_BROADCAST)
log_debug("%s: DHCPREQUEST %s", log_procname, addr);
else
log_debug("%s: DHCPREQUEST %s from %s", log_procname,
addr, inet_ntoa(destination.sin_addr));
free(addr);
}

tick_msg("lease", TICK_WAIT);
}
Expand Down

0 comments on commit 8d756c7

Please sign in to comment.