Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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 b7eb81f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
3 changes: 3 additions & 0 deletions doc/minetest.6
Expand Up @@ -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
Expand Down
14 changes: 14 additions & 0 deletions src/client/clientlauncher.cpp
Expand Up @@ -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);
Expand Down
2 changes: 2 additions & 0 deletions src/main.cpp
Expand Up @@ -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,
Expand Down

0 comments on commit b7eb81f

Please sign in to comment.