diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2014-12-17 19:39:18 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-12-17 19:39:18 +0100 |
commit | b7b535816d5fa49b0d1783f4cb42086f4169b1da (patch) | |
tree | 317968a313dde1fe9c70b4355b5a5ef2c532f39f | |
parent | d8e691b58a54ccaadcad11b3b205c77b27b8dbe5 (diff) | |
download | libssh-b7b535816d5fa49b0d1783f4cb42086f4169b1da.tar.gz libssh-b7b535816d5fa49b0d1783f4cb42086f4169b1da.tar.xz libssh-b7b535816d5fa49b0d1783f4cb42086f4169b1da.zip |
libcrypto: Fix Windows build with ssh_reseed().
gettimeofday() is not available on Windows and we need it only in case
of forking.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r-- | ConfigureChecks.cmake | 1 | ||||
-rw-r--r-- | config.h.cmake | 3 | ||||
-rw-r--r-- | src/libcrypto.c | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 5701bc39..c5018d8f 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -53,6 +53,7 @@ check_include_file(termios.h HAVE_TERMIOS_H) check_include_file(unistd.h HAVE_UNISTD_H) check_include_file(util.h HAVE_UTIL_H) check_include_file(libutil.h HAVE_LIBUTIL_H) +check_include_file(sys/time.h HAVE_SYS_TIME_H) if (WIN32) check_include_files("winsock2.h;ws2tcpip.h;wspiapi.h" HAVE_WSPIAPI_H) diff --git a/config.h.cmake b/config.h.cmake index 55e37aca..86538e17 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -29,6 +29,9 @@ /* Define to 1 if you have the <libutil.h> header file. */ #cmakedefine HAVE_LIBUTIL_H 1 +/* Define to 1 if you have the <sys/time.h> header file. */ +#cmakedefine HAVE_SYS_TIME_H 1 + /* Define to 1 if you have the <termios.h> header file. */ #cmakedefine HAVE_TERMIOS_H 1 diff --git a/src/libcrypto.c b/src/libcrypto.c index 479c8c18..00f107f7 100644 --- a/src/libcrypto.c +++ b/src/libcrypto.c @@ -19,11 +19,14 @@ * MA 02111-1307, USA. */ +#include "config.h" #include <stdlib.h> #include <stdio.h> #include <string.h> +#ifdef HAVE_SYS_TIME_H #include <sys/time.h> +#endif #include "libssh/priv.h" #include "libssh/session.h" @@ -80,9 +83,11 @@ static int alloc_key(struct ssh_cipher_struct *cipher) { } void ssh_reseed(void){ +#ifndef _WIN32 struct timeval tv; gettimeofday(&tv, NULL); RAND_add(&tv, sizeof(tv), 0.0); +#endif } SHACTX sha1_init(void) { |