0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-28 07:58:14 +08:00

2957 Commits

Author SHA1 Message Date
Luca Boccassi
56f04aa383 Revert "THREAD PRIORITY option documentation"
This reverts commit 630f991bfafe93b847ae1894c1db8fb9502ad5db.
2016-06-17 16:11:44 +01:00
Luca Boccassi
55b0c0d54c Bump version to 4.0.9 for next release 2016-06-17 12:39:51 +01:00
Luca Boccassi
463ce1d026 Finalize NEWS and bump ABI to 4:1:0 for 4.0.8 v4.0.8 2016-06-17 11:34:00 +01:00
Constantin Rack
38cbc1ad5f Merge pull request #158 from bluca/backport_tempnam
Problem: tempnam is deprecated and insecure
2016-06-09 19:10:17 +02:00
Luca Boccassi
effc448cc1 Update NEWS for fix #139 2016-06-09 15:15:58 +01:00
Pieter Hintjens
0c332648f8 Fixed wildcard IPC endpoint and added test case
Conflicts:
    .gitignore
    tests/Makefile.am
2016-06-09 15:10:53 +01:00
Pieter Hintjens
840feef1c3 Fixed use of deprecated tempnam 2016-06-09 15:01:29 +01:00
Pieter Hintjens
1a7a44998b Merge pull request #157 from bluca/travis_deploy
Problem: Deploying release artifacts is a manual process
2016-06-08 22:47:17 +02:00
Kevin Sapper
45c46c7af3 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 19:20:25 +02:00
Luca Boccassi
e1577f21dd Problem: Travis CI does not run make distcheck
Solution: do it
2016-06-04 18:52:07 +02:00
Luca Boccassi
b2a2291373 Problem: make dist does not tar up macros.hpp
Solution: add it to Makefile.am file list
2016-06-04 18:52:07 +02:00
Luca Boccassi
2cee1e37f9 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-06-04 18:52:07 +02:00
Min RK
462e9625f7 Merge pull request #154 from hitstergtd/fix-NEWS-for-pr-1877
Problem: No NEWS entry for Issue #919
2016-04-20 11:12:55 +02:00
hitstergtd
2460b118c9 Problem: No NEWS entry for Issue #919
Solution: add entry and mark it as related to Issue #1877 and PR #1511
2016-04-20 09:04:08 +01:00
Constantin Rack
3a5075c59f Merge pull request #153 from bluca/solaris_fixes
Problem: build broken on Solaris 10
2016-04-13 22:57:04 +02:00
Luca Boccassi
fd1eb583c3 Update NEWS for fix #98 2016-04-12 23:41:56 +01:00
Luca Boccassi
9c749078b1 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-12 23:21:47 +01:00
Luca Boccassi
422b19654e Problem: no newline at end of zmq.cpp, gcc warn
Solution: add it to avoid warning on Solaris 10
2016-04-12 22:34:12 +01:00
Constantin Rack
dc5e6e568a Merge pull request #152 from bluca/ipv6_downgrade 2016-04-07 18:30:02 +02:00
Luca Boccassi
8cddc9122b Update NEWS for fix #1887 2016-04-07 17:11:48 +01:00
Luca Boccassi
0c66618e40 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:31:37 +01:00
Luca Boccassi
6892b7b60d 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:31:37 +01:00
Luca Boccassi
792ee7690e 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:17:16 +01:00
Pieter Hintjens
284c743814 Merge pull request #151 from bluca/lingex_fix_backport
Problem: connection might terminate prematurely
2016-03-30 19:41:45 +02:00
Luca Boccassi
ee8ba67ff5 Problem: NEWS not up to date with bug fixes
Solution: mention closing issue #1877
2016-03-30 18:11:29 +01:00
Soren Hansen
8f1b6f5872 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:01:35 +01:00
Pieter Hintjens
42c6ffdc1d Merge pull request #150 from bluca/uninitialised_sockopt
Problem: curve keys getsockopt uninitialised read
2016-02-16 16:14:05 +01:00
Luca Boccassi
5002674fbe Problem: my name is not in the AUTHORS file
Solution: add myself to the list
2016-02-16 14:11:53 +00:00
Luca Boccassi
fdb9c7e035 Problem: NEWS not up to date with bug fixes
Solution: mention issues 1806 and 1807
2016-02-16 14:11:38 +00:00
Luca Boccassi
453b4ce596 Problem: Travis CI uses libsodium unstable branch
Solution: use stable branch instead of the development branch, and
also clone with --depth 1 to make it more efficient.
2016-02-16 14:11:21 +00:00
Luca Boccassi
6e1424349b Problem: curve keys getsockopt uninitialised read
Solution: always initialised zmq::options_t class variables arrays to
avoid reading uninitialised data when CURVE is not yet configured and
a getsockopt ZMQ_CURVE_{SERVER | PUBLIC | SECRET]KEY is issued.

