sd-dhcp6-client: always use ENODATA when a lease does not have requested data

This commit is contained in:
Yu Watanabe
2022-02-14 14:43:45 +09:00
parent 29858a0f9e
commit 126277aceb
2 changed files with 12 additions and 12 deletions
+7 -7
View File
@@ -176,7 +176,7 @@ int sd_dhcp6_lease_get_address(
assert_return(lease, -EINVAL);
if (!lease->addr_iter)
return -ENOMSG;
return -ENODATA;
if (ret_addr)
*ret_addr = lease->addr_iter->iaaddr.address;
@@ -204,7 +204,7 @@ int sd_dhcp6_lease_get_pd(
assert_return(lease, -EINVAL);
if (!lease->prefix_iter)
return -ENOMSG;
return -ENODATA;
if (ret_prefix)
*ret_prefix = lease->prefix_iter->iapdprefix.address;
@@ -238,7 +238,7 @@ int sd_dhcp6_lease_get_dns(sd_dhcp6_lease *lease, const struct in6_addr **ret) {
assert_return(lease, -EINVAL);
if (!lease->dns)
return -ENOENT;
return -ENODATA;
if (ret)
*ret = lease->dns;
@@ -268,7 +268,7 @@ int sd_dhcp6_lease_get_domains(sd_dhcp6_lease *lease, char ***ret) {
assert_return(ret, -EINVAL);
if (!lease->domains)
return -ENOENT;
return -ENODATA;
*ret = lease->domains;
return strv_length(lease->domains);
@@ -349,14 +349,14 @@ int sd_dhcp6_lease_get_ntp_addrs(sd_dhcp6_lease *lease, const struct in6_addr **
return lease->sntp_count;
}
return -ENOENT;
return -ENODATA;
}
int sd_dhcp6_lease_get_ntp_fqdn(sd_dhcp6_lease *lease, char ***ret) {
assert_return(lease, -EINVAL);
if (!lease->ntp_fqdn)
return -ENOENT;
return -ENODATA;
if (ret)
*ret = lease->ntp_fqdn;
@@ -390,7 +390,7 @@ int sd_dhcp6_lease_get_fqdn(sd_dhcp6_lease *lease, const char **ret) {
assert_return(ret, -EINVAL);
if (!lease->fqdn)
return -ENOENT;
return -ENODATA;
*ret = lease->fqdn;
return 0;
+5 -5
View File
@@ -571,16 +571,16 @@ static void test_advertise_option(sd_event *e) {
assert_se(!memcmp(&addr, &msg_advertise[42], sizeof(addr)));
assert_se(lt_pref == 150);
assert_se(lt_valid == 180);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENOMSG);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENODATA);
sd_dhcp6_lease_reset_address_iter(lease);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) >= 0);
assert_se(!memcmp(&addr, &msg_advertise[42], sizeof(addr)));
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENOMSG);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENODATA);
sd_dhcp6_lease_reset_address_iter(lease);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) >= 0);
assert_se(!memcmp(&addr, &msg_advertise[42], sizeof(addr)));
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENOMSG);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENODATA);
assert_se(dhcp6_lease_get_serverid(lease, &opt, &len) >= 0);
assert_se(len == 14);
@@ -735,7 +735,7 @@ static void test_client_verify_request(DHCP6Message *request, size_t len) {
assert_se(found_clientid && found_iana && found_serverid && found_elapsed_time);
sd_dhcp6_lease_reset_address_iter(lease);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENOMSG);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENODATA);
}
static void test_client_send_advertise(DHCP6Message *solicit) {
@@ -910,7 +910,7 @@ static void test_client_verify_information_request(DHCP6Message *information_req
sd_dhcp6_lease_reset_address_iter(lease);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENOMSG);
assert_se(sd_dhcp6_lease_get_address(lease, &addr, &lt_pref, &lt_valid) == -ENODATA);
}
int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address,