From 4b0658d4486d60c82c989ed0b6c806dfc45edbac Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 8 Jun 2009 15:21:48 -0700 Subject: Replace the "ipv4" specific strings in libcli/cldap/cldap.c with "ip". CLDAP can run over IPv4/IPv6, even though some of the netlogon messages are IPv4 specific. Fix the new ads_cldap_netlogon() to be IPv6/IPv4 agnostic. This compiles but I don't have a good test env. for this (although as the previous code was *completely* broken over IPv6 this will expose previously hidden bugs if it's broken :-). Jeremy. --- source3/libads/cldap.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'source3/libads') diff --git a/source3/libads/cldap.c b/source3/libads/cldap.c index 4c3716a470..523020797b 100644 --- a/source3/libads/cldap.c +++ b/source3/libads/cldap.c @@ -38,29 +38,20 @@ bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx, struct cldap_netlogon io; struct netlogon_samlogon_response *reply; NTSTATUS status; - struct in_addr addr; - char addrstr[INET_ADDRSTRLEN]; + struct sockaddr_storage ss; + char addrstr[INET6_ADDRSTRLEN]; const char *dest_str; int ret; struct tsocket_address *dest_addr; - /* TODO: support ipv6 */ - - addr = interpret_addr2(server); - if (is_zero_ip_v4(addr)) { - DEBUG(2,("Failed to resolve[%s] into an address for cldap\n", - server)); - return false; - } - dest_str = inet_ntop(AF_INET, &addr, - addrstr, sizeof(addrstr)); - if (!dest_str) { + if (!interpret_string_addr(&ss, server, 0)) { DEBUG(2,("Failed to resolve[%s] into an address for cldap\n", - server)); + server)); return false; } + dest_str = print_sockaddr(addrstr, sizeof(addrstr), &ss); - ret = tsocket_address_inet_from_strings(mem_ctx, "ipv4", + ret = tsocket_address_inet_from_strings(mem_ctx, "ip", dest_str, LDAP_PORT, &dest_addr); if (ret != 0) { -- cgit