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

4791 Commits

Author SHA1 Message Date
Doron Somech
b3667cccf9 mark zmq_msg new methods as draft 2016-05-03 10:44:00 +03:00
Doron Somech
fcc80d4ffb add draft option to windows configure 2016-05-03 10:18:46 +03:00
Doron Somech
91394d27c7 Merge pull request #1945 from bluca/draft_api
problem: no way to disable draft when compiling
2016-05-03 08:01:37 +03:00
Luca Boccassi
b741350745 Problem: test_pub_invert_matching not ignored
Solution: add it to .gitignore
2016-05-02 22:51:30 +01:00
Luca Boccassi
a782be73ac Problem: no CI tests with DRAFT enabled
Solution: do default test with DRAFT APIs enabled
2016-05-02 22:51:30 +01:00
Luca Boccassi
6de24c190a Problem: scatter/gather are not yet stable APIs
Solution: mark them as DRAFT APIs
2016-05-02 21:47:05 +01:00
Luca Boccassi
caaf66c32c Problem: radio/dish are not yet stable APIs
Solution: mark them as DRAFT APIs
2016-05-02 21:47:05 +01:00
Luca Boccassi
32a1ef85a8 Problem: zmq_timers* are not yet stable APIs
Solution: mark them as DRAFT APIs
2016-05-02 21:47:05 +01:00
Luca Boccassi
738968082b Problem: zmq_poller* are not yet stable APIs
Solution: mark them as DRAFT APIs
2016-05-02 21:47:05 +01:00
Luca Boccassi
7e700f1e73 Problem: client/server are not yet stable APIs
Solution: mark them as DRAFT APIs
2016-05-02 21:47:05 +01:00
Luca Boccassi
064cd1fbfb Problem: no support for DRAFT API in build systems
Solution: add support for --enable-drafts/ENABLE_DRAFTS=ON in
Autools and CMake.
2016-05-02 21:47:05 +01:00
Luca Boccassi
f0a34e0ff5 Problem: test_poller/use_fd_ipc/tcp use draft API
Solution: only use ZMQ_SERVER/CLIENT if the defines are available.
2016-05-02 21:46:47 +01:00
Luca Boccassi
c293618ae8 Problem: testutil.hpp includes platform.hpp last
Solution: before including internal headers, include platform.hpp
so that the build time options are correctly applied to the included
headers.
2016-05-02 20:00:53 +01:00
Luca Boccassi
b469832409 Problem: precompiled.hpp ifdef'd for windows
Solution: include platform.hpp and include/zmq.h outside of ifdef
for windows, in order to be able to use it for internal definitions.
2016-05-02 20:00:53 +01:00
Luca Boccassi
464d3fd3f8 Merge pull request #1944 from hitstergtd/x-testmonitor-fix
Problem: bounce() arguments reversed
2016-05-02 17:26:15 +01:00
Luca Boccassi
b65fc903cd Merge pull request #1943 from hitstergtd/x-style-tunetcpkeepalives-fix
Problem: tune_tcp* related code has style issues
2016-05-02 17:25:48 +01:00
Luca Boccassi
dc81aac195 Merge pull request #1940 from hitstergtd/x-update-autoconf-archive-m4-macros
Problem: autoconf-archive m4 macros out of date
2016-05-02 16:52:09 +01:00
hitstergtd
52871b0f3c Problem: autoconf-archive m4 macros out of date
Solution:
Update them from the latest archive located at:
git://git.savannah.gnu.org/autoconf-archive.git

Hat-tip:
@bluca
2016-05-02 16:12:27 +01:00
Luca Boccassi
a8f756173a Merge pull request #1941 from hitstergtd/x-doc-setsockopt-fix
Problem: zmq_setsockopt(3) man page formatting
2016-05-02 09:23:32 +01:00
hitstergtd
40dbbe342e Problem: bounce() arguments reversed
Solution:
Put them in the right order to quiet Coverity.

