1. 18 Aug, 2017 2 commits
  2. 17 Aug, 2017 2 commits
  3. 16 Aug, 2017 2 commits
  4. 15 Aug, 2017 1 commit
    • Simon Giesecke's avatar
      [WIP, do not merge] Problem: insufficient tests for ZMTP-CURVE protocol errors (#2680) · d5e4319e
      Simon Giesecke authored
      * Extracted connect_vanilla_socket function
      
      * Problem: no tests for ZMTP-CURVE protocol errors
      
      Solution: added two test cases with erroneous HELLO commands
      
      * Problem: insufficient tests for ZMTP-CURVE protocol errors
      
      Solution: added two test cases with erroneous HELLO command version
      
      * Problem: test HELLO message is invalid apart from deliberate errors
      
      Solution: create cryptographically correct HELLO message
      add tweetnacl.c to test_security_curve
      
      * Problem: nonce is incorrect, build fails with GCC
      
      Solution: use correct non prefix
      
      * Problem: make builds are failing
      
      Solution: transfer CMake changes to (auto)make files
      
      * Problem: nonce is incorrect, build fails with GCC
      
      Solution: use correct non prefix
      
      * Problem: make builds are failing
      
      Solution: transfer CMake changes to (auto)make files
      
      * Problem: no test with INITIATE command with invalid length
      
      Solution: added test case
      
      * Problem: code duplication between test_security_curve.cpp and curve_client.cpp
      
      Solution: extracted parts of zmq::curve_client_t::produce_hello into reusable function
      
      * Problem: code duplication between test_security_curve.cpp and curve_client.cpp
      
      Solution: extracted further parts of zmq::curve_client_t into reusable functions
      added missing file
      
      * Problem: mechanism_t::add_property can be declared static
      
      Solution: declare mechanism_t::add_property static
      
      * Problem: intermediate crypto data needs to be passed between static function calls to curve_client_tools_t
      
      Solution: add non-static member functions
      
      * Problem: msg_t instance may be closed twice
      
      Solution: remove offending close
      
      * Problem: prepare_hello uses static curve_client_tools_t::produce_hello
      
      Solution: Use non-static curve_client_tools_t::produce_hello
      
      * Problem: no test with invalid command name where INITIATE command is expected
      
      Solution: added test case
      
      * Problem: make builds are failing due to curve_client_tools.hpp not being found
      
      Solution: add curve_client_tools.hpp to list of source files
      
      * Problem: wrong initializer order in zmq::curve_client_t
      
      Solution: reorder
      
      * Problem: under non-Windows systems, test fails because random_open was not called
      
      Solution: call random_open/random_close within test
      
      * Problem: conflict between custom function htonll and macro definition on Darwin
      
      Solution: define htonll function only if not defined as a macro
      
      * Problem: nullptr not defined on all platforms
      
      Solution: replace nullptr by NULL
      
      * Problem: libsodium builds not working
      
      Solution: adapt compile and link file sets for libsodium builds
      
      * Problem: Makefile.am broken
      
      Solution: Fix syntax
      
      * Problem: no tests for garbage encrypted cookie or content in INITIATE
      
      Solution: added test cases
      
      * Problem: test cases accidentally excluded from build
      
      Solution: remove #if/#endif
      
      * Solution: some error cases are unreachable
      
      Problem: for the time being, added some comments without changing the code
      
      * Added comments on hard-to-test cases
      d5e4319e
  5. 01 May, 2017 1 commit
  6. 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
  7. 07 Feb, 2017 1 commit
  8. 15 Dec, 2016 1 commit
  9. 24 Sep, 2016 1 commit
  10. 20 Sep, 2016 1 commit
  11. 01 Sep, 2016 1 commit
  12. 31 Jul, 2016 1 commit
  13. 19 May, 2016 1 commit
  14. 15 May, 2016 3 commits
  15. 14 May, 2016 3 commits
  16. 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
  17. 06 May, 2016 1 commit
  18. 04 May, 2016 1 commit
  19. 02 May, 2016 6 commits
  20. 26 Apr, 2016 1 commit
  21. 21 Apr, 2016 2 commits
  22. 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
  23. 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
  24. 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
  25. 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