if (break_which == NO_NT && !lm_good) {
return true;
}
+ /* for modern servers, the LM password is invalid */
+ if (break_which == NO_NT
+ && !torture_setting_bool(samlogon_state->tctx, "samba3", false)) {
+ return true;
+ }
+
/* for 'old' passwords, we allow the server to be OK or wrong password */
if (samlogon_state->old_password) {
return true;
return false;
}
+ /* for modern servers, the LM password is invalid */
+ if (break_which == NO_NT
+ && !torture_setting_bool(samlogon_state->tctx, "samba3", false)) {
+ *error_string = strdup("LM password is OK but should have failed against a modern server");
+ return false;
+ }
+
if (!all_zero(lm_key, sizeof(lm_key)) != 0) {
torture_comment(samlogon_state->tctx, "LM Key does not match expectations!\n");
torture_comment(samlogon_state->tctx, "lm_key:\n");
if (break_which == NO_NT && !lm_good) {
return true;
}
+ /* for modern servers, the LM password is invalid */
+ if (break_which == NO_NT
+ && !torture_setting_bool(samlogon_state->tctx, "samba3", false)) {
+ return true;
+ }
+
return ((break_which == BREAK_NT) || (break_which == BREAK_BOTH));
} else if (NT_STATUS_EQUAL(NT_STATUS_NOT_FOUND, nt_status) && strchr_m(samlogon_state->account_name, '@')) {
return ((break_which == BREAK_NT) || (break_which == BREAK_BOTH) || (break_which == NO_NT));
return false;
}
+ /* for modern servers, the LM password is invalid */
+ if (break_which == NO_NT
+ && !torture_setting_bool(samlogon_state->tctx, "samba3", false)) {
+ *error_string = strdup("LM password is OK but should have failed against a modern server");
+ return false;
+ }
+
return true;
}