]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-netlink: do not enable dump flag by default for RTM_GETADDR message
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 24 May 2021 13:47:01 +0000 (22:47 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 24 May 2021 23:26:00 +0000 (08:26 +0900)
src/libsystemd/sd-netlink/rtnl-message.c
src/libsystemd/sd-netlink/test-netlink.c
src/network/networkd-address.c
src/shared/local-addresses.c

index e9710124206e4fe759e2f97fe7689d5072d5a292..681c32aed14177c982f315f67c770d5630499fbb 100644 (file)
@@ -664,9 +664,6 @@ int sd_rtnl_message_new_addr(sd_netlink *rtnl, sd_netlink_message **ret,
         if (r < 0)
                 return r;
 
-        if (nlmsg_type == RTM_GETADDR)
-                (*ret)->hdr->nlmsg_flags |= NLM_F_DUMP;
-
         ifa = NLMSG_DATA((*ret)->hdr);
 
         ifa->ifa_index = index;
index 41787c5a3ecd2d1791d580b42d310a9ee6235fc9..cbae36472c914348bc64c4cd193750dfabbe84b6 100644 (file)
@@ -114,7 +114,7 @@ static void test_address_get(sd_netlink *rtnl, int ifindex) {
 
         assert_se(sd_rtnl_message_new_addr(rtnl, &m, RTM_GETADDR, ifindex, AF_INET) >= 0);
         assert_se(m);
-
+        assert_se(sd_netlink_message_request_dump(m, true) >= 0);
         assert_se(sd_netlink_call(rtnl, m, -1, &r) == 1);
 
         assert_se(sd_netlink_message_read_in_addr(r, IFA_LOCAL, &in_data) == 0);
@@ -479,7 +479,7 @@ static void test_get_addresses(sd_netlink *rtnl) {
         sd_netlink_message *m;
 
         assert_se(sd_rtnl_message_new_addr(rtnl, &req, RTM_GETADDR, 0, AF_UNSPEC) >= 0);
-
+        assert_se(sd_netlink_message_request_dump(req, true) >= 0);
         assert_se(sd_netlink_call(rtnl, req, 0, &reply) >= 0);
 
         for (m = reply; m; m = sd_netlink_message_next(m)) {
index 28a525da25ecab84b552aeaa1cc6a96838b6f868..22f1049b7de19aae65aed748b008dc19a72750c4 100644 (file)
@@ -759,6 +759,10 @@ static int link_enumerate_ipv6_tentative_addresses(Link *link) {
         if (r < 0)
                 return r;
 
+        r = sd_netlink_message_request_dump(req, true);
+        if (r < 0)
+                return r;
+
         r = sd_netlink_call(link->manager->rtnl, req, 0, &reply);
         if (r < 0)
                 return r;
index 66e452adade77df25bdb7452f8c148ff741259ed..f037c5281f4b6ff76f05c7bedcf712bc869d5d5f 100644 (file)
@@ -83,6 +83,10 @@ int local_addresses(
         if (r < 0)
                 return r;
 
+        r = sd_netlink_message_request_dump(req, true);
+        if (r < 0)
+                return r;
+
         r = sd_netlink_call(rtnl, req, 0, &reply);
         if (r < 0)
                 return r;