Luca Boccassi
374da4207b
Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions
...
Solution: move them from DRAFT to STABLE since it's been in a public
release, committed for 6+ months and has not changed.
2018-03-21 16:45:41 +00:00
Luca Boccassi
a4b74a7b05
Problem: ZMQ_ZERO_COPY_RCV not marked as DRAFT in docs
...
Solution: update manpages
2018-03-21 16:45:41 +00:00
Luca Boccassi
6411c4a247
Problem: ZMQ_MSG_T_SIZE has met STABLE conditions
...
Solution: move it from DRAFT to STABLE since it's been in a public
release, committed for 6+ months and has not changed.
Given a new STABLE symbol has been added, bump minor version number.
2018-03-21 16:45:41 +00:00
Simon Giesecke
7fb3bdd59a
Merge pull request #3013 from bluca/newver
...
Problem: 4.2.4 is out, version is out of date
2018-03-21 17:17:35 +01:00
Luca Boccassi
f0378bfbf7
Problem: 4.2.4 is out, version is out of date
...
Solution: bump to 4.2.5
2018-03-21 16:03:49 +00:00
Luca Boccassi
44f7158b29
Finalise changelog for 4.2.4
v4.2.4
2018-03-21 15:45:59 +00:00
Luca Boccassi
4efc2bf44e
Problem: no mention of #2942 in NEWS
...
Solution: add it
2018-03-21 15:45:59 +00:00
Luca Boccassi
45681798b7
Merge pull request #3011 from sigiesec/migrate-to-unity
...
Migrate test_reqrep_tcp to unity
2018-03-21 15:43:26 +00:00
Simon Giesecke
84a3767d61
Problem: open TODO comment regarding explicit zmq_disconnect/zmq_unbind
...
Solution: replaced by a comment explaining why the calls are in the test
2018-03-21 16:28:10 +01:00
Simon Giesecke
786a8d48d5
Problem: code duplication in test_reqrep_tcp
...
Solution: extracted make_connect_address
2018-03-21 15:09:23 +01:00
Simon Giesecke
8372797cc3
Problem: code duplication in test_reqrep_tcp
...
Solution: extracted bind_loopback
2018-03-21 15:09:22 +01:00
Simon Giesecke
c84c3a525a
Problem: test_reqrep_tcp not yet using unity
...
Solution: migrate to unity
2018-03-21 15:09:19 +01:00
Constantin Rack
15b3dccf47
Merge pull request #3009 from bluca/newver
...
Problem: NEWS out of date
2018-03-20 20:21:18 +01:00
Luca Boccassi
780813c4e7
Problem: NEWS out of date
...
Solution: note new features, APIs and major user-visible bug fixes
2018-03-20 19:18:43 +00:00
Luca Boccassi
a415ede398
Merge pull request #3008 from eponsko/master
...
Problem: Unnecessary errno_assert
2018-03-20 13:46:30 +00:00
Pontus Sköldström
6a5af3dae6
Removed unnecessary errno_assert
2018-03-20 14:35:24 +01:00
Luca Boccassi
9d3efcb030
Merge pull request #3002 from eponsko/master
...
Problem: ZMQ_DISH over UDP triggers errno_assert() after hitting wate…
2018-03-19 18:06:13 +00:00
Pontus Sköldström
65a9670065
Problem: ZMQ_DISH over UDP triggers errno_assert() after hitting watermark
2018-03-19 17:46:48 +01:00
Simon Giesecke
e49a861f7c
Merge pull request #3001 from bluca/sodium_global_init
...
Problem: global random init/deinit breaks existing applications
2018-03-19 17:25:33 +01:00
Luca Boccassi
8f5fc705e4
Problem: global random init/deinit breaks existing applications
...
Solution: restrict it only to the original issue #2632 , Tweetnacl on
*NIX when using /dev/urandom, ie: without the new Linux getrandom()
syscall.
Existing applications might use atexit to register cleanup functions
(like CZMQ does), and the current change as-is imposes an ordering
that did not exist before - the context MUST be created BEFORE
registering the cleanup with atexit. This is a backward incompatible
change that is reported to cause aborts in some applications.
Although libsodium's documentation says that its initialisation APIs
is not thread-safe, nobody has ever reported an issue with it, so
avoiding the global init/deinit in the libsodium case is the less
risky option we have.
Tweetnacl users on Windows and on Linux with getrandom (glibc 2.25 and
Linux kernel 3.17) are not affected by the original issue.
Fixes #2991
2018-03-19 15:47:07 +00:00
Luca Boccassi
4d9fc8066f
Merge pull request #2999 from sigiesec/migrate-to-unity
...
Migrate further tests to unity
2018-03-16 17:14:12 +00:00
Simon Giesecke
6d89635f9a
Problem: test_udp not using unity
...
Solution: migrate to unity, merge into test_radio_dish, and split up test cases
2018-03-16 17:03:45 +01:00
Simon Giesecke
dc2764f58c
Problem: test_last_endpoint not using unity
...
Solution: migrate to unity
2018-03-16 16:35:31 +01:00
Simon Giesecke
1747cbdcac
Problem: test_immediate not using unity
...
Solution: migrate to unity, and split test cases
2018-03-16 15:46:39 +01:00
Simon Giesecke
6f8b604648
Problem: test_radio_dish not using unity
...
Solution: migrate to unity, and split test cases
2018-03-16 15:22:14 +01:00
Simon Giesecke
cdc298f567
Problem: bind_loopback_ipv4 not reusable
...
Solution: Moved bind_loopback_ipv4 to testutil_unity to allow for reuse
2018-03-16 15:21:39 +01:00
Doron Somech
8d0d4c76ee
Merge pull request #2998 from kachanovskiy/master
...
Fix for #2997
2018-03-16 13:54:02 +02:00
Kachanovskiy
eb76ea06bd
Fix for #2997
2018-03-16 12:48:00 +01:00
Luca Boccassi
9079cf8ed4
Merge pull request #2995 from eponsko/master
...
Problem: Documentation missing for ZMQ_METADATA socket option
2018-03-15 16:55:26 +00:00
Luca Boccassi
4cb15ec638
Merge pull request #2994 from sigiesec/migrate-to-unity
...
Migrate further tests to unity, and split up into individual test cases
2018-03-15 16:55:05 +00:00
Pontus Sköldström
57422c7df1
Problem: Documentation missing for ZMQ_METADATA socket option
2018-03-15 17:24:54 +01:00
Simon Giesecke
7bd57ba83b
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:34 +01:00
Simon Giesecke
3e374d98f1
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:33 +01:00
Simon Giesecke
eb0307a9a6
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:32 +01:00
Simon Giesecke
10dae6e830
Problem: test_poller not using unity
...
Solution: migrate to unity, and split test cases
2018-03-15 16:43:30 +01:00
Simon Giesecke
991b2336e4
Problem: test_thread_safe not using unity
...
Solution: migrate to unity, and split test cases
2018-03-15 16:43:27 +01:00
Simon Giesecke
5d32828bbf
Problem: test_reconnect_ivl not using unity
...
Solution: migrate to unity, and reduce code duplication
2018-03-15 16:43:26 +01:00
Luca Boccassi
e388774737
Merge pull request #2981 from eponsko/master
...
Problem: no support for ZMTP 3.1 application metadata
2018-03-15 12:57:40 +00:00
Simon Giesecke
1e217ac063
Problem: unity built with unnecessary float but without command line argument support
...
Solution: add appropriate definitions to build
2018-03-15 11:28:50 +01:00
Simon Giesecke
f92cdf9470
Problem: test_ctx_destroy not using unity, and mixing test cases
...
Solution: migrate to unit and split up test cases
2018-03-15 10:58:56 +01:00
Luca Boccassi
b2e50d9d03
Merge pull request #2992 from sigiesec/migrate-to-unity
...
Migrate more tests to unity
2018-03-14 23:04:53 +00:00
Simon Giesecke
fa89fb8639
Problem: Makefile.am missing unity dependencies
...
Solution: add unity dependencies/flags
2018-03-14 22:40:24 +01:00
Simon Giesecke
9553a1f33e
Problem: test_connect_resolve not yet using unity
...
Solution: migrate to unity
2018-03-14 22:40:24 +01:00
Simon Giesecke
6f9459e3fb
Migrate tests/test_conflate.cpp to unity
2018-03-14 19:05:19 +01:00
Simon Giesecke
d318c95bc2
Problem: different aspects mixed in one test case
...
Solution: split up test case
2018-03-14 18:59:36 +01:00
Simon Giesecke
dbcd42c58d
Migrate tests/test_client_server.cpp to unity
2018-03-14 18:45:26 +01:00
Simon Giesecke
0114572ce6
Migrate tests/test_bind_src_address.cpp to unity
2018-03-14 18:45:25 +01:00
Simon Giesecke
be33dce68e
Migrate tests/test_bind_after_connect_tcp.cpp to unity
2018-03-14 18:45:25 +01:00
Simon Giesecke
631de94563
Problem: test_router_hangover not yet using unity
...
Solution: migrate to unity
2018-03-14 15:09:13 +01:00
Luca Boccassi
59516ed51a
Merge pull request #2990 from sigiesec/migrate-to-unity
...
Problem: test assertion failures do not clean up properly
2018-03-14 13:25:02 +00:00
Pontus Sköldström
dd5eec35be
Support application metadata through ZMQ_METADATA
...
Lets the application set per-connection metadata.
Metadata is specified as "X-key:value" and set using zmq_setsockopt, eg:
zmq_setsockopt (s, ZMQ_METADATA, "X-key:value", 11);
The peer can then obtain the metadata from a received message:
char *data = zmq_msg_gets(msg, "X-key");
2018-03-14 12:56:15 +01:00
Simon Giesecke
59157f0e2f
Problem: missing guidelines on proper test cleanup
...
Solution: add guidelines to tests/README.md
2018-03-14 12:26:06 +01:00
Simon Giesecke
9e3932b46b
Problem: test assertion failures do not clean up properly
...
Solution: provide test_context and manage sockets of test_context via setup and teardown
2018-03-14 12:24:21 +01:00
Luca Boccassi
df03bf4825
Merge pull request #2987 from sigiesec/migrate-to-unity
...
Migrate further tests (test_hwm, test_router_mandatory) to unity
2018-03-14 08:14:34 +00:00
Simon Giesecke
c602361836
Problem: debug output in CMake file
...
Solution: removed
2018-03-14 08:22:23 +01:00
Simon Giesecke
437e9f4f59
Problem: tests readme outdated
...
Solution: fixed description for building tests, added references to unity and unittests
2018-03-14 08:22:23 +01:00
Simon Giesecke
ae558706bf
Problem: test_hwm and test_router_mandatory not yet using unity
...
Solution: migrate to unity
2018-03-14 08:22:23 +01:00
Luca Boccassi
c9437ab755
Merge pull request #2986 from wittmeie/ws/fix-for-windows-imported-target
...
Missing IMPORTED_LOCATION_<CONFIG>property for shared-library import-targets (see zeromq/libzmq#2985 )
2018-03-12 15:41:10 +00:00
Luca Boccassi
d2293da6e5
Merge pull request #2983 from tonytheodore/master
...
Fixes for mingw cross-compilation
2018-03-12 14:00:39 +00:00
Steffen Wittmeier
79d9f2ba1e
Fixes missing IMPORTED_LOCATION in import-target
2018-03-12 13:38:46 +01:00
Tony Theodore
c7876c097f
Problem: mingw static/shared builds have different preprocessor defines
...
Solution: remove objects optimisation in library build (similar to #2860 )
and set PUBLIC compile definitions on all static builds instead of MSVC
only.
2018-03-12 21:56:37 +11:00
Sergey Kachanovskiy
9c748f1bf1
Partial fix for issue 2963, removed invalid casts from fd_t to int ( #2984 )
...
* Fixes issue 2963, ref stream_engine.cpp:981
* Fixes issue 2963, ref socks_connecter.cpp:158
* Fixes issue 2963, ref tcp_listener.cpp:144
* Fixes issue 2963, ref tcp_connecter.cpp:423
* Fixes issue 2963, ref socks_connecter.cpp:436
* Fixes issue 2963, ref tcp_listener.cpp:179
* Fixes issue 2963, ref tcp_listener.cpp:268
* Fixes issue 2963, ref tcp_connecter.cpp:160
2018-03-12 11:55:58 +01:00
Tony Theodore
794d7a3143
Problem: certain windows header files are actually lowercase
...
Solution: change case of `WinSock2.h Iphlpapi.h Rpc.h` to match the
files on disk. This is only noticeable when cross-compiling from a
case-sensitive system so wouldn't get picked up in MSVC or mingw
builds running on a windows machine.
MSDN uses capitalised versions in prose and lowercase in code examples:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms737629(v=vs.85).aspx
Fixes #2978 , the missing library message is a little misleading.
2018-03-12 20:19:27 +11:00
Constantin Rack
7bce4ffbc7
Merge pull request #2982 from bluca/formattweetnacl
...
Problem: formatting issues in CI
2018-03-11 19:07:23 +01:00
Luca Boccassi
8d544ef1c4
Problem: formatting issues in the CI
...
Solution: commit clang-format-diff
2018-03-10 12:44:27 +00:00
Luca Boccassi
fef99d6c50
Problem: tweetnacl is external code and clang-format parses it
...
Solution: add pragma to make clang-format ignore the external code
2018-03-10 12:43:34 +00:00
Manuel Segura
4726f7262d
Pull request to merge porting to WindRiver VxWorks 6.x ( #2966 )
...
* Problem: Still need to port over more files to VxWorks 6.x
Solution: Port more files to VxWorks 6.x
* Problem: Need to port over remaining files to VxWorks 6.x. Also remove POSIX thread dependency for VxWorks (because of priority inversion problem in POSIX mutexes with VxWorks 6.x processes)
Solution: Port over remaining files to VxWorks 6.x. Also removed POSIX thread dependency for VxWorks
* Problem: Needed to modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x.
Solution: Modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x
2018-03-10 11:03:02 +00:00
Simon Giesecke
0d23b5ca69
Merge pull request #2980 from kachanovskiy/master
...
Fixed issue #2979
2018-03-09 22:45:16 +01:00
Kachanovskiy
90342e0d29
Fixed issue #2979
2018-03-09 22:24:23 +01:00
Luca Boccassi
19060345e4
Problem: TIPC availability check is too strict ( #2977 )
...
* Problem: TIPC availability check is too strict
Solution: at build time only check if the API is available. In the tests
do a first check and a skip if the functionality is not available.
TIPC needs an in-tree but not loaded by default kernel module, tipc.ko
to be loaded, which requires root, so it is unlikely to be available on
any build system by default.
This will allow most distributions to ship with TIPC support built in,
and to avoid tests failure if the module is not there.
* Problem: no Travis tests for TIPC
Solution: mark one job with sudo: required and load the kernel module
* Problem: CMake fails when test returns 77 (skip)
Solution: set property to let it mark the test as skipped as intended
2018-03-09 17:47:42 +01:00
Pontus.Skoeldstroem
7abb8388d6
Problem: Tests for different TIPC address types missing ( #2956 )
...
* Tests for different TIPC address types and code cleanup
* Adds tests for binding/connecting with different TIPC address types
using Unity
* Adds error checking for address type misuse
2018-03-07 17:31:26 +00:00
Luca Boccassi
40c6c1a7c9
Merge pull request #2976 from zeromq/revert-2974-static_init_gcc
...
Revert "Problem: mis-detection of threadsafe_static_init causes test failures"
2018-03-07 15:18:16 +00:00
Simon Giesecke
cef9cfa091
Revert "Problem: mis-detection of threadsafe_static_init causes test failures"
2018-03-07 15:03:07 +01:00
Constantin Rack
0c6c935726
Merge pull request #2974 from bluca/static_init_gcc
...
Problem: mis-detection of threadsafe_static_init causes test failures
2018-03-07 07:51:38 +01:00
Luca Boccassi
9bd2d3f937
Problem: mis-detection of threadsafe_static_init causes test failures
...
Solution: do not rely __cplusplus >= 201103L to detect whether the
compiler supports thread safe static initialisation, but check only
the proper feature preprocessor macro.
GCC introduced it in version 8, and Clang in version 6.
2018-03-06 23:11:03 +00:00
Constantin Rack
677efea238
Merge pull request #2973 from bluca/deb7
...
Problem: build broken with gcc-4.7
2018-03-06 22:55:07 +01:00
Luca Boccassi
e0b1992dd7
Problem: build broken with gcc-4.7
...
Solution: initialise variable in options.cpp to dummy value to fix
compiler complaint:
src/options.cpp: In function
'int zmq::do_setsockopt_int_as_bool_strict(const void*, size_t, bool*)':
src/options.cpp:121:5: error: 'value' may be used uninitialized in
this function [-Werror=maybe-uninitialized]
src/options.cpp: In function
'int zmq::do_setsockopt_int_as_bool_relaxed(const void*, size_t, bool*)':
src/options.cpp:135:31: error: 'value' may be used uninitialized in
this function [-Werror=maybe-uninitialized]
2018-03-06 20:29:47 +00:00
Luca Boccassi
ec58ba04f3
Merge pull request #2972 from sigiesec/reduce-sockopt-code-duplication
...
Problem: code duplication in getsockopt/setsockopt
2018-03-06 20:08:46 +00:00
Simon Giesecke
6f967c3a13
Problem: code duplication in getsockopt/setsockopt
...
Solution: extracted common code into do_getsockopt/do_setsockopt functions
2018-03-06 16:41:30 +01:00
Luca Boccassi
10d2b2885e
Merge pull request #2971 from ZMQers/fix-static-init
...
Problem: static initialization order fiasco
2018-03-06 09:18:52 +00:00
Constantin Rack
494c2a71f8
Merge pull request #2970 from bluca/format
...
Problem: CI check for format fails
2018-03-06 00:18:17 +01:00
Luca Boccassi
c36d8cb8e4
Problem: PR template does not mention clang-format
...
Solution: add paragraph explaining how to run it to make sure code is
correctly formatted.
2018-03-05 22:47:40 +00:00
Luca Boccassi
541ca30d8e
Problem: make clang-format still shows error in the CI
...
Solution: run make clang-format-diff and commit the changes.
2018-03-05 22:41:11 +00:00
Luca Boccassi
4ea1e78d9d
Merge pull request #2969 from skaes/master
...
Problem: enormous memory increase due to zero copy decoding
2018-03-05 17:40:33 +00:00
Stefan Kaes
fcbd2a5710
Problem: enormous memory increase due to zero copy decoding
...
The zero copy decoding strategy implemented for 4.2.0 can lead to a large
increase of main memory usage in some cases (I have seen one program go up to
40G from 10G after upgrading from 4.1.4). This commit adds a new option to
contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old
decoding strategy.
2018-03-05 18:13:28 +01:00
Ryan Hileman
3658b2b580
Problem: pthread condvar timeouts are broken ( #2967 )
...
* fix pthread condvar timeouts
This fixes a race condition / hang for threadsafe sockets.
Context: https://github.com/zeromq/czmq/issues/1873#issuecomment-370279244
2018-03-05 16:36:10 +00:00
Simon Giesecke
8cdfc8b9dd
Problem: static initialization order fiasco
...
Solution: use local statics when available in a thread-safe implementation
2018-03-05 16:30:57 +01:00
Luca Boccassi
d54633add1
Merge pull request #2964 from bluca/fix_mtrie_32bit
...
Problem: unittest_mtrie fails on 32bit *nix
2018-03-02 19:06:51 +00:00
Luca Boccassi
23025f44c6
Problem: unittest_mtrie fails on 32bit *nix
...
Solution: correctly dereference pointer in test.
2018-03-02 18:00:17 +00:00
Luca Boccassi
173b54a8c9
Merge pull request #2950 from zeromq/add-unittests-mtrie
...
Problem: no unit tests for mtrie
2018-03-02 17:41:06 +00:00
Simon Giesecke
9cd01bb54f
Problem: inconsistent return values from mtrie_t::rm
...
Solution: Return an enum from rm instead of a bool, and adapt existing uses
2018-03-02 13:42:50 +01:00
Simon Giesecke
36cdcc6c1a
Problem: docs of mtrie referring to subscriptions and pipes
...
Solution: generalized terms to entries/values
2018-03-02 13:42:47 +01:00
Simon Giesecke
e34e03d1a6
Problem: missing test case for addition of duplicate entry
...
Solution: added test case
2018-03-02 13:42:46 +01:00
Luca Boccassi
d57422819a
Problem: documentation for ZMQ_XPUB_VERBOSE(R) is unclear
...
Solultion: clarify that notifications for unique subs/unsubs are always
passed, and these option only affect the behaviour for duplicated ones.
2018-03-02 13:42:45 +01:00
Luca Boccassi
354491ddf2
Problem: no test for ZMQ_XPUB_VERBOSE(R)
...
Solution: add test_xpub_verbose to cover those APIs
2018-03-02 13:42:44 +01:00
Simon Giesecke
5d5def40b5
Problem: casts required due to void* arguments in a C++ class
...
Solution: introduce a type template argument
2018-03-02 13:42:42 +01:00
Simon Giesecke
15b4f596a8
Problem: insufficient unit tests for mtrie
...
Solution: added further test cases
2018-03-02 13:42:41 +01:00
Simon Giesecke
5fb0e97ab7
Problem: semantic issues
...
Solution: added some TODO comments, improved existing documentation
2018-03-02 13:42:31 +01:00
Simon Giesecke
8bb055ece8
Problem: insufficient unit tests for mtrie
...
Solution: added test case, reduced code duplication in tests
2018-03-02 13:40:53 +01:00
Simon Giesecke
0e34d13063
Problem: insufficient unit tests for mtrie
...
Solution: added unit test and assertions
2018-03-02 13:40:50 +01:00