X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=apps%2Fsrp.c;h=24fb79887ef4be6ec7a93843303dd314b3b2b217;hb=d40a1f72b6a298ee34c9de2c96b222d70609ce4c;hp=ec875cb9fbc6cbfb95eab2d372a4d2bdd6e43ab7;hpb=75ebbd9aa411c5b8b19ded6ace2b34181566b56a;p=oweals%2Fopenssl.git diff --git a/apps/srp.c b/apps/srp.c index ec875cb9fb..24fb79887e 100644 --- a/apps/srp.c +++ b/apps/srp.c @@ -58,17 +58,16 @@ #include #ifndef OPENSSL_NO_SRP -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include "apps.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "apps.h" # define BASE_SECTION "srp" # define CONFIG_FILE "openssl.cnf" @@ -256,14 +255,13 @@ int srp_main(int argc, char **argv) CA_DB *db = NULL; DB_ATTR db_attr; CONF *conf = NULL; - int gNindex = -1, maxgN = -1, ret = 1, errors = 0, verbose = - 0, i, doupdatedb = 0; - int mode = OPT_ERR; + int gNindex = -1, maxgN = -1, ret = 1, errors = 0, verbose = 0, i; + int doupdatedb = 0, mode = OPT_ERR; char *user = NULL, *passinarg = NULL, *passoutarg = NULL; char *passin = NULL, *passout = NULL, *gN = NULL, *userinfo = NULL; char *randfile = NULL, *tofree = NULL, *section = NULL; - char **gNrow = NULL, *configfile = NULL, *dbfile = NULL, **pp, *prog; - long errorline = -1; + char **gNrow = NULL, *configfile = NULL; + char *srpvfile = NULL, **pp, *prog; OPTION_CHOICE o; prog = opt_init(argc, argv, srp_options); @@ -288,7 +286,7 @@ int srp_main(int argc, char **argv) section = opt_arg(); break; case OPT_SRPVFILE: - dbfile = opt_arg(); + srpvfile = opt_arg(); break; case OPT_ADD: case OPT_DELETE: @@ -322,9 +320,9 @@ int srp_main(int argc, char **argv) argc = opt_num_rest(); argv = opt_rest(); - if (dbfile && configfile) { + if (srpvfile && configfile) { BIO_printf(bio_err, - "-dbfile and -configfile cannot be specified together.\n"); + "-srpvfile and -configfile cannot be specified together.\n"); goto end; } if (mode == OPT_ERR) { @@ -349,43 +347,18 @@ int srp_main(int argc, char **argv) goto end; } - if (!dbfile) { - - /*****************************************************************/ - tofree = NULL; - if (configfile == NULL) - configfile = getenv("OPENSSL_CONF"); - if (configfile == NULL) - configfile = getenv("SSLEAY_CONF"); - if (configfile == NULL) { - const char *s = X509_get_default_cert_area(); - size_t len = strlen(s) + 1 + sizeof(CONFIG_FILE); - - tofree = app_malloc(len, "config filename space"); -# ifdef OPENSSL_SYS_VMS - strcpy(tofree, s); -# else - BUF_strlcpy(tofree, s, len); - BUF_strlcat(tofree, "/", len); -# endif - BUF_strlcat(tofree, CONFIG_FILE, len); - configfile = tofree; - } + if (!srpvfile) { + if (!configfile) + configfile = default_config_file; if (verbose) - BIO_printf(bio_err, "Using configuration from %s\n", configfile); - conf = NCONF_new(NULL); - if (NCONF_load(conf, configfile, &errorline) <= 0) { - if (errorline <= 0) - BIO_printf(bio_err, "error loading the config file '%s'\n", - configfile); - else - BIO_printf(bio_err, "error on line %ld of config file '%s'\n", - errorline, configfile); + BIO_printf(bio_err, "Using configuration from %s\n", + configfile); + conf = app_load_config(configfile); + if (conf == NULL) + goto end; + if (!app_load_modules(conf)) goto end; - } - OPENSSL_free(tofree); - tofree = NULL; /* Lets get the config section we are using */ if (section == NULL) { @@ -409,7 +382,8 @@ int srp_main(int argc, char **argv) "trying to read " ENV_DATABASE " in section \"%s\"\n", 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); goto end; } @@ -422,9 +396,9 @@ int srp_main(int argc, char **argv) if (verbose) 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) goto end; @@ -649,12 +623,12 @@ int srp_main(int argc, char **argv) if (verbose) BIO_printf(bio_err, "Trying to update srpvfile.\n"); - if (!save_index(dbfile, "new", db)) + if (!save_index(srpvfile, "new", db)) goto end; if (verbose) BIO_printf(bio_err, "Temporary srpvfile created.\n"); - if (!rotate_index(dbfile, "new", "old")) + if (!rotate_index(srpvfile, "new", "old")) goto end; if (verbose) @@ -680,4 +654,10 @@ int srp_main(int argc, char **argv) return (ret); } +#else + +# if PEDANTIC +static void *dummy = &dummy; +# endif + #endif