diff --git a/compat/getentropy_linux.c b/compat/getentropy_linux.c index 6b220be31..d9a5277a6 100644 --- a/compat/getentropy_linux.c +++ b/compat/getentropy_linux.c @@ -20,8 +20,11 @@ * http://man.openbsd.org/getentropy.2 */ +#include "config.h" +/* #define _POSIX_C_SOURCE 199309L #define _GNU_SOURCE 1 +*/ #include #include #include @@ -47,7 +50,15 @@ #include #include #include +#ifndef HAVE_NETTLE #include +#else +#include +#define SHA512_CTX struct sha512_ctx +#define SHA512_Init(x) sha512_init(x) +#define SHA512_Update(x, b, s) sha512_update(x, s, b) +#define SHA512_Final(r, c) sha512_digest(c, SHA512_DIGEST_SIZE, r) +#endif #include #include @@ -55,6 +66,9 @@ #include #endif #include +#ifndef MAP_ANON +#define MAP_ANON MAP_ANONYMOUS +#endif #define REPEAT 5 #define min(a, b) (((a) < (b)) ? (a) : (b)) diff --git a/compat/getentropy_solaris.c b/compat/getentropy_solaris.c index b80c84de9..0a03046d4 100644 --- a/compat/getentropy_solaris.c +++ b/compat/getentropy_solaris.c @@ -20,6 +20,7 @@ * http://man.openbsd.org/getentropy.2 */ +#include "config.h" #include #include #include @@ -32,7 +33,9 @@ #include #include #include +#ifdef HAVE_STDINT_H #include +#endif #include #include #include @@ -42,10 +45,14 @@ #include #include #include +#ifdef HAVE_SYS_SHA2_H #include #define SHA512_Init SHA512Init #define SHA512_Update SHA512Update #define SHA512_Final SHA512Final +#else +#include "openssl/sha.h" +#endif #include #include diff --git a/doc/Changelog b/doc/Changelog index 0df61acbb..02ad18bbe 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -23,6 +23,12 @@ OpenBSD, no changes but makes the file, comments, identical. - Upgrade compat/getentropy_solaris.c to version 1.13 from OpenBSD. - Upgrade compat/getentropy_osx.c to version 1.12 from OpenBSD. + - Changes to compat/getentropy files for, + no link to openssl if using nettle, and hence config.h for + HAVE_NETTLE variable. + compat definition of MAP_ANON, for older systems. + ifdef stdint.h inclusion for older systems. + ifdef sha2.h inclusion for older systems. 19 November 2019: Wouter - Fix CVE-2019-18934, shell execution in ipsecmod.