apk: initialize openssl

add all ciphers and built-in engines so we get e.g. hw acceleration
of sha1 when available.
cute-signatures
Timo Teras 2009-07-08 16:19:06 +03:00
parent b54ff5dd1e
commit a3d19b5c0d
1 changed files with 22 additions and 0 deletions

View File

@ -18,6 +18,8 @@
#include <getopt.h>
#include <sys/stat.h>
#include <openssl/engine.h>
#include "apk_defines.h"
#include "apk_applet.h"
#include "apk_blob.h"
@ -237,6 +239,24 @@ static void merge_options(struct option *opts, struct apk_option *ao, int num)
opts->name = NULL;
}
static void fini_openssl(void)
{
EVP_cleanup();
#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
#endif
CRYPTO_cleanup_all_ex_data();
}
static void init_openssl(void)
{
atexit(fini_openssl);
OpenSSL_add_all_algorithms();
#ifndef OPENSSL_NO_ENGINE
ENGINE_load_builtin_engines();
#endif
}
int main(int argc, char **argv)
{
struct apk_applet *applet;
@ -274,6 +294,8 @@ int main(int argc, char **argv)
}
}
init_openssl();
optindex = 0;
while ((r = getopt_long(argc, argv, short_options,
all_options, &optindex)) != -1) {