[jcifs] Name service problems --> 0.6
Michael B. Allen
mballen at erols.com
Sat Sep 29 10:57:08 EST 2001
On Tue, Sep 18, 2001 at 04:18:57AM -0400, Michael B. Allen wrote:
> > We put in ocean.filefish.com. The NbtAddress is translating that into
> > "OCEAN.FILEFISH."
> Ahh, it just hit me. That's not a netbios name so you can't use it
> with _NbtAddress_. The SmbFile class uses SmbURL to do all that extra name
> resolution stuff with DNS and such. Maybe ...
To answer myself ... no it doesn't but it should. Mixed NetBIOS and DNS
lookups are broken in jCIFS. To be more specific, if NetBIOS lookups are
performed, followed by DNS, the name being queried can inadvertantly be
converted from its DNS name like 'ocean.filefish.com' to it's NetBIOS
truncated to 15 character version like 'OCEAN.FILEFISH.'. I have
examined this code and found that this 'extra name resolution stuff'
is indeed handled by the netbios package. This is not optimal and for
mixed NetBIOS and DNS lookups to work properly and predictably, this
must be optimal. The name service logic and thus SMB URL behavior needs
to be revisted/rewritten. There is also a related problem with choosing
a Called Name for connecting to hosts.
To address these problems I will now move on to the 0.6 series. I have
reduced my ambition for 0.6 however and will only address the recent
flurry of name service problems as well as other "broken" funtionality
of jCIFS. This list will be:
o Name service logic (directly coupled to SMB URL)
o Exception handling
o Remove runtime allocation of 64K buffers for transactions
o Adding an AuthenticationListener
o Add a synchronized lookup table to NbtAddress to prevent a quick
succession of redundant lookups from going out on the wire.
This release will break binary compatibilty. Apologies to noted intrested
commercial parties for not providing quick hack patches. Doing so would
simply not be an optimal use of my time.
Both the mixed DNS/NetBIOS lookup problem and Clint's *SMBSERVER netbios
session establishment problem with Win2K Pro are directly releated to
implementation details surrounding the SMB URL. On Sunday/Monday morning
I will prepare an outline for implementing the functionality discussed
around the SMB URL. I would like to go through _everything_ so that we
knock this out exactly as it should be. You gonna be around?
More information about the jcifs