[jcifs] Seven jCIFS bug fixes from Google.

Christopher R. Hertel crh at samba.org
Fri Sep 19 15:44:00 MDT 2014


Brett,

Thank you for your contribution and detailed run-down of the patches.  Mike
is the gatekeeper in charge of the source tree (has been for quite some
time) so I'll leave the patch review to him.

I just returned from the Storage Developer Conference and SMB Plugfest in
Santa Clara.  At the conference, Microsoft made it fairly clear that their
plan is to supplant SMB with the newer SMB2/3 protocol.  W2K12r2 already
provides the ability to disable SMB1, and the feature set of SMB2/3 is
fairly compelling.

I would really like to see SMB2 support added to jCIFS as well.  If you or
any of your colleagues is interested in giving that a whirl, please let us
know.  I'm currently working on an SMB2/3 toolkit in Python, so I can answer
questions and provide sample code.

jCIFS is, to my knowledge, the #1 SMB client for Android, which should also
be of interest to Googlers.

Chris -)-----

On 09/19/2014 03:08 PM, Brett Johnson wrote:
> 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
> 
> 

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the jCIFS mailing list