1. 01 May, 2017 1 commit
  2. 26 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: add a basic test for GSSAPI security · edd6b0ad
      Jim Garlick authored
      Problem: there is no test coverage for GSSAPI.
      
      Solution: add a test structured like the CURVE test.
      
      The test is not built if libzmq is not configured with
      --with-libgssapi_krb5. It will report SKIPPED status
      if the required environment is missing (see below).
      
      Environment:  KRB5_KTNAME and KRB5_CLIENT_KTNAME
      environment variables must point to a keytab file
      containing creds for a host-based test principal
      (see comment at top of source for details).
      Kerberos must be configured and a KDC containing the
      test principal must be running, otherwise the test
      will fail/hang.
      
      N.B. For now, the test must use the same principal for
      both client and server roles because it seems impossible
      to set them to different principals when they are
      threads in the same process.  Once one principal is
      cached in credential cache, attempts to acquire creds
      for a different "desired name" seem to be ignored and
      the cached principal is used instead.
      edd6b0ad
  3. 07 Feb, 2017 1 commit
  4. 15 Dec, 2016 1 commit
  5. 24 Sep, 2016 1 commit
  6. 20 Sep, 2016 1 commit
  7. 01 Sep, 2016 1 commit
  8. 31 Jul, 2016 1 commit
  9. 19 May, 2016 1 commit
  10. 15 May, 2016 3 commits
  11. 14 May, 2016 3 commits
  12. 08 May, 2016 1 commit
    • hitstergtd's avatar
      Problem: Not all ancillary API methods tested · 206771af
      hitstergtd authored
      Solution:
      - Add file for testing ancillary API methods and any misc internal machinery
      - Add tests for zmq_version(3) and zmq_strerror(3)
      - Add test file into gitignore, Autotools and CMake build files
      - Increase test coverage
      
      Note:
      MSVC solution files have not been updated.
      206771af
  13. 06 May, 2016 1 commit
  14. 04 May, 2016 1 commit
  15. 02 May, 2016 6 commits
  16. 26 Apr, 2016 1 commit
  17. 21 Apr, 2016 2 commits
  18. 02 Apr, 2016 1 commit
    • Frederic Tregon's avatar
      Fixed ZMQ_REQ_CORRELATE (see pull request #1730) · 625b6187
      Frederic Tregon authored
      Problem: Since pull request #1730 was merged, protocol for REQ socket is
      checked at the session level and this check does not take into account
      the possibility of a request_id being part of the message. Thus the option
      ZMQ_REQ_CORRELATE would no longer work.
      This is now fixed: the possiblity of a 4 bytes integer being present
      before the delimiter frame is taken into account (whether or not this
      breaks the REQ/REP RFC is another issue).
      625b6187
  19. 19 Mar, 2016 3 commits
    • Luca Boccassi's avatar
      Problem: test_fork causes valgrind false positive · 9d94eb11
      Luca Boccassi authored
      Solution: do not run test_fork if --enable-valgrind is set. Note that
      later versions of Valgrind (3.11) not yet available in all
      distributions fix this problem, so we might revert in the future.
      9d94eb11
    • Luca Boccassi's avatar
      Problem: false positive on valgrind 3.10 · 00e09576
      Luca Boccassi authored
      Solution: update builds/valgrind/valgrind.supp to ignore glibc's
      __libc_freeres calls. This code runs after the program exits, and
      tries to de-allocate memory allocated internally by glibc, so it has
      nothing to do with libzmq code. This suppression is added by default
      in newer versions of Valgrind, not yet available on older
      distributions.
      00e09576
    • Luca Boccassi's avatar
      Problem: no Makefile target for Valgrind · 2b2f9046
      Luca Boccassi authored
      Solution: import ax_valgrind_check.m4 macro file to provide a
      conveniente automake hook to run Valgrind on all tests.
      Add --enable-valgrind to ./configure call and then run make
      check-valgrind to run memcheck, helgrind, drd and sgcheck on all
      tests. Run check-valgrind-memcheck to run only memcheck.
      2b2f9046
  20. 16 Mar, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: test_large_msg requires 2GB of free RAM · 15fd419f
      Luca Boccassi authored
      Solution: remove temporarily until proper message limits have been
      implemented, then a more granular test case can be added without
      such high requirements which are problematic in embedded environment,
      build systems, VMs and CI systems
      15fd419f
  21. 13 Mar, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: no code coverage integration · 6df753c5
      Luca Boccassi authored
      Solution: import ax_code_coverage.m4 from autoconf-archive and use it
      in configure.ac and Makefile.am in order to provide a make
      check-code-coverage target behind a --enable-code-coverage configure
      flag, that can be used to generate a gcov/lcov code coverage report.
      Depends on having gcov and lcov installed.
      6df753c5
  22. 06 Mar, 2016 1 commit
  23. 18 Feb, 2016 1 commit
  24. 12 Feb, 2016 1 commit
  25. 11 Feb, 2016 4 commits
    • Pieter Hintjens's avatar
      Problem: can't build using gyp · fde81d7e
      Pieter Hintjens authored
      I'm adding gyp support so that we can easily pull in libzmq
      and other C/C++ projects into gyp packages, especially via
      node-gyp.
      
      Solution: add gyp definition
      
      This works only for Windows, OS/X, and Linux. We set a single
      macro in project.gyp according to the system, and the rest is
      done in builds/gyp/platform.hpp. The values in that file are
      not dynamic. Your mileage will vary.
      fde81d7e
    • Luca Boccassi's avatar
      Problem: empty files are against ISO C++ · 0afac590
      Luca Boccassi authored
      Solution: if not building with tweetnacl, do not include its sources
      in Makefile.am. CMake already includes them optionally.
      0afac590
    • 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
    • Pieter Hintjens's avatar
      Problem: use of libsodium vs. tweetnacl is confused · b49a6041
      Pieter Hintjens authored
      It's unclear which we need and in the source code, conditional code
      treats tweetnacl as a subclass of libsodium, which is inaccurate.
      
      Solution: redesign the configure/cmake API for this:
      
      * tweetnacl is present by default and cannot be enabled
      * libsodium can be enabled using --with-libsodium, which replaces
        the built-in tweetnacl
      * CURVE encryption can be disabled entirely using --enable-curve=no
      
      The macros we define in platform.hpp are:
      
          ZMQ_HAVE_CURVE    1        //  When CURVE is enabled
          HAVE_LIBSODIUM    1        //  When we are using libsodium
          HAVE_TWEETNACL    1        //  When we're using tweetnacl (default)
      
      As of this patch, the default build of libzmq always has CURVE
      security, and always uses tweetnacl.
      b49a6041