public Type3Message (Type2Message type2) : base (3)
{
_type2 = type2;
- _level = DefaultAuthLevel;
+ _level = NtlmSettings.DefaultAuthLevel;
_challenge = (byte[]) type2.Nonce.Clone ();
_domain = type2.TargetName;
}
// Default auth level
-
- static NtlmAuthLevel _default = NtlmAuthLevel.LM_and_NTLM_and_try_NTLMv2_Session;
-
+ [Obsolete ("Use NtlmSettings.DefaultAuthLevel")]
public static NtlmAuthLevel DefaultAuthLevel {
- get { return _default; }
- set { _default = value; }
+ get { return NtlmSettings.DefaultAuthLevel; }
+ set { NtlmSettings.DefaultAuthLevel = value; }
}
public NtlmAuthLevel Level {
public string Domain {
get { return _domain; }
set {
- if (_type2 != null)
- throw new InvalidOperationException (
- "Domain is set automatically from Type2Message.TargetName");
if (value == null)
value = "";
if (value == "")
{
base.Decode (message);
- if (BitConverterLE.ToUInt16 (message, 56) != message.Length) {
- string msg = Locale.GetText ("Invalid Type3 message length.");
- throw new ArgumentException (msg, "message");
- }
-
_password = null;
if (message.Length >= 64)
throw new InvalidOperationException (
"Refusing to use legacy-mode LM/NTLM authentication " +
"unless explicitly enabled using DefaultAuthLevel.");
-
+
+ #pragma warning disable 618
using (var legacy = new ChallengeResponse (_password, _challenge)) {
lm = legacy.LM;
ntlm = legacy.NT;
}
+ #pragma warning restore 618
} else {
- ChallengeResponse2.Compute (_type2, _level, _username, _password, out lm, out ntlm);
+ ChallengeResponse2.Compute (_type2, _level, _username, _password, _domain, out lm, out ntlm);
}
var lmresp_len = lm != null ? lm.Length : 0;