[jcifs] (no subject)

Michael B Allen mba2000 at ioplex.com
Thu Oct 23 11:53:27 EST 2003

>> unfortunately, also the farest controllers are
>> chosen for authentication. if this happens, the chance for exceptions
>> (smb
>> timeout) is rising.
>> if we use a single domain controller for the jcifs.http.domainController
>> property, everything works fine. but if this single domain controller is
>> not available, our application is in deep trouble ...
>> is there a chance to give a list of domain controllers for the property?
> No. But I think this is clearly an important feature so it will need to
<snip previous idea>

Actually there is another *very easy* solution to this problem. The
NetBIOS 0x1C group name lookup returns a list of domain controllers. As it
is we just read the first and return that. I have modified the
NameServicePacket.readResourceRecordWireFormat() method to decode more of
the list depending on the value of a static 'addrIndex' member. IOW, if a
NetBIOS name lookup returns more than one name, the code will pick the
next address in the list or reset addrIndex to 0 if it reached the end.

Now I just have to modify the NtlmHttpFilter to do an
NbtAddress.getByName( domain, 0x1C, null ) lookup instead of the usual
0x20 lookup. The effect will be that a different domain controller will be
returned with each NTLM http negotiation and sessions will be distributed
evenly across them. The change is about 5 lines of code so unless this
trips up Chris' NetBIOS sensors I think 0.7.15 is coming up ...


A program should be written to  model the concepts of the task it
performs rather than the physical world or a process because this
maximizes the  potential for it  to be applied  to tasks that are
conceptually similar and, more  important, to tasks that have not
yet been conceived.

More information about the jcifs mailing list