*/
session_status = smbd_smb2_request_check_session(req);
+ if (flags & SMB2_HDR_FLAG_CHAINED) {
+ /*
+ * This check is mostly for giving the correct error code
+ * for compounded requests.
+ *
+ * TODO: we may need to move this after the session
+ * and tcon checks.
+ */
+ if (!NT_STATUS_IS_OK(req->next_status)) {
+ return smbd_smb2_request_error(req, req->next_status);
+ }
+ } else {
+ req->compat_chain_fsp = NULL;
+ }
+
req->do_signing = false;
if (flags & SMB2_HDR_FLAG_SIGNED) {
if (!NT_STATUS_IS_OK(session_status)) {
return smbd_smb2_request_error(req, NT_STATUS_ACCESS_DENIED);
}
- if (flags & SMB2_HDR_FLAG_CHAINED) {
- /*
- * This check is mostly for giving the correct error code
- * for compounded requests.
- *
- * TODO: we may need to move this after the session
- * and tcon checks.
- */
- if (!NT_STATUS_IS_OK(req->next_status)) {
- return smbd_smb2_request_error(req, req->next_status);
- }
- } else {
- req->compat_chain_fsp = NULL;
- }
-
if (req->compound_related) {
req->sconn->smb2.compound_related_in_progress = true;
}