Update POSIX negotiate context during negprot to include GUID

Jeremy Allison jra at samba.org
Mon Feb 25 14:21:08 UTC 2019


On Mon, Feb 25, 2019 at 08:43:33AM +0100, Stefan Metzmacher wrote:
> Yes, that correct, I missed that sorry.
> 
> Does your client still work without that chance, just sending 8 zero
> bytes? Or does that fail?
> 
> I guess it will fail at
> 
> +               if ((inbuflen % 16) != 0) {
> +                       return smbd_smb2_request_error(
> +                               req, NT_STATUS_INVALID_PARAMETER);
> +               }

Yes, it's supposed to fail there :-).

> I think we need to have something like this before:
> 
>      static const uint64_t reserved64;
>      DATA_BLOB reserved = data_blob_const(&reserved64,
> sizeof(reserved6464));
>      int cmp;
> 
>      cmp = data_blob_cmp(&in_posix->data, &reserved_value);
>      if (cmp == 0) {
>            inbuf = (const uint8_t *)SMB2_CREATE_TAG_POSIX;
>            inbuflen = 16;
>            outbuf = reserved.blob;
>            outbuflen = reserved.length;
>      }

I don't want to do that. None of this code is in any
mainline/master/released code bases so I don't want
to support what is "test" code in the Linux client.

We are close to the point of making something
that we can commit to support going forward,
but we're not there yet.

So I really don't want to support any Negprot
variants other than the latest "list of create
contexts" version.



More information about the samba-technical mailing list