diff options
author | LouisTakePILLz <LouisTakePILLz@users.noreply.github.com> | 2015-08-12 17:25:47 -0400 |
---|---|---|
committer | LouisTakePILLz <LouisTakePILLz@users.noreply.github.com> | 2015-08-30 19:45:01 -0400 |
commit | 9582d8fbcb57c0297aad3d4a05eac53f1c125cd3 (patch) | |
tree | b7149525bbcb8903ced14b7077f614925decba59 /src/Main/CommandLineInterface.cpp | |
parent | ba9af466624706ada9bff2d74a257c7fbedba5cc (diff) | |
download | VeraCrypt-9582d8fbcb57c0297aad3d4a05eac53f1c125cd3.tar.gz VeraCrypt-9582d8fbcb57c0297aad3d4a05eac53f1c125cd3.zip |
Add stdin-supplied password support
Diffstat (limited to 'src/Main/CommandLineInterface.cpp')
-rw-r--r-- | src/Main/CommandLineInterface.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/Main/CommandLineInterface.cpp b/src/Main/CommandLineInterface.cpp index 4b1584c8..3563f0b0 100644 --- a/src/Main/CommandLineInterface.cpp +++ b/src/Main/CommandLineInterface.cpp @@ -71,6 +71,7 @@ namespace VeraCrypt parser.AddOption (L"", L"new-password", _("New password")); parser.AddOption (L"", L"new-pim", _("New PIM")); parser.AddSwitch (L"", L"non-interactive", _("Do not interact with user")); + parser.AddSwitch (L"", L"stdin", _("Read password from standard input")); parser.AddOption (L"p", L"password", _("Password")); parser.AddOption (L"", L"pim", _("PIM")); parser.AddOption (L"", L"protect-hidden", _("Protect hidden volume")); @@ -402,9 +403,21 @@ namespace VeraCrypt Preferences.NonInteractive = true; } + if (parser.Found (L"stdin")) + { + if (!Preferences.NonInteractive) + throw_err (L"--stdin is supported only in non-interactive mode"); + + Preferences.UseStandardInput = true; + } + if (parser.Found (L"password", &str)) + { + if (Preferences.UseStandardInput) + throw_err (L"--password cannot be used with --stdin"); ArgPassword.reset (new VolumePassword (wstring (str))); - + } + if (parser.Found (L"pim", &str)) { try |