* libzmq: use build script from upstream repository
In order to avoid having to send PRs every time we change something, simply
maintain the build script in the upstream repository, and change build.sh
to a one-line call.
* libzmq: clone corpora and dictionary repository
* libzmq: build libsodium with --disable-asm to avoid false positives in MSAN checks
* libzmq: set autoconf install prefix to avoid /usr/local being added to the linker library paths
A non-working version of the standard library is installed in oss-fuzz's images
under /usr/local/lib. Using it breaks MSAN's tests with false positives.
Set the prefix in autoconf to something different from the default
/usr/local, as /lib is added by autoconf automatically to the linker
flags, which means this broken standard library is used instead of the
instrumented one in /usr/lib.
* Add another maintainer to libzmq's CC list
* Enable UBSAN for libzmq
* libzmq: disable afl fuzzer, CI fails
* libsodium: do not let libsodium's autogen.sh download files from gnu.org
There is no sanity check and if the download fails because gnu.org is down
the build fails with unhelpful errors
A specific configure option and installation directory have been
added for fuzzers built with an external engine via:
https://github.com/zeromq/libzmq/pull/3885
Also clone and build libsodium, as the encryption feature is using
its safe memory APIs.
* libzmq: add alternative mail address and other maintainer's address
* libzmq: adjust zmq_z85_decode test
The output buffer is not fixed in size, it depends on input size and the
caller allocates it
* libzmq: add tests for handshake engine on connect/bind
Create localhost ipv4 TCP sockets to exercise libzmq's processing
of data over the network.
This connections should be rejected in the first part of the handshake
(greeting) only, so more tests should be added to further mock the
greeting and exercise deeper parts of the engine.
https://rfc.zeromq.org/spec/37/
* libzmq: fix coverage build
The combination of clang, coverage and automake is not happy at the
moment, and binaries fail to link. We don't need to build any of
the tools for these tests, so simply disable them.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21872