0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-15 02:07:59 +08:00

3936 Commits

Author SHA1 Message Date
Francesco Montorsi
8bdef5807f
Feature: zeromq4-1: integrate with ReadTheDocs (#4619)
* Integrate with RTD
2023-11-02 20:45:07 +00:00
Luca Boccassi
12dede9a13
Finalize NEWS and ABI revision for 4.1.8 v4.1.8 2020-09-02 14:49:51 +01:00
Luca Boccassi
19dadf092e Problem: NEWS does not mention security advisories
Solution: add them
2020-09-02 14:28:18 +01:00
Doron Somech
13d27099e5
Merge pull request #179 from bluca/backport
Backport fixes from libzmq
2020-08-30 07:03:19 +03:00
Luca Boccassi
2fb9c40ca0 Problem: mtrie use of non-tail recursion leads to stack overflow
Solution: convert add and rm functions to iterative algorithms
2020-08-29 22:08:36 +01:00
Luca Boccassi
1a2022fedc Problem: unfinished message can be leaked by client pipe
When a pipe processes a delimiter and is already not in active state but still
has an unfinished message, the message is leaked.

Solution: issue a rollback before losing the reference to the pipe.
(cherry picked from commit 6815138501b9f2a69e807bc3527d93583e633233)

Conflicts:
	src/pipe.cpp
2020-08-29 18:25:58 +01:00
Luca Boccassi
7006df0ac1 Problem: test_security_zap occasionally segfaults
Solution: check if a session's _pipe has been allocated before using
it, since as a consequence of creating the pipes after the handshake
it's no longer guaranteed to be there.

(cherry picked from commit 350b4b34f460b91b8fa8f692cf6bc30d561a5711)

Conflicts:
	src/session_base.cpp
2020-08-29 18:20:31 +01:00
Doron Somech
03ebd39d1f problem: zeromq connects peer before handshake is completed
Solution: delay connecting the peer pipe until the handshake is completed
(cherry picked from commit e7f0090b161ce6344f6bd35009816a925c070b09)

Conflicts:
	src/i_engine.hpp
	src/norm_engine.hpp
	src/pgm_receiver.hpp
	src/pgm_sender.hpp
	src/raw_engine.cpp
	src/session_base.cpp
	src/session_base.hpp
	src/stream_engine_base.cpp
	src/stream_engine_base.hpp
	src/udp_engine.hpp
	src/ws_engine.cpp
	src/zmtp_engine.cpp
	tests/test_mock_pub_sub.cpp
2020-08-29 18:18:29 +01:00
Luca Boccassi
c9894a493d Finalize NEWS and bump ABI revision for 4.1.7 v4.1.7 2019-07-08 17:03:58 +01:00
Doron Somech
e3049f3da9
Merge pull request #176 from bluca/news
CVE-2019-13132
2019-07-08 19:03:08 +03:00
Luca Boccassi
4f4c4d5598 Problem: latest fixes missing from NEWS
Solution: add them
2019-07-05 15:31:35 +01:00
Luca Boccassi
1a9f3b1851 Problem: application metadata not parsed correctly when using CURVE
Solution: create buffers large enough to contain arbitrary metadata
2019-07-02 22:28:51 +01:00
Luca Boccassi
a3f98304da Merge pull request #171 from bluca/travis
Problems: no news for last change, Travis failures
2017-09-23 10:29:45 +01:00
Luca Boccassi
2a2079ef31 Problem: doc build not tested in travis
Solution: install asciidoc and xmlto to run it
2017-09-15 15:42:53 +01:00
Luca Boccassi
159b511b6c Problem: travis OSX job does not set ulimit
Solution: do it, as it's still needed for OSX
2017-09-15 15:42:53 +01:00
Luca Boccassi
63ed586aec Problem: travis job fails due to unsupported ulimit setting
Solution: remove it
2017-09-15 15:39:36 +01:00
Luca Boccassi
90586290a7 Problem: travis job uses custom build path
Solution: remove it, dependencies are in the standard path
2017-09-15 15:39:36 +01:00
Luca Boccassi
6d57807dd0 Problem: travis old brew workaround still in place
Solution: remove it as it's useless now
2017-09-15 15:39:36 +01:00
Luca Boccassi
99e027a152 Problem: travis builds libsodium from scratch everytime
Solution: use packages/brew
2017-09-15 15:39:36 +01:00
Luca Boccassi
448cc73f92 Update NEWS for #164 2017-09-15 15:30:56 +01:00
Luca Boccassi
3c3547a432 Merge pull request #170 from MarkMartinec/master
Add error code EHOSTDOWN to the list of acceptable error codes.
2017-09-14 15:17:58 +02:00
Mark Martinec
78edebb34c Added error code EHOSTDOWN to the list of acceptable error codes.
Fixes #164 (EHOSTDOWN from getsockopt must not cause assertion abort;
            causes SaltStack crashes)
