[jcifs] Problems Upgrading From 0.7.15 to 1.1.9

David Pattison david.pattison at siemens.com
Mon Mar 14 12:24:41 GMT 2005


Hi Guys,

We have just upgraded the jcifs library in our web app and are having problems
with logging on. Basically we needed to take advantage of the jcifs.netbios.wins
parameter which allows multiple addresses in the newer versions (which isnt in
0.7.15?), and to specify this and jcifs.smb.client.domain instead of just
pointing to jcifs.http.domainController. So, with these parameters changed (and
moved from the command line to init-params in web.xml), I have been unable to
successfully logon.

I was originally getting a timeout error waiting for the DC to respond, so I
upped the timeout from 10 seconds to 60, and after about 20 seconds the
following error appeared:

jcifs.smb.SmbException: 0xC000018C
	at jcifs.smb.SmbTransport.send(SmbTransport.java:704)
	at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:271)
	at jcifs.smb.SmbSession.send(SmbSession.java:228)
	at jcifs.smb.SmbTree.treeConnect(SmbTree.java:134)
	at jcifs.smb.SmbSession.logon(SmbSession.java:159)
	at jcifs.smb.SmbSession.logon(SmbSession.java:152)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:155)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
	at uk.co.siemenscomms.eng.j2ee.crm.filter.LoginFilter.doFilter
   (LoginFilter.java:97)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.invoke
   (ServletRequestDispatcher.java:598)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.forwardInternal
   (ServletRequestDispatcher.java:308)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.HttpRequestHandler.processRequest
   (HttpRequestHandler.java:779)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:264)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:107)
	at com.evermind[Oracle9iAS (9.0.4.0.0) Containers for
J2EE].util.ReleasableResourcePooledExecutor$MyWorker.run
   (ReleasableResourcePooledExecutor.java:186)
	at java.lang.Thread.run(Thread.java:536)

But on the command line the following appears when the timeoout is set to 60
seconds (137.223.284.46 being the primary WINS server):

137.223.284.46
java.net.UnknownHostException: 137.223.284.46: 137.223.284.46
        at java.net.InetAddress.getAllByName0(InetAddress.java:999)
        at java.net.InetAddress.getAllByName0(InetAddress.java:969)
        at java.net.InetAddress.getAllByName(InetAddress.java:963)
        at java.net.InetAddress.getByName(InetAddress.java:883)
        at jcifs.Config.getInetAddressArray(Config.java:304)
        at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:133)
        at jcifs.UniAddress.<clinit>(UniAddress.java:62)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:129)
        at
com.evermind.server.http.EvermindFilterChain.doFilter
   (EvermindFilterChain.java:16)
        at
uk.co.siemenscomms.eng.j2ee.cma.filter.LoginFilter.doFilter
   (LoginFilter.java:97)
        at
com.evermind.server.http.ServletRequestDispatcher.invoke
   (ServletRequestDispatcher.java:598)
        at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal
   (ServletRequestDispatcher.java:308)
        at
com.evermind.server.http.HttpRequestHandler.processRequest
   (HttpRequestHandler.java:779)
        at
com.evermind.server.http.HttpRequestHandler.run
   (HttpRequestHandler.java:264)
        at
com.evermind.server.http.HttpRequestHandler.run
   (HttpRequestHandler.java:107)
        at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run
   (ReleasableResourcePooledExecutor.java:186)
        at java.lang.Thread.run(Thread.java:536)


But with the default timeout, this is the command line error:

Socket Closed: DOMAINNAME<1C>/137.223.234.128
java.net.SocketException: Socket Closed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at
jcifs.netbios.SessionServicePacket.readPacketType(SessionServicePacket.java:68)
        at jcifs.netbios.SocketInputStream.read(SocketInputStream.java:74)
        at jcifs.netbios.SocketInputStream.read(SocketInputStream.java:40)
        at java.io.FilterInputStream.read(FilterInputStream.java:66)
        at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
        at jcifs.smb.SmbTransport.run(SmbTransport.java:394)


I tried replacing jcifs.http.domainController with the domain and WINS
parameters back when we were using 0.7.15 and it worked fine. Has something else
changed that I should be configuring in the new versions?

PS, I have also tried using 1.1.4 and 1.1.6 with the same results.



More information about the jcifs mailing list