[jcifs] Patch: Better exception message for failed connects

Mark Doliner Mark.Doliner at sas.com
Wed Mar 15 18:13:33 GMT 2006


I have the following bit of code which throws an SmbException:

> UniAddress address = UniAddress.getByName(domainController);
> NtlmPasswordAuthentication mycreds = new NtlmPasswordAuthentication(domain,
>     username, password);
> SmbSession.logon(address, mycreds);

The "message" field of this exception is set to the empty string.  It would be better if the message was set to SOMETHING.  The attached patch changes 1 line to make the message "Unable to establish connection with www.google.com."  A better alternative might be to use te.getMessage(), but that's something you'll have to decide.

For reference, here's the stacktrace given by smbException.printStackTrace():
jcifs.smb.SmbException: 
jcifs.util.transport.TransportException
java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:507)
        at java.net.Socket.connect(Socket.java:457)
        at java.net.Socket.<init>(Socket.java:365)
        at java.net.Socket.<init>(Socket.java:178)
        at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:178)
        at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:236)
        at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:302)
        at jcifs.util.transport.Transport.run(Transport.java:217)
        at java.lang.Thread.run(Thread.java:595)
        at jcifs.util.transport.Transport.run(Transport.java:233)
        at java.lang.Thread.run(Thread.java:595)
        at jcifs.smb.SmbTransport.connect(SmbTransport.java:288)
        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:129)
        at jcifs.smb.SmbSession.logon(SmbSession.java:161)
        at jcifs.smb.SmbSession.logon(SmbSession.java:154)
        at com.sas.djte.reporting.UserInfos.authenticate(UserInfos.java:49)

JCIFS is sleek, thanks for creating it!
-Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jcifs_better_exception_message_for_failed_connects.diff
Type: application/octet-stream
Size: 650 bytes
Desc: jcifs_better_exception_message_for_failed_connects.diff
Url : http://lists.samba.org/archive/jcifs/attachments/20060315/1d5ba871/jcifs_better_exception_message_for_failed_connects.obj


More information about the jcifs mailing list