2017-09-14 14:47:33 +02:00
Doron Somech
ebc1d60cf1 Merge pull request #169 from bluca/news
Update NEWS for #2623
2017-07-21 15:34:55 +03:00
Luca Boccassi
eb9e67d5a0 Update NEWS for #2623 2017-07-21 10:57:28 +01:00
Luca Boccassi
b7d9ee5b95 Merge pull request #168 from msune/master
Fix ROUTER's xhas_out() in MANDATORY mode
2017-07-21 10:48:53 +01:00
Marc Sune
10694373e3 Fix ROUTER's xhas_out() in MANDATORY mode
Before this commit, xhas_out() was returning true regardless. This
was correct before the ZMQ_ROUTER_MANDATORY flag as introduced.
However, ZMQ_POLLOUT.

With this commit, _if_ ZMQ_ROUTER_MANDATORY is set, xhas_out() will
return false if ALL peer's outgoing pipes are full.

There is an outstanding high-level design question:

If ZMQ_ROUTER_MANDATORY is set, and zmq_poll() waits for ZMQ_POLLOUT
events, zmq_poll() will immediately wake up if only 1 pipe has
room to send, regardless of the peer, creating a busy loop of
zmq_poll() wake-up, zmq_send() (EAGAIN). There is no way for
the application to selectively wait for ZMQ_POLLOUT for specific
peer(s), which seems somehow necessary in ZMQ_ROUTER_MANDATORY.

This discussion will be addressed in a separate issue.

Signed-off-by: Marc Sune <marc@voltanet.io>
Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2017-07-21 11:21:32 +02:00
Luca Boccassi
44c56a8e09 Merge pull request #166 from pijyoi/master
Problem: pubsub inproc bug not backported
2017-04-07 09:11:41 +01:00
Martin Hurton
e67f935f3a Fix issue #1257 2017-04-07 09:06:48 +08:00
Luca Boccassi
742e303c0d Merge pull request #163 from chutz/fix-divide-by-zero
fix divide by zero in zmq::lb_t::sendpipe
2017-01-28 01:30:00 +00:00
Patrick McLean
b5e25e9f12 fix divide by zero in zmq::lb_t::sendpipe
This is based on https://github.com/zeromq/zeromq3-x/pull/116/files
2017-01-27 17:08:00 -08:00
Constantin Rack
5853120c1f Merge pull request #161 from bluca/news
Update NEWS for #2254
2016-12-15 18:30:45 +01:00
Luca Boccassi
8432d7060f Update NEWS for #2254 2016-12-15 15:27:49 +00:00
Luca Boccassi
4191141fee Merge pull request #160 from laplaceyang/pr_zmq4_pub_with_zmtp_v1_sub
fix bug zmq4.1.x PUB msg to ZMTP 1.0 SUB svr
2016-12-15 16:26:21 +01:00
laplaceyang
e4e6af1876 fix bug zmq4.1.x PUB msg to ZMTP 1.0 SUB svr 2016-12-15 22:55:19 +08:00
Constantin Rack
d23c22cf88 Merge pull request #157 from bluca/bump_ver
Problem: 4.1.6 is out, time to bump version
2016-11-14 19:11:43 +01:00
Luca Boccassi
0680cf6f82 Problem: 4.1.6 is out, time to bump version
Solution: increment version in NEWS and include/zmq.h for the next
round.
2016-11-04 13:17:58 +00:00
Doron Somech
f53060ee60 Merge pull request #159 from bluca/mechanism_off_by_one
Problem: socket_type_string off-by-one error
2016-11-04 14:55:54 +02:00
Luca Boccassi
904d0bd8d3 Problem: socket_type_string off-by-one error
Solution: check socket type from 0 to 11 to include ZMQ_STREAM
2016-11-04 12:13:42 +00:00
Constantin Rack
ec95f91e68 Merge pull request #156 from bluca/rel
Problem: need to tag a new release
v4.1.6
2016-11-01 18:15:43 +01:00
Luca Boccassi
ceb72c7e06 Finalize NEWS and bump ABI to 5:2:0 for 4.1.6 2016-11-01 15:58:34 +00:00
Luca Boccassi
b41ef3963b Problem: spec file hard codes .so version
Solution: use wildcard instead
2016-11-01 15:53:56 +00:00
Doron Somech
3ae04f1d3e Merge pull request #155 from bluca/alignment
Problem: pointer union for zmq_msg_t is a hack
2016-11-01 16:48:14 +02:00
Luca Boccassi
fb1ee2b078 Update NEWS for #1325 2016-11-01 13:07:53 +00:00
Luca Boccassi
f2de03a480 Problem: MS VC++ build broken
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.
2016-11-01 13:07:18 +00:00
Luca Boccassi
a077adb4a0 Problem: pointer union for zmq_msg_t is a hack
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.
2016-11-01 13:07:18 +00:00
Luca Boccassi
21e484750e Merge pull request #154 from vielmetti/patch-1
Update INSTALL to note issues with parallel "make -j check"
2016-10-23 20:25:47 +01:00
Edward Vielmetti
dc68d2ef45 Update INSTALL to note issues with parallel "make -j check"
Documentation also patched in libzmq. 

