[jcifs] UnknownHostException

jbaker-cifs at javasystemsolutions.com jbaker-cifs at javasystemsolutions.com
Mon Nov 6 07:03:26 GMT 2006


Hello,

Overview: Tomcat running a web app using the NTLM filter trying to 
authenticate against a Windows 2003 PDC.

Any thoughts on why jcifs would report an unknown host exception? This follows 
on to a NullPointerException that I reported some months ago (see this 
thread: http://lists.samba.org/archive/jcifs/2006-July/006375.html).

Here's the web.xml:

          <init-param>
            <param-name>jcifs.netbios.wins</param-name>
            <param-value>192.168.0.54</param-value>
          </init-param>

          <init-param>
            <param-name>jcifs.smb.client.domain</param-name>
            <param-value>MYCOMPANY</param-value>
          </init-param>

Here's the logs:

- Unable to find required classes (javax.activation.DataHandler and 
javax.mail.internet.MimeMultipart). Attachment support is disabled.
NameQueryRequest[nameTrnId=1,isResponse=false,opCode=QUERY,isAuthAnswer=false,isTruncated=false,isRecurAvailable=false,isRecurDesired=true,isBroadcast=false,resultCode=0,questionCount=1,answerCount=0,authorityCount=0,additionalCount=0,questionName=MYCOMPANY<1C>,questionType=0x0020,questionClass=IN,recordName=null,recordType=0x0000,recordClass=0x0000,ttl=0,rDataLength=0]
NetBIOS: new data read from socket
00000: 00 01 01 00 00 01 00 00 00 00 00 00 20 45 4E 45  |............ ENE|
00010: 42 45 4F 45 4A 45 4F 46 47 45 46 46 44 46 45 45  |BEOEJEOFGEFFDFEE|
00020: 4E 45 46 45 4F 46 45 46 44 43 41 42 4D 00 00 20  |NEFEOFEFDCABM.. |
00030: 00 01                                            |..              |

NameQueryResponse[nameTrnId=1,isResponse=true,opCode=QUERY,isAuthAnswer=true,isTruncated=false,isRecurAvailable=true,isRecurDesired=true,isBroadcast=false,resultCode=3,questionCount=0,answerCount=0,authorityCount=0,additionalCount=0,questionName=null,questionType=0x0000,questionClass=IN,recordName=MYCOMPANY<1C>,recordType=NULL,recordClass=IN,ttl=0,rDataLength=0,addrEntry=[Ljcifs.netbios.NbtAddress;@bf1d3b]
00000: 00 01 85 83 00 00 00 00 00 00 00 00 20 45 4E 45  |............ ENE|
00010: 42 45 4F 45 4A 45 4F 46 47 45 46 46 44 46 45 45  |BEOEJEOFGEFFDFEE|
00020: 4E 45 46 45 4F 46 45 46 44 43 41 42 4D 00 00 0A  |NEFEOFEFDCABM...|
00030: 00 01 00 00 00 00 00 00                          |........        |

- Servlet.service() for servlet HomeServlet threw exception
java.net.UnknownHostException: MYCOMPANY
	at jcifs.netbios.NameServiceClient.getAllByName(NameServiceClient.java:292)
	at jcifs.netbios.NbtAddress.getAllByName(NbtAddress.java:454)
	at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:95)
	at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
	at 
com.javasystemsolutions.mtsso.NTLMHttpFilter.doFilter(NTLMHttpFilter.java:24)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:566)
java.net.SocketTimeoutException: Receive timed out
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	at java.net.DatagramSocket.receive(DatagramSocket.java:711)
	at jcifs.netbios.NameServiceClient.run(NameServiceClient.java:184)
	at java.lang.Thread.run(Thread.java:566)
- Servlet.service() for servlet HomeServlet threw exception
java.lang.NullPointerException
	at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:106)
	at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
	at 
com.javasystemsolutions.mtsso.NTLMHttpFilter.doFilter(NTLMHttpFilter.java:24)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:566)
- Servlet.service() for servlet HomeServlet threw exception
java.lang.NullPointerException
	at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:106)
	at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
	at 
com.javasystemsolutions.mtsso.NTLMHttpFilter.doFilter(NTLMHttpFilter.java:24)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:566)

Interestingly, when I set up such an example on my Linux machine, I can't 
resolve MYCOMPANY but the NTLM auth works against my Windows 2003 server... 
This makes me wonder why an UnknownHostException is being reported, given the 
NTLM module works on a machine that can't resolve the domain name.

Any info much appreciated


John




More information about the jcifs mailing list