提交 dfd6211c 编写于 作者: M Matt Caswell

Fix -srpvfile option in srp command line

The -srpvfile option was broken in the srp command line app. Using it would
always result in "-dbfile and -configfile cannot be specified together."
The error message is also wrong because the option is "-srpvfile" not
"-dbfile", so that has been fixed too.
Reviewed-by: NEmilia Käsper <emilia@openssl.org>
上级 4e7e6230
...@@ -260,8 +260,8 @@ int srp_main(int argc, char **argv) ...@@ -260,8 +260,8 @@ int srp_main(int argc, char **argv)
char *user = NULL, *passinarg = NULL, *passoutarg = NULL; char *user = NULL, *passinarg = NULL, *passoutarg = NULL;
char *passin = NULL, *passout = NULL, *gN = NULL, *userinfo = NULL; char *passin = NULL, *passout = NULL, *gN = NULL, *userinfo = NULL;
char *randfile = NULL, *tofree = NULL, *section = NULL; char *randfile = NULL, *tofree = NULL, *section = NULL;
char **gNrow = NULL, *configfile = default_config_file; char **gNrow = NULL, *configfile = NULL;
char *dbfile = NULL, **pp, *prog; char *srpvfile = NULL, **pp, *prog;
OPTION_CHOICE o; OPTION_CHOICE o;
prog = opt_init(argc, argv, srp_options); prog = opt_init(argc, argv, srp_options);
...@@ -286,7 +286,7 @@ int srp_main(int argc, char **argv) ...@@ -286,7 +286,7 @@ int srp_main(int argc, char **argv)
section = opt_arg(); section = opt_arg();
break; break;
case OPT_SRPVFILE: case OPT_SRPVFILE:
dbfile = opt_arg(); srpvfile = opt_arg();
break; break;
case OPT_ADD: case OPT_ADD:
case OPT_DELETE: case OPT_DELETE:
...@@ -320,9 +320,9 @@ int srp_main(int argc, char **argv) ...@@ -320,9 +320,9 @@ int srp_main(int argc, char **argv)
argc = opt_num_rest(); argc = opt_num_rest();
argv = opt_rest(); argv = opt_rest();
if (dbfile && configfile) { if (srpvfile && configfile) {
BIO_printf(bio_err, BIO_printf(bio_err,
"-dbfile and -configfile cannot be specified together.\n"); "-srpvfile and -configfile cannot be specified together.\n");
goto end; goto end;
} }
if (mode == OPT_ERR) { if (mode == OPT_ERR) {
...@@ -347,7 +347,10 @@ int srp_main(int argc, char **argv) ...@@ -347,7 +347,10 @@ int srp_main(int argc, char **argv)
goto end; goto end;
} }
if (!dbfile) { if (!srpvfile) {
if (!configfile)
configfile = default_config_file;
if (verbose) if (verbose)
BIO_printf(bio_err, "Using configuration from %s\n", BIO_printf(bio_err, "Using configuration from %s\n",
configfile); configfile);
...@@ -379,7 +382,8 @@ int srp_main(int argc, char **argv) ...@@ -379,7 +382,8 @@ int srp_main(int argc, char **argv)
"trying to read " ENV_DATABASE " in section \"%s\"\n", "trying to read " ENV_DATABASE " in section \"%s\"\n",
section); section);
if ((dbfile = NCONF_get_string(conf, section, ENV_DATABASE)) == NULL) { if ((srpvfile = NCONF_get_string(conf, section, ENV_DATABASE))
== NULL) {
lookup_fail(section, ENV_DATABASE); lookup_fail(section, ENV_DATABASE);
goto end; goto end;
} }
...@@ -392,9 +396,9 @@ int srp_main(int argc, char **argv) ...@@ -392,9 +396,9 @@ int srp_main(int argc, char **argv)
if (verbose) if (verbose)
BIO_printf(bio_err, "Trying to read SRP verifier file \"%s\"\n", BIO_printf(bio_err, "Trying to read SRP verifier file \"%s\"\n",
dbfile); srpvfile);
db = load_index(dbfile, &db_attr); db = load_index(srpvfile, &db_attr);
if (db == NULL) if (db == NULL)
goto end; goto end;
...@@ -619,12 +623,12 @@ int srp_main(int argc, char **argv) ...@@ -619,12 +623,12 @@ int srp_main(int argc, char **argv)
if (verbose) if (verbose)
BIO_printf(bio_err, "Trying to update srpvfile.\n"); BIO_printf(bio_err, "Trying to update srpvfile.\n");
if (!save_index(dbfile, "new", db)) if (!save_index(srpvfile, "new", db))
goto end; goto end;
if (verbose) if (verbose)
BIO_printf(bio_err, "Temporary srpvfile created.\n"); BIO_printf(bio_err, "Temporary srpvfile created.\n");
if (!rotate_index(dbfile, "new", "old")) if (!rotate_index(srpvfile, "new", "old"))
goto end; goto end;
if (verbose) if (verbose)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册