On Thu 02/01/2020 06:27, Björn Ketelaars wrote: > On Wed 01/01/2020 23:03, Ted Unangst wrote: > > Björn Ketelaars wrote: > > > - When estimating the amount of available RAM, scrypt ignores > > > RLIMIT_DATA on systems which have mmap. > > > > This is wrong on OpenBSD. I sent an email to Colin, but the update should > > patch this out in the meantime. > > Although I'm not doubting that you are right, I fail to understand why > ignoring RLIMIT_DATA on OpenBSD is bad. Could you explain why? > > I prepared a patch, which: > - addresses ignoring RLIMIT DATA, reverting > > https://github.com/Tarsnap/scrypt/commit/2b478e7ce590a6564d89417ddad4f3dd4bbdcaf6 > - fixes compiling on base-gcc archs (found by kmos@) > > OK?
Ping... Diff below for your convenience. diff --git Makefile Makefile index 31dc84c3443..04b73ef02b3 100644 --- Makefile +++ Makefile @@ -3,6 +3,7 @@ COMMENT = command-line encryption using scrypt key derivation function DISTNAME = scrypt-1.3.0 +REVISION = 0 SHARED_LIBS += scrypt-kdf 0.0 # 1.0 @@ -18,6 +19,9 @@ WANTLIB = c crypto MASTER_SITES = ${HOMEPAGE} EXTRACT_SUFX = .tgz +COMPILER = base-clang ports-gcc +COMPILER_LANGS = C + CONFIGURE_STYLE = gnu CONFIGURE_ARGS = --enable-libscrypt-kdf diff --git patches/patch-lib_util_memlimit_c patches/patch-lib_util_memlimit_c new file mode 100644 index 00000000000..788724aa76e --- /dev/null +++ patches/patch-lib_util_memlimit_c @@ -0,0 +1,24 @@ +$OpenBSD$ + +Do not ignore RLIMIT_DATA on OpenBSD. Revert +https://github.com/Tarsnap/scrypt/commit/2b478e7ce590a6564d89417ddad4f3dd4bbdcaf6 + +Index: lib/util/memlimit.c +--- lib/util/memlimit.c.orig ++++ lib/util/memlimit.c +@@ -167,14 +167,12 @@ memlimit_rlimit(size_t * memlimit) + memrlimit = (uint64_t)rl.rlim_cur; + #endif + +-#ifndef HAVE_MMAP +- /* ... RLIMIT_DATA (if we're not using mmap)... */ ++ /* ... RLIMIT_DATA... */ + if (getrlimit(RLIMIT_DATA, &rl)) + return (1); + if ((rl.rlim_cur != RLIM_INFINITY) && + ((uint64_t)rl.rlim_cur < memrlimit)) + memrlimit = (uint64_t)rl.rlim_cur; +-#endif + + /* ... and RLIMIT_RSS. */ + #ifdef RLIMIT_RSS