RAND_POOL: Add missing implementations for djgpp
authorDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Tue, 5 Jun 2018 21:22:06 +0000 (23:22 +0200)
committerDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Fri, 15 Jun 2018 06:13:03 +0000 (08:13 +0200)
Calling the functions rand_pool_add_{additional,nonce}_data()
in crypto/rand/rand_lib.c with no implementation for djgpp/MSDOS
causees unresolved symbols when linking with djgpp.

Reported and fixed by Gisle Vanem

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6421)

crypto/rand/rand_unix.c

index 7989081..fafa359 100644 (file)
@@ -27,7 +27,8 @@
 #if defined(__OpenBSD__) || defined(__NetBSD__)
 # include <sys/param.h>
 #endif
-#ifdef OPENSSL_SYS_UNIX
+
+#if defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__)
 # include <sys/types.h>
 # include <unistd.h>
 # include <sys/time.h>
@@ -70,7 +71,7 @@ static uint64_t get_timer_bits(void);
 #   define OSSL_POSIX_TIMER_OKAY
 #  endif
 # endif
-#endif
+#endif /* defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) */
 
 int syscall_random(void *buf, size_t buflen);
 
@@ -392,7 +393,7 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool)
 # endif
 #endif
 
-#ifdef OPENSSL_SYS_UNIX
+#if defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__)
 int rand_pool_add_nonce_data(RAND_POOL *pool)
 {
     struct {
@@ -512,4 +513,4 @@ static uint64_t get_timer_bits(void)
 # endif
     return time(NULL);
 }
-#endif
+#endif /* defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) */