sd-dhcp6-client: do not ignore errors in client_receive_advertise()

This also adds several debug log messages.
This commit is contained in:
Yu Watanabe
2021-08-05 11:14:23 +01:00
committed by Luca Boccassi
parent fa55e7b338
commit d7799877a0
+11 -6
View File
@@ -1479,15 +1479,16 @@ static int client_receive_message(
return 0;
}
if (client->transaction_id != (message->transaction_id &
htobe32(0x00ffffff)))
if (client->transaction_id != (message->transaction_id & htobe32(0x00ffffff)))
return 0;
switch (client->state) {
case DHCP6_STATE_INFORMATION_REQUEST:
r = client_receive_reply(client, message, len);
if (r < 0)
if (r < 0) {
log_dhcp6_client_errno(client, r, "Failed to process received reply message, ignoring: %m");
return 0;
}
client_notify(client, SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST);
@@ -1497,10 +1498,13 @@ static int client_receive_message(
case DHCP6_STATE_SOLICITATION:
r = client_receive_advertise(client, message, len);
if (r < 0) {
log_dhcp6_client_errno(client, r, "Failed to process received advertise message, ignoring: %m");
return 0;
}
if (r == DHCP6_STATE_REQUEST) {
client_start(client, r);
break;
}
@@ -1510,11 +1514,12 @@ static int client_receive_message(
case DHCP6_STATE_REBIND:
r = client_receive_reply(client, message, len);
if (r < 0)
if (r < 0) {
log_dhcp6_client_errno(client, r, "Failed to process received reply message, ignoring: %m");
return 0;
}
if (r == DHCP6_STATE_BOUND) {
r = client_start(client, DHCP6_STATE_BOUND);
if (r < 0) {
client_stop(client, r);