diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-10 18:25:16 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-10 18:25:16 -0700 |
commit | 8e54530b52fd256137740107e9fdf000f00a7a30 (patch) | |
tree | f9ca56cc0b2eff78c3550c924c79ee4ca0666fd2 /source3/winbindd | |
parent | 0ec55a246238b6cfb3727942c20cd55a16ab4d4a (diff) | |
download | samba-8e54530b52fd256137740107e9fdf000f00a7a30.tar.gz samba-8e54530b52fd256137740107e9fdf000f00a7a30.tar.bz2 samba-8e54530b52fd256137740107e9fdf000f00a7a30.zip |
Add start of IPv6 implementation. Currently most of this is avoiding
IPv6 in winbindd, but moves most of the socket functions that were
wrongly in lib/util.c into lib/util_sock.c and provides generic
IPv4/6 independent versions of most things. Still lots of work
to do, but now I can see how I'll fix the access check code.
Nasty part that remains is the name resolution code which is
used to returning arrays of in_addr structs.
Jeremy.
(This used to be commit 3f6bd0e1ec5cc6670f3d08f76fc2cd94c9cd1a08)
Diffstat (limited to 'source3/winbindd')
-rw-r--r-- | source3/winbindd/winbindd_cm.c | 4 | ||||
-rw-r--r-- | source3/winbindd/winbindd_wins.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index e12b13cbbd..4ff9fce96f 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -1292,7 +1292,7 @@ static BOOL find_new_dc(TALLOC_CTX *mem_ctx, *addr = addrs[fd_index]; - if (*dcnames[fd_index] != '\0' && !is_ipaddress(dcnames[fd_index])) { + if (*dcnames[fd_index] != '\0' && !is_ipaddress_v4(dcnames[fd_index])) { /* Ok, we've got a name for the DC */ fstrcpy(dcname, dcnames[fd_index]); return True; @@ -1336,7 +1336,7 @@ static NTSTATUS cm_open_connection(struct winbindd_domain *domain, saf_servername, domain->name )); /* convert an ip address to a name */ - if ( is_ipaddress( saf_servername ) ) { + if ( is_ipaddress_v4( saf_servername ) ) { fstring saf_name; struct in_addr ip; diff --git a/source3/winbindd/winbindd_wins.c b/source3/winbindd/winbindd_wins.c index f84dfdf2de..2ee6f69b66 100644 --- a/source3/winbindd/winbindd_wins.c +++ b/source3/winbindd/winbindd_wins.c @@ -118,7 +118,10 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) for (j=iface_count() - 1; j >= 0; j--) { - struct in_addr *bcast = iface_n_bcast(j); + const struct in_addr *bcast = iface_n_bcast_v4(j); + if (!bcast) { + continue; + } return_ip = name_query(fd,name,0x20,True,True,*bcast,count, &flags, NULL); if (return_ip) { break; |