# HG changeset patch # User Paul Fisher # Date 1752554348 14400 # Node ID 0cabe7b94a4fa79b07f3951647d676f0aa26a47b # Parent 2f5913131295fac40c7153f59a8d90225a329911 Check for old_authtok in change_authtok to emulate real behavior. diff -r 2f5913131295 -r 0cabe7b94a4f testharness/src/bin/testharness.rs --- a/testharness/src/bin/testharness.rs Tue Jul 15 00:32:24 2025 -0400 +++ b/testharness/src/bin/testharness.rs Tue Jul 15 00:39:08 2025 -0400 @@ -43,12 +43,16 @@ Exchange::MaskedPrompt(p) => { let answer = if self.changing_password.get() { let prompts = self.change_prompt_count.get(); + eprintln!("CHANGING PASSWORD PROMPT {prompts}"); + eprintln!("-> {p:?}"); self.change_prompt_count.set(prompts + 1); match prompts { - 0 => "mistake", - 1 => "mismatch", - 2 => "acceptable", - 3 => "acceptable", + 0 => "old token!", + 1 => "mistake", + 2 => "mismatch", + 3 => "old token!", + 4 => "acceptable", + 5 => "acceptable", _ => panic!("unexpected number of prompts!"), } } else if self.wrong_password { diff -r 2f5913131295 -r 0cabe7b94a4f testharness/src/lib.rs --- a/testharness/src/lib.rs Tue Jul 15 00:32:24 2025 -0400 +++ b/testharness/src/lib.rs Tue Jul 15 00:39:08 2025 -0400 @@ -88,6 +88,9 @@ ) -> nonstick::Result<()> { match action { AuthtokAction::PreliminaryCheck => { + if handle.old_authtok(None)?.as_bytes() != b"old token!" { + return Err(ErrorCode::AuthenticationError); + } let password = handle.authtok(None)?; if password.as_bytes() != b"acceptable" { return Err(ErrorCode::PermissionDenied);