[jcifs] NtlmHttpFilter on unix box stopped working

BASHEER, SHIBU shibu.basheer at emera.com
Mon Apr 3 20:34:52 GMT 2006


Our application was working just fine on a UNIX dev server until Thursday, and suddenly NtlmHttpFilter started to throw UnknownHostExceptions.  Info from catalina.out is attached below.  The same application works just fine with NtlmHttpFilter  on my test XP box.  I even tried the app to read the controller IP from lmhosts file with not much luck.  I do not think it is problem with the controller, or username/password because same setting work on my windows box.  Any help will me much appreciated!!

My NtlmHttpFilter  filter settings:

<filter>
    <filter-name>NtlmHttpFilter</filter-name>
    <filter-class>jcifs.http.NtlmHttpFilter</filter-class>

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

    <init-param>
        <param-name>jcifs.smb.client.username</param-name>
        <param-value>user</param-value>
    </init-param>

    <init-param>
        <param-name>jcifs.smb.client.password</param-name>
        <param-value>passwd</param-value>
    </init-param>

    <init-param>
        <param-name>jcifs.netbios.lmhosts</param-name>
        <param-value>/export/home/web/lmhosts</param-value>
    </init-param>
    <init-param>
        <param-name>jcifs.resolveOrder</param-name>
        <param-value>LMHOSTS,WINS,BCAST,DNS</param-value>
    </init-param>

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

    <init-param>
        <param-name>jcifs.util.loglevel</param-name>
        <param-value>3</param-value>
    </init-param>
   <init-param>
      <param-name>jcifs.smb.client.soTimeout</param-name>
      <param-value>40000</param-value>
    </init-param>
    <init-param>
      <param-name>jcifs.smb.client.responseTimeout</param-name>
      <param-value>30000</param-value>
    </init-param>
    <init-param>
      <param-name>jcifs.netbios.retryTimeout</param-name>
      <param-value>10000</param-value>
    </init-param>
    <init-param>
      <param-name>jcifs.netbios.soTimeout</param-name>
      <param-value>10000</param-value>
    </init-param>

</filter>
<filter-mapping>
    <filter-name>NtlmHttpFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


Logs from catalina.out...

treeConnect: unc=\\MY_DOMAIN\IPC$,service=?????
New data read: Transport1[MY_DOMAIN<1C>/192.168.133.4:0]
00000: FF 53 4D 42 73 72 00 00 C0 98 07 C0 00 00 50 04  |ÿSMBsr..À..À..P.|
00010: 9C 05 56 69 78 0C 00 00 00 00 81 45 00 00 02 00  |..Vix......E....|

Failed validate DC: MY_DOMAIN<1C>/192.168.133.4
jcifs.smb.SmbAuthException: Logon failure: account currently disabled.
        at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:492)
        at jcifs.smb.SmbTransport.send(SmbTransport.java:603)
        at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:264)
        at jcifs.smb.SmbSession.send(SmbSession.java:223)
        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:144)
        at jcifs.smb.SmbSession.interrogate(SmbSession.java:82)
        at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:111)
        at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
        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.valves.AccessLogValve.invoke(AccessLogValve.java:526)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:365)
        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:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        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:595)
New data read: Transport2[MY_DOMAIN<1C>/192.168.135.4:0]
00000: FF 53 4D 42 72 00 00 00 00 98 03 C0 00 00 00 00  |ÿSMBr......À....|
00010: 00 00 00 00 00 00 00 00 00 00 81 45 00 00 01 00  |...........E....|

byteCount=36 but readBytesWireFormat returned 18
treeConnect: unc=\\MY_DOMAIN\IPC$,service=?????
New data read: Transport2[MY_DOMAIN<1C>/192.168.135.4:0]
00000: FF 53 4D 42 73 72 00 00 C0 98 07 C0 00 00 9E 05  |ÿSMBsr..À..À....|
00010: 13 B5 48 B4 91 F2 00 00 00 00 81 45 00 00 02 00  |.µH´.ò.....E....|

Failed validate DC: MY_DOMAIN<1C>/192.168.135.4
jcifs.smb.SmbAuthException: Logon failure: account currently disabled.
        at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:492)
        at jcifs.smb.SmbTransport.send(SmbTransport.java:603)
        at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:264)
        at jcifs.smb.SmbSession.send(SmbSession.java:223)
        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:144)
        at jcifs.smb.SmbSession.interrogate(SmbSession.java:82)
        at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:111)
        at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
        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.valves.AccessLogValve.invoke(AccessLogValve.java:526)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:365)
        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:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        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:595)
treeConnect: unc=\\MY_DOMAIN\IPC$,service=?????
New data read: Transport1[MY_DOMAIN<1C>/192.168.133.4:0]
00000: FF 53 4D 42 73 72 00 00 C0 98 07 C0 00 00 D2 83  |ÿSMBsr..À..À..Ò.|
00010: A7 9E 78 A5 7E D5 00 00 00 00 81 45 00 00 03 00  |§.x¥~Õ.....E....|

Failed validate DC: MY_DOMAIN<1C>/192.168.133.4
jcifs.smb.SmbAuthException: Logon failure: account currently disabled.
        at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:492)
        at jcifs.smb.SmbTransport.send(SmbTransport.java:603)
        at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:264)
        at jcifs.smb.SmbSession.send(SmbSession.java:223)
        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:144)
        at jcifs.smb.SmbSession.interrogate(SmbSession.java:82)
        at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:111)
        at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
        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.valves.AccessLogValve.invoke(AccessLogValve.java:526)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:365)
        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:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        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:595)
28304 [http-WebAppsDev.domain.com%2F142.67.49.28-80-Processor24] WARN  org.apache.catalina.core.ContainerBase.[Catalina].[webappsdev.domain.com].[/IncidentAccident].[InitServlet]  - Servlet.service() for servlet InitServlet threw exception
java.net.UnknownHostException: Failed to negotiate with a suitable domain controller for MY_DOMAIN
        at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:126)
        at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
        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.valves.AccessLogValve.invoke(AccessLogValve.java:526)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:365)
        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:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        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:595)
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:712)
        at jcifs.netbios.NameServiceClient.run(NameServiceClient.java:184)
        at java.lang.Thread.run(Thread.java:595)
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at jcifs.util.transport.Transport.readn(Transport.java:29)
        at jcifs.smb.SmbTransport.peekKey(SmbTransport.java:351)
        at jcifs.util.transport.Transport.loop(Transport.java:98)
        at jcifs.util.transport.Transport.run(Transport.java:242)
        at java.lang.Thread.run(Thread.java:595)
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at jcifs.util.transport.Transport.readn(Transport.java:29)
        at jcifs.smb.SmbTransport.peekKey(SmbTransport.java:351)
        at jcifs.util.transport.Transport.loop(Transport.java:98)
        at jcifs.util.transport.Transport.run(Transport.java:242)
        at java.lang.Thread.run(Thread.java:595)




Confidentiality Notice -This email communication is considered confidential and is intended only for the recipient(s). If you received this email in error,please contact the sender and delete this email. Unauthorized disclosure or copying of this email is prohibited.

Attachment Limits -Emera will not accept emails larger than 10MB or emails containing high risk attachments like ZIP, EXE or others that could contain viruses. If you have a business need to send such an email, please contact the recipient for instructions.
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the jcifs mailing list