1. 23 Mar, 2017 2 commits
  2. 16 Mar, 2017 1 commit
  3. 12 Mar, 2017 3 commits
    • Luca Boccassi's avatar
      Problem: thread name is redundant · d7aceef2
      Luca Boccassi authored
      Solution: call it simply "ZMQ background" instead of "ZMQ b/g thread"
      d7aceef2
    • Luca Boccassi's avatar
      Problem: I can't refactor · 092ad50b
      Luca Boccassi authored
      Solution: fix ifdef check for pthread_setname
      092ad50b
    • Luca Boccassi's avatar
      Problem: ZMQ background threads are unnamed · 3ab4796c
      Luca Boccassi authored
      Solution: use pthread API to set the name. For now call every thread
      "ZMQ b/g thread". Would be nice to number the I/O threads and name
      explicitly the reaper thread, but in reality a bit of internal API
      churn would be necessary, so perhaps it's not worth it.
      This is useful when debugging a process with many threads.
      3ab4796c
  4. 11 Mar, 2017 1 commit
  5. 06 Mar, 2017 1 commit
  6. 03 Mar, 2017 1 commit
  7. 24 Feb, 2017 3 commits
    • Luca Boccassi's avatar
      Problem: router pipe can block forever · a73d5cd6
      Luca Boccassi authored
      Solution: invert check_write and check_hwm calls in router xsend
      function so that check_write can mark the pipe as inactive if
      necessary.
      a73d5cd6
    • Luca Boccassi's avatar
      Problem: unnecessary change to router_mandatory_hwm test · 0f473d14
      Luca Boccassi authored
      Solution:
      
      Revert "Problem with ZMQ_ROUTER_MANDATORY option when peer lost"
      
      This partially reverts commit 06740b5d.
      
      The change in the mentioned commit was fixed to be backward
      compatible so test changes are no longer necessary.
      Partially revert the commit, leaving only the bug fix and taking out
      the test change and the superfluous change in socket_base.
      0f473d14
    • Reza Ebrahimi's avatar
      Problem with ZMQ_ROUTER_MANDATORY option when peer lost · 06740b5d
      Reza Ebrahimi authored
      indention
      
      Revert "indention"
      
      This reverts commit a6e7e192ac2d089ac9f7dc0d31d4b1fd10de982e.
      
      indention
      
      indention
      
      Fix Failure in tests
      
      Check both pipe full and pipe close
      06740b5d
  8. 03 Feb, 2017 1 commit
  9. 28 Jan, 2017 1 commit
  10. 26 Jan, 2017 1 commit
  11. 25 Jan, 2017 1 commit
    • sigiesec's avatar
      Problem: zmq_z85_decode does not validate its input (#2322) · c6c21cf1
      sigiesec authored
      * Problem: zmq_z85_decode does not validate its input
      Solution: added checks for invalid characters and overflows
      
      * Added tests, added further check for range overflow, removed (multiple) calls to strlen
      
      * Problem: gcc fails to build
      Solution: added missing include directive
      
      * Added VS2015 test_utils_z85 project
      
      * Fixed indentation and copyright notice
      
      * Resolved garbage from merge
      
      * Revert "Added VS2015 test_utils_z85 project"
      
      This reverts commit c58b3c664c144326e77135aa1184b6f0dee11143.
      
      * Problem: test calls zmq_z85_decode with a NULL dest
      Solution: call zmq_z85_decode with a properly sized buffer
      
      * Problem: tests for zmq_z85_* scattered over two files
      Solution: merged files
      
      * Removed reference to removed test file from CMakeLists.txt
      
      * Problem: Missing include directive to stdint.h
      Solution: Added include directive
      
      * Define __STDC_LIMIT_MACROS before including stdint.h
      
      * Problem: Wrong variable is checked for invalid character marker
      Solution: Use correct variable
      c6c21cf1
  12. 19 Jan, 2017 1 commit
  13. 11 Jan, 2017 1 commit
  14. 10 Jan, 2017 2 commits
  15. 09 Jan, 2017 1 commit
  16. 04 Jan, 2017 1 commit
    • Luca Boccassi's avatar
      Problem: peer can close connection before SO_NOSIGPIPE is set · 31a3a068
      Luca Boccassi authored
      Solution: setsockopt returns EINVAL if the connection was closed by
      the peer after the accept returned a valid socket. This is a valid
      network error and should not cause an assert.
      To handle this we have to extract the setsockopt from the stream
      engine, as there's no clean way to return an error from the
      constructor. Instead, try to set this option before creating the
      engine in the callers, and return immediately as if the accept
      had failed to avoid churn. Do the same for the connect calls by
      setting the option in open_socket, so that the option for that
      case is set even before connecting, so there's no possible race
      condition.
      Since this has to be done in 4 places (tcp/ipc listener, socks
      connecter and open_socket) add an utility function in ip.cpp.
      Fixes #1442
      31a3a068
  17. 03 Jan, 2017 1 commit
  18. 01 Jan, 2017 3 commits
    • Vincent Tellier's avatar
      Handshake events null pointer fix · 7e36db07
      Vincent Tellier authored
      The mechanism is instanciated during the handshake itself, when and
      error happen before this, the error method shall work anyway.
      An error handling with a NULL mechanism means the handshake fail, so the
      handshake failure event is also raised in this case.
      7e36db07
    • Vincent Tellier's avatar
      Fixed issue #2227 second part · ffb31dca
      Vincent Tellier authored
       - removed the previously added encryption_error, less changes less bug
       - handshake fail is now signaled when an error happen while the
         mechanism is still hanshaking
      ffb31dca
    • Luca Boccassi's avatar
      Problem: build fails on GNU/Hurd as it does not support IPV6_TCLASS · efc0e942
      Luca Boccassi authored
      Solution: check if IPV6_TCLASS is defined so that when Hurd adds
      support it will just work. Also it will avoid tripping over this on
      other similar legacy systems.
      efc0e942
  19. 30 Dec, 2016 3 commits
    • Luca Boccassi's avatar
      Problem: new DRAFT monitor events returned even without --enable-draft · c0e2bc4e
      Luca Boccassi authored
      Solution: wrap the event triggering in the DRAFT ifdef as well as the
      defines. This ensures that the event are returned only if the
      library was built with DRAFTs enabled.
      
      Also update the test case to expect the new events since it uses
      the catch-all mask. Although the sequence of event is different and
      this might be considered as an API breakage, using the catch-all
      ZMQ_EVENT_ALL mask implies that, well, all events are monitored so
      it's normal that new ones will be added.
      Users that don't want this kind of behaviour to change can simply
      monitor only the event that they care about.
      c0e2bc4e
    • Vincent Tellier's avatar
      Code formatting + reverted hard error handshake fail · 48bc75e8
      Vincent Tellier authored
       - Moved new events in draft section + added to zmq_draft.h
       - Removed the remainning tabs
       - Reverted the hard error (back to soft error) in curve_server.cpp
      
      => The feature doesn't works anymore
      48bc75e8
    • Vincent Tellier's avatar
      Fixed issue #2227 · b6e9e0c2
      Vincent Tellier authored
      Added two new monitoring events:
       - ZMQ_EVENT_HANDSHAKE_SUCCEED is raised once the encryption handshake succeed
       - ZMQ_EVENT_HANDSHAKE_FAILED is raised when it failed
      Both events are raised on server and client side.
      b6e9e0c2
  20. 29 Dec, 2016 1 commit
  21. 26 Dec, 2016 3 commits
  22. 25 Dec, 2016 1 commit
  23. 19 Dec, 2016 1 commit
  24. 16 Dec, 2016 3 commits
    • Luca Boccassi's avatar
      Problem: #2262 broke curve · 48e9e247
      Luca Boccassi authored
      Solution: Revert "Problem: Duplicated code"
      
      This reverts commit 022eeaf3.
      48e9e247
    • Wojciech Kula's avatar
      Problem: Duplicated code · 022eeaf3
      Wojciech Kula authored
      Solution: set_curve_key method in options_t struct with little
      improvement in switch-case block
      022eeaf3
    • Cziken's avatar
      Fixed handling of WSAEWOULDBLOCK to be generic (#2260) · d514bb59
      Cziken authored
      * Fixed handling of WSAEWOULDBLOCK to be generic
      
      I don't know what was the intention of this early if statement but
      now this is properly evaluated in wsa_error_no function if this is
      performance issue I suggest moving evaluating this error code to the
      beginning of wsa_error_no.
      
      * Fixed handling of WSAEWOULDBLOCK to be generic
      
      Introduced default pointer to const char * and overrides this as NULL
      if function is called by zmq::wsa_error()
      
      * Fixed handling of WSAEWOULDBLOCK to be generic
      
      Introduced default pointer to const char * and overrides this as NULL
      if function is called by zmq::wsa_error()
      d514bb59
  25. 15 Dec, 2016 2 commits