return smbd_smb2_request_error(req, NT_STATUS_OBJECT_NAME_INVALID);
}
- if (req->compat_chain_fsp) {
- /* skip check */
- } else if (in_file_id_persistent != in_file_id_volatile) {
- return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
- }
-
subreq = smbd_smb2_find_send(req,
req->sconn->ev_ctx,
req,
in_file_id_persistent = BVAL(inbody, 0x08);
in_file_id_volatile = BVAL(inbody, 0x10);
- if (req->compat_chain_fsp) {
- /* skip check */
- } else if (in_file_id_persistent != in_file_id_volatile) {
- return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
- }
-
subreq = smbd_smb2_flush_send(req,
req->sconn->ev_ctx,
req,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
uint32_t in_smbpid,
+ uint64_t in_file_id_persistent,
uint64_t in_file_id_volatile,
uint16_t in_lock_count,
struct smbd_smb2_lock_element *in_locks);
return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
}
- if (req->compat_chain_fsp) {
- /* skip check */
- } else if (in_file_id_persistent != in_file_id_volatile) {
- return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
- }
-
in_locks = talloc_array(req, struct smbd_smb2_lock_element,
in_lock_count);
if (in_locks == NULL) {
req->sconn->ev_ctx,
req,
in_smbpid,
+ in_file_id_persistent,
in_file_id_volatile,
in_lock_count,
in_locks);
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
uint32_t in_smbpid,
+ uint64_t in_file_id_persistent,
uint64_t in_file_id_volatile,
uint16_t in_lock_count,
struct smbd_smb2_lock_element *in_locks)
tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
return tevent_req_post(req, ev);
}
+ if (smb2req->compat_chain_fsp) {
+ /* skip check */
+ } else if (in_file_id_persistent != fsp->smbXsrv->global->open_persistent_id) {
+ tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
+ return tevent_req_post(req, ev);
+ }
if (conn != fsp->conn) {
tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
return tevent_req_post(req, ev);
return smbd_smb2_request_error(req, status);
}
- if (req->compat_chain_fsp) {
- /* skip check */
- } else if (in_file_id_persistent != in_file_id_volatile) {
- return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
- }
-
subreq = smbd_smb2_notify_send(req,
req->sconn->ev_ctx,
req,