security = server

Christopher R. Hertel crh at ubiqx.mn.org
Sat Jun 18 15:59:54 GMT 2005


On Sat, Jun 18, 2005 at 01:09:13PM +1000, Andrew Bartlett wrote:
:
> I'm not sure how it applies to things like 'rabbit pellet mode', but the
> mechanism is different.  I only really know about the auth end of it.

The connection between "rabbit pellet mode" and security=server was based
on empirical observation.  I did some work for a company that was having 
trouble with this, with W/9x clients in particular.

Note that this was all several years ago, before Samba 3 was even out, so 
I don't know if the problem still exists.

The problem was easy to repeat, however.  If the W/9x client was talking
to a Samba server in security=server mode, and if the user was working
entirely through the GUI (Windows Explorer), then the writes would all be
very small (1536 bytes in the captures, which I still have) and each would
be followed by a flush operation.  It took forever to copy a file to the 
server.

The problem went away if the share was mapped from the command line or if 
the server was in security=<anything other than server> mode.

Rabbit pellet mode occurs in more than the one situation I've described
above, but it's still rare enough that it hasn't been a top priority.  
Samba has had work-arounds for some (but not all) of the symptoms for
quite a while, and it's likely that newer versions of Windows are less
susceptable.

Anyway, at last years CIFS conference Ronnie Sahlberg said that he thought
he had found the answer.  His theory is that there are layering violations
in the Windows IP stack.  Lower layers report information back to higher
layers which react by changing their behavior.  This goes all the way up 
to the GUI in some cases.

So... the perceived latency caused by doing pass-through authentication
*could* trigger a higher layer to assume a WAN link, in which case it
*might* decide to call a flush() after every 1.5K write() (not sure
why...), which would cause rabbit-pellet mode.

I do remember an obscure KB article (I think Jeremy found it) that is no 
longer available.  It talked about the latency on satallite links causing 
what we call rabbit pellet mode.  That would be in line with Ronnie's 
explanation.  I wish I'd saved a copy, but it did say something about 
using flush to ensure that the file wouldn't get corrupted.  Urgh.

At the time, I was also working on a theory based on the idea that Samba 
was replying as if it were an NT server, and Windows NT servers don't 
really do pass-through mode.  The idea was that the 9x client might assume 
that latency from another 9x machine was 'normal', which is why using a 9x 
server didn't cause rabbit pellet mode, but using Samba did.

Odd stuff, this "Windows"...

Chris -)-----

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the samba-technical mailing list