sd-dhcp6-client: support multiple domains

This commit is contained in:
Yu Watanabe
2021-09-29 15:29:41 +09:00
parent 5cf67bb407
commit 41b14f0329
4 changed files with 6 additions and 9 deletions
@@ -49,7 +49,7 @@ int dhcp6_lease_get_iaid(sd_dhcp6_lease *lease, be32_t *iaid);
int dhcp6_lease_get_pd_iaid(sd_dhcp6_lease *lease, be32_t *iaid);
int dhcp6_lease_set_dns(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_set_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_add_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_set_ntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
int dhcp6_lease_set_sntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) ;
int dhcp6_lease_set_fqdn(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
+1 -1
View File
@@ -1250,7 +1250,7 @@ static int client_parse_message(
break;
case SD_DHCP6_OPTION_DOMAIN_LIST:
r = dhcp6_lease_set_domains(lease, optval, optlen);
r = dhcp6_lease_add_domains(lease, optval, optlen);
if (r < 0)
return r;
+3 -5
View File
@@ -214,9 +214,9 @@ int sd_dhcp6_lease_get_dns(sd_dhcp6_lease *lease, const struct in6_addr **ret) {
return lease->dns_count;
}
int dhcp6_lease_set_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
int dhcp6_lease_add_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
_cleanup_strv_free_ char **domains = NULL;
int r;
char **domains;
assert_return(lease, -EINVAL);
assert_return(optval, -EINVAL);
@@ -228,9 +228,7 @@ int dhcp6_lease_set_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t
if (r < 0)
return r;
strv_free_and_replace(lease->domains, domains);
return 0;
return strv_extend_strv(&lease->domains, domains, true);
}
int sd_dhcp6_lease_get_domains(sd_dhcp6_lease *lease, char ***ret) {
+1 -2
View File
@@ -516,8 +516,7 @@ static int test_advertise_option(sd_event *e) {
case SD_DHCP6_OPTION_DOMAIN_LIST:
assert_se(optlen == 11);
assert_se(dhcp6_lease_set_domains(lease, optval,
optlen) >= 0);
assert_se(dhcp6_lease_add_domains(lease, optval, optlen) >= 0);
break;
case SD_DHCP6_OPTION_SNTP_SERVERS: