struct smb2_lease lease;
struct smb2_lease *lease_ptr = NULL;
ssize_t lease_len = -1;
+ struct smb2_create_blob *svhdx = NULL;
exta = smb2_create_blob_find(&in_context_blobs,
SMB2_CREATE_TAG_EXTA);
SMB2_CREATE_TAG_TWRP);
qfid = smb2_create_blob_find(&in_context_blobs,
SMB2_CREATE_TAG_QFID);
+ if (smb2req->xconn->protocol >= PROTOCOL_SMB3_02) {
+ /*
+ * This was introduced with SMB3_02
+ */
+ svhdx = smb2_create_blob_find(&in_context_blobs,
+ SVHDX_OPEN_DEVICE_CONTEXT);
+ }
fname = talloc_strdup(state, in_name);
if (tevent_req_nomem(fname, req)) {
}
}
+ if (svhdx != NULL) {
+ /* SharedVHD is not yet supported */
+ tevent_req_nterror(
+ req, NT_STATUS_INVALID_DEVICE_REQUEST);
+ return tevent_req_post(req, ev);
+ }
+
/* these are ignored for SMB2 */
in_create_options &= ~(0x10);/* NTCREATEX_OPTIONS_SYNC_ALERT */
in_create_options &= ~(0x20);/* NTCREATEX_OPTIONS_ASYNC_ALERT */