diff -ru libressl-2.7.2.orig/configure libressl-2.7.2/configure --- libressl-2.7.2.orig/configure 2018-04-01 04:14:50.000000000 +0200 +++ libressl-2.7.2/configure 2018-04-03 18:23:59.137279767 +0200 @@ -722,6 +722,8 @@ HOST_LINUX_TRUE HOST_HPUX_FALSE HOST_HPUX_TRUE +HOST_MIDIPIX_FALSE +HOST_MIDIPIX_TRUE HOST_FREEBSD_FALSE HOST_FREEBSD_TRUE HOST_DARWIN_FALSE @@ -11043,7 +11045,7 @@ ;; # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | midipix*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no @@ -12190,6 +12192,11 @@ PLATFORM_LDADD='-lpthread' ;; + *midipix*) + HOST_OS=midipix + HOST_ABI=pe + CFLAGS="$CFLAGS -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE" + ;; *netbsd*) HOST_OS=netbsd HOST_ABI=elf @@ -12315,6 +12322,14 @@ HOST_LINUX_FALSE= fi + if test x$HOST_OS = xmidipix; then + HOST_MIDIPIX_TRUE= + HOST_MIDIPIX_FALSE='#' +else + HOST_MIDIPIX_TRUE='#' + HOST_MIDIPIX_FALSE= +fi + if test x$HOST_OS = xnetbsd; then HOST_NETBSD_TRUE= HOST_NETBSD_FALSE='#' @@ -14260,6 +14275,10 @@ as_fn_error $? "conditional \"HOST_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HOST_MIDIPIX_TRUE}" && test -z "${HOST_MIDIPIX_FALSE}"; then + as_fn_error $? "conditional \"HOST_MIDIPIX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HOST_NETBSD_TRUE}" && test -z "${HOST_NETBSD_FALSE}"; then as_fn_error $? "conditional \"HOST_NETBSD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff -ru libressl-2.7.2.orig/crypto/compat/arc4random.h libressl-2.7.2/crypto/compat/arc4random.h --- libressl-2.7.2.orig/crypto/compat/arc4random.h 2017-11-04 21:04:56.000000000 +0100 +++ libressl-2.7.2/crypto/compat/arc4random.h 2018-04-03 18:24:22.725182637 +0200 @@ -12,7 +12,7 @@ #elif defined(__hpux) #include "arc4random_hpux.h" -#elif defined(__linux__) +#elif defined(__linux__) || defined(__midipix__) #include "arc4random_linux.h" #elif defined(__NetBSD__) diff -ru libressl-2.7.2.orig/crypto/compat/getentropy_linux.c libressl-2.7.2/crypto/compat/getentropy_linux.c --- libressl-2.7.2.orig/crypto/compat/getentropy_linux.c 2018-04-01 04:14:32.000000000 +0200 +++ libressl-2.7.2/crypto/compat/getentropy_linux.c 2018-04-03 19:14:31.336262932 +0200 @@ -27,7 +27,7 @@ #include #include #include -#ifdef SYS__sysctl +#if defined(SYS__sysctl) && !defined(__midipix__) #include #endif #include @@ -49,8 +49,11 @@ #include #include +#ifndef __midipix__ #include #include +#endif + #ifdef HAVE_GETAUXVAL #include #endif @@ -78,7 +81,7 @@ static int getentropy_getrandom(void *buf, size_t len); #endif static int getentropy_urandom(void *buf, size_t len); -#ifdef SYS__sysctl +#if defined(SYS__sysctl) && !defined(__midipix__) static int getentropy_sysctl(void *buf, size_t len); #endif static int getentropy_fallback(void *buf, size_t len); @@ -118,7 +121,7 @@ if (ret != -1) return (ret); -#ifdef SYS__sysctl +#if defined(SYS__sysctl) && !defined(__midipix__) /* * Try to use sysctl CTL_KERN, KERN_RANDOM, RANDOM_UUID. * sysctl is a failsafe API, so it guarantees a result. This @@ -244,10 +247,12 @@ close(fd); goto nodevrandom; } +#ifndef __midipix__ if (ioctl(fd, RNDGETENTCNT, &cnt) == -1) { close(fd); goto nodevrandom; } +#endif for (i = 0; i < len; ) { size_t wanted = len - i; ssize_t ret = read(fd, (char *)buf + i, wanted); @@ -270,7 +275,7 @@ return (-1); } -#ifdef SYS__sysctl +#if defined(SYS__sysctl) && !defined(__midipix__) static int getentropy_sysctl(void *buf, size_t len) { diff -ru libressl-2.7.2.orig/crypto/Makefile.in libressl-2.7.2/crypto/Makefile.in --- libressl-2.7.2.orig/crypto/Makefile.in 2018-04-01 04:14:53.000000000 +0200 +++ libressl-2.7.2/crypto/Makefile.in 2018-04-03 18:51:02.314411849 +0200 @@ -120,10 +120,11 @@ @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_FREEBSD_TRUE@am__append_25 = compat/getentropy_freebsd.c @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_HPUX_TRUE@am__append_26 = compat/getentropy_hpux.c @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_LINUX_TRUE@am__append_27 = compat/getentropy_linux.c -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_NETBSD_TRUE@am__append_28 = compat/getentropy_netbsd.c -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_DARWIN_TRUE@am__append_29 = compat/getentropy_osx.c -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_SOLARIS_TRUE@am__append_30 = compat/getentropy_solaris.c -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_WIN_TRUE@am__append_31 = compat/getentropy_win.c +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_MIDIPIX_TRUE@am__append_28 = compat/getentropy_linux.c +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_NETBSD_TRUE@am__append_29 = compat/getentropy_netbsd.c +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_DARWIN_TRUE@am__append_30 = compat/getentropy_osx.c +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_SOLARIS_TRUE@am__append_31 = compat/getentropy_solaris.c +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_WIN_TRUE@am__append_32 = compat/getentropy_win.c @HOST_ASM_ELF_X86_64_TRUE@am__append_32 = -DAES_ASM -DBSAES_ASM \ @HOST_ASM_ELF_X86_64_TRUE@ -DVPAES_ASM -DOPENSSL_IA32_SSE2 \ @HOST_ASM_ELF_X86_64_TRUE@ -DOPENSSL_BN_ASM_MONT \ @@ -237,10 +238,11 @@ @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_FREEBSD_TRUE@am__objects_17 = compat/getentropy_freebsd.lo @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_HPUX_TRUE@am__objects_18 = compat/getentropy_hpux.lo @HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_LINUX_TRUE@am__objects_19 = compat/getentropy_linux.lo -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_NETBSD_TRUE@am__objects_20 = compat/getentropy_netbsd.lo -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_DARWIN_TRUE@am__objects_21 = compat/getentropy_osx.lo -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_SOLARIS_TRUE@am__objects_22 = compat/getentropy_solaris.lo -@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_WIN_TRUE@am__objects_23 = compat/getentropy_win.lo +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_MIDIPIX_TRUE@am__objects_20 = compat/getentropy_linux.lo +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_NETBSD_TRUE@am__objects_21 = compat/getentropy_netbsd.lo +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_DARWIN_TRUE@am__objects_22 = compat/getentropy_osx.lo +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_SOLARIS_TRUE@am__objects_23 = compat/getentropy_solaris.lo +@HAVE_ARC4RANDOM_BUF_FALSE@@HAVE_GETENTROPY_FALSE@@HOST_WIN_TRUE@am__objects_24 = compat/getentropy_win.lo am_libcompat_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ $(am__objects_3) $(am__objects_4) $(am__objects_5) \ $(am__objects_6) $(am__objects_7) $(am__objects_8) \ @@ -248,7 +250,7 @@ $(am__objects_12) $(am__objects_13) $(am__objects_14) \ $(am__objects_15) $(am__objects_16) $(am__objects_17) \ $(am__objects_18) $(am__objects_19) $(am__objects_20) \ - $(am__objects_21) $(am__objects_22) $(am__objects_23) + $(am__objects_21) $(am__objects_22) $(am__objects_23) $(am__objects_24) libcompat_la_OBJECTS = $(am_libcompat_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -1019,7 +1021,7 @@ $(am__append_20) $(am__append_21) $(am__append_22) \ $(am__append_23) $(am__append_24) $(am__append_25) \ $(am__append_26) $(am__append_27) $(am__append_28) \ - $(am__append_29) $(am__append_30) $(am__append_31) + $(am__append_29) $(am__append_30) $(am__append_31) $(am__append_32) libcompat_la_LIBADD = $(PLATFORM_LDADD) # rc4 diff -ru libressl-2.7.2.orig/include/compat/machine/endian.h libressl-2.7.2/include/compat/machine/endian.h --- libressl-2.7.2.orig/include/compat/machine/endian.h 2017-11-04 21:04:56.000000000 +0100 +++ libressl-2.7.2/include/compat/machine/endian.h 2018-04-03 18:31:43.855341237 +0200 @@ -21,7 +21,7 @@ #define BYTE_ORDER BIG_ENDIAN #endif -#elif defined(__linux__) +#elif defined(__linux__) || defined(__midipix__) #include #elif defined(__sun) || defined(_AIX) || defined(__hpux) diff -ru libressl-2.7.2.orig/man/Makefile.am libressl-2.7.2/man/Makefile.am --- libressl-2.7.2.orig/man/Makefile.am 2018-04-01 04:14:42.000000000 +0200 +++ libressl-2.7.2/man/Makefile.am 2018-04-03 19:20:55.198107774 +0200 @@ -2668,14 +2668,6 @@ ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_ARG_FN_TYPE.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_FN_TYPE.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_HASH_FN_TYPE.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__delete.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__doall.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__doall_arg.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__error.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__free.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__insert.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__new.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__retrieve.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_delete.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_doall.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_doall_arg.3" @@ -5008,14 +5000,6 @@ -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_ARG_FN_TYPE.3" -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_FN_TYPE.3" -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_HASH_FN_TYPE.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__delete.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__doall.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__doall_arg.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__error.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__free.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__insert.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__new.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__retrieve.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_delete.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_doall.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_doall_arg.3" diff -ru libressl-2.7.2.orig/man/Makefile.in libressl-2.7.2/man/Makefile.in --- libressl-2.7.2.orig/man/Makefile.in 2018-04-01 04:14:53.000000000 +0200 +++ libressl-2.7.2/man/Makefile.in 2018-04-03 19:21:17.461794872 +0200 @@ -2960,14 +2960,6 @@ ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_ARG_FN_TYPE.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_FN_TYPE.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/LHASH_HASH_FN_TYPE.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__delete.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__doall.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__doall_arg.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__error.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__free.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__insert.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__new.3" - ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh__retrieve.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_delete.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_doall.3" ln -sf "lh_new.3" "$(DESTDIR)$(mandir)/man3/lh_doall_arg.3" @@ -5300,14 +5292,6 @@ -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_ARG_FN_TYPE.3" -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_DOALL_FN_TYPE.3" -rm -f "$(DESTDIR)$(mandir)/man3/LHASH_HASH_FN_TYPE.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__delete.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__doall.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__doall_arg.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__error.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__free.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__insert.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__new.3" - -rm -f "$(DESTDIR)$(mandir)/man3/lh__retrieve.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_delete.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_doall.3" -rm -f "$(DESTDIR)$(mandir)/man3/lh_doall_arg.3"