1. 19 Sep, 2017 2 commits
    • sigiesec's avatar
      Problem: term "identity" is confusing · 9e7507b3
      sigiesec authored
      Solution: replace by "routing id"
      9e7507b3
    • Luca Boccassi's avatar
      Problem: zmq_connect fails after disconnect due to RECONNECT_IVL == -1 · edb4ca10
      Luca Boccassi authored
      Solution: when a connection breaks and ZMQ_RECONNECT_IVL is set to -1,
      which means a reconnection will not be attempted, send a message from
      the I/O thread to the application thread to make the socket call
      term_endpoint, which is the equivalent of manually calling
      zmq_disconnect.
      This way subsequent zmq_connect call to the same endpoint will attempt
      again to do a connection.
      Otherwise, for some socket types like SUBs, those new connects will
      fail as the endpoint is recorded, despite the connection having been
      permanently closed.
      
      Add test cases to exercise this corner case with TCP and IPC.
      edb4ca10
  2. 18 Sep, 2017 1 commit
  3. 07 Sep, 2017 1 commit
  4. 06 Sep, 2017 1 commit
  5. 04 Sep, 2017 1 commit
  6. 01 Sep, 2017 2 commits
  7. 08 Aug, 2017 1 commit
    • Simon Giesecke's avatar
      Problem: ZAP status codes != 200 do not result in an appropriate monitor event (#2665) · a6cef4ef
      Simon Giesecke authored
      * Problem: missing test for status code 300, inadequate assertion for status code 500
      
      Solution: add test, change assertion (currently test fails)
      
      * Problem: gcc compiler error deprecated conversion from string constant
      
      Solution: declare variable as const
      
      * Problem: in case of ZAP handler returning a status code other than 200, no appropriate event is emitted
      
      Solution: immediately emit event after receiving reply from ZAP handler
      
      * Problem: endpoint address is not included in zap-reply monitor event
      
      Solution: added functions to retrieve endpoint address in zmq::i_engine and zmq::session_base_t
      removed unused code block in zmq::stream_engine_t::next_handshake_command
      
      * Problem: wrong formatting
      
      Solution: fix formatting
      
      * Problem: test fails because of EPIPE
      
      Solution: add EPIPE/ECONNRESET/ECONNAGAIN handling for more test cases
      a6cef4ef
  8. 01 Jul, 2017 1 commit
    • Luca Boccassi's avatar
      Problem: CURVE server (connect) fails when client rebinds · d04065b7
      Luca Boccassi authored
      Solution: if a CURVE server is using zmq_connect, the same session
      will be used for any client "reconnect" (actual binds). This is
      acceptable, so do not assert if zap_pipe already exists during the
      handshake, but simply reuse it.
      Fixes #2608
      d04065b7
  9. 13 Jun, 2017 1 commit
  10. 12 Jun, 2017 1 commit
  11. 02 Jun, 2017 1 commit
    • laplaceyang's avatar
      fix bug: coredump if set linger and immediate together · 67a6594f
      laplaceyang authored
      In function session_base_t::reconnect, if we set immediate to 1 and set linger, we will get into first block of reconnect function, and set pipe to NULL, but we forget to cancel timer of linger. Once timer tiggered, we will get coredump. Solution: cancel timer in the end of set pipe to NULL
      67a6594f
  12. 29 Mar, 2017 2 commits
  13. 01 Jan, 2017 1 commit
    • 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
  14. 30 Dec, 2016 1 commit
    • 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
  15. 15 May, 2016 1 commit
  16. 08 May, 2016 1 commit
  17. 21 Apr, 2016 1 commit
  18. 18 Feb, 2016 1 commit
  19. 29 Jan, 2016 2 commits
  20. 28 Jan, 2016 1 commit
  21. 27 Jan, 2016 1 commit
  22. 17 Dec, 2015 1 commit
  23. 08 Dec, 2015 1 commit
    • Ilya Kulakov's avatar
      Add the VMCI transport. · 68b13fbd
      Ilya Kulakov authored
      VMCI transport allows fast communication between the Host
      and a virtual machine, between virtual machines on the same host,
      and within a virtual machine (like IPC).
      
      It requires VMware to be installed on the host and Guest Additions
      to be installed on a guest.
      68b13fbd
  24. 30 Nov, 2015 1 commit
  25. 21 Aug, 2015 1 commit
  26. 16 Aug, 2015 1 commit
  27. 06 Aug, 2015 1 commit
    • Soren Hansen's avatar
      Avoid terminating connections prematurely · abc845d1
      Soren Hansen authored
      While sending very large messages (far beyond what fits in a the tcp
      buffer, so it takes multiple sendto system calls for it to finish),
      zmq_close will close the connection regardless of ZMQ_LINGER.
      
      In case no engine is attached, a pipe->check_read() is needed to look
      for the delimiter in the pipe and ultimately trigger the pipe
      termination.
      
      However, if there *is* an engine attached, the check_read() looks ahead
      and finds the delimiter and terminates the connection even though the
      engine might actually still be in the middle of sending a message.
      
      This happens because while the io_thread is still busy sending the data,
      the pipe can get terminated and the io thread ends up being terminated.
      abc845d1
  28. 24 Jun, 2015 1 commit
  29. 02 Jun, 2015 1 commit
  30. 02 Feb, 2015 1 commit
  31. 01 Feb, 2015 1 commit
  32. 23 Jan, 2015 1 commit
    • Pieter Hintjens's avatar
      Problem: commit afb24b53 broke ZMQ_STREAM contract · 6ced7027
      Pieter Hintjens authored
      Symptom is that ZMQ_STREAM sockets in 4.1.0 and 4.1.1 generate zero
      sized messages on each new connection, unlike 4.0.x which did not do
      this.
      
      Person who made this commit also changed test cases so that contract
      breakage did not show. Same person was later banned for persistently
      poor form in CZMQ contributions.
      
      Solution: enable connect notifications on ZMQ_STREAM sockets using a
      new ZMQ_STREAM_NOTIFY setting. By default, socket does not deliver
      notifications, and behaves as in 4.0.x.
      
      Fixes #1316
      6ced7027
  33. 22 Jan, 2015 1 commit
  34. 09 Jan, 2015 1 commit
  35. 03 Dec, 2014 1 commit
  36. 09 Oct, 2014 1 commit