Closes #151 to document non-support for parallel make check.
2016-10-23 15:21:57 -04:00
Luca Boccassi
7302228026 Merge pull request #153 from jens-auer/2158
Fixed function prototypes
2016-10-21 12:40:22 +01:00
Jens Auer
56611dd46b Fixed function prototypes 2016-10-21 12:27:32 +02:00
Constantin Rack
ff8b0aa6ec Merge pull request #150 from bluca/news
Problem: NEWS out of date
2016-10-13 13:13:58 +02:00
Luca Boccassi
5e207100f5 Problem: NEWS out of date
Solution: mention recently backported fixes
2016-10-13 10:48:16 +01:00
Luca Boccassi
cd3680d178 Merge pull request #148 from jens-auer/backport-#1649
Merged PR 1649
2016-10-13 10:37:50 +01:00
Luca Boccassi
107266b77d Merge pull request #149 from jens-auer/2158
Add mutex to socket monitor access
2016-10-13 10:37:37 +01:00
Jens Auer
798532e0c5 Merged PR 1649
https://github.com/zeromq/libzmq/pull/1649/commits
2016-10-13 08:34:04 +00:00
Jens Auer
7aec4be368 Add mutex to socket monitor access
The monitor socket is used concurrently from different threads
and needs protection.
2016-10-13 08:32:20 +00:00
Luca Boccassi
5ea5629451 Merge pull request #147 from WGH-/doc-router-mandatory-block
doc/zmq_socket.txt: clarify that ROUTER can be blocking
2016-10-03 23:54:30 +01:00
WGH
064a8b6766 doc/zmq_socket.txt: clarify that ROUTER can be blocking
Problem: zmq_socket doc doesn't mention that router can block on send

