• Luca Boccassi's avatar
    Problem: fd leak in tweetnacl with one ctx per thread · e015a0f8
    Luca Boccassi authored
    Solution: add a crypto [de-]initialiser, refcounted and serialised
    through critical sections.
    This is necessary as utility APIs such as zmq_curve_keypair also
    call into the sodium/tweetnacl libraries and need the initialisation
    outside of the zmq context.
    Also the libsodium documentation explicitly says that sodium_init
    must not be called concurrently from multiple threads, which could
    have happened until now. Also the randombytes_close function does
    not appear to be thread safe either.
    This change guarantees that the library is initialised only once at
    any given time across the whole program.
    Fixes #2632
    e015a0f8
Name
Last commit
Last update
.github Loading commit data...
RELICENSE Loading commit data...
builds Loading commit data...
doc Loading commit data...
include Loading commit data...
m4 Loading commit data...
packaging Loading commit data...
perf Loading commit data...
src Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.hgeol Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
CMakeLists.txt Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Dockerfile Loading commit data...
Doxygen.cfg Loading commit data...
FindSodium.cmake Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README.cygwin.md Loading commit data...
README.doxygen.md Loading commit data...
README.md Loading commit data...
ZeroMQConfig.cmake.in Loading commit data...
acinclude.m4 Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
branding.bmp Loading commit data...
ci_build.sh Loading commit data...
ci_deploy.sh Loading commit data...
configure.ac Loading commit data...
installer.ico Loading commit data...
version.sh Loading commit data...