Backport from libzmq.
2016-02-16 14:11:00 +00:00
Pieter Hintjens
1b95e5fead Merge pull request #149 from bluca/gcc6
Problem: build broken with gcc 6
2016-02-12 23:37:52 +01:00
meox
aafdcc8d2e [PATCH] fix error with gcc 5.2 2016-02-12 22:19:51 +00:00
Pieter Hintjens
36b4990e14 Merge pull request #147 from greenjava/master
Fixed errors with CMake 3.4 and VisualStudio 2015
2016-02-04 09:18:16 +01:00
Julien Waechter
c421799fb2 Fixed build with CMake >=3.4.x
Since CMake 3.4.x, in set_target_properties macro, COMPILE_FLAGS with space generate errors (version.rc.res is not generated)
2016-02-04 01:00:15 +01:00
Richard Newton
44588ab730 Update cmake to support Visual Studio 2015 2016-02-03 23:00:56 +01:00
Sergei Nikulov
2ab2cb6028 cmake: fixed error 'install TARGETS given no ARCHIVE DESTINATION for static library target' 2016-02-03 22:39:53 +01:00
Pieter Hintjens
055de7fb7a Merge pull request #146 from jcfr/backport-fix-gcc-warnings
Style: Backport fix gcc warnings
2016-01-30 16:16:52 +01:00
Pieter Hintjens
21b5e4b283 Merge pull request #145 from jcfr/backport-FindAsciiDoc-fix-CMP0053-warning
FindAsciiDoc: fix CMP0053 warning with cmake 3.1
2016-01-30 16:15:53 +01:00
Jean-Christophe Fillion-Robin
d2687e75b6 Fix unused parameter and variable warnings.
Backported from zeromq/libzmq@00aeadd

It fixes the following warnings:

8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
In file included from /path/to/src/mechanism.cpp:22:0:
/path/to/src/mechanism.hpp:49:36: warning: unused parameter 'msg_' [-Wunused-parameter]
         virtual int encode (msg_t *msg_) { return 0; }
                                    ^
/path/to/src/mechanism.hpp:51:36: warning: unused parameter 'msg_' [-Wunused-parameter]
         virtual int decode (msg_t *msg_) { return 0; }
                                    ^
/path/to/src/mechanism.cpp:126:51: warning: unused parameter 'name_' [-Wunused-parameter]
 int zmq::mechanism_t::property (const std::string name_,
                                                   ^
/path/to/src/mechanism.cpp:127:45: warning: unused parameter 'value_' [-Wunused-parameter]
                                 const void *value_, size_t length_)
                                             ^
/path/to/src/mechanism.cpp:127:60: warning: unused parameter 'length_' [-Wunused-parameter]
                                 const void *value_, size_t length_)
                                                            ^

/path/to/src/mechanism.cpp:127:60: warning: unused parameter 'length_' [-Wunused-parameter]
                                 const void *value_, size_t length_)
                                                            ^

In file included from /path/to/src/pipe.cpp:28:0:
/path/to/src/ypipe_conflate.hpp: In instantiation of 'bool zmq::ypipe_conflate_t<T, N>::unwrite(T*) [with T = zmq::msg_t; int N = 256]':
/path/to/src/pipe.cpp:489:1:   required from here
/path/to/src/ypipe_conflate.hpp:73:33: warning: unused parameter 'value_' [-Wunused-parameter]
         inline bool unwrite (T *value_)
                                 ^

/path/to/src/zmq_utils.cpp:178:30: warning: unused parameter 'z85_public_key' [-Wunused-parameter]
 int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key)
                              ^
/path/to/src/zmq_utils.cpp:178:52: warning: unused parameter 'z85_secret_key' [-Wunused-parameter]
 int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key)
                                                    ^

/path/to/tests/test_hwm.cpp:205:57: warning: unused parameter 'recv_hwm' [-Wunused-parameter]
 int test_inproc_bind_and_close_first (int send_hwm, int recv_hwm)
                                                         ^