Found by:
Coverity Scan
2016-05-01 21:40:08 +01:00
hitstergtd
4809926c10 Problem: zmq_setsockopt(3) man page formatting
Solution:
- Update formatting and remove redundant parts from ZMQ_PROBE_ROUTER,
ZMQ_USE_FD, ZMQ_TCP_MAXRT, ZMQ_TCP_TOS
- Only cosmetic changes to the content
- These changes already merged on api.zeromq.org by me
2016-05-01 20:32:22 +01:00
Luca Boccassi
b3ae7cfa0d Merge pull request #1937 from hitstergtd/test-add-sendiov
Problem: multiple issues with zmq_sendiov/recviov
2016-05-01 20:01:07 +01:00
hitstergtd
e4539778a4 Problem: multiple issues with sendiov/recviov
Solution:
- Add check for the [count] parameter in zmq_sendiov() and zmq_recviov()
- Use and add test for zmq_sendiov() in tests/test_iov.cpp
- Add error state tests for zmq_sendiov() in tests/test_iov.cpp
- Add error state tests for zmq_recviov() in tests/test_iov.cpp
- Cleanup tests/test_iov.cpp for style, consistency and clarity
- Generally improve test coverage for both API methods

Hat-tip:
@somdoron, @bluca
2016-05-01 19:41:50 +01:00
hitstergtd
a31c508979 Problem: tune_tcp* related code has style issues
Solution: fix it
2016-05-01 14:42:27 +01:00
Luca Boccassi
89ef8b38c0 Merge pull request #1938 from hitstergtd/decoder-fix
Problem: style issues in decoder.hpp
2016-05-01 12:30:10 +01:00
hitstergtd
8820e35a56 Problem: style issues in decoder.hpp
Solution: fix it
2016-04-30 21:20:31 +01:00
Luca Boccassi
95acb29bfb Merge pull request #1934 from somdoron/master
problem: no documentation for Radio-dish and UDP
2016-04-29 10:40:56 +01:00
somdoron
fee84134e7 UDP and Radio-dish documentation 2016-04-29 12:17:17 +03:00
somdoron
34d5028ea8 allow specify binding address on radio with udp 2016-04-29 12:17:17 +03:00
Doron Somech
9ec9c4ad0c Merge pull request #1933 from sappo/master
Problem: relicense statement from imatix is in the wrong place
2016-04-29 11:50:59 +03:00
Kevin Sapper
a1ee5e3136 Problem: relicense statement from imatix is in the wrong place
Solution: move the statement to the folder introduced in commit:
dd51cad082923a5973cdaff9c0418e5ab28de763
2016-04-29 09:47:39 +02:00
Kevin Sapper
5264a9afce Merge pull request #1917 from hintjens/master
Problem: need to collect grants to relicense under MPLv2
2016-04-29 09:39:23 +02:00
Kevin Sapper
c1155fad71 Merge pull request #1925 from ewen-naos-nz/ewen_mcneill_relicense_naos
Naos Ltd license grant/quitclaim
2016-04-29 09:38:56 +02:00
Kevin Sapper
f64c8429b9 Merge pull request #1924 from ewen-naos-nz/ewen_mcneill_relicense_readme
RELICENSE: Start collecting MPLv2 license grants
2016-04-29 09:38:18 +02:00
Doron Somech
f7cf246373 Merge pull request #1932 from hitstergtd/doxygen-libzmq
Problem: libzmq lacks a good doxygen config
2016-04-29 09:36:20 +03:00
hitstergtd
f950f2ba69 Problem: No default doxygen cfg for ZeroMQ project
Solution:
- Add Doxygen.cfg file to make it simpler for library users and interested
parties to view library internals/externals
- Add README.doxygen.md as an Overview for Doxygen-generated documentation

