summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_dyndns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ldap/sdap_dyndns.c')
-rw-r--r--src/providers/ldap/sdap_dyndns.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/providers/ldap/sdap_dyndns.c b/src/providers/ldap/sdap_dyndns.c
index f5929cff3..a463a2fce 100644
--- a/src/providers/ldap/sdap_dyndns.c
+++ b/src/providers/ldap/sdap_dyndns.c
@@ -644,7 +644,6 @@ sdap_dyndns_add_ldap_conn(struct sdap_dyndns_get_addrs_state *state,
{
int ret;
int fd;
- struct sss_iface_addr *address;
struct sockaddr_storage ss;
socklen_t ss_len = sizeof(ss);
@@ -666,20 +665,21 @@ sdap_dyndns_add_ldap_conn(struct sdap_dyndns_get_addrs_state *state,
return ret;
}
- switch(ss.ss_family) {
- case AF_INET:
- case AF_INET6:
- address = sss_iface_addr_add(state, &state->addresses, &ss);
- if (address == NULL) {
- return ENOMEM;
- }
- break;
- default:
+ if (ss.ss_family != AF_INET && ss.ss_family != AF_INET6) {
DEBUG(SSSDBG_CRIT_FAILURE,
"Connection to LDAP is neither IPv4 nor IPv6\n");
return EIO;
}
+ ret = sss_get_dualstack_addresses(state, (struct sockaddr *) &ss,
+ &state->addresses);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ "sss_get_dualstack_addresses failed: %d:[%s]\n",
+ ret, sss_strerror(ret));
+ return ret;
+ }
+
return EOK;
}