Seven jCIFS bug fixes from Google.
Brett Johnson <[email protected]> Fri, 19 Sep 2014 13:08:58 -0700
| Newsgroups | gmane.network.samba.java |
|---|---|
| Message-ID | <[email protected]> |
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