summaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 5fb96c2..a30632d 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -975,11 +975,12 @@ static NOINLINE int udhcp_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
skip_udp_sum_check:
if (packet.data.cookie != htonl(DHCP_MAGIC)) {
- bb_simple_info_msg("packet with bad magic, ignoring");
+ log1s("packet with bad magic, ignoring");
return -2;
}
- log1("received %s", "a packet");
+ log2("received %s", "a packet");
+ /* log2 because more informative msg for valid packets is printed later at log1 level */
udhcp_dump_packet(&packet.data);
bytes -= sizeof(packet.ip) + sizeof(packet.udp);
@@ -1649,13 +1650,13 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|| memcmp(packet.chaddr, client_data.client_mac, 6) != 0
) {
//FIXME: need to also check that last 10 bytes are zero
- log1("chaddr does not match%s", ", ignoring packet"); // log2?
+ log1("chaddr does not match%s", ", ignoring packet");
continue;
}
message = udhcp_get_option(&packet, DHCP_MESSAGE_TYPE);
if (message == NULL) {
- bb_info_msg("no message type option%s", ", ignoring packet");
+ log1("no message type option%s", ", ignoring packet");
continue;
}
@@ -1663,6 +1664,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
case INIT_SELECTING:
/* Must be a DHCPOFFER */
if (*message == DHCPOFFER) {
+ struct in_addr temp_addr;
uint8_t *temp;
/* What exactly is server's IP? There are several values.
@@ -1698,7 +1700,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
move_from_unaligned32(server_addr, temp);
}
/*xid = packet.xid; - already is */
- requested_ip = packet.yiaddr;
+ temp_addr.s_addr = requested_ip = packet.yiaddr;
+ log1("received an offer of %s", inet_ntoa(temp_addr));
/* enter requesting state */
client_data.state = REQUESTING;