[jcifs] Query regarding the SMB support

Michael B Allen ioplex at gmail.com
Fri Jan 22 01:15:18 UTC 2016

On Thu, Jan 21, 2016 at 3:17 AM, Vir Vekaria <viruvekariya at gmail.com> wrote:
> Hi guys,
> I want to know one thing on urgent basis that is JCIFS going to support
> SMB2/SMB3 in future ?

Hi Viraj,

Probably not. That is most definitely something for a major re-write.
JCIFS 1.x is "done" minus bug fixes AFAIC. Anything vaguely new should
just be a separate new package. Or you could fork but personally I
think it would be better to start fresh but with a very good
understanding of how JCIFS 1.x works because it actually does some
things quite well (message handing using the hashtable with mids is
clearly the best technique for handling concurrent messages).

If someone wants to contribute, we would all be delighted to see
someone take an interest. Writing network protocol code can be quite
fun and it is actually a little easier than anything that has to
interface with a human being (especially anything that uses the web
stack which is just broken IMO). But forget patches. If you want to
contribute (to anything and not just JCIFS), the best way is to create
a *working* stand-alone package and put it on github. Then people can
download something that works and then possibly modify it and upload
their working stand-alone package on github. So the development cycle
has no dependencies. That's the Linux way of doing things (which in a
screwed up way we have Samba's Andrew Tridgell to thank for that
because he pissed off the guy doing version control for Linux -
Remember that?! Ha ha).

> It seems now only supports SMB1 and what if I want to upgrade it to latest
> protocol(i.e. SMB2/SMB3) for using in Java application

Note that there are mountains of machines and code that use SMB1. The
only reason to use SMB2/3 would be if you really need a feature from
those versions and you know all the servers support it. The core
functionality of SMB2/3 is not inherently "better" than SMB1. SMB1 is
going to be around for decades and as such I suspect JCIFS 1.x will
continue to work as well as it ever has for at least as long.

Regarding pending bug fixes (of which there are many and I actually
have a very detailed list), the big hurdle with JCIFS bugfixes right
now is that I do not have the necessary infrastructure on which to
test. Specifically I need a broken and non-broken DFS network with
means multiple instances of Windows Server with broken and non-broken
replication which in practice means I probably need at least 4-5
instances of Windows Server that would just be used to properly test a
feature that most people aren't even using. Now if I could figure out
how to clone a VMware Workstation image but change the server SID and
hostname and crypto key and whatever else makes a Windows Server
installation unique, that might expedite things.


Michael B Allen
Java Active Directory Integration

More information about the jCIFS mailing list