<div dir="ltr"><div>See RFC1001/1002.  The NBT protocol has IPv4 address fields hard-coded.  You can't map an IPv6 address to/from an NBT Address.<br><br></div>Chris -)-----<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 25, 2015 at 5:07 AM, Pascal Rigaux <span dir="ltr"><<a href="mailto:pascal.rigaux@univ-paris1.fr" target="_blank">pascal.rigaux@univ-paris1.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
We've been wondering why our server was doing weird accesses to Poland.<br>
The culprit is in <a href="https://jcifs.samba.org/src/src/jcifs/netbios/NbtAddress.java" rel="noreferrer" target="_blank">https://jcifs.samba.org/src/src/jcifs/netbios/NbtAddress.java</a>, hashCode is used on a InetAddress:<br>
<br>
  localhost = new NbtAddress(localName, localInetAddress.hashCode(), ...)<br>
<br>
In ipv4, it's ok ( <a href="https://github.com/samskivert/ikvm-openjdk/blob/master/jdk/src/share/classes/java/net/Inet4Address.java#L330-L332" rel="noreferrer" target="_blank">https://github.com/samskivert/ikvm-openjdk/blob/master/jdk/src/share/classes/java/net/Inet4Address.java#L330-L332</a> )<br>
but not in ipv6 ( <a href="https://github.com/samskivert/ikvm-openjdk/blob/master/jdk/src/share/classes/java/net/Inet6Address.java#L642" rel="noreferrer" target="_blank">https://github.com/samskivert/ikvm-openjdk/blob/master/jdk/src/share/classes/java/net/Inet6Address.java#L642</a> )<br>
<br>
Context:<br>
- SPNEGO implemented in CAS server (<a href="https://wiki.jasig.org/display/CASUM/SPNEGO" rel="noreferrer" target="_blank">https://wiki.jasig.org/display/CASUM/SPNEGO</a>)<br>
- NTLM unused but somehow some firefox are sending NTLMSSP instead of Kerberos, which caused accesses to weird servers which drops the request, blocking our server :-(<br>
I hope it's clear enough... I unfortunately had to look at things i really do not master...<br>
<br>
cu,<br>
Pascal Rigaux.<br>
<br>
<br>
Test case:<br>
<br>
import java.net.InetAddress;<br>
class Test {<br>
   static int fromHex(String s, int offset) {<br>
        return Integer.parseInt(s.substring(offset, offset + 2), 16);<br>
   }<br>
   public static void main(String[] args) throws java.net.UnknownHostException {<br>
       InetAddress i = InetAddress.getLocalHost();<br>
       String s = Integer.toHexString(i.hashCode());<br>
       System.out.println(fromHex(s, 0) + "." + fromHex(s, 2) + "." + fromHex(s, 4) + "." + fromHex(s, 6));<br>
   }<br>
}<br>
<br>
% javac Test.java<br>
% java Test<br>
83.6.6.183<br>
% java -Djava.net.preferIPv4Stack=true Test<br>
193.55.96.57<br>
<br>
(precision: the server has ipv6 2001:660:3305::57)<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Ce message a ete verifie par MailScanner<br>
pour des virus ou des polluriels et rien de<br>
suspect n'a ete trouve.<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><span style="font-family:courier new,monospace">"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X<br>Samba Team -- <a href="http://www.samba.org/" target="_blank">http://www.samba.org/</a>     -)-----   Christopher R. Hertel<br>jCIFS Team -- <a href="http://jcifs.samba.org/" target="_blank">http://jcifs.samba.org/</a>   -)-----   ubiqx development, uninq.<br>ubiqx Team -- <a href="http://www.ubiqx.org/" target="_blank">http://www.ubiqx.org/</a>     -)-----   <a href="mailto:crh@ubiqx.mn.org" target="_blank">crh@ubiqx.mn.org</a><br>OnLineBook -- <a href="http://ubiqx.org/cifs/" target="_blank">http://ubiqx.org/cifs/</a>    -)-----   <a href="mailto:crh@ubiqx.org" target="_blank">crh@ubiqx.org</a><br><br></span></div></div>
</div>