#include <stdlib.h>
#include <openssl/bio.h>
#include <openssl/crypto.h>
-#include <openssl/rand.h>
#include <openssl/lhash.h>
#include <openssl/conf.h>
#include <openssl/x509.h>
static void list_disabled(void);
char *default_config_file = NULL;
-static CONF *config = NULL;
BIO *bio_in = NULL;
BIO *bio_out = NULL;
BIO *bio_err = NULL;
#endif
/* Set non-default library initialisation settings */
- if (!OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN
- | OPENSSL_INIT_LOAD_CONFIG, NULL))
+ if (!OPENSSL_init_ssl(OPENSSL_INIT_ENGINE_ALL_BUILTIN
+ | OPENSSL_INIT_LOAD_CONFIG, NULL))
return 0;
#ifndef OPENSSL_NO_UI
#if defined(OPENSSL_SYS_VMS) && defined(__DECC)
copied_argv = argv = copy_argv(&argc, argv);
+#elif defined(_WIN32)
+ /*
+ * Replace argv[] with UTF-8 encoded strings.
+ */
+ win32_utf8argv(&argc, &argv);
#endif
p = getenv("OPENSSL_DEBUG_MEMORY");
#endif
}
- if (!apps_startup())
+ if (!apps_startup()) {
+ BIO_printf(bio_err,
+ "FATAL: Startup failure (dev note: apps_startup() failed)\n");
+ ERR_print_errors(bio_err);
+ ret = 1;
goto end;
+ }
prog = prog_init();
pname = opt_progname(argv[0]);
for (;;) {
ret = 0;
/* Read a line, continue reading if line ends with \ */
- for (p = buf, n = sizeof buf, i = 0, first = 1; n > 0; first = 0) {
+ for (p = buf, n = sizeof(buf), i = 0, first = 1; n > 0; first = 0) {
prompt = first ? "OpenSSL> " : "> ";
p[0] = '\0';
#ifndef READLINE
extern void add_history(const char *cp);
char *text;
- char *text = readline(prompt);
+ text = readline(prompt);
if (text == NULL)
goto end;
i = strlen(text);
end:
OPENSSL_free(copied_argv);
OPENSSL_free(default_config_file);
- NCONF_free(config);
- config = NULL;
lh_FUNCTION_free(prog);
OPENSSL_free(arg.argv);
switch (o) {
case OPT_EOF: /* Never hit, but suppresses warning */
case OPT_ERR:
+opthelp:
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
return 1;
case OPT_HELP:
}
done = 1;
}
-
- if (!done) {
- BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
- return 1;
+ if (opt_num_rest() != 0) {
+ BIO_printf(bio_err, "Extra arguments given.\n");
+ goto opthelp;
}
+ if (!done)
+ goto opthelp;
+
return 0;
}
static unsigned long function_hash(const FUNCTION * a)
{
- return lh_strhash(a->name);
+ return OPENSSL_LH_strhash(a->name);
}
static int SortFnByName(const void *_f1, const void *_f2)
#ifdef OPENSSL_NO_BF
BIO_puts(bio_out, "BF\n");
#endif
-#ifndef OPENSSL_NO_BLAKE2
+#ifdef OPENSSL_NO_BLAKE2
BIO_puts(bio_out, "BLAKE2\n");
#endif
#ifdef OPENSSL_NO_CAMELLIA