- 03 Aug, 2017 1 commit
-
-
Simon Giesecke authored
* Fixing #2002 one way of doing it * Mechanisms can implement a new method `error_detail()` * This error detail have three values for the moment: no_detail (default), protocol, encryption. + generic enough to make sense for all mechanisms. - low granularity level on information. * Fixing #2002: implementation of the error details The ZMQ_EVENT_HANDSHAKE_FAILED event carries the error details as value. * Removed Microsoft extenstion for enum member access This was leading to compilation error under linux. * Adaptation of CURVE test cases * Monitoring event: changed API for detailed events Removed ZMQ_EVENT_HANDSHAKE_FAILED and replaced it by: - ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL, - ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL, - ZMQ_EVENT_HANDSHAKE_FAILED_ENCRYPTION Adaptation of text case `security_curve` * Removed event value comparison This was introduced for the previous API model adaptation * Removed the prints in std output and added missing details `current_error_detail` was not set in every protocol error cases * Fixed initialization of current_error_detail * Fixed error in greeting test case The handshake failure due to mechanism mismatch in greeting is actually a protocol error. The error handling method consider it like so and send a protocol handshake failure monitoring event instead of no_detail. Fixed the test_security_curve expectation as well. * Upgraded tests of monitoring events The tests check the number of monitoring events received * Problem: does not build under Linux or without ZMQ_DRAFT_API Solution: - properly use ZMQ_DRAFT_API conditional compilation - use receive timeouts instead of Sleep * Problem: duplicate definition of variable 'timeout' Solution: merged definitions * Problem: inconsistent timing dependencies Solution: reduce timing dependency by using timeouts at more places * Problem: assertion failure under Linux due to unexpected monitor event Solution: output event type to aid debugging * Problem: erroneous assertion code * Problem: assertion failure with a garbage server key due to an extra third event Solution: changed assertion to expect three events (needs to be checked) * Problem: extra include directive to non-existent file Solution: removed include directive * Problem: assertion failure on appveyor for unknown reason Solution: improve debug output * Problem: no build with libsodium and draft api Solution: add build configurations with libsodium and draft api * Problem: assertion failure on CI Solution: change assertion to reflect actual behaviour on CI (at least temporarily) * Problem: error in condition in assertion code * Problem: assertion failure on CI Solution: generalize assertion to match behavior on CI * Problem: assertion failures on CI Solution: removed inconsistent assertion on no monitor events before flushing improved debuggability by converting function into macro * Problem: diverging test code for three analogous test cases with garbage key Solution: extract common code into function * Problem: does not build without ZMQ_BUILD_DRAFT_API Solution: introduce dummy variable * Attempt to remove workaround regarding ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL again * Problem: EAGAIN error after handshake complete if there is no more data in inbuffer Solution: Skip tcp_read attempt in that case * Problem: handshaking event emitted after handshaking failed Solution: use stream_engine_t::handshaking instead of mechanism_t::status() to determine whether still handshaking * Include error code in debug output * Improve debugging output: output flushed events * Split up ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL into ZMQ_EVENT_HANDSHAKE_FAILED_ZMTP and ZMQ_EVENT_HANDSHAKE_FAILED_ZAP * Fixed compilation without ZMQ_BUILD_DRAFT_API * Renamed ZMQ_EVENT_HANDSHAKE_SUCCEED to ZMQ_EVENT_HANDSHAKE_SUCCEEDED for language consistency * Renamed ZMQ_EVENT_HANDSHAKE_SUCCEED to ZMQ_EVENT_HANDSHAKE_SUCCEEDED for language consistency * Renamed ZMQ_EVENT_HANDSHAKE_SUCCEED to ZMQ_EVENT_HANDSHAKE_SUCCEEDED for language consistency * Fixed assert_monitor_event (require event instead of allowing no event) Reverted erroneous change to handshaking condition Renamed test_wrong_key to test_garbage_key Generalized assumption in test_garbage_key to allow for ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL with error == EPIPE * Better isolate test cases from each other by providing a fresh context & server for each * Added diagnostic output * Changed assertion to reflect actual behavior on CI * Fixed formatting, observe maximum line length * Fixed formatting, observe maximum line length * Increase timeout to check if this fixes valgrind run * Close server with close_zero_linger * Increase timeout to check if this fixes valgrind run * Increase timeout to check if this fixes valgrind run * Generalize assertion to also work with valgrind * Fixed formatting * Add more diagnostic output * Generalize assertion to also work with valgrind
-
- 30 Dec, 2016 2 commits
-
-
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
-
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.
-
- 12 Oct, 2016 1 commit
-
-
Jens Auer authored
* - Fixed windows build errors - Extended monitor lock scope to prevent race-condition between process_stop and monitor * - Fixed windows build errors - Extended monitor lock scope to prevent race-condition between process_stop and monitor
-
- 11 Oct, 2016 1 commit
-
-
Jens Auer authored
-
- 20 Jun, 2016 1 commit
-
-
KIU Shueng Chuan authored
-
- 04 May, 2016 1 commit
-
-
Doron Somech authored
-
- 09 Feb, 2016 1 commit
-
-
Pieter Hintjens authored
And I'm on a reasonably sized laptop. I think allocating INT_MAX memory is dangerous in a test case. Solution: expose this as a context option. I've used ZMQ_MAX_MSGSZ and documented it and implemented the API. However I don't know how to get the parent context for a socket, so the code in zmq.cpp is still unfinished.
-
- 28 Jan, 2016 1 commit
-
-
Constantin Rack authored
Solution: update to 2016
-
- 27 Jan, 2016 1 commit
-
-
somdoron authored
-
- 17 Dec, 2015 1 commit
-
-
Pieter Hintjens authored
This reverts commit 54799c8c. This change broke the tests/test_shutdown_stress testcase.
-
- 30 Nov, 2015 1 commit
-
-
Charles Stanley authored
-
- 09 Oct, 2015 1 commit
-
-
Charles Stanley authored
-
- 06 Sep, 2015 1 commit
-
-
Constantin Rack authored
-
- 16 Aug, 2015 1 commit
-
-
somdoron authored
-
- 05 Jun, 2015 1 commit
-
-
Richard Newton authored
-
- 02 Jun, 2015 1 commit
-
-
Pieter Hintjens authored
Of course people still "can" distributed the sources under the LGPLv3. However we provide COPYING.LESSER with additional grants. Solution: specify these grants in the header of each source file.
-
- 12 Feb, 2015 2 commits
- 22 Jan, 2015 1 commit
-
-
Pieter Hintjens authored
Solution: update for 2015 Fixes #1320
-
- 09 Jan, 2015 1 commit
-
-
Thomas Rodgers authored
Revert "linking fd to pipe identity via socket option" This reverts commit fe3e8c5c. Conflicts: include/zmq.h src/pipe.hpp src/session_base.cpp
-
- 20 May, 2014 1 commit
-
-
Martin Hurton authored
- add const modifier to address parameter of event generating functions
-
- 30 Apr, 2014 1 commit
-
-
Stoian Ivanov authored
-
- 28 Apr, 2014 1 commit
-
-
Pieter Hintjens authored
Specifically: * zmq_event_t should not be used internally in libzmq, it was meant to be an outward facing structure. * In 4.x, zmq_event_t does not correspond to monitor events, so I removed the structure entirely. * man page for zmq_socket_monitor is incomplete and the example code was particularly nasty. * test_monitor.cpp needed rewriting, it was not clean.
-
- 19 Jan, 2014 2 commits
-
-
Pieter Hintjens authored
- renamed to ZMQ_CONNECT_RID - fixed whitespace malformating around previous patch - renamamed next_peer_id to next_rid in preparation for larger rename of IDENTITY to ROUTING_ID Note: ZMQ_CONNECT_RID has no test case and no entry in the man page, as yet.
-
Tim M authored
Fixed compile issue with missing member of socket_base. Changed ZMQ_NEXT_IDENTITY to ZMQ_NEXT_CONNECT_PEER_ID. Fixed case where ZMQ_NEXT_CONNECT_PEER_ID is used in ROUTER, and ROUTER does not read the identity message from the connected pipe.
-
- 12 Jan, 2014 1 commit
-
-
Martin Hurton authored
The get_credential () member function returns credential for the last peer we received message for. The idea is that this function is used to implement user-level API.
-
- 08 Jan, 2014 1 commit
-
-
Martin Hurton authored
-
- 07 Jan, 2014 1 commit
-
-
Stefan Radomski authored
Also moved the fd field from message content to message itself
-
- 06 Jan, 2014 1 commit
-
-
Stefan Radomski authored
This patch allows client applications to retrieve the remote endpoint from a message that originated from a tcp socket
-
- 02 Jan, 2014 1 commit
-
-
Pieter Hintjens authored
-
- 31 Aug, 2013 1 commit
-
-
Shawn J. Goff authored
icanhasall is cute (for now), but the effect of the variable is clear only after tracking down its origin reading the commit. This change is intended to make it easier for people to have some intuition about its effect from its name.
-
- 18 Aug, 2013 1 commit
-
-
Ian Barber authored
Looks like linger is honoured properly, but shutting down the session causes the pipe termination to come from that side - because the local pipe then shuts down right away it seems to trigger a terminated on the other end instead of waiting. This way we trigger the termination from the local end and then terminate the session.
-
- 29 Jun, 2013 1 commit
-
-
Martin Hurton authored
-
- 06 Jun, 2013 1 commit
-
-
Martin Hurton authored
-
- 12 Mar, 2013 1 commit
-
-
Pieter Hintjens authored
Copyrights had become ads for Sustrik's corporate sponsors, going against the original agreement to share copyrights with the community (that agreement was: one line stating iMatix copyright + one reference to AUTHORS file). The proliferation of corporate ads is also unfair to the many individual authors. I've removed ALL corporate title from the source files so the copyright statements can now be centralized in AUTHORS and source files can be properly updated on an annual basis.
-
- 08 Mar, 2013 1 commit
-
-
Guido Goldstein authored
-
- 04 Dec, 2012 1 commit
-
-
Stefan Radomski authored
- fixes LIBZMQ-476 and LIBZMQ-475
-
- 21 Nov, 2012 1 commit
-
-
Lourens Naudé authored
-
- 17 Nov, 2012 1 commit
-
-
Lourens Naudé authored
Copy monitor specific event endpoints to event messages as the engine etc. can be released at anytime
-