diff options
| author | Michael Forney <mforney@mforney.org> | 2018-11-05 12:25:49 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2018-11-06 00:00:25 -0800 |
| commit | d19e6b823b76a87264202bbdd9c5b7e9773554e9 (patch) | |
| tree | dbc1173761b0ab14f5c4c1b3374cf8c0ced69e27 /pkg/openbsd | |
| parent | 9c81417ff34ccee69f204cb328b39a2f4831e163 (diff) | |
Use musl 1.1.20 getentropy
Diffstat (limited to 'pkg/openbsd')
| -rw-r--r-- | pkg/openbsd/gen.lua | 16 | ||||
| -rw-r--r-- | pkg/openbsd/include/unistd.h | 1 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0018-getentropy-Support-BearSSL-SHA512-implementation.patch | 107 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0018-nc-Port-to-linux.patch (renamed from pkg/openbsd/patch/0019-nc-Port-to-linux.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0019-yacc-Remove-__unused.patch (renamed from pkg/openbsd/patch/0020-yacc-Remove-__unused.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0020-Add-standalone-freezero.patch (renamed from pkg/openbsd/patch/0021-Add-standalone-freezero.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0021-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch (renamed from pkg/openbsd/patch/0022-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0022-m4-Use-_Noreturn-instead-of-__dead.patch (renamed from pkg/openbsd/patch/0023-m4-Use-_Noreturn-instead-of-__dead.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0023-m4-Add-missing-includes.patch (renamed from pkg/openbsd/patch/0024-m4-Add-missing-includes.patch) | 0 | ||||
| -rw-r--r-- | pkg/openbsd/patch/0024-libutil-Add-missing-includes.patch (renamed from pkg/openbsd/patch/0025-libutil-Add-missing-includes.patch) | 0 |
10 files changed, 2 insertions, 122 deletions
diff --git a/pkg/openbsd/gen.lua b/pkg/openbsd/gen.lua index aa47ce0c..25b131bb 100644 --- a/pkg/openbsd/gen.lua +++ b/pkg/openbsd/gen.lua @@ -5,17 +5,6 @@ cflags{ '-idirafter $srcdir/sys', '-idirafter $srcdir/lib/libutil', } -local libs - -if not config.tls or config.tls == 'libressl' then - cflags{'-D USE_OPENSSL', '-I $builddir/pkg/libressl/include'} - libs = {'$builddir/pkg/libressl/libcrypto-sha.a'} -elseif config.tls == 'bearssl' then - cflags{'-D USE_BEARSSL', '-I pkg/bearssl/src/inc'} - libs = {'$builddir/pkg/bearssl/libbearssl.a'} -else - error('unknown config.tls: '..config.tls) -end -- Link arc4random.c to '$outdir' so that it doesn't include the local -- arc4random.h @@ -27,7 +16,7 @@ cc('$outdir/lib/libc/crypt/arc4random.c', { '$outdir/lib/libc/crypt/chacha_private.h', }) -lib('libbsd.a', {paths[[ +lib('libbsd.a', [[ lib/libc/( crypt/(arc4random.c.o arc4random_uniform.c) gen/(fts.c getprogname.c pwcache.c readpassphrase.c setprogname.c unvis.c vis.c warnc.c vwarnc.c) @@ -35,9 +24,8 @@ lib('libbsd.a', {paths[[ stdlib/(freezero.c reallocarray.c recallocarray.c strtonum.c) string/(explicit_bzero.c strmode.c timingsafe_bcmp.c timingsafe_memcmp.c) ) - lib/libcrypto/arc4random/getentropy_linux.c lib/libutil/ohash.c -]], libs}, {'pkg/libressl/headers'}) +]]) file('lib/libbsd.a', '644', '$outdir/libbsd.a') -- diff diff --git a/pkg/openbsd/include/unistd.h b/pkg/openbsd/include/unistd.h index f77113e2..a715077b 100644 --- a/pkg/openbsd/include/unistd.h +++ b/pkg/openbsd/include/unistd.h @@ -1,4 +1,3 @@ #include_next <unistd.h> #define pledge(request, paths) 0 /* linux doesn't have pledge */ #define unveil(path, permissions) 0 /* linux doesn't have unveil */ -int getentropy(void *, size_t); diff --git a/pkg/openbsd/patch/0018-getentropy-Support-BearSSL-SHA512-implementation.patch b/pkg/openbsd/patch/0018-getentropy-Support-BearSSL-SHA512-implementation.patch deleted file mode 100644 index 5d4c234e..00000000 --- a/pkg/openbsd/patch/0018-getentropy-Support-BearSSL-SHA512-implementation.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 37f2f6274588cad438c6fd6c7b37bd5e5ce3ae20 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 27 May 2017 18:49:33 -0700 -Subject: [PATCH] getentropy: Support BearSSL SHA512 implementation - ---- - lib/libcrypto/arc4random/getentropy_linux.c | 33 ++++++++++++++++++++++++++++- - 1 file changed, 32 insertions(+), 1 deletion(-) - -diff --git a/lib/libcrypto/arc4random/getentropy_linux.c b/lib/libcrypto/arc4random/getentropy_linux.c -index a845239eb3e..6a7fe863abb 100644 ---- a/lib/libcrypto/arc4random/getentropy_linux.c -+++ b/lib/libcrypto/arc4random/getentropy_linux.c -@@ -47,7 +47,13 @@ - #include <errno.h> - #include <unistd.h> - #include <time.h> -+#if defined(USE_OPENSSL) - #include <openssl/sha.h> -+#elif defined(USE_BEARSSL) -+#include <bearssl.h> -+#else -+#error "missing SHA512 implementation" -+#endif - - #include <linux/types.h> - #include <linux/random.h> -@@ -67,9 +73,15 @@ - HD(b); \ - } while (0) - -+#if defined(USE_OPENSSL) - #define HR(x, l) (SHA512_Update(&ctx, (char *)(x), (l))) - #define HD(x) (SHA512_Update(&ctx, (char *)&(x), sizeof (x))) - #define HF(x) (SHA512_Update(&ctx, (char *)&(x), sizeof (void*))) -+#elif defined(USE_BEARSSL) -+#define HR(x, l) (br_sha512_update(&ctx, (char *)(x), (l))) -+#define HD(x) (br_sha512_update(&ctx, (char *)&(x), sizeof (x))) -+#define HF(x) (br_sha512_update(&ctx, (char *)&(x), sizeof (void*))) -+#endif - - int getentropy(void *buf, size_t len); - -@@ -330,16 +342,28 @@ static const int cl[] = { - static int - getentropy_phdr(struct dl_phdr_info *info, size_t size, void *data) - { -+#if defined(USE_OPENSSL) - SHA512_CTX *ctx = data; - - SHA512_Update(ctx, &info->dlpi_addr, sizeof (info->dlpi_addr)); -+#elif defined(USE_BEARSSL) -+ br_sha512_context *ctx = data; -+ -+ br_sha512_update(ctx, &info->dlpi_addr, sizeof (info->dlpi_addr)); -+#endif - return (0); - } - - static int - getentropy_fallback(void *buf, size_t len) - { -+#if defined(USE_OPENSSL) - uint8_t results[SHA512_DIGEST_LENGTH]; -+ SHA512_CTX ctx; -+#elif defined(USE_BEARSSL) -+ uint8_t results[br_sha512_SIZE]; -+ br_sha512_context ctx; -+#endif - int save_errno = errno, e, pgs = getpagesize(), faster = 0, repeat; - static int cnt; - struct timespec ts; -@@ -347,7 +371,6 @@ getentropy_fallback(void *buf, size_t len) - struct rusage ru; - sigset_t sigset; - struct stat st; -- SHA512_CTX ctx; - static pid_t lastpid; - pid_t pid; - size_t i, ii, m; -@@ -364,7 +387,11 @@ getentropy_fallback(void *buf, size_t len) - } - for (i = 0; i < len; ) { - int j; -+#if defined(USE_OPENSSL) - SHA512_Init(&ctx); -+#elif defined(USE_BEARSSL) -+ br_sha512_init(&ctx); -+#endif - for (j = 0; j < repeat; j++) { - HX((e = gettimeofday(&tv, NULL)) == -1, tv); - if (e != -1) { -@@ -535,7 +562,11 @@ getentropy_fallback(void *buf, size_t len) - #endif - #endif - -+#if defined(USE_OPENSSL) - SHA512_Final(results, &ctx); -+#elif defined(USE_BEARSSL) -+ br_sha512_out(&ctx, results); -+#endif - memcpy((char *)buf + i, results, min(sizeof(results), len - i)); - i += min(sizeof(results), len - i); - } --- -2.14.2 - diff --git a/pkg/openbsd/patch/0019-nc-Port-to-linux.patch b/pkg/openbsd/patch/0018-nc-Port-to-linux.patch index 6c9f5182..6c9f5182 100644 --- a/pkg/openbsd/patch/0019-nc-Port-to-linux.patch +++ b/pkg/openbsd/patch/0018-nc-Port-to-linux.patch diff --git a/pkg/openbsd/patch/0020-yacc-Remove-__unused.patch b/pkg/openbsd/patch/0019-yacc-Remove-__unused.patch index d8e49be7..d8e49be7 100644 --- a/pkg/openbsd/patch/0020-yacc-Remove-__unused.patch +++ b/pkg/openbsd/patch/0019-yacc-Remove-__unused.patch diff --git a/pkg/openbsd/patch/0021-Add-standalone-freezero.patch b/pkg/openbsd/patch/0020-Add-standalone-freezero.patch index 249a3e4d..249a3e4d 100644 --- a/pkg/openbsd/patch/0021-Add-standalone-freezero.patch +++ b/pkg/openbsd/patch/0020-Add-standalone-freezero.patch diff --git a/pkg/openbsd/patch/0022-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch b/pkg/openbsd/patch/0021-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch index f58f366f..f58f366f 100644 --- a/pkg/openbsd/patch/0022-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch +++ b/pkg/openbsd/patch/0021-m4-Use-hand-written-lexer-to-avoid-cycle-in-bootstra.patch diff --git a/pkg/openbsd/patch/0023-m4-Use-_Noreturn-instead-of-__dead.patch b/pkg/openbsd/patch/0022-m4-Use-_Noreturn-instead-of-__dead.patch index c78d504e..c78d504e 100644 --- a/pkg/openbsd/patch/0023-m4-Use-_Noreturn-instead-of-__dead.patch +++ b/pkg/openbsd/patch/0022-m4-Use-_Noreturn-instead-of-__dead.patch diff --git a/pkg/openbsd/patch/0024-m4-Add-missing-includes.patch b/pkg/openbsd/patch/0023-m4-Add-missing-includes.patch index de80afe9..de80afe9 100644 --- a/pkg/openbsd/patch/0024-m4-Add-missing-includes.patch +++ b/pkg/openbsd/patch/0023-m4-Add-missing-includes.patch diff --git a/pkg/openbsd/patch/0025-libutil-Add-missing-includes.patch b/pkg/openbsd/patch/0024-libutil-Add-missing-includes.patch index c441c199..c441c199 100644 --- a/pkg/openbsd/patch/0025-libutil-Add-missing-includes.patch +++ b/pkg/openbsd/patch/0024-libutil-Add-missing-includes.patch |
