diff options
author | Sumit Bose <sbose@redhat.com> | 2011-06-27 10:03:03 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-06-30 14:09:10 -0400 |
commit | 7087d51975f4059591c04718def24ba7b753644c (patch) | |
tree | 3e0e03d57143394ceff8f059568a34237416af8a /src/providers/ldap | |
parent | ec425320a9bf42954a5a28b79cb567e3a9a58ecc (diff) | |
download | sssd-7087d51975f4059591c04718def24ba7b753644c.tar.gz sssd-7087d51975f4059591c04718def24ba7b753644c.tar.bz2 sssd-7087d51975f4059591c04718def24ba7b753644c.zip |
Add sockaddr_storage to sdap_service
Diffstat (limited to 'src/providers/ldap')
-rw-r--r-- | src/providers/ldap/ldap_common.c | 11 | ||||
-rw-r--r-- | src/providers/ldap/sdap.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c index 9796204f..997e027c 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); } diff --git a/src/providers/ldap/sdap.h b/src/providers/ldap/sdap.h index 4b662c15..9184090e 100644 --- a/src/providers/ldap/sdap.h +++ b/src/providers/ldap/sdap.h @@ -98,6 +98,7 @@ struct sdap_service { char *name; char *uri; char *kinit_service_name; + struct sockaddr_storage *sockaddr; }; struct sdap_ppolicy_data { |