[jcifs] Seven jCIFS bug fixes from Google.
Brett Johnson
brett.michael.johnson at gmail.com
Fri Sep 19 14:08:58 MDT 2014
Michael Allen,
For several years Google has used jCIFS for
some of its open source projects, primarily its
Google Search Appliance Filesystem Connector.
Over the years, we have fixed a handful of bugs
and it was suggested to me that we submit these
fixes for inclusion in a future release of jCIFS.
I have been maintaining jCIFS as a vendor branch
in our subversion repository. You can view all
our changes to the jCIFS code base here:
http://code.google.com/p/google-enterprise-connector-file-system/source/list?path=trunk/projects/jcifs
However, roughly half of those changes are related
to accommodating the code base into our build and
source control environment and adding support for
restoring the last access time of files. So I will
point you to individual bug fixes below. The change
log for the linked changes contain more details.
Patches made to the 1.3.15 codebase:
Fix file handle leak in SmbFile.setPathInformation()
if exceptions are thrown.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=374
Detect DCE RPC interface using English Locale.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=416
We then upgraded to 1.3.17 codebase and subsequently
made the following fixes:
Avoid deadlock by replacing Dfs’ synchronized methods
with finer-grained locks on the two caches in Dfs.
I think I saw a nearly identical fix for the deadlock
submitted previously by another developer.
This change also makes Dfs.isTrustedDomain() thread-safe,
where it was not previously.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=549
SmbFile tears down and retries broken connections.
This was a last-ditch effort to recover from an
apparently corrupted transport state.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=563
This change adjusts the NtTransport padding sizes to
accommodate various NAS vendor implementations, in
this case EMC Isilon. This patch was not constructed
by Google, but incorporated by us from a separate
source. See the change log for details.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=625
Fixed NtlmContext by always signing messages even if
server response (NTLMSSP_CHALLENGE) does not set
"Negotiate Sign" flag. Fixed AndXServerMessageBlock
by not increasing message length (wordCount) when
fileType is named pipe. These fixed issues with
Network Appliance servers.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=643
Fix missing notification in SmbTree Transport locking.
https://code.google.com/p/google-enterprise-connector-file-system/source/detail?r=678
—
Brett M. Johnson
More information about the jCIFS
mailing list