[cifs-protocol] [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported

Jeremy Allison jra at samba.org
Thu Feb 25 18:28:42 UTC 2016


On Thu, Feb 25, 2016 at 06:13:58PM +0000, Bryan Burgin wrote:
> Hi Uri,
> 
> Some additional research.
> 
> This is a case where an upper-layer application is adding the Context and SMB2 is just the plumbing.  The danger with ignoring the Context altogether is you (you being anyone in the plumbing as we are including us) don't know why the application is adding the context.  This is the same code that in 2013 assumed that if the negotiated context was of a sufficient level where Resiliency could be supported then the application layer assumed that it must be (i.e., it sent the resiliency request and did a hard failure if the response was not successful).  The fix back then was to still ask for resiliency, but not consider its absence to be a hard failure.
> 
> Ultimately, I think that the statement in [MS-SMB2] is correct in that you should fail the Create and that the right fix (potentially) is to request another fix in our code to not add the RSVD context if it's not needed.
> 
> I know you already pushed a Samba fixed based on my preliminary comments.  We may want to discuss that more and possibly roll that back or refine it.

Hang on a minute. Can't the client detect
that the SVHDX_OPEN_DEVICE_CONTEXT was ignored
on the Create as we won't be returning any
SVHDX_OPEN_DEVICE_CONTEXT_RESPONSE or
SVHDX_OPEN_DEVICE_CONTEXT_V2 blob ?

It still seems that ignoring this if we
don't support makes sense to me.

Jeremy.



More information about the cifs-protocol mailing list