private void VerifyRopLogonForPrivateMailbox(RopLogonRequest request, RopLogonResponse response)
{
if (response.ReturnValue == 0)
{
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R13");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R13
// If calling RopLogon ROP successfully, indicates the logon session is established.
this.Site.CaptureRequirement(
13,
@"[In RopLogon ROP] The RopLogon ROP ([MS-OXCROPS] section 2.2.3.1) establishes a logon session between the client and the server.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R106");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R106
// If calling RopLogon ROP successfully, indicates the Essdn is right identifier to log on to mailbox.
this.Site.CaptureRequirement(
106,
@"[In RopLogon ROP Request Buffer] Essdn: In the case of a private mailbox logon, this field contains an ASCII string that uniquely identifies a mailbox to log on to.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R123");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R123
this.Site.CaptureRequirementIfAreEqual<byte>(
0x01,
(byte)(response.ResponseFlags & (byte)0x01),
123,
@"[In RopLogon ROP Success Response Buffer for Private Mailbox] [Response Flags] The description of flag Reserved: This bit [Reserved] MUST be set.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R122");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R122
// Check if the flag Reserved is 0x01.
Site.CaptureRequirementIfAreEqual<byte>(
0x01,
(byte)(response.ResponseFlags & (byte)0x01),
122,
@"[In RopLogon ROP Success Response Buffer for Private Mailbox] [Response Flags] The value of flag Reserved: 0x01.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R1062");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R1062
this.Site.CaptureRequirementIfAreEqual<byte>(
request.LogonFlags,
response.LogonFlags,
1062,
@"[In RopLogon ROP Success Response Buffer for Private Mailbox] LogonFlags: The server returns these flags [Private, Undercover, and Ghostedflags] unchanged from the LogonFlags field of the RopLogon request (section 2.2.1.1.1).");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R118");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R118
this.Site.CaptureRequirementIfAreEqual<byte>(
request.LogonFlags,
response.LogonFlags,
118,
@"[In RopLogon ROP Success Response Buffer for Private Mailbox] LogonFlags: This field is composed of the Private, Undercover, and Ghosted flags.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R117");
// Verify MS-OXCSTOR requirement: MS-OXCSTOR_R117
// The RopLogon ROP response structure for public folders is designated
Site.CaptureRequirement(
117,
@"[In RopLogon ROP Success Response Buffer for Private Mailbox] The following field values [LogonFlags, FolderIds, Response Flags, ReplId, ReplGuid, Logon Time, GwartTime, StoreState] are included in the RopLogon response only when the Private bit is set in the LogonFlags field of the RopLogon request (section 2.2.1.1.1).");
}
}