Skip to content
Permalink
Browse files

Add command line option to load password from file (#7832)

  • Loading branch information...
Kevin Abrams authored and SmallJoker committed Dec 18, 2018
1 parent 80eb762 commit b7eb81fed922f7215cfff1068389fa85b2ee4ab2
Showing with 19 additions and 0 deletions.
  1. +3 −0 doc/minetest.6
  2. +14 −0 src/client/clientlauncher.cpp
  3. +2 −0 src/main.cpp
@@ -75,6 +75,9 @@ Set player name
.B \-\-password <value>
Set password
.TP
.B \-\-password\-file <value>
Set password from contents of file
.TP
.B \-\-random\-input
Enable random user input, for testing (client only)
.TP
@@ -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);
@@ -308,6 +308,8 @@ static void set_allowed_options(OptionList *allowed_options)
_("Set player name"))));
allowed_options->insert(std::make_pair("password", ValueSpec(VALUETYPE_STRING,
_("Set password"))));
allowed_options->insert(std::make_pair("password-file", ValueSpec(VALUETYPE_STRING,
_("Set password from contents of file"))));
allowed_options->insert(std::make_pair("go", ValueSpec(VALUETYPE_FLAG,
_("Disable main menu"))));
allowed_options->insert(std::make_pair("console", ValueSpec(VALUETYPE_FLAG,

0 comments on commit b7eb81f

Please sign in to comment.
You can’t perform that action at this time.