Yes - it fails (Samba returns error invalid parameter) without this change. On Mon, Feb 25, 2019 at 8:21 AM Jeremy Allison <jra@xxxxxxxxx> wrote: > > 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. -- Thanks, Steve