3908 Commits

Author SHA1 Message Date
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
Armin Burgmeier
1b06a5025d Update NEWS to mention fixed issue 1542 2016-06-03 20:43:13 -07:00
Matt Bolger
783fb45f9d -Set signaler_port to 0 which allows the OS to find a free port, rather than crashing if 5905 is in use (https://github.com/zeromq/libzmq/issues/1542)
-Added config.hpp to the source list so it shows up in generated projects
-Remove CMAKE_BUILD_TYPE setting for generators that don't use it
2016-06-03 19:20:33 -07:00
KIU Shueng Chuan
ca69183592 fix: sockets are not signed int on Windows 2016-05-09 21:31:09 +08:00
Pieter Hintjens
56b71af22d Merge pull request #121 from bluca/builds_make_dist
Problem: missing files in release tarballs
2016-05-04 12:46:47 +02:00
Luca Boccassi
6bbc6b67f6 Update NEWS for fix #1952 2016-05-04 11:38:25 +01:00
Luca Boccassi
c369d9bd36 Problem: doc/Makefile.am ignores --without-docs
Solution: add the document files to the MAN_DOC and MAN_HTML targets
in doc/Makefile.am only if BUILD_DOC and INSTALL_MAN are set,
otherwise leave the targets empty to avoid errors in make distcheck.
2016-05-04 11:29:46 +01:00
Pieter Hintjens
4dd6257d93 Problem: source packages lack makefiles for all systems except msvc
Solution: specify the necessary EXTRA_DIST

I added a Makefile.am in builds that covers all systems except msvc,
which already has a Makefile.am that does this.

Fixes #1505
2016-05-04 11:25:35 +01:00
Min RK
3ad076a7a3 Merge pull request #118 from bluca/zmq_unbind_api_breakage
Problem: can't unbind with bound addr with IPv6
2016-04-21 12:03:17 +02:00
Luca Boccassi
81c9c498ee Update NEWS for fix #114 2016-04-21 10:52:35 +01:00
Luca Boccassi
0af39a443f Problem: can't unbind with bound addr with IPv6
Solution: try to resolve the TCP endpoint passed by the user in the
zmq_unbind call before giving up, if it doesn't match.
This fixes a breakage in the API, where after a call to
zmq_bind(s, "tcp://127.0.0.1:9999") with IPv6 enabled on s would
result in the call to zmq_unbind(s, "tcp://127.0.0.1:9999") failing.
Add more test cases to increase coverage on all combinations of TCP
endpoints.
2016-04-21 10:52:11 +01:00
Luca Boccassi
1586f3f25e Problem: can't test if IPv6 is available in tests
Solution: add helper function is_ipv6_available to testutil.hpp to
test if IPv6 is available on the building platform.
This function will try to open and bind a socket to ::1:*, as it's
the ultimate way of knowing if, at least on the loopback, IPv6 is
enabled.
2016-04-21 10:52:11 +01:00
Pieter Hintjens
b315d610b8 Merge pull request #119 from hitstergtd/fix-NEWS-for-pr-1877
Problem: No NEWS entry for Issue #919
2016-04-20 19:12:30 +02:00
hitstergtd
2018743b4e Problem: No NEWS entry for Issue #919
Solution: add entry and mark it as related to Issue #1877 and PR #1511
2016-04-20 08:59:43 +01:00
Constantin Rack
dd077bc2b2 Merge pull request #117 from bluca/solaris_fixes
Problem: build broken on Solaris 10
2016-04-13 22:56:53 +02:00
Luca Boccassi
e488df7892 Update NEWS for fix #1866 2016-04-13 00:22:22 +01:00
Luca Boccassi
02d71a88ab Problem: missing () after sizeof cause build fail
Solution: use sizeof () to avoid build failure on Solaris 10 with
gcc 3.4
2016-04-13 00:14:25 +01:00
Luca Boccassi
b2eddf9746 Problem: -lssp causes build failure on Solaris
Solution: add -lssp on Solaris only when libsodium is enabled and has
been found. Also disable pedantic and Werror, as libsodium headers
use pragma diagnostic which are not available in gcc 3.4.
2016-04-13 00:14:25 +01:00
Luca Boccassi
3945f27f6d Problem: pragma diagnostic is new in GCC 4.2
Solution: check for GCC version before using pragma diagnostic
in tweetnacl to avoid an additional warning.
2016-04-12 23:52:34 +01:00
Constantin Rack
71050259f7 Merge pull request #116 from bluca/ipv6_downgrade 2016-04-07 18:30:13 +02:00
Luca Boccassi
6d92d263e1 Update NEWS for fix #1887 2016-04-07 17:11:06 +01:00
Luca Boccassi
1a1abe3d5e Problem: redundant Windows errno conversion
Solution: in the Windows-specific ifdef in tcp_listener set_address,
check for error and set errno only after the IPv4 fallback has failed
too, to avoid setting errno when the socket creation succeeds through
the fallback.
2016-04-07 14:16:35 +01:00
Luca Boccassi
1e87d92527 Problem: zmq_connect (TCP) has no IPv4 fallback
Solution: if opening an IPv6 TCP socket fails because IPv6 is not
available, try to open an IPv4 socket instead when creating and
connecting a TCP endpoint.
2016-04-07 14:16:35 +01:00
Luca Boccassi
82aed1dee6 Problem: zmq_bind IPv4 fallback still tries IPv6
Solution: if opening an IPv6 TCP socket fails because IPv6 is not
available, try to open an IPv4 socket instead when creating and
binding a TCP endpoint.
2016-04-07 14:15:29 +01:00
Pieter Hintjens
197a9e05e2 Merge pull request #115 from bluca/linger_fix_backport
Problem: connection might terminate prematurely
2016-03-30 19:41:34 +02:00
Luca Boccassi
cf0dcd2379 Problem: NEWS not up to date with bug fixes
Solution: mention closing issue #1877
2016-03-30 18:11:57 +01:00
Soren Hansen
bf92026527 Avoid terminating connections prematurely
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.
2016-03-30 17:04:48 +01:00
Constantin Rack
d8732929d5 Merge pull request #112 from hintjens/master 2016-03-15 07:02:50 +01:00
Pieter Hintjens
bbe4f3ede4 Problem: does not build on Windows with libsodium
Solution: fixed wrong condition around randombytes_close ().
2016-03-15 06:26:34 +01:00