1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-26 08:55:40 +03:00

network/dhcp6: process hostname and IA_PD on information requesting mode

Fixes #34299.
This commit is contained in:
Yu Watanabe 2024-09-16 05:03:57 +09:00
parent cf7a403e47
commit 1918eda30d

View File

@ -297,7 +297,7 @@ static int dhcp6_request_hostname(Link *link) {
return 0;
}
static int dhcp6_lease_ip_acquired(sd_dhcp6_client *client, Link *link) {
static int dhcp6_lease_acquired(sd_dhcp6_client *client, Link *link) {
_cleanup_(sd_dhcp6_lease_unrefp) sd_dhcp6_lease *lease_old = NULL;
sd_dhcp6_lease *lease;
int r;
@ -341,22 +341,6 @@ static int dhcp6_lease_ip_acquired(sd_dhcp6_client *client, Link *link) {
link_set_state(link, LINK_STATE_CONFIGURING);
link_check_ready(link);
return 0;
}
static int dhcp6_lease_information_acquired(sd_dhcp6_client *client, Link *link) {
sd_dhcp6_lease *lease;
int r;
assert(client);
assert(link);
r = sd_dhcp6_client_get_lease(client, &lease);
if (r < 0)
return log_link_error_errno(link, r, "Failed to get DHCPv6 lease: %m");
unref_and_replace_full(link->dhcp6_lease, lease, sd_dhcp6_lease_ref, sd_dhcp6_lease_unref);
link_dirty(link);
return 0;
}
@ -401,11 +385,8 @@ static void dhcp6_handler(sd_dhcp6_client *client, int event, void *userdata) {
break;
case SD_DHCP6_CLIENT_EVENT_IP_ACQUIRE:
r = dhcp6_lease_ip_acquired(client, link);
break;
case SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST:
r = dhcp6_lease_information_acquired(client, link);
r = dhcp6_lease_acquired(client, link);
break;
default: