[jcifs] Domain based DFS support in Kerberos code, or NTLMv2 support in Java 1.4?

Michael B Allen ioplex at gmail.com
Wed Feb 25 22:56:57 GMT 2009

On Wed, Feb 25, 2009 at 5:36 PM, Darren Taft <daztop at rocketmail.com> wrote:
>> The Kerberos package *has* domain based DFS support.
> That's odd.  In the Kerberos package the domain based DFS doesn't work, but the dodgy server does.

How does domain based DFS not work? Describe what happens.

> In the non-Kerberos package (jcifs-1.2.25.jar) the domain based DFS works fine, but the dodgy server does not.

How does the "dodgy server" not work? What is the error?

>  I'm unable to use the regular 1.3.* package as it complains of a missing java.lang.StringBuilder (Java 1.5 or later required).

What do you mean by "complain"? Did you mean a stack trace? If yes,
post it. Let's see line numbers and file names.

BTW, no version of JCIFS has ever used the java.lang.StringBuilder.

>> But I seriously
>> doubt the success of the Kerberos package has anything to do with
>> Kerberos. The Kerberos package requires special usage to actually get
>> it to do Kerberos. Meaning you would get precisely the same result
>> with the equivalent non-Kerberos version of JCIFS.
> I did think that maybe it wasn't the Kerberos that was fixing it, but the Kerberos package is the only one at the 1.3.* code base that works in Java 1.4. I'd wondered if maybe it was the NTLMv2 support that was doing it instead (especially, as like I say, when I disable the NTLMv2 support as per the docs it fails to connect to the dodgy server again).

How does it fail to connect? I thought you said you were seeing a timeout?

>> Your analysis of the problem isn't optimal. Test a standard JCIFS
>> example with a standard JVM with a standard server so that you see it
>> work. Then change one thing at a time systematically until it breaks.
> I can test a standard JVM with a standard server - that's easy.  To change one thing at a time from there is very difficult though, as WebLogic 8 only has 2 choices of JVM - Sun or JRockit at version 1.4.2 only (it cannot be upgraded).

There's a saying "if you don't know what you're doing, do it neatly".
You're not being very systematic about this. First, take WebLogic out
of the picture. Execute examples/ListFiles.java on the commandline.
That way you have a simple isolated test case. Then incrementally try
different VMs, different versions of JCIFS, etc. Then try the same
thing with WebLogic. If it works on the commandline and it doesn't
with WebLogic then maybe WebLogic is the problem. See?


Michael B Allen
Java Active Directory Integration

More information about the jcifs mailing list