Skip to content

fix: clarify outer-vs-hidden credentials in hidden volume protection UI#1806

Open
mvanhorn wants to merge 1 commit into
veracrypt:masterfrom
mvanhorn:fix/1673-hidden-volume-protection-dialog-labels
Open

fix: clarify outer-vs-hidden credentials in hidden volume protection UI#1806
mvanhorn wants to merge 1 commit into
veracrypt:masterfrom
mvanhorn:fix/1673-hidden-volume-protection-dialog-labels

Conversation

@mvanhorn

Copy link
Copy Markdown

Summary

Reword the English string entries so the credential split is explicit: clarify the Mount Options "Hidden Volume Protection" section (IDT_HIDDEN_VOL_PROTECTION / IDT_HIDDEN_PROT_PASSWD) to state it expects the HIDDEN volume's password, and add a short clarifying note that the main password dialog must receive the OUTER volume password when protection is enabled. In src/Mount/Mount.c, in the Mount Options dialog handling (MountOptionsDlgProc, around the IDC_PROTECT_HIDDEN_VOL / IDT_HIDDEN_PROT_PASSWD handling) and where the mount-failure error is surfaced, conditionally present the clarified wording when ProtectHiddenVolume is set so the failure message explains the two credential sets rather than the generic PASSWORD_OR_KEYFILE_WRONG text. Adjust the corresponding static-control wording/sizing in src/Mount/Mount.rc only if the longer label requires it (text is loaded from Language.xml via LocalizeDialog, so most changes are string-only).

Why this matters

When mounting with "Protect hidden volume against damage" enabled in the Windows GUI, the main password dialog and the Mount Options protection section do not make clear which credential set goes where. The main dialog needs the OUTER (decoy) volume password while the Mount Options "Hidden Volume Protection" section needs the HIDDEN volume password, but the labels and the wrong-password error use generic text. This causes avoidable authentication failures (the reporter hit Error 9135) for correctly created volumes. The maintainer (idrassi) confirmed the requested behavior change (making the protection section ask for the outer password) would be incorrect, but explicitly agreed there is "a real UI ambiguity" and stated "We will consider improving the Windows GUI labels/error text to make this explicit." This plan implements only that maintainer-endorsed text/label clarification, not any behavior change.

See #1673.

Testing

  • Happy path: enable "Protect hidden volume against damage", observe the protection section clearly states it needs the HIDDEN volume password and the main dialog clearly indicates the OUTER volume password is required; mounting the outer volume with protection succeeds as before. - Edge case: protection disabled - labels and dialogs render with original wording, no clarifying note shown, no layout regression. - Edge case: verify translated builds still load (non-English language files fall back to English keys; no missing-key crash) and the new/edited keys exist for all referenced controls. - Error path: enter wrong outer/hidden credentials with protection enabled and confirm the failure message now distinguishes the two credential sets instead of the generic incorrect-password text.

Fixes #1673

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hidden volume protection dialog is misleading about required password (outer vs hidden)

1 participant