Interop Issue: SMB2+ async replies, and the kernel, Samba side fix enclosed.

Stefan Metzmacher metze at samba.org
Tue Feb 23 13:05:35 UTC 2016


Hi Ira,

> If the server sends an interim response, then the real response, the real
> response, is handled by standard_receive3() in the kernel, instead of the
> proper function, and this causes a disconnect.  If there isn't a
> disconnect, I believe the reply will just be discarded if I understand the
> code correctly.  (That is a big if here ;) )
> 
> I've written a patch for Samba to stop sending interim replies on SMB2_READ
> and SMB2_WRITE, when non-compounded to stop the impact of this issue.  We
> may want to add SMB2_CREATE to the list of ops we don't send async replies
> for non-compounded, but I'm not sold either way, I know we CAN go async
> there!  I want some opinions here.
> 
> This is not hidden behind a flag because compatibility issues that don't
> impact protocol correctness usually aren't.
> 
> Setting req->async_te = talloc_new(NULL); is just ugly, though it works.
> If you have a cleaner approach, I welcome it.

Fix the broken kernel client!

I think this is nothing we should work around in the server.
The situation might be different if Windows clients would be unhappy,
but the linux client is more or less under our control and can be fixed.

People hitting this can just use SMB1 until it's fixed.

metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20160223/be404b8a/signature.sig>


More information about the samba-technical mailing list