- 10 Mar, 2018 2 commits
-
-
Luca Boccassi authored
Solution: commit clang-format-diff
-
Manuel Segura authored
* Problem: Still need to port over more files to VxWorks 6.x Solution: Port more files to VxWorks 6.x * Problem: Need to port over remaining files to VxWorks 6.x. Also remove POSIX thread dependency for VxWorks (because of priority inversion problem in POSIX mutexes with VxWorks 6.x processes) Solution: Port over remaining files to VxWorks 6.x. Also removed POSIX thread dependency for VxWorks * Problem: Needed to modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x. Solution: Modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x
-
- 07 Mar, 2018 1 commit
-
-
Pontus.Skoeldstroem authored
* Tests for different TIPC address types and code cleanup * Adds tests for binding/connecting with different TIPC address types using Unity * Adds error checking for address type misuse
-
- 06 Mar, 2018 1 commit
-
-
Simon Giesecke authored
Solution: extracted common code into do_getsockopt/do_setsockopt functions
-
- 05 Mar, 2018 2 commits
-
-
Luca Boccassi authored
Solution: run make clang-format-diff and commit the changes.
-
Stefan Kaes authored
The zero copy decoding strategy implemented for 4.2.0 can lead to a large increase of main memory usage in some cases (I have seen one program go up to 40G from 10G after upgrading from 4.1.4). This commit adds a new option to contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old decoding strategy.
-
- 08 Feb, 2018 3 commits
-
-
Simon Giesecke authored
* Problem: race conditions for options.linger Solution: make options.linger atomic
-
sigiesec authored
Solution: use simpler operations, construct std::string only once
-
sigiesec authored
Solution: replaced by assertion
-
- 02 Feb, 2018 1 commit
-
-
sigiesec authored
Solution: applied clang-format
-
- 29 Dec, 2017 1 commit
-
-
Bill Torpey authored
prevent duplicate connections from PUB sockets also (see https://github.com/zeromq/libzmq/issues/788)
-
- 22 Oct, 2017 1 commit
-
-
Simon Giesecke authored
Solution: use std::map::emplace instead, where available
-
- 21 Oct, 2017 1 commit
-
-
Simon Giesecke authored
* Problem: excessive memory allocations around blob_t Solution: redefine blob_t as a custom type, and use reference/move semantics where possible
-
- 09 Oct, 2017 2 commits
-
-
Luca Boccassi authored
Solution: fix it
-
Luca Boccassi authored
Solution: wrap bitwise ANDs in brackets as the static analyzer suggests
-
- 19 Sep, 2017 2 commits
-
-
sigiesec authored
Solution: replace by "routing id"
-
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.
-
- 07 Sep, 2017 1 commit
-
-
Doron Somech authored
-
- 06 Sep, 2017 1 commit
-
-
sigiesec authored
Solution: replace by "routing id"
-
- 01 Sep, 2017 2 commits
-
-
Luca Boccassi authored
Solution: wrap arguments with LIBZMQ_UNUSED
-
sigiesec authored
Solution: add initial implementation
-
- 18 Aug, 2017 1 commit
-
-
sigiesec authored
Solution: redesign ZMQ_HANDSHAKE_FAILED_* events, introduce new class of ZMQ_HANDSHAKE_FAILED_AUTH events
-
- 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
-
- 01 May, 2017 1 commit
-
-
Luca Boccassi authored
Solution: fix TCP endpoint parsing to allow tcp://127.0.0.1:*;127.0.0.1:1000
-
- 27 Mar, 2017 2 commits
-
-
Thomas Braun authored
Solution: Use the appropriate assertion macro.
-
Thomas Braun authored
Solution: Pass (std::nothrow) as done in all other places.
-
- 24 Feb, 2017 2 commits
-
-
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.
-
Reza Ebrahimi authored
indention Revert "indention" This reverts commit a6e7e192ac2d089ac9f7dc0d31d4b1fd10de982e. indention indention Fix Failure in tests Check both pipe full and pipe close
-
- 03 Feb, 2017 1 commit
-
-
Luca Boccassi authored
Solution: in the address validator accept an endpoint that starts with :, eg: ::ffff:192.168.0.1:12345 as it's a valid mapped address.
-
- 11 Jan, 2017 1 commit
-
-
laplaceyang authored
Solution: where change pipe hwm, send a command (new type pipe_hwm) to peer, so peer pipe can modify hwm thread-safely
-
- 10 Jan, 2017 1 commit
-
-
Luca Boccassi authored
Solution: revert change from #2299 to avoid bugs while we look for an alternative and thread-safe solution
-
- 09 Jan, 2017 1 commit
-
-
laplaceyang authored
-
- 03 Jan, 2017 1 commit
-
-
Patrik Wenger authored
-
- 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
-
- 17 Sep, 2016 2 commits
-
-
Luca Boccassi authored
Solution: allow for '[' character when doing the basic sanity check on the TCP endpoint. Also add unit tests for both IPv4 and IPv6 source;dest format.
-
Constantin Rack authored
Solution: replace tabes with spaces
-
- 04 Sep, 2016 1 commit
-
-
a4z authored
Solution: Add a scope that scopegurad unlocks the mutex before the object instance deletes itself and wants to unlock a locked mutex
-