sd-dhcp6-client: always use ENODATA when a lease does not have requested data
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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, <_pref, <_valid) == -ENOMSG);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) == -ENODATA);
|
||||
|
||||
sd_dhcp6_lease_reset_address_iter(lease);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) >= 0);
|
||||
assert_se(!memcmp(&addr, &msg_advertise[42], sizeof(addr)));
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) == -ENOMSG);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) == -ENODATA);
|
||||
sd_dhcp6_lease_reset_address_iter(lease);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) >= 0);
|
||||
assert_se(!memcmp(&addr, &msg_advertise[42], sizeof(addr)));
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) == -ENOMSG);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_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, <_pref, <_valid) == -ENOMSG);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_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, <_pref, <_valid) == -ENOMSG);
|
||||
assert_se(sd_dhcp6_lease_get_address(lease, &addr, <_pref, <_valid) == -ENODATA);
|
||||
}
|
||||
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address,
|
||||
|
||||
Reference in New Issue
Block a user