[jcifs] jcifs-1.3.16 released / SO_TIMEOUT, Disconnect Improvements, copyTo() Exceptions and more

Michael B Allen ioplex at gmail.com
Fri Jun 24 20:39:03 MDT 2011


This release includes the following minor fixes and improvements:

    * JCIFS now uses the InetSocketAddress class to explicitly bind
and set the SO_TIMEOUT on client sockets before they are connected.
This makes the SO_TIMEOUT effective when the target server socket is
not listening and the client OS socket implementation takes a long
time for the dropped SYN to timeout. This may significantly reduce
resource consumption in applications that use multiple threads to
constantly query servers that may not be listening.
    * When disconnecting a transport, new clauses have been added to
better reset transport state whereas previously transports could get
stuck in a disconnected state for unnecessarily long periods of time.
    * A new property jcifs.smb.client.ignoreCopyToException has been
added. When set to "true" (the default), the SmbFile.copyTo() method
will ignore (but log) exceptions trying to copy individual files or
directories (such as because of a permissions error). To maintain
backward compatibility, the default value of this property is "true"
(exceptions are ignored). Setting this property to "false" will cause
any exception that occurs trying to copy an individual file or
directory to be thrown out of copyTo and abort the copy operation at
the point of failure.
    * If an authentication exception occurs trying to connect to a
server that has multiple IP addresses, JCIFS will not attempt to
connect to more than one IP addresses because doing so could result in
an account lockout.
    * The SID resolver code incorrectly resolved SIDs of an ACE in
blocks of at most 10 where it should have used a limit of 64. This
performance issue has been fixed.
    * JCIFS will not throw the artifical "Access is denied" error if
the special NtlmPasswordCredential.ANONYMOUS credential is used
explicitly (whereas normally JCIFS will deliberately throw an
SmbAuthException if a login results in a guest login or if the
anonymous identity is used).
    * The NetrServerEnum2 RAP call used incorrect parameter
descriptiors which could result in "SmbException: 2320" errors trying
to list domains and servers from the local NetBIOS browse service.
    * The NTLMSSP AUTHENTICATE_MESSAGE (aka "Type 2 Message") encoding
routine incorrectly left out the TargetName field (although this had
no effect on CIFS client behavior).


More information about the jCIFS mailing list