Solution: clarify that it may block, and under which conditions
2016-10-04 00:37:50 +03:00
Constantin Rack
44c1d81506 Merge pull request #146 from bluca/dealer_router_async
Problem: zmq_ctx_term asserts with connect-before-bind and sockets with identity over inproc transport
2016-09-24 21:33:05 +02:00
Luca Boccassi
05f1912b63 Problem: Travis CI OSX builds are broken
Solution: add a workaround to reinstall libtool. Travis hasn't fixed
the issue in a month, so time for a little hack until they sort it.
2016-09-24 19:58:35 +01:00
Luca Boccassi
0527673982 Update NEWS for #2117 2016-09-24 19:48:07 +01:00
Luca Boccassi
d38a2d507d Problem: zmq_ctx_term asserts with connect-before-bind and sockets with identity over inproc transport
Solution: check if the connecting inproc socket has been closed
before trying to send the identity.
Otherwise the pipe will be in waiting_for_delimiter state causing
writes to fail and the connect to assert when the context is being
torn down and the pending inproc connects are resolved.
Add test case that covers this behaviour.
2016-09-24 19:45:54 +01:00
Constantin Rack
89cf62b977 Merge pull request #145 from bluca/ipv6_multi_endpoint
Problem: zmq_connect with IPv6 "source:port;dest:port" format is broken
2016-09-17 21:35:56 +02:00
Luca Boccassi
1a51f726a8 Update NEWS for #2107 2016-09-17 20:04:21 +01:00
Luca Boccassi
acab1f487b Problem: zmq_connect with IPv6 "source:port;dest:port" format is broken
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.
2016-09-17 20:04:21 +01:00
Luca Boccassi
8ddf198256 Problem: test_reqrep_tcp does not have IPv6 tests
Solution: add them
2016-09-17 20:04:21 +01:00
Luca Boccassi
67d60b1909 Problem: test_reqrep_tcp does not test multiple endpoints
Solution: add a test for this use case
2016-09-17 19:46:55 +01:00
Luca Boccassi
9c35093782 Problem: test_reqrep_tcp does not test disconnect/unbind
Solution: add disconnect and unbind calls to the test
2016-09-17 19:46:55 +01:00
Luca Boccassi
7bc7395a2a Problem: test_reqrep_tcp is too limited
Solution: refactor it to allow for multiple functionalities to be
tested
2016-09-17 19:46:13 +01:00
Luca Boccassi
7d11efa0e2 Merge pull request #144 from kou/support-mingw-cross-compile
Support cross compile with MinGW on Linux
2016-09-14 16:16:24 +01:00
Kouhei Sutou
f942303cd5 Support cross compile with MinGW on Linux
Linux uses case sensitive file system. So we can't find "wincrypt.h" by
"WinCrypt.h".
2016-09-14 23:28:46 +09:00
Constantin Rack
3f791bb92b Merge pull request #141 from bluca/cmake_dist
Problem: CMake build from dist tarball broken
2016-09-02 10:16:46 +02:00
Luca Boccassi
60162b5226 Update NEWS for #2096 2016-09-01 13:29:19 +01:00
Luca Boccassi
e00b2c4b08 Problem: CMake build from dist tarball broken
Solution: include src/version.rc.in and tests/CMakeLists.txt in the
make dist tarball by adding them to makefile.am EXTRA_DIST list.
2016-09-01 13:23:09 +01:00
Constantin Rack
aac9e54f8d Merge pull request #140 from bluca/xp_testutils_ipv6
Problem: testutil.hpp fails to build on Windows XP
2016-08-27 18:31:54 +02:00
Luca Boccassi
22680094ca Update NEWS for #2091 2016-08-27 17:15:58 +01:00
Luca Boccassi
328fe09946 Problem: testutil.hpp fails to build on Windows XP
Solution: ifdef is_ipv6_available to always return false if building
on Windows XP, as it doesn't support the needed standard libc
functions
2016-08-27 17:15:09 +01:00
Luca Boccassi
a6d24d7fd8 Merge pull request #137 from gcv/master
Fix alignment problem with zmq_msg_t
2016-08-26 11:37:40 +01:00
Luca Boccassi
aab1edfd7d Merge pull request #139 from t-b/bugfix/fix_compilation_on_windows
Fix compilation on windows
2016-08-22 20:34:25 +01:00
Thomas Braun
b86717dc9a Tests: Fix compilation on Windows
Visual Studio 2015 does grok the preprocessor defintion.
Add an explicit call to defined as done in other places.
2016-08-22 21:26:26 +02:00
Thomas Braun
64dbf56d6e testutil.hpp: Fix include path to windows.hpp 2016-08-22 20:57:01 +02:00
Constantine Vetoshev
2b7b903a85 Fix alignment problem with zmq_msg_t.
Problem occurs on SPARC and ARM CPUs. This commit is a backport of
d9fb1d36ff (from
libzmq), first reported in https://github.com/zeromq/libzmq/issues/1325.
2016-08-16 13:31:46 -07:00
Doron Somech
4732951d05 Merge pull request #136 from GreatFruitOmsk/master
Backport fix libzmq #2084
2016-08-16 11:47:56 +03:00
Ilya Kulakov
727178f1ac Backport fix libzmq #2084 2016-08-16 00:59:42 -07:00
Kevin Sapper
61b8f1a424 Merge pull request #134 from bluca/news
Problem: NEWS out of date
2016-07-26 06:34:39 +00:00
Luca Boccassi
888b1f8649 Update NEWS to mention fixed issue 2051 2016-07-21 10:15:55 +01:00
Luca Boccassi
53c7bcfa5f Merge pull request #133 from garlick/issue_2051
Problem: getifaddrs can fail with ECONNREFUSED
2016-07-20 23:24:24 +01:00
Jim Garlick
565892f3cd Problem: getifaddrs can fail with ECONNREFUSED
getifaddrs() can fail transiently with ECONNREFUSED on Linux.
This has been observed with Linux 3.10 when multiple processes
call zmq::tcp_address_t::resolve_nic_name() simultaneously.

