1. 02 Apr, 2018 1 commit
  2. 10 Mar, 2018 2 commits
  3. 07 Aug, 2017 1 commit
  4. 28 Jul, 2017 3 commits
    • Luca Boccassi's avatar
      Problem: reading from /dev/urandom is clunky · fbb6bbdc
      Luca Boccassi authored
      Solution: if available use the getrandom function as it doesn't
      require any synchronization, state or cleanup
      fbb6bbdc
    • Luca Boccassi's avatar
      Problem: tweetnacl leaks file descriptor on fork+exec · 2626fdfa
      Luca Boccassi authored
      Solution: open with O_CLOEXEC if available or set FD_CLOEXEC if not
      2626fdfa
    • 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
  5. 27 Jul, 2017 1 commit
  6. 17 Sep, 2016 1 commit
  7. 14 Sep, 2016 1 commit
    • Kouhei Sutou's avatar
      Problem: MinGW cross compile is failed on Linux · da9b9540
      Kouhei Sutou authored
      Solution: Use only lower case for header file name.
      
      We can find "wincrypt.h" by "WinCrypt.h" on Windows because Windows uses
      case insensitive file system. But we can't find "wincrypt.h" by
      "WinCrypt.h" on Linux Because Linux uses case sensitive file system.
      da9b9540
  8. 14 May, 2016 1 commit
  9. 25 Apr, 2016 1 commit
  10. 12 Apr, 2016 1 commit
  11. 04 Mar, 2016 1 commit
  12. 19 Feb, 2016 2 commits
  13. 17 Feb, 2016 1 commit
    • Pieter Hintjens's avatar
      Problem: getting various warnings in tweetnacl · 7129187f
      Pieter Hintjens authored
      libzmq used to switch off pedantic checks when using tweetnacl. As
      this is now the default, that means pedantic checks are always off.
      This is not good.
      
      Solution: in tweetnacl.c alone, use a GCC pragma to disable sign
      comparison warnings. We could also clean the code up yet this is
      simpler. In other code, we still want those warnings, hence I've
      used a pragma rather than global compile option.
      
      Second, use -Wno-long-long all the time, as this warning does not
      work with a pragma.
      
      I removed code that set -wno-long-long, for MinGW and Solaris.
      
      Related problem 2: --with-relaxed is badly named
      
      This option switches off pedantic checks, so should be called
      --disable-pedantic. 'with' is for optional packages.
      7129187f
  14. 11 Feb, 2016 1 commit
    • Pieter Hintjens's avatar
      Problem: tweetnacl sources are a mess · f8ed793f
      Pieter Hintjens authored
      - they have no copyright / license statement
      - they are in some randomish directory structure
      - they are a mix of postable and non-portable files
      - they do not conform to conditional compile environment
      
      Overall, it makes it rather more work than needed, in build scripts.
      
      Solution: clean up tweetnacl sauce.
      
      - merged code into single tweetnacl.c and .h
      - standard copyright header, DJB to AUTHORS
      - moved into src/ along with all other source files
      - all system and conditional compilation hidden in these files
      - thus, they can be compiled and packaged in all cases
      - ZMQ_USE_TWEETNACL is set when we're using built-in tweetnacl
      - HAVE_LIBSODIUM is set when we're using external libsodium
      f8ed793f
  15. 03 Jul, 2014 1 commit
  16. 01 May, 2014 2 commits