namespace S22.Sasl.Mechanisms.Ntlm { /// <summary> /// Represents the data contained in the target information block of an /// NTLM type 2 message. /// </summary> internal class Type2TargetInformation { /// <summary> /// The server name. /// </summary> public string ServerName { get; set; } /// <summary> /// The domain name. /// </summary> public string DomainName { get; set; } /// <summary> /// The fully-qualified DNS host name. /// </summary> public string DnsHostname { get; set; } /// <summary> /// The fully-qualified DNS domain name. /// </summary> public string DnsDomainName { get; set; } } /// <summary> /// Describes the different versions of the Type 2 message that have /// been observed. /// </summary> internal enum Type2Version { /// <summary> /// The version is unknown. /// </summary> Unknown = 0, /// <summary> /// This form is seen in older Win9x-based systems. /// </summary> Version1 = 32, /// <summary> /// This form is seen in most out-of-box shipping versions of Windows. /// </summary> Version2 = 48, /// <summary> /// This form was introduced in a relatively recent Service Pack, and /// is seen on currently-patched versions of Windows 2000, Windows XP, /// and Windows 2003. /// </summary> Version3 = 56, } /// <summary> /// Indicates the type of data in Type 2 target information blocks. /// </summary> internal enum Type2InformationType { /// <summary> /// Signals the end of the target information block. /// </summary> TerminatorBlock = 0, /// <summary> /// The data in the information block contains the server name. /// </summary> ServerName = 1, /// <summary> /// The data in the information block contains the domain name. /// </summary> DomainName = 2, /// <summary> /// The data in the information block contains the DNS hostname. /// </summary> DnsHostname = 3, /// <summary> /// The data in the information block contans the DNS domain name. /// </summary> DnsDomainName = 4 } }