Don't. This looks like a portability issue. The definition of
random_init() that makes use of arc4random_addrandom() is
#ifdef-guarded. It gets picked up if macro SKALIBS_HASARC4RANDOM is
defined, and whether it is (in <skalibs/sysdeps.h>) or not depends on
the result of tests perfomed by skalib's 'configure' script.
What it actually tests for is the presence of function
arc4random_uniform(), probably assuming that if it is available, then
arc4random_addrandom() will be as well, and looking at OpenBSD's man
pages, it seems version 5.5 and later defeat that assumption.
If that's really it, you did the right thing by reporting it here, and
Laurent is going to love this one :D
That's really it, and indeed you did the right thing, OP - thanks for
My bad for using an old version of OpenBSD for testing... but I'm
more and more if OpenBSD if even a target worth porting to, given that
shamelessly and purposefully breaks POSIX in several places, and that it
doesn't seem to care (as this report shows) about API stability either.
I'll fix this one, but given I don't have access to my usual dev
will be a few weeks in the making. (It requires adding new sysdeps to
arc4random_addrandom(), and/or the new wonderful OpenBSD API to add
randomness: add_foobar_randomness() with various values of foobar,
that those functions take an int and not a stream of bytes, because of
they don't. And if none of these functions is available, what is one
I wish I had a quick workaround for the OP but since the API has
a workaround would take at least a few lines.
The quickest workaround is to comment out the call to
arc4random_addrandom() in skalibs' random_init.c, and pray that the
pool has already be correctly initialized. (That's effectively what the
does by commenting calls to random_init().)
I'm not going to chase after OpenBSD for much longer. One of the next
they break something without giving a shit, I'll just drop support and
that since this OS isn't even trying to pretend to be nice to
developers, the heavy
lifting should be done by the OS maintainers, and if someone wants an
port of my software, they should nag OpenBSD people for it.
Laurent, who is loving this one indeed.