From b7eb81fed922f7215cfff1068389fa85b2ee4ab2 Mon Sep 17 00:00:00 2001 From: Kevin Abrams <21090310+kkabrams@users.noreply.github.com> Date: Tue, 18 Dec 2018 13:15:14 -0600 Subject: Add command line option to load password from file (#7832) --- src/client/clientlauncher.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/client') diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 0820177b4..9dfd248a2 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -392,6 +392,20 @@ bool ClientLauncher::launch_game(std::string &error_message, if (cmd_args.exists("password")) menudata.password = cmd_args.get("password"); + + if (cmd_args.exists("password-file")) { + std::ifstream passfile(cmd_args.get("password-file")); + if (passfile.good()) { + getline(passfile, menudata.password); + } else { + error_message = gettext("Provided password file " + "failed to open: ") + + cmd_args.get("password-file"); + errorstream << error_message << std::endl; + return false; + } + } + // If a world was commanded, append and select it if (!game_params.world_path.empty()) { worldspec.gameid = getWorldGameId(game_params.world_path, true); -- cgit v1.2.3