Notes:
This could later be added into CI for autogenerated documentation that could be
posted to the gh-pages branch.
2016-04-28 14:14:38 +01:00
Luca Boccassi
6712f6dd01 Merge pull request #1931 from hitstergtd/unistd-fix
Problem: unistd.h redundantly included twice
2016-04-27 11:15:14 +01:00
Ewen McNeill
e604bbcc13 RELICENSE: Link to 0MQ Licensing page 2016-04-27 20:27:09 +12:00
Doron Somech
3df0a4f7e4 Merge pull request #1929 from hitstergtd/autotools-fix
Problem: test_pub_invert_matching missing in autotools build
2016-04-26 19:01:36 +03:00
hitstergtd
9218441f97 Problem: unistd.h redundantly included twice
Solution: fix it
2016-04-26 16:57:30 +01:00
hitstergtd
876ee5d6b4 Problem: test_pub_invert_matching missing in autotools build
Solution:
- add it to Makefile.am
2016-04-26 16:29:06 +01:00
Doron Somech
4b3199fefa Merge pull request #1927 from hitstergtd/codespell-fixes
Problem: tune_tcp_keepalives signature more than 80 chars on a line
2016-04-25 16:02:11 +03:00
Luca Boccassi
af82d0641c Merge pull request #1926 from hitstergtd/codespell-fixes
Problem: typos and trailing whitespace in code/comments
2016-04-25 13:44:47 +01:00
hitstergtd
d3c800a237 Problem: tune_tcp_keepalives signature >80 chars
Solution: fix it
2016-04-25 13:43:10 +01:00
hitstergtd
b2d0ab18f2 Problem: trailing whitespace in code
Solution: fix them
2016-04-25 12:18:46 +01:00
hitstergtd
11311f9776 Problem: trailing spaces in code comments
Solution: fix them
2016-04-25 11:18:49 +01:00
hitstergtd
a4b426b18e Problem: typos/trailing spaces in code comments
Solution: fix them
2016-04-25 11:16:26 +01:00
Ewen McNeill
0e5ea0c8f0 RELICENSE: Naos Ltd MPLv2 grant 2016-04-25 11:28:04 +12:00
Ewen McNeill
dd51cad082 RELICENSE: Start collecting MPLv2 license grants 2016-04-25 11:24:50 +12:00
Luca Boccassi
7b9005a7a1 Merge pull request #1923 from hitstergtd/testxpubmanual-msvc-fix
Problem: XPUB test broken since #1566 on Windows
2016-04-24 17:04:40 +01:00
hitstergtd
8872809337 Problem: XPUB test broken since #1566 on Windows
Solution:
- Adjust test_xpub_proxy_unsubscribe_disconnect() to support different
  protocol types
- Exclude the IPC tests on Windows and OpenVMS

H/T: @somdoron
2016-04-24 16:56:06 +01:00
Constantin Rack
fb015569a2 Merge pull request #1921 from somdoron/master
problem: no way to detect in czmq if timers class available
2016-04-24 11:32:53 +02:00
somdoron
9798f74d17 add have timers define to detect if timers class available 2016-04-24 12:30:35 +03:00
Pieter Hintjens
a4d219c07a Problem: need to collect grants to relicense under MPLv2
Solution: kick off process with grant from iMatix
2016-04-24 08:23:24 +02:00
Luca Boccassi
230df282bd Merge pull request #1920 from somdoron/master
problem: Tests are failing on windows
2016-04-23 20:42:27 +01:00
Doron Somech
0655ed2e0e fix test unbind wildcard 2016-04-23 22:30:10 +03:00
Doron Somech
0934bc784d fix test term endpoint 2016-04-23 22:30:09 +03:00
Hitster GTD
6f1dc64ff3 Merge pull request #1919 from bluca/xpub_test_logic
Problem: assertion in test_xpub_manual is swapped
2016-04-23 18:29:48 +01:00
Luca Boccassi
a93600309f Problem: assertion in test_xpub_manual is swapped
Solution: check that both pointers passed as arguments to
test_missing_subscription are non-NULL, instead of the opposite.
2016-04-23 18:16:49 +01:00
Doron Somech
dd038ae38e Merge pull request #1918 from hitstergtd/hitstergtd-testxpubmanual-win
Problem: XPUB test broken on Windows since #1569
2016-04-23 18:46:15 +03:00
hitstergtd
ff02862171 Problem: XPUB test broken on Windows since #1569
Solution:
- Adjust test_subscriptions() to support different protocol types
- Run TCP and IPC tests everywhere but on Windows and OpenVMS
2016-04-23 16:18:38 +01:00
Luca Boccassi
4ae62dfc29 Merge pull request #1916 from linville/master
Fix unresolved external symbols for gather and scatter classes on MSVC 2010-2015.
2016-04-23 00:43:41 +01:00
Aaron Linville
a57fd70844 Fix issue with unresolved external symbols for the gather and scatter classes by adding them to the MSVC 2010, 2012, 2013 and 2015 projects. 2016-04-22 19:26:55 -04:00
Constantin Rack
ad4e091a5a Merge pull request #1915 from hitstergtd/checkproto-windows-fix
Problem: Windows IPC check broken (check_protocol)
2016-04-22 21:24:07 +02:00
hitstergtd
7feb1e49fc Problem: Windows IPC check broken (check_protocol)
Solution: Fix the preprocessor check from || to &&
2016-04-22 19:55:08 +01:00
Doron Somech
0ece425dca Merge pull request #1914 from hitstergtd/clang-testfiles-fix
Problem: LD search path warnings if using Clang
2016-04-22 15:37:48 +03:00
hitstergtd
7f0e380c05 Problem: LD search path warnings if using Clang
Solution: PR #1906 did not solve this problem properly; subsequent Travis CI
indicated that the issue happens with Clang/LLVM, so make sure to fix the
issue by detecting if Cmake CMake is using Clang for building the tests.
2016-04-21 22:32:15 +01:00
Hitster GTD
23e42526eb Merge pull request #1913 from bluca/ipc_windows
Problem: test_ipc_wildcard is ran on Windows
2016-04-21 14:39:13 +01:00
Luca Boccassi
5178251587 Problem: test_ipc_wildcard is ran on Windows
Solution: move it to the unix-only section of Makefile.am and
tests/CMakeLists.txt since it uses Unix IPC sockets.
2016-04-21 14:17:10 +01:00
Doron Somech
d6a57ad589 Merge pull request #1912 from hitstergtd/hitstergtd-testsrcfd-win-fix
Problem: ZMQ_SRCFD test does not work on Windows
2016-04-21 15:38:05 +03:00
hitstergtd
e8aeb3686d Problem: ZMQ_SRCFD test does not work on Windows
Solution: add Winsock specific assertions, since getpeername() should will
return SOCKET_ERROR (-1) and WSAGetLastError() will be set to WSAENOTSOCK
2016-04-21 13:24:02 +01:00
Hitster GTD
99763cce41 Merge pull request #1909 from somdoron/master
problem: push-pull socket types are not thread safe
2016-04-21 12:54:04 +01:00
somdoron
e6dae56c6e Scatter-Gather socket types 2016-04-21 14:50:58 +03:00
Constantin Rack
fae3a4e02a Merge pull request #1911 from somdoron/FixUDPWindows 2016-04-21 13:18:57 +02:00
Doron Somech
bf50f9fe75 Merge pull request #1910 from bluca/tipc
Problem: CMake CI does not run make test, and there is no checking for TIPC
2016-04-21 14:05:46 +03:00
Doron Somech
87e455f59b Fix UDP failing on windows 2016-04-21 14:00:02 +03:00
Luca Boccassi
a117c1f48d Problem: Travis CI CMake build does not run tests
Solution: add make test to the cmake/ci_build.sh script
2016-04-21 11:35:43 +01:00
Luca Boccassi
ea294afd8b Problem: CMake does not check for TIPC support
Solution: add macro in ZMQSourceRunChecks.cmake and optionally
include the TIPC sources if the support is available.
More importantly, only run the TIPC tests if the support is there.
2016-04-21 11:33:20 +01:00
Luca Boccassi
317499edae Merge pull request #1906 from hitstergtd/hitstergtd-cmake-tests-os-fix
Problem: Linker search path warnings on OS X
2016-04-19 13:00:32 +01:00
hitstergtd
846b2ba174 Problem: Linker search path warnings on OS X
Problem:
A per-test Linker search path was added in commit a911fa4 to CMakeLists.txt as
part of fixing Windows builds. Whilst this is silently ignored by ld(1) on
Linux, it doesn't settle well with OS X. Spurious warnings are generated about
missing directories leading to convoluted build logs.

Solution:
Make per-Test LINK_DIRECTORIES() conditional for non-Apple platforms.
2016-04-19 12:38:16 +01:00
Constantin Rack
136870f298 Merge pull request #1902 from bluca/zmq_unbind_api_breakage 2016-04-18 20:21:02 +02:00
Luca Boccassi
c8211bf320 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-18 18:43:36 +01:00
Luca Boccassi
58c4e7e6b6 Problem: IPv6 is disabled on Travis Precise/Trusty
Solution: add one test run in a docket container environment, which
is currently the only environment where it's possibile to bind a
socket to ::1.
2016-04-18 18:43:36 +01:00
Luca Boccassi
ac0e97e5dc 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-18 18:43:36 +01:00
Luca Boccassi
8d49650ac8 Merge pull request #1901 from hitstergtd/hitstergtd-testcmake-fix
Problem: comment not well formed in CMakeLists.txt
2016-04-18 16:44:03 +01:00
hitstergtd
e09eb0db6f Problem: comment not well formed in CMakeLists.txt
Solution: fix comment
2016-04-18 16:33:34 +01:00
Luca Boccassi
1d083a33fd Merge pull request #1900 from hitstergtd/hitstergtd-testudp-fix
Problem: test_udp does not release resources properly
2016-04-18 15:21:35 +01:00
hitstergtd
9a9bfb6443 Problem: test_udp does not release resources properly
Solution:
- call zmq_msg_close() if there is an error
- call free() to release resources if there is an error (CWE-404)
2016-04-18 14:44:54 +01:00
Constantin Rack
c354e0b371 Merge pull request #1898 from hitstergtd/checkprotocol-fixes-1
Problem: check_protocol() logic duplicated twice and needs cleanup
2016-04-15 19:48:59 +02:00
hitstergtd
8cb27316fa Problem: check_protocol() logic duplicated twice
Problem:
Conditional logic in check_protocol() that checks if a protocol is supported,
is duplicated twice. Moreover, the first set of checks to ascertain if a
protocol is supported is done regardless of whether the particular protocol
will be built into the library or not.

Solution:
* Simplify/collapse all supported protocol checks into one in check_protocol()
* Enclose pgm/epgm/norm socket+protocol match checks with requisite macros
2016-04-15 15:39:46 +01:00
Joe Eli McIlvain
a670e81e73 Merge pull request #1897 from hitstergtd/udp-errno-fix
Problem: errno not set if UDP is NOT used with ZMQ_RADIO or ZMQ_DISH
2016-04-14 17:29:18 -07:00
hitstergtd
362377948e Problem: errno not set if UDP is NOT used with ZMQ_RADIO or ZMQ_DISH
Solution: set errno to ENOCOMPATPROTO in check_protocol()
2016-04-15 01:23:34 +01:00
Luca Boccassi
c2a1be5c15 Merge pull request #1896 from hitstergtd/macosx-testfixes-1
Problem: Running Linux-only tests results in 10% of tests failing on non-Linux systems (OSX, et. al.)
2016-04-15 00:33:31 +01:00
hitstergtd
307bd952bc Make all Linux-specific tests conditional
Move tests specific to Linux under a platform conditional thereby eliminating
unnecessary builds and fixing "make test" on Mac OS X and possibly other
non-Linux systems.

Tests specific to Linux:
    - abstract namespace support for AF_UNIX sockets
    - TIPC support (AF_TIPC)

Test success rate jumps from 90% to 100% on Mac OS X after this change.
2016-04-14 23:44:17 +01:00
Constantin Rack
8c88297e63 Merge pull request #1895 from hitstergtd/libzmq-docfixes-2
Fix typos similar to #1894
2016-04-14 22:16:27 +02:00
hitstergtd
a17389eeb0 Fix typos similar to #1894 2016-04-14 21:10:12 +01:00
Constantin Rack
6a7eb2fbc1 Merge pull request #1894 from hitstergtd/libzmq-docfixes-1
Fix typo
2016-04-14 22:05:24 +02:00
hitstergtd
6c3129286d Fix typo 2016-04-14 21:02:53 +01:00
Constantin Rack
3f77cf5a2f Merge pull request #1892 from bluca/solaris_fixes 2016-04-13 05:18:12 +02:00
Constantin Rack
f6f89a84d9 Merge pull request #1893 from paddor/master 2016-04-13 05:16:07 +02:00