summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/ldap_common.c
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2011-06-27 10:03:03 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-06-30 14:09:10 -0400
commit7087d51975f4059591c04718def24ba7b753644c (patch)
tree3e0e03d57143394ceff8f059568a34237416af8a /src/providers/ldap/ldap_common.c
parentec425320a9bf42954a5a28b79cb567e3a9a58ecc (diff)
downloadsssd-7087d51975f4059591c04718def24ba7b753644c.tar.gz
sssd-7087d51975f4059591c04718def24ba7b753644c.tar.xz
sssd-7087d51975f4059591c04718def24ba7b753644c.zip
Add sockaddr_storage to sdap_service
Diffstat (limited to 'src/providers/ldap/ldap_common.c')
-rw-r--r--src/providers/ldap/ldap_common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c
index 9796204f9..997e027c4 100644
--- a/src/providers/ldap/ldap_common.c
+++ b/src/providers/ldap/ldap_common.c
@@ -536,6 +536,7 @@ static void sdap_uri_callback(void *private_data, struct fo_server *server)
struct resolv_hostent *srvaddr;
char *address;
const char *safe_address;
+ struct sockaddr_storage *sockaddr;
const char *tmp;
char *new_uri;
LDAPURLDesc *lud;
@@ -570,6 +571,14 @@ static void sdap_uri_callback(void *private_data, struct fo_server *server)
return;
}
+ sockaddr = resolv_get_sockaddr_address(tmp_ctx, srvaddr,
+ fo_get_server_port(server));
+ if (sockaddr == NULL) {
+ DEBUG(1, ("resolv_get_sockaddr_address failed.\n"));
+ talloc_free(tmp_ctx);
+ return;
+ }
+
safe_address = sss_ldap_escape_ip_address(tmp_ctx,
srvaddr->family,
address);
@@ -617,6 +626,8 @@ static void sdap_uri_callback(void *private_data, struct fo_server *server)
/* free old one and replace with new one */
talloc_zfree(service->uri);
service->uri = new_uri;
+ talloc_zfree(service->sockaddr);
+ service->sockaddr = talloc_steal(service, sockaddr);
talloc_free(tmp_ctx);
}