[ 69%] Linking CXX executable bin/test_connect_resolve
/path/to/tests/test_disconnect_inproc.cpp:31:14: warning: unused parameter 'argc' [-Wunused-parameter]
 int main(int argc, char** argv) {
              ^
/path/to/tests/test_disconnect_inproc.cpp:31:27: warning: unused parameter 'argv' [-Wunused-parameter]
 int main(int argc, char** argv) {
                           ^

/path/to/tests/test_stream.cpp:39:81: warning: missing initializer for member 'zmtp_greeting_t::as_server' [-Wmissing-field-initializers]
     = { { 0xFF, 0, 0, 0, 0, 0, 0, 0, 1, 0x7F }, { 3, 0 }, { 'N', 'U', 'L', 'L'} };
                                                                                 ^
/path/to/tests/test_stream.cpp:39:81: warning: missing initializer for member 'zmtp_greeting_t::filler' [-Wmissing-field-initializers]
8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

# Conflicts:
#	src/stream.cpp
#	src/stream_engine.cpp
#	tests/test_stream_disconnect_notifications.cpp
2016-01-30 04:13:39 -05:00
Jean-Christophe Fillion-Robin
4055bbb01f Problem: Private/internal macros defined in public header.
Solution: Move the macros to a private header.

Backported from zeromq/libzmq@3341942

# Conflicts:
#	include/zmq.h
#	src/address.cpp
#	src/client.cpp
#	src/server.cpp
#	src/socks_connecter.cpp
#	src/zmq.cpp
2016-01-30 03:52:24 -05:00
Jean-Christophe Fillion-Robin
300d80ffe9 rename ZMQ_UNUSED macro to LIBZMQ_UNUSED
Backported from zeromq/libzmq@63260d8

# Conflicts:
#	include/zmq.h
#	src/client.cpp
#	src/server.cpp
2016-01-30 03:46:46 -05:00
Jean-Christophe Fillion-Robin
9df7ed0740 place a ZMQ_UNUSED macro and replace all unused variables with ZMQ_UNUSED macro
Backported from zeromq/libzmq@bff2284

# Conflicts:
#	src/client.cpp
#	src/server.cpp
2016-01-30 03:42:29 -05:00
Jean-Christophe Fillion-Robin
b690bdf148 FindAsciiDoc: fix CMP0053 warning with cmake 3.1
Backported from zeromq/libzmq@032c5ed

This commit fixes the following warnings:

8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
CMake Warning (dev) at builds/cmake/Modules/FindAsciiDoc.cmake:9 (find_program):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For input:

    '$ENV{PROGRAMFILES(X86)}/asciidoc'

  the old evaluation rules produce:

    '/asciidoc'

  but the new evaluation rules produce an error:

    Syntax error in cmake code at
      /path/to/builds/cmake/Modules/FindAsciiDoc.cmake:13
    when parsing string
      $ENV{PROGRAMFILES(X86)}/asciidoc
    Invalid character ('(') in a variable name: 'PROGRAMFILES'

  Using the old result for compatibility since the policy is not set.
Call Stack (most recent call first):
  CMakeLists.txt:193 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

and

8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
CMake Warning (dev) at builds/cmake/Modules/FindAsciiDoc.cmake:15 (find_program):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For input:

    '$ENV{PROGRAMFILES(X86)}/asciidoc'

  the old evaluation rules produce:

    '/asciidoc'

  but the new evaluation rules produce an error:

    Syntax error in cmake code at
      /path/to/builds/cmake/Modules/FindAsciiDoc.cmake:19
    when parsing string
      $ENV{PROGRAMFILES(X86)}/asciidoc
    Invalid character ('(') in a variable name: 'PROGRAMFILES'

  Using the old result for compatibility since the policy is not set.
Call Stack (most recent call first):
  CMakeLists.txt:193 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
2016-01-30 03:16:22 -05:00
Constantin Rack
1206dc46cb Merge pull request #144 from jcfr/patch-1
README: Add hyperlinks to explicitly reference reposistories
2016-01-30 08:11:39 +01:00
Jean-Christophe Fillion-Robin
5ade781283 README: Add hyperlinks to explicitly reference reposistories 2016-01-30 01:58:49 -05:00
Pieter Hintjens
e1ebeadd05 Merge pull request #142 from pothosware/master
Fixes for visual studio
2016-01-23 11:48:14 +01:00
Josh Blum
43b9d9d619 Fix C linkage for public symbols MSVC
The header symbols are declared extern "C",
however the the implementations are compiled in a C++ source.
The result is that the library symbols get C++ name mangled
and the resulting dll is missing all of the symbols from the header.
The fix was to add extern "C" in zmq.cpp and zmq_utils.cpp
2016-01-23 01:25:01 -08:00
Josh Blum
27a3f2aa92 Fix static library name overlap under MSVC
The static library was given the same OUTPUT_NAME as the dynamic library.
This leads to one library's build products overwriting the other.
The fix sets the name "libzmq-static" for the static library.
2016-01-23 01:21:29 -08:00
Pieter Hintjens
f080815487 Merge pull request #137 from bluca/ci-container-build
Enable container-based build
2015-08-17 13:07:44 +02:00