Before asserting in this case, make 10 attempts, with exponential
backoff, given by (1 msec * 2^i), where i is the attempt number.

Fixes #2051
2016-07-20 10:15:55 -07:00
Luca Boccassi
e8116b1f1c Bump version to 4.1.6 for next release 2016-06-17 12:41:42 +01:00
Luca Boccassi
c5bd2870c2 Finalize NEWS and bump ABI to 5:1:0 for 4.1.5 v4.1.5 2016-06-17 12:06:46 +01:00
Kevin Sapper
2ef080588a Merge pull request #127 from bluca/fix_deploy
Problem: Travis deploy token is wrong
2016-06-04 18:32:48 +02:00
Luca Boccassi
7a8a83ba84 Problem: Travis deploy token is wrong
Solution: encrypt it wit the right parameter and fix it
2016-06-04 17:43:45 +02:00
Kevin Sapper
b849af44c5 Merge pull request #126 from bluca/distcheck
Problem: make distcheck is broken and deploying release artifacts is a manual process
2016-06-04 16:46:16 +02:00
Kevin Sapper
3f7c3c2658 Problem: Deploying release artifacts is a manual process Solution: Use travis to deploy these artifacts automatically.
The deployment is triggered by tagging on the zeromq/libzmq repository.
Of the many builds travis is checking only the default one with
libsodium and drafts disabled is used for deployment.

For now the results of `make distcheck` are deployed as well as their
md5 and sha1 hash sums. Further changes may upload a generated
Changelog as well.
2016-06-04 16:37:01 +02:00
Luca Boccassi
81a68d73dd Problem: Travis CI does not run make distcheck
Solution: do it
2016-06-04 16:03:25 +02:00
Pieter Hintjens
6c1851efdb Problem: autotools platform.hpp is not compatible with CMake
Specifically, the poller detection code does not set macros in
platform.hpp. The configure script passed them as -D on the command
line.

Solution: rewrite the poller detection code.
2016-06-04 16:03:25 +02:00
Luca Boccassi
83bf40ee1f Update NEWS for fix #2021 2016-06-04 15:41:57 +02:00
Luca Boccassi
7d540d6dfe Merge pull request #125 from wbx-github/master
allow to build sparc (v8,leon)
2016-06-04 14:34:41 +01:00
Luca Boccassi
330c682403 Merge pull request #124 from aburgm/issue-1542
Backport fix for issue 1542 to zmq 4.1.x
2016-06-04 10:28:56 +01:00
Luca Boccassi
4d613cb890 Merge pull request #122 from pijyoi/master
fix: sockets are not signed int on Windows
2016-06-04 10:28:12 +01:00
Waldemar Brodkorb
d0b22397eb allow to build sparc (v8,leon)
Only set sparcv9 optimization for sparc64 systems.
This allows to run for example application using zeromq
on sparc32 systems.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-06-04 09:37:37 +02:00