projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix compilation when OpenSSL has no ENGINE support
[tinc]
/
src
/
tincd.c
diff --git
a/src/tincd.c
b/src/tincd.c
index
bc04f5f
..
bdac0c9
100644
(file)
--- a/
src/tincd.c
+++ b/
src/tincd.c
@@
-37,7
+37,9
@@
#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/evp.h>
#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/evp.h>
+#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#include <openssl/engine.h>
+#endif
#ifdef HAVE_LZO
#include LZO1X_H
#ifdef HAVE_LZO
#include LZO1X_H
@@
-434,7
+436,10
@@
static bool keygen(int bits) {
BN_GENCB_set(cb, indicator, NULL);
rsa_key = RSA_new();
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();
if(!rsa_key || !e) {
abort();
@@
-559,25
+564,11
@@
static void make_names(void) {
}
static void free_names() {
}
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() {
}
static bool drop_privs() {
@@
-696,12
+687,10
@@
int main(int argc, char **argv) {
init_configuration(&config_tree);
init_configuration(&config_tree);
- /* Slllluuuuuuurrrrp! */
-
- RAND_load_file("/dev/urandom", 1024);
-
+#ifndef OPENSSL_NO_ENGINE
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
+#endif
OpenSSL_add_all_algorithms();
OpenSSL_add_all_algorithms();
@@
-824,7
+813,9
@@
end:
EVP_cleanup();
ERR_free_strings();
EVP_cleanup();
ERR_free_strings();
+#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
ENGINE_cleanup();
+#endif
exit_configuration(&config_tree);
list_delete_list(cmdline_conf);
exit_configuration(&config_tree);
list_delete_list(cmdline_conf);