- 16 Nov, 2017 1 commit
-
-
Luca Boccassi authored
Solution: remove it
-
- 25 Oct, 2017 1 commit
-
-
f18m authored
Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set.
-
- 24 Oct, 2017 1 commit
-
-
Yann Diorcet authored
-
- 17 Oct, 2017 1 commit
-
-
f18m authored
* Add ZMQ_THREAD_NAME_PREFIX ctx option
-
- 16 Oct, 2017 1 commit
-
-
f18m authored
* Background thread scheduling - add ZMQ_THREAD_AFFINITY ctx option; set all thread scheduling options from the context of the secondary thread instead of using the main process thread context! - change ZMQ_THREAD_PRIORITY to support setting NICE of the background thread when using SCHED_OTHER
-
- 09 Oct, 2017 1 commit
-
-
Luca Boccassi authored
Solution: add ZMQ_ZAP_ENFORCE_DOMAIN to hide backward incompatible change and make it disabled by default. In a future release that breaks API compatibility we can then switch the default to enabled in order to achieve full RFC compatibility. Fixes #2762
-
- 19 Sep, 2017 3 commits
- 07 Sep, 2017 3 commits
-
-
Doron Somech authored
-
sigiesec authored
Solution: Renamed, but support querying the property by its old name
-
sigiesec authored
Solution: renamed routing_id fields in pipe_t, renamed ZMQ_CONNECT_RID to ZMQ_CONNECT_ROUTING_ID
-
- 06 Sep, 2017 1 commit
-
-
sigiesec authored
Solution: replace by "routing id"
-
- 01 Sep, 2017 1 commit
-
-
sigiesec authored
Solution: added test case (with dummy implementation of zmq_socket_get_peer_state)
-
- 19 Aug, 2017 1 commit
-
-
Luca Boccassi authored
Solution: move them together with the other DRAFT socket options, and change value of DRAFT ZMQ_BINDTODEVICE from 90 to 92 to avoid clash
-
- 18 Aug, 2017 3 commits
- 16 Aug, 2017 1 commit
-
-
Min RK authored
uint32_t is used in the draft APIs and undefined on MSC 1500 preventing compilation
-
- 04 Aug, 2017 1 commit
-
-
Simon Giesecke authored
Solution: Define them in zmq.h and use them (currently in DRAFT API)
-
- 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
-
- 31 Jul, 2017 2 commits
-
-
Luca Boccassi authored
Solution: move definition in the DRAFT section of the header
-
Brian Russell authored
Linux now supports Virtual Routing and Forwarding (VRF) as per: https://www.kernel.org/doc/Documentation/networking/vrf.txt In order for an application to bind or connect to a socket with an address in a VRF, they need to first bind the socket to the VRF device: setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev)+1); Note "dev" is the VRF device, eg. VRF "blue", rather than an interface enslaved to the VRF. Add a new socket option, ZMQ_BINDTODEVICE, to bind a socket to a device. In general, if a socket is bound to a device, eg. an interface, only packets received from that particular device are processed by the socket. If device is a VRF device, then subsequent binds/connects to that socket use addresses in the VRF routing table.
-
- 25 Apr, 2017 1 commit
-
-
Jim Garlick authored
Problem: GSSAPI NAMETYPE socket option numbers were modified +1000 when moved to DRAFT section, but should use the definitive values while in DRAFT to minimize disruption later. Solution: renumber the socket options
-
- 24 Apr, 2017 1 commit
-
-
Jim Garlick authored
Problem: The new GSSAPI NAMESPACE options should have been added to the DRAFT section of the API so they can be changed until stabilized. Solution: - Move defines to the DRAFT section of zmq.h - Duplicate them in zmq_draft.h, as is the local custom - Compile only if defined (ZMQ_BUILD_DRAFT_API) - Refactor internals slightly to avoid #ifdef hell
-
- 21 Apr, 2017 1 commit
-
-
Jim Garlick authored
Problem: principals are looked up unconditionally with the GSS_C_NT_HOSTBASED_SERVICE name type. Solution: Add two new socket options to set the name type for ZMQ_GSSAPI_PRINCIPAL and ZMQ_GSSAPI_SERVICE_PRINCIPAL: ZMQ_GSSAPI_PRINCIPAL_NAMETYPE ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE They take an integer argument which must be one of ZMQ_GSSAPI_NT_HOSTBASED (0) - default ZMQ_GSSAPI_NT_USER_NAME (1) ZMQ_GSSAPI_NT_KRB5_PRINCIPAL (2) These correspond to GSSAPI name types of: GSS_C_NT_HOSTBASED_SERVICE GSS_C_NT_USER_NAME GSS_KRB5_NT_PRINCIPAL_NAME Fixes #2542
-
- 26 Mar, 2017 1 commit
-
-
evoskuil authored
-
- 11 Mar, 2017 1 commit
-
-
somdoron authored
solution: deprecate zmq_poll in favor of zmq_poller
-
- 18 Feb, 2017 1 commit
-
-
Luca Boccassi authored
Solution: bump changelog, ABI revision, library and packaging version
-
- 31 Dec, 2016 1 commit
-
-
Luca Boccassi authored
Solution: add new changelog entry, bump library version in zmq.h and bump ABI version in configure.ac and CMakeLists.txt
-
- 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.
-
- 29 Dec, 2016 1 commit
-
-
Luca Boccassi authored
Solution: move it there, add it to src/zmq_draft.h and clarify in the documentation and in the NEWS file that this option is not yet stable
-
- 05 Dec, 2016 1 commit
-
-
Luca Boccassi authored
Solution: restore inclusion of poll.h if using poll before zmq.h as it was originally, as AIX redefines the POSIX structures and provides compatibility macros. Also add alternative aliases for 32 bit AIX's pollitem struct: events -> reqevents revents -> rtnevents
-
- 20 Nov, 2016 1 commit
-
-
Luca Boccassi authored
Solution: add a ZMQ_MSG_T_SIZE context read-only option so that wrappers can call zmq_ctx_get (ctx, ZMQ_MSG_T_SIZE) to get the size at runtime.
-
- 08 Nov, 2016 1 commit
-
-
Luca Boccassi authored
Solution: update NEWS, include/zmq.h and packaging
-
- 01 Nov, 2016 1 commit
-
-
Luca Boccassi authored
Solution: move comment further below to declare new socket options as stable for the 4.2.0 release.
-
- 28 Oct, 2016 2 commits
-
-
Luca Boccassi authored
Solution: try to detect architecture if building with VC++ and hardcode pointer size accordingly. Expressions are not allowed inside declspec intrinsics, which includes other intrinsics.
-
Luca Boccassi authored
Solution: use compiler's alignment attributes instead which is clearer and less of a hack. Pointer alignment violations causing crashes on architectures such as sparc64 and aarch64. This also avoid triggering ABI checkers as the change is compatible even though applications that suffer from the bug should rebuild to take advantage of the fix.
-
- 27 Sep, 2016 1 commit
-
-
Min RK authored
avoids unnecessary heap allocations, races on the number of items
-