public static void ReadConfigReturn(ValidateNegotiateInfoConfig c) { Condition.IsTrue(State == ModelState.Uninitialized); Condition.IsNotNull(c); Config = c; State = ModelState.Initialized; Condition.IsTrue(Config.ValidateNegotiateInfoSupported == ValidateNegotiateInfoInServer.NotSupportValidateNegotiateInfo || Config.ValidateNegotiateInfoSupported == ValidateNegotiateInfoInServer.SupportValidateNegotiateInfo); }
public void ReadConfig(out ValidateNegotiateInfoConfig c) { // Server will terminate connection if Validate Negotiate Info Request is not signed. testConfig.CheckSigning(); c = new ValidateNegotiateInfoConfig { Platform = testConfig.Platform, ValidateNegotiateInfoSupported = testConfig.IsIoCtlCodeSupported(CtlCode_Values.FSCTL_VALIDATE_NEGOTIATE_INFO) ? ValidateNegotiateInfoInServer.SupportValidateNegotiateInfo : ValidateNegotiateInfoInServer.NotSupportValidateNegotiateInfo }; validateNegotiateInfoConfig = c; }
public static void ValidateNegotiateInfoResponse(ModelSmb2Status status, ValidateNegotiateInfoConfig c) { Condition.IsTrue(State == ModelState.Connected); Condition.IsTrue(IsSameWithNegotiate); Condition.IsTrue(Config.Platform == c.Platform); State = ModelState.Disconnected; if (Config.ValidateNegotiateInfoSupported == ValidateNegotiateInfoInServer.SupportValidateNegotiateInfo) { ModelHelper.Log( LogType.TestInfo, "FSCTL_VALIDATE_NEGOTIATE_INFO is allowed on the server"); Condition.IsTrue(status == ModelSmb2Status.STATUS_SUCCESS); return; } ModelHelper.Log( LogType.TestInfo, "FSCTL_VALIDATE_NEGOTIATE_INFO is not allowed on the server"); if (Config.Platform != Platform.NonWindows) { ModelHelper.Log( LogType.Requirement, "3.3.5.15: The server SHOULD<299> fail the request with STATUS_NOT_SUPPORTED when an FSCTL is not allowed on the server"); ModelHelper.Log( LogType.TestInfo, "SUT platform is {0}, so follow the SHOULD requirement", Config.Platform); ModelHelper.Log(LogType.TestTag, TestTag.Compatibility); Condition.IsTrue(status == ModelSmb2Status.STATUS_NOT_SUPPORTED); } else { ModelHelper.Log( LogType.TestInfo, "SUT platform is {0}, so only assert status is not equal to STATUS_SUCCESS", Config.Platform); Condition.IsFalse(status == ModelSmb2Status.STATUS_SUCCESS); } }