]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network/dhcp6: process hostname and IA_PD on information requesting mode
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 15 Sep 2024 20:03:57 +0000 (05:03 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 15 Oct 2024 09:23:59 +0000 (18:23 +0900)
Fixes #34299.

src/network/networkd-dhcp6.c

index 39471d6628dd8ecf7aa51e42103157632f42bd69..f1ecf6420516c7c2a8925ee7e78d6b16a56b406a 100644 (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: