[jcifs] Any improvement to DFS connections?
Michael B Allen
mba2000 at ioplex.com
Wed Aug 17 08:07:43 GMT 2005
On Wed, 17 Aug 2005 14:51:01 +1000
"Daniel Palmer" <DanielPalmer at tcs.act.edu.au> wrote:
> My testing (on a live system - so testing was limited) against Win2k/2k3
> servers with XP clients indicated that before a client accessed any
> share on the server it would try to do a DFS lookup - and cache this
> result. This was on an AD domain - but I'd expect that the same would
> be said against a 2k3 server not running AD.
> If anyone is interested to test this and report their findings - it may
> show that Windows doesn't magically know that certain shares are DFS..
> You'll prob want to grab the dfsutil tool (from Win2k3's support tools I
> think) and do a dfsutil /purgemupcache /pktflush /spcflush before doing
> your packet captures. Or if you're super keen in wadeing through
> captures - do it from the time a machine first joins the domain ;)
The problem with deciphering this mystery DFS method has always been that
no one could produce a capture that contained the mapping lookup. The
machine already knew the path was in DFS and trying to access as usual
using the flavor in the CIFS spec never returned the "PATH_NOT_MAPPED"
error indicating a referral should be performed. So I assumed that it
must be happening before the user even tried to map a drive.
If someone can get a good capture of the "mystery method" it might
be a relatively simple fix for jCIFS to support it and the tools you
mention might be exactly what is necessary to get it. Although I recommend
flushing the cache after you start the capture. Meaning start the capture,
flush the mappings w/ dfsutil, try to access a specific deep path through
Start > Run > \\server\share\path\to\file, and then stop the capture.
More information about the jcifs