diff options
author | Jeremy Allison <jra@samba.org> | 2009-07-28 11:51:58 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-07-28 11:51:58 -0700 |
commit | 5d05d2299983b5d34615cd269b04806bba173c0d (patch) | |
tree | 05b72de06182ef588d5cf1bc14806a0d22144b92 /source3/utils | |
parent | 571f20cd4db48c8d510e10b7188678d585abb2d1 (diff) | |
download | samba-5d05d2299983b5d34615cd269b04806bba173c0d.tar.gz samba-5d05d2299983b5d34615cd269b04806bba173c0d.tar.bz2 samba-5d05d2299983b5d34615cd269b04806bba173c0d.zip |
Added prefer_ipv4 bool parameter to resolve_name().
W2K3 DC's can have IPv6 addresses but won't serve
krb5/ldap or cldap on those addresses. Make sure when
we're asking for DC's we prefer IPv4.
If you have an IPv6-only network this prioritizing code
will be a no-op. And if you have a mixed network then you
need to prioritize IPv4 due to W2K3 DC's.
Jeremy.
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/net_ads.c | 2 | ||||
-rw-r--r-- | source3/utils/net_lookup.c | 4 | ||||
-rw-r--r-- | source3/utils/net_util.c | 8 | ||||
-rw-r--r-- | source3/utils/smbfilter.c | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c index 9ca52a87bc..4e27278154 100644 --- a/source3/utils/net_ads.c +++ b/source3/utils/net_ads.c @@ -1655,7 +1655,7 @@ static int net_ads_printer_publish(struct net_context *c, int argc, const char * /* Get printer data from SPOOLSS */ - resolve_name(servername, &server_ss, 0x20); + resolve_name(servername, &server_ss, 0x20, false); nt_status = cli_full_connection(&cli, global_myname(), servername, &server_ss, 0, diff --git a/source3/utils/net_lookup.c b/source3/utils/net_lookup.c index 66f673b8d3..e770e3299f 100644 --- a/source3/utils/net_lookup.c +++ b/source3/utils/net_lookup.c @@ -53,7 +53,7 @@ static int net_lookup_host(struct net_context *c, int argc, const char **argv) sscanf(++p,"%x",&name_type); } - if (!resolve_name(name, &ss, name_type)) { + if (!resolve_name(name, &ss, name_type, false)) { /* we deliberately use DEBUG() here to send it to stderr so scripts aren't mucked up */ DEBUG(0,("Didn't find %s#%02x\n", name, name_type)); @@ -72,7 +72,7 @@ static void print_ldap_srvlist(struct dns_rr_srv *dclist, int numdcs ) int i; for ( i=0; i<numdcs; i++ ) { - if (resolve_name(dclist[i].hostname, &ss, 0x20) ) { + if (resolve_name(dclist[i].hostname, &ss, 0x20, true) ) { char addr[INET6_ADDRSTRLEN]; print_sockaddr(addr, sizeof(addr), &ss); #ifdef HAVE_IPV6 diff --git a/source3/utils/net_util.c b/source3/utils/net_util.c index 8bf9aac6f2..383fea47cc 100644 --- a/source3/utils/net_util.c +++ b/source3/utils/net_util.c @@ -393,7 +393,7 @@ bool net_find_server(struct net_context *c, } } else if (*server_name) { /* resolve the IP address */ - if (!resolve_name(*server_name, server_ss, 0x20)) { + if (!resolve_name(*server_name, server_ss, 0x20, false)) { DEBUG(1,("Unable to resolve server name\n")); return false; } @@ -420,8 +420,8 @@ bool net_find_server(struct net_context *c, struct sockaddr_storage msbrow_ss; char addr[INET6_ADDRSTRLEN]; - /* if (!resolve_name(MSBROWSE, &msbrow_ip, 1)) */ - if (!resolve_name(d, &msbrow_ss, 0x1B)) { + /* if (!resolve_name(MSBROWSE, &msbrow_ip, 1, false)) */ + if (!resolve_name(d, &msbrow_ss, 0x1B, false)) { DEBUG(1,("Unable to resolve domain browser via name lookup\n")); return false; } @@ -431,7 +431,7 @@ bool net_find_server(struct net_context *c, } else if (flags & NET_FLAGS_MASTER) { struct sockaddr_storage brow_ss; char addr[INET6_ADDRSTRLEN]; - if (!resolve_name(d, &brow_ss, 0x1D)) { + if (!resolve_name(d, &brow_ss, 0x1D, false)) { /* go looking for workgroups */ DEBUG(1,("Unable to resolve master browser via name lookup\n")); return false; diff --git a/source3/utils/smbfilter.c b/source3/utils/smbfilter.c index 39a264011e..83de0c4c37 100644 --- a/source3/utils/smbfilter.c +++ b/source3/utils/smbfilter.c @@ -232,7 +232,7 @@ static void start_filter(char *desthost) d_printf("listen failed\n"); } - if (!resolve_name(desthost, &dest_ss, 0x20)) { + if (!resolve_name(desthost, &dest_ss, 0x20, false)) { d_printf("Unable to resolve host %s\n", desthost); exit(1); } |