return false;
}
- if (rec->buf.length < SMB2_HDR_BODY) {
- return false;
- }
-
return true;
}
return;
}
+ if (passed_info0->negotiate_request.length != 0) {
+ DBG_ERR("negotiate_request.length[%zu]\n",
+ passed_info0->negotiate_request.length);
+ NDR_PRINT_DEBUG(smbXsrv_connection_passB, &passed_blob);
+ tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
+ return;
+ }
+
tevent_req_nterror(req, NT_STATUS_MESSAGE_RETRIEVED);
}
return false;
}
- if (rec->buf.length < SMB2_HDR_BODY) {
- return false;
- }
-
- /* TODO: verify client_guid...? */
-
return true;
}
goto next;
}
+ if (pass_info0->negotiate_request.length < SMB2_HDR_BODY) {
+ DBG_WARNING("negotiate_request.length[%zu]\n",
+ pass_info0->negotiate_request.length);
+ if (DEBUGLVL(DBGLVL_WARNING)) {
+ NDR_PRINT_DEBUG(smbXsrv_connection_passB, &pass_blob);
+ }
+ goto next;
+ }
+
status = smb2srv_client_connection_passed(client, pass_info0);
if (!NT_STATUS_IS_OK(status)) {
const char *r = "smb2srv_client_connection_passed() failed";