#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/evp.h>
+#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
+#endif
#ifdef HAVE_LZO
#include LZO1X_H
BN_GENCB_set(cb, indicator, NULL);
rsa_key = RSA_new();
- BN_hex2bn(&e, "10001");
+
+ if(BN_hex2bn(&e, "10001") == 0) {
+ abort();
+ }
if(!rsa_key || !e) {
abort();
}
static void free_names() {
- if(identname) {
- free(identname);
- }
-
- if(netname) {
- free(netname);
- }
-
- if(pidfilename) {
- free(pidfilename);
- }
-
- if(logfilename) {
- free(logfilename);
- }
-
- if(confbase) {
- free(confbase);
- }
+ free(identname);
+ free(netname);
+ free(pidfilename);
+ free(logfilename);
+ free(confbase);
}
static bool drop_privs() {
init_configuration(&config_tree);
- /* Slllluuuuuuurrrrp! */
-
- RAND_load_file("/dev/urandom", 1024);
-
+#ifndef OPENSSL_NO_ENGINE
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
+#endif
OpenSSL_add_all_algorithms();
EVP_cleanup();
ERR_free_strings();
+#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
+#endif
exit_configuration(&config_tree);
list_delete_list(cmdline_conf);