diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-24 14:16:54 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-24 14:16:54 -0700 |
commit | f88b7a076be74a29a3bf876b4e2705f4a1ecf42b (patch) | |
tree | 2d5167540fcbe1ad245fce697924b18216b2d142 /source3/libsmb/nmblib.c | |
parent | e01cbcb28e63abb0f681a5a168fc2445744eec93 (diff) | |
download | samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.tar.gz samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.tar.bz2 samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.zip |
This is a large patch (sorry). Migrate from struct in_addr
to struct sockaddr_storage in most places that matter (ie.
not the nmbd and NetBIOS lookups). This passes make test
on an IPv4 box, but I'll have to do more work/testing on
IPv6 enabled boxes. This should now give us a framework
for testing and finishing the IPv6 migration. It's at
the state where someone with a working IPv6 setup should
(theorecically) be able to type :
smbclient //ipv6-address/share
and have it work.
Jeremy.
(This used to be commit 98e154c3125d5732c37a72d74b0eb5cd7b6155fd)
Diffstat (limited to 'source3/libsmb/nmblib.c')
-rw-r--r-- | source3/libsmb/nmblib.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source3/libsmb/nmblib.c b/source3/libsmb/nmblib.c index 4d21258f99..7e152ab324 100644 --- a/source3/libsmb/nmblib.c +++ b/source3/libsmb/nmblib.c @@ -1187,19 +1187,20 @@ bool match_mailslot_name(struct packet_struct *p, const char *mailslot_name) } /**************************************************************************** - Return the number of bits that match between two 4 character buffers + Return the number of bits that match between two len character buffers ***************************************************************************/ -int matching_quad_bits(unsigned char *p1, unsigned char *p2) +int matching_len_bits(unsigned char *p1, unsigned char *p2, size_t len) { - int i, j, ret = 0; - for (i=0; i<4; i++) { + size_t i, j; + int ret = 0; + for (i=0; i<len; i++) { if (p1[i] != p2[i]) break; ret += 8; } - if (i==4) + if (i==len) return ret; for (j=0; j<8; j++) { @@ -1219,8 +1220,8 @@ static unsigned char sort_ip[4]; static int name_query_comp(unsigned char *p1, unsigned char *p2) { - return matching_quad_bits(p2+2, sort_ip) - - matching_quad_bits(p1+2, sort_ip); + return matching_len_bits(p2+2, sort_ip, 4) - + matching_len_bits(p1+2, sort_ip, 4); } /**************************************************************************** |