Markus Gärtner
aaf88cdfd8
Update vmci_listener.cpp
...
make vmci_listener compile on windows again
2025-08-08 21:03:52 +01:00
Mattias Ellert
3e5ce5c1cd
The tests/test_radio_dish test implements is_multicast_available() to
...
verify that multicast is working on the system before running tests
that relies on this, or skipping those test otherwise.
In some circumstances this check itself hangs due to the recvfrom()
call being blocking waiting for data. The test is eventually killed
with a SIGALARM signal.
./config/test-driver: line 112: 1227308 Alarm clock "$@" >> "$log_file" 2>&1
FAIL: tests/test_radio_dish
FAIL: tests/test_radio_dish
===========================
FAIL tests/test_radio_dish (exit status: 142)
$ tests/test_radio_dish
tests/test_radio_dish.cpp:511:test_leave_unjoined_fails:PASS
tests/test_radio_dish.cpp:512:test_join_too_long_fails:PASS
tests/test_radio_dish.cpp:513:test_long_group:PASS
tests/test_radio_dish.cpp:514:test_join_twice_fails:PASS
tests/test_radio_dish.cpp:515:test_radio_bind_fails_ipv4:PASS
tests/test_radio_dish.cpp:516:test_radio_bind_fails_ipv6:PASS
tests/test_radio_dish.cpp:517:test_dish_connect_fails_ipv4:PASS
tests/test_radio_dish.cpp:518:test_dish_connect_fails_ipv6:PASS
tests/test_radio_dish.cpp:519:test_radio_dish_tcp_poll_ipv4:PASS
tests/test_radio_dish.cpp:520:test_radio_dish_tcp_poll_ipv6:PASS
tests/test_radio_dish.cpp:521:test_radio_dish_udp_ipv4:PASS
tests/test_radio_dish.cpp:522:test_radio_dish_udp_ipv6:PASS
Alarm clock
With this commit, making the recvfrom() call non-blocking. The test
does noy hang, and the non-available multicast is detected and the
tests needing it are skipped:
PASS: tests/test_radio_dish
$ tests/test_radio_dish
tests/test_radio_dish.cpp:510:test_leave_unjoined_fails:PASS
tests/test_radio_dish.cpp:511:test_join_too_long_fails:PASS
tests/test_radio_dish.cpp:512:test_long_group:PASS
tests/test_radio_dish.cpp:513:test_join_twice_fails:PASS
tests/test_radio_dish.cpp:514:test_radio_bind_fails_ipv4:PASS
tests/test_radio_dish.cpp:515:test_radio_bind_fails_ipv6:PASS
tests/test_radio_dish.cpp:516:test_dish_connect_fails_ipv4:PASS
tests/test_radio_dish.cpp:517:test_dish_connect_fails_ipv6:PASS
tests/test_radio_dish.cpp:518:test_radio_dish_tcp_poll_ipv4:PASS
tests/test_radio_dish.cpp:519:test_radio_dish_tcp_poll_ipv6:PASS
tests/test_radio_dish.cpp:520:test_radio_dish_udp_ipv4:PASS
tests/test_radio_dish.cpp:521:test_radio_dish_udp_ipv6:PASS
tests/test_radio_dish.cpp:431:test_radio_dish_mcast_ipv4:IGNORE: No multicast available
tests/test_radio_dish.cpp:431:test_radio_dish_no_loop_ipv4:IGNORE: No multicast available
tests/test_radio_dish.cpp:431:test_radio_dish_mcast_ipv6:IGNORE: No multicast available
tests/test_radio_dish.cpp:431:test_radio_dish_no_loop_ipv6:IGNORE: No multicast available
-----------------------
16 Tests 0 Failures 4 Ignored
OK
2025-06-26 15:20:34 +01:00
Luca Boccassi
dd7369b0a9
Problem: code coverage build fails
...
Solution: add -fprofile-update=atomic and --ignore-errors unused as indicated by log message
geninfo: ERROR: Unexpected negative count '-1' for /usr/include/c++/13/bits/stl_tree.h:2466.
Perhaps you need to compile with '-fprofile-update=atomic
LCOV --remove /tmp/*
lcov: ERROR: 'exclude' pattern '/tmp/*' is unused.
(use "lcov --ignore-errors unused ..." to bypass this error)
2025-06-25 20:15:31 +01:00
Dimitri John Ledkov
f4329c5ec6
cmake: add curve_keygen binary
...
When sodium is enabled, also build curve_keygen binary. This is to
bring cmake builds to parity with autoconf.
Fixes: https://github.com/zeromq/libzmq/issues/4675
2025-06-25 20:04:58 +01:00
Chris Cunningham
dbbd240177
Problem: clang-format CI job fails
...
Solution: update to clang-format-18 and apply diff
Co-authored-by: chris cunningham <crcunningham@users.noreply.github.com>
2025-06-25 19:53:00 +01:00
Min RK
b91a620130
set upper bound in cmake_minimum_required
...
setting an upper bound improves forward-compatibility as legacy version support is dropped
- 3.5 compat is deprecated in 3.27 (2023), removed in 4.0 (2025)
- 3.10 compat is deprecated in 3.31 (2024)
2025-06-24 23:40:59 +01:00
Pim Borman
798a689df1
rename removesection macro to avoid duplicate conflict with nsis3
2025-06-15 12:44:59 +01:00
Stephan Guilloux
c2f7f8ae12
ANDROID: Support NDK r27x.
...
This fix has to be reported in LIBZMQ as well and will fix https://github.com/zeromq/libzmq/issues/4744 .
2025-06-06 11:56:12 +01:00
rp42
34f7fa2202
cmake_minimum_required() before project()
...
* Without this CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded (MT) Windows builds still produced incompatible MultiThreadedDLL (MD) output.
* Resolves following warning:
CMake Warning (dev) at CMakeLists.txt:2 (project):
cmake_minimum_required() should be called prior to this top-level project()
call.
* Use ${CMAKE_HOST_SYSTEM_NAME} as ${CMAKE_SYSTEM_NAME} not set before project().
2024-12-30 17:49:16 +00:00
BtbN
a23330dbe2
Fix compilation with modern compilers
...
Fixes error: jump to label 'try_tcpip' crosses initialization of 'const SOCKET listener'
2024-11-24 23:08:15 +00:00
githejie
60899603a4
Fix example issue of zmq_timers.adoc
2024-11-22 10:28:16 +00:00
Hennadii Stepanov
90b4f410a0
cmake: Refer to prefix
variable in generated libzmq.pc
...
This change:
1. Makes the `libzmq.pc` files generated by Autotools and CMake more
aligned.
2. Allows the `prefix` variable to be redefined if the package is
relocated.
2024-09-24 22:50:30 +02:00
githejie
64db7d28fe
Fix format issue of zmq_socket.adoc
2024-09-06 09:29:24 +02:00
Min RK
1f4dd54f94
Problem: ipc connect can fail on Windows, even after bind ( #4734 )
...
* ipc connect can fail, even after bind
2024-08-26 14:57:23 +01:00
Min RK
0ed7a08cd9
Problem: create_ipc_wildcard_address can fail
...
check and handle failure
2024-08-23 21:54:12 +01:00
Hennadii Stepanov
5f408ba371
Fix CMake-generated libzmq.pc
file
...
This change mirrors the Autotools-based build system behavior for
cross-compiling for Windows with static linking.
2024-08-21 14:38:23 +02:00
githejie
4c6cff6391
Problem: CI build android on ubuntu-latest failed
...
Solution: Fixed the NDK version to android-ndk-r25 to
avoid using unsupported NDK version on ubuntu-latest.
2024-08-16 11:08:03 +02:00
BtbN
b71434140e
Fix reading cycle count on non-msvc win-on-aarch64
2024-08-11 11:54:21 +02:00
Luca Boccassi
6aaafe0135
Merge pull request #4721 from githejie/reconnect_options
...
Fix issue with ZMQ_RECONNECT_STOP_AFTER_DISCONNECT option
2024-08-11 11:51:07 +02:00
githejie
ce17349f8b
Problem: tests reconnect_stop_after_disconnect failed
...
Solution: this test failed because "_disconnected" is not initialized
in constructor, and the behavior of reconnect will not be as designed
when "_disconnected" is randomly assigned to true.
So we specify it as false in initialize list to solve this problem.
2024-08-10 00:10:31 +08:00
githejie
aa77c03a37
Add tests for sockopt ZMQ_RECONNECT_STOP_AFTER_DISCONNECT
2024-08-10 00:10:25 +08:00
githejie
b95d94935e
Problem: macos-latest with libsodium compilation failed
...
Solution: Add libsodium dependencies to Makefile.am file.
2024-08-02 11:43:23 +02:00
Alexander Stefanov
59c91227b4
use proper STREQUAL instead of EQUAL to compare strings
2024-07-27 10:08:24 +01:00
fanquake
ee29bcd64a
problem: trying to link against librt on macOS
...
Solution: don't use rt if not `RT_LIBRARY`
This currently causes the check to fail on macOS:
```bash
/Library/Developer/CommandLineTools/usr/bin/c++ -std=c++11 -Wno-tautological-constant-compare -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_8466b.dir/CheckSymbolExists.cxx.o -o cmTC_8466b -lrt
ld: library 'rt' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
even though `clock_gettime` is available.
Move the `clock_gettime` check up with the other librt related checks,
and don't set `CMAKE_REQUIRED_LIBRARIES` if not `RT_LIBRARY`.
2024-07-08 22:35:49 +02:00
fanquake
d203ad2b7a
problem: using -errwarn
on non-Sun systems
...
solution: only use `-errwarn` on SunPro systems
For example, using Clang on Alpine, this just results in build spam, and
the option is incorrectly passed through to ld, which trys to use use it
(`-e`) as an entrypoint, i.e:
```bash
[ 28%] Building CXX object CMakeFiles/local_lat.dir/perf/local_lat.cpp.o
clang++: warning: -e rrwarn=%all: 'linker' input unused [-Wunused-command-line-argument]
[ 29%] Linking CXX executable bin/local_lat
/usr/bin/ld: warning: cannot find entry symbol rrwarn=%all; defaulting to 0000000000000cf0
[ 29%] Built target local_lat
```
2024-07-08 18:00:20 +02:00
fanquake
de290e91e3
Problem: macos-latest CIs both failing
...
Solution: Install `libtool`. This seems to be the issue, given the CI
output of a recent run, i.e:
```bash
configure.ac:1023: the top level
configure.ac:80: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:81: error: possibly undefined macro: AC_PROG_LIBTOOL
configure:7350: error: possibly undefined macro: AC_DISABLE_STATIC
configure:7354: error: possibly undefined macro: AC_ENABLE_STATIC
autoreconf: error: /opt/homebrew/Cellar/autoconf/2.72/bin/autoconf failed with exit status: 1
autogen.sh: error: autoreconf exited with status 1
+ exit 1
```
https://github.com/zeromq/libzmq/actions/runs/9841129190/job/27167025854?pr=4699#step:12:200
2024-07-08 16:58:24 +02:00
C-sir
c2fae81460
Problem: my name is not in the AUTHORS file
...
Solution: add myself to the list
2024-05-10 15:45:28 +02:00
Isuru Fernando
0a1aa1e4a7
Fix typos in gssapi cmake support PR
2024-05-08 21:22:25 +02:00
Isuru Fernando
43a8b3c6c8
Add gssapi support to cmake
2024-05-08 10:06:39 +02:00
Stephan Lachnit
aa885c5a15
Do not use _MSC_VER if windows
...
This fixes several instances where _MSC_VER was used to determine whether to use afunix.h or not. For example, MinGW requires the use of afunix.h but does not define _MSC_VER. The correct behavior is checking ZMQ_HAVE_WINDOWS.
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2024-04-23 21:00:20 +02:00
fanquake
2a75ef07be
cmake: don't use builtin sha1 if not using ws
...
The builtin SHA1 (ZMQ_USE_BUILTIN_SHA1) is only used in the websocket
engine (ws_engine.cpp), so if websockets are disabled, i.e
-DENABLE_DRAFTS=OFF, don't add sha1.c to the sources list.
2024-03-25 18:51:39 +00:00
fanquake
4a5ece54b8
build: fix mkdtemp check on macOS
...
On macOS, mkdtemp is in unistd.h. Fix the CMake check so that is works.
This was discovered when comparing the output of the Autotools an CMake
build systems.
2024-03-25 13:24:30 +00:00
Hennadii Stepanov
45b2924a0a
Fix Autotools-generated libzmq.pc
file
...
This change fixes cross-compiling for Windows with static linking.
2024-03-21 12:22:43 +00:00
Min RK
481cc3fa2c
halt build if CURVE requested but not found
...
ENABLE_CURVE is currently redundant with WITH_LIBSODIUM, as the only existing provider
now builds where requested configuration is not found fail rather than proceeding without requested features
2024-02-28 15:35:57 +00:00
Min RK
ff231d2673
Problem: cmake search for kqueue missing headers
...
Solution: include sys/types.h and sys/time.h as documented by kqueue
and used in autotools
fixes kqueue detection on openbsd
2024-02-23 14:25:17 +00:00
Eli Schwartz
3b264019a2
configure: fix basic syntax errors in the shell script programming language
...
There is no such thing as `+=` unless you happen to be using the Bash
programming language, i.e. your script shebang is /bin/bash.
However, configure scripts are run via /bin/sh instead, which may or may
not be be bash, usually depending on whether the system in question
preferred to have one less package installed (in which case it is bash)
vs. have a faster /bin/sh installed (in which case it is probably the
dash shell).
2024-01-24 23:01:24 +00:00
Thomas
959a133520
Fixing SEGV #4524 . Pipe should only send to peer when active. ( #4647 )
...
* Fixing SEGV #4524 . Pipe should only send to peer when active.
2023-12-19 15:21:46 +00:00
Denis Zibarev
86a42e1e43
Problem: Using non-ascii characters in unix domain socket path doesn't work on Windows
...
Solution: Convert utf-8 socket paths to utf-16 file names when using
filesystem calls to delete files and directories as Windows doesn't
have any filesystem calls that take utf-8 path.
rmdir_utf8() and unlink_utf8() static functions were created which
substitute rmdir() and unlink() when building on Windows.
2023-12-11 10:12:12 +00:00
Florian Weimer
665d1d4657
Build with -D_DEFAULT_SOURCE along with -std=c11
...
On its own, -std=c11 hides POSIX and other extensions from C headers
such as <stdlib.h> when building against glibc. This causes the
posix_memalign probe to fail incorrectly with compilers that do not
accept implicit function declarations. _DEFAULT_SOURCE is ignored by
most non-GNU/Linux systems or not relevant in this context, so there
is no separate check for adding it.
2023-11-29 13:58:35 +00:00
f18m
2622e618f0
Replace old website contribution page link with the page of the new website
2023-11-22 22:35:29 +00:00
Nehal Patel
b268effd88
Fix 4629 compile warning in endpoint.hpp
2023-11-19 11:35:09 +00:00
Francesco Montorsi
814dab58a4
Documentation: fix the HTMLZIP name to restore the download-documentation functionality ( #4628 )
2023-11-13 14:47:38 +00:00
f18m
61050beca6
Documentation: improve the look of landing page
...
* Link the new CSS stylesheet also when building docs at RTD
2023-11-10 12:05:52 +00:00
Francesco Montorsi
481d536713
Documentation: improve the look of landing page ( #4625 )
...
* Documentation: improve the look of landing page by showing a more-compact list
2023-11-10 11:42:46 +00:00
Francesco Montorsi
3e08ecc012
Feature: improve docs ( #4620 )
...
* Feature: improve see-also doc section
2023-11-03 10:36:47 +00:00
Francesco Montorsi
267e856494
Feature: master: integrate with ReadTheDocs ( #4614 )
...
* Feature: integrate libzmq with ReadTheDocs
* add readthedocs configuration file to convert Asciidoc files into HTML and HTMLZIP formats using Asciidoctor.js tool (the only Asciidoctor variant available on readthedocs so far)
2023-11-02 20:44:34 +00:00
Francesco Montorsi
aa9a2c8429
docs: add index page ( #4615 )
2023-11-01 09:49:25 +00:00
Stephan Lachnit
05c2025412
poller.hpp: fix incorrect ZMQ_IOTHREAD_POLLER_* usage
...
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2023-11-01 00:53:40 +00:00
Luca Boccassi
f0c471aaab
Merge pull request #4607 from f18m/feature/asciidoctor
...
Feature: modernize API documentation
2023-10-25 23:10:25 +01:00
Francesco Montorsi
b6ca9b2983
Feature: modernize API documentation
...
* migrate from the old, unmaintained "asciidoc-py" tool to the new "asciidoctor" generator
* migrate from asciidoc-py syntax to the modern Asciidoc syntax (especially page titles and section titles)
* remove the need of "xmlto" utility to create the manpage output; use asciidoctor for that
* add HTML output support to the doc/Makefile by using asciidoctor
* change API documentation files extension from .txt to .adoc to make it more explicit that they are Asciidoc-encoded (as a bonus several IDE plugins will autodetect the .adoc format as Asciidoc)
* remove asciidoc.conf: asciidoctor does not support that; this also required replacing the macro linkzmq into all documentation pages
* add a new Github action CI do deploy to Github Pages the static HTMLs produced by Asciidoctors
* removed references to the "xmlto" and "a2x" tools from the build and packaging systems: Asciidoctor can convert the documentation directly to e.g. pdf (via extended converters) and anyway there was no code/target for using "xmlto" and "a2x" tools anyway
2023-10-25 23:59:38 +02:00
Luca Boccassi
cd991c72c8
Revert "Add forgotten test_pubsub. Currently only tests NORM if built."
...
The test always fails.
This reverts commit a6039d8716612ca3002858a85b2119f970e0fc41.
2023-10-25 11:49:29 +01:00
Michael Hudson-Doyle
aa3e097996
initialize error in test_security_gssapi.c:test_null_creds
...
Under some circumstances (which probably no longer apply in master) gcc inlined get_monitor_event into test_null_creds and then emitted a "maybe uninitialized" warning on the use of error. This would only be a problem if the tested code was misbehaving but I guess that's the point of a test!
2023-10-25 09:51:25 +01:00
Axel Rietschin
a6039d8716
Add forgotten test_pubsub. Currently only tests NORM if built.
2023-10-24 10:47:19 +01:00
Yueshan
95caddb9a1
Update msg.cpp
...
allow the max_vsm_size of data can init as vsm type msg
the init message of vsm size should be <= max_vsm_size include equal size.
2023-10-22 11:47:21 +01:00
Luca Boccassi
b30a19ebde
Merge pull request #4602 from nnog/flaky-test
...
test_proxy_steerable: reduce cpu and thread count
2023-10-13 15:21:28 +01:00
George Cockshull
77303a1926
test_proxy_steerable: reduce cpu and thread count
...
Problem: flakiness on slow CI VMs
Solution: fewer worker threads, poll rather than thrash,
consistent timings. user cpu ~300% -> 15%.
2023-10-13 08:19:38 -04:00
Luca Boccassi
6b80df14f4
Merge pull request #4600 from nnog/fix-proxy-steerable
...
Fix zmq_proxy_steerable
2023-10-12 21:53:48 +01:00
George Cockshull
058ad60b9a
zmq_proxy_steerable: support non-REP socket types
...
Problem: reimplemented zmq_proxy_steerable control socket type is not
backwards compatible - replies are always sent.
In the past, zmq_proxy_steerable never sent a reply for
commands that weren't STATISTICS, so only really worked with PAIR and didn't
work at all with REP. Now it only supports REP and PAIR semantics changed. This
breaks compatibility with PAIR in a subtle and slightly annoying way if
HWMs are hit without reading the replies.
Solution: Add a check to send the empty reply only for
REP control sockets. This restores backwards compatibility, and supports
REP, PAIR, and SUB (for non-reply commands).
I had no knowledge of the pre-MPL-2.0 implementation. This fix is based
on docs and prior API usage. I contribute this under MPL-2.0.
2023-10-12 15:22:44 -04:00
George Cockshull
f8b3cc8108
Fix zmq_proxy_steerable PAUSE/RESUME
...
Problem: the new reimplementation of zmq_proxy_steerable had PAUSE/RESUME
that didn't follow expected behaviour. Possibly mixed up. Test didn't properly
cover the issue.
Solution: improve test coverage, fix the proxy command parsing.
I had no knowledge of the pre-MPL-2.0 implementation. This fix is based
on documented semantics and prior API usage. I contribute this
under MPL-2.0.
2023-10-12 15:22:44 -04:00
James Harvey
9d31965548
Handle tcp self connection issues ( #4599 )
2023-10-10 14:46:48 +01:00
Luca Boccassi
dbb7e3dc01
Problem: 4.3.5 is out, need new version
...
Solution: bump to 4.3.6
2023-10-09 12:21:03 +01:00
Luca Boccassi
622fc6dde9
Update NEWS for 4.3.5
2023-10-09 11:47:05 +01:00
Luca Boccassi
5cf39bf0ce
Merge pull request #4598 from brettviren/reimplement-proxy-steerable
...
A clean room re-implementation of zmq_proxy_steerable()
2023-10-09 10:36:47 +01:00
Brett Viren
5712ad5138
A clean-room implementation of zmq_proxy_steerable().
...
It is contriubted under the MPL-2.0.
I had no knowledge of the previous implementation of zmq_proxy_steerable().
This version was developed based on expectations set in the old man page with one exception. This version uses a REP/REQ for the proxy control protocol sockets. The old man page example used PUB/SUB which is nonsensical given the STATISTICS command requires two way communication.
2023-10-08 19:56:03 -04:00
Nehal Patel
8cdc4ed71a
Problem: unused variables warnings
...
Solution: fix them
2023-10-04 09:51:43 +01:00
Hennadii Stepanov
de5ee18203
Replace egrep
with grep -E
...
For the GNU Grep package version >= 3.8, the `egrep` command emits:
```
egrep: warning: egrep is obsolescent; using grep -E
```
which makes the `./autogen.sh` script very noisy.
2023-08-26 22:19:35 +01:00
Jeffery Weston
ec013f3a17
fix assert error on late-joining subscriber after publisher has filled NORM buffer
2023-07-21 19:46:44 +01:00
Cornelius
ecc63d0d3b
Problem: long flag isn't set for subscriptions if topic has between 246 and 255 characters ( #4564 )
...
* Problem: long flag isn't set for subscriptions if topic has between 246 and 255 characters
Solution: fix V3.1 encoder to calculate long flag after evaluating the subscribe and cancel commands
2023-06-20 15:17:26 +01:00
Luca Boccassi
7af09a0e3b
obs: trigger build on merge
2023-06-18 15:40:05 +01:00
Luca Boccassi
61fd887d11
spec: do not attempt to install curve_keygen if curve is disabled
2023-06-18 13:06:57 +01:00
Luca Boccassi
7fef478481
spec: remove duplicated macros
2023-06-18 12:51:43 +01:00
Guillaume DELACOURT
5657b4586f
Always allow DNS when resolving TCP and UDP adresses. DNS resolution is done after interface resolution, so it can always be enabled to have a fallback mecanism on hostname resolution.
2023-06-12 20:28:32 +01:00
Guillaume DELACOURT
e0296d9cdd
Checks for pthread setname and setaffinity API are compilation checks, not execution checks.
2023-06-12 00:12:26 +01:00
Guillaume DELACOURT
797c7f09f8
When setting thread priority, always set the value to zero when the policy is not compatible. Also, only call nice when the priority is set to a strictly positive value.
2023-06-12 00:11:21 +01:00
Luca Boccassi
5bf04ee2ff
Problem: docs for ZMQ_RECONNECT_IVL_MAX are stubs
...
Solution: write them now that the option is back
2023-06-06 18:09:12 +01:00
Luca Boccassi
346907065f
Problem: trailing whitespace
...
Solution: remove it
2023-06-06 18:00:08 +01:00
Luca Boccassi
7175f0acb5
Merge pull request #4556 from stvales/master
...
Problem: relicensing forced to remove support for ZMQ_RECONNECT_IVL_MAX option
2023-06-06 16:40:57 +01:00
Stéphane Valès
de1bd5c8e7
Problem: relicensing forced to remove support for ZMQ_RECONNECT_IVL_MAX option
...
Solution: reimplement support for ZMQ_RECONNECT_IVL_MAX without knowledge of the previous code.
2023-06-06 15:15:22 +02:00
Luca Boccassi
1a921db728
Merge pull request #4555 from bluca/relicense
...
Relicense from LGPL3 + exceptions to Mozilla Public License version 2.0
2023-06-06 13:50:00 +01:00
Luca Boccassi
3e5e405f33
Remove RELICENSE/ directory
...
Grants archived at:
https://github.com/rlenferink/libzmq-relicense/blob/master/RELICENSE
No longer necessary to keep them here, as the relicensing is complete.
2023-06-05 20:31:47 +01:00
Luca Boccassi
da31917f4f
Relicense from LGPL3 + exceptions to Mozilla Public License version 2.0
...
Relicense permission collected from all relevant authors as tallied at:
https://github.com/rlenferink/libzmq-relicense/blob/master/checklist.md
The relicense grants are collected under RELICENSE/ and will be moved
to the above repository in a later commit.
Fixes https://github.com/zeromq/libzmq/issues/2376
2023-06-05 20:31:47 +01:00
Luca Boccassi
87bb4db114
Merge pull request #4554 from bluca/relicense
...
Problem: cannot relicense due to missing agreement from 3 authors
2023-06-05 20:00:28 +01:00
Luca Boccassi
7bbd49726b
Problem: no permission to relicense ZMQ_RECONNECT_IVL_MAX
...
Solution: remove the implementation. Thijs Terlouw <thijsterlouw@gmail.com>,
the author, did not respond to requests to allow relicensing to MPL2,
so we have to remove his copyrighted work.
Remove the implementation and make get/set return -EOPNOTSUPP.
2023-06-05 00:22:20 +01:00
Luca Boccassi
ff47aeb791
Problem: no permission to relicense tweetnacl integration
...
Solution: remove implementation. Frank Hartmann <soundart@gmx.net>,
the author, rejected our request to relicense under MPL2, so we
have to remove his copyrighted work.
Tweetnacl is not security-supported and could not be used in
production environments anyway, the supported backend is libsodium.
2023-06-04 23:54:31 +01:00
Luca Boccassi
13bc1de421
Problem: no permission to relicense zmq_proxy_steerable
...
Solution: remove implementation. Laurent Alebarde <l.alebarde@free.fr>,
the author, did not respond to requests to allow relicensing to MPL2,
so we have to remove his copyrighted work.
Make the API into an empty stub that returns -EOPNOTSUPP.
2023-06-04 23:54:31 +01:00
Jeff Weston
eaaea73bf1
Change NORM to set TTL using MULTICAST_HOPS sockopt ( #4552 )
...
* Change NORM to set TTL using MULTICAST_HOPS instead of hard-coding. Changes default TTL from 255 to 1.
2023-05-19 20:53:20 +01:00
Nicolas Benes
4d1dccaebd
Fix pkg_config_defines in CMakeFile
...
PR #4545 sets `pkg_config_defines` too late, i.e. after the pkg-config
file is already generated. It must be set before `configure_file`.
2023-05-16 17:47:51 +01:00
Luca Boccassi
cc12997a17
Merge pull request #4545 from panicgh/pc-file-fix
...
Add missing pkg_config_defines when built with CMake
2023-05-12 10:16:57 +01:00
Nicolas Benes
2da2bd8f6d
RELICENSE: add statement
...
Signed-off-by: Nicolas Benes <nbenes.gh@xandea.de>
2023-05-12 06:29:44 +02:00
Luca Boccassi
077dd92616
Merge pull request #4546 from cdepillabout/link-openpgm-cmake-fresh
...
Link to openpgm when building with cmake
2023-05-11 13:59:13 +01:00
Dennis Gosnell
a6c2f6ba72
Problem: no relicense agreement by cdepillabout
...
Solution: added relicense agreement
2023-05-11 20:22:42 +09:00
Dennis Gosnell
5381be6c71
Problem: don't link to openpgm when building with cmake
...
Solution: Add `target_link_libraries()` to `libzmq` for openpgm when
openpgm has been enabled.
2023-05-11 20:22:42 +09:00
Nicolas Benes
c079ca5cc4
Add missing pkg_config_defines when built with CMake
...
The pkg_config_defines variable was only set in configure.ac, but not in
CMake. This lead to the `-DZMQ_BUILD_DRAFT_API=1` flag to be omitted
from the generated pkg-config file.
Signed-off-by: Nicolas Benes <nbenes.gh@xandea.de>
2023-05-09 23:15:46 +02:00
Luca Boccassi
532b61275e
Merge pull request #4542 from bjornstromberg/libzmq-patch-pr-4432
...
Problem: merged pr-4432 broke FindSodium on linux
2023-04-22 11:59:25 +01:00
Björn Strömberg
f56a44d35d
Problem: no relicense agreement by bjornstromberg
...
Solution: added relicense agreement
2023-04-22 09:13:22 +02:00
bjornstromberg
47b2aec813
Problem: merged pr-4432 broke FindSodium on linux
...
Solution: rename the FindSodium to Findsodium so it matches what the build script actually looks for. tested on ubuntu-20.04lts with cmake 3.16.
2023-04-22 08:58:55 +02:00
Jeff Weston
2d30020691
Add NORM Transport configuration sockopts ( #4541 )
...
* added NORM transport configuration socket options, and enabled NORM use of existing sockopts ZMQ_RATE for NORM fixed-rate operation, and ZMQ_TOS
2023-04-20 18:55:40 +01:00
Luca Boccassi
be8af6f128
Merge pull request #4540 from keith-dev/master
...
Support clang-16 on Termux
2023-04-19 11:57:08 +01:00
Keith Williams
bf3d37b7d0
Add RELICENSE for Keith Williams
2023-04-19 01:16:05 +01:00
Keith Williams
abf2444f09
remove c99 extention from c++11 code
2023-04-18 22:27:06 +01:00
Keith Williams
27dda213fe
extend tipc check to support Android under Termux
2023-04-18 22:25:00 +01:00
Constantin Rack
5a5f90e07e
Merge pull request #4537 from chachoi/master
...
Add support for QNX 7.1 build
2023-04-11 22:22:54 +02:00
James Choi
c19d4c9bf0
Add RELICENSE for James Choi
...
Signed-off-by: James Choi <chachoi@blackberry.com>
2023-04-11 15:48:27 -04:00
James Choi
10e5847fa8
Add support for QNX 7.1 build
...
Signed-off-by: James Choi <chachoi@blackberry.com>
2023-04-11 15:48:07 -04:00
Luca Boccassi
1b52e19b2b
Merge pull request #4533 from autoantwort/gnutls-include-dir
...
Don't assume that GnuTLS is on the search path
2023-03-27 22:34:39 +01:00
Leander Schulten
08a6f8f84d
license
2023-03-27 17:47:30 +02:00
Leander Schulten
f508394909
Don't assume that GnuTLS is on the search path
2023-03-27 16:06:23 +02:00
Luca Boccassi
94bf58e43c
Merge pull request #4522 from stephanlachnit/p-cmake-fix-devpoll
...
CMake: fix devpoll detection not working properly
2023-03-05 17:49:19 +00:00
Luca Boccassi
3f5d915b56
Merge pull request #4523 from stephanlachnit/p-fix-cmake-pgm-vmci
...
CMake: properly set ZMQ_HAVE_OPENPGM and ZMQ_HAVE_VMCI
2023-03-05 17:49:02 +00:00
Luca Boccassi
e6130935c7
Merge pull request #4521 from stephanlachnit/p-fix-pollset
...
CMake: fix not defining pollset in platform.hpp
2023-03-05 17:48:31 +00:00
Stephan Lachnit
6147de01da
RELICENSE: add statement
...
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2023-03-05 13:32:42 +01:00
Stephan Lachnit
87065068ca
CMake: properly set ZMQ_HAVE_OPENPGM and ZMQ_HAVE_VMCI
...
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2023-03-03 11:11:41 +01:00
Stephan Lachnit
6fc2a61d16
CMake: fix devpoll detection not working properly
...
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2023-03-03 11:01:47 +01:00
Stephan Lachnit
08d60dfdfa
CMake: fix not defining pollset in platform.hpp
...
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2023-03-03 10:56:26 +01:00
Luca Boccassi
8c725093ac
Merge pull request #4509 from sphaero/udploop
...
Problem: infinite loop binding a dgram socket if it fails
2023-02-06 15:23:35 +00:00
Arnaud Loonstra
b261f9a678
treat bind errors as a protocol_error instead of connection_error preventing an infinite loop of trying to create the udp socket as through the protocol_error the creation of the socket fails
2023-02-03 16:33:18 +01:00
Luca Boccassi
6e2d632b18
Merge pull request #4502 from casaroli/fix-for-nuttx
...
Fixes for memory allocation and zero size
2023-02-03 09:16:26 +00:00
Marco Casaroli
52333da0e2
Add RELICENSE for Marco Casaroli
2023-02-03 09:35:35 +01:00
Marco Casaroli
d16db180d3
Do not break if malloc size is zero
...
I get a scenario where `size_` is `0` so there is nothing to `malloc()`.
According to `malloc(3)`:
If size is 0, then malloc() returns either NULL, or a unique pointer value thatcan later be
success‐fully passed to free().
According to `free(3)`:
If ptr is NULL, no operation is performed.
So, if `size_` is null and `_data` also, there is no OOM error.
We can adjust the assert to not fail on this scenario.
2023-02-03 09:35:35 +01:00
Luca Boccassi
a666cb1b40
Merge pull request #4507 from daira/zmq_snprintf
...
#4494 added calls to snprintf, but did not take into account that snprintf can truncate
2023-02-01 21:44:27 +00:00
Daira Hopwood
6dc559c072
#4494 added calls to snprintf, but did not take into account that snprintf
...
can truncate, and then return the number of characters that would have been
written without truncation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-01 19:15:46 +00:00
Luca Boccassi
333c88e9ff
Merge pull request #4505 from barracuda156/darwin
...
tests: use NOT APPLE instead of NOT MATCHES Clang
2023-02-01 00:30:26 +00:00
Sergey Fedorov
2438952f75
Add relicense statement
2023-02-01 08:02:53 +08:00
Sergey Fedorov
74af53fdfa
tests: use NOT APPLE instead of NOT MATCHES Clang
2023-02-01 05:37:59 +08:00
Marco Casaroli
f049edbf12
Use parenthesis for alloc_assert macro
2023-01-31 14:46:46 +01:00
Luca Boccassi
ce6d48c578
Merge pull request #4500 from bluca/ci
...
CI fixes
2023-01-31 10:48:44 +00:00
Luca Boccassi
bd0a34899a
Problem: test_filter_ipc is flacky
...
Solution: expect send failure and use random endpoint
2023-01-31 01:16:24 +00:00
Luca Boccassi
ccdc2f7583
Problem: VMCI tests are not skipped outside VMs
...
Solution: check CID and skip if unavailable
2023-01-31 00:28:38 +00:00
Luca Boccassi
acfdf67127
Merge pull request #4497 from MartinDelille/badge
...
Add conan badge
2023-01-27 01:32:42 +00:00
Martin Delille
8850ccc450
Add relicense statement
2023-01-27 02:26:12 +01:00
Martin Delille
75e9a950d9
Add conan badge
2023-01-27 00:29:47 +01:00
Luca Boccassi
abb0ada5f7
Merge pull request #4494 from sphaero/depr_sprintf
...
deprecate sprint and replace with snprintf
2023-01-24 23:36:00 +00:00
Arnaud Loonstra
f7df6c8599
deprecate sprint and replace with snprintf
2023-01-24 22:45:48 +01:00
Luca Boccassi
b674ce68d0
Merge pull request #4490 from bluca/ci
...
Problem: various CI issues
2023-01-16 10:28:05 +00:00
Luca Boccassi
a820627f55
Problem: test_zmq_ppoll_signals does not cleanup context
...
Solution: do it, to avoid false positive in valgrind
2023-01-16 00:52:30 +00:00
Luca Boccassi
7e0fdd82de
Problem: test_zmq_ppol_signals uses fixed TCP port
...
Solution: use random one to avoid random failures
2023-01-16 00:52:30 +00:00
Luca Boccassi
117cbe690c
Problem: buffer overflow in new test case
...
Solution: fix it
2023-01-15 23:44:12 +00:00
Luca Boccassi
ee9c0919e2
Problem: address sanitizer complains about uninitialised func pointer
...
Solution: just call the function directly
2023-01-15 23:44:00 +00:00
Luca Boccassi
3cafc0c260
Merge pull request #4489 from bluca/ci
...
Problem: various CI issues
2023-01-12 09:49:59 +00:00
Luca Boccassi
78777fb9f5
Problem: shipping binaries is a responsibility that requires time
...
Solution: stop shipping binary releases for Windows. These days there's vcspkg, conda and more
that provide pre-built binaries for Windows.
Being a software supplier requires a lot of time and effort, and we have no bandwidth.
2023-01-12 01:07:06 +00:00
Luca Boccassi
961206abd5
Problem: libsodium doesn't build anymore in VS2010
...
Solution: disable it in appveyor, not our problem to solve
2023-01-12 01:07:06 +00:00
Luca Boccassi
7781dd1bbd
Problem: formatting errors with clang-format-11
...
Solution: apply update
2023-01-12 01:07:06 +00:00
Luca Boccassi
47d0ecf639
Problem: missing VMCI can also return EPROTONOSUPPORT and the tests fail
...
Solution: ignore that too
2023-01-12 01:07:06 +00:00
Luca Boccassi
634cf9eea7
Problem: windows-2016 build no longer runs in CI
...
Solution: remove it
2023-01-12 01:07:06 +00:00
Luca Boccassi
3919956535
Problem: build fails with PGM + CXX98 + clang++
...
Solution: redefine 'restrict' which is used as an attribute in PGM headers,
but that is not available when using clang and CXX98
2023-01-11 23:43:13 +00:00
Luca Boccassi
049f79f72e
Merge pull request #4488 from ilkondr/ilkondr/poll_eintr
...
Problem: message can't be received due to signal
2023-01-10 18:55:45 +00:00
Ilya Kondrashkin
04720b6b91
Problem: message can't be received due to signal
...
Issue caught in Golang runtime, which widely uses signal SIGURG for
scheduling. Sometimes messages cannot be received. Technically
socket_base_t::process_commands() returns failure even if some commands were
processed, but next message from mailbox could not be received during interrupt.
Solution: retry receiving from mailbox with zero timeout after EINTR.
Signed-off-by: Ilya Kondrashkin <ikondrashkin@nfware.com>
2023-01-10 16:04:56 +00:00
Luca Boccassi
8d0f6f359e
Merge pull request #4486 from Rabenda/fix/qemu-user-build
...
fix: fix build on qemu-user
2023-01-09 17:25:29 +00:00
Han Gao
48960c2293
fix: fix build on qemu-user
...
In qemu-user, CACHELINE_SIZE probe is undefined
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
2023-01-10 01:12:20 +08:00
Luca Boccassi
bdd471fa17
Merge pull request #4480 from trofi/gcc-13-rebind-fix
...
src/secure_allocator.hpp: define missing 'rebind' type
2022-12-22 11:51:15 +01:00
Sergei Trofimovich
438d5d8839
src/secure_allocator.hpp: define missing 'rebind' type
...
`gcc-13` added an assert to standard headers to make sure custom
allocators have intended implementation of rebind type instead
of inherited rebind. gcc change:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=64c986b49558a7
Without the fix build fails on this week's `gcc-13` as:
[ 92%] Building CXX object tests/CMakeFiles/test_security_curve.dir/test_security_curve.cpp.o
In file included from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:34,
from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_uninitialized.h:64,
from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/memory:69,
from tests/../src/secure_allocator.hpp:42,
from tests/../src/curve_client_tools.hpp:49,
from tests/test_security_curve.cpp:53:
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind<zmq::secure_allocator_t<unsigned char>, unsigned char, void>':
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:94:11: required by substitution of 'template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = zmq::secure_allocator_t<unsigned char>; _Up = unsigned char]'
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:228:8: required by substitution of 'template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = zmq::secure_allocator_t<unsigned char>]'
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:126:65: required from 'struct __gnu_cxx::__alloc_traits<zmq::secure_allocator_t<unsigned char>, unsigned char>::rebind<unsigned char>'
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:88:21: required from 'struct std::_Vector_base<unsigned char, zmq::secure_allocator_t<unsigned char> >'
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:423:11: required from 'class std::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >'
tests/../src/curve_client_tools.hpp:64:76: required from here
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
70 | _Tp>::value,
| ^~~~~
The change adds trivial `rebind` definition with expected return type
and satisfies conversion requirements.
2022-12-20 23:00:53 +00:00
Luca Boccassi
dfbfc59c3f
Merge pull request #4432 from Teebonne/patch-1
...
sodium, not Sodium
2022-12-06 14:39:21 +01:00
Teebonne
da74015b85
Create Teebonne.md
2022-12-06 10:37:55 +00:00
Francesco Montorsi
c59104a01d
Add ZMQ_TOPICS_COUNT socket option ( #4459 )
2022-11-29 12:00:11 +00:00
Luca Boccassi
20de92ac0a
Merge pull request #4466 from td-krzysiek/fix-missing-sodium-link-directory
...
fix missing sodium link_directories
2022-11-24 10:51:11 +01:00
Krzysztof Rosiński
2eb9d59cb7
add relicense note
2022-11-24 10:39:02 +01:00
Krzysztof Rosiński
80e5bfeade
fix missing sodium link_directories
2022-11-24 06:40:06 +01:00
Luca Boccassi
037dd199af
Merge pull request #4462 from stephan57160/master
...
Problem: Android build scripts need more enhancements.
2022-11-21 13:11:48 +01:00
Stephan Guilloux (cos)
684ebb2616
Problem: Main documentation refers to Android NDK 24, when 25 is currently in use.
...
Solution: Fix invalid NDK reference.
2022-11-21 12:15:59 +01:00
Stephan Guilloux (cos)
fcd519ba66
Android specific documentation update.
2022-11-21 12:15:38 +01:00
Stephan Guilloux (cos)
117ddabd02
Android minor fix in documentation.
2022-11-21 11:41:33 +01:00
Stephan Guilloux (home)
9f47e064a1
Documentation update.
2022-11-21 00:21:30 +01:00
Stephan Guilloux (home)
ebe0edaaa9
More enhancements and configuration variables to Android CI build scripts.
...
init_dependency_root(): Moved to android_build_helper.sh
ANDROID_DEPENDENCIES_DIR: added to specify a storage for dependencies
when downloaded automatically.
ANDROID_BUILD_DIR: Changed the default in ci_build.sh.
ci_build.sh configures these 2 variables to no more use /tmp by default (
except for Android NDK), but a local clone subfolder.
This helps to find downloaded dependencies and generated binaries.
This avoid to have user permission conflicts, or conflicts with 2
different clones of LIBZMQ (for instance).
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
40620f9b7b
Android helpers minor fixes.
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
30e950abfd
Problem: Android dependencies are downloaded in an hard-coded /tmp/tmp-deps.
...
Solution: Added variable ANDROID_DEPENDENCIES_DIR, and initialize to
/tmp/tmp-deps, to avoid clash with existing code.
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
91bc18ee16
Enriched Android helpers
...
2 more functions are added:
- android_clone_library():
Similar to android_clone_library(), but fetch a tarball and uncompress it.
So far, only .tar.gz and .tgz archives are supported, but could be enhanced
easily, if needed.
- android_init_dependency_root():
Initialize or check XXX_ROOT, when XXX is a dependency name.
Enhanced version of init_android_root() in build.sh (to be dropped, then).
This version is now also applicable in CZMQ & ZYRE CI builds scripts for Android.
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
3aeadbd1c2
Problem: android_build_library can be more robust & generic
...
With these changes, this function is now able to build LIBZMQ but also
(almost) CZMQ, ZYRE (and their dependencies) in native or cross compilation
modes.
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
f91e3e41fa
Problem: android_clone_library() review
...
Basically, only local vars renamed.
New coming functions will use the same local vars naming.
2022-11-21 00:21:30 +01:00
Guilloux Stephan (Ubuntu)
308c94e9d8
Problem: android_download_ndk can be more 'autonomous'.
2022-11-21 00:21:30 +01:00
Francesco Montorsi
7fad9599ab
Fix typo in zmq_socket_monitor_versioned docs ( #4458 )
...
* Fix typo in zmq_socket_monitor_versioned docs
2022-11-15 22:18:11 +00:00
Luca Boccassi
3ff3c6cdf3
Merge pull request #4456 from djolemanojlovic/fix_4106
...
Problem: Handshake timeout error with ZMTP_2_0
2022-11-11 15:14:39 +01:00
Đorđije Manojlović
aeea10c068
Add RELICENSE statement
2022-11-11 12:26:44 +01:00
Đorđije Manojlović
6cc694d8c2
Problem: Handshake timeout error with ZMTP_2_0
...
When two parties are trying to establish ZMTP connection and do a
handshake, in which one partie selects hanshake version 2 or lower
has been selected, handshake timer fires always (by default after 30s)
as the timer never gets cancelled.
Solution: Cancel handshake timer after handhake has been done.
2022-11-11 12:26:44 +01:00
Luca Boccassi
8d4f4efef0
Merge pull request #4452 from stephan57160/master
...
Problem: Android helpers have duplicate init code.
2022-10-27 16:09:27 +02:00
Guilloux Stephan (Ubuntu)
6d9c0b8366
Problem: Android helpers have duplicate init code.
...
Last PRs introduced a duplicate code in Android helper file.
Duplicate "Initialisation" sequence can be observed after the helper functions:
########################################################################
# Initialization
...
# (Empty string indicates no failure)
ANDROID_BUILD_FAIL=()
Seen when trying to report last LIBZMQ Android PRs to CZMQ & ZYRE.
Solution: Remove the duplicate code.
2022-10-27 15:46:16 +02:00
Luca Boccassi
1d3ad106ac
Merge pull request #4451 from stephan57160/master
...
Problem: Android build documentation is outdated.
2022-10-24 23:10:30 +02:00
Luca Boccassi
c1bcb53b12
Merge pull request #4450 from stephan57160/master
...
Problem: Android docker image is outdated.
2022-10-24 21:32:35 +02:00
Stephan Guilloux (cos)
8742763c04
Problem: Android build documentation to be updated.
...
Solution: Update Android build documentation.
2022-10-24 21:04:30 +02:00
Stephan Guilloux (cos)
0e887a4037
Problem: Android docker image is outdated.
...
Solution: Update image.
Added references to tested versions (Ubuntu, debian) and tested NDK.
Carefull though. Android have changed there NDK naming, between 22 and 23.
2022-10-24 20:56:52 +02:00
Luca Boccassi
bfd506094a
Merge pull request #4449 from stephan57160/master
...
Problem: Android helpers must provide build/clone functions.
2022-10-24 19:58:49 +02:00
Stephan Guilloux (cos)
6fb3a58ca8
Problem: Android helpers must provide build/clone functions.
...
Reason: Code factorisation & code sharing.
Solution: Create more functions in helper file:
- android_clone_library # Clone a library source tree.
- android_build_library # Build a library in its source tree.
2022-10-24 19:32:01 +02:00
Luca Boccassi
3dd2a6964a
Merge pull request #4448 from stephan57160/master
...
Problem: Android helpers should export more compilation chain related variables
2022-10-24 18:16:28 +02:00
Stephan Guilloux (cos)
69c237efed
Problem: Android helpers should export more compilation chain related variables
...
Among them, CC, LD, CFLAGS, ... could be useful for other tools.
Reason: Many are calculated as "local" to a particular function, which makes
them unavailable outside this helper function.
Solution: Export more variables (CC, LD, CFLAGS, ...).
New exported variables are prefixed with ANDROID_BUILD_xxx.
This naming is expected to avoid any conflicts/problem with other tools:
- ANDROID_BUILD_CC
- ANDROID_BUILD_LD
- ANDROID_BUILD_CFLAGS
- ...
2022-10-24 17:05:20 +02:00
Luca Boccassi
7ff35715ef
Merge pull request #4446 from stephan57160/master
...
Problem: Android CI build tools does not support LIBSODIUM_ROOT
2022-10-24 14:32:51 +02:00
Stephan Guilloux (cos)
7c3a420be4
Problem: Android CI build tools does not support LIBSODIUM_ROOT
...
Solution: Implement the current same kind of mechanism as CZMQ & ZYRE, with enhancement.
Enhancement: When required and if LIBSODIUM is not set, the build tool checks
for an already existing clone, close to LIBZMQ. This mechanism is close
to what is done by LIBZMQ/CZMQ/ZYRE for their dependencies.
Additionnaly: Do not copy current source tree to any 'cache' folder. Use
current folder, but make sure all is cleaned before compilation is launched.
This is a lot safer, when building different clones in parrallel...
Enhancement to be reported to CZMQ/ZYRE via ZProject.
2022-10-24 14:10:04 +02:00
Luca Boccassi
34ae0626d4
Merge pull request #4445 from stephan57160/master
...
Problem: Android CI build helper has no trace function.
2022-10-24 12:08:42 +02:00
Guilloux Stephan (Ubuntu)
e1078f2e7c
Problem: Android CI build helper has no trace function.
...
Solution: Add a trace function.
Requires to move the CI build helper code/check/init/... at the end of
helper file.
This new function is available for (and also used by) build.sh.
Output is like:
LIBZMQ (x86_64) - Blah ...
To be reported to CZMQ/ZYRE via ZProject.
2022-10-24 10:59:13 +02:00
Stephan Guilloux
2b2fb9c708
Problem: Android NDK 22 download broken since support of NDK 23. ( #4444 )
...
* Problem: Android NDK 22 download broken since support of NDK 23.
Due to the PR to support NDK 23.
With NDK 23, the archive file name has changed.
This change is handled by the PR to support NDK23, but now, only 23 and after
are supported.
Also, NDK 23 support introduced a 2nd occurence of the variable
HOST_PLATFORM, with another value. One occurence being exported,
this may confuse next developpers (and it actually confused me).
Solution: Code review
1st occurence is simply dropped, and the algorithm around is changed so that
there is no need of a 'host_platform' kind of stuff.
2nd occurrence is renamed to ANDROID_BUILD_PLATFORM.
Note that 'HOST' is replaced by 'BUILD', as this is the common naming
when talking about the build/compilation machine, when cross compiling.
A dedicated function is created in the helpers, to actually download
the NDK. As this function is made 'public', more checks are performed.
Note:
To be reported in CZMQ & ZYRE, via ZPROJECT, where NDK is downloaded
in 2 different files.
2022-10-21 17:36:38 +01:00
Stephan Guilloux
2a7c9efe81
Problem: Android build environment variables need clarifications. ( #4443 )
...
* Problem: Android build environment variables need clarifications.
Reason: All are spread and initialized throughout the code.
Solution: Declare, initialize and document environment variables on top of build.sh.
Side effect: This participates to documentation.
2022-10-21 10:55:33 +01:00
Stephan Guilloux
e6e76096bf
Problem: Android APP fails to load ZMQ (ARM64 only) ( #4442 )
...
* Problem: Android APP fails to load ZMQ (ARM64 only)
Seen with physical Android devices running ARM64.
Not seen with ARM, X86 or X86_64.
Any Android APP loading ZMQ fails with:
```
[FATAL] Couldn't load library library zmq from jar. Dependency is required!
```
Unpack zyre-android-2.0.1.jar, find libzmq.so for ARM64 and look for missing
symbols:
```
prompt> unzip zyre-android-2.0.1.jar
prompt> cd lib/arm64-v8a
prompt> nm --undefined-only ./libzmq.so | head
U __aarch64_ldadd4_acq
U __aarch64_ldadd4_acq_rel
U __aarch64_ldadd4_rel
U __aarch64_ldadd4_relax
U __aarch64_ldadd8_acq_rel
U __aarch64_ldadd8_relax
U __aarch64_swp8_acq
U __aarch64_swp8_acq_rel
U __aarch64_swp8_rel
U __aarch64_swp8_relax
prompt>
```
Some more symbols are missing, but those are relevant for this issue.
OK.
These symbols are present in libc++_shared, but not exported ...:
```
prompt> nm libc++_shared.so | grep aarch64
00000000000ee6d0 t __aarch64_cas1_acq_rel
00000000000ee7a0 t __aarch64_cas8_acq_rel
00000000001028f0 b __aarch64_have_lse_atomics
00000000000ee840 t __aarch64_ldadd4_acq_rel
00000000000ee810 t __aarch64_ldadd4_rel
00000000000ee8a0 t __aarch64_ldadd8_acq_rel
00000000000ee870 t __aarch64_ldadd8_relax
00000000000ee7e0 t __aarch64_swp8_acq_rel
prompt>
```
Issue seen also on the WEB, with GCC & CLANG:
- https://bugzilla.redhat.com/show_bug.cgi?id=1830472
- cea175b838
- ...
Solution: Add `-mno-outline-atomics` to CXXFLAGS (FLUTTER fix).
Additionaly, had to introduce NDK_NUMBER.
This variable is calculated in `android_build_helper.sh`.
It represents the numeric form of NDK_VERSION:
```
NDK_VERSION --> NDK_NUMBER
android-ndk-r25 --> 2500
android-ndk-r23c --> 2303
android-ndk-r22 --> 2200
android-ndk-r21e --> 2105
... and so on
```
This will help a few other things (NDK download ?).
2022-10-18 10:19:15 +01:00
Luca Boccassi
ec1953e614
Merge pull request #4441 from stephan57160/master
...
Added RELICENSE statement
2022-10-13 21:36:25 +02:00
Stephan Guilloux (home)
3c50bd6596
Added RELICENSE statement
2022-10-13 21:29:07 +02:00
Luca Boccassi
a3f95107db
Merge pull request #4439 from stephan57160/master
...
Regression: Android build fails with libsodium.
2022-10-12 10:27:37 +02:00
Stephan Guilloux (cos)
3022e7e099
Regression: Android build fails with libsodium.
...
Scenario:
```
export CURL=libsodium
cd zyre/builds/android
./ci_build.sh
```
Result:
```
Android (arm) build failed for the following reasons:
Found no library named libzmq.so libsodium.so
/home/stephan/git/zproject-android-testing/libzmq/builds/android/prefix/arm/lib/libzmq.so libsodium.so
```
Caused by PR #4437 , where the 2nd commit was to fix Sonatype findings.
Lesson learnt: Not always a good idea to add double quotes around variables ...
Solution: Make VERIFY an array, so that Sonatype won't complain.
2022-10-12 02:43:10 +02:00
Luca Boccassi
c19f83027d
Merge pull request #4438 from stephan57160/master
...
Problem: Android CI build scripts need minor enhancements (traces & cleanup)
2022-10-11 23:32:51 +02:00
Stephan Guilloux (cos)
863b329ccd
Problem: Android CI build scripts need minor enhancements (traces & cleanup).
...
Seen when someone has to relaunch `ci_build.sh` manually, for troubleshooting,
or experiment(s), ci_build.sh stops as libraries are already built.
Solution: Clean more temporary/build folders before build.
Note:
To be reported in ZYRE/CZMQ via ZProject.
When called from ZYRE/CZMQ, it's difficult to identify which build script is
being executed
Solution: Modify each `echo` trace to show the project name and Android architecture in progress.
Note:
To be reported in ZYRE/CZMQ via ZProject.
2022-10-11 23:08:08 +02:00
Stephan Guilloux
65b33ebefa
Problem: Android APP fails to load ZMQ since NDK r25.x ( #4437 )
...
* Problem: Android APP fails to load ZMQ since NDK r25.x
With the help of the dump of ./configure options (former PR):
```
LIBZMQ (arm) - ./configure options to build 'LIBZMQ':
> --quiet
> TOOLCHAIN=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64
> CC=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang
> CXX=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++
> LD=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
> AS=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as
> AR=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
> RANLIB=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib
> STRIP=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip
> CFLAGS= -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE
> CPPFLAGS= -I/home/stephan/git/zproject-android-testing/libzmq/builds/android/prefix/arm/include
> CXXFLAGS=
> LDFLAGS=-L/home/stephan/git/zproject-android-testing/libzmq/builds/android/prefix/arm/lib -L/tmp/android-ndk-r25/sour\
ces/cxx-stl/llvm-libc++/libs/armeabi-v7a
> LIBS=-lc -ldl -lm -llog -lc++_shared
> PKG_CONFIG_LIBDIR=/tmp/android-ndk-r25/prebuilt/linux-x86_64/lib/pkgconfig
> PKG_CONFIG_PATH=/home/stephan/git/zproject-android-testing/libzmq/builds/android/prefix/arm/lib/pkgconfig
> PKG_CONFIG_SYSROOT_DIR=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot
> PKG_CONFIG_DIR=
> --with-sysroot=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot
> --host=arm-linux-androideabi
> --prefix=/home/stephan/git/zproject-android-testing/libzmq/builds/android/prefix/arm
> --disable-curve
> --without-docs
```
We can observe that LDFLAGS has invalid `-L<path_to_libc++_shared.so>`:
```
-L/tmp/android-ndk-r25/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a
```
This path is no more valid, since NDK r25, where one should use LLVM path.
Ok, once this is fixed, ./configure requires also the path to libc.so.
I don't understand why libc.so is now required, actually, but without this, ./configure fails
to build its conftest.
Solution: Fix invalid LDFLAGS.
Notes:
- To be reported to CZMQ/ZYRE via ZPROJECT.
- Tested successfully with Android Emulator (x86 & x86_64).
- Still need some more work, as execution still fails with physical devices (observed on arm64).
- Introduced `ANDROID_STL`, `ANDROID_STL_ROOT` & `ANDROID_LIBC_ROOT`. All are initialized in `android_build_helper.sh`.
- New mechanism **MUST** be compatible with former NDK versions.
2022-10-11 21:40:13 +01:00
Luca Boccassi
1c92300933
Merge pull request #4435 from stephan57160/master
...
Problem: Android build system needs some debug (./configure options)
2022-10-06 18:34:04 +02:00
Guilloux Stephan (Ubuntu)
426985cb2c
TAB -> SPACE
2022-10-06 11:32:57 +02:00
Guilloux Stephan (Ubuntu)
a20527da7f
Problem: Android build system needs some debug (./configure options)
...
Proposal is to dump ./configure options to have an output like below:
```
LIBZMQ (x86_64) - ./configure options to build 'LIBZMQ':
> --quiet
> TOOLCHAIN=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64
> CC=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android21-clang
> CXX=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android21-clang++
> LD=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
> AS=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as
> AR=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
> RANLIB=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib
> STRIP=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip
> CFLAGS= -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE
> CPPFLAGS= -I/builds/CrisalidBox/zproject-android-testing/libzmq/builds/android/prefix/x86_64/include
> CXXFLAGS=
> LDFLAGS=-L/builds/CrisalidBox/zproject-android-testing/libzmq/builds/android/prefix/x86_64/lib -L/tmp/android-ndk-r25/sources/cxx-stl/llvm-libc++/libs/x86_64
> LIBS=-lc -ldl -lm -llog -lc++_shared
> PKG_CONFIG_LIBDIR=/tmp/android-ndk-r25/prebuilt/linux-x86_64/lib/pkgconfig
> PKG_CONFIG_PATH=/builds/CrisalidBox/zproject-android-testing/libzmq/builds/android/prefix/x86_64/lib/pkgconfig
> PKG_CONFIG_SYSROOT_DIR=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot
> PKG_CONFIG_DIR=
> --with-sysroot=/tmp/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot
> --host=x86_64-linux-android
> --prefix=/builds/CrisalidBox/zproject-android-testing/libzmq/builds/android/prefix/x86_64
> --disable-curve
> --without-docs
```
Note:
This mechanism is currently in use to identify/fix a bug in a recent PR for NDK update.
This mechanism is added before every call of `./configure`.
To be reported to CZMQ/ZYRE (via ZPROJECT).
2022-10-06 11:08:06 +02:00
Luca Boccassi
875c2b15c3
Merge pull request #4433 from stephan57160/master
...
Problem: Android build script may fail silently
2022-10-02 10:21:53 +01:00
Stephan Guilloux (cos)
0d49eddf16
Problem: Android build script may fail silently
...
Solution: Use `set -e`
Note:
To be reported in ZPROJECT, when generating the same for CZMQ & ZYRE.
Note:
`make clean` may fail when Makefile is not yet generated
(case of 1st call of build.sh after git clone).
Additionnaly, cleaned the dependency folder
(report of ZPROJECT generated scripts).
2022-10-02 02:27:12 +02:00
Teebonne
8061a33e13
sodium, not Sodium
...
sodium, not Sodium
2022-10-01 15:29:42 +01:00
Luca Boccassi
a782d79d45
Merge pull request #4431 from stephan57160/master
...
Problem: Android helpers no not validate dependent libraries.
2022-10-01 11:56:10 +01:00
Stephan Guilloux (cos)
8b8fb6d80e
Problem: Android helpers no not validate dependent libraries.
...
Seen in the code:
```
function android_build_verify_so {
...
for dep_soname do
if [[ $elfoutput != *"library: [${dep_soname}]"* ]]; then
ANDROID_BUILD_FAIL+=("Library ${soname} was expected to be linked to library with soname:")
ANDROID_BUILD_FAIL+=(" ${dep_soname}")
fi
done
```
The `for xxx` syntax is wrong, most probably a typo somewhere.
Solution: Fix & complete the `for xxx` loop.
Tested with & without LIBSODIUM (only available dependent library for LIBZMQ).
Note: The same has to be done in ZPROJECT, for CZMQ & ZYRE.
2022-10-01 03:59:23 +02:00
Luca Boccassi
e15fb044ef
Merge pull request #4430 from nyfix/test_spec_req_tmo
...
avoid intermittent timeouts in test (esp. when run w/ASAN etc.)
2022-09-30 21:45:04 +01:00
Bill Torpey
25b3e7af02
avoid intermittent timeouts in test (esp. when run w/ASAN etc.)
2022-09-30 11:45:19 -04:00
Luca Boccassi
c73447b9e7
Merge pull request #4429 from benjdero/master
...
Problem: Default Android NDK version is not aligned with zproject
2022-09-26 14:15:03 +01:00
Benjamin Deroche
1f1e8145d0
Problem: Default Android NDK version is not aligned with zproject
...
Solution: Set NDK r25 as the default. No compatiblity changes required.
2022-09-26 14:47:05 +02:00
Luca Boccassi
ec6f3b1dba
Merge pull request #4427 from stephan57160/master
...
Problem: builds/android/build.sh fails with CURVE=libsodium
2022-09-22 11:35:00 +01:00
Stephan Guilloux (cos)
d4dd8a5417
Changed more git:gihub.com to https://github.com
2022-09-22 02:47:22 +02:00
Stephan Guilloux (cos)
a7774e38e6
Problem: builds/android/build.sh fails with CURVE=libsodium
...
How to reproduce:
```
prompt> git clone libzmq
prompt> cd libzmq/builds/android
prompt> export CURVE=libsodium
prompt> ./ci_build.sh
Cloning into 'libsodium'...
fatal: unable to connect to github.com:
github.com[0: 140.82.121.4]: errno=Connection timed out
Cloning into 'libsodium'...
fatal: unable to connect to github.com:
github.com[0: 140.82.121.3]: errno=Connection timed out
Cloning into 'libsodium'...
fatal: unable to connect to github.com:
github.com[0: 140.82.121.3]: errno=Connection timed out
Cloning into 'libsodium'...
fatal: unable to connect to github.com:
github.com[0: 140.82.121.4]: errno=Connection timed out
prompt>
```
Reason: Invalid URL to download libsodium:
```
prompt> grep -s 'git clone' libzmq/builds/android/*.sh
libzmq/builds/android/build.sh:70: (cd "${cache}" && git clone -b stable --depth 1 git://github.com/jedisct1/libsod
^^^^^^^^^^^^^^^^^
```
URL should be either:
- `git@github.com:`
- `https://github.com/ ` same given in [zproject](https://github.com/zeromq/zproject/blob/master/zproject_known_projects.xml#L108-L111 ).
Solution: Change URL to `https://`.
Result:
```
prompt> export CURVE=libsodium
prompt> ./ci_build.sh
Cloning into 'libsodium'...
remote: Enumerating objects: 659, done.
remote: Counting objects: 100% (659/659), done.
remote: Compressing objects: 100% (586/586), done.
remote: Total 659 (delta 159), reused 220 (delta 34), pack-reused 0
Receiving objects: 100% (659/659), 1.97 MiB | 4.00 MiB/s, done.
Resolving deltas: 100% (159/159), done.
autoconf scripts already exist.
...
libtool: install: /bin/install -c tools/.libs/curve_keygen /home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/bin/curve_keygen
/bin/mkdir -p '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/include'
/bin/install -c -m 644 include/zmq.h include/zmq_utils.h '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/include'
/bin/mkdir -p '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/lib/pkgconfig'
/bin/install -c -m 644 src/libzmq.pc '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/lib/pkgconfig'
make[2]: Leaving directory `/tmp/android_build/x86_64/libzmq'
make[1]: Leaving directory `/tmp/android_build/x86_64/libzmq'
libzmq android build succeeded
prompt>
```
2022-09-22 00:43:57 +02:00
Jack·Boos·Yu
9d4685d90c
[document] add vcpkg instruction ( #4425 )
...
* [document] Add vcpkg instruction step
2022-09-16 11:24:11 +01:00
Luca Boccassi
0ec2178edf
Merge pull request #4422 from minrk/bind-can-fail
...
Problem: bind can fail after open_socket succeeds on Windows without AF_UNIX
2022-09-08 16:17:39 +01:00
Min RK
bf906ee346
AF_UNIX support may fail on bind
2022-09-08 15:10:04 +02:00
Min RK
b2921d7183
check rc in make_fdpair
...
since it can fail, e.g. Windows + AF_UNIX
2022-09-08 11:17:51 +02:00
Abael He
4e193f36fc
Problem: some tools misdetect null access or broken libsodium implementation
...
Build all projects
** BUILD SUCCEEDED **
bash-3.2# cd bin/Debug/
bash-3.2# for x in ./* ; do ./$x 1> /dev/null 2>/dev/null || echo $x ; done
./test_bind_curve_fuzzer
./test_bind_fuzzer
./test_bind_null_fuzzer
./test_connect_curve_fuzzer
./test_connect_fuzzer
./test_connect_null_fuzzer
Segmentation fault: 11
./test_security_curve
./test_z85_decode_fuzzer
bash-3.2# ./test_bind_curve_fuzzer
bash-3.2# ./test_bind_curve_fuzzer
bash-3.2# ./test_bind_fuzzer
bash-3.2# ./test_bind_null_fuzzer
bash-3.2# ./test_connect_curve_fuzzer
bash-3.2# ./test_connect_fuzzer
bash-3.2# ./test_security_curve
Segmentation fault: 11
bash-3.2# lldb ./test_security_curve
(lldb) target create "./test_security_curve"
Current executable set to '/Users/abaelhe/Downloads/libzmq-master/build/bin/Debug/test_security_curve' (x86_64).
(lldb) r
Process 39009 launched: '/Users/abaelhe/Downloads/libzmq-master/build/bin/Debug/test_security_curve' (x86_64)
Process 39009 stopped
* thread #3 , name = 'ZMQbg/IO/0', stop reason = signal SIGSEGV
frame #0 : 0x00007ff80f64f192 libsystem_kernel.dylib`__pthread_sigmask + 10
libsystem_kernel.dylib`__pthread_sigmask:
-> 0x7ff80f64f192 <+10>: jae 0x7ff80f64f19c ; <+20>
0x7ff80f64f194 <+12>: movq %rax, %rdi
0x7ff80f64f197 <+15>: jmp 0x7ff80f64a1c5 ; cerror_nocancel
0x7ff80f64f19c <+20>: retq
Target 0: (test_security_curve) stopped.
(lldb) bt
warning: could not find Objective-C class data in the process. This may reduce the quality of type information available.
* thread #3 , name = 'ZMQbg/IO/0', stop reason = signal SIGSEGV
* frame #0 : 0x00007ff80f64f192 libsystem_kernel.dylib`__pthread_sigmask + 10
frame #1 : 0x00007ff80f685acb libsystem_pthread.dylib`pthread_sigmask + 9
frame #2 : 0x00007ff80f5d1d19 libsystem_c.dylib`abort + 112
frame #3 : 0x0000000100333551 libsodium.23.dylib`_out_of_bounds.cold.1 + 17
frame #4 : 0x0000000100316229 libsodium.23.dylib`_out_of_bounds + 9
frame #5 : 0x0000000100316218 libsodium.23.dylib`sodium_free + 408
frame #6 : 0x00000001005a6d0d libzmq.5.dylib`zmq::secure_allocator_t<unsigned char>::deallocate(this=0x00007000014c6ce0, p="", (null)=96) at secure_allocator.hpp:63:56
frame #7 : 0x00000001005a6c25 libzmq.5.dylib`std::__1::allocator_traits<zmq::secure_allocator_t<unsigned char> >::deallocate(__a=0x00007000014c6ce0, __p="", __n=96) at allocator_traits.h:282:13
frame #8 : 0x00000001005a6484 libzmq.5.dylib`std::__1::__vector_base<unsigned char, zmq::secure_allocator_t<unsigned char> >::~__vector_base(this=0x00007000014c6cd0) at vector:488:9
frame #9 : 0x00000001005acae2 libzmq.5.dylib`std::__1::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >::~vector(this=0x00007000014c6cd0 size=0) at vector:579:5
frame #10 : 0x00000001005ac165 libzmq.5.dylib`std::__1::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >::~vector(this=0x00007000014c6cd0 size=0) at vector:574:5
frame #11 : 0x00000001005ab2e7 libzmq.5.dylib`zmq::curve_server_t::process_hello(this=0x000000010182c600, msg_=0x00006000037001e8) at curve_server.cpp:208:1
frame #12 : 0x00000001005aad30 libzmq.5.dylib`zmq::curve_server_t::process_handshake_command(this=0x000000010182c600, msg_=0x00006000037001e8) at curve_server.cpp:104:18
frame #13 : 0x000000010062ccd7 libzmq.5.dylib`zmq::stream_engine_base_t::process_handshake_command(this=0x000000010182d400, msg_=0x00006000037001e8) at stream_engine_base.cpp:491:32
frame #14 : 0x000000010062ba21 libzmq.5.dylib`zmq::stream_engine_base_t::in_event_internal(this=0x000000010182d400) at stream_engine_base.cpp:309:14
frame #15 : 0x000000010062b665 libzmq.5.dylib`zmq::stream_engine_base_t::in_event(this=0x000000010182d400) at stream_engine_base.cpp:243:22
frame #16 : 0x00000001005c0889 libzmq.5.dylib`zmq::kqueue_t::loop(this=0x00006000037000c0) at kqueue.cpp:218:30
frame #17 : 0x00000001005eefa9 libzmq.5.dylib`zmq::worker_poller_base_t::worker_routine(arg_=0x00006000037000c0) at poller_base.cpp:146:51
frame #18 : 0x0000000100637e66 libzmq.5.dylib`thread_routine(arg_=0x0000600003700100) at thread.cpp:256:5
frame #19 : 0x00007ff80f6864e1 libsystem_pthread.dylib`_pthread_start + 125
frame #20 : 0x00007ff80f681f6b libsystem_pthread.dylib`thread_start + 15
(lldb)
2022-08-10 22:21:00 +01:00
Luca Boccassi
05701e4a56
Merge pull request #4412 from caicaiking/master
...
Problem: get_opt function read the options value not thread safe
2022-08-10 22:15:08 +01:00
Abama.cai
65eee9354a
Update tongsong-cai.md
2022-08-11 03:02:56 +08:00
Abama cai
6d131718f3
Add RELICENSE statement
2022-08-11 02:46:31 +08:00
Abama cai
717d1980ee
Problem: get_opt function read the options value maybe not thread safe
...
Solution: use scoped lock to prevent them from being modified during reading
2022-08-10 22:35:14 +08:00
Luca Boccassi
0251be4d77
Merge pull request #4409 from nevalsar/master
...
Problem: Incorrect formatting of documentation in zmq_udp.txt
2022-08-03 16:19:01 +01:00
Nevin Valsaraj
5a9523227a
Add relicense for nevalsar
...
Add relicense statement for nevalsar.
2022-08-03 08:09:26 -07:00
Nevin Valsaraj
ea1962b825
Problem: Incorrect formatting of documentation in zmq_udp.txt
...
Solution: Replace incorrect underline pattern in zmq_udp.txt that
makes part of the text show up as pre-formatted code block with
regular underline pattern.
2022-07-22 09:19:13 -07:00
Luca Boccassi
8fd1ec0592
Merge pull request #4406 from abaelhe/patch-2
...
Permission to Relicense under relevant approved license
2022-07-17 16:10:58 +01:00
Abael He
ceaccd7f9d
Permission to Relicense under relevant approved license
...
Permission to Relicense under MPLv2 or any other OSI approved license chosen by the current ZeroMQ BDFL
By Abael He<abaelhe@icloud.com>
2022-07-17 23:08:08 +08:00
Luca Boccassi
37224c93de
Merge pull request #4383 from benjdero/master
...
Revert "Problem: Libs crash at runtime on Android when built with NDK 23+
2022-05-12 09:55:35 +01:00
Benjamin Deroche
5f6f708f29
Revert "Problem: Libs crash at runtime on Android when built with NDK 23+"
...
This reverts commit 9c6f09cbe551e08782b67fae367b56dc69f656f7.
2022-05-11 17:25:46 +02:00
Luca Boccassi
2d805026bb
Merge pull request #4382 from benjdero/master
...
Problem: Libs crash at runtime on Android when built with NDK 23+
2022-05-10 18:02:17 +01:00
Benjamin Deroche
9c6f09cbe5
Problem: Libs crash at runtime on Android when built with NDK 23+
...
Solution: Fix the recently updated scripts
2022-05-10 15:21:06 +02:00
Luca Boccassi
f7d4910017
Merge pull request #4381 from benjdero/master
...
Problem: Accidentaly deleted a comment when updating Android build sc…
2022-05-09 15:25:18 +01:00
Benjamin Deroche
a49a4d0997
Problem: Accidentaly deleted a comment when updating Android build scripts
...
Solution: Restore it
2022-05-09 16:18:02 +02:00
Luca Boccassi
ecfa5eccfb
Merge pull request #4380 from benjdero/master
...
Problem: Android build scripts does not work with latest NDK versions
2022-05-09 13:47:26 +01:00
Benjamin Deroche
d1ee71a634
Problem: Android build scripts does not work with latest NDK versions
...
Solution: Update the build scripts to work with NDK versions r23 and r24
2022-05-09 12:15:49 +02:00
Bill Torpey
edfbb1ced6
default to not building tests if cmake version can't handle skipped tests ( #4376 )
...
* default to not building tests if cmake version can't handle skipped tests (see https://github.com/zeromq/libzmq/issues/4375 )
2022-05-03 22:18:44 +01:00
Luca Boccassi
572eb008f1
Merge pull request #4365 from bluca/obs
...
Problem: cannot use obs_scm which is faster than tar_scm
2022-04-09 01:16:41 +01:00
Luca Boccassi
c5d1bbf6f0
Problem: cannot use obs_scm which is faster than tar_scm
...
Solution: rename dsc file so that it matches expected format
2022-04-08 01:41:50 +01:00
Luca Boccassi
2ab472e735
Problem: manual release OBS trigger is flaky
...
Solution: use workflow instead
2022-04-08 01:23:51 +01:00
Luca Boccassi
e9e01faa73
Merge pull request #4360 from darkdragon-001/fix-pkgconfig
...
Fix pkgconfig
2022-03-15 13:43:25 +00:00
Darkdragon-001
58c2ac15b4
Add RELICENSE.
2022-03-15 12:44:01 +01:00
Darkdragon-001
ff2987d24a
Fix pkgconfig
...
Use CMake install variables instead of hardcoded values.
2022-03-15 12:12:21 +01:00
Luca Boccassi
f13f891c91
Merge pull request #4357 from ferdnyc/doc-spec-ref
...
Problem: Docs reference outdated spec
2022-03-03 10:34:50 +00:00
FeRD (Frank Dana)
159bf0f3ad
Problem: Docs reference outdated spec
...
Solution: Update with URL to current stable spec
2022-03-03 02:20:39 -05:00
Luca Boccassi
81a8211eeb
Merge pull request #4348 from rex4539/typos
...
Fix typos
2022-02-10 23:35:37 +00:00
Dimitris Apostolou
538fdb6e4c
Add relicense statement
2022-02-11 01:31:14 +02:00
Dimitris Apostolou
6b8dd84a63
Fix typos
2022-02-11 00:45:06 +02:00
Luca Boccassi
ca6dc86178
Merge pull request #4346 from Jasper-Bekkers/patch-2
...
Fix minor casing issue in include files
2022-02-08 20:52:21 +00:00
Jasper Bekkers
d01f244cf6
Add relicense
2022-02-08 16:17:29 +01:00
Jasper Bekkers
aea0665eec
Fix minor casing issue in include files
...
This fails when compiling x86_64-pc-windows-msvc targets on a case sensitive file system.
2022-02-06 22:12:19 +01:00
Luca Boccassi
a01d259db3
Merge pull request #4334 from bluca/gcc_fix
...
Problem: build fails with gcc 12
2022-01-18 20:17:32 +00:00
Luca Boccassi
176d72cc9b
Problem: build fails with gcc 12
...
Solution: change test_monitor and example
2022-01-18 16:15:07 +00:00
Wojciech Kula
f03391640b
Add relicense statement for Cziken
2022-01-13 09:08:23 +00:00
Luca Boccassi
612170a570
Add relicense grant from hitstergtd
...
Received via email, message-id:
<CAMiF1Pqf9c=KPAC9SMinKdPLVdfwB0D1B-ZbJAEMzyZmSyqQQg@mail.gmail.com>
2022-01-08 14:26:09 +00:00
Luca Boccassi
36f3d50c59
Merge pull request #4328 from tranthamp/master
...
Add license file for tranthamp
2022-01-07 19:06:54 +00:00
Patrick Trantham
e38a7f84d8
Add license file for tranthamp
2022-01-07 12:55:45 -06:00
fanquake
6473bf4166
problem: kevent udata is now void* on NetBSD Current (10)
...
solution: check for the intptr_t variant in configure.
2022-01-03 18:03:14 +00:00
Luca Boccassi
8e98b79f23
Merge pull request #4325 from fanquake/fix_builtin_typo
...
problem: typo in configure.ac output
2022-01-03 12:56:35 +00:00
fanquake
25d0a280e0
problem: typo in configure.ac output
...
solution: fix the typo
2022-01-03 19:44:07 +08:00
Luca Boccassi
ee09926cbd
Merge pull request #4323 from boscosiu/cmake-export-use-draft-api
...
Problem: ZMQ_BUILD_DRAFT_API define is not propagated to dependent CMake projects
2021-12-29 12:46:47 +00:00
boscosiu
4d0f4ebd69
Problem: ZMQ_BUILD_DRAFT_API define is not propagated to dependent CMake projects
...
Solution: Add the definition to the relevant CMake targets in public scope. Fixes #4194
2021-12-28 18:23:05 -08:00
Luca Boccassi
7755c8442e
Merge pull request #4317 from tarmo/router-metadata-prefetch
...
Problem: ROUTER loses first frame metadata on message prefetch
2021-12-16 12:20:31 +00:00
Tarmo Tänav
74529d97b2
Problem: ROUTER loses first frame metadata on message prefetch
...
Solution: copy metadata on prefetch to the first frame
2021-12-16 10:17:44 +02:00
Luca Boccassi
ab9c7add58
Merge pull request #4314 from ThalesGroup/issue-4312-epoll-invalid-null-pointer
...
Issue 4312 : Fix epoll invalid event data pointer
2021-12-03 18:31:51 +00:00
patrick-volante
f6eb59c269
issue-4312 Add relicnce file.
2021-12-03 16:21:51 +01:00
patrick-volante
2c415b6f68
Problem: inside the event array, epoll return an event with invalid data pointer which create a segmentation fault
...
Tests to prevent segmentation fault due to null pointer are added.
2021-12-03 11:58:20 +01:00
Luca Boccassi
1d3633742a
Merge pull request #4311 from myd7349/fix-sockaddr_un-redefinition
...
Problem: struct sockaddr_un redefinition
2021-11-25 12:07:00 +00:00
myd7349
471ea68caf
Problem: struct sockaddr_un redefinition
...
The definition of sockaddr_un should be protected by the include guard.
2021-11-25 08:35:58 +08:00
myd7349
5eb0b00c87
Problem: In rare cases, afunix.h doesn't contain a definition for struct sockaddr_un ( #4310 )
...
* Problem: In rare cases, afunix.h doesn't contain a definition for struct sockaddr_un
According to https://github.com/microsoft/vcpkg/issues/21623 ,
struct sockaddr_un might be unavailable on some machines even afunix.h exists.
For example, on some machines, the content of afunix.h looks like this:
typedef struct _SOCKADDR_UN
{
ADDRESS_FAMILY Family;
wchar_t Path[63];
} SOCKADDR_UN, *PSOCKADDR_UN;
but on other machines, it may looks like this:
#define UNIX_PATH_MAX 108
typedef struct sockaddr_un
{
ADDRESS_FAMILY sun_family;
char sun_path[UNIX_PATH_MAX];
} SOCKADDR_UN, *PSOCKADDR_UN;
Fixes #3949
References:
- [Enable Unix-domain sockets support on Windows](8f3ec75de4
)
- [AF_UNIX equivalent for Windows](https://stackoverflow.com/questions/9029174/af-unix-equivalent-for-windows )
- https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
2021-11-24 14:55:45 +00:00
Luca Boccassi
5a9c174dab
Merge pull request #4309 from dgloe-hpe/3313-fork-detection
...
Problem: Fix fork detection on gcc 7
2021-11-23 19:17:26 +00:00
David Gloe
72b5359049
Problem: Missing relicense statement for dgloe-hpe
...
Solution: Add new author to the existing HPE relicense statement.
2021-11-23 16:27:52 +00:00
David Gloe
240e36af4e
Problem: Fix fork detection on gcc 7
...
Solution: When compiling with gcc 7 and newer, the program produced by
AC_CHECK_FUNCS(fork) produces a warning, which results in configure
incorrectly disabling fork support. Fix the issue by using an
AC_COMPILE_IFELSE which correctly detects fork availability.
Tested by running configure and make check on a system with gcc 7
installed, and verifying that HAVE_FORK was defined correctly.
See issue #3313 .
2021-11-23 15:47:57 +00:00
Niyas Sait
4b48007927
add win/arm64 to supported platform list
2021-11-15 14:33:20 +00:00
Luca Boccassi
2375ca8b26
Merge pull request #4299 from nsait-linaro/enable_woa64
...
Get cycle count from ARM64 PMCCNTR_EL0 register
2021-11-15 12:56:22 +00:00
Niyas Sait
0d86aa517f
Fix linting error reported by clang-format
2021-11-15 10:31:21 +00:00
Niyas Sait
c3b3ea7ec2
add relicense for niyas sait
2021-11-15 09:42:28 +00:00
Niyas Sait
e9f86fee61
Get cycle count from ARM64 PMCCNTR_EL0 register
2021-11-15 09:12:11 +00:00
Luca Boccassi
329824cafe
Merge pull request #4294 from thielepaul/master
...
Problem: if ZMQ_XPUB_VERBOSER is used with proxies unsubscribe messages are lost
2021-11-05 17:44:34 +00:00
Paul Thiele
add81132c5
Problem: no relicense agreement by thielepaul
...
Solution: added relicense agreement
2021-11-05 15:15:19 +01:00
Paul Thiele
6737d50933
Problem: if ZMQ_XPUB_VERBOSER is used with proxies unsubscribe messages are lost
...
Solution: add socket option ZMQ_XSUB_VERBOSE_UNSUBSCRIBE to forward all unsubscribe messages
2021-11-05 15:12:31 +01:00
Luca Boccassi
d62fd1ac7a
Problem: formatting broken
...
Solution: run make clang-format-diff
2021-11-03 19:39:50 +00:00
Qqzk
bb7a1cc018
Update decoder_allocators.cpp
...
zmq::shared_message_memory_allocator::deallocate () need to descontruct the object created by new operator.
2021-11-03 19:37:41 +00:00
Qqzk
8f238ae0b4
Create qzkLicense
2021-11-03 15:30:31 +00:00
Luca Boccassi
bddd0bc690
Merge pull request #4290 from thxkiwi/PR_issue_4287
...
Problem: (Windows) /GL /LTCG breaks builds when the compiler/linker o…
2021-10-29 00:30:24 +01:00
Michael Ngarimu
a6ed5b7a3f
Adding missing RELICENSE file
...
Resolves zeromq/libzmq#4287
2021-10-28 11:28:19 -07:00
Michael Ngarimu
7c625afcc0
Problem: (Windows) /GL /LTCG breaks builds when the compiler/linker of static library differs from compiler/linker of executable
...
Solution: Enable /GL and /LTCG if and only if building as a Release (i.e. non-DEBUG) DLL.
Resolves zeromq/libzmq#4287
2021-10-27 22:17:21 -07:00
mjvankampen
36d6b5d923
Problem: polling_util.hpp missing sys/select.h include ( #4283 )
...
* Problem: polling_util.hpp missing sys/select.h include
Solution: include sys/select.h
2021-10-21 20:56:32 +01:00
Luca Boccassi
b2ab09bf79
Merge pull request #4285 from mjvankampen/fix/cmake_cxx_standard
...
Problem: newer cmake versions set CMAKE_C(XX)_FLAGS at a later stage …
2021-10-21 14:51:14 +01:00
Mark Jan van Kampen
c036d66286
Problem: newer cmake versions set CMAKE_C(XX)_FLAGS at a later stage not allowing a user to override the standard
...
Solution: check for C(XX)_STANDARD/CMAKE_C(XX)_STANDARD as well
Fixes #4284
2021-10-21 12:24:12 +02:00
Benjamin Deroche
519e2bf129
Problem: Android build script isn't compatible with latest NDK version ( #4278 )
...
* Problem: Android build script isn't compatible with latest NDK version
Solution: Update to Android NDK r22b
2021-10-18 10:05:10 +01:00
Gudmundur Adalsteinsson
7c2df78b49
Problem: Invalid and inconsistent poller docs
...
Solution: Fix it and make example code more complete
2021-10-10 11:55:56 +01:00
Luca Boccassi
e39a93e652
Problem: OBS CI config needs update following breaking change
...
https://openbuildservice.org/2021/09/28/support-for-push-events/
2021-10-07 11:45:59 +01:00
E. G. Patrick Bos
9fbfa40bab
Problem: when linking to libzmq in my project, I want zmq symbols to remain invisible to users of my library. There is no way to control this, since visibility is set automatically through ZMQ_EXPORT based on OS and compiler.
...
Solution: add a preprocessor variable ZMQ_NO_EXPORT that, when set, bypasses the automatic ZMQ_EXPORT determination block and just sets ZMQ_EXPORT to empty.
By combining this solution at configuration time with manually passing -fvisibility=hidden to CXXFLAGS, I solved my visibility problem. Just passing -fvisibility=hidden is not enough, because __attribute__ ((visibility ("default"))) has higher priority.
2021-10-07 10:48:58 +01:00
Luca Boccassi
5d8d857540
Merge pull request #4264 from analogist/master
...
mingw-w64 10.3 build fix - winsock socket() return unsigned
2021-09-25 11:31:27 +01:00
James Wu
228edc92a9
fix test comparison between -1 and unsigned winsock2.h socket return
2021-09-24 13:13:19 -07:00
Luca Boccassi
de0b3e72dd
Merge pull request #4255 from egpbos/zmq_ppoll
...
add zmq_ppoll
2021-09-24 12:56:27 +01:00
E. G. Patrick Bos
36e4c9b474
add zmq_ppoll
...
zmq_ppoll mostly mimics zmq_poll behavior, except for the added feature of being able to specify a signal mask. Signals in this mask will be blocked during execution of zmq_ppoll. Switching of the process' active signal mask happens atomically with the actual poll call, so that no race conditions can occur. This behavior is useful when one wants to gracefully handle POSIX signals without race conditions. See e.g. the discussion below https://250bpm.com/blog:12/ for an explanation.
Also includes two new tests:
1. test_zmq_ppoll_fd does the same thing as test_zmq_poll_fd, demonstrating backwards compatibility with zmq_poll when used with a default signal mask.
2. test_zmq_ppoll_signals demonstrates the use of zmq_ppoll with a signal mask, blocking out SIGTERM everywhere except in zmq_ppoll, allowing to handle the signal in one place without having to worry about race conditions.
2021-09-24 11:04:20 +02:00
Luca Boccassi
f730e03835
Merge pull request #4259 from bluca/ci
...
Problem: Travis is no longer free for FLOSS projects
2021-09-22 21:13:27 +01:00
Luca Boccassi
cf8afcc411
Problem: Travis is no longer free for FLOSS projects
...
Solution: switch to Github Actions
Travis recently started enforcing credits for OSS projects without
any funding. While it is possible to get free credits, it is a manual
step that involves contacting customer support via email and asking to
add them, every week. While this does not require money, it requires
something far scarcer: volunteers time.
Drop Travis and migrate to Github Actions.
2021-09-22 16:42:09 +01:00
Luca Boccassi
6f200814cd
Problem: some tests occasionally fail on OBS
...
Solution: ignore them
2021-09-22 16:42:09 +01:00
Luca Boccassi
2a954b301e
Problem: test_security_curve always fails when run by CMake under Github Actions
...
Solution: skip it
2021-09-22 16:42:09 +01:00
Luca Boccassi
276bab8d3b
Problem: test_socks and test_proxy hang under valgrind in Github Actions
...
Solution: skip them
2021-09-22 16:40:17 +01:00
Luca Boccassi
e3d37a82e1
Problem: some tests time out in CI under Valgrind
...
Solution: triple the timeouts
2021-09-22 16:40:17 +01:00
Luca Boccassi
0f706bdd97
Problem: formatting errors
...
Solution: run make clang-format-diff
2021-09-22 16:40:17 +01:00
Luca Boccassi
11f0802912
Problem: VMCI might not be supported by CI
...
Solution: skip tests if zmq_bind fails with EAFNOSUPPORT
2021-09-22 16:40:17 +01:00
Luca Boccassi
37c548d62b
Problem: test_pair_tcp_cap_net_admin requires privileges and might fail
...
Solution: skip it if EOPNOTSUPP is returned instead of failing
2021-09-22 16:40:17 +01:00
Luca Boccassi
0eefa8b582
Problem: README.md does not mention Libera.chat
...
Solution: fix it
Closes #4261
2021-09-22 15:56:26 +01:00
Tim Blechmann
2bfef9aff3
epoll: add missing override statement
2021-09-22 10:11:03 +01:00
Luca Boccassi
ade334faa4
Merge pull request #4258 from timblechmann/feature/add-missing-override-statements
...
add missing override statements
2021-09-21 15:24:51 +01:00
Tim Blechmann
51e97c5480
add missing override statements
2021-09-21 20:13:41 +08:00
Tim Blechmann
5d04e20a01
relicense: add relicense statement for tim blechmann
2021-09-21 20:13:41 +08:00
Gudmundur Adalsteinsson
056f37f352
Problem: fast vector resize bug
...
Solution: init correct vector size and copy previous data into it
2021-09-01 09:58:34 +01:00
Luca Boccassi
80fef55955
Merge pull request #4246 from YunYe-Pu/yunye-patch-wss
...
Problem: WSS broken under high load
2021-08-31 18:31:52 +01:00
Yunye Pu
c8dfa36935
Add relicense statement for Yunye Pu
2021-08-31 13:47:33 +08:00
Yunye Pu
0e3073f402
Problem: WSS broken under contention
...
Solution: Make wss_engine_t's read and write consistent with stream_engine_base_t
2021-08-31 13:29:41 +08:00
Min RK
bcb659e00e
Problem: calling randombytes_close with libsodium can crash Contexts in other threads ( #4242 )
...
* add opt-out for randombytes_close
Problem: randombytes_close is either a no-op or unsafe when a Context is running.
Unfortunately, there does not appear to be a single always correct choice,
so let builders pick between two not-great options.
Opting out can leak an FD on /dev/urandom which may need to be closed explicitly.
However, with the default behavior,
using multiple contexts with CURVE can crash with no application-level workaround available.
randombytes_close is not threadsafe and calling it while still in use by a Context can cause a crash.
For implementations using /dev/[u]random, this can leave up to one leftover FD per process.
The libsodium docs suggest that this function rarely needs to be called explicitly.
2021-08-13 15:11:29 +01:00
Luca Boccassi
f6e99e72ec
Merge pull request #4236 from ChrisThrasher/enable-drafts-messages
...
Correct messages about whether or not the draft API is being built
2021-08-03 09:39:17 +01:00
Chris Thrasher
4756c04da0
Correct messages about whether or not the draft API is being built
...
If you cloned and built this repo or built it from a submodule, it
would always report "Build and install draft classes and methods"
which first might be wrong if ENABLE_DRAFTS is OFF but also didn't
match the tense of other similar messages about build options.
2021-08-02 21:13:14 -06:00
Luca Boccassi
c45750a29f
Problem: formatting broken
...
Solution: run make clang-format-diff
2021-07-30 14:40:47 +01:00
Luca Boccassi
1caef95b48
Merge pull request #4235 from saschavv/fix_widechar_path_crash
...
Fix crash in context with wide characters in path
2021-07-30 14:39:44 +01:00
Sascha van Vliet
efd62e3e38
Add missing relicense agreement
...
To add code to the repository a relicense agreement is needed.
2021-07-30 13:28:11 +02:00
Sascha van Vliet
720ad05529
Fix crash in context with wide characters in path
...
The create_ipc_wildcard_address doesn't takes wide characters
into account while building a string from a temporary path.
The tmpnam_s can return a path in the user temp folder which
can contain special characters.
The string that is returned from the create_ipc_wildcard_address
will be used in the bind routine which will return an error code.
2021-07-30 10:47:08 +02:00
Luca Boccassi
a2d21f63cf
Merge pull request #4234 from sabotagebeats/fix/issues/4231
...
fix: building libzmq fails with error src/clock.cpp
2021-07-24 11:48:25 +01:00
sabotagebeats
430ffe61b7
fix: relicense
2021-07-24 01:36:58 -07:00
sabotagebeats
06aba27b04
fix: building libzmq fails with error src/clock.cpp:131:16: error: unused variable 'nsecs_per_usec'
2021-07-22 21:53:19 -07:00
Arnaud Loonstra
72b03aa281
Merge pull request #4230 from bluca/ci
...
Problem: some CI jobs always fail
2021-07-04 22:46:43 +02:00
Luca Boccassi
ddfddf8f01
Problem: appveyor has broken libsodium cache
...
Solution: fetch and reset instead of pulling
2021-07-04 18:35:14 +01:00
Luca Boccassi
0e795be8a8
Problem: OSX Travis builds using homebrew are timing out
...
Solution: use the Travis addon instead of installing manually
2021-07-04 16:15:32 +01:00
Luca Boccassi
6f76026541
Problem: Appveyor build fails to clone libsodium
...
Solution: set git user/email, otherwise git clone fails
2021-07-04 16:15:32 +01:00
Luca Boccassi
5cc6755174
Merge pull request #4227 from ChrisThrasher/remove_language_extensions
...
Use standard C and C++
2021-07-01 19:21:20 +01:00
Chris Thrasher
ef110f92c3
Add RELICENSE statement
2021-07-01 09:38:04 -06:00
Chris Thrasher
4fc83178aa
Use standard C11 and C++11
...
Retain GNU extensions for C99 and C++98 since testing old compilers
is especially difficult and these compilation modes exist to maintain
compatability.
2021-07-01 09:37:02 -06:00
Doron Somech
1d2e972876
Merge pull request #4228 from bluca/update_wepoll
...
Problem: wepoll is out of date, known issues on Windows
2021-07-01 01:43:53 -04:00
Luca Boccassi
c7edbea971
Problem: wepoll is out of date, known issues on Windows
...
Solution: update to latest version, v1.5.8
2021-06-30 20:44:27 +01:00
Bill Torpey
ca8e30ed48
fixes for UBSAN warnings ( #4223 )
...
Problem: UBSAN shows warnings
Solution: fix alignment issues and signed to unsigned conversion
2021-06-29 13:02:35 +01:00
Luca Boccassi
fb9fb00eda
Problem: formatting is broken
...
Solution: run clang-format-diff
2021-06-15 19:22:19 +01:00
Luca Boccassi
9b2e1fa26c
Merge pull request #4211 from egpbos/patch-1
...
fix unused parameter warning when POLL_BASED_ON_SELECT
2021-06-15 19:21:01 +01:00
E. G. Patrick Bos
535bc2abb8
add relicense statement for egpbos
...
Copyright of the Netherlands eScience Center.
2021-06-15 17:39:02 +02:00
Luca Boccassi
3b9ef60f2b
Merge pull request #4215 from bluca/test_inproc_connect
...
Problem: test_inproc_connect occasionally fails on slow archs
2021-06-15 14:05:07 +01:00
Luca Boccassi
de03c9a6ab
Problem: test_inproc_connect occasionally fails on slow archs
...
Solution: actually send a message rather than just opening/closing
the sockets, as connecting is asynchronous.
tests/test_inproc_connect.cpp:341:test_bind_before_connect:PASS
tests/test_inproc_connect.cpp:342:test_connect_before_bind:PASS
tests/test_inproc_connect.cpp:343:test_connect_before_bind_pub_sub:PASS
tests/test_inproc_connect.cpp:344:test_connect_before_bind_ctx_term:PASS
tests/test_inproc_connect.cpp:345:test_multiple_connects:PASS
tests/test_inproc_connect.cpp:346:test_multiple_threads:PASS
Assertion failed: _state == active || _state == waiting_for_delimiter (src/pipe.cpp:504)
0 0xffffa015d3e4 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::zmq_abort(char const*)+0xc)
1 0xffffa017b208 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::pipe_t::process_delimiter()+0xb0)
2 0xffffa017b420 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::pipe_t::read(zmq::msg_t*)+0xd8)
3 0xffffa01a4b28 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::xpub_t::xread_activated(zmq::pipe_t*)+0x110)
4 0xffffa01a3758 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::xpub_t::xattach_pipe(zmq::pipe_t*, bool, bool)+0x68)
5 0xffffa018dc3c in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::socket_base_t::attach_pipe(zmq::pipe_t*, bool, bool)+0x94)
6 0xffffa016f288 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::object_t::process_command(zmq::command_t const&)+0x148)
7 0xffffa014ee3c in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::ctx_t::connect_inproc_sockets(zmq::socket_base_t*, zmq::options_t const&, zmq::ctx_t::pending_connection_t const&, zmq::ctx_t::side)+0xdc)
8 0xffffa0150bec in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::ctx_t::connect_pending(char const*, zmq::socket_base_t*)+0x1fc)
9 0xffffa0190034 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (zmq::socket_base_t::bind(char const*)+0x3e4)
10 0xaaaae50475d8 in /usr/src/packages/BUILD/tests/.libs/test_inproc_connect (simult_bind(void*)+0x28)
11 0xffffa019bfb8 in /usr/src/packages/BUILD/src/.libs/libzmq.so.5 (thread_routine+0x70)
12 0xffffa00e07e4 in /lib/aarch64-linux-gnu/libpthread.so.0 (start_thread+0x18c)
13 0xffff9fdcab2c in /lib/aarch64-linux-gnu/libc.so.6 (clone+0x5c)
2021-06-14 11:43:06 +01:00
Luca Boccassi
d3d685bbc1
Merge pull request #4214 from bluca/obs_pr
...
Problem: build/test breakages on various distros are discovered only after merge
2021-06-14 11:42:36 +01:00
Luca Boccassi
6fc817a18e
Problem: build/test breakages on various distros are discovered only after merge
...
Solution: try the new Open Build Service PR integration workflow
2021-06-14 10:48:24 +01:00
Doron Somech
416b7aea47
Merge pull request #4213 from bluca/build
...
Problem: build with curve fails on GCC 11
2021-06-13 20:03:39 +03:00
Luca Boccassi
92b2c38a2c
Problem: build with curve fails on GCC 11
...
Solution: ignore false positives due to compiler bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
Fixes https://github.com/zeromq/libzmq/issues/4206
2021-06-13 16:21:55 +01:00
Patrick Bos
ece244dd3c
fix unused parameter warning when POLL_BASED_ON_SELECT
...
When the build is performed with cmake option `-DPOLLER=select`, the following warning is triggered from 4 locations that import `polling_util.hpp`:
```
[...]/src/polling_util.hpp:115:50: warning: unused parameter 'pollset_' [-Wunused-parameter]
inline size_t valid_pollset_bytes (const fd_set &pollset_)
^
1 warning generated.
```
This is fixed here.
2021-06-10 12:23:22 +02:00
Luca Boccassi
b40a793142
Merge pull request #4207 from benjdero/master
...
Problem: Outdated Android build tools
2021-06-07 11:19:49 +01:00
Benjamin Deroche
2af72796a7
Problem: Outdated Android build tools
...
Solution: Update Android NDK version
2021-06-07 11:34:13 +02:00
Luca Boccassi
e86237da58
Merge pull request #4205 from somdoron/master
...
problem: no way to know when connection is temporarly dropped
2021-06-06 16:21:24 +01:00
Doron Somech
1c6c5514ed
problem: no way to know when connection is temporarly dropped
...
This is important in order to send the login sequence of a client to the server.
Solution: add ZMQ_HICCUP_MSG to a socket, socket would send that message whenever a connection get temporarly disconnected
2021-06-06 17:14:22 +03:00
Luca Boccassi
d7e439d336
Problem: travis badge points to old travis-ci.org
...
Solution: Change badge to point to travis-ci.com
2021-05-27 10:05:06 +01:00
Tobias Schlüter
2ac9755ee9
Remove Windows-specific defines from zmq.h.
...
These are redundant with the ones in windows.hpp
and aren't needed for the public interface.
2021-05-26 16:04:24 +01:00
Simon Giesecke
78ea4ee787
Merge pull request #4193 from somdoron/master
...
problem: outpipe can be null when sending disconnect msg
2021-05-19 14:14:35 +02:00
Doron Somech
30a0c590d8
problem: outpipe can be null when sending disconnect msg
2021-05-19 14:41:27 +03:00
Luca Boccassi
e3c4ec241a
Merge pull request #4192 from minrk/appveyor-gh-release
...
[appveyor] upload windows artifacts to GitHub releases
2021-05-19 09:22:52 +01:00
Min RK
60bf76a4fd
[appveyor] upload artifacts to GitHub releases
2021-05-18 22:50:11 +02:00
Luca Boccassi
0c5da25dcb
Merge pull request #4190 from yitzchak/fix-poll-docs
...
Update fd slot type to zmq_fd_t
2021-05-16 23:52:19 +01:00
Tarn W. Burton
59040f8dfe
Add RELICENSE for yitzchak
2021-05-16 16:10:54 -04:00
Tarn W. Burton
d6e7ea44f7
Update fd slot type to zmq_fd_t
2021-05-16 08:50:06 -04:00
Chengye Ke
04c37982b1
Support so_busy_poll ( #4188 )
...
* Support so_busy_poll.
2021-05-14 23:05:56 +01:00
Luca Boccassi
ceb5fa39fe
Merge pull request #4181 from neheb/patch-1
...
fix unused variables under windows
2021-05-03 09:07:21 +01:00
Rosen Penev
a02cbd0646
fix unused variables under windows
...
Fixes compilation as -Werror is passed.
2021-05-02 16:49:27 -07:00
Luca Boccassi
497bcacb0e
Merge pull request #4176 from nyfix/reconn-options
...
ZMQ_RECONNECT_STOP options are intended to be inclusive
2021-04-29 19:26:55 +01:00
Bill Torpey
6bf7728e6e
ZMQ_RECONNECT_STOP options are intended to be inclusive (i.e., can be OR'ed together), and so values must be powers of two
2021-04-28 10:30:35 -04:00
Luca Boccassi
2e932bb536
Merge pull request #4175 from mceSystems/master
...
Fix iOS build failure for x86_64
2021-04-28 11:11:01 +01:00
Koby Boyango
00d1000538
Fix iOS build failure for x86_64
2021-04-28 11:41:36 +03:00
Luca Boccassi
b4f758da35
Merge pull request #4174 from jlsantiago0/build-fix-bsd
...
Fix Build BSD
2021-04-15 23:16:33 +01:00
Luca Boccassi
895e976f51
Merge pull request #4173 from jlsantiago0/mingw-build-fix2
...
Fix MINGW with pthread cv
2021-04-15 23:15:50 +01:00
Luca Boccassi
43cb2600ca
Merge pull request #4172 from jlsantiago0/mingw-build-fix1
...
MINGW Build Fix.
2021-04-15 21:48:24 +01:00
Jose Santiago
7d8b149681
Fix Build BSD
...
This fixes build under BSD. Tested with OpenBSD-6.4 and FreeBSD-11.3.
2021-04-15 14:04:27 -05:00
Jose Santiago
e6e683731d
Fix MINGW with pthread cv
...
ZeroMQ works and MINGW and pthread conditional variables if pthread
mutexes are used. POSIX conditional variables require POSIX mutexes, but
ZeroMQ unconditionally uses WIN32 critital sections even when configured
with pthread conditional variables. This of course does not work. This
patch fixes the build so that MINGW builds do not use WIN32 critical
sections and instead use POSIX mutexes when configured with pthread
conditional variables.
Tested with:
```
CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ ../libzmq/configure --host=x86_64-w64-mingw32 --prefix=`pwd`/stage --enable-debug --disable-Werror --enable-libunwind=no --with-cv-impl=pthread --enable-libbsd=no
```
```
x86_64-w64-mingw32-gcc --version
x86_64-w64-mingw32-gcc (GCC) 10.2.0.....
```
2021-04-15 13:43:55 -05:00
Jose Santiago
235654697f
MINGW Build Fix.
...
There is a macro that redefines claose to closesocket, but then close is
later defined in unistd.h which is included in testutil_unity.cpp which
then causes the regular close() prototype to be defined with the new
function name closesocket which does not match the signature of the
original closesocket in winsock2.h from the toolchain.
We can work around this issue, by making sure that unistd.h is included
before the macro is defined. HMM> Yes macro substitution is the root of
evil.
2021-04-15 12:53:02 -05:00
Luca Boccassi
3070a4b246
Merge pull request #4163 from bluca/gcc11
...
Problem: build broken on Fedora Rawhide and SUSE Leap
2021-03-22 18:41:04 +00:00
Luca Boccassi
b82777bfb6
Problem: compiler error with GCC 11
...
Solution: downcast size to uint32_t to match vector size
range
2021-03-20 19:22:46 +00:00
Luca Boccassi
02be28e86b
rpm: fix license shortname
2021-03-20 15:49:48 +00:00
Luca Boccassi
5a139a556a
rpm: fix Group metadata
2021-03-20 15:45:27 +00:00
Luca Boccassi
347555f4f6
rpm: run make check in %check area
2021-03-20 15:44:34 +00:00
Luca Boccassi
4e8f02a8da
Merge pull request #4156 from nyfix/clangtidy-new
...
add more suppressions
2021-03-04 09:48:57 +00:00
Luca Boccassi
229fbeee1a
Merge pull request #4155 from nyfix/clangtidy-format
...
fix formatting problems in .clang-tidy options
2021-03-03 19:36:25 +00:00
Bill Torpey
251a155833
add suppressions for clang-tidy-10 on ubuntu:
...
-hicpp-avoid-goto: duplicate of -cppcoreguidelines-avoid-goto
-readability-magic-numbers: duplicate of -cppcoreguidelines-avoid-magic-numbers
-readability-identifier-naming: avoid complaints about variables like i, n
2021-03-03 14:26:17 -05:00
Bill Torpey
dc2ee409cb
- fix formatting problems in .clang-tidy options
2021-03-03 11:14:49 -05:00
Luca Boccassi
bd5f5a1093
Merge pull request #4148 from bluca/vmci
...
Problem: VMCI build broken
2021-02-23 11:57:18 +00:00
Luca Boccassi
4bb9a4ccff
Problem: no CI coverage for VMCI transport
...
Solution: add a build test
2021-02-21 11:50:38 +00:00
Luca Boccassi
8fe5b54b8a
Problem: VMCI build broken
...
Solution: refactor it
2021-02-21 11:50:38 +00:00
Luca Boccassi
4ecb0454fb
Merge pull request #4149 from gummif/gfa/strtok
...
Problem: strtok is not thread safe
2021-02-21 10:30:54 +00:00
Luca Boccassi
38bb82b0c8
Problem: vmci tests built in repo root
...
Solution: move them with the rest
2021-02-20 21:38:02 +00:00
Gudmundur Adalsteinsson
c325ed127e
Problem: strtok is not thread safe
...
Solution: use strtok_r
2021-02-20 20:29:17 +00:00
Luca Boccassi
c515671bc8
Merge pull request #4145 from gummif/gfa/malloc-vec
...
Problem: C style malloc and free
2021-02-19 14:06:20 +00:00
Luca Boccassi
31ebe35144
Merge pull request #4146 from gummif/gfa/unused-vars
...
Problem: Unused member variables _last_in
2021-02-19 14:05:44 +00:00
Luca Boccassi
fc6255ffec
Merge pull request #4143 from jlsantiago0/master
...
Fix Fedora33 s390x build.
2021-02-19 14:05:27 +00:00
Gudmundur Adalsteinsson
10078a9225
Problem: Unused member variables _last_in
...
Solution: Remove them
2021-02-18 20:38:42 +00:00
Gudmundur Adalsteinsson
4b61c67ef0
Problem: C style malloc and free
...
Solution: use new and delete
2021-02-18 20:31:55 +00:00
Jose Santiago
ce74e39ae3
Add Relicense statement.
2021-02-18 11:47:32 -06:00
Jose Santiago
72c8cc3912
Fix Fedora33 s390x build.
2021-02-18 11:05:29 -06:00
Luca Boccassi
54c7f7969b
Problem: formatting errors
...
Solution: run make clang-format-diff
2021-02-08 11:39:09 +00:00
Luca Boccassi
8432cc37f8
Merge pull request #4137 from tarmo/xpub-manual-subscription-race
...
Problem: XPUB socket allows manual subscription on terminated pipe
2021-02-08 09:57:15 +00:00
Tarmo Tänav
2df7ab6aee
Problem: XPUB socket allows manual subscription on terminated pipe
...
Solution: Avoid setting pipe as _last_pipe if it has been terminated
2021-02-08 06:02:10 +02:00
Doron Somech
b3722cf983
Merge pull request #4132 from sab24/master
...
Fixes Firefox WebSocket upgrade request in WebSocket engine
2021-01-30 23:09:52 +02:00
sab24
bdcc4cf06c
Adds RELICENSE
2021-01-30 20:05:15 +01:00
sab24
133f0d00b6
Fixes indentation
2021-01-30 16:40:26 +01:00
sab24
15408f5609
Fixes Firefox WebSocket upgrade request in WebSocket engine
2021-01-30 16:23:48 +01:00
Luca Boccassi
92282785ed
Add relicense grant by eponsko
...
Received via email, message-id:
CAGOEPvVonw=NicjcBKQcdcxGm43fOMgZfiga-4FoAQ=Efau8GQ@mail.gmail.com
2021-01-28 11:08:27 +00:00
Lingqiao Zhao
cc65a9ec93
Problem: exception thrown when debugging cl.exe x64 build with LLDB ( #4129 )
...
* Problem: exception thrown when debugging
cl.exe x64 build with LLDB
Solution: Use __try __except with cl.exe and
use pthread_setname_np with MinGW.
Remove usage of pushing exception handler
to TIB->ExceptionList.
2021-01-27 10:39:48 +00:00
Luca Boccassi
16af1bd622
Problem: test_pubsub broken everywhere
...
Solution: disable it
2021-01-18 09:42:33 +00:00
mjvankampen
2dd24d6d80
Problem: norm fails to compile under windows ( #4123 )
...
* Makes norm useable (but maybe slow) on windows
2021-01-18 08:42:14 +00:00
Simon Giesecke
53104ec1b9
Merge pull request #4126 from bluca/news
...
Problem: 4.3.4 is out, need new version
2021-01-17 16:57:48 +01:00
Luca Boccassi
c7e0342a0a
Problem: wrong year in NEWS for 4.3.4
...
Solution: fix it
2021-01-17 13:24:32 +00:00
Luca Boccassi
cef3225370
Problem: 4.3.4 is out, need new version
...
Solution: bump to 4.3.5
2021-01-17 12:10:01 +00:00
Luca Boccassi
4097855dda
Finalize changelog for 4.3.4
2021-01-17 12:01:58 +00:00
Luca Boccassi
90deed866b
Merge pull request #4124 from bluca/news
...
Update NEWS and fix build on GNU/Hurd
2021-01-17 11:32:32 +00:00
Luca Boccassi
a9357db1d3
Problem: NEWS out of date with latest changes
...
Solution: update it
2021-01-16 17:48:29 +00:00
Luca Boccassi
2347a76413
Problem: build broken on debian/hurd
...
Solution: fix it
2021-01-16 17:48:29 +00:00
Luca Boccassi
e58f047791
Problem: typos in zmq_setsockopt.txt
...
Solution: fix them
2021-01-16 15:41:58 +00:00
Luca Boccassi
f3eb6916d0
Merge pull request #4120 from martin-g/master
...
Build and test on ARM64 CPU architecture (#1 )
2021-01-11 13:28:46 +00:00
Martin Grigorov
89ff13b54f
Allow failures on ARM64
...
test_monitor fails on TravisCI
I wasn't able to reproduce the problem on my aarch64 VM and with Docker+QEMU
2021-01-11 14:03:48 +02:00
Martin Tzvetanov Grigorov
98e4f9eb4b
Sign the ICLA
2021-01-11 09:20:32 +02:00
Luca Boccassi
e2a8e7cd08
Merge pull request #4121 from bluca/kfreebsd
...
Problem: build still broken on kFreeBSD
2021-01-09 14:09:35 +00:00
Luca Boccassi
0742d432e7
Problem: build still broken on kFreeBSD
...
Solution: fix refactor mistake introduced by:
091df743a81f3899bd70166060c2082ea0cbd57c
Fixes https://github.com/zeromq/libzmq/issues/4113
2021-01-08 20:41:51 +00:00
Martin Grigorov
b08a03ac87
Build and test on ARM64 CPU architecture ( #1 )
...
* Build and test on ARM64 CPU architecture
Add an extra TravisCI job that runs `ci_build.sh` on arm64/aarch64 CPU architecture
2021-01-08 14:53:29 +02:00
Luca Boccassi
2bf998f7e0
Problem: build broken on kFreeBSD
...
Solution: fix refactor mistake introduced by:
091df743a81f3899bd70166060c2082ea0cbd57c
Fixes https://github.com/zeromq/libzmq/issues/4113
2021-01-06 22:23:09 +00:00
Andy Heroff
2998ff34aa
Problem: No direct support for setting socket priority ( #4118 )
...
* Problem: No direct support for setting socket priority
Solution: Add ZMQ_PRIORITY socket option, which sets the
SO_PRIORITY socket option on the underlying socket. This
socket option is not supported under Windows. Check option
and set socket option on creation of underlying socket.
2021-01-06 22:22:41 +00:00
Luca Boccassi
9936ce8bb9
Merge pull request #4116 from zedalaye/remove_pair_socket_fd
...
Cleanup socket FD after pair is established. Fix #4086
2021-01-04 18:55:25 +00:00
Pierre Yager
e8f265d136
Added RELICENSE statement
2021-01-04 17:00:59 +01:00
Pierre Yager
dcb6a24ed0
Cleanup socket FD after pair is established. Fix #4086
...
Avoid filling Temp directory with temporary files.
2021-01-04 17:00:58 +01:00
Constantin Rack
b600eb76d0
Merge pull request #4115 from skaes/relicense-skaes-commits
...
PROBLEM: missing permission to relicense commits by GH handle skaes
2021-01-04 07:12:20 +00:00
Stefan Kaes
32d30f6937
PROBLEM: missing permission to relicense commits by GH handle skaes
...
SOLUTION: add file containing permission statement
2021-01-04 08:03:04 +01:00
Luca Boccassi
8b27f11ad1
Merge pull request #4110 from bluca/fixes
...
Problem: PUB+WS broken, git blame hard to use
2021-01-02 11:41:55 +00:00
Luca Boccassi
26a2e83069
Merge pull request #4107 from bluca/relicense
...
Problem: typo in RELICENSE/mrvn.md
2020-12-26 23:33:10 +00:00
Luca Boccassi
a6f1000964
Problem: git blame became more difficult with clang-format change
...
Solution: let git ignore that commit when blame is ran.
Requires to set a git config:
git config blame.ignoreRevsFile .git-blame-ignore-revs
Or to pass --ignore-revs-file .git-blame-ignore-revs to git blame.
2020-12-23 17:44:07 +00:00
Luca Boccassi
41c4ce1817
Problem: ZMQ_PUB broken on ZMQ_WS
...
Solution: encode subscribe/cancel messages until there are appropriate
opcodes.
Regression introduced by 253e9dd27b3d7c0d736d4fa3802e87d00bd915c9
Fixes https://github.com/zeromq/libzmq/issues/4101
2020-12-23 17:44:07 +00:00
Luca Boccassi
a49aa0d294
Merge pull request #4109 from stanpl/if_nametoindex_fix
...
Solution: if_nametoindex function is now used when available
2020-12-23 14:12:07 +00:00
Stanisław Maciaś
bac5f69685
Added missing relicense file
2020-12-23 15:04:08 +01:00
Stanisław Maciaś
26cbd4f43f
if_nametoindex function is now used when available
2020-12-23 12:32:16 +01:00
Luca Boccassi
f8b84cf86a
Problem: typo in RELICENSE/mrvn.md
...
Solution: fix it
2020-12-22 21:28:32 +00:00
Luca Boccassi
10140050c7
Merge pull request #4105 from bluca/relicense
...
Add relicense statement from sradomski and mrvn
2020-12-21 17:36:11 +00:00
Luca Boccassi
e389ee53bd
Add relicense statement from mrvn
...
Received via email, message id:
trinity-91a2dd41-0e1c-4976-9811-f32cad78566e-1608482688602@3c-app-webde-bap48
2020-12-20 17:00:00 +00:00
Luca Boccassi
2643470ff0
Add relicense statement from sradomski
...
As indicated by author's comment on Github:
https://github.com/zeromq/libzmq/pull/810#issuecomment-748587654
2020-12-20 10:57:55 +00:00
Luca Boccassi
76849aa3d5
Merge pull request #4104 from gummif/patch-1
...
Problem: Build error on MSVC with C++20 in ip.cpp
2020-12-18 12:59:09 +00:00
Gudmundur Adalsteinsson
83032a4d33
Problem: Build error on MSVC with C++20 in ip.cpp
...
Solution: Move initialization of variables before gotos.
2020-12-18 10:32:59 +00:00
Luca Boccassi
828d6eacba
Merge pull request #4098 from agnosy/problem/android-build-failure
...
Problem: Android build fails.
2020-12-05 11:10:46 +00:00
Sailaja Nagireddy
89a536dd1d
Problem: Android build fails.
...
Solution: Update the android build helper to locate readelf binary
included in android ndk.
2020-12-04 20:56:50 +05:30
Luca Boccassi
1533bc3620
Merge pull request #4095 from boxkey/boxkey-patch-2
...
add relicense.md file
2020-11-29 17:31:03 +00:00
boxkey
0344937e79
add relicense.md file
...
add relicense.md file boxkey.md
2020-11-30 01:15:34 +08:00
Luca Boccassi
17c5fca9ea
Merge pull request #4075 from nyfix/ndebug
...
The _DEBUG preprocessor definition is typically only set on Windows. …
2020-11-26 09:07:18 +00:00
Luca Boccassi
33a51f9e8b
Merge pull request #4088 from bluca/test_spec_req_eagain
...
Problem: tests fails to receive with EAGAIN on slow architectures
2020-11-23 13:32:59 +00:00
Luca Boccassi
bb15d9dd77
Problem: add-path no longer supported in Github Action
...
Solution: update setup-bsbuild action version
https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-11-18 13:49:50 +00:00
Luca Boccassi
d77c60a0db
Problem: tests fails to receive with EAGAIN on slow architectures
...
Solution: remove arbitrary timeouts, as they are testing reliable pipes
with no contention, so if it can connect eventually it has to
work. The overall test timeout covers cases where it doesn't.
If tests want to use receive timeouts, they need to handle EAGAIN
properly.
2020-11-18 13:29:33 +00:00
Luca Boccassi
dae894157c
Merge pull request #4083 from ambitslix/patch-1
...
Create ambitslix.md
2020-11-12 09:43:26 +00:00
Attila M. Szilagyi
b54ad2b373
Create ambitslix.md
2020-11-11 22:07:36 -08:00
Luca Boccassi
1d6b232920
Merge pull request #4082 from zoedberg/fix_autogen
...
autogen.sh: fix autoreconf exit code log
2020-11-10 19:19:53 +00:00
Zoe Faltibà
b4c7954910
RELICENSE: add zoedberg grant
2020-11-10 20:08:38 +01:00
Zoe Faltibà
51bffc05f5
autogen.sh: fix autoreconf exit code log
2020-11-10 17:31:22 +01:00
Luca Boccassi
6f46375440
Merge pull request #4080 from ardrabczyk/docs-fixes
...
Fix a typo and wrong order of assert() in the examples
2020-11-10 09:38:33 +00:00
Arkadiusz Drabczyk
f0add07303
Problem: no relicense agreement by Arkadiusz Drabczyk
...
Solution: add a relicense agreement
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
2020-11-10 10:35:21 +01:00
Luca Boccassi
c642d0f4ee
Merge pull request #4079 from ardrabczyk/errno-fixes
...
Problem: not all possible errno values were documented (#4078 )
2020-11-10 09:16:59 +00:00
Arkadiusz Drabczyk
ce7c1cec87
Problem: assert() was used on undefined variables in the examples
...
Solution: use assert() on defined variables
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
2020-11-09 22:52:12 +01:00
Arkadiusz Drabczyk
d3f59e68ea
Problem: there is a typo: 'threda names'
...
Solution: fix a typo: threda names -> thread names
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
2020-11-09 22:36:17 +01:00
Arkadiusz Drabczyk
d43ae07456
Problem: not all possible errno values were documented ( #4078 )
...
Solution: document more possible errno values
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
2020-11-09 22:23:43 +01:00
Bill Torpey
57e9551744
The _DEBUG preprocessor definition is typically only set on Windows. (e.g., see https://stackoverflow.com/questions/2290509/debug-vs-ndebug/29253284#29253284 )
2020-11-02 16:58:14 -05:00
Luca Boccassi
b2a0842063
Merge pull request #4074 from ffontaine/master
...
src/compat.hpp: fix build with libbsd and strlcpy
2020-11-02 09:18:30 +00:00
Fabrice Fontaine
8cb5708829
src/compat.hpp: fix build with libbsd and strlcpy
...
Don't include bsd/string.h if strlcpy is also defined in string.h to
avoid the following build failure on uclibc:
In file included from src/compat.hpp:41:0,
from src/ipc_address.cpp:31:
/tmp/instance-0/output-1/host/mips64el-buildroot-linux-uclibc/sysroot/usr/include/bsd/string.h:44:54: error: declaration of 'size_t strlcpy(char*, const char*, size_t)' has a different exception specifier
size_t strlcpy(char *dst, const char *src, size_t siz);
^
In file included from src/compat.hpp:34:0,
from src/ipc_address.cpp:31:
/tmp/instance-0/output-1/host/mips64el-buildroot-linux-uclibc/sysroot/usr/include/string.h:424:15: error: from previous declaration 'size_t strlcpy(char*, const char*, size_t) throw ()'
extern size_t strlcpy(char *__restrict dst, const char *__restrict src,
^
Fixes:
- http://autobuild.buildroot.org/results/51220b1b82774e8f6f6ed8593c58d2e3c31a1531
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-11-02 07:58:01 +01:00
Luca Boccassi
97b5f8560d
Problem: formatting errors
...
Solution: run make clang-format-diff
2020-10-09 20:08:05 +01:00
Luca Boccassi
f578b26790
Merge pull request #4060 from martin-ksti/fix-stack-overflow-on-windows-x64
...
fix stack overflow on windows x64
2020-10-09 19:01:44 +01:00
Luca Boccassi
4f6d94de42
Merge pull request #4061 from martin-ksti/patch-1
...
Create martin-ksti.md
2020-10-09 17:15:56 +01:00
martin-ksti
4e5a328998
Create martin-ksti.md
2020-10-09 18:07:47 +02:00
Martin Labsch
3156764265
fix stack overflow on windows x64
2020-10-09 15:17:46 +02:00
Luca Boccassi
22d218a182
Problem: CI fails with formatting errors
...
Solution: run make clang-format-diff
2020-09-28 10:30:20 +01:00
C-sir
d4f03edd47
stop reconnect after called zmq_disconnect() ( #4053 )
2020-09-28 09:59:57 +01:00
Davit Kalantaryan
dfc85af4d0
using '_M_ARM' macros for Windows ARM comilation ( #4051 )
...
[why]
This is a standard microsoft compiler macros https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019
This macros is defined for example for Windows 10 core Iot (for example paspberry pi windows compilation)
Co-authored-by: Davit Kalantaryan <davit.kalantar@desy.de>
2020-09-26 18:39:28 +01:00
Stéphane Valès
1495ccad58
Problem: warnings with xcode ( #4043 )
...
* remove override instructions to avoid a chain reaction with other overridden functions missing it
Co-authored-by: Stéphane Valès <stephane@vales.fr@users.noreply.github.com>
Co-authored-by: stephane vales <vales@ingenuity.io>
2020-09-17 15:12:36 +01:00
Stéphane Valès
86bf83bce8
Problem: cmake generates faulty xcode projects also for dynamic lib ( #4042 )
...
* apply the use of sources for xcode project also to dynamic library
Co-authored-by: Stéphane Valès <stephane@vales.fr@users.noreply.github.com>
Co-authored-by: stephane vales <vales@ingenuity.io>
2020-09-16 15:52:18 +01:00
Stéphane Valès
c098fa3c18
Problem: using targets in CMakeLists.txt creates a corrupted xcode project with cmake ( #4041 )
...
* use sources instead of objects only when generating an xcode project
Co-authored-by: Stéphane Valès <stephane@vales.fr@users.noreply.github.com>
Co-authored-by: stephane vales <vales@ingenuity.io>
2020-09-16 14:25:46 +01:00
Doron Somech
e915449184
Merge pull request #4038 from bluca/api_breakage
...
Problem: zmq_ctx_get API broken
2020-09-11 09:54:50 +03:00
Luca Boccassi
792ffe4d7a
Problem: zmq_ctx_get API broken
...
Solution: restore EINVAL as errno on unknown option.
Broken by https://github.com/zeromq/libzmq/pull/3642 which started to
return EFAULT instead
2020-09-10 22:37:01 +01:00
Doron Somech
44786232f7
Merge pull request #4034 from bluca/news
...
Problem: 4.3.3 is out, need new version
2020-09-07 20:42:00 +03:00
Luca Boccassi
04f5bbedee
Finalize changelog for 4.3.3
2020-09-07 11:12:14 +01:00
Luca Boccassi
f2e364777e
Problem: 4.3.3 is out, need new version
...
Solution: bump to 4.3.4
2020-09-07 11:12:14 +01:00
Luca Boccassi
b97ce25c26
Problem: NEWS does not mention security advisories
...
Solution: add them
2020-09-07 11:12:14 +01:00
Simon Giesecke
fd094fe2fc
Merge pull request #4032 from bluca/fuzzers
...
Problem: no fuzzing coverage for ZMQ_STREAM
2020-09-06 19:21:15 +02:00
Luca Boccassi
e708623c12
Problem: no fuzzing coverage for ZMQ_STREAM
...
Solution: add tests
2020-09-06 11:05:15 +01:00
Doron Somech
cbce0cbffe
Merge pull request #4031 from sigiesec/test-coverage-3
...
Some more test coverage for invalid IPC addresses
2020-09-05 15:03:07 +03:00
Simon Giesecke
2741e93361
Problem: no test for (invalid) too long ipc endpoint name
...
Solution: add test
2020-09-05 13:17:13 +02:00
Simon Giesecke
90d5cf29d8
Problem: no test for (invalid) empty abstract ipc endpoint name
...
Solution: add test
2020-09-05 13:17:13 +02:00
Luca Boccassi
04ac547c20
Merge pull request #4030 from sigiesec/test-coverage-3
...
Problem: code duplicated between handshake and out_event
2020-09-04 16:24:28 +01:00
Luca Boccassi
446d61a13b
Merge pull request #4029 from sigiesec/test-coverage-2
...
Add test covering tcp_address_mask_t and remove unused code
2020-09-04 15:51:33 +01:00
Simon Giesecke
6a45737073
Problem: code duplicated between handshake and out_event
...
Solution: extract do_handshake member function
2020-09-04 16:39:16 +02:00
Simon Giesecke
af7df64ae7
Problem: mask and to_string member functions of tcp_address_mask_t are not referenced
...
Solution: remove them
2020-09-04 15:51:43 +02:00
Simon Giesecke
c6301206dc
Problem: no tests for ZMQ_TCP_ACCEPT_FILTER
...
Solution: add some tests
2020-09-04 15:51:33 +02:00
Luca Boccassi
e7974c3b72
Merge pull request #4028 from sigiesec/test-coverage
...
Some improvements to the test coverage job
2020-09-04 11:07:16 +01:00
Simon Giesecke
3033b1ef18
Problem: coverage build is using old distro
...
Solution: update to default distro
2020-09-04 11:10:37 +02:00
Simon Giesecke
eb7b7db05d
Problem: assert used instead of zmq_assert
...
Solution: replace by zmq_assert
2020-09-04 10:58:16 +02:00
Simon Giesecke
bafd626dff
Problem: coverage build script doesn't recognize several config options
...
Solution: extrace and reuse regular config option setting
2020-09-04 10:58:16 +02:00
Simon Giesecke
74543a921c
Problem: coverage report includes irrelevant files
...
Solution: properly set file filter to only include files in src except tweetnacl
2020-09-04 10:58:16 +02:00
Simon Giesecke
1d62d7c94a
Problem: coverage is not measured with all features
...
Solution: enable all features on coverage build
2020-09-04 10:58:16 +02:00
Luca Boccassi
9c1801554f
Merge pull request #4027 from ffontaine/master
...
configure.ac: fix build with openpgm-5-3-128
2020-09-02 10:33:40 +01:00
Fabrice Fontaine
883d432c29
configure.ac: fix build with openpgm-5-3-128
...
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-09-02 07:54:36 +02:00
Doron Somech
9fe56b175d
Merge pull request #4023 from bluca/fuzzers
...
Problem: setsockopt of CURVE key ignores parameter length
2020-08-23 16:21:27 +03:00
Luca Boccassi
97f8274129
Problem: setsockopt of CURVE key ignores parameter length
...
Solution: create std::string using length to avoid overflow
2020-08-23 13:47:17 +01:00
Luca Boccassi
8cc56d9f0f
Merge pull request #4022 from bluca/fuzzers
...
Problem: test_socket_options_fuzzer does not work
2020-08-22 21:54:46 +01:00
Luca Boccassi
5b0956c381
Problem: test_socket_options_fuzzer does not work
...
Solution: fix it
2020-08-22 17:01:10 +01:00
Luca Boccassi
2fb04c1018
Problem: ZMQ_METADATA setsockopt ignores length and assumes nUL-terminated string
...
Solution: use length too
2020-08-22 17:01:10 +01:00
Doron Somech
241240b79f
Merge pull request #4020 from bluca/fuzz_options
...
Problem: test_socket_options_fuzzer can pass non-NUL terminated data …
2020-08-21 18:38:54 +03:00
Luca Boccassi
6386bc13d3
Problem: test_socket_options_fuzzer can pass non-NUL terminated data buffers
...
Solution: ensure they are valid strings
2020-08-21 16:23:24 +01:00
Doron Somech
36dc251ed0
Merge pull request #4019 from bluca/fuzz_options
...
Problem: zmq_z85_decode doesn't check its input length
2020-08-21 18:08:43 +03:00
Luca Boccassi
b84e164698
Problem: zmq_z85_decode doesn't check its input length
...
Solution: do it
2020-08-21 16:03:57 +01:00
Doron Somech
f447169e82
Merge pull request #4018 from bluca/fuzz_options
...
Problem: no fuzz testing for options
2020-08-21 18:01:24 +03:00
Luca Boccassi
f43013a7d1
Problem: no fuzz testing for options
...
Solution: add it
2020-08-21 15:25:55 +01:00
Doron Somech
eecd796106
Merge pull request #4017 from bluca/news
...
Problems: build broken on Solaris, NEWS out of date
2020-08-21 16:41:40 +03:00
Luca Boccassi
64a575eede
Problem: test_bind_ws_fuzzer needs DRAFT sockets
...
Solution: use ZMQ_DEALER instead
2020-08-21 14:39:08 +01:00
Luca Boccassi
a4dbdb614e
Problem: some platforms do not have strnlen
...
Solution: move compat redefinition to compat.hpp header so that
it can be used from msg.cpp
2020-08-21 14:39:08 +01:00
Luca Boccassi
d40c79cef4
Problem: missing items in NEWS
...
Solution: add them
2020-08-21 14:22:28 +01:00
Doron Somech
700fd13cad
Merge pull request #4016 from bluca/news
...
Problem: NEWS out of date
2020-08-21 14:51:51 +03:00
Luca Boccassi
7f1e219d09
Problem: NEWS out of date
...
Solution: add latest entries
2020-08-21 12:05:39 +01:00
Doron Somech
29f5ede684
Merge pull request #4013 from bluca/fuzzers
...
Problem: ws_engine leaks memory if Sec-WebSocket-Protocol header pass…
2020-08-17 06:53:52 +03:00
Luca Boccassi
b02bdd566a
Problem: ws_engine leaks memory if Sec-WebSocket-Protocol header passed multiple times
...
Solution: ensure it's passed only once
2020-08-16 22:35:42 +01:00
Doron Somech
d280c44fe0
Merge pull request #4011 from bluca/fuzzers
...
Problem: use-after-free in WS
2020-08-15 17:06:58 +03:00
Luca Boccassi
c733067d6d
Problem: use-after-free in WS
...
Solution: bail out of the stream engine out_event if ws_engine raises
an error
2020-08-15 14:31:09 +01:00
Doron Somech
1412078db6
Merge pull request #4010 from bluca/fuzzers
...
Problem: WS might use handshake buffer for data
2020-08-15 14:59:30 +03:00
Luca Boccassi
110551d5df
Problem: formatting errors
...
Solution: apply clang-format-diff
2020-08-15 12:26:14 +01:00
Luca Boccassi
1668432894
Problem: WS might use handshake buffer for data
...
Solution: check for it before reusing it to avoid overflows
2020-08-15 12:25:52 +01:00
Luca Boccassi
87ee106438
Merge pull request #4009 from benjdero/master
...
Problem: libzmq use outdated Android NDK version
2020-08-14 16:57:23 +01:00
Benjamin Deroche
83667099bb
Problem: libzmq use outdated Android NDK version
...
Solution: Update Android NDK version
2020-08-14 16:49:14 +02:00
Stéphane Valès
3da6fde592
Problem : if socket is invalid for any reason, as_socket_base_t() will return NULL and 'as_socket_base_t (items_[i].socket)->is_thread_safe ()' will crash ( #4004 )
...
* Problem : if socket is invalid for any reason, as_socket_base_t() will return NULL and 'as_socket_base_t (items_[i].socket)->is_thread_safe ()' will crash
Solution: expand the code to test the returned value from as_socket_base_t() before calling is_thread_safe() and make zmq_poll() return -1 if as_socket_base_t() returned NULL.
NB: this occurred on the destruction of a SUB socket while running a zloop and without previously calling zloop_reader_set_tolerant and zloop_reader_end. When entering zmq_poll, the PUB socket was already destroyed but still registered in the poll items.
NB: making zmq_poll return -1 is OK as it is what happens anyway, and errno is properly set to ENOTSOCK by as_socket_base_t() when it returns NULL.
Co-authored-by: Stéphane Valès <stephane@vales.fr@users.noreply.github.com>
2020-08-07 09:13:52 +01:00
Luca Boccassi
5d77cd8118
Merge pull request #4005 from stvales/patch-1
...
Create StephaneVales.md
2020-08-07 09:13:23 +01:00
Stéphane Valès
a246b255d3
Create StephaneVales.md
2020-08-07 09:53:40 +02:00
Davit Kalantaryan
0a424486a0
Modifications to compile code for WINDOWS ARM and ARM64 ( #4003 )
...
* Modifications to compile code for WINDOWS ARM and ARM64
[why]
In order to compile ZMQ related software on WINDOWS ARM
[how]
Replaced code in the file clock.cpp around the line 240.
Added intrinsics for ARM to replace '__rdtsc'
[todo]
Find proper tick counter query for ARM64 (see file:clock.cpp,line:~250)
* RELICENSEing
[why]
To make usage of changed code properly usable by libzmq project team
[how]
Added file /RELICENSE/kalantar.md with necessary information
2020-08-06 17:41:15 +01:00
Luca Boccassi
22e37933b3
Merge pull request #3997 from kaczmarj/enh/dockerfile
...
make Docker image smaller + use `debian:buster-slim` base
2020-07-30 00:18:02 +01:00
Jakub Kaczmarzyk
131716c897
add relicense statement for @kaczmarj
2020-07-29 19:11:14 -04:00
Jakub Kaczmarzyk
ddbef32103
make Docker image smaller + use debian:buster-slim
base
...
This commit updates the Dockerfile to use multiple stages. In the first stage, compile-time dependencies are installed, and libzmq is compiled and tested. The second stage starts with a fresh, slim Docker image, and the compiled outputs of the first stage are copied over. Runtime dependencies, like libsodium and kerberos, are installed as well.
2020-07-29 15:39:07 -04:00
Luca Boccassi
7deb8ded43
Merge pull request #3996 from tarmo/xpub-unmatch
...
Problem: XPUB keeps matched pipes between failed non-blocking sends
2020-07-29 17:35:18 +01:00
Tarmo Tänav
27bf9bf7d0
Problem: XPUB keeps matched pipes between failed non-blocking sends
...
Solution: always unmatch all pipes before matching for an initial
message part.
2020-07-29 16:35:43 +03:00
Tarmo Tänav
75669de3c7
RELICENSE: Tarmo Tänav
2020-07-29 16:29:48 +03:00
Luca Boccassi
49f4c1898b
Merge pull request #3994 from fanquake/no_werror_macos
...
build: compile with -Werror by default on Darwin
2020-07-21 11:15:38 +01:00
fanquake
3a7b77d5f6
build: compile with -Werror by default on Darwin
...
Using -Werror has been disabled for Darwin since very early on in the
codebase. However at this point, I can't see an obvious reason why it
should still be disabled compared to when building for the other
operating systems.
I've tested compiling on macOS using Apple Clang 11.0.3, LLVM Clang
10.0.0 and GCC 10.1.
2020-07-21 16:08:21 +08:00
mileschet
571045d129
Ios135 ( #3991 )
...
* build_ios.sh now build for different archs
* change typo on build_ios.sh
Co-authored-by: Roberto Santacroce Martins <roberto.martins@transferoswiss.ch>
2020-07-11 13:11:59 +01:00
Luca Boccassi
d2d9719b4e
Merge pull request #3987 from fanquake/gethrtime_not_gethrtimei
...
build: fix gethrtime() function check in CMake
2020-07-07 21:36:35 +01:00
fanquake
c14817075c
build: fix gethrtime() function check in CMake
...
This looks like a typo introduced by
2d8ef84760b673d90db331e077fac369665cdbbd.
2020-07-07 21:45:08 +08:00
Luca Boccassi
1529ffbf42
Merge pull request #3986 from fanquake/ipc_mingw_cross_compile
...
build: disable IPC when cross-compiling with mingw
2020-07-07 09:11:42 +01:00
Luca Boccassi
4b4e19f915
Merge pull request #3985 from fanquake/test_flag_before_turning_off_warnings
...
build: test for warning options before enabling -Wno-* variant
2020-07-07 09:10:52 +01:00
Luca Boccassi
42a0977988
Merge pull request #3984 from fanquake/darwin_no_wno_uninitialized
...
build: don't compile with -Wno-uninitialized on darwin
2020-07-07 09:10:07 +01:00
fanquake
a396b780fd
build: disable IPC when cross-compiling with mingw
...
Master doesn't currently compile when crossing compiling using
autotools and mingw-w64. i.e:
```bash
x86_64-w64-mingw32-g++ (GCC) 9.3.0
./autogen.sh
./configure --host=x86_64-w64-mingw32
make src/libzmq.la
....
CXX src/libzmq_la-curve_server.lo
In file included from src/address.cpp:37:
src/ipc_address.hpp:40:10: fatal error: sys/socket.h: No such file or directory
40 | #include <sys/socket.h>
| ^~~~~~~~~~~~~~
compilation terminated.
```
I assume this hasn't been caught because appveyor is using CMake.
Mingw also does not have an afunix.h header. There is a thread upstream,
but there doesn't seem to have been any discussion:
https://sourceforge.net/p/mingw-w64/discussion/723797/thread/4c8ecdbe0d/ .
2020-07-07 13:25:21 +08:00
fanquake
fc5239e880
build: test for warning options before enabling -Wno-* variant
...
Some compilers, like GCC, will only warn about unknown -Wno-* options
when other warnings are being thrown, i.e:
```bash
CXX src/libzmq_la-address.lo
src/address.cpp: In function 'zmq::zmq_socklen_t zmq::get_socket_address(zmq::fd_t, zmq::socket_end_t, sockaddr_storage*)':
src/address.cpp:137:9: warning: unused variable 'unused' [-Wunused-variable]
137 | int unused;
| ^~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-tautological-constant-compare' may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option '-Wno-atomic-alignment' may have been intended to silence earlier diagnostics
CXX src/libzmq_la-channel.lo
```
They will also seem to accept the -Wno-* variant when it's tested for
using AX_CHECK_COMPILE_FLAG. So, rather than test for -Wno-* variants
that the compiler may pretend to understand, test for the actual option,
and only enable the -Wno-* case when it is available.
2020-07-07 11:06:44 +08:00
fanquake
f26b1ad8bb
build: don't compile with -Wno-uninitialized on darwin
...
This flag has been enabled for Darwin targets since the initial commit
in 4ed70a930202b103e7e80b8dc925e0aaa4622595. However, aside from the
fact that we likely no longer want to suppress uninitialized warnings,
this flag wont suppress them anyways, as it's included in the
CXX flags before -Wall (which enables -Wuninitialized). i.e:
```bash
g++ -std=gnu++11 ... -Wno-uninitialized ... -Wall <rest of flags>
```
2020-07-07 09:48:11 +08:00
Luca Boccassi
fc99911d90
Merge pull request #3983 from mileschet/ios135
...
added script to compile the lib to iphone sdk >= 13.5
2020-07-06 21:13:37 +01:00
Roberto Santacroce Martins
95e343caf3
added script to compile the lib to iphone sdk >= 13.5
2020-07-06 15:34:10 +02:00
Doron Somech
47ba2b1ef5
Merge pull request #3981 from bluca/fuzzers
...
Problem: no fuzz testing for websockets
2020-07-06 07:21:18 +03:00
Luca Boccassi
eb9118f0c9
Problem: no fuzz testing for websockets
...
Solution: add tests for plain WS
2020-07-05 23:43:58 +01:00
Luca Boccassi
2352e0a896
Problem: Github Action for fuzzer has a syntax error
...
Solution: fix it
2020-07-04 19:06:27 +01:00
Doron Somech
3396e95179
Merge pull request #3980 from bluca/fuzzers
...
Problems: fuzzer corpus file can be quite large, fuzzers not run in PRs
2020-07-04 21:01:58 +03:00
Luca Boccassi
877978adf7
Problem: fuzzers not run in PRs
...
Solution: do it
2020-07-04 17:50:35 +01:00
Luca Boccassi
e95e57d385
Problem: fuzzer corpus file can be quite large
...
Solution: move all corpora to the zeromq/libzmq-fuzz-corpora repository
for easier handling, and to avoid inflating the size of zeromq/libzmq.
Clone it for the CI on the fly.
2020-07-04 17:50:35 +01:00
Doron Somech
61c7ae0610
Merge pull request #3976 from bluca/fuzzers
...
Problem: we have to send a PR to oss-fuzz on every build change on the fuzzers
2020-06-30 20:34:30 +03:00
Luca Boccassi
734d6e4870
Problem: we have to send a PR to oss-fuzz on every build change on the fuzzers
...
Solution: move the script to our repo, and simply call it from oss-fuzz's script
2020-06-30 16:03:04 +01:00
Luca Boccassi
4dd504abeb
Merge pull request #3973 from bluca/fuzzers
...
Problem: test_security_zap occasionally segfaults
2020-06-30 16:02:04 +01:00
Bill Torpey
1cfd41c064
update sanitizer support
...
- enable undefined behavior sanitizer
- force release mode for sanitizer builds
2020-06-29 15:40:20 +01:00
Luca Boccassi
c8e3dfca90
Merge pull request #3974 from somdoron/pthread_cond_timedwait
...
problem: pthread_cond_timedwait sometimes fail with EINVAL
2020-06-28 17:36:26 +01:00
Doron Somech
fb852fd3e7
problem: pthread_cond_timedwait sometimes fail with EINVAL
...
Solution: fix rounding error and assert if the clock_gettime fails
2020-06-28 17:02:38 +03:00
Luca Boccassi
350b4b34f4
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.
Fixes #3971
2020-06-28 13:37:07 +01:00
Doron Somech
d78ecb8dc8
Merge pull request #3968 from bluca/fuzzers
...
Problem: test_req_relaxed occasionally fails
2020-06-28 08:40:48 +03:00
Luca Boccassi
218655e4f7
Merge pull request #3969 from serg06/patch-3
...
Fix zmq_poller.txt
2020-06-27 23:26:58 +01:00
serg06
f03b67a50b
Fix zmq_poller.txt
...
Fixed three things:
1. Moved asterisks by variable names into the single quotes (to match [zmq_poll](https://github.com/zeromq/libzmq/edit/master/doc/zmq_init.txt ) and other pages.)
2. Fixed variable name in example.
3. Fixed extra & in example.
2020-06-27 17:58:16 -04:00
Luca Boccassi
5c5e279108
Problem: test_req_relaxed occasionally fails
...
Solution: instead of relying on timing to get the order
of connected rep sockets just right, wait for each connection
2020-06-27 21:57:29 +01:00
Doron Somech
ff9efa106e
Merge pull request #3967 from bluca/fuzzers
...
Problems: OBS build on sid fails, test_req_relaxed occasionally fails
2020-06-27 22:13:53 +03:00
Luca Boccassi
859f39b302
Problem: OBS build on sid fails
...
Solution: change the version format to non-native as a hack, to match
OBS' debstransform usage of 1.0 format
2020-06-27 18:27:47 +01:00
Luca Boccassi
1ddfeb56ec
Problem: formatting errors
...
Solution: run make clang-format-diff
2020-06-26 23:45:39 +01:00
Bill Torpey
c04f6581e0
rebase reconnect-redux on master ( #3960 )
...
* add option to stop reconnecting on failed handshake
2020-06-26 23:41:44 +01:00
Bill Torpey
c7aef56048
- resolve FPE when ZMQ_RECONNECT_IVL == 0
2020-06-26 16:16:31 +01:00
Luca Boccassi
d0d23446f5
Merge pull request #3962 from sigiesec/fix-clang-tidy-analyze
...
Problem: clang-tidy job is failing because package dependencies are o…
2020-06-19 17:31:20 +01:00
Simon Giesecke
3135f6b503
Problem: clang-tidy job is failing because package dependencies are outdated
...
Solution: update to llvm-toolchain-10
2020-06-19 17:58:26 +02:00
Doron Somech
522abc7376
Merge pull request #3959 from bluca/fuzzers
...
Problem: mtrie use of non-tail recursion leads to stack overflow
2020-06-17 14:35:26 +03:00
Luca Boccassi
ab301ebf79
Problem: mtrie use of non-tail recursion leads to stack overflow
...
Solution: convert add and rm functions to iterative algorithms
2020-06-16 21:10:59 +01:00
Luca Boccassi
e0e3ce081e
Problem: XPUB treats non-sub/cancel as sub/cancel
...
Solution: only process for sub/cancel if the messages are actually sub/cancel.
Regression introduced by cf9ccbb which tried to skip non-sub/cancel processing
for PUB.
2020-06-16 21:05:26 +01:00
Luca Boccassi
b4aa912467
Merge pull request #3958 from bluca/fix_tests
...
Problems: formatting error in ip.cpp and test_bind_fuzzer doesn't build on OSX
2020-06-16 21:05:04 +01:00
Luca Boccassi
3856027da9
Problem: test_bind_fuzzer does not build on OSX
...
Solution: use POSIX API instead of GNU extension
2020-06-15 23:47:35 +01:00
Luca Boccassi
1d2af8d388
Problem: formatting error in ip.cpp
...
Solution: fix it
2020-06-15 23:47:35 +01:00
Luca Boccassi
c8b141d964
Merge pull request #3955 from bluca/thread_doc
...
Problem: thread safety documentation is misleading
2020-06-11 19:07:56 +01:00
Luca Boccassi
7f83eeb1b7
Problem: thread safety documentation is misleading
...
Solution: change it to categorically state that non-thread-safe
sockets are not thread safe, ever
2020-06-09 10:25:18 +01:00
Doron Somech
7c3eaf864c
Merge pull request #3954 from bluca/blocklist
...
Problem: documentation uses unfriendly language
2020-06-08 21:45:22 +03:00
Luca Boccassi
4341f14f41
Problem: documentation uses unfriendly language
...
Solution: use more descriptive, accurate and welcoming terms like allowing
and blocking
2020-06-08 19:32:45 +01:00
Doron Somech
3f2529f3c7
Merge pull request #3952 from bluca/fuzzers
...
Problem: test_bind_fuzzer clobbers working directory with random socket files
2020-06-07 14:38:18 +03:00
Luca Boccassi
1ffc21d378
Problem: test_bind_fuzzer clobbers working directory with random socket files
...
Solution: move to /tmp before running the test
2020-06-07 12:09:17 +01:00
mjvk
b6bb3ef925
Adds NORM support to cmake ( #3951 )
2020-06-07 10:39:02 +01:00
Luca Boccassi
3a2b3bc625
Merge pull request #3943 from bjovke/small_fix
...
Problem: The code is wrong, socket option is never set.
2020-05-30 21:16:52 +01:00
Jovan Bunjevacki
c32462cde0
Small fix.
2020-05-30 20:30:23 +02:00
serg06
c89390f0f5
Make including Clang optional
...
I include libzmq in my cmake project, and I don't want clang-related targets popping up in Visual Studio's solution explorer.
2020-05-25 18:34:17 +01:00
serg06
efaeec33fc
RELICENSE grant
2020-05-25 18:33:52 +01:00
serg06
2e87390656
Initialize some CMake variables as empty before build
...
This prevents a bug that occurs when a parent has a `sources` variable when doing `add_subdirectory("libzmq")`.
2020-05-25 18:33:52 +01:00
Doron Somech
c95f7d0933
Merge pull request #3935 from bluca/fuzzers
...
Problem: small memory leaks in PUB/XPUB
2020-05-25 19:45:54 +03:00
Luca Boccassi
cf9ccbbd37
Problem: metadata is stored for PUB sockets and never processed
...
Solution: do not store user messages when the socket type is PUB, they
will never be processed
2020-05-25 15:49:32 +01:00
Luca Boccassi
821ab88f96
Problem: XPUB leaks unprocessed metadata on close
...
Solution: dereference and delete any metadata object left in memory
2020-05-25 15:49:32 +01:00
Doron Somech
b5a8825542
Merge pull request #3930 from bluca/fuzzers
...
Problem: MSAN fuzzers cannot run
2020-05-24 17:23:59 +03:00
Luca Boccassi
38349198a6
Problem: MSAN complains about uninitialised buffers in CURVE greetings
...
Solution: memset some of the CURVE greetings buffers. Most likely false
positives, but easier to fix here than convince Clang of being wrong.
2020-05-24 14:26:14 +01:00
Luca Boccassi
35c4c22c81
Problem: z85 decode test might not always get valid input and pass
...
Solution: do not fail the test in that case, what's important is checking
for undefined behaviour
2020-05-24 14:26:14 +01:00
Luca Boccassi
85e198c5b4
Problem: wrong testcase name in z85_decode_fuzzer
...
Solution: fix it
2020-05-21 11:31:24 +01:00
Luca Boccassi
1ac753979a
Problem: z85_decode fuzzer does not run regression tests with corpora
...
Solution: do it to avoid regressions
2020-05-21 10:49:55 +01:00
Luca Boccassi
51c90a6cd5
Problem: z85_decode fuzzer fails if fewer than 5 bytes are passed
...
Solution: check immediately the size of the input
2020-05-21 10:49:55 +01:00
Bill Torpey
c1d195641d
provide minimal support for TSAN ( #3929 )
...
* provide minimal support for thread sanitizer
2020-05-20 20:01:29 +01:00
Simon Giesecke
6e62fb19b4
Merge pull request #3925 from bjovke/timers_issue
...
Problem: Usage of invalidated iterator of _timers container in zmq::p…
2020-05-20 16:57:24 +02:00
Jovan Bunjevacki
2887c0fbb1
Problem: Usage of invalidated iterator of _timers container in zmq::poller_base_t::execute_timers ().
...
Solution: Safe iteration through _timers container, valid only for std::multimap (currently it is).
2020-05-20 15:03:10 +02:00
Doron Somech
907ec22475
Merge pull request #3922 from bluca/fuzzers
...
Problem: build fails with Clang 10
2020-05-17 18:02:34 +03:00
Luca Boccassi
55dfa239ff
Problem: build fails with Clang 10
...
Solution: wrap generic_mtrie_t in zmq namespace
2020-05-17 15:01:51 +01:00
Doron Somech
8df0d99cd8
Merge pull request #3921 from bluca/fuzzers
...
Problem: invalid address results in out-of-range string access
2020-05-16 17:23:16 +03:00
Luca Boccassi
2d23b599f2
Problem: test_bind_fuzzer does not use corpus for regression tests
...
Solution: do it
2020-05-16 15:01:15 +01:00
Luca Boccassi
dccf1723cc
Problem: invalid address results in out-of-range string access
...
Solution: check for zone string length before using it in ip_resolver
It turns out std::string::at does not check for string length before
dereferencing
2020-05-16 13:40:55 +01:00
Doron Somech
3033112645
Merge pull request #3918 from bluca/fuzzers
...
Problem: unfinished message can be leaked by client pipe
2020-05-15 22:15:02 +03:00
Luca Boccassi
6815138501
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.
2020-05-15 18:19:38 +01:00
Luca Boccassi
6439d32254
Problem: fuzz tests do not check that legitimate clients work
...
Solution: add normal client sockets and bounce at the same time as
the mock client
2020-05-15 18:19:38 +01:00
Luca Boccassi
afacdbeccf
Merge pull request #3913 from somdoron/delay_bind
...
problem: zeromq connects peer before handshake is complete
2020-05-14 08:30:50 +01:00
Doron Somech
ad3b36ab95
problem: test_xpub_manual is flapping
...
The test assumed the subscriptions are arrived in some order, but occasionally the order is not as expected
Solution: fix it
2020-05-14 00:01:06 +03:00
Doron Somech
e7f0090b16
problem: zeromq connects peer before handshake is completed
...
Solution: delay connecting the peer pipe until the handshake is completed
2020-05-13 19:36:13 +03:00
Doron Somech
18cacf2ec1
Merge pull request #3910 from bluca/obs_release
...
Problem: removing latest_branch breaks ABI CI job
2020-05-12 12:29:31 +03:00
Luca Boccassi
364ae768fe
Problem: removing latest_branch breaks ABI CI job
...
Solution: clone latest tag instead
2020-05-12 09:13:06 +01:00
Luca Boccassi
4a863e334a
Merge pull request #3909 from nyfix/std
...
allow C/C++ standard to be specified at build time, default to C++11 if supported
2020-05-12 00:05:43 +01:00
Bill Torpey
f474b226b6
allow C/C++ standard to be specified at build time, default to C++11 if supported
2020-05-11 16:47:02 -04:00
Doron Somech
820efb31bd
Merge pull request #3908 from bluca/obs_release
...
Problem: release script for OBS build fails often
2020-05-11 21:56:49 +03:00
Luca Boccassi
e1d07b61ca
Problem: release script for OBS build fails often
...
Solution: now that tar_scm supports @PARENT_TAG@ as a revision to
automatically fetch the most recent tag on the default branch, use
it to simplify everything
https://github.com/openSUSE/obs-service-tar_scm/pull/359
2020-05-11 19:31:23 +01:00
Doron Somech
0244d809a2
Merge pull request #3905 from bluca/fuzzers
...
Problems: potential memory leak in test_connect_curve_fuzzer, SECURITY.md could use some updates
2020-05-09 15:27:52 +03:00
Luca Boccassi
fb9d055578
Problem: test_bind_curve_fuzzer might get stuck on some input
...
Solution: receive with MSG_DONTWAIT on the raw TCP socket
2020-05-09 13:17:36 +01:00
Luca Boccassi
c33da0ea5b
Problem: we lack an (internal) definition of severity for security issues
...
Solution: attempt to define a reasonable one
2020-05-09 13:03:02 +01:00
Luca Boccassi
675a007d74
Problem: SECURITY.md does not mention 4.3.x series
...
Solution: add it
2020-05-09 12:57:32 +01:00
Luca Boccassi
abb315a6da
Problem: potential memory leak in test_connect_curve_fuzzer
...
Solution: properly initialize zmq_msg before receive
2020-05-09 12:31:36 +01:00
Luca Boccassi
be77a8d932
Merge pull request #3903 from bjovke/msvc_cplusplus
...
Problem: MSVC always reports __cplusplus macro value as 199711L. Some…
2020-05-09 10:50:43 +01:00
Luca Boccassi
a1d82598bb
Merge pull request #3904 from somdoron/CHANNEL
...
problem: no thread-safe alternative for ZMQ_PAIR
2020-05-09 10:49:35 +01:00
Doron Somech
3da84c6d06
problem: no thread-safe alternative for ZMQ_PAIR
...
Solution: create ZMQ_CHANNEL, the thread safe alternative
2020-05-09 08:49:01 +03:00
Jovan Bunjevacki
804d528114
Problem: MSVC always reports __cplusplus macro value as 199711L. Some newer features are switched off even with latest Visual studio version.
...
Solution: Add check for MSVC version along with __cplusplus check.
2020-05-09 01:20:47 +02:00
Doron Somech
28cb820f4f
Merge pull request #3902 from bluca/fuzzers
...
Problems: ZMTP v1 static allocator is needlessly resized, ZMQ_DISABLE_TEST_TIMEOUT does not work anymore
2020-05-08 21:25:37 +03:00
Luca Boccassi
98efa79f54
Problem: ZMQ_DISABLE_TEST_TIMEOUT does not work anymore
...
Solution: restore it so that it can be set via CPPFLAGS, to avoid
tests timing out when running in GDB
2020-05-08 18:18:34 +01:00
Luca Boccassi
397ac80850
Problem: ZMTP v1 static allocator is needlessly resized
...
Solution: don't do it, resizing the shared allocator makes sense
as it can take the message buff for zero copy, but the static allocator
is fixed
2020-05-08 18:18:34 +01:00
Doron Somech
061ce6cea1
Merge pull request #3901 from bluca/fuzzers
...
Problem: test_connect_null_fuzzer doesn't correctly initialise messages
2020-05-07 13:34:26 +03:00
Luca Boccassi
5fd0711196
Problem: memory leak in test_connect_null_fuzzer
...
Solution: initialize message before re-using it so that
receive doesn't fail and messages can be deallocated
2020-05-06 22:26:03 +01:00
Luca Boccassi
243503c29e
Problem: set infinite timeouts on some tests by mistake
...
Solution: remove it
2020-05-06 20:56:36 +01:00
Doron Somech
f7b215c639
Merge pull request #3900 from bluca/fuzzers
...
Use fixed keys in fussers curve tests, run fuzzers github action only on PRs, attempt to fix uninitialised error in test helper
2020-05-06 15:12:03 +03:00
Luca Boccassi
fd3e5daaeb
Problem: fuzzing Github action ran on pushes on forks and fails
...
Solution: run in on PRs only as oss-fuzz uses Docker so the repository is
hard-coded
2020-05-06 12:39:45 +01:00
Luca Boccassi
346f8b8b20
Problem: uninitialised error in testutil helper
...
Solution: memset struct addrinfo to be sure
2020-05-06 11:51:55 +01:00
Luca Boccassi
5819867cd3
Problem: fuzzer curve tests use random keys
...
Solution: use fixed keys to reduce variability and increase the chance
that random data derived from it can break something
2020-05-06 11:47:15 +01:00
Doron Somech
d7e58fc880
Merge pull request #3899 from bluca/fuzzers
...
Problems: address sanitizer not enabled, oss-fuzz images not build-tested
2020-05-06 09:51:11 +03:00
Luca Boccassi
9f94aa866f
Problem: oss-fuzz images not tested on PRs
...
Solution: integrate oss-fuzz build via Github actions
2020-05-06 00:36:29 +01:00
Luca Boccassi
5b7f67a822
Problem: memory sanitizer not enabled in CI
...
Solution: add -fsanitize=leak to the sanitizers flag, and disable
test_many_sockets as it currently fails due to:
https://github.com/zeromq/libzmq/issues/3898
2020-05-06 00:14:02 +01:00
Luca Boccassi
c2ffe2e6d2
Merge pull request #3897 from bluca/fuzzers
...
Problem: test_hello_msg binds to hard-coded port and fails when it's in use
2020-05-05 20:36:26 +01:00
Luca Boccassi
2ac5ee7307
Problem: test_hello_msg binds to hard-coded port and fails when it's in use
...
Solution: use the common wildcard bind pattern instead
2020-05-05 14:13:38 +01:00
Doron Somech
04ecff399b
Merge pull request #3896 from bluca/fuzzers
...
Problems: memory sanitizer fails due to uninitialised global, want to run more tests with sanitizer
2020-05-05 15:51:00 +03:00
Luca Boccassi
3770937de3
Problem: we want to check for undefined behaviour in the CI
...
Solution: enable GCC's UBSAN in the sanitizer job
2020-05-05 12:58:39 +01:00
Luca Boccassi
0c5396849b
Problem: syntax errors in ci_build.sh
...
Solution: fix them
2020-05-05 12:16:19 +01:00
Luca Boccassi
cdd9e9d1f4
Problem: Travis uses old-old-old-stable Ubuntu by default
...
Solution: set default to bionic, and leave a few jobs that manually
set Trusty/Xenial to have more coverage
This is especially useful to get newer gcc for address sanitizer support
2020-05-05 11:48:55 +01:00
Luca Boccassi
96d3cb39e4
Problem: fuzz input which causes extra-large message allocation not stored
...
Solution: add it
2020-05-05 11:48:11 +01:00
Luca Boccassi
9ab3fbeee2
Problem: we want to have multiple seed corpora per fuzzer binary
...
Solution: store them each as a single line in the text file and convert them
at install time
2020-05-05 11:48:11 +01:00
Luca Boccassi
c4fd6dfea7
Problem: sanitizer tests cannot allocate much memory
...
Solution: restrict maximum message size to 64MB in tests
2020-05-05 11:42:06 +01:00
Luca Boccassi
7df845fb82
Problem: memory sanitizer detects uninitialised global variable usage
...
Solution: revert "Problem: complexity of start_connecting"
https://travis-ci.org/github/google/oss-fuzz/jobs/680325364
This reverts commit c590873ff7a81a3c373884eab37cbe2068fbfe4a.
Conflicts:
src/session_base.cpp
src/session_base.hpp
2020-05-04 22:02:04 +01:00
Doron Somech
309d1f1cb7
Merge pull request #3894 from bluca/fuzzers
...
Problems: sub/cancel broken with CURVE, fuzzers need corpora and better unit testing
2020-05-04 14:43:47 +03:00
Luca Boccassi
6b259224ee
Problem: fuzzer regression tests do very little
...
Solution: run them with the seed corpora
2020-05-04 11:42:22 +01:00
Luca Boccassi
c8e62cb2e0
Problem: no dictionaries and seed corpora for fuzzers
...
Solution: add them and install them where oss-fuzz expects them
2020-05-04 02:11:15 +01:00
Luca Boccassi
60ccf54fa6
Problem: sub/cancel broken with CURVE
...
Solution: handle downgrading sub/cancel messages in CURVE engine
2020-05-03 17:42:53 +01:00
Luca Boccassi
534580c31d
Merge pull request #3893 from gummif/gfa/blob-ref
...
Problem: extra blob copy
2020-05-02 14:26:06 +01:00
Luca Boccassi
103e39bd6f
Merge pull request #3892 from gummif/gfa/poller-event
...
Problem: unnecessary event struct and UB
2020-05-01 23:42:32 +01:00
Gudmundur Adalsteinsson
47a080aac0
Problem: extra blob copy
...
Solution: use reference tag
2020-05-01 22:27:44 +00:00
Gudmundur Adalsteinsson
284d90a436
Problem: unnecessary event struct and UB
...
Solution: simply use zmq_poller_event_t
2020-05-01 22:12:30 +00:00
Constantin Rack
e05fe370fe
Merge pull request #3890 from gummif/gfa/retfd
...
Problem: -1 used for invalid socket
2020-04-29 17:23:10 +00:00
Gudmundur Adalsteinsson
e18772f942
Problem: -1 used for invalid socket
...
Solution: use retired_fd instead
2020-04-29 17:12:08 +00:00
Luca Boccassi
aa29f7caff
Merge pull request #3889 from bluca/fuzzers
...
Problem: testutil build broken with gcc 4.4 on CentOS 6
2020-04-28 13:33:03 +01:00
Luca Boccassi
1443c0e787
Merge pull request #3887 from gummif/gfa/unify-fd
...
Problem: Multiple fd_t definitions
2020-04-28 13:32:52 +01:00
Luca Boccassi
5867d7cf5f
Merge pull request #3888 from gummif/gfa/poller-fd
...
Problem: Poller event fd unspecified
2020-04-28 11:26:58 +01:00
Gudmundur Adalsteinsson
d426f2ab0c
Problem: Multiple fd_t definitions
...
Solution: Unify definition
2020-04-28 08:50:18 +00:00
Luca Boccassi
a909e7296d
Problem: testutil build broken with gcc 4.4 on CentOS 6
...
Solution: do not alias sockaddr_un, but take a copy
tests/testutil.cpp: In function 'fd_t bind_socket_resolve_port(const char*, const char*, char*, int, int)':
tests/testutil.cpp:468: error: dereferencing pointer 'un_addr' does break strict-aliasing rules
2020-04-28 00:49:37 +01:00
Luca Boccassi
882cb6fdfb
Problem: static analysis shows dead store in testutil
...
Solution: remove it and rework the ifdefs to be safe against uninitialised use
2020-04-28 00:49:37 +01:00
Luca Boccassi
12a2f81717
Merge pull request #3885 from bluca/fuzzers
...
Problem: no fuzz testing
2020-04-27 23:21:50 +01:00
Gudmundur Adalsteinsson
bf22a9f3e9
Problem: Poller event fd unspecified
...
Solution: Specify an invalid file descriptor for socket events
2020-04-27 21:00:45 +00:00
Luca Boccassi
96787c35f8
Problem: no fuzz testing for API with variable input
...
Solution: add tests for zmq_bind, zmq_connect and zmq_z85_decode
2020-04-27 01:18:45 +01:00
Luca Boccassi
57df836381
Problem: no fuzz testing for CURVE
...
Solution: add simple, initial tests for client and server
2020-04-27 01:18:31 +01:00
Luca Boccassi
8e774f3cd6
Problem: no integration with fuzz testing
...
Solution: port the 2 new tests from oss-fuzz, and wire them up to
be ran manually with a static input in normal builds.
Add a specific configure option to use the external fuzzing engine
from oss-fuzz.
2020-04-27 01:18:08 +01:00
Luca Boccassi
c6d3bc68c8
Problem: ZMTP mocks duplicated across tests
...
Solution: define buffers in common header
2020-04-26 21:04:53 +01:00
Luca Boccassi
4f35d1af1a
Problem: using BSD sockets in test is duplicated across many tests
...
Solution: refactor in testutil.lib, so that they can be used for fuzzers too
2020-04-26 17:59:26 +01:00
Luca Boccassi
c81a973cd8
Problem: assert macros not detecting errors from syscall that do not return -1 on failure
...
Solution: add a new TEST_ASSERT_SUCCESS_RAW_ZERO_ERRNO macro so that
it can check explicitly for non-zero values. This will be used
for getaddrinfo().
2020-04-26 17:59:26 +01:00
Luca Boccassi
727637082f
Problem: test_shutdown_stress_tipc fails sometimes
...
Solution: create socket in the same thread where it is used
2020-04-26 15:08:04 +01:00
Luca Boccassi
b56195e995
Merge pull request #3882 from laplaceyang/relicense
...
RELICENSE: Grant from laplaceyang.
2020-04-22 10:16:42 +01:00
laplaceyang
491defdf12
RELICENSE: Grant from laplaceyang.
2020-04-22 17:11:58 +08:00
Luca Boccassi
9984d43143
Merge pull request #3879 from somdoron/master
...
problem: appveyor is very slow
2020-04-20 21:20:21 +01:00
Doron Somech
81056a7237
problem: appveyor is very slow
...
Solution: move to github actions
2020-04-20 22:55:28 +03:00
Luca Boccassi
a525323757
Merge pull request #3878 from Eelis/master
...
Problem: out-of-bounds array access in socket_poller::check_events.
2020-04-20 12:50:41 +01:00
Luca Boccassi
f00f464566
Merge pull request #3866 from gummif/gfa/poller-refactoring
...
Problem: poller item lookup can be simplified
2020-04-20 09:34:57 +01:00
Eelis van der Weegen
063f14a940
Problem: out-of-bounds array access in socket_poller::check_events.
2020-04-20 03:22:31 +02:00
Gudmundur Adalsteinsson
0b32fb3629
Problem: poller item lookup can be simplified
...
Solution: Extract generic find function
2020-04-19 20:53:56 +00:00
Luca Boccassi
d882e807dd
Merge pull request #3876 from somdoron/HELLO_MSG
...
problem: checking the wrong socket when sending hello msg
2020-04-18 23:32:31 +01:00
Luca Boccassi
08d94d0e16
Merge pull request #3877 from gummif/gfa/spinlock-fix
...
Problem: Spinning on atomics can cause hangs
2020-04-18 22:21:47 +01:00
Doron Somech
6ca07a30e3
problem: checking the wrong socket when sending hello msg
2020-04-18 22:45:49 +03:00
Doron Somech
2745ac31d7
Merge pull request #3875 from bluca/test
...
Fix coverage job and appveyor job
2020-04-18 20:25:17 +03:00
Gudmundur Adalsteinsson
ff80089939
Problem: Spinning on atomics can cause hangs
...
Solution: Add a sleep in the loop. Some versions of
valgrind may hang when spinning on atomic variables.
2020-04-18 12:44:59 +00:00
Luca Boccassi
5a78bad2a8
Problem: coverage CI job fails
...
Solution: bump OS to Xenial for newer python libraries
2020-04-18 11:06:58 +01:00
Luca Boccassi
7cac73401a
Problem: test_many_sockets always fails on Windows
...
Solution: don't run it
2020-04-18 11:03:15 +01:00
Luca Boccassi
ada6f0c058
Merge pull request #3871 from somdoron/DISCONNECT_MSG
...
problem: router doesn't know when peer disconnected
2020-04-18 10:49:50 +01:00
Luca Boccassi
7ce7b8b888
Merge pull request #3874 from shgalym/patch-1
...
typo fix root README
2020-04-18 10:48:07 +01:00
Galymzhàn Sh
d0b5713709
typo fix root README
2020-04-18 15:24:14 +06:00
Luca Boccassi
97a52af242
Merge pull request #3872 from gummif/gfa/poller-size
...
Problem: No support to query poller size
2020-04-17 22:50:34 +01:00
Gudmundur Adalsteinsson
9c6738bb45
Problem: No support to query poller size
...
Solution: Add zmq_poller_size that queries the number
of objects registered, allowing safer usages of poller
to avoid livelock situations.
2020-04-17 18:37:01 +00:00
Doron Somech
81444136d5
problem: router doesn't know when peer disconnected
...
ZMQ_ROUTER_NOTIFY doesn't have a context and doesn't play nice with protocols. with ZMQ_DISCONNECT_MSG we can set it to a protocol message, like DISCONNECT in majordomo. Router will send it when a peer is disconnected. Another advantage of ZMQ_DISCONNECT_MSG is that it also works on inproc.
Together with ZMQ_HEARTBEAT it allows to build very reliable protocols, and much simpler as well.
2020-04-17 18:04:28 +03:00
Luca Boccassi
4c1d720a47
Merge pull request #3870 from somdoron/HELLO_MSG
...
problem: ZMQ_HEARTBEAT is not useful without sending an hello message
2020-04-17 15:24:38 +01:00
Doron Somech
93da6763b0
problem: ZMQ_HEARTBEAT is not useful without sending an hello message
...
When using ZMQ_HEARTBEAT one still needs to implement application-level heartbeat in order to know when to send a hello message.
For example, with the majordomo protocol, the worker needs to send a READY message when connecting to a broker. If the connection to the broker drops, and the heartbeat recognizes it the worker won't know about it and won't send the READY msg.
To solve that, the majordomo worker still has to implement heartbeat. With this new option, whenever the connection drops and reconnects the hello message will be sent, greatly simplify the majordomo protocol, as now READY and HEARTBEAT can be handled by zeromq.
2020-04-17 14:54:58 +03:00
grmt
718ad8ab96
add wss transport and fix tipc tests when building using cmake on linux ( #3857 )
...
* Allow CMAKE to generate ws and wss transports
I guess there is little use of just ws transport, so by default
GnuTLS (and libsodium) are enabled
* cmake libzmq including wss transport (ubuntu 19.10 and ubuntu 19.10 + wsl 1.0)
test_security_fails (libsodium assert !?)
* updated relicense
* make external libs gnutls nss sodium optional
* #ifdef WSS classes and functions, build test*ws* only if correct libs are included, warning if libs not present
* make libsodium optional
* cmake fix tests TIPC transport
* clang-format pointed out a wrongly placed #ifdef
* GnuTLS before 3.6.7 is not safe
* msvc doesn't agree with strlen in array declaration, test_socks now at least compiles on windows
* windows: libsodium build fails, missing include dirs set by env var
* ws transport test only works when GnuTLS is found
* Fixed condition to use NSS / built in SHA1, so that test_ws_transport should now pass, also when GnuTLS is not found
2020-04-13 23:03:19 +01:00
Luca Boccassi
7276b6809a
Merge pull request #3868 from gummif/gfa/poller-sleep
...
Problem: poller sleeps forever if no events
2020-04-13 22:52:46 +01:00
Luca Boccassi
ef4bb9aa5e
Merge pull request #3865 from gummif/gfa/poller-fd-init
...
Problem: poller item fd uninitialized
2020-04-13 22:51:35 +01:00
Gudmundur Adalsteinsson
458d805eb6
Problem: poller sleeps forever if no events
...
Solution: Fail with error if no events are active and timeout is infinite
2020-04-13 21:18:12 +00:00
Gudmundur Adalsteinsson
a468ac782a
Problem: poller item fd uninitialized
...
Solution: Set to zero for socket events
2020-04-13 20:08:08 +00:00
Gudmundur Adalsteinsson
7b1fef28f9
Problem: boilerplate when init msg from data copy ( #3860 )
...
* Problem: boilerplate when init msg from data copy
Solution: Add zmq_msg_init_buffer to construct
a message by copying memory from buffer.
2020-04-09 23:59:43 +01:00
Luca Boccassi
347ff07c94
Merge pull request #3862 from gummif/gfa/poller-formatting
...
Problem: Strange zmq_poller doc formatting
2020-04-09 16:23:02 +01:00
Gudmundur Adalsteinsson
fa2af05d47
Problem: Strange zmq_poller doc formatting
...
Solution: Add newlines and extra asterisks
2020-04-09 14:18:34 +00:00
Luca Boccassi
ae45ac4e1f
Merge pull request #3861 from gummif/gfa/send-doc
...
Problem: zmq_send doc does not match declaration
2020-04-09 15:02:03 +01:00
Gudmundur Adalsteinsson
cbdf075658
Problem: zmq_send doc does not match declaration
...
Solution: add const to pointer type
2020-04-09 13:55:42 +00:00
Luca Boccassi
3c13e9222d
Merge pull request #3851 from gummif/gfa/ts-int
...
Problem: ZMQ_THREAD_SAFE is not bool
2020-03-23 21:11:29 +00:00
Gudmundur Adalsteinsson
e1fc84141d
Problem: ZMQ_THREAD_SAFE is not bool
...
Solution: Change documentation value type to int
2020-03-23 20:49:39 +00:00
Luca Boccassi
323420c5ea
Merge pull request #3850 from JSYoo5B/git-ignore-fix-track
...
Fix gitignore tracking file list
2020-03-18 08:42:22 +00:00
JaeSang Yoo
eceaaf360b
Problem: executable sources are not tracked
...
Solution: Fix .gitignore's exceptions for sources in tools/
2020-03-18 12:51:47 +09:00
Luca Boccassi
876d4bfead
Merge pull request #3849 from ferdnyc/zeromq-config-install
...
Install CMake config to LIBDIR by default, to correctly support multiarch
2020-03-17 08:16:07 +00:00
FeRD (Frank Dana)
a97158aa2a
Add relicensing statement for ferdnyc
...
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2020-03-16 20:23:12 -04:00
FeRD (Frank Dana)
31569c78d9
Problem: CMake config doesn't support multiarch
...
Solution: Install CMake config in arch-dependent LIBDIR/cmake
Using "share/cmake/${PROJECT_NAME}" as DESTINATION for installing
ZeroMQConfig.cmake et al works for arch-independent configs, but
is wrong for multiarch. The configs for each version of the
library should be stored below the arch-dependent LIBDIR, using
the GNUInstallDirs ${CMAKE_INSTALL_LIBDIR} variable.
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2020-03-16 20:22:52 -04:00
Luca Boccassi
bb9135da4f
Merge pull request #3847 from JSYoo5B/protocol-literals-refactor
...
Refactor protocol literals into constants
2020-03-14 13:54:17 +00:00
JaeSang Yoo
38fd1fdc8e
Problem: some cond. compile may cause problem
...
Some ifdefs in condition checking may cause problem in some compiler or
static analyzers. When PGM and NORM both are disabled, some condition
will be derived as false || false.
Solution: Splitted condition checking for every ifdef conditions
2020-03-14 22:20:54 +09:00
JaeSang Yoo
4f436ce00f
Problem: some conditional compile was not applied
...
Conditinoal compile for OPENPGM and NORM is mixed.
Also found few codes which needs conditional compile but not applied.
Solution: Apply conditional compile preprocessors
2020-03-14 19:55:54 +09:00
JaeSang Yoo
ebd22ecf85
Problem: literals protocol names still remains
...
Solution: replace into named constants
2020-03-14 19:55:54 +09:00
Luca Boccassi
0c7ee438a8
Merge pull request #3848 from JSYoo5B/optimize-gitignore
...
Optimizing gitignore files
2020-03-14 09:45:10 +00:00
JaeSang Yoo
2478887d4a
Problem: gitignore is messed up
...
Solution: optimize gitigore using patterns
* Categorize ignoring lists
* Use pattern to remove similar lists
* Marked source files to be tracked
2020-03-14 17:57:56 +09:00
Simon Giesecke
656205b5f9
Merge pull request #3844 from bluca/format
...
Problem: msg_t functions do not respect coding style
2020-03-07 14:58:48 +01:00
Luca Boccassi
f9417dab4d
Problem: msg_t functions do not respect coding style
...
Solution: fix them
2020-03-07 13:25:18 +00:00
Luca Boccassi
07d3687621
Merge pull request #3843 from JSYoo5B/man-udp-not-mentioned
...
Add UDP transport to related docs
2020-03-07 11:45:46 +00:00
JaeSang Yoo
ded0d83e47
Problem: wildcard address with udp not mentioned
...
* UDP is mentioned as available transport, and it also supports
wildcard addresses, but not mentioned
* zmq_unbind(7) also mentions about wild-card endpoint in zmq_bind(3)
Solution: add udp in wildcard address related docs
2020-03-07 14:55:01 +09:00
JaeSang Yoo
296beecd24
Problem: UDP is not mentioned in bind and connect
...
zmq_bind(3) and zmq_connect(3) does not mention UDP as available
transport types.
Solution: add udp mentioning line for related docs
2020-03-07 14:35:06 +09:00
Luca Boccassi
f915971653
Merge pull request #3838 from JSYoo5B/osx-build-doc-issue
...
Problem: building on OS X may failed
2020-02-29 13:50:19 +00:00
JaeSang Yoo
87f9e377dd
Problem: building on OS X may failed
...
Solution: Add troubleshooting guidelines to resolve
(Relicensing statement added)
2020-02-29 22:44:59 +09:00
Rickard Hallerbäck
2206cb37e0
ip_resolver_t: Silencing C++-warning -Wnon-virtual-dtor ( #3837 )
...
* ip_resolver_t: adding virtual descructor to silence C++-warning -Wnon-virtual-dtor
* adding my relicense
2020-02-28 16:49:12 +00:00
Mark Jan van Kampen
de0102e927
Fixes old Simon being in there
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
99cf1c2e96
Fixes tabs
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
c0abfae0d4
Add relicense
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
0d42929193
Adds QNX as possible to compile on
2020-02-24 09:05:39 +00:00
Doron Somech
e765143b42
Merge pull request #3833 from bluca/news
...
News out of date, formatting not clean
2020-02-23 22:33:22 +02:00
Luca Boccassi
4f45ac135a
Problem: formatting not up to date
...
Solution: run make clang-format-diff
2020-02-23 18:25:20 +00:00
Luca Boccassi
09476b3d7f
Problem: NEWS out of date with latest changes
...
Solution: update it
2020-02-23 17:37:56 +00:00
Luca Boccassi
e2de3b7986
Problem: no NEWS entry for ZMQ_RECONNECT_STOP
...
Solution: add it
2020-02-23 17:30:25 +00:00
Bill Torpey
debbe08fb8
add option to stop trying to reconnect on ECONNREFUSED ( #3831 )
...
* add option to stop trying to reconnect on ECONNREFUSED
2020-02-23 17:17:22 +00:00
Luca Boccassi
66ee3ee46c
Merge pull request #3832 from stac47/fix_unused_variable
...
Fix unused-variable warning in perf/proxy_thr.cpp
2020-02-21 09:08:30 +00:00
Laurent Stacul
f0b0e80da0
Fix unused-variable warning in perf/proxy_thr.cpp
2020-02-21 08:27:38 +00:00
Luca Boccassi
c7e99cdc4c
Merge pull request #3829 from gcsideal/master
...
Add relicense grant by Laszlo Boszormenyi (GCS)
2020-02-13 22:37:27 +00:00
Laszlo Boszormenyi (GCS)
76969bf51c
Add relicense grant by Laszlo Boszormenyi (GCS)
2020-02-13 22:29:29 +00:00
Luca Boccassi
98e82ddff3
Merge pull request #3828 from sappo/master
...
Android build helper improvement + fix for prefix dir
2020-02-12 22:05:11 +00:00
Kevin Sapper
67e6a8c233
Problem: Usage of ANDROID_BUILD_DIR not documented
...
Solution: Add usage and default value to README
2020-02-12 21:49:25 +01:00
Kevin Sapper
e293b0b9b3
Problem: Setting TOOLCHAIN env vars should be done by helper
...
Solution: Migrate the properties and the selection for the correct env
and abi to the helper. There's no need for the user to specify them.
2020-02-12 21:36:41 +01:00
Kevin Sapper
511d39c179
Problem: Unable to overwrite the ANDROID_BUILD_DIR
...
Solution: Use pwd only a default value
2020-02-12 16:20:27 +01:00
Luca Boccassi
917921095e
Merge pull request #3827 from sappo/master
...
Improve android build handling
2020-02-12 12:27:45 +00:00
Kevin Sapper
1fc4f513f4
Problem: Tables in README are difficult to read
...
Solution: Re-factor them to look like usual tables
2020-02-12 12:25:19 +01:00
Kevin Sapper
341f56ccac
Problem: Android build is hard to understand
...
Solution: Modify the build scripts so the user can specify the platform
for which to build, e.g. `./build.sh arm`. This approach originally
significantly reduces the parameters which have to be set before running
the script.
Further the build process is documented in a README now.
2020-02-12 12:22:27 +01:00
Doron Somech
d5bd1642d1
Merge pull request #3825 from bluca/relicense
...
Add grant by ninoles
2020-02-11 22:18:13 +02:00
Luca Boccassi
b4bfd0f058
Add grant by ninoles
...
Received via email, message-id:
ed4de883-640b-bf7e-ac56-911e117b649e@tzone.org
2020-02-11 20:16:11 +00:00
Luca Boccassi
52044b38f7
Merge pull request #3823 from somdoron/ZMQ_PEER
...
problem: zeromq doesn't has a thread-safe peer to peer socket
2020-02-09 21:53:18 +00:00
Doron Somech
70bc7dd925
problem: zeromq doesn't has a thread-safe peer to peer socket
...
Solution: a new socket type, called PEER. Very similar to SERVER, but can only connect to other PEERs. Also a new zmq_connect_peer method, that connect and return a routing-id in thread-safe and atomic operation
2020-02-09 23:20:14 +02:00
Luca Boccassi
821685f249
Merge pull request #3822 from somdoron/GROUPMAXLENGTH
...
problem: maximum size of group doesn't match the RFC maximum size
2020-02-09 13:10:47 +00:00
Doron Somech
05194eb549
problem: maximum size of group doesn't match the RFC maximum size
2020-02-09 14:46:23 +02:00
Simon Giesecke
f17a794d59
Merge pull request #3814 from bluca/sub_cancel_decoder
...
Implement ZMTP 3.1 subscribe/cancel via commands
2020-02-07 09:26:21 +01:00
Luca Boccassi
a7bb41ef77
Merge pull request #3820 from somdoron/WSENCODING
...
websocket problems
2020-02-06 16:39:38 +00:00
Doron Somech
652834296b
problem: ws_transport is missing the path the endpoint name
2020-02-06 17:22:28 +02:00
Doron Somech
071ec1a9bb
problem:Fallback to localhost in ws_address has no effect
...
Solution: return after the fallback
fixes #3809
2020-02-06 17:22:11 +02:00
Constantin Rack
6b75209f0e
Merge pull request #3821 from bluca/relicense
...
Grant from KLNikita
2020-02-06 15:26:49 +01:00
Luca Boccassi
8c618e0247
Grant from KLNikita
...
Received via email, message-id:
81ce91c8-df40-13c2-7abf-6f648d0b123f@elyzion.net
2020-02-06 10:29:32 +00:00
Doron Somech
7bfd9512e6
problem: ws_encoder allocate a new msg for masking
...
solution: if msg is not shared or constant, mask the message in place
2020-02-06 09:34:22 +02:00
Simon Giesecke
dca59c940e
Merge pull request #3819 from bluca/relicense
...
Grant by asafkahlon
2020-02-05 20:30:47 +01:00
Luca Boccassi
b7c1d932fb
Grant by asafkahlon
...
Received via email, message-id:
CALFsTFVZLgujRE3V_30G9V9b35kE566K5cWi0vKbNkZGSHrszA@mail.gmail.com
2020-02-05 17:06:27 +00:00
Luca Boccassi
38b6888c3e
Problem: libzmq does not advertise ZMTP 3.1
...
Solution: bump minor version number in the engine as all 3.1 features
are now implemented
2020-02-05 17:03:39 +00:00
Luca Boccassi
253e9dd27b
Problem: libzmq does not send ZMTP 3.1 sub/cancel commands
...
Solution: if all peers of a socket are >= 3.1 use sub/cancel commands
instead of the old 0/1 messages.
For backward compatibility, move the handling of 0/1 or sub/cancel
command strings to the encoders, so that the right thing can be done
depending on the protocol version.
Do not set the command flag until the encoder, so that we can handle
the inproc case (which skips the encoder).
2020-02-05 17:03:39 +00:00
Luca Boccassi
d4af92cd15
Merge pull request #3818 from SCOREC/xlClang
...
support compiling with IBM XL 16.1 w/ clang front end
2020-02-05 16:59:24 +00:00
Cameron Smith
f4dff8eed6
relicense stmt
2020-02-05 11:46:08 -05:00
Cameron Smith
49ecde8d80
support compiling with IBM XL 16.1 w/ clang front end
2020-02-05 11:00:34 -05:00
Luca Boccassi
0d073e0b67
Merge pull request #3816 from somdoron/SCATTER-GATHER-DOC
...
problem: no docs for scatter-gather
2020-02-05 08:29:37 +01:00
Doron Somech
40de45396f
problem: no docs for scatter-gather
2020-02-05 02:33:38 +02:00
Luca Boccassi
27f2f5e745
Merge pull request #3815 from gummif/gfa/doc-typo
...
Problem: Documentation for option name mismatch
2020-02-04 21:44:21 +01:00
Gudmundur Adalsteinsson
ee32b833a7
Add relicence agreement
2020-02-04 20:07:35 +00:00
Gudmundur Adalsteinsson
f80830c4a8
Problem: Documentation for option name mismatch
...
Solution: Fix typo
2020-02-04 20:00:07 +00:00
Luca Boccassi
e7f802d1ac
Merge pull request #3813 from sigiesec/code-style
...
Improve code style, remove duplications in test code
2020-02-04 19:05:01 +01:00
Simon Giesecke
21b8d5cff7
Problem: duplicated code in tests related to monitoring
...
Solution: extract new receive_monitor_address function
2020-02-04 18:36:03 +01:00
Simon Giesecke
495fb00b7e
Problem: pointee types are unnecessarily non-const
...
Solution: add const where possible
2020-02-04 18:34:19 +01:00
Simon Giesecke
db8f4fba21
Problem: redundant inline/ZMQ_FINAL declarations
...
Solution: remove them
2020-02-04 18:34:13 +01:00
Luca Boccassi
21d80e42a8
Merge pull request #3812 from pavel-pimenov/RELICENSE-pavel-pimenov
...
RELICENSE pavel-pimenov
2020-02-04 16:40:36 +01:00
Pavel Pimenov
c9845bfbf4
RELICENSE pavel-pimenov
2020-02-04 18:36:19 +03:00
Luca Boccassi
84ec65482f
Merge pull request #3808 from sigiesec/fix-test-monitor-to-be-checked
...
Fix intermittent test_monitor and test_security_zap timeouts/deadlocks for now
2020-02-04 15:23:58 +01:00
Luca Boccassi
d8851c5ca8
Merge pull request #3807 from sigiesec/fix-test-heartbeats
...
Problem: intermittent timeouts on test_heartbeats
2020-02-04 14:42:16 +01:00
Simon Giesecke
66094678d1
Problem: intermittent deadlocks/timeouts in test_monitor and test_security_zap
...
Solution: wait for monitor to stop resp. unregister monitor before
closing monitored socket.
2020-02-04 14:34:36 +01:00
Doron Somech
0a1fc44ed7
Merge pull request #3811 from sigiesec/fix-libsodium-1-0-0
...
Problem: curve_encoding_t build fails with old libsodium versions
2020-02-04 10:34:27 +01:00
Simon Giesecke
dfcca75d0b
Problem: curve_encoding_t build fails with old libsodium versions
...
Solution: add version check and fall back to old implementation for old versions
2020-02-04 10:04:40 +01:00
Simon Giesecke
58b636675a
Problem: on POSIX systems, all tests have a timeout of 60 seconds; disabling it via ZMQ_DISABLE_TEST_TIMEOUT doesn't work anymore
...
Solution: remove ZMQ_DISABLE_TEST_TIMEOUT guard but add default parameter to setup_test_environment
2020-02-04 09:48:55 +01:00
Simon Giesecke
577d64c007
Problem: intermittent timeouts on test_heartbeats
...
Solution: increase number of retries when reading monitor event,
and increase timeout
2020-02-04 09:48:55 +01:00
Luca Boccassi
06bdebfe8d
Merge pull request #3805 from sigiesec/curve-zerocopy
...
CURVE: Reduce number of memory allocations and message copies
2020-02-04 08:58:31 +01:00
Luca Boccassi
f1513f96d8
Merge pull request #3806 from sigiesec/increase-reconnect-ivl-timeout
...
Problem: intermittent timeouts of test_reconnect_ivl
2020-02-04 08:54:32 +01:00
Simon Giesecke
e7043c815d
Problem: intermittent timeouts of test_reconnect_ivl
...
Solution: increase timeout to 15 seconds
2020-02-03 23:19:45 +01:00
Simon Giesecke
4177bf7445
Problem: curve_encoding_t involves unnecesary heap allocations and copying of message data
...
Solution: use crypto_box_easy_afternm and crypto_box_open_easy_afternm
in-place
2020-02-03 22:33:15 +01:00
Simon Giesecke
2fa8185340
Problem: cannot use static libsodium library on Windows
...
Solution: add CMake option WITH_LIBSODIUM_STATIC
2020-02-03 22:24:16 +01:00
Simon Giesecke
b01685ea0a
Problem: no unittests for curve_encoding_t
...
Solution: add initial tests
2020-02-03 22:24:16 +01:00
Luca Boccassi
48aed8df11
Merge pull request #3803 from bluca/relicense
...
Grant by jimenezrick, xantares
2020-02-03 19:10:32 +01:00
Telford Berkey
499624927a
Submitting permission to relicense under MPLv2 statement. ( #3804 )
...
* Adding permission to relicense for tberkey.
Co-authored-by: bzimmerman-qb <bzimmerman@4qbase.com>
2020-02-03 17:34:52 +01:00
Simon Giesecke
78b94a4fcf
Problem: testutil.hpp pulls in min/max macro definitions on Windows
...
Solution: define NOMINMAX
2020-02-03 17:07:15 +01:00
Simon Giesecke
4ad239acbc
Problem: curve encoding and decoding are not easily testable
...
Solution: extract into separate class curve_encoding_t
2020-02-03 17:07:15 +01:00
Luca Boccassi
a7b328a79a
Revert "Problem: nuget internal metadata not maintained, no relicense"
...
Relicense grant received.
This reverts commit d2a8be8da72f893d23a611bff0ba09e3ee9872e1.
2020-02-03 16:23:38 +01:00
Luca Boccassi
7cceedda2d
Grant by phreed
...
Received via email, message-id:
BYAPR08MB506237D85857D053D749888C91000@BYAPR08MB5062.namprd08.prod.outlook.com
2020-02-03 16:22:20 +01:00
Luca Boccassi
f6de0dcafa
Grant by xantares
...
Set via github comment:
https://github.com/zeromq/libzmq/pull/1366#issuecomment-581451018
2020-02-03 15:56:11 +01:00
Luca Boccassi
687241e93f
Grant by jimenezrick
2020-02-03 14:19:36 +01:00
Kevin Sapper
af5ac60631
Merge pull request #3801 from bluca/relicense
...
Add relicense from zoobab, acsearle
2020-02-03 14:13:23 +01:00
Luca Boccassi
d69f4dc855
Problem: commented out code in CMakeLists.txt
...
Solution: remove it, never used
2020-02-03 13:40:42 +01:00
Luca Boccassi
d2a8be8da7
Problem: nuget internal metadata not maintained, no relicense
...
Solution: remove it for now
2020-02-03 13:40:42 +01:00
Luca Boccassi
a2b4cca266
Merge pull request #3802 from FredTreg/patch-1
...
Adding relicensing grant from FredTreg
2020-02-03 13:29:37 +01:00
Frederic Tregon
0b66262bda
Adding relicensing grant from FredTreg
2020-02-03 13:08:45 +01:00
Luca Boccassi
2a6cc306da
Grant by acsearle
2020-02-03 11:56:11 +01:00
Simon Giesecke
3e394fddb4
Problem: naming convention violated by curve_mechanism_base
...
Solution: change to conform with naming convention
2020-02-03 11:44:10 +01:00
Luca Boccassi
fc8eec6d39
Add relicense from zoobab
2020-02-03 10:26:35 +01:00
Luca Boccassi
75dfbae0d1
Merge pull request #3798 from std-any-emplace/msvc-cmake-clang-buildfix
...
Add an extra space after "/Z7" in CMakeLists.txt.
2020-01-28 22:34:58 +00:00
Simon Giesecke
e73789620d
Merge pull request #3797 from std-any-emplace/msvc-cmake
...
Both libzmq and libzmq-static are trying to work in precompiled.pch. …
2020-01-28 22:14:10 +01:00
std-any-emplace
e29495373e
Add an extra space after "/Z7". Else the flag gets joined with the flag following this and clang-cl does not like that.
2020-01-28 21:30:56 +01:00
std-any-emplace
9b66fe2fba
Both libzmq and libzmq-static are trying to work in precompiled.pch. Solution: enforce order.
...
Fixes https://github.com/zeromq/libzmq/issues/3776 .
2020-01-28 20:57:53 +01:00
Luca Boccassi
fde2a7a65d
Merge pull request #3795 from sigiesec/final-override-analyze
...
Code style improvements
2020-01-27 11:42:57 +00:00
Simon Giesecke
406c423c9a
Problem: C-style casts used
...
Solution: use static_cast instead
2020-01-27 10:38:00 +01:00
Simon Giesecke
78961eeab7
Problem: non-modifying member functions not marked as const/static
...
Solution: add const/static
2020-01-27 10:38:00 +01:00
Simon Giesecke
41e3f14d6a
Problem: ptr/ref parameters and local variables are non-const but never modified
...
Solution: add const
2020-01-27 10:38:00 +01:00
Simon Giesecke
759fed8e7e
Problem: meaningless inline specified on function declarations
...
Solution: remove them
2020-01-27 10:38:00 +01:00
Simon Giesecke
f8f7913737
Problem: irregular loop conditions
...
Solution: use standard loop constructs and optimize some loops
2020-01-27 10:38:00 +01:00
Simon Giesecke
628adf1cb7
Problem: inconsistent polymorphic inheritance
...
Solution: consistently use virtual, override and final
2020-01-27 08:46:55 +01:00
Luca Boccassi
6d69898240
Merge pull request #3794 from sigiesec/fix-ctx-shutdown
...
Problem: sockets can be created after calling zmq_ctx_shutdown
2020-01-26 18:09:47 +00:00
std-any-emplace
fbf85448c3
Clarify used C++-standard for compilation. ( #3793 )
...
* Clarify used C++-standard for compilation.
* More than a conforming compiler may be necessary to compile the library. Just refer to the list of known "good" platforms below.
2020-01-26 18:50:17 +01:00
Simon Giesecke
36a8df2f8c
Problem: sockets can be created after calling zmq_ctx_shutdown
...
Solution: fix handling of _starting and _terminate flags
Add tests for this situation.
Clarify documentation of zmq_ctx_shutdown and zmq_socket.
Fixes #3792
2020-01-26 18:06:14 +01:00
Simon Giesecke
ebc9314339
Merge pull request #3790 from std-any-emplace/master
...
EAGAIN: Refer to ZMQ_RCVTIMEO when receiving in blocking-mode
2020-01-25 21:46:35 +01:00
std-any-emplace
337ec270a4
EAGAIN: Refer to ZMQ_RCVTIMEO when receiving in blocking-mode
2020-01-25 20:04:59 +01:00
Luca Boccassi
349e3e21db
Merge pull request #3789 from std-any-emplace/master
...
Some minor documentation fixes
2020-01-23 19:29:54 +00:00
std-any-emplace
feb4f3d424
Fix minor typo
2020-01-23 20:09:08 +01:00
std-any-emplace
81d522bb66
Refer to zmq_socket because there are more thread-safe sockets than just client/server
2020-01-23 20:08:38 +01:00
Luca Boccassi
72865e1b61
Merge pull request #3788 from colletted/feature
...
Replace strtok with strtok_r
2020-01-23 09:34:12 +00:00
Denis Collette
64fc106123
Problem: preious commit contains tabs
...
Solution: replace tabs with spaces
2020-01-22 20:15:50 -04:00
Denis Collette
851ae90319
Problem: No relicense agreement by Denis Collette
...
Solution: added relicence agreement
2020-01-22 19:59:51 -04:00
Denis Collette
1450681fb4
Problem: Issue #3766 states that strtok is not thread safe and should be replaced
...
Solution: Replaced calls to strtok with strtok_r (strtok_s for windows)
in ws_engine.cpp
2020-01-22 19:40:26 -04:00
Simon Giesecke
b7dd31db5a
Merge pull request #3785 from bluca/wss_option
...
Problem: WS build option is independent of DRAFT
2020-01-20 14:13:36 +01:00
Luca Boccassi
1f00a5bf59
Problem: WS build option is independent of DRAFT
...
Solution: make the default depend on the value of the DRAFT build flag
2020-01-19 16:36:29 +00:00
Luca Boccassi
ddae567f16
Problem: ZMQ_WSS socket options not defined in src/zmq_draft.h
...
Solution: add them
2020-01-19 14:39:29 +00:00
Doron Somech
07052ad309
Merge pull request #3784 from bluca/news
...
Problem: NEWS out of date with latest changes
2020-01-19 16:13:19 +02:00
Luca Boccassi
68e6d8c07f
Problem: NEWS out of date with latest changes
...
Solution: update it
2020-01-19 13:52:35 +00:00
Doron Somech
d47b7fa065
Merge pull request #3783 from std-any-emplace/master
...
Documentation fix regarding thread-safety of zmq_poll/zmq_poller.txt.
2020-01-19 11:48:12 +02:00
std-any-emplace
c09b794ac6
Add a relicense-file.
2020-01-19 10:45:18 +01:00
std-any-emplace
8004c10f39
Documentation fix regarding thread-safety of zmq_poll/zmq_poller.txt.
...
See https://github.com/zeromq/libzmq/issues/3778 .
2020-01-19 09:54:11 +01:00
Doron Somech
1b8a352480
Merge pull request #3782 from mloy/fix_websocket_without_path_with_test
...
Fix websocket without path with test
2020-01-19 07:38:31 +02:00
Matthias Loy
65ce499bef
Added relicense file mloy
2020-01-18 23:20:15 +01:00
Matthias Loy
67adc458df
Roundtrip test for websocket url without a path
2020-01-18 23:19:31 +01:00
Matthias Loy
c357c378d8
fix: websocket url without path
...
websocket urls without a path caused crash!
2020-01-18 23:04:16 +01:00
Luca Boccassi
7ea72e5692
Merge pull request #3780 from somdoron/WSPINGPONG
...
problem: ws_engine don't support WS RFC ping-pong and close
2020-01-18 19:31:00 +00:00
Doron Somech
60ef14f80b
problem: ws_engine don't support WS RFC close control msg
...
Solution: when peer send a close msg, close the connection
2020-01-18 19:30:23 +02:00
Doron Somech
b120ec33a9
problem: ws_engine don't support WS RFC ping-pong
...
Solution: implement both PONG response and producing pings
2020-01-18 18:28:00 +02:00
Constantin Rack
b9b901e89d
Merge pull request #3775 from ffontaine/master
...
acinclude.m4: add -latomic to PKGCFG_LIBS_PRIVATE
2020-01-12 12:10:08 +00:00
Fabrice Fontaine
d59dcbcaeb
acinclude.m4: add -latomic to PKGCFG_LIBS_PRIVATE
...
Add -latomic to PKGCFG_LIBS_PRIVATE so applications linking statically
with libzmq (such czmq) will know that they have to link with -latomic
and the following build failure will be avoided:
CCLD src/czmq_selftest
/home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/run/instance-3/output-1/host/sparc-buildroot-linux-uclibc/sysroot/usr/lib/libzmq.a(src_libzmq_la-ctx.o): in function `zmq::ctx_t::create_socket(int)':
ctx.cpp:(.text+0x1710): undefined reference to `__atomic_fetch_add_4'
Fixes:
- http://autobuild.buildroot.org/results/4a12f1ede260cd956a0b5ccb4eec6ca8b44cb04f
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-01-12 10:18:23 +01:00
Luca Boccassi
a9cca0d568
Merge pull request #3772 from kanonet/mingw-lib
...
mingw: add missing namespace
2020-01-09 20:53:29 +00:00
Christoph Kahl
c5dab4f48f
mingw: add missing namespace
2020-01-09 21:44:53 +01:00
Simon Giesecke
73eb1eac05
Merge pull request #3767 from bluca/libbsd
...
Problems: reimplementation of strlcpy, CMake does not use pkg-config for NSS, wrong pc generated by autoconf with GNUTLS
2020-01-06 11:46:38 +01:00
xqcool
382c6d7186
Update array.hpp ( #3769 )
...
* Update array.hpp
Problem:Calling back on an empty container causes undefined behavior.
Solution:Check with the function empty()
* Create xqcool.mq
Adds relicensing grant
2020-01-01 10:37:51 +01:00
Luca Boccassi
c560a41473
Problem: mingw build broken
...
Solution: check correct preprocessor define in test_reconnect_ivl to match the
test invocation
2019-12-28 21:17:09 +01:00
Luca Boccassi
3832bd6b11
Problem: UWP build fails
...
Solution: initialize local variable in all cases to false positive
compiler warning
2019-12-28 21:17:09 +01:00
Luca Boccassi
21f763c872
Problem: libbsd not used on Travis
...
Solution: add it to one build to exercise all the code paths
2019-12-28 21:17:09 +01:00
Luca Boccassi
9d2899af87
Problem: libzmq.pc does not include gnutls dependency for static linking
...
Solution: add it to the Requires.private list
2019-12-28 21:17:09 +01:00
Luca Boccassi
2c2ff01e85
Problem: CMake does not look for NSS using pkg-config
...
Solution: use pkg-config by default and FindPackage only as a
fallback
2019-12-28 21:17:09 +01:00
Luca Boccassi
068385c951
Problem: internal reimplementation of strlcpy used by default on Linux
...
Solution: use libbsd by default when available, and the internal implementation
only as a fallback, to take advantage of Linux distros maintenance of the
string libraries.
2019-12-28 16:21:06 +01:00
Luca Boccassi
246cc77efc
Merge pull request #3763 from sigiesec/replace-strcpy
...
Avoid possible buffers overruns in ws_engine
2019-12-25 16:13:13 +01:00
Luca Boccassi
59095f9d06
Merge pull request #3765 from sigiesec/various-improvements
...
Various improvements
2019-12-25 15:07:10 +01:00
Simon Giesecke
3dbbc28bb8
Problem: use of unsafe strcpy
...
Solution: use memcpy with known size instead
2019-12-25 13:56:26 +01:00
Simon Giesecke
334e837b88
Problem: ws_engine uses unsafe strcpy
...
Solution: use strcpy_s instead (define custom if not available)
2019-12-25 13:56:26 +01:00
Simon Giesecke
14ab794671
Problem: local functions not declared static
...
Solution: add static
2019-12-25 13:52:21 +01:00
Simon Giesecke
fa804c7783
Problem: pseudo-loops which had exactly one iteration
...
Solution: removed them
2019-12-25 13:52:21 +01:00
Simon Giesecke
579aa5b440
Problem: non-loop-variables initialized via loop initializer
...
Solution: move initialization to declaration
2019-12-25 13:52:21 +01:00
Simon Giesecke
d4cc592387
Problem: loop variable modified in loop step and body
...
Solution: modify it in loop body only
2019-12-25 13:52:21 +01:00
Simon Giesecke
a64c3e6c7d
Problem: redundant consecutive return statements
...
Solution: remove the redundant one
2019-12-24 10:17:10 +01:00
Simon Giesecke
ddbf45cf8d
Problem: redundant break after return
...
Solution: remove them
2019-12-24 10:17:10 +01:00
Simon Giesecke
2256bd5b0b
Problem: unnecessary copying of string literals
...
Solution: just copy the address
2019-12-23 14:12:07 +01:00
Simon Giesecke
4c3f115469
Problem: raw malloc used unnecessarily
...
Solution: use std::string instead
2019-12-23 14:12:07 +01:00
Simon Giesecke
30e2398e67
Problem: WSS-specific members and options are compiled without ZMQ_HAVE_WSS
...
Solution: properly guard members and options
2019-12-23 11:58:07 +01:00
Simon Giesecke
9e548bd591
Problem: insecure and inefficient strcpy used
...
Solution: use memcpy with known length
2019-12-23 11:58:07 +01:00
Simon Giesecke
3e7995f7f7
Merge pull request #3758 from sonoware/fix-set-cpu-affinity
...
Fix set cpu affinity
2019-12-13 15:03:06 +01:00
Stephan Senkbeil
8089529148
Problem: ZMQ_HAVE_PTHREAD_SET_AFFINITY not set correctly
...
Solution: Set correct define in CMake check and add the cmakedefine
2019-12-13 14:42:45 +01:00
Stephan Senkbeil
3a3192e983
Adds RELICENSE for sonoware
2019-12-13 14:40:42 +01:00
Luca Boccassi
eb54966cb9
Merge pull request #3757 from sigiesec/fix-windows-signaler-regression
...
Fix windows signaler regression
2019-12-10 18:41:35 +00:00
Simon Giesecke
9f16513ebe
Problem: loop sending signaler event is obscure
...
Solution: add comments and remove continue/break
2019-12-10 16:19:25 +01:00
Simon Giesecke
3ace237988
Revert "Removed unreachable code paths"
...
This reverts commit 4f77cfa3274fcddf9687fc713b8a331ee018cf87.
2019-12-10 16:08:52 +01:00
Doron Somech
9b67fe8a98
Merge pull request #3755 from sigiesec/more-improvements-analyze
...
Make use of = default and = delete if available
2019-12-09 12:06:49 +02:00
Simon Giesecke
b88b12c77c
Problem: sonar has no access to git history
...
Solution: unshallow clone in analysis job
2019-12-09 09:48:21 +01:00
Simon Giesecke
f60f909899
Problem: missing use of C++11 = delete and = default
...
Solution: introduce macros ZMQ_DEFAULT and ZMQ_NON_COPYABLE_NOR_MOVABLE
2019-12-09 09:48:21 +01:00
Simon Giesecke
86d7de38ca
Problem: redundant empty destructor
...
Solution: Remove definition
2019-12-08 19:43:31 +01:00
Constantin Rack
400107d765
Merge pull request #3754 from sigiesec/code-improvements-analyze
...
Improvements to static analysis & resolve some issues identified by static analysis
2019-12-08 17:31:02 +00:00
Simon Giesecke
76460c5e17
Problem: clang-format outdated
...
Solution: update to clang-format 8
2019-12-08 16:08:16 +01:00
Simon Giesecke
f8adf9ea55
Problem: unnecessary value parameters
...
Solution: change to const references
2019-12-08 15:24:48 +01:00
Simon Giesecke
cb2b377d9f
Problem: redundant else after return
...
Solution: remove else
2019-12-08 15:24:48 +01:00
Simon Giesecke
1d9c6bcf09
Problem: unittest_udp_address not properly formatted
...
Solution: run clang-format
2019-12-08 15:24:48 +01:00
Simon Giesecke
fdabd73da6
Problem: parameters not const where const possible
...
Solution: add const
2019-12-08 15:24:48 +01:00
Simon Giesecke
84267e734b
Problem: inconsistent parameter names on definition/declaration
...
Solution: align them
2019-12-08 15:24:48 +01:00
Simon Giesecke
cd954e207d
Problem: use of C-style casts
...
Solution: use static_cast/reinterpret_cast instead
2019-12-08 15:24:48 +01:00
Simon Giesecke
a83c57d0bb
Problem: identifiers not conformant with naming convention
...
Solution: fix identifier names
2019-12-08 15:24:48 +01:00
Simon Giesecke
18edd28955
Problem: clang version used for analysis is outdated
...
Solution: update to clang 8
2019-12-08 15:24:48 +01:00
Simon Giesecke
de3e03c147
Problem: new clang-tidy contains checks that do not apply to libzmq
...
Solution: disable inapplicable checks
2019-12-08 15:24:48 +01:00
Luca Boccassi
b9ddf62261
Merge pull request #3752 from sigiesec/update-sonar-scanner-analyze
...
Problem: sonar-scanner binary is outdated and no longer available
2019-12-07 10:48:46 +00:00
Simon Giesecke
d2fbfa7bd8
Problem: sonar-scanner binary is outdated and no longer available
...
Solution: Update to version 4.2.0.1873
2019-12-07 10:38:22 +01:00
Luca Boccassi
df993d113c
Merge pull request #3751 from sigiesec/windows-domain-sockets-signaler
...
Use Unix domain sockets for listener when available on Windows
2019-12-07 00:25:21 +00:00
Simon Giesecke
cf7e0fb066
Problem: test_capabilities fails on Windows when IPC support is available
...
Solution: Fix ifdef for expectation of IPC support
2019-12-06 20:24:41 +01:00
Simon Giesecke
76b7478290
Problem: there is no VS2019/IPC build job
...
Solution: add VS2019 build job
2019-12-06 19:31:41 +01:00
Simon Giesecke
ca552d563f
Problem: listener socket uses TCP loopback connections which sometimes go awry
...
Solution: Use domain sockets instead if available
2019-12-06 19:11:50 +01:00
Simon Giesecke
bd4c2d60ba
Problem: zmq::listener_t::create_wildcard_address not reusable in ip.cpp
...
Solution: move to ip.hpp as zmq::create_ipc_wildcard_address
2019-12-06 19:11:50 +01:00
Simon Giesecke
3bcaea535c
Problem: zmq_fdpair function is very long
...
Solution: Extract TCP/IP loopback variant into zmq_fdpair_tcpip
2019-12-06 17:51:13 +01:00
liedtkeInTUM
65d2f1f498
Problem: if IPC enabled libzmq does not compile when in uwp build ( #3747 )
...
* Problem: if IPC enabled libzmq does not compile when in uwp build
* Problem 10.0.##### can be valid windows target versions
* Problem: No builds are triggered on uwp platform
* Problem: epoll is set before UWP platform is checked
* Problem: used wrong CMAKE_SYSTEM_NAME specifier
* Problem: build tests fails during cmake configure
* Use Win32 build step for Win32-uwp platform
* Disable compile options that produce warnings that leads to a ci fail
* winnt version is set by cmake, no need for redefinition in windows.hpp
* Eliminate all warning according Incremental and opt:icf are specified
* Prefer to disable opt flags in debug config rather than incremental linking
* CMAKE_GENERATOR should not include uwp definition
* Add release build with uwp configuration
* Problem: pointer potentially uninitialized
2019-12-06 13:27:24 +00:00
Luca Boccassi
51bf2aff35
Merge pull request #3746 from drolevar/master
...
Change XSUB -> XPUB message processing.
2019-12-04 16:08:15 +00:00
Andrij Abyzov
5a854780f2
Problem: cannot send arbitrary data from XSUB to XPUB.
...
Solution: now if the first frame in a multipart message is not subscribe/unsubscribe,
the rest of the parts are also considered to be not subscribe/unsubscribe.
2019-12-04 16:25:08 +01:00
Doron Somech
85df75584e
Merge pull request #3743 from bluca/test_ws_bindport
...
Fix ZMQ_LAST_ENDPOINT with WS[S] and use it in tests
2019-11-28 17:24:35 +02:00
Luca Boccassi
00a448b1f0
Problem: WS tests bind to hard-coded TCP port and fail when ran in parallel
...
Solution: bind to wildcard and use ZMQ_LAST_ENDPOINT
2019-11-28 12:37:53 +00:00
Luca Boccassi
a61db18eee
Problem: WSS LAST_ENDPOINT returns WS transport
...
Solution: add wss_address_t subclass of ws_address_t to override the
to_string method
2019-11-28 12:37:53 +00:00
Luca Boccassi
c711941e9a
Problem: wildcard port binding does not work with WS sockets
...
Solution: remove the path from the address when resolving
2019-11-28 09:27:05 +00:00
Luca Boccassi
79d75f017c
Problem: WS sockets return TCP protocol strings with ZMQ_LAST_ENDPOINT
...
Solution: use the correct address class when resolving
2019-11-28 09:27:05 +00:00
Luca Boccassi
75d9d84100
Merge pull request #3744 from liedtkeInTUM/fix_output_name
...
Problem: static libs are generated without given basename
2019-11-27 09:33:28 +00:00
Sven Liedtke
0cca4b2ce9
Add relicense statement
2019-11-27 10:24:20 +01:00
Sven Liedtke
d9d4dbbbd4
Problem: static libs are generated without given basename
2019-11-27 08:28:07 +01:00
Luca Boccassi
0f9dd85e89
Merge pull request #3741 from drolevar/master
...
Change XSUB -> XPUB multipart message processing.
2019-11-20 09:01:32 +00:00
Andrij Abyzov
04761133bf
Fix zmq::select_t::loop formatting
2019-11-20 09:29:59 +01:00
Andrij Abyzov
d5198693e8
Add relicense grant for Andrij Abyzov
2019-11-19 18:22:15 +01:00
Andrij Abyzov
108977c838
Change XSUB -> XPUB multipart message processing.
...
Now only the first part in a multipart message will be treated as subscribe/unsubscribe.
The rest will be considered user messages regardless of the first byte.
2019-11-19 18:22:12 +01:00
Luca Boccassi
e0d9e21374
Merge pull request #3738 from eldruin/external-output-name
...
Allow library output name to be changed externally
2019-11-13 12:40:55 +00:00
Diego Barrios Romero
0605d06f1e
Add license grant
2019-11-13 13:23:42 +01:00
Diego Barrios Romero
0bd8f70264
Allow renaming library from the outside
2019-11-13 12:00:47 +01:00
Luca Boccassi
97df2dac3a
Merge pull request #3735 from viciious/no-libsodium-spec
...
Remove the superfluous build requirement of libsodium-devel
2019-11-12 17:15:56 +00:00
Victor Luchits
e2e0f5c5f0
Add the relicense statement
2019-11-12 20:14:13 +03:00
Victor Luchits
39c63994f9
Remove the superfluous build requirement of libsodium-devel
2019-11-12 18:24:21 +03:00
Luca Boccassi
b788270bda
Merge pull request #3734 from somdoron/tls_key_expired
...
problem: test_wss_transport keys expired
2019-11-10 10:17:35 +00:00
Doron Somech
a1aeae92cd
problem: test_wss_transport expired
...
Solution: generate new keys that last for 100 years
2019-11-10 10:34:43 +02:00
Luca Boccassi
af86d93d5f
Merge pull request #3726 from bluca/capsh_option
...
Problem: test_pair_tcp_cap_net_admin requires sudo but is enabled by …
2019-11-02 08:24:34 +00:00
Constantin Rack
c57b2a5cc4
Merge pull request #3729 from bluca/fd_oob
...
Problem: WSAEventSelect checks for FD_OOB, but select does not
2019-11-01 10:06:18 +00:00
Luca Boccassi
9ced36e407
Problem: WSAEventSelect checks for FD_OOB, but select does not
...
WSAEventSelect is used on Windows (when select is the polling method)
only if waiting for more than one socket family, excluding IPv4/6.
It is then passed FD_OOB, which means it can be woken by OOB messages,
but select later on never checks for it.
Remove FD_OOB as it's not actually used for anything.
2019-11-01 09:34:03 +00:00
Doron Somech
854354bbd6
Merge pull request #3728 from njsmith/patch-1
...
Fix typo in email address
2019-10-31 23:30:17 +02:00
Nathaniel J. Smith
4f188fe1ab
Fix typo in email address
2019-10-31 14:02:10 -07:00
Luca Boccassi
30e966fe1b
Merge pull request #3727 from Botje/fix-poller-example
...
Problem: Poller example has wrong argument order
2019-10-31 18:55:25 +00:00
Dries Harnie
9e4f55d741
RELICENSE: Add grant for Dries Harnie
2019-10-31 19:44:50 +01:00
Dries Harnie
ba6695c59a
Problem: zmq_poller example is wrong
...
Solution: flipped arguments in example
2019-10-31 18:54:07 +01:00
Luca Boccassi
bfa8cf3089
Problem: test_pair_tcp_cap_net_admin requires sudo but is enabled by default in CMake
...
Solution: add an option to enable it, and default to false. Enable it in
the CI so we don't lose coverage, as it works on Travis.
Fixes #3725
2019-10-31 09:37:22 +00:00
Luca Boccassi
805564b996
Merge pull request #3717 from sigiesec/add-win-ipc-support
...
Problem: ipc transport not supported under Windows
2019-10-29 23:02:42 +00:00
Simon Giesecke
302436515c
Problem: windows socket error number cleared before saved to saved_errno
...
Solution: call tune_socket only if connect was successful
2019-10-29 23:04:54 +01:00
Simon Giesecke
66d0f3511f
Problem: ipc transport not supported under Windows
...
Solution: implement support
2019-10-29 23:04:54 +01:00
Luca Boccassi
a33f1101dc
Merge pull request #3724 from benjdero/qol-improvements
...
Add a few quality of life improvements to the Android build scripts
2019-10-28 16:34:33 +00:00
Benjamin Deroche
c1168b2374
Rename my license agreement
2019-10-28 16:48:54 +01:00
Benjamin Deroche
c995032595
Fix android build fail check when using a different locale than english
2019-10-28 16:48:54 +01:00
Benjamin Deroche
0d0899bc0d
Download the NDK only the first time
2019-10-28 16:48:54 +01:00
Benjamin Deroche
7ee36a177a
Make sure the new file erase the old one and don't get a different name
2019-10-28 16:03:22 +01:00
Benjamin Deroche
947893e79f
Keep the unzip quiet but make sure it doesn't fail silently
2019-10-28 16:02:57 +01:00
Doron Somech
11d49d4f47
Merge pull request #3721 from bluca/gnutls_pkg
...
Problem: libzmq-dev not installable with libczmq-dev on Ubuntu 16.04
2019-10-26 16:21:42 +03:00
Luca Boccassi
44b13a3aa4
Problem: libzmq-dev not installable with libczmq-dev on Ubuntu 16.04
...
Solution: add alternative dependency as libgnutls-dev | libgnutls28-dev,
so that the resolver can break the tie, as libcurl4-nss-dev depends on
libgnutls-dev which conflicts with libgnutls28-dev
2019-10-26 12:37:18 +01:00
Luca Boccassi
86722502e9
Merge pull request #3720 from BenjaminDeroche/master
...
Problem: Android build script is severely outdated
2019-10-26 00:04:36 +01:00
Benjamin Deroche
a67f7b09a4
Add the relicense statement
2019-10-26 00:46:49 +02:00
Benjamin Deroche
d2099b7593
Problem: Android build script is severely outdated
...
Solution: Migrate build scripts from Android NDK r11c to r20.
- Standalone toolchain
- Migration from GCC to Clang
- Migration from libgnustl to libc++
- Dropped support for API level below 16 (Android 4.1), previously it was API level 9 (Android 2.3)
- Dropped support for mips architecture
- The build script now start the build of all 4 Android architectures (arm, arm64, x86, x86_64)
2019-10-25 23:07:04 +02:00
Doron Somech
58deca3fb3
Merge pull request #3716 from sigiesec/fix-winxp-support
...
Problem: build targeting Windows XP is broken
2019-10-19 09:31:47 -04:00
Simon Giesecke
7f43e7ff75
Problem: build targeting Windows XP is broken
...
Solution: fix build issues
2019-10-19 14:04:55 +02:00
Luca Boccassi
92e3226869
Merge pull request #3714 from mdionisio/remove_libm
...
Revert "Problem: pkg-config file cannot be used for static linking on…
2019-10-14 20:44:23 +01:00
Michele Dionisio
9f65720dc0
Revert "Problem: pkg-config file cannot be used for static linking on CentOS 7"
...
This reverts commit 765c24740d6d2a1e3256ee90dc126d05917ca15d.
2019-10-14 20:43:33 +02:00
Luca Boccassi
683bf1d732
Merge pull request #3713 from mdionisio/useless_ceil
...
avoid to use std::ceil
2019-10-14 15:53:39 +01:00
Michele Dionisio
f07f47b1e3
avoid to use ceil function
...
ceil function is usually in math library that can be avoided as dependency
2019-10-14 16:18:27 +02:00
Michele Dionisio
f370cc0070
Add RELICENSE grant for mdionisio
...
Signed-off-by: Michele Dionisio <michele.dionisio@gmail.com>
2019-10-14 15:21:14 +02:00
Luca Boccassi
c1ff4c2b52
Merge pull request #3711 from yan12125/centos7-static-linking
...
Fix linking to libzmq.a statically on CentOS 7
2019-10-12 15:46:47 +01:00
Chih-Hsuan Yen
ca30ee78f6
Add relicense note for @yan12125
...
Based on RELICENSE/templates/relicense-template-mplv2.txt. MPLv2 is
definitely fine, but I'm not sure if I'm OK with other licenses.
2019-10-12 22:37:05 +08:00
Chih-Hsuan Yen
765c24740d
Problem: pkg-config file cannot be used for static linking on CentOS 7
...
Solution: add -lm to Libs.private of libzmq.pc so that the std::ceil
usage in src/decoder_allocators.cpp is satisfied during static linking
on CentOS 7.
See https://github.com/zeromq/libzmq/issues/3710 for a reproducer.
2019-10-12 22:36:31 +08:00
Doron Somech
96bc59a6ce
Merge pull request #3708 from bluca/gnutls_pkg
...
Problem: test_wss_transport doesn't compile without DRAFT
2019-10-07 12:54:51 +03:00
Luca Boccassi
5bcb7dc5fe
Problem: test_wss_transport doesn't compile without DRAFT
...
Solution: skip it
2019-10-07 10:50:51 +01:00
Luca Boccassi
688213dbe4
Merge pull request #3706 from somdoron/master
...
WIP: problem: appveyor is failing
2019-10-07 10:39:52 +01:00
Doron Somech
efb9c5698e
Merge pull request #3707 from bluca/gnutls_pkg
...
Problem: packages not build with TLS support
2019-10-07 12:26:47 +03:00
Luca Boccassi
be83fe27e2
Problem: RPM builds do not print test failures logs
...
Solution: add VERBOSE=1
2019-10-07 09:55:42 +01:00
Luca Boccassi
5bfb13032e
Problem: packages not build with TLS support
...
Solution: add dependency to gnutls
2019-10-07 09:55:32 +01:00
Luca Boccassi
de845bd021
Merge pull request #3705 from somdoron/ws_mechanism
...
problem: zero-sized messages cause assertion when glibc assertion are on
2019-10-07 08:37:32 +01:00
somdoron
cad10d9580
problem: some files are missing in git ignore
...
solution: add new entries to gitignore
2019-10-07 09:54:53 +03:00
somdoron
55c9e5037f
problem: mingw and cygwin builds fail because of line error
...
Solution: ignore the line error and continue the build
2019-10-07 09:46:43 +03:00
somdoron
2d6a66a81d
problem: test_xpub_nodrop fails frequently
...
Solution: fix the test
2019-10-07 09:46:43 +03:00
somdoron
9b15658eb1
problem: zero-sized messages cause assertion when glibc assertion are on
...
Solution: when a zero-sized message is encoded or decoded avoid mem copy
2019-10-07 09:11:44 +03:00
Luca Boccassi
539718f35a
Merge pull request #3704 from somdoron/ws_mechanism
...
problem: GNUTLS handshake is getting blocked because of timeout on some versions
2019-10-06 09:42:56 +01:00
somdoron
618227f63c
problem: GNUTLS handshake is getting blocked because of timeout on some versions
...
Solution: disable handshake timeout
2019-10-06 11:05:56 +03:00
Luca Boccassi
810d3b43d1
Merge pull request #3703 from somdoron/ws_mechanism
...
problem: wss transport return incorrect return code for error
2019-10-04 19:46:56 +01:00
somdoron
a9bb526403
problem: wss transport return incorrect return code for error
...
Solution: return -1 for errors
2019-10-04 20:46:00 +03:00
Luca Boccassi
8d9acb72c1
Merge pull request #3702 from somdoron/ws_mechanism
...
problem: WS transport doesn't support mechanism
2019-10-04 15:38:49 +01:00
somdoron
2018be643a
problem: valgrind complain about uninitialized value
...
Solution: initialize the value
2019-10-04 17:13:48 +03:00
somdoron
977f137a83
problem: cannot check WS and WSS capability
...
Solution: add capability check to zmq_has
2019-10-04 16:27:36 +03:00
somdoron
41b9af2c79
problem: WS transport doesn't support mechanism
...
Solution: add support to mechanism
2019-10-04 16:24:48 +03:00
Luca Boccassi
95797422aa
Merge pull request #3701 from JonDyte/master
...
RELICENSE: add Jon Dyte license grant.
2019-10-03 22:23:32 +01:00
Jon Dyte
9e60dbe780
RELICENSE: add Jon Dyte license grant.
2019-10-03 22:19:20 +01:00
Doron Somech
28f5c9545a
Merge pull request #3700 from bluca/relicense
...
Add grant by nixman
2019-10-03 15:10:21 +03:00
Luca Boccassi
42408dd9aa
Add grant by nixman
...
Submitted as Github comment:
https://github.com/zeromq/libzmq/pull/242#issuecomment-537903446
2019-10-03 12:36:54 +01:00
Luca Boccassi
1c7ed2484b
Merge pull request #3698 from ThePrez/ibmi
...
Add IBM i build support
2019-10-03 08:51:04 +01:00
ThePrez
94f92b64ed
Add IBM i to platform list
2019-10-02 17:40:34 -05:00
ThePrez
fb2db30b19
Add relicense notice
2019-10-02 17:28:54 -05:00
ThePrez
25320a3c7b
Add IBM i build support via 'os400' clause
2019-10-02 15:21:28 -05:00
Luca Boccassi
9bb6b21423
Merge pull request #3695 from somdoron/tls
...
problem: unsecured websocket is rarely used in production
2019-10-02 09:04:38 +01:00
somdoron
7296fb5b15
problem: unsecured websocket is rarely used in production
...
Solution: support websocket with tls (wss)
2019-10-02 08:58:26 +03:00
Doron Somech
2e9b2f8843
Merge pull request #3696 from bluca/relicense
...
Add grant by MongoDB, Inc.
2019-10-01 21:47:04 +03:00
Luca Boccassi
a43f03316e
Add grant by MongoDB, Inc.
...
Received by Github comment:
https://github.com/zeromq/libzmq/pull/1451#issuecomment-537169373
2019-10-01 19:39:08 +01:00
Luca Boccassi
8fe620901f
Merge pull request #3690 from ipechorin/master
...
Add relicense grant
2019-09-24 22:52:22 +01:00
Ivan Pechorin
598d9babf6
Add relicense grant
2019-09-25 09:39:22 +12:00
Luca Boccassi
4ebe92333e
Merge pull request #3687 from trya/fix_conflate
...
Fix behavior of ZMQ_CONFLATE on PUB sockets
2019-09-24 11:45:15 +01:00
trya
2fe9dd9101
Problem: ZMQ_CONFLATE on PUB sockets delivers to only one subscriber at most
...
Solution: Fix behavior of dbuffer on writes. Message passed in argument
of dbuffer::write can be assigned directly to the back buffer without
leaking, since the message has already the right reference count (see
dist::distribute and msg_t::add_refs). Secondly, in order to prevent the
message pending in the front buffer from leaking if it hasn't been
closed yet (for example because the peer is not reachable anymore), move
back buffer to front buffer using msg_t::move instead of swapping the
buffers, thus allowing release of the message in the front buffer.
2019-09-24 02:57:24 +02:00
Luca Boccassi
38b485dd75
Merge pull request #3685 from trya/relicensing
...
Add relicense grant
2019-09-23 20:50:53 +01:00
Luca Boccassi
f24c019ec1
Merge pull request #3686 from trya/doc_sock_block
...
Fix documentation about sockets blocking on send operations
2019-09-23 20:50:44 +01:00
trya
45e1fc059b
Add relicense grant
2019-09-23 02:17:03 +02:00
trya
4378d71247
Problem: Documentation about socket blocking on send operations is incorrect
...
Solution: Reflect real behavior of sockets blocking on send operations
Sockets that block in mute state only block when no peer is available if
the transport is connection-oriented and the ZMQ_IMMEDIATE socket option
is set.
2019-09-23 02:13:04 +02:00
Luca Boccassi
8d34332ff2
Merge pull request #3683 from dimpase/patch-1
...
Allow "configure --disable-maintainer-mode"
2019-09-19 07:56:45 +02:00
Dima Pasechnik
3290faa8e6
relicense by dimpase
2019-09-18 23:09:01 +01:00
Dima Pasechnik
a25e3168bb
Allow "configure --disable-maintainer-mode"
...
Allow "configure --disable-maintainer-mode" to disable timestamp checking.
This is useful for one-off builds, in particular on e.g. clusters, where slightly skew clocks force aclocal and friends to kick in for no good reason.
2019-09-18 16:20:22 +01:00
Simon Giesecke
d76664017c
Merge pull request #3681 from TobiSchluter/bugfix/dont_include_winsock2
...
Bugfix/dont include winsock2
2019-09-13 09:34:16 +02:00
Tobias Schlüter
38d144731d
Add relicensing file
2019-09-13 14:18:38 +09:00
Tobias Schlüter
cb211e4f1e
Problem: inclusion of winsock2.h leads to ordering issues in user code.
...
Solution: don't include winsock2.h, replace its only use (reference to SOCKET) by explicitly naming underlying type.
2019-09-13 14:15:37 +09:00
Doron Somech
3ecaf9fe6e
Merge pull request #3680 from bluca/nss_pkg
...
Problem: nss package has different name on SUSE
2019-09-12 13:45:26 +03:00
Luca Boccassi
bd5220c505
Problem: nss package has different name on SUSE
...
Solution: fix it in the spec file
2019-09-12 11:16:46 +01:00
Doron Somech
9b4deeffdb
Merge pull request #3679 from bluca/nss_pkg
...
Problems: packages not building with nss, build fails on SUSE Tumbleweed, too many Travis builds
2019-09-12 12:08:34 +03:00
Luca Boccassi
3e4c90bbf4
Problem: package build fails on SUSE Tumbleweed
...
Solution: add -ffat-lto-objects if the compiler supports it
2019-09-11 16:02:10 +01:00
Luca Boccassi
79535f39ca
Problem: there are already many Travis builds
...
Solution: do not add one specifically for nss, but use the existing
catch-all build
2019-09-11 15:46:00 +01:00
Luca Boccassi
5dd433501f
Problem: packages are not build with nss
...
Solution: add relevant dependencies
2019-09-11 15:45:37 +01:00
Luca Boccassi
9acdafb001
Problem: spec file includes libsodium-devel twice
...
Solution: only do it once if the macro is enabled
2019-09-11 15:44:35 +01:00
Luca Boccassi
adf348b667
Merge pull request #3677 from somdoron/sha1_conflict
...
problem: sha external file conflict with czmq
2019-09-11 15:36:17 +01:00
somdoron
2fb9e93cfa
problem: ci doesn't build with nss
...
Solution: add an nss build to CI
2019-09-11 15:01:28 +03:00
somdoron
9be8334938
problem: sha1 external module conflict with czmq
...
Solution: allow to use external library (nss) for sha1 to avoid the conflict
2019-09-11 15:01:28 +03:00
Luca Boccassi
e756743a12
Merge pull request #3674 from herbrechtsmeier/relicense
...
RELICENSE: add grant from Stefan Herbrechtsmeier
2019-09-09 19:46:34 +01:00
Stefan Herbrechtsmeier
f505e02988
RELICENSE: add grant from Stefan Herbrechtsmeier
2019-09-09 20:42:32 +02:00
Luca Boccassi
be0f52fe57
Merge pull request #3673 from jcfr/relicense-jcfr
...
Relicense: Jean-Christophe Fillion-Robin
2019-09-09 15:00:27 +01:00
Doron Somech
0858038367
Merge pull request #3672 from bluca/relicense
...
Relicense granby by RPGillespie6
2019-09-07 09:08:59 +03:00
Luca Boccassi
a643e58902
Relicense granby by RPGillespie6
...
Received by Github comment:
https://github.com/zeromq/libzmq/pull/2536#issuecomment-528961084
2019-09-07 00:23:21 +01:00
Luca Boccassi
064d5438e6
Merge pull request #3671 from somdoron/ws_protocol
...
problem: ws_engine doesn't check Sec-WebSocket-Protocol
2019-09-05 22:55:06 +01:00
somdoron
52e0d965b3
problem: ws_engine doesn't check Sec-WebSocket-Protocol
...
Solution: Validate Sec-WebSocket-Protocol and make sure ZWS2.0 is one of the protocols
2019-09-05 23:11:29 +03:00
Luca Boccassi
df1bec03c0
Merge pull request #3670 from somdoron/ws_host_path
...
problem: ws_engine doesn't send correct host and path
2019-09-05 20:57:33 +01:00
somdoron
a48fdd6a7f
problem: ws_engine doesn't send correct host and path
...
Solution: extract path and host from the address
2019-09-05 17:33:38 +03:00
Luca Boccassi
3413e05bd0
Merge pull request #3668 from UniStuttgart-VISUS/master
...
Safer regex replace, keeping options like "/Zc:twoPhase-" intact
2019-09-04 21:55:29 +01:00
Alexander Straub
00cf36e933
Added relicense
2019-09-04 20:40:12 +02:00
Alexander Straub
2ec56d25b6
Safer regex replace, keeping options like "/Zc:twoPhase-" intact
2019-09-04 19:41:34 +02:00
Luca Boccassi
a084deb0b2
Merge pull request #3666 from diorcety/license
...
Relicense: diorcety
2019-09-04 14:24:10 +01:00
Yann Diorcet
0bbe531861
Relicense: diorcety
2019-09-04 15:21:44 +02:00
Luca Boccassi
4256e5413c
Merge pull request #3664 from cbusbey/relicense
...
grant relicense
2019-09-03 18:07:52 +01:00
chris busbey
ccabb48265
grant relicense
2019-09-03 11:52:27 -05:00
Jean-Christophe Fillion-Robin
3d656e1ff1
Relicense: Jean-Christophe Fillion-Robin
2019-09-03 09:18:18 -04:00
Simon Giesecke
e33eedc663
Merge pull request #3661 from bluca/autoconf_static_only
...
Problem: static-only test run fails
2019-09-03 09:43:26 +02:00
Simon Giesecke
223e9266e0
Merge pull request #3662 from bluca/relicense
...
Grant by psl-felipefarinon
2019-09-02 19:11:51 +02:00
Luca Boccassi
9785e37875
Grant by psl-felipefarinon
...
Received via Github message:
https://github.com/zeromq/libzmq/pull/751#issuecomment-527205167
2019-09-02 18:02:33 +01:00
Luca Boccassi
2fe2ce1e37
Problem: static-only test run fails
...
Solution: add libtestutil.a before libzmq.a in LDADD listings, as the
linker will complain about undefined symbols otherwise
Fixes https://github.com/zeromq/libzmq/issues/3646
2019-09-02 12:11:25 +01:00
Doron Somech
21bfa58dad
Merge pull request #3660 from bluca/relicense
...
Grant by kreuzberger
2019-09-02 13:53:01 +03:00
Luca Boccassi
10aea5c65d
Grant by kreuzberger
...
Received via Github comment:
https://github.com/zeromq/libzmq/pull/1374#issuecomment-527100078
2019-09-02 11:45:54 +01:00
Doron Somech
826e7db7be
Merge pull request #3659 from bluca/xpub_user_msg
...
Problem: can no longer send user data from XSUB to XPUB
2019-09-02 13:36:30 +03:00
Luca Boccassi
6fb8ef0711
Problem: can no longer send user data from XSUB to XPUB
...
Solution: fix regression introduced by:
https://github.com/zeromq/libzmq/pull/3168
Correctly fall back to user message if the first byte is neither 0 nor
1, and add a simple unit test
Fixes https://github.com/zeromq/libzmq/issues/3656
2019-09-02 11:33:19 +01:00
Doron Somech
c737e5720f
Merge pull request #3654 from bluca/relicense
...
Grant by skaller
2019-09-01 07:39:47 +03:00
Luca Boccassi
1925bdccb1
Grant by skaller
...
Received via email, message-id:
B7B30120-05AF-4A53-8023-D9C092DE0873@internode.on.net
2019-08-31 23:54:49 +01:00
Doron Somech
62fe9bf147
Merge pull request #3653 from rcxdude/master
...
Add relicense permission
2019-09-01 00:35:05 +03:00
Douglas Young
ecc2eb42ce
Add relicense permission
2019-08-31 22:29:41 +01:00
Constantin Rack
017e7d3605
Merge pull request #3652 from mvilim/relicense
...
Relicense permission
2019-08-31 21:32:31 +02:00
Michael Vilim
a55f2a52e3
Relicense permission
2019-08-31 14:04:26 -05:00
Luca Boccassi
3e3c3d7ba5
Merge pull request #3651 from brian-peloton/master
...
Add relicense grant
2019-08-31 19:37:45 +01:00
Doron Somech
41a58da49c
Merge pull request #3650 from bluca/relicense
...
Grant by dmeehan1968
2019-08-31 20:41:49 +03:00
Luca Boccassi
8a3140064f
Grant by dmeehan1968
...
Received via Github comment:
https://github.com/zeromq/libzmq/pull/1082#issuecomment-526840485
2019-08-31 16:46:52 +01:00
Doron Somech
db8447d3b1
Merge pull request #3649 from bluca/relicense
...
Grants by paddor and mbarbisan
2019-08-31 17:27:35 +03:00
Luca Boccassi
757ae967cf
Grant by paddor
...
Received by Github message:
https://github.com/zeromq/libzmq/pull/2121#issuecomment-526833407
2019-08-31 15:19:36 +01:00
Luca Boccassi
1a0d52db05
Grant by mbarbisan
...
Received via email, message-id:
CAL4jiWydU5KjXEf1LKKObMgOEfQJVV36zgBY8U5JaXx3mP8c5A@mail.gmail.com
2019-08-31 15:19:18 +01:00
Simon Giesecke
e30186cb00
Merge pull request #3648 from bluca/relicense
...
Grants by jbreams and DaiyuHurst
2019-08-31 16:03:01 +02:00
Luca Boccassi
b566e2cc77
Grant by jbreams
...
Received as Github comment:
https://github.com/zeromq/libzmq/pull/1451#issuecomment-526832003
2019-08-31 14:57:53 +01:00
Luca Boccassi
48c6290888
Grant by DaiyuHurst
...
Received as Github comment:
https://github.com/zeromq/libzmq/pull/1283#issuecomment-526831846
2019-08-31 14:57:43 +01:00
Doron Somech
a76233b727
Merge pull request #3647 from msune/msune_licensing
...
RELICENSE: add relicense agreement from msune
2019-08-31 12:34:08 +03:00
Marc Sune
ea9d948cde
RELICENSE: add relicense agreement from msune
...
Add RELICENSE document for msune contributions, both for:
* marcdevel at gmail dot com
* marc at voltanet io
2019-08-31 11:27:55 +02:00
Francesco Montorsi
b3582da8fb
Introduce extended set/get methods for ZMQ contexts ( #3642 )
...
* Introduce DRAFT zmq_ctx_set_ext() and zmq_ctx_get_ext() methods. Change
ZMQ_THREAD_NAME_PREFIX to allow for non-numeric thread name prefixes.
2019-08-27 23:41:23 +01:00
Andrei Tomashpolskiy
2aa87c94cc
UDP engine aborts on networking-related errors from socket syscalls (2) #2862 ( #3640 )
...
* UDP engine aborts on networking-related errors from socket syscalls #2862
2019-08-25 15:55:42 +01:00
Doron Somech
7559d2daaf
Merge pull request #3639 from sigiesec/fix-win-binaries
...
Problem: appveyor binary archives do not contain import libraries
2019-08-23 11:57:26 +02:00
Simon Giesecke
c1377ff168
Problem: appveyor binary archives do not contain import libraries
...
Solution: include all *.lib files
2019-08-23 11:29:10 +02:00
Andrei Tomashpolskiy
f48c86d077
UDP engine aborts on networking-related errors from socket syscalls #2862 ( #3638 )
...
* UDP engine aborts on networking-related errors from socket syscalls #2862
* Add relicense statement
2019-08-22 18:52:31 +01:00
Luca Boccassi
e492dea80e
Merge pull request #3637 from spotify/relicense
...
Add relicense agreement from Spotify AB
2019-08-21 19:04:44 +01:00
Nick Platt
74e7ee0e66
Add relicense agreement from Spotify AB
2019-08-21 13:52:15 -04:00
Luca Boccassi
56ace6d03f
Merge pull request #3636 from schulzch/cmake-precompiled
...
[CMake] Add ENABLE_PRECOMPILED option
2019-08-21 13:32:15 +01:00
Christoph Schulz
878f1d51f5
Add ENABLE_PRECOMPILED option.
...
You might want to disable this flag when building with Ninja.
2019-08-21 14:02:31 +02:00
Luca Boccassi
9bb197e030
Merge pull request #3613 from TomzBench/mingw-fix
...
no void pointer to store function pointer
2019-08-19 11:15:29 +01:00
Simon Giesecke
1d21d2f4e4
Merge pull request #3634 from bluca/relicense
...
RELICENSE: add grant by Daniel Krikun
2019-08-19 11:20:29 +02:00
Luca Boccassi
205c52009d
RELICENSE: add grant by Daniel Krikun
...
Received via email, message-id:
CAMohcw2mZMPku8OV0Ge0-8+D3a6ayLR=6ivWjVmT0UU_ejZxiA@mail.gmail.com
2019-08-19 09:17:38 +01:00
Simon Giesecke
e9b67001dd
Problem: invalid syntax for calling convention on function pointer
...
Solution: fix syntax and formatting, remove C-ism for defining struct
2019-08-19 10:13:11 +02:00
Luca Boccassi
19f2d9e529
Merge pull request #3633 from Neopallium/master
...
Re-license Robert G. Jakabosky (Neopallium)
2019-08-17 10:37:30 +01:00
Robert Gabriel Jakabosky
d63a00b98f
Re-license Robert G. Jakabosky (Neopallium)
2019-08-17 16:06:22 +08:00
Brian Silverman
f4cbe4ba45
Add relicense grant
2019-08-14 13:20:42 -07:00
Luca Boccassi
5de89531f2
Merge pull request #3632 from Suudy/master
...
RELICENSE: Add relicensing grant
2019-08-14 16:48:49 +01:00
Pete LaDow
65e67b32bf
RELICENSE: Add relicensing grant
2019-08-14 08:33:19 -07:00
Luca Boccassi
ab51e0a81f
Merge pull request #3626 from bluca/relicense
...
RELICENSE: chymanfx
2019-08-13 14:48:01 +01:00
Luca Boccassi
48ea043311
Merge pull request #3630 from hnwyllmm/patch-1
...
Adds relicensing grant
2019-08-13 08:31:49 +01:00
Laughing
5650bbab1d
Adds relicensing grant
...
Adds relicensing grant
2019-08-13 14:56:30 +08:00
Luca Boccassi
66a228ef46
Merge pull request #3628 from murphybytes/murphybytes-relicense
...
RELICENSE: John Murphy
2019-08-12 15:06:22 +01:00
John Murphy
9d53203ccf
relicensing
2019-08-12 08:38:24 -05:00
Luca Boccassi
e8e13c17ad
Merge pull request #3627 from f18m/master
...
Scripts for graphing benchmark results
2019-08-12 10:24:55 +01:00
Luca Boccassi
e979988d66
RELICENSE: chymanfx
...
Grant received by PR comment:
https://github.com/zeromq/libzmq/pull/3195#issuecomment-520338586
2019-08-12 10:03:59 +01:00
Luca Boccassi
78c435044d
Merge pull request #3625 from jlauenercern/master
...
RELICENSE: Joel Lauener
2019-08-12 09:58:14 +01:00
Joel Lauener
95176a53a4
RELICENSE: Joel Lauener
2019-08-12 10:41:11 +02:00
dhammika
a979a99523
Add relicense grant ( #3624 )
...
* Add relicense grant
Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2019-08-12 09:13:50 +01:00
Simon Giesecke
057331e3f9
Merge pull request #3623 from miniway/relicense
...
Relicense permission
2019-08-12 08:29:36 +02:00
Min(Dongmin Yu)
b00494226c
Relicense permission
2019-08-12 13:23:37 +09:00
Luca Boccassi
c87215380a
Merge pull request #3622 from jens-auer/master
...
Add relicense statement
2019-08-11 21:49:52 +01:00
Jens Auer
cc83fed11a
Add relicense statement
2019-08-11 22:06:28 +02:00
Doron Somech
8443313e0b
Merge pull request #3621 from bluca/relicense
...
RELICENSE: Aleksander Melnikov
2019-08-11 18:38:05 +03:00
Luca Boccassi
3c951f7d1c
Merge pull request #3620 from bebopagogo/master
...
Add relicense agreement from Brian Adamson
2019-08-11 16:34:18 +01:00
Luca Boccassi
3bb2a0d487
RELICENSE: Aleksander Melnikov
...
Grant received via Github PR comment:
https://github.com/zeromq/libzmq/pull/1413#issuecomment-520233278
2019-08-11 16:32:45 +01:00
bebopagogo
becf469865
Add relicense agreement from Brian Adamson
2019-08-11 11:30:36 -04:00
Doron Somech
e161907db9
Merge pull request #3619 from bluca/relicense
...
Fix formatting and add relicense for mesegura
2019-08-11 16:22:31 +03:00
Luca Boccassi
87988bf4c8
Problem: formatting error
...
Solution: run make clang-format-diff to fix it
2019-08-11 12:00:13 +01:00
Luca Boccassi
6b71823ad0
Merge pull request #3618 from AxelNennker/master
...
relicense
2019-08-11 11:41:47 +01:00
Axel Nennker
3c8f4a431e
relicense
...
Signed-off-by: Axel Nennker <axel.nennker@telekom.de>
2019-08-11 12:38:19 +02:00
Luca Boccassi
edc266b3ab
RELICENSE: Manuel Segura
...
Received via email on 10/08/2019, message-id:
CALdfLGZ1N4EkK+kB735_3apOg1QKU5fUz5BWtFmj6BjYv7fN+g@mail.gmail.com
2019-08-11 11:29:27 +01:00
Luca Boccassi
c0db5c3ae3
Merge pull request #3617 from claws/relicense_permission
...
Relicense permission
2019-08-11 10:37:30 +01:00
Chris Laws
cd4fac3a0c
relicense permission
2019-08-11 18:17:08 +09:30
Simon Giesecke
db82835995
Merge pull request #3616 from dennisklein/relicense_permission
...
RELICENSE permission
2019-08-11 08:16:51 +02:00
Dennis Klein
c44be4aa60
RELICENSE permission
2019-08-11 03:51:59 +02:00
Luca Boccassi
1ef3a68629
Merge pull request #3615 from drbobbeaty/master
...
Added my relicense doc
2019-08-10 22:27:46 +01:00
Simon Giesecke
4e7a58b983
Merge pull request #3614 from garlick/relicense_garlick
...
Add relicense agreement from Jim Garlick
2019-08-10 22:12:36 +02:00
Bob Beaty
7d8c86241c
Added my relicense doc
...
Just following the instructions in the email to add my agreement.
2019-08-10 14:28:05 -05:00
Jim Garlick
304843373c
Add relicense agreement from Jim Garlick
2019-08-10 11:01:53 -07:00
thomas
64d58c432c
relicense add
2019-08-10 11:15:26 -04:00
Luca Boccassi
ec0aa6cef6
Merge pull request #3612 from fanquake/travis_sudo_deprecated
...
problem: sudo:false has been deprecated by Travis CI
2019-08-10 15:57:21 +01:00
thomas
87b81926aa
no void pointer to store function pointer
2019-08-10 10:43:28 -04:00
fanquake
114b1f9516
problem: no relicensing agreement for fanquake
...
solution: add relicensing agreement for fanquake
2019-08-10 19:56:30 +08:00
fanquake
abe26f0dc3
problem: sudo:false has been deprecated by Travis CI
...
solution: remove sudo:false usage from travis.yml
Travis has deprecated the usage of sudo:false in travis.yml.
See this blog post for more details: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
Also: https://docs.travis-ci.com/user/reference/trusty/#container-based-infrastructure
2019-08-10 19:54:41 +08:00
fmontorsi
5f95e53e0f
Allow to graph results from TCP links at 100Gbps nicely.
2019-08-08 11:40:33 +02:00
fmontorsi
9cdef8aa0c
Better script for performance tests
2019-08-08 11:18:05 +02:00
Luca Boccassi
b66b2857ad
Merge pull request #3610 from hxw/master
...
Re-license grant + suggested readme update
2019-08-07 08:18:44 +01:00
Christopher Hall
4cd39feb68
Add re-license grant file
...
Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2019-08-07 11:46:49 +08:00
Christopher Hall
62d8346447
add DragonFly BSD to platforms list
...
Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2019-08-07 11:36:00 +08:00
Simon Giesecke
c3eab89e53
Merge pull request #3608 from hxw/master
...
[DragonFlyBSD] fix for IPv4 mapping not supported
2019-08-06 08:07:52 +02:00
Christopher Hall
72854e6342
problem: DragonFly BSD does not allow mapping global IPv4 addresses when IPv6 is used
...
solution: Handle as for OpenBSD by not attemption to set this option on the socket
Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2019-08-06 12:11:06 +08:00
Christopher Hall
ba679bcce8
problem: configure for DragonFly need FreeBSD also defined
...
solution: on DragonFly also define ZMQ_HAVE_FREEBSD
in addition to ZMQ_HAVe_DRAGONFLY
Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2019-08-06 12:11:00 +08:00
Luca Boccassi
6b6043600e
Merge pull request #3607 from f18m/master
...
Add scripts to ease performance graph generation
2019-08-04 19:38:13 +01:00
Francesco Montorsi
877c32dc3d
Add scripts to ease performance graph generation
2019-08-04 01:48:03 +02:00
Simon Giesecke
21a0815f2f
Merge pull request #3605 from bl0x/master
...
Fix build on SL6.9. Fix #3603 .
2019-08-01 08:46:05 +02:00
bl
5a519e1686
Add RELICENSING statement for bl0x.
2019-08-01 05:51:13 +02:00
bl
45243cd009
Fix build on SL6.9. Fix #3603 .
2019-08-01 05:43:55 +02:00
Simon Giesecke
a8d19057b1
Merge pull request #3602 from bluca/formatting
...
Problem: formatting errors introduced by #3601
2019-07-30 18:11:02 +02:00
Luca Boccassi
4d5e97adac
Problem: formatting errors introduced by #3601
...
Solution: fix them with make clang-format-diff
2019-07-30 13:43:48 +01:00
Luca Boccassi
9dcbdd1b09
Merge pull request #3601 from jacquesg/win32threadname
...
mingw thread name fix
2019-07-30 13:42:18 +01:00
Jacques Germishuys
b3123a2fd1
Problem: __try and __except isn't universally supported on windows
...
Solution: Manually push/pop an exception registration record.
Only set the thread name with a debugger present
2019-07-30 11:31:22 +01:00
Luca Boccassi
47fc979b2a
Merge pull request #3600 from drbitboy/master
...
Problem: include/zmq.h is not so much broken as inconsistent in
2019-07-27 11:38:57 +01:00
Brian Carcich
853aa9801e
Problem: include/zmq.h is not so much broken as inconsistent in
...
how it declares the file descriptor (fd) of a socket
in struct zmq_pollitem_t vs. struct zmq_poller_event_t
Solution: Make include/zmq.h consistent in this matter
2019-07-26 20:31:44 -04:00
Luca Boccassi
20a4e4d1be
Merge pull request #3598 from ssbl/contributing
...
Problem: PR template is mostly about contributing guidelines
2019-07-26 22:47:10 +01:00
Shubham Lagwankar
475a029514
Problem: PR template is mostly about contributing guidelines
...
Solution: rename it to CONTRIBUTING.md so that it is shown when
creating a pull request or issue
2019-07-26 13:11:52 -04:00
Luca Boccassi
ed4317b0e9
Merge pull request #3597 from ssbl/redundant-check
...
Problem: redundant check in condition
2019-07-26 17:57:57 +01:00
Shubham Lagwankar
f07d88be09
Problem: redundant check in condition
...
Solution: remove it
2019-07-26 11:43:57 -04:00
Luca Boccassi
49f4ef1759
Merge pull request #3595 from aixxe/master
...
Problem: Usage of 'if_nametoindex' not supported in Windows XP.
2019-07-25 23:40:00 +01:00
aixxe
63409579e7
Problem: Usage of 'if_nametoindex' not supported in Windows XP.
...
Solution: Add ZMQ_HAVE_WINDOWS_TARGET_XP check to src/udp_address.cpp.
2019-07-25 20:38:54 +01:00
Luca Boccassi
69e451c1fa
Merge pull request #3594 from mancasg/master
...
Problem: stream_engine use after free
2019-07-24 15:53:10 +01:00
Mancaș George
1bbbd77ac4
RELICENSE: Mancaș George grant
2019-07-24 13:11:11 +00:00
Mancaș George
13387c5cdc
Problem: stream_engine use after free
...
Solution: Don't allow concurrent heartbeat timers
2019-07-24 13:04:32 +00:00
Luca Boccassi
60cca513a1
Merge pull request #3593 from jean-airoldie/doc_poller
...
Problem: behavior of closing a socket registered...
2019-07-24 11:03:14 +01:00
jean-airoldie
1bd94a979d
Problem: behavior of closing a socket registered...
...
...in a poller is not documented.
Solution: Document it.
2019-07-24 05:59:29 -04:00
Luca Boccassi
c83fa74767
Merge pull request #3591 from jean-airoldie/max_sockets
...
Problem: incorrect ZMQ_MAX_SOCKETS default value in doc
2019-07-23 09:07:51 +01:00
jean-airoldie
7675995fe8
Problem: incorrect ZMQ_MAX_SOCKETS default value in doc
...
Solution: update the doc with the correct default value
2019-07-22 20:37:00 -04:00
Luca Boccassi
49636f4c88
Merge pull request #3588 from inuik/master
...
CMake: Install debug libraries for debug msvc builds
2019-07-22 22:13:28 +01:00
Rishi Theivendran
afa11b0dfd
Copy debug libraries for debug builds
2019-07-18 10:09:25 -04:00
Luca Boccassi
a56d36b8e5
Merge pull request #3587 from somdoron/stream_engine_base
...
problem: ws_engine duplicate code from stream_engine
2019-07-18 11:57:27 +01:00
somdoron
157b2a2ee0
problem: ws_engine duplicate code from stream_engine
...
Solution: New class called stream_engine_base which is inherited by ws_engine, zmtp_engine and raw_engine.
2019-07-18 11:28:08 +03:00
Doron Somech
184e7a55e5
Merge pull request #3585 from bluca/fixes
...
Problem: build on centos6/ubuntu12 still broken
2019-07-16 21:51:33 +03:00
Luca Boccassi
7262701876
Problem: build on centos6/ubuntu12 still broken
...
Solution: move the definition of __STDC_LIMIT_MACROS somewhere the test actually uses
2019-07-16 18:15:47 +01:00
Doron Somech
efd7188760
Merge pull request #3584 from bluca/fixes
...
Problems: build broken on centos6/ubuntu12, missing licenses and wrong copyright dates
2019-07-16 19:54:20 +03:00
Luca Boccassi
496c8eb05a
Problem: missing copyright and license header from new file
...
Solution: add it
2019-07-16 17:37:40 +01:00
Luca Boccassi
10a0baf691
Problem: wrong copyright dates in newly added files
...
Solution: fix them
2019-07-16 17:36:44 +01:00
Luca Boccassi
38c31154d0
Problem: build broken with older compilers
...
Solution: define __STDC_LIMIT_MACROS before including stdint.h so that SIZE_MAX
is defined
2019-07-16 17:34:58 +01:00
Luca Boccassi
021c6a706b
Problem: no license.txt file for external/sha1/
...
Solution: add it and mention the inclusion in NEWS
2019-07-16 17:27:01 +01:00
Luca Boccassi
3692b26649
Merge pull request #3579 from somdoron/zws2
...
problem: browser cannot communicate with zeromq directly
2019-07-16 13:28:30 +01:00
Luca Boccassi
feeed3f27e
Merge pull request #3580 from sigiesec/use-libsodium-based-allocator
...
Use libsodium based allocator
2019-07-16 13:10:34 +01:00
Simon Giesecke
4756ff3046
Problem: use of tweetnacl vs. libsodium is ambiguous
...
Solution: properly set defines from test_security_curve
2019-07-16 09:39:29 +02:00
somdoron
39941a0c82
problem: browser cannot communicate with zeromq directly
...
Solution: implement ZWS 2.0 which websocket transport for zeromq
2019-07-16 10:12:20 +03:00
Simon Giesecke
1781cff37b
Problem: plaintext secrets placed in insecure memory
...
Solution: Use secure_allocator_t for plaintext secrets
2019-07-14 17:12:39 +02:00
Simon Giesecke
92dbb4caee
Problem: no C++ style secure memory allocator available
...
Solution: Added secure_allocator_t based on libsodium's memory management functions when available
2019-07-14 17:12:39 +02:00
Simon Giesecke
8a7a9cb90f
Problem: clang-format produces C++11 style nested templated arguments
...
Solution: Fixed C++ standard in clang-format config
2019-07-12 18:04:30 +02:00
Simon Giesecke
d9dce8f068
Merge pull request #3578 from ssbl/unused-parameter
...
Problem: unused parameter in benchmark function
2019-07-12 17:49:04 +02:00
Shubham Lagwankar
e26f094193
Problem: unused parameter in benchmark function
...
Solution: remove it
2019-07-12 11:29:14 -04:00
Doron Somech
9c5cf8573c
Merge pull request #3573 from sigiesec/use-std-vector
...
Problem: use of malloc is error-prone
2019-07-10 20:07:33 +03:00
Simon Giesecke
02f7dca678
Merge pull request #3570 from bluca/static_analysis
...
Static analysis warnings
2019-07-10 18:49:10 +02:00
Simon Giesecke
1de4cf6ffa
Problem: use of malloc is error-prone
...
Solution: use std::vector instead, simplify control-flow
2019-07-10 18:26:58 +02:00
Luca Boccassi
77cd206100
Problem: errors do not fail ABI CI test
...
Solution: set -e in ci_build.sh like in other scripts
2019-07-10 17:08:29 +01:00
Luca Boccassi
eec972a5b4
Problem: unused variable in test tool
...
Solution: don't write it
2019-07-09 18:10:25 +01:00
Luca Boccassi
c819eedd89
Problem: missing rc checks in udp_engine
...
Solution: add them
2019-07-09 17:25:58 +01:00
Simon Giesecke
b5db4b4421
Merge pull request #3568 from somdoron/master
...
problem: wrong api_key for bintray
2019-07-09 09:37:38 +02:00
somdoron
71decb996d
problem: wrong api_key for bintray
...
Solution: update it
2019-07-09 10:30:29 +03:00
Simon Giesecke
89ac4a0f6c
Merge pull request #3566 from TomMD/fix/leaks
...
Free memory when curve_client sends invalid ready message.
2019-07-09 09:19:24 +02:00
Simon Giesecke
b99bf4e1ce
Merge pull request #3567 from myd7349/fix-include-dir
...
Problem: Missing ZeroMQ_INCLUDE_DIR when only static lib is built
2019-07-09 09:01:21 +02:00
myd7349
bb3fa9c048
Problem: Missing ZeroMQ_INCLUDE_DIR when only static lib is built
2019-07-09 13:50:24 +08:00
Thomas M. DuBuisson
90ff30c086
Free memory when curve_client sends invalid ready message.
2019-07-08 21:05:36 -07:00
Doron Somech
27057263cd
Merge pull request #3565 from bluca/newver
...
Problem: 4.3.2 is out, need new version
2019-07-08 20:02:49 +03:00
Luca Boccassi
491a0ae107
Problem: 4.3.2 is out, need new version
...
Solution: bump to 4.3.3
2019-07-08 17:57:12 +01:00
Luca Boccassi
a84ffa12b2
Finalize changelog for 4.3.2
2019-07-08 17:06:38 +01:00
Doron Somech
fa82aa1120
Merge pull request #3564 from bluca/news
...
CVE-2019-13132
2019-07-08 19:03:58 +03:00
Luca Boccassi
c2488ed520
Problem: packaging versions out of date
...
Solution: bump them
2019-07-08 16:18:00 +01:00
Luca Boccassi
f5f1880b58
Problem: NEWS not up to date for v4.3.2
...
Solution: list new features and bug fixes
2019-07-08 16:18:00 +01:00
Luca Boccassi
0f01fb5134
Problem: markdown errors in zmq_getsockopt.txt
...
Solution: fix them
2019-07-08 10:47:27 +01:00
Luca Boccassi
8e6bafcbe0
Problem: application metadata not parsed correctly when using CURVE
...
Solution: create buffers large enough to contain arbitrary metadata
2019-07-08 10:47:27 +01:00
Luca Boccassi
ddd0da2f57
Merge pull request #3476 from TomMD/fix/memory-leak
...
Request handling leaked memory. Depending on the application's use o…
2019-07-06 10:05:25 +01:00
Thomas M. DuBuisson
367cedb7c6
Fix request-handling memory leak
2019-07-05 16:53:46 -07:00
Thomas M. DuBuisson
2c89c069a9
Tommd relicensing statement
2019-07-05 16:53:46 -07:00
Luca Boccassi
5368ae0571
Merge pull request #3562 from bear-metal/lourens-relicense
...
Add relicense agreement from Lourens Naudé
2019-07-01 23:43:35 +01:00
Lourens Naudé
3ec1bf5096
Add relicense agreement from Lourens Naudé
2019-07-01 22:43:34 +01:00
Simon Giesecke
5f8a7b1c22
Merge pull request #3561 from zeromq/secpolicy
...
Problem: no security policy
2019-06-30 17:03:33 +02:00
Luca Boccassi
153deece66
Problem: no security policy
...
Solution: add SECURITY.md with supported branches and maintainers public keys for private communications
2019-06-30 16:00:41 +01:00
Luca Boccassi
d5067df2dd
Merge pull request #3559 from ssbl/inconsistent-naming-convention-fix
...
Problem: code doesn't follow libzmq naming conventions
2019-06-28 18:20:38 +01:00
Shubham Lagwankar
1186e9868a
Problem: code doesn't follow libzmq naming conventions
...
Solution: rename types/variables that are inconsistent
2019-06-28 11:57:45 -04:00
Doron Somech
4a855fba8c
Merge pull request #3557 from bluca/docs
...
Clarify documentation for zmq_unbind/disconnect and new batch options
2019-06-27 21:07:59 +03:00
Luca Boccassi
364561953a
Problem: zmq_disconnect documentation is confusing and breaks semantics
...
Solution: restore separate zmq_unbind documentation, adding a note that the implementation
might be shared but the semantics are different and should not be mixed.
This avoids tying the API to the implementation details which might change for some
engines.
2019-06-27 18:23:26 +01:00
Luca Boccassi
eba6fb2988
Problem: ZMQ_IN/OUT_BATCH_SIZE are dangerous
...
Solution: clearly advise users to avoid them in all cases to
avoid unforseen problems.
Also fix markdown syntax, applicable transport types and getter description.
2019-06-27 18:23:26 +01:00
Luca Boccassi
a43c842e0d
Merge pull request #3556 from ssbl/better-names
...
Problem: variable and type names are not descriptive
2019-06-27 18:23:19 +01:00
Luca Boccassi
68b744fac5
Merge pull request #3555 from jean-airoldie/batch_size_sockopt
...
Problem: {in,out}_batch_size must be configured at compiled time
2019-06-27 17:57:58 +01:00
Shubham Lagwankar
d1e6fe19b4
Problem: variable and type names are not descriptive
...
Solution: use more descriptive names
This commit also improves comments related to some of the changes.
2019-06-27 11:57:01 -04:00
jean-airoldie
cfcab66c71
Problem: {in,out}_batch_size must be configured at compiled time
...
Solution: Added a socket option to configure them at runtime.
2019-06-27 02:31:11 -04:00
Luca Boccassi
4904bf7177
Merge pull request #3550 from jean-airoldie/heartbeat_test
...
Problem: missing heartbeat test for draft sockets
2019-06-23 19:22:07 +01:00
jean-airoldie
241b073fd3
Problem: missing heartbeat test for draft sockets
...
Solution: Add heartbeat tests for CLIENT, SERVER, GATHER and SCATTER
socket types. RADIO and DISH tests won't be added since heartbeating
is not yet supported.
2019-06-23 13:23:21 -04:00
Luca Boccassi
fcf828d34b
Merge pull request #3547 from jean-airoldie/unbind-doc
...
Problem: disconnect & unbind doc is misleading
2019-06-21 11:31:20 +01:00
Shubham Lagwankar
15dafb1c1c
Problem: radix tree's apply function uses incorrect resizing logic ( #3548 )
...
* Problem: radix tree's apply function uses incorrect resizing logic
Solution: rewrite the function using a vector
The buffer is extended once by 256 bytes, which will not be enough if
the node holds data larger than this number.
2019-06-20 07:58:08 +01:00
jean-airoldie
4d933c28be
Problem: disconnect & unbind doc is misleading
...
Make it explicit that the two functions are identical.
Also document the expected disconnect behavior extensively
and illustrate the difference between disconnecting a
connected vs. bound endpoint.
2019-06-17 02:04:52 -04:00
Luca Boccassi
b17e854f15
Merge pull request #3546 from skicc/patch-1
...
CMake: don't try to link with librt on MinGW
2019-06-15 16:12:44 +01:00
skicc
0503abb336
RELICENSE
2019-06-15 21:56:12 +08:00
skicc
d2be018800
CMake: don't try to link with librt on MinGW
...
On MinGW, librt will might will found as rt library in MSYS, but fails linking with "cannot find -lrt" error.
As librt is not avaiable on native Windows, we should never try to link with -lrt on MinGW (which is native Windows).
2019-06-15 21:48:32 +08:00
Luca Boccassi
9534bbfc4d
Merge pull request #3539 from guillon/dev-socks-tests
...
Add tests for SOCKS proxy support
2019-06-13 15:17:32 +01:00
Christophe Guillon
153418e175
Add tests for SOCKS proxy support
2019-06-13 15:35:27 +02:00
Luca Boccassi
46b498e590
Merge pull request #3544 from somdoron/master
...
problem: no artifacts for x64 on windows
2019-06-13 12:45:53 +01:00
somdoron
e27a13a8ba
problem: no artifacts for x64 on windows
...
solution: add x64 builds to appveyor
2019-06-13 14:22:28 +03:00
somdoron
8f66156aa3
problem: tests might fail and prevent deployment
...
Solution: don't run tests on tags
This doesn't break anything, as tags was not built until now. Anyway, when building tags we really care about the release of the packages and not tests
2019-06-12 16:11:32 +03:00
Luca Boccassi
27f9be1125
Merge pull request #3542 from guillon/fix-test-asserts
...
Problem: test assertions not reporting the right line number
2019-06-12 12:07:50 +01:00
Christophe Guillon
f203064374
Problem: test assertions not reporting the right line number
...
Solution: pass the line number as part of the testutil functions
2019-06-12 11:20:48 +02:00
Luca Boccassi
aa6b6440f2
Merge pull request #3541 from somdoron/master
...
problem: appveyor with libsodium change the current directory and bre…
2019-06-12 09:32:49 +01:00
somdoron
ee6755ff1d
problem: appveyor with libsodium change the current directory and break the build
...
Solution: do git pull without changing the current directoy
2019-06-12 00:33:59 +03:00
Luca Boccassi
3cb1c377dd
Merge pull request #3540 from somdoron/master
...
problem: no artifact repository for windows
2019-06-11 21:04:12 +01:00
somdoron
0a696d8774
problem: no artifact repository for windows
...
Solution: deploy artifcats to bintray
2019-06-11 22:36:42 +03:00
Luca Boccassi
aac3cd4d93
Merge pull request #3535 from bluca/format
...
Problem: formatting errors
2019-06-11 19:14:00 +01:00
Luca Boccassi
321c288005
Problem: philippeleite relicense statement not added to the repository
...
Solution: copy it from PR https://github.com/zeromq/libzmq/pull/3537
2019-06-11 10:31:15 +01:00
Luca Boccassi
3c06ec118f
Problem: formatting errors
...
Solution: apply clang-format-diff
2019-06-11 10:31:15 +01:00
Luca Boccassi
1fdb152b9d
Merge pull request #3537 from philippeleite/patch-2
...
pthread_equal to compare thread ids
2019-06-11 09:05:51 +01:00
Philippe Bernardino Leite
8a02f70706
pthread_equal to compare thread ids
...
I am trying to port ZeroMQ to z/OS USS and I faced several problems. One of them is this function "is_current_thread" trying to compare two thread ids with operator "==". I've changed the code to use the official function "pthread_equal" to compare thread ids and now it's working fine.
2019-06-10 22:10:01 -03:00
Luca Boccassi
2202587267
Merge pull request #3534 from guillon/dev-socks-basic-auth
...
Implement SOCKS5 basic authentication
2019-06-10 18:39:29 +01:00
Christophe Guillon
58c30dc7d1
Add support for SOCKS5 basic authentication
2019-06-10 16:40:06 +02:00
Luca Boccassi
68558bc394
Merge pull request #3532 from guillon/fix-socks-connect
...
Fix issues with SOCKS5 proxy connection
2019-06-10 14:11:39 +01:00
Christophe Guillon
42cfa697f2
Fix issues with SOCKS5 proxy connection
...
Two issues where introduced by commit 12c4b55a:
- the proxy connection was done to the target address instead of
the proxy address
- on error the proxy connection status was not reset to unplugged
2019-06-10 14:32:20 +02:00
Christophe Guillon
9736f57f08
Add RELICENSE grant for guillon
2019-06-10 14:31:48 +02:00
Luca Boccassi
178f9e3f3c
Merge pull request #3527 from rotty/pr/clarify-zmq_msg_send-wording
...
Problem: Unclear `zmq_msg_send` failure semantics
2019-05-31 16:49:42 +01:00
Andreas Rottmann
fae26774f5
Problem: Unclear zmq_msg_send
failure semantics
...
Solution: Explicitly explain message ownership semantics when the call
fails.
Fixes #3526 .
2019-05-31 17:36:06 +02:00
Luca Boccassi
96b9eece15
Merge pull request #3521 from jackpimbert/master
...
Add missing information on multicasting with high data rates to PGM docs
2019-05-24 10:14:23 +01:00
jackpimbert
940f54e7ce
Problem: PGM doc missing info on high data rates
...
Solution: Include a new section on configuring both ZMQ and the host
OS tx/rx buffers to facilitate sending large messages at a high data
rate with the PGM protocol.
2019-05-24 09:55:29 +02:00
jackpimbert
840b9ba4fa
Problem: No relicense agreement by jackpimbert
...
Solution: Added relicense agreement
2019-05-24 09:55:29 +02:00
Luca Boccassi
4dca26767e
Merge pull request #3518 from ackalker/fix-use-of-test
...
acinclude.m4, configure.ac: Fix several non-portable uses of `test`
2019-05-23 10:27:49 +01:00
Alain Kalker
196cb723df
Add RELICENSE entry
2019-05-23 11:15:32 +02:00
Alain Kalker
9a397666d2
acinclude.m4, configure.ac: Fix several non-portable uses of test
...
Fixes #3517
2019-05-22 01:30:54 +02:00
Luca Boccassi
cef806550c
Merge pull request #3516 from moretromain/fedorafix
...
Fix Fedora 30 build
2019-05-21 14:45:42 +01:00
Romain Moret
5b07a1199c
Fix compiler error
2019-05-21 15:07:00 +02:00
Luca Boccassi
2b63a89635
Merge pull request #3515 from moretromain/win-threadname
...
Implement thread_t::setThreadName() on windows
2019-05-21 13:23:40 +01:00
Romain Moret
27005cc1ae
Implement thread name on windows, cleanup thread naming internals
2019-05-21 12:12:19 +02:00
Doron Somech
046ccfc408
Merge pull request #3513 from bluca/clang7
...
Problem: clang-format 5 has issues with comments
2019-05-18 19:18:42 +03:00
Doron Somech
9cb266edaa
Merge pull request #3512 from bluca/fixes
...
Problems: typos in docs, unnecessary ifdefs, duplicated APIs
2019-05-18 19:18:30 +03:00
Luca Boccassi
bde18f3ede
Problem: comments before ifdefs are wrongly formatted
...
Solution: now that clang-format 6+ is used in the CI, fix it
2019-05-18 17:09:17 +01:00
Luca Boccassi
5de3aa1555
Problem: clang-tidy 6 has issues with comments
...
Solution: bump CI to version 7
2019-05-18 17:09:17 +01:00
Luca Boccassi
19ff4d0b6a
Problem: zmq_socket_monitor_versioned_typed duplicates zmq_socket_monitor_versioned
...
Solution: unify the two APIs, as they are both still in DRAFT state and
thus can be changed.
2019-05-18 16:44:07 +01:00
Luca Boccassi
797439c8e2
Problem: typos in manpage entry for ZMQ_XPUB_MANUAL_LAST_VALUE
...
Solution: fix them
2019-05-18 16:44:07 +01:00
Luca Boccassi
41be0f5386
Problem: new xpub option is in critical path
...
Solution: use unlikely to optimize for the most common case
2019-05-18 16:44:07 +01:00
Luca Boccassi
a53dfe936a
Problem: many unnecessary ifdefs covering new xpub option
...
Solution: remove them, only public headers have to be ifdef'd
2019-05-18 16:44:07 +01:00
Luca Boccassi
9bcfc251f4
Problem: new test_xpub_manual_last_value not built by automake
...
Solution: list it
2019-05-18 16:10:12 +01:00
imkcy9
2f98f7034b
Support XPub socket send last value caching to last subscription pipe with ZMQ_XPUB_MANUAL_LAST_VALUE. ( #3511 )
...
* Add ZMQ_XPUB_MANUAL_LAST_VALUE
* Surpport xpub send last value caching to one pipe with ZMQ_XPUB_MANUAL_LAST_VALUE
* Add test_xpubub_manual_last_value
* Add relicense and doc
2019-05-17 22:12:32 +01:00
Luca Boccassi
6b51f03377
Merge pull request #3509 from jean-airoldie/monitor_typed
...
Problem: Potentially unitialized variable in #3508
2019-05-15 12:25:03 +01:00
jean-airoldie
8738ada00f
Problem: Endpoints are sometimes not unbound quick enough
...
Solution: Create a unique endpoint for each fcn call.
2019-05-15 06:27:01 -04:00
jean-airoldie
7836ec752c
Problem: Potentially unitialized variable in #3508
...
Solution: Initialized it
2019-05-15 05:35:58 -04:00
Simon Giesecke
3aca047b96
Merge pull request #3508 from jean-airoldie/monitor_typed
...
Problem: Socket monitoring only allows ZMQ_PAIR
2019-05-15 09:48:29 +02:00
jean-airoldie
606a8f7967
Problem: Socket monitoring only allows ZMQ_PAIR
...
Solution: Allow ZMQ_PUB and ZMQ_PUSH sockets types for the monitoring.
This way someone could create a ZMQ_PULL socket connected to multiple
monitoring sockets at the same time.
2019-05-15 01:48:46 -04:00
Doron Somech
e285fe6ea7
Merge pull request #3502 from sigiesec/fix-plain-hello-message
...
Problem: PLAIN HELLO message incorrectly uses WELCOME literal
2019-05-10 11:43:23 +03:00
Simon Giesecke
6e1c58e86e
Problem: PLAIN HELLO message incorrectly uses WELCOME literal
...
Solution: change to HELLO
2019-05-10 03:55:07 -04:00
Doron Somech
65dd38b268
Merge pull request #3499 from sigiesec/fix-windows-build
...
Problem: signature of zmq_poller_fd does is incompatible with regular…
2019-05-09 20:22:33 +03:00
Simon Giesecke
d46c580977
Problem: signature of zmq_poller_fd does is incompatible with regular error handling
...
Solution: change return type to int (again) and return fd via an output parameter
2019-05-09 11:09:35 -04:00
Doron Somech
548f31d4b4
Merge pull request #3498 from sigiesec/fix-windows-build
...
Problem: syntax error on Windows related to socket descriptor type
2019-05-09 14:36:54 +03:00
Simon Giesecke
63c4d8be78
Problem: syntax error on Windows related to socket descriptor type
...
Solution: use proper fd_t type, and also define and use a zmq_fd_t in the API
2019-05-09 07:21:08 -04:00
Luca Boccassi
d3f52b2b91
Merge pull request #3497 from sigiesec/fix-cmake-config
...
Problem: generated ZeroMQConfig.cmake does not work when only static …
2019-05-08 11:34:47 +01:00
Simon Giesecke
8996912cad
Problem: generated ZeroMQConfig.cmake does not work when only static or shared library was built
...
Solution: check for availability of shared/static libzmq targets
2019-05-08 05:19:39 -04:00
Luca Boccassi
f41f51461f
Merge pull request #3496 from sigiesec/cleanup-cmakelists
...
Some cleanup in CMakeLists.txt
2019-05-07 16:49:23 +01:00
Simon Giesecke
2d8ef84760
Problem: CMAKE_REQUIRED_INCLUDES used in a wrong way, check_function_exists is problematic
...
Solution: use check_cxx_symbol_exists resp. check_type_size instead
2019-05-07 10:37:47 -04:00
Simon Giesecke
3e5843d073
Problem: include directives are cluttered throughout CMakeLists.txt
...
Solution: Group include directives together at the beginning of the CMakeLists.txt file
2019-05-07 10:37:47 -04:00
Simon Giesecke
7c53567b93
Problem: extra character in option name
...
Solution: remove it
2019-05-07 10:37:47 -04:00
Simon Giesecke
9e4b6632c2
Problem: misspelled ar program name
...
Solution: fix spelling
2019-05-07 10:37:47 -04:00
Simon Giesecke
635f093744
Problem: redundant output in CMakeLists.txt
...
Solution: remove redundant debug output
2019-05-07 10:37:47 -04:00
Luca Boccassi
ea109fcaab
Merge pull request #3493 from moretromain/cmake-fix
...
Fix a typo in root CMakeLists.txt
2019-05-06 22:49:45 +01:00
Romain Moret
a565718505
RELICENSE: moretromain grant
2019-05-06 20:31:15 +02:00
Romain Moret
8eee5eb1a8
Fix a typo in CMakeLists.txt
2019-05-06 20:19:50 +02:00
Doron Somech
7971be930b
Merge pull request #3491 from bluca/gcc9
...
Problem: build broken on Fedora 30
2019-05-04 19:03:12 +03:00
Luca Boccassi
ca2e8b3b19
Problem: build broken on Fedora 30
...
Solution: use AC_COMPILE_IFELSE instead of AC_CHECK_FUNCS to check for
strnlen, as the latter does not work anymore.
2019-05-04 16:14:58 +01:00
Luca Boccassi
8c8110a136
Merge pull request #3490 from jean-airoldie/zmq_poller_fd_doc
...
Problem: Missing doc & unit tests for zmq_poller_fd
2019-05-02 22:45:02 +01:00
jean-airoldie
cdbe120738
Problem: No invalid pointer handling for zmq_poller_fd
...
Solution: Add some and document it.
2019-05-02 17:10:20 -04:00
jean-airoldie
19dd8195be
Problem: Missing doc & unit tests for zmq_poller_fd
...
Solution: Add doc & unit tests
2019-05-02 06:31:14 -04:00
Luca Boccassi
92eedc5716
Merge pull request #3489 from normano/master
...
Problem: zmq_socket_monitor example did not include HANDSHAKE_SUCCEEDED event causing assert failure
2019-05-02 08:12:36 +01:00
normano
dad917e04e
fixed date
2019-05-01 21:43:01 -07:00
normano
97b51e81d3
Added RELICENSE for normano contribution
2019-05-01 19:48:49 -07:00
normano
9780011846
Fixed zmq_socket_monitor example
2019-05-01 19:32:53 -07:00
Luca Boccassi
9bee21b364
Merge pull request #3484 from jean-airoldie/poller_fd
...
Problem: Cannot get thread safe socket fd
2019-04-28 15:18:27 +01:00
jean-airoldie
05aadc4e38
Problem: no relicense agreement by jean-airoldie
...
Solution: add one
2019-04-27 22:58:42 -04:00
jean-airoldie
046534480b
Problem: Cannot get thread safe socket fd
...
Solution: Add a method to get the zmq_poller's signaler fd. Then we can
associate a poller instance with every thread safe socket and use its
fd.
2019-04-27 22:58:42 -04:00
Luca Boccassi
501f9d8da4
Merge pull request #3483 from ssbl/dead-code-fix
...
Problem: unused Windows-specific code in sleep_ms
2019-04-24 21:53:01 +01:00
Shubham Lagwankar
e9678efe00
Problem: unused Windows-specific code in sleep_ms
...
Solution: remove it since sleep_ms isn't used on Windows
2019-04-24 14:39:27 -04:00
Luca Boccassi
e3a96778b6
Merge pull request #3481 from neheb/patch-1
...
Add <ios> include to fix uClibc++ compilation
2019-04-19 22:57:14 +01:00
Rosen Penev
761af4939f
Add RELICENSE entry
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-04-19 14:18:29 -07:00
Rosen Penev
091e15a28d
Add <ios> include to fix uClibc++ compilation
...
Under uClibc++, streamoff is defined in <ios>. This header is needed to fix compilation.
2019-04-19 12:16:01 -07:00
Luca Boccassi
9067e3ac9d
Merge pull request #3480 from ipa/zeromq-3479
...
Zeromq 3479: fixed build for QNX 6.6 with CMake
2019-04-18 14:58:06 +01:00
Iwan Paolucci
0a5ca642e2
corrected name in the signature of relicense statement
2019-04-18 14:21:30 +02:00
Iwan Paolucci
c65fa0a34d
Problem: QNX crosscompiler needs additional parameters to chosse the correct platform
...
Solution: Use a toolchain file for QNX x86
2019-04-18 13:41:32 +02:00
Iwan Paolucci
c531514c33
Problem: no relicense agreement by ipa
...
Solution: added relicense agreement
2019-04-18 13:30:32 +02:00
Iwan Paolucci
e1a895917c
Problem: libzmq does not build on QNX 6.6 using CMake #3479
...
Solution: libm and libsocket have to be linked explicitely
2019-04-18 13:23:36 +02:00
Luca Boccassi
494a82f0e7
Merge pull request #3478 from Omegastick/master
...
Fix Radix Tree benchmark includes when used as submodule
2019-04-14 11:31:43 +01:00
Omegastick
7d26319247
Problem: No relicense statement for Omegastick
...
Solution: Add a relicense statement for Omegastick
2019-04-14 16:59:19 +09:00
Omegastick
43e398ed86
Problem: Radix Tree benchmarks break when project is used as a submodule
...
Solution: Use CMAKE_CURRENT_LIST_DIR instead of CMAKE_SOURCE_DIR when findng includes
2019-04-14 16:53:54 +09:00
Simon Giesecke
cc99846156
Merge pull request #3477 from bluca/manpages
...
Problems: formatting errors in docs reported by linters
2019-04-12 17:50:00 +02:00
Luca Boccassi
f4b0f327de
Problem: markup error in zmq_socket.txt
...
Solution: fix it
2019-04-12 12:57:54 +01:00
Luca Boccassi
8f77150c80
Problem: man errors, can't break lines
...
Solution: add space between OR'ed values
zmq_getsockopt.3 2472: warning [p 17, 9.5i, div '3tbd1,1', 0.5i]: can't break line
zmq_setsockopt.3 3471: warning [p 24, 1.8i, div '3tbd1,1', 0.5i]: can't break line
2019-04-12 12:17:12 +01:00
Doron Somech
de4d69f597
Merge pull request #3473 from bluca/format
...
Problem: CI format check fails
2019-04-06 06:12:19 +03:00
Luca Boccassi
3c21eed0a1
Problem: CI format check fails
...
Solution: fix it
2019-04-06 00:12:32 +01:00
Simon Giesecke
5b140baf45
Merge pull request #3472 from bluca/hardening
...
Problem: immediate binding hardening not used by debian package
2019-04-05 21:39:26 +02:00
Luca Boccassi
320ed68ce9
Problem: immediate binding hardening not used by debian package
...
Solution: set hardening=+all in Debian packaging rules
2019-04-05 20:36:42 +01:00
Serhio
db7bdd1b1a
Some explicit endpoint type changes to support GCC 5 ( #3468 )
...
* Some explicit endpoint type changes to support GCC 5
* ../RELICENSE/SergheiNovac.md
2019-04-05 10:54:26 +01:00
Luca Boccassi
6c613902da
Merge pull request #3467 from sigiesec/improve-hwm-pubsub-test
...
Improve hwm pubsub test
2019-04-02 19:44:55 +01:00
Simon Giesecke
b9041bf78c
Problem: missing information on assertion failure
...
Solution: include sent and received counts on assertion failure
2019-04-02 18:52:48 +02:00
Simon Giesecke
d328f90bb7
Problem: inadequate recv variant used which assumes 0-terminated string
...
Solution: use array recv variant instead
2019-04-02 18:44:55 +02:00
Simon Giesecke
a5ee4fb001
Problem: code duplication for multiple transports, multiple test cases combined in one
...
Solution: split test cases and remove code duplication
2019-04-02 18:36:18 +02:00
Simon Giesecke
06f5a6f282
Problem: use of generic assertion macro
...
Solution: use more specific assertion macro
2019-04-02 18:35:35 +02:00
Simon Giesecke
d4401b230b
Problem: test case not making use of test_bind helper function
...
Solution: replace custom code by test_bind
2019-04-02 18:34:51 +02:00
Simon Giesecke
bdccfe4097
Merge pull request #3464 from bluca/ericcson_grant
...
Relicensing grant from Ericsson
2019-03-28 12:33:11 +01:00
Luca Boccassi
2de7f9ccf9
Relicensing grant from Ericsson
...
Received via email on 2019/03/27, message-id:
BL0PR1501MB2003AF12CCA96A583B16D10F9A590@BL0PR1501MB2003.namprd15.prod.outlook.com
2019-03-28 10:53:32 +00:00
Luca Boccassi
e20861a065
Merge pull request #3463 from sigiesec/fix-3269
...
Problem: socket returned by ZMQ_FD cannot be used with CreateIoComple…
2019-03-27 13:17:47 +00:00
Simon Giesecke
42e27b7d0d
Problem: socket returned by ZMQ_FD cannot be used with CreateIoCompletionPort
...
Solution: add WSA_FLAG_OVERLAPPED socket flag
2019-03-27 09:56:11 +01:00
Luca Boccassi
25bb43c33a
Merge pull request #3461 from sigiesec/refactor-tests
...
Refactor tests
2019-03-25 09:07:21 +00:00
Simon Giesecke
47dba21005
Problem: code is unnecessarily imperative
...
Solution: make more functional-style
2019-03-24 13:46:15 -04:00
Simon Giesecke
bfec30b1e5
Problem: test_address_tipc is unnecessarily verbose
...
Solution: make use of custom Unity macros
2019-03-24 13:34:13 -04:00
Simon Giesecke
386de33030
Problem: code from bind_loopback_tipc is duplicated
...
Solution: call bind_loopback_tipc where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
0e0bead3cf
Problem: code from bind_loopback_ipc is duplicated
...
Solution: call bind_loopback_ipc where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
7f64b925aa
Problem: code from bind_loopback_ipv4 is duplicated
...
Solution: call bind_loopback_ipv4 where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
8dc933f2ed
Problem: non-expressive test case name
...
Solution: rename to more meaningful name
2019-03-24 13:34:13 -04:00
Simon Giesecke
34999d5069
Problem: s_send(more) can be replaced by safer send_string_expect_success
...
Solution: remove s_send(more) and replace all uses
2019-03-24 13:34:13 -04:00
Simon Giesecke
af4fa22fd8
Problem: default test setUp/tearDown functions duplicated in many test programs
...
Solution: define setUp/tearDown functions via SETUP_TEARDOWN_TESTCONTEXT macro where possible
2019-03-24 12:53:12 -04:00
Simon Giesecke
2b80dd7add
Problem: test_bind used with explicit endpoint where bind_loopback_ipv4 could be used
...
Solution: use bind_loopback_ipv4 instead
2019-03-24 12:35:19 -04:00
Simon Giesecke
454c0b834a
Merge pull request #3460 from bluca/borken
...
Problem: removing header from testutil.hpp breaks unittest build with…
2019-03-24 13:18:01 +01:00
Luca Boccassi
dc91981df7
Problem: removing header from testutil.hpp breaks unittest build with gcc8
...
Solution: include unistd.h in unittest_poller.cpp
2019-03-24 11:37:41 +00:00
Luca Boccassi
6d77558c77
Merge pull request #3459 from sigiesec/migrate-testutil
...
Migrate testutil* to Unity, and build testutil as separate library
2019-03-23 22:40:41 +00:00
Simon Giesecke
c2cd2966ab
Problem: no documentation of testutil_unity functions
...
Solution: add documentation
2019-03-23 14:58:47 -04:00
Simon Giesecke
de622c8198
Problem: functions are unnecessarily declared in header
...
Solution: remove from header and declare as static
2019-03-23 14:09:06 -04:00
Simon Giesecke
1450830611
Problem: unused include directives
...
Solution: remove and add where needed
2019-03-23 09:46:37 -04:00
Simon Giesecke
d0c4402daf
Problem: needless use of macros
...
Solution: convert streq/strneq into functions
2019-03-23 09:09:36 -04:00
Simon Giesecke
a62e9d35be
Problem: internal functions present in header file
...
Solution: remove declaration and make functions static
2019-03-23 09:09:36 -04:00
Simon Giesecke
5d74eba64a
Problem: remaining basic assertions
...
Solution: use unity assertions instead
2019-03-23 09:09:36 -04:00
Simon Giesecke
5b40bdb194
Problem: redundant specific of testutil headers
...
Solution: remove redundant entries
2019-03-23 09:09:24 -04:00
Simon Giesecke
347708bcf2
Problem: test utilities are in headers and recompiled for every test
...
Solution: move test utilities to separate testutil library
2019-03-23 09:09:24 -04:00
Simon Giesecke
cbd4157638
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:36:28 -04:00
Simon Giesecke
9528983d95
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:36:24 -04:00
Simon Giesecke
90a4d268d9
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:07:32 -04:00
Simon Giesecke
6ed03e9333
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:07:14 -04:00
Simon Giesecke
75cd23d6af
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:39 -04:00
Simon Giesecke
06e713e9e0
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:39 -04:00
Simon Giesecke
4ab381436d
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
6f083df5fb
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
2f40d21618
Problem: access to moved object
...
Solution: use move target instead
2019-03-22 12:06:12 -04:00
Simon Giesecke
740780293a
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
e17232f725
Problem: possible use-after-free
...
Solution: check for failure and do not access any members afterwards
2019-03-22 12:06:12 -04:00
Simon Giesecke
f083e60d8c
Problem: use of extra context
...
Solution: use test context instead
2019-03-22 12:06:12 -04:00
Simon Giesecke
924d47f818
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Luca Boccassi
f4b9cc994d
Merge pull request #3457 from sigiesec/migrate-zap-test
...
Migration of further tests & test utilities to Unity
2019-03-20 18:40:25 +00:00
Simon Giesecke
0266d4ac27
Problem: testutil_monitoring not using unity
...
Solution: migrate to unity and adapt users
2019-03-20 17:03:26 +01:00
Simon Giesecke
f46a96926c
Problem: test_security_curve uses custom assertion macro
...
Solution: use standard TEST_ASSERT_SUCCESS_ERRNO macro instead
2019-03-20 16:49:46 +01:00
Simon Giesecke
efaca82bff
Problem: testutil_security not using unity
...
Solution: migrate to unity and adapt users
2019-03-20 16:49:46 +01:00
Simon Giesecke
6e0724609a
Problem: errno not output on test failure
...
Solution: use appropriate test assertion macro
2019-03-20 16:49:46 +01:00
Simon Giesecke
669fc4df5a
Problem: test_security_zap not using a test framework
...
Solution: migrate to unity
2019-03-20 16:49:46 +01:00
Simon Giesecke
99e53698c5
Merge pull request #3456 from bluca/test_fd_port
...
Problem: TCP and UDP test sockets use hard-coded port
2019-03-19 17:57:09 +01:00
Luca Boccassi
168aa83d08
Merge pull request #3453 from panlinux/validate-group-before-using-1462
...
Validate group before using it
2019-03-18 23:29:06 +00:00
Luca Boccassi
98875a9ddc
Problem: TCP and UDP test sockets use hard-coded port
...
Solution: move ephemeral port code to header and use it in both
tests
2019-03-18 23:27:01 +00:00
Luca Boccassi
830b3428ec
Problem: new test binary not ignored
...
Solution: add it to .gitignore
2019-03-18 23:26:27 +00:00
Andreas Hasenack
1f656fd19d
Problem: no relicense agreement by panlinux
...
Solution: added relicense agreement
2019-03-18 13:21:44 -03:00
Andreas Hasenack
d81f3ec21c
Problem: test_filter_with_supplemental_process_owner_gid fails
...
Solution: only set supgroup to a valid gid
2019-03-18 13:21:44 -03:00
Luca Boccassi
645df4e602
Merge pull request #3449 from sigiesec/migrate-security-tests
...
Migrate security tests for NULL and PLAIN mechanisms to Unity
2019-03-18 12:54:52 +00:00
Luca Boccassi
17c47da01c
Merge pull request #3452 from jacquesg/strnlen
...
Problem: strnlen may not be available
2019-03-18 12:09:38 +00:00
Jacques Germishuys
b26542bbfc
Problem: strnlen may not be available
...
Solution: Provide an implementation
2019-03-18 11:37:53 +00:00
Simon Giesecke
c1d2e71861
Merge pull request #3451 from jacquesg/devpoll
...
Restore /dev/poll support
2019-03-18 11:47:52 +01:00
Jacques Germishuys
04f5ae20af
Problem: Solaris 10 had unknown, active users
...
Solution: Add Solaris 10 to the list
2019-03-18 10:43:11 +00:00
Simon Giesecke
8759d20d4b
Problem: tests link to two different flavours of the runtime library,
...
causing heap corruption
Solution: remove extra runtime library settings, re-enable failing tests
on appveyor
2019-03-18 11:26:05 +01:00
Simon Giesecke
ae1bc03e9e
Problem: artifacts published on appveyor are missing pdb files
...
Solution: add them
2019-03-18 11:25:46 +01:00
Jacques Germishuys
8a2296711d
Problem: epoll_t no longer requires _worker
...
Solution: Remove _worker
2019-03-18 10:16:13 +00:00
Jacques Germishuys
212ab4f834
Problem: /dev/poll doesn't compile
...
Solution: Make devpoll_t derive from worker_poller_base_t
2019-03-18 10:15:27 +00:00
Simon Giesecke
36a16ec7d1
Problem: test_security_plain not using a test framework
...
Solution: migrate to Unity
2019-03-16 17:51:25 +01:00
Simon Giesecke
223ef516b6
Problem: test_security_null not using a test framework
...
Solution: migrate to Unity and separate test_security_no_zap_handler
2019-03-16 17:20:19 +01:00
Simon Giesecke
bd6fa4bbb3
Merge pull request #3445 from bluca/relicense_hp
...
Update HPE statement as requested by the grantor
2019-03-13 11:19:00 +01:00
Luca Boccassi
f4f2ebfe95
Update HPE statement as requested by the grantor
2019-03-13 10:07:48 +00:00
Constantin Rack
1198a8ec91
Merge pull request #3444 from bluca/relicense_hp
...
Relicensing grant from HPE
2019-03-12 14:16:22 +01:00
Luca Boccassi
84e9a1a022
Relicensing grant from HPE
...
Received via email on 2019/03/12, message-id:
TU4PR8401MB1277B86B48464DC63AEDCA2D96490@TU4PR8401MB1277.NAMPRD84.PROD.OUTLOOK.COM
2019-03-12 12:25:40 +00:00
Doron Somech
1e9a8c97ea
Merge pull request #3441 from bluca/test_xpub_nodrop_flaky
...
Problem: text_xpub_nodrop sometimes fails
2019-03-08 21:16:17 +02:00
Luca Boccassi
0bbd38f5d4
Problem: text_xpub_nodrop sometimes fails
...
Solution: use XPUB and wait for the subscription message rather than
using a sleep which might or might not be enough
2019-03-08 18:26:23 +00:00
Luca Boccassi
2f5c2f4a48
Merge pull request #3440 from emtr/proxy-performance-fix
...
Proxy performance fix
2019-03-08 15:17:31 +00:00
Claudio Biagi
d41ed6180b
Proxy performance fix, ticket #3439
...
Improve performance of the proxy forwarding batch of message.
Add throughput benchmark for proxy.
Fix valgrind error reported on unitialized vars
RELICENSE: Add emtr grant
2019-03-08 15:02:58 +01:00
Doron Somech
2e6464864e
Merge pull request #3438 from sigiesec/fix-appveyor-test-execution
...
Fix appveyor test execution
2019-03-02 04:14:46 +02:00
Simon Giesecke
028aecc6d9
Problem: appveyor build always fails
...
Solution: temporarily skip failing test cases
2019-03-01 18:20:37 -05:00
Simon Giesecke
73159a8fab
Problem: race condition in test_hwm
...
Solution: wait a bit to allow connect to succeed if inproc bind preceded connect
2019-03-01 18:20:37 -05:00
Simon Giesecke
14fd7505bc
Problem: race condition in test_xpub_nodrop
...
Solution: try to avoid race condition by increasing timeout from 0 to 250ms
2019-03-01 18:20:37 -05:00
Simon Giesecke
56c94757ff
Problem: analysis build failing due to warnings-as-errors
...
Solution: enable warnings-as-errors only on non-analysis builds
2019-03-01 18:20:37 -05:00
Simon Giesecke
a95c4ab404
Problem: test_decrease_when_full is disabled for Windows
...
Solution: add sleep after connecting such that sending is not started before connection succeeded
2019-03-01 15:05:55 -05:00
Simon Giesecke
828ed69d63
Problem: test_decrease_when_full test case in test_sockopt_hwm does not run reliably under Windows
...
Solution: disable test case for the moment and mark it as FIXME
2019-03-01 05:51:45 -05:00
Simon Giesecke
36d265ee7d
Problem: redundant parentheses in return statements
...
Solution: remove them
2019-03-01 05:46:10 -05:00
Simon Giesecke
0c363fbb76
Problem: argument is unnecessarily copied
...
Solution: move instead
2019-03-01 05:46:10 -05:00
Luca Boccassi
995e0a3a26
Merge pull request #3436 from sigiesec/fix-reconnect-ivl-calculation
...
Problem: reconnect interval exponential backoff and may lead to integ…
2019-02-27 14:41:41 +00:00
Simon Giesecke
d61d662ecb
Problem: reconnect interval exponential backoff and may lead to integer overflows
...
Solution: guard calculation against integer overflows
2019-02-27 08:50:01 -05:00
Luca Boccassi
46061508bf
Merge pull request #3435 from trevorbernard/relicense
...
Issue #2376 - Add Trevor Bernard's permission to relicense
2019-02-25 16:50:40 +00:00
Trevor Bernard
12238f6bb1
Issue #2376 - Add Trevor Bernard's permission to relicense
2019-02-25 11:21:31 -05:00
Luca Boccassi
54bf9c6a59
Merge pull request #3434 from brc859844/master
...
RELICENSE: Brett Cameron
2019-02-25 16:01:41 +00:00
cameronbn
23de068fe4
RELICENSE: Brett Cameron
2019-02-25 16:12:32 +01:00
Luca Boccassi
d54b524976
Merge pull request #3433 from rlenferink/relicense-info-michelet
...
RELICENSE: Corrected info for leonarf
2019-02-25 11:16:11 +00:00
Roy Lenferink
cc8b119c69
RELICENSE: Corrected info for leonarf
2019-02-25 12:14:04 +01:00
Doron Somech
35aaa5425f
Merge pull request #3432 from rlenferink/relicense-shancat
...
Adding grant from shancat
2019-02-24 14:37:26 +02:00
Roy Lenferink
6f66b5a676
Adding grant from shancat
2019-02-24 13:25:53 +01:00
Doron Somech
534ac7ef0d
Merge pull request #3431 from steve-o/master
...
Relicense: steve-o
2019-02-24 04:25:48 +02:00
Steven McCoy
bab50feb50
Add GitHub authors.
2019-02-24 10:04:14 +08:00
Steven McCoy
24d5bcfe4d
Relicense permission for work by steve-o.
2019-02-24 09:53:58 +08:00
Constantin Rack
831ac95fd9
Merge pull request #3428 from Eelis/mallocfail
...
Don't crash if memory allocation in socket_poller_t::rebuild fails.
2019-02-23 10:52:22 +01:00
Constantin Rack
f8bcdaf123
Merge pull request #3430 from rlenferink/rl-rename
...
Renamed RELICENSE to use GitHub username
2019-02-23 10:47:45 +01:00
Roy Lenferink
fea02c1071
Renamed RELICENSE to use GitHub username
2019-02-23 10:13:47 +01:00
Doron Somech
5ac7df1d23
Merge pull request #3429 from CommanderBubble/master
...
Relicense
2019-02-23 11:04:15 +02:00
Eelis van der Weegen
8259c519b3
Problem: Program crashes if memory allocation in socket_poller_t::rebuild fails.
...
Solution: Report memory allocation failure as ENOMEM so applications can handle it gracefully.
Fixes #3427 .
2019-02-23 09:55:04 +01:00
Michael
d301f995ad
Create mlloyd.md
...
relicense
2019-02-23 18:55:04 +11:00
Michael
2acd7391ae
Merge pull request #5 from zeromq/master
...
update pre license
2019-02-23 18:47:42 +11:00
Simon Giesecke
d814f37067
Merge pull request #3426 from Eelis/pollerdoc
...
Document that zmq_poller_new can return NULL.
2019-02-22 20:42:40 +01:00
Eelis van der Weegen
f09d5295c6
RELICENSE: Grant from Eelis.
2019-02-22 20:11:26 +01:00
Eelis van der Weegen
f1d6811dd7
Problem: The documentation for zmq_poller_new incorrectly states that it cannot fail.
...
Solution: Revise the offending wording, adding a remark that zmq_poller_new will return NULL in case of failure.
Fixes #3425 .
2019-02-22 20:11:26 +01:00
Luca Boccassi
cdc4b8c6c6
Merge pull request #3423 from vortechs2000/relicense
...
Add relicense grant
2019-02-21 22:14:11 +00:00
AJ Lewis
3b3fbe0204
Add relicense grant
...
Add Quantum's relicense grant for my work on libzmq
2019-02-21 15:14:45 -06:00
Doron Somech
3d55131eba
Merge pull request #3422 from sigiesec/fix-zmq-proxy-docs
...
Problem: zmq_proxy signature in documentation does not match actual s…
2019-02-20 16:58:57 +02:00
Simon Giesecke
c05d010c01
Problem: zmq_proxy signature in documentation does not match actual signature
...
Solution: remove extra const
2019-02-20 15:38:52 +01:00
Luca Boccassi
f21bae529e
Merge pull request #3421 from sigiesec/document-supported-platforms
...
Problem: no documentation of supported platforms
2019-02-20 14:27:50 +00:00
Simon Giesecke
598b5d4dcb
Problem: no documentation of supported platforms
...
Solution: add an initial version
2019-02-20 15:08:29 +01:00
Doron Somech
e2af39bc42
Merge pull request #3420 from mgatny/master
...
Problem: missing relicensing statement from mgatny
2019-02-19 20:31:33 +02:00
Mike Gatny
d63dcaf238
Problem: missing relicensing statement from mgatny
...
Solution: add it
2019-02-19 13:23:37 -05:00
Doron Somech
3e79d55271
Merge pull request #3419 from rlenferink/rl-rename
...
RELICENSE: Renamed license grants to use GitHub username
2019-02-19 19:39:29 +02:00
Roy Lenferink
cfd91f0602
Renamed license grants to use GitHub username
...
Updated the license grants to the GitHub username of the contributor where possible. Corrected the content of some files as well.
2019-02-19 18:34:06 +01:00
Luca Boccassi
fed6cc5669
Merge pull request #3418 from rlenferink/rl-extension
...
RELICENSE: Converted pnnl to markdown
2019-02-19 13:20:36 +00:00
Roy Lenferink
5b621164ed
Converted to markdown
2019-02-19 13:59:55 +01:00
Doron Somech
9e41dcf077
Merge pull request #3417 from rlenferink/rl-ricnewton
...
RELICENSE: Received grant from Micromass UK Limited
2019-02-19 13:53:08 +02:00
Roy Lenferink
fba60985e0
Received grant from Micromass UK Limited
2019-02-19 12:48:29 +01:00
Luca Boccassi
b3a62b7867
Merge pull request #3416 from pmienk/master
...
RELICENCE: Phillip Mienk grant
2019-02-18 20:11:33 +00:00
Phillip Mienk
956c724302
RELICENCE: Phillip Mienk grant
2019-02-18 12:01:53 -08:00
Constantin Rack
66c9bd8020
Merge pull request #3415 from bluca/relicense_npl
...
Problem: no relicense grant from PNNL
2019-02-18 20:17:35 +01:00
Luca Boccassi
c189c973c2
Problem: no relicense grant from PNNL
...
Solution: add the one received by email
B671D81EAD34104986FFE7881B8036371ABEF4AF@EX10MBOX02.pnnl.gov
2019-02-18 19:15:28 +00:00
Simon Giesecke
39541f0306
Merge pull request #3414 from bluca/relicense_tim
...
Problem: missing relicense statement from Prarrot
2019-02-18 19:35:04 +01:00
Luca Boccassi
ca9eca058b
Problem: missing relicense statement from Prarrot
...
Solution: add the one received by email
Message-ID: <CAHPFjttticWbCuZ93r55gGRDBMxAgNn==4r70op4LnQNEJM23Q@mail.gmail.com>
2019-02-18 18:24:27 +00:00
Luca Boccassi
9e8aef0b66
Merge pull request #3413 from somdoron/master
...
Problem: missing relicensing statement from somdoron
2019-02-18 09:08:20 +00:00
somdoron
380b852561
Problem: missing relicensing statement from somdoron
...
Solution: add it
2019-02-18 10:33:13 +02:00
Doron Somech
c39e7a8818
Merge pull request #3412 from calid/relicense-calid
...
Relicense: Dylan Cali
2019-02-18 08:45:25 +02:00
Dylan Cali
1dd9ac9548
Relicense: Dylan Cali
...
Ref: #2376
2019-02-17 19:22:43 -05:00
Simon Giesecke
be20089675
Merge pull request #3411 from bluca/fix_threads
...
Problem: non-linux build broken by last PR
2019-02-17 22:39:06 +01:00
Luca Boccassi
f83b13b2d6
Problem: build fails on VS2010 as it does not have snprintf
...
Solution: ifdef it
2019-02-17 20:15:59 +00:00
Luca Boccassi
c63b0955e5
Problem: zmq_threadstart name not distinguished
...
Solution: name it ZMQapp instead of ZMQbg, as it's created by the
application
2019-02-17 20:15:59 +00:00
Luca Boccassi
c8d039a3c7
Problem: unused variable warning in thread_start on !Linux
...
Solution: use LIBZMQ_UNUSED
2019-02-17 20:15:59 +00:00
Luca Boccassi
f7ca7515d7
Problem: new thread parameter not initialised in ctor
...
Solution: do it and remove ifndef windows
2019-02-17 20:15:59 +00:00
Luca Boccassi
d02561eec0
Problem: IO thread name starts counting at 1
...
Solution: start at 0
2019-02-17 20:15:59 +00:00
Luca Boccassi
563396445a
Problem: IO thread name uses space separator, the rest uses /
...
Solution: use / like the rest of the names
2019-02-17 20:15:59 +00:00
Luca Boccassi
de76789ac6
Problem: new thread naming breaks build on !Linux and overwrites prefix
...
Solution: use the thread class function rather than one of the pthread
functions, and take into account the thread prefix context option
2019-02-17 20:15:59 +00:00
Kymeta Corp
484374f2b6
Problem: Threads don't have names which complicates debugging.
...
Solution:
1. Use optional name parameter in thread_t::start for operating
systems that have thread names.
2. Give start_thread() an optional name parameter for the
thread's name. If this parameter is set, it will be appended to "0MQ:".
If not set, "0MQ" will be used as the thread's name.
3. Give epoll the ability to name its thread. Then use this in
io_thread and reaper to name them.
2019-02-17 20:15:33 +00:00
Kymeta Corp
c47b2af90a
Problem: no relicense agreement by Kymeta Corporation
...
Solution: add relicense agreement
2019-02-17 20:15:33 +00:00
Doron Somech
907bce52e0
Merge pull request #3410 from Quuxplusone/license
...
RELICENSE: Arthur O'Dwyer grant
2019-02-17 21:46:28 +02:00
Arthur O'Dwyer
465109d0ca
RELICENSE: Arthur O'Dwyer grant
2019-02-17 14:45:21 -05:00
Luca Boccassi
639ed00d9a
Merge pull request #3409 from mkoppanen/relicense/mkoppanen
...
Add permission to relicense
2019-02-17 19:14:03 +00:00
Mikko Koppanen
9634ab182f
Add permission to relicense
2019-02-17 17:49:08 +00:00
Simon Giesecke
96cd7cf2c3
Merge pull request #3408 from bluca/relicense
...
Problem: missing relicensing statement from bluca
2019-02-17 16:32:51 +01:00
Luca Boccassi
16a4153849
Problem: missing relicensing statement from bluca
...
Solution: add it - I realised only now that I only submitted a
statement for the copyright owned by a previous employer, and not
my own.
2019-02-16 17:18:41 +00:00
Shubham Lagwankar
8ef72d482e
Problem: trie benchmarks count loop times instead of lookup calls ( #3406 )
...
* Problem: trie benchmarks count loop times instead of lookup calls
Solution: measure the time taken by each lookup call instead
Other changes:
- show average time taken and reduce other output
- show number of keys, queries and key size before running the benchmark
- use steady_clock as high_resolution_clock might not be steady
- increase size of query set to 1M
2019-02-13 18:47:39 +00:00
Luca Boccassi
6937447832
Merge pull request #3405 from sigiesec/use-std-condition-variable-any
...
Use std::condition_variable_any, move configuration to build files
2019-02-12 11:09:15 +00:00
Simon Giesecke
7fbd977184
Problem: assertion triggered in stream_connecter_base::close
...
Solution: change into regular control flow condition
2019-02-12 03:47:26 -05:00
Simon Giesecke
2759f459df
Problem: C4267 warnings due to implicit conversion from size_t to int
...
Solution: change variable type to size_t
2019-02-12 03:47:26 -05:00
Simon Giesecke
21a389ca78
Problem: test_security_curve build fails with Windows targeting 8 or newer due to duplicate definition of htonll
...
Solution: use custom implementation only on older Windows versions
2019-02-12 03:47:26 -05:00
Simon Giesecke
120edd9809
Problem: selection of condition_variable_t implementation is confusing and not configurable
...
Solution: move configuration to build definition
2019-02-12 03:47:26 -05:00
Simon Giesecke
bfb092c3ec
Problem: value for _WIN32_WINNT not always known in CMakeLists.txt
...
Solution: calculate from CMAKE_SYSTEM_VERSION
Problem: CMAKE_SYSTEM_VERSION might be newer than Windows SDK Version
Solution: limit _WIN32_WINNT value to Visual Studio default Windows SDK version
2019-02-12 03:47:22 -05:00
Simon Giesecke
d7e1cf3eb0
Problem: std::condition_variable can only be used with std::unique_lock<std::mutex>, leading to two mutexes used in condition_variable_t
...
Solution: use std::condition_variable_any instead
2019-02-11 07:12:43 -05:00
Simon Giesecke
119a258504
Merge pull request #3383 from ZMQers/queue_monitor
...
Problem: cannot monitor state of queues at runtime
2019-02-11 10:49:39 +01:00
Luca Boccassi
feadf6d40f
Problem: cannot monitor state of queues at runtime
...
Solution: add API and ZMQ_EVENT_PIPES_STATS event which generates 2
values, one for the egress and one for the ingress pipes respectively.
Refactor the events code to be able to send multiple values.
2019-02-10 16:33:26 +00:00
Luca Boccassi
cb73745250
Problem: cannot send more than one value per v2 event
...
Solution: refactor code and add extra frame with value count before the
values in v2
2019-02-07 20:42:47 +00:00
Luca Boccassi
1e26a93ce2
Problem: test_monitor fails in valgrind
...
Solution: expect additional events
2019-02-07 20:42:47 +00:00
Luca Boccassi
c1b374fa6a
Problem: manpage for zmq_socket_monitor_versioned has old example
...
Solution: update it
2019-02-07 16:24:41 +00:00
Luca Boccassi
83946d5c98
Problem: testutil_monitoring does not close received messages
...
Solution: do it, as above 32 bytes they might be on the heap
2019-02-07 16:24:41 +00:00
Luca Boccassi
edf79dfefc
Problem: test_monitor check for DRAFT has to be kept up to date
...
Solution: check for the available version instead
2019-02-07 16:24:41 +00:00
Luca Boccassi
b20cb122d9
Problem: zmq_socket_monitor_versioned manpage not generated
...
Solution: add it to doc/Makefile.am
2019-02-07 16:24:41 +00:00
Luca Boccassi
2edba1259e
Problem: zmq_socket_monitor_versioned manpage doesn't build
...
Solution: fix formatting
2019-02-07 16:24:41 +00:00
Luca Boccassi
86697347fc
Problem: symlinking manpages in automake does not work
...
Solution: remove them for now
2019-02-07 16:24:41 +00:00
Luca Boccassi
e5a7f2eb56
Merge pull request #3402 from sigiesec/revert-64-bit-assertions
...
Revert 64 bit assertions
2019-02-07 15:58:38 +00:00
Simon Giesecke
31ff05d156
Revert "Problem: test build fails on 32 bit systems"
...
This reverts commit ac19d5f41ccca7acc40fb5970d6f7a0b20e0bc66.
2019-02-07 10:42:32 -05:00
Simon Giesecke
4273ffd266
Partially revert "Problem: monitor events are output as decimal in assertion messages"
...
This partially reverts commit 19c6aa5c9210144205b3e7f26752ebec8302a2f2.
2019-02-07 10:42:32 -05:00
Luca Boccassi
4bdb05df78
Merge pull request #3400 from sigiesec/fix-issue-3397
...
Add test for ZMQ_BINDTODEVICE
2019-02-07 14:53:48 +00:00
Simon Giesecke
9cb1fca115
Problem: on a failure to setsockopt SO_BINDTODEVICE, libzmq asserts
...
Solution: return an error to the user instead
2019-02-07 09:39:02 -05:00
Simon Giesecke
ec4ecb01ff
Problem: no test for ZMQ_BINDTODEVICE
...
Solution: add test case run with cap_net_admin
Fixes #3397
2019-02-07 09:39:02 -05:00
Doron Somech
a3a40a01c9
Merge pull request #3399 from sigiesec/fix-unity-64-bit
...
Problem: test build fails on 32 bit systems
2019-02-07 14:46:19 +02:00
Simon Giesecke
ac19d5f41c
Problem: test build fails on 32 bit systems
...
Solution: define UNITY_SUPPORT_64 to force 64 bit support
2019-02-07 12:13:11 +01:00
Luca Boccassi
eb42e0442b
Merge pull request #3396 from sigiesec/fix-issue-3394
...
Fix regression introduced by 68d520e
2019-02-07 11:07:04 +00:00
Simon Giesecke
a763d734f2
Problem: formatting broken
...
Solution: run clang-format
2019-02-07 11:44:18 +01:00
Simon Giesecke
7cf0d125d3
Problem: failed address resolution on TCP connect is not observable
...
Solution: added TODO comment for now
2019-02-07 11:07:37 +01:00
Simon Giesecke
e45ede49b5
Problem: regression introduced by 68d520e, changing behaviour of unblocking sockets
...
Solution: move unblock call to original location
2019-02-07 11:04:05 +01:00
Simon Giesecke
db8c26fce3
Problem: testutil_unity uses undefined names on Windows
...
Solution: make compilation conditional
2019-02-07 11:04:05 +01:00
Simon Giesecke
8de7e529ec
Problem: no test case for tcp name resolution no longer working
...
Solution: add test case
2019-02-07 11:04:05 +01:00
Simon Giesecke
84dc40dd90
Problem: regression introduced by 68d520e, leading to tcp name resolution no longer working
...
Solution: restore "local" flag values in call to resolve
Fixes #3394
2019-02-07 11:03:51 +01:00
Luca Boccassi
5ecf8f93e2
Merge pull request #3395 from somdoron/ZeroCond
...
Problem: invoking the conditional variable for zero time is expensive
2019-02-06 22:08:16 +00:00
Luca Boccassi
792a1e61f3
Merge pull request #3393 from sigiesec/add-v2-monitoring
...
Add v2 monitoring ipc/tipc tests
2019-02-06 21:34:46 +00:00
somdoron
462dd36d0e
Problem: invoking the conditional variable for zero time is expensive
...
Solution: for zero timeout, unlock and relock immediately instead of timedwait
2019-02-06 21:07:53 +02:00
Simon Giesecke
61e476ec89
Problem: MAX_SOCKET_STRING is too short for ipc wildcard binds
...
Solution: increase size to 256
2019-02-06 09:09:14 -05:00
Simon Giesecke
b54b55d854
Problem: sun_path in an AF_UNIX address might not be null-terminated
...
Solution: use addrlen to determine the length
2019-02-06 07:18:28 -05:00
Simon Giesecke
31015fdcfe
Problem: ipc_address data member does not conform with naming convention
...
Solution: rename data member
2019-02-06 07:12:21 -05:00
Simon Giesecke
808028fe02
Problem: use of unnecessary complex stringstream
...
Solution: use memcpy instead
2019-02-06 07:11:10 -05:00
Simon Giesecke
19c6aa5c92
Problem: monitor events are output as decimal in assertion messages
...
Solution: output as hex instead
2019-02-06 07:11:10 -05:00
Simon Giesecke
a86592f78c
Problem: test_monitor is not run for ipc and tipc
...
Solution: add test cases
2019-02-06 07:11:10 -05:00
Simon Giesecke
9b1627f041
Merge pull request #3391 from bluca/listener_unistd
...
Problem: build broken with newer gcc
2019-02-05 14:13:31 -05:00
Luca Boccassi
2df988eec3
Problem: build broken with newer gcc
...
Solution: add missing includes to stream_listener_base
2019-02-05 18:57:33 +00:00
Luca Boccassi
0b4bb92395
Merge pull request #3389 from sigiesec/fix-issue-3387
...
Problem: close always fails with wildcard bind, since directory is no…
2019-02-05 16:17:35 +00:00
Simon Giesecke
8d784f26ab
Problem: close always fails with wildcard bind, since directory is not empty
...
Solution: unlink the socket file first
2019-02-05 10:17:28 -05:00
Luca Boccassi
b14bb2d8f8
Merge pull request #3388 from sigiesec/add-missing-include
...
Problem: missing include directive for close/closesocket
2019-02-05 14:24:16 +00:00
Simon Giesecke
ded4ff6fd2
Problem: missing include directive for close/closesocket
...
Solution: add appropriate includes
2019-02-05 09:21:06 -05:00
Luca Boccassi
b8b1b8def3
Merge pull request #3384 from sigiesec/remove-socks-tcp-code-duplication
...
Remove socks/tcp code duplication
2019-02-05 13:19:54 +00:00
Luca Boccassi
69a6522741
Merge pull request #3386 from sigiesec/remove-locale-dependency
...
Problem: tcp address strings are dependent on locale
2019-02-05 13:18:26 +00:00
Simon Giesecke
74d62bb908
Problem: tcp address strings are dependent on locale
...
Solution: use sprintf instead of std::stringstream
Fixes #3385
2019-02-05 05:45:35 -05:00
Simon Giesecke
e583276380
Problem: unnecessary platform-specific code parts around socklen_t
...
Solution: use zmq_socklen_t
2019-02-05 03:34:32 -05:00
Simon Giesecke
c215235fb2
Problem: redundant string operations in zmq::udp_engine_t::sockaddr_to_msg
...
Solution: reuse string lengths and use memcpy instead
2019-02-05 03:34:32 -05:00
Simon Giesecke
d451a95234
Problem: redundant code in different preprocessor branches
...
Solution: change preprocessor guard scope
2019-02-05 03:34:32 -05:00
Simon Giesecke
fc6ef0ebff
Problem: zmq::get_peer_ip_address duplicates code from get_socket_address
...
Solution: change to use get_socket_address
2019-02-05 03:34:32 -05:00
Simon Giesecke
2f7a450294
Problem: socks_connecter_t duplicates code around opening and configuring a TCP socket
...
Solution: use tcp_open_socket function
2019-02-05 03:34:32 -05:00
Simon Giesecke
68d520ef68
Problem: tcp_connecter_t and tcp_listener_t duplicate code around opening and configuring a TCP socket
...
Solution: extract common parts into tcp_open_socket function
2019-02-05 03:34:32 -05:00
Simon Giesecke
3f4e64edc0
Problem: bind_to_device unnecessarily accepts a non-const string parameter
...
Solution: add const
2019-02-04 09:29:42 -05:00
Simon Giesecke
12c4b55af8
Problem: socks_connecter_t duplicates code with stream_connecter_base_t
...
Solution: let socks_connecter_t derive from stream_connecter_base_t and remove duplicate code
2019-02-04 09:29:42 -05:00
Simon Giesecke
14da2ab629
Merge pull request #3382 from bluca/tipc_endpoint
...
Problem: tipc disconnect does not work anymore
2019-02-03 23:31:59 +01:00
Luca Boccassi
0411bc159a
Problem: tipc disconnect does not work anymore
...
Solution: change back the indentifier endpoint to the one passed by the
user rather than the resolved one, otherwise when the user passes the
same string to the disconnect call they do not match anymore
2019-02-03 23:01:20 +01:00
Simon Giesecke
c28cbf76d1
Merge pull request #3381 from bluca/test_ipv6_monitor
...
Problems: ipv6 test_monitor hangs, old Windows build fails
2019-02-03 22:57:11 +01:00
Luca Boccassi
a9a5b2bde5
Problem: DRAFT build broken on old Windows
...
Solution: define uint64_t if not available in the system headers and
remove inclusion of inttypes.h which does not exist and is already
conditionally included in zmq.h if required, do not use PRIx64
2019-02-03 22:11:52 +01:00
Luca Boccassi
84847138a1
Problem: test_monitor fails with ipv6
...
Solution: correctly set the ipv6 flag in the connecting socket
2019-02-03 20:56:07 +01:00
Luca Boccassi
01b2a8ce21
Problem: unittest_radix_tree binary not ignored
...
Solution: add it to .gitignore
2019-02-03 19:57:08 +01:00
Luca Boccassi
33a493c4f8
Merge pull request #3379 from sigiesec/add-v2-monitoring
...
Add v2 monitoring
2019-02-03 08:54:58 +01:00
Simon Giesecke
0e2e303b10
Problem: test_monitor is not run for ipv6
...
Solution: add test case using ipv6
2019-02-02 19:00:33 +01:00
Simon Giesecke
f22b0b7483
Problem: test_monitor failing for assertion on endpoint addresses on ZMQ_EVENT_LISTENING event
...
Solution: fix address passed and refactor set_local_address to remove code duplication and unnecessary address parsing when ZMQ_USE_FD is used
2019-02-02 18:33:29 +01:00
Simon Giesecke
f3561f7759
Problem: no assertions for endpoint addresses on ZMQ_EVENT_MONITOR_STOPPED and ZMQ_EVENT_LISTENING events
...
Solution: added assertions
2019-02-02 18:29:33 +01:00
Simon Giesecke
5e2da02528
Problem: test case is leaking test socket
...
Solution: close test socket
2019-02-02 17:15:27 +01:00
Simon Giesecke
54240dccbb
Problem: stream listeners do not provide correct local and remote address information (test_monitor is failing)
...
Solution: query local and remote addresses on accepting a connection
2019-02-02 16:52:15 +01:00
Simon Giesecke
8f90f579f5
Problem: no assertions for local and remote addresses in monitor tests
...
Solution: added such assertions and extended test utilities
2019-02-02 16:34:19 +01:00
Simon Giesecke
f884fa725c
Problem: get_monitor_event_internal segfaults when using address
...
Solution: dereference the pointer to the array before accessing the
element
2019-02-02 15:36:26 +01:00
Simon Giesecke
b18d28eec1
Problem: no tests for v2 monitor events and test_socket_monitor_versioned
...
Solution: add first test case
2019-02-02 15:33:27 +01:00
Simon Giesecke
30e0cbbcdc
Problem: test_monitor depends on testutil_security
...
Solution: move general monitoring test utilities to new testutil_monitoring
2019-02-02 15:33:27 +01:00
Simon Giesecke
482a3a2272
Problem: documented constants are not defined
...
Solution: add definition to zmq.h
2019-02-02 15:33:27 +01:00
Simon Giesecke
367246bb23
Problem: test_monitor is not using a test framework
...
Solution: migrate to unity
2019-02-02 15:33:27 +01:00
Simon Giesecke
478e42442b
Problem: no documentation on zmq_socket_monitor_versioned
...
Solution: add initial version of documentation
2019-02-02 15:33:27 +01:00
Simon Giesecke
d8b5204f73
Problem: socks_connecter_t does not set local address
...
Solution: query the local address and set it
2019-02-02 15:33:27 +01:00
Simon Giesecke
87082557f0
Problem: stream_connecter_base_t does not set local address
...
Solution: pass the local address by subclasses to create_engine
2019-02-02 15:33:27 +01:00
Simon Giesecke
aec9b130f7
Problem: get_socket_address and get_socket_name not available throughout libzmq and restricted to local address
...
Solution: move to address.hpp/.cpp and generalize
2019-02-02 15:33:27 +01:00
Simon Giesecke
01371398e9
Problem: monitor events are unversioned
...
Solution: add monitor event socket option
2019-02-02 15:33:27 +01:00
Simon Giesecke
2e73554644
Problem: socks_connecter_t, vmci_connecter_t and vmci_listener_t duplicate code with stream_*_base_t
...
Solution: add TODO comments to resolve this debt
2019-02-02 15:23:56 +01:00
Simon Giesecke
b462cc0912
Problem: misleading comments referring to a "library shutdown"
...
Solution: change to refer to the context
2019-02-02 15:23:56 +01:00
Simon Giesecke
9a376fbe24
Problem: code duplication in get_address of ipc/tcp/tipc listener classes
...
Solution: pull up to base class
2019-02-02 15:23:56 +01:00
Simon Giesecke
5c81bbe82e
Problem: norm_engine.cpp missing in CMakeLists.txt
...
Solution: added it
2019-02-02 15:23:56 +01:00
Luca Boccassi
4d8e5fb2e9
Merge pull request #3378 from sigiesec/refactor-stream-listeners-and-connecters
...
Refactor stream listeners and connecters
2019-02-01 11:26:13 +01:00
Luca Boccassi
1aa6f7070c
Merge pull request #3377 from sigiesec/fix-3376
...
Fix handling of random port numbers with tipc
2019-02-01 11:02:24 +01:00
Simon Giesecke
e162c8bda3
Problem: code duplication around getsockname
...
Solution: also use get_socket_address from base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
2b04946f49
Problem: code duplication around getsockname
...
Solution: also use get_socket_address from base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
c476cf3d14
Problem: implicit cast between signed and unsigned types on some platforms
...
Solution: perform explicit cast
2019-02-01 04:58:57 -05:00
Simon Giesecke
95eb8a7a99
Problem: parts of in_event duplicated across subclasses of stream_listener_base_t
...
Solution: extract function create_engine into base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
93c1843f3e
Problem: duplication across ipc_listener_t, tcp_listener_t, tipc_listener_t
...
Solution: extract common base class stream_listener_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
a40a3b7a34
Problem: several data members in stream_connecter_base_t are visible more than necessary
...
Solution: make them private and adapt initialization order
2019-02-01 04:58:57 -05:00
Simon Giesecke
a766a4b67e
Problem: reconnect_timer_id duplicated and essentially used only in base class
...
Solution: removed definitions and uses in subclasses
2019-02-01 04:58:57 -05:00
Simon Giesecke
bed3b0cfb4
Problem: tipc_listener_t data members not conforming to naming style
...
Solution: add underscore prefix
2019-02-01 04:58:57 -05:00
Simon Giesecke
2a5fb6cb8e
Problem: ipc_listener_t data members not conforming to naming style
...
Solution: add underscore prefix
2019-02-01 04:58:57 -05:00
Simon Giesecke
7e73587741
Problem: duplication in *_event methods across subclasses of stream_connecter_base_t
...
Solution: pull up common code, introduce new create_engine function in base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
a09099a615
Problem: process_term and close duplicated across subclasses of stream_connecter_base_t
...
Solution: pull up
2019-02-01 04:58:57 -05:00
Simon Giesecke
531df586d0
Problem: rm_fd code duplicated across stream_connecter_t subclasses
...
Solution: pull up tcp_connecter_t::rm_handle and use in all subclasses
2019-02-01 04:58:57 -05:00
Simon Giesecke
1a230e89ca
Problem: process_plug, get_new_reconnect_ivl and add_reconnect_timer duplicated across subclasses of stream_connector_base_t
...
Solution: pull up to stream_connector_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
74667ebcba
Problem: destructors of tcp_connecter_t, ipc_connecter_t, tipc_connecter_t contain duplicated code
...
Solution: pull up to stream_connecter_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
d6f8d246e2
Problem: data members are duplicated across tcp_connecter_t, ipc_connecter_t, tipc_connecter_t
...
Solution: extract common base class stream_connecter_base_t
2019-02-01 04:58:47 -05:00
Simon Giesecke
361d7168ad
Problem: tipc_connector_t::_handle_valid is redundant
...
Solution: replace by checks against valid value of _handle
2019-02-01 04:33:03 -05:00
Simon Giesecke
a13eb1a9d8
Problem: ipc_connector_t::_handle_valid is redundant
...
Solution: replace by checks against valid value of _handle
2019-02-01 04:33:03 -05:00
Simon Giesecke
065e81879a
Problem: tipc_connector_t::_timer_started is unspecifically named
...
Solution: rename to _reconnect_timer_started
2019-02-01 04:33:03 -05:00
Simon Giesecke
ca87aaed57
Problem: ipc_connector_t::_timer_started is unspecifically named
...
Solution: rename to _reconnect_timer_started
2019-02-01 04:33:03 -05:00
Simon Giesecke
c94ad64876
Problem: tipc_connector_t data members not conforming to naming conventions
...
Solution: add underscore prefix to data members
2019-02-01 04:33:03 -05:00
Simon Giesecke
58063a75a2
Problem: ipc_connector_t data members not conforming to naming conventions
...
Solution: add underscore prefix to data members
2019-02-01 04:33:03 -05:00
Simon Giesecke
4d362887bb
Problem: stream_engine_t::_endpoint is unnecessarily non-const
...
Solution: declare _endpoint const
2019-02-01 04:33:03 -05:00
Simon Giesecke
091df743a8
Problem: stream_engine_t::_peer_address is unnecssarily non-const
...
Solution: extract initialization code into get_peer_address function and declare _peer_address const
2019-02-01 04:33:03 -05:00
Simon Giesecke
ae79b41d4c
Problem: bug in tipc_listener_t::set_address, random port is determined but not used
...
Solution: assign result to address
Fixes #3376
2019-02-01 04:30:20 -05:00
Simon Giesecke
afe48e2b16
Problem: unnecessary explicit definitions/deletions of special member functions in tipc_address_t
...
Solution: remove them
2019-02-01 04:28:35 -05:00
Simon Giesecke
19b64709bb
Merge pull request #3374 from bluca/hurd
...
Problem: one more test fails on GNU/Hurd
2019-01-28 09:51:50 +01:00
Luca Boccassi
9fae3d1f10
Problem: one more test fails on GNU/Hurd
...
Solution: mark test_rebind_ipc as XFAIL on Hurd as it does not
implement getsockname on IPC and thus it's impossible to use
wildcard IPC binds.
Document that ZMQ_LAST_ENDPOINT does not work on Hurd with IPC.
2019-01-27 14:04:18 +00:00
Doron Somech
fe4e333334
Merge pull request #3369 from bluca/abi_checker_travis
...
Problem: have to check ABI compatibility manually
2019-01-20 20:24:09 +02:00
Luca Boccassi
f9b0945c1b
Problem: have to check ABI compatibility manually
...
Solution: automate it on Travis
2019-01-20 16:38:17 +00:00
Constantin Rack
331fee4b38
Merge pull request #3368 from bluca/release_branch
...
Problem: race condition breaks automated OBS release
2019-01-20 16:51:26 +01:00
Luca Boccassi
51557b9b96
Problem: race condition breaks automated OBS release
...
Solution: instead of using a temporary release branch that gets
deleted after an arbitrary timer, which never matches the time OBS
actually takes to do a full git clone, keep the branch permanently
in place and simply move it forward to the latest tag on each
release.
2019-01-20 14:34:29 +00:00
Constantin Rack
329155655c
Merge pull request #3367 from bluca/alignment_cache_size
...
Problems: test failures on PPC and GNU/hurd
2019-01-20 08:42:03 +01:00
Luca Boccassi
3b6db4b370
Problem: test_pair_ipc fails on GNU/Hurd due to wildcard bind
...
Solution: mark it as XFAIL like the other tests that use ipc://*
2019-01-19 22:28:15 +00:00
Luca Boccassi
bfb4a868fc
Problem: atomic intrinsics unreliable on PPC64 and RISC-V
...
Solution: prefer CXX11 atomics if they are available to compiler
intrinsics.
test_hwm_pubsub fails 50% of the times on PPC64 and RISC-V with an
apparent memory corruption of messages sent by the application thread
to the I/O thread when using compiler intrinsics.
Switching to CXX11 atomics makes the test reliable again. The
standard API should be preferred anyway, if available.
2019-01-19 21:42:54 +00:00
Luca Boccassi
8040e28b26
Problem: posix_memalign autoconf check broken on some platforms
...
Solution: import macro from autoconf-archive that works better
than AC_CHECK_FUNCS
2019-01-19 21:06:23 +00:00
Luca Boccassi
4a0c83fb12
Problem: yqueue false sharing issues on PPC64
...
Solution: detect cacheline size for aligment purposes at build time
instead of hard-coding it, so that PPC and S390 can align to a value
greater than the 64 bytes default.
Uses libc getconf program, and falls back to the previous value of 64
if not found.
2019-01-19 20:08:14 +00:00
Doron Somech
0761e6bb48
Merge pull request #3364 from bluca/thread_priority_get
...
Problem: ZMQ_SOCKET_LIMIT and ZMQ_THREAD_PRIORITY have the same value
2019-01-15 22:23:16 +02:00
Luca Boccassi
93b3689376
Problem: ZMQ_SOCKET_LIMIT and ZMQ_THREAD_PRIORITY have the same value
...
Solution: remove documents and tests for ZMQ_THREAD_PRIORITY getter. It
never worked and can never work as it has the same value as a get-only
option ZMQ_SOCKET_LIMIT. It cannot be changed without breaking ABI.
Note that the setter works fine as ZMQ_SOCKET_LIMIT is get-only.
2019-01-15 19:58:42 +00:00
Doron Somech
f0d97e0243
Merge pull request #3363 from bluca/tests_race_conditions
...
Problem: GCC warnings about string overflows in tests
2019-01-15 07:54:00 +02:00
Luca Boccassi
4d38552445
Problem: GCC warnings about string overflows in tests
...
Solution: mostly false positives, but fix them
2019-01-14 23:50:56 +00:00
Luca Boccassi
87dbd39ae0
Merge pull request #3361 from bluca/gssapi_pkgconfig
...
Problem: gssapi pkg-config check in configure.ac does not work
2019-01-14 20:59:49 +00:00
Luca Boccassi
73ae7a349b
Problem: gssapi pkg-config check in configure.ac does not work
...
Solution: correctly enable the definition in platform.hpp so that the
gssapi support is actually built in if requested and available.
2019-01-14 14:51:03 +00:00
Constantin Rack
e21988d02b
Merge pull request #3360 from bluca/cve
...
Problem: NEWS for 4.3.1 does not mention CVE number
2019-01-14 11:02:02 +01:00
Luca Boccassi
bfba6e5a36
Problem: NEWS for 4.3.1 does not mention CVE number
...
Solution: add it now that it's been assigned
2019-01-14 09:54:19 +00:00
Simon Giesecke
2d02597964
Merge pull request #3359 from bluca/tests_race_conditions
...
Problem: test_rebind_ipc still fails
2019-01-14 08:09:57 +01:00
Luca Boccassi
d55956574d
Problem: test_rebind_ipc still fails
...
Solution: create manually the random IPC file to reuse
2019-01-14 00:33:36 +00:00
Constantin Rack
ac9583973c
Merge pull request #3358 from bluca/tests_race_conditions
...
Problems: test failing on SPARC64 and hard-coded socket binds
2019-01-13 20:16:59 +01:00
Luca Boccassi
f64b697095
Problem: tests use hard-coded fixed IPC file path
...
Solution: use wildcards or random directories to avoid races when
multiple users are running the same test on the same machine
2019-01-13 14:50:54 +00:00
Luca Boccassi
4147957a5e
Problem: test_security_zap fails on architectures that disallow unaligned pointer access
...
Solution: use memcpy instead of doing pointer arithmetics with casting
and dereferencing to fix the error on sparc64
2019-01-13 13:10:05 +00:00
Constantin Rack
6a3c8b46f6
Merge pull request #3357 from bluca/news
...
Problem: versions are out of date
2019-01-12 19:16:03 +01:00
Luca Boccassi
73d41cec57
Problem: versions are out of date
...
Solution: bump ABI and revisions and changelog now that v4.3.1 is out
2019-01-12 16:10:36 +00:00
Luca Boccassi
2cb1240db6
Finalise changelog for 4.3.1
2019-01-12 16:05:39 +00:00
Constantin Rack
690cd894e6
Merge pull request #3356 from bluca/news
...
Problem: NEWS out of date with recent changes
2019-01-12 17:02:29 +01:00
Luca Boccassi
3ce8b11aa3
Problem: NEWS out of date with recent changes
...
Solution: update it
2019-01-12 15:14:43 +00:00
Doron Somech
3154f3eab7
Merge pull request #3355 from bluca/formatting
...
Problem: small formatting issue highlighted by clang
2019-01-09 14:30:28 +02:00
Luca Boccassi
e9fd5aae43
Problem: small formatting issue highlighted by clang
...
Solution: fix it with make clang-format-diff
2019-01-09 12:02:58 +00:00
Luca Boccassi
4ca3d430fe
Merge pull request #3353 from guidovranken/v2_decoder-overflow-rce-fix
...
V2 decoder overflow RCE fix
2019-01-09 12:01:43 +00:00
Guido Vranken
731be4bd59
Problem: Compilation error due to comparison between signed and unsigned expressions
...
Solution: Cast the signed expression (which is always positive) to unsigned
Signed-off-by: Guido Vranken <guidovranken@gmail.com>
2019-01-09 12:36:28 +01:00
Guido Vranken
dcf001906a
Problem: no relicense agreement by guidovranken
...
Solution: added relicense agreement
Signed-off-by: Guido Vranken <guidovranken@gmail.com>
2019-01-08 23:44:04 +01:00
Guido Vranken
1a2ed12716
Problem: pointer overflow in zmq::v2_decoder_t::size_ready leading to remote code execution (issue #3351 )
...
Solution: refactor bounds check arithmetic such that no overflow shall occur
Signed-off-by: Guido Vranken <guidovranken@gmail.com>
2019-01-08 23:39:41 +01:00
Luca Boccassi
7302b9b8d1
Merge pull request #3345 from ssbl/unused-import
...
Problem: unused import and inconsistent use of const
2019-01-02 15:55:08 +00:00
Shubham Lagwankar
cc686f15f4
Problem: unused import and inconsistent use of const
...
Solution: remove unused import and fix const placement.
2019-01-02 10:25:21 -05:00
Simon Giesecke
fc36c7d2c4
Merge pull request #3343 from bluca/pull_atomic_drop
...
Problem: race condition in PUSH might break atomicity
2018-12-30 12:18:39 +01:00
Luca Boccassi
9bd9cbbeea
Problem: race condition in PUSH might break atomicity
...
Solution: if a multi-part message cannot be delivered by a PUSH socket
because the pipe is broken mid-way, drop the rest of the frames so that
the atomicity property is not broken.
2018-12-28 17:55:19 +01:00
Luca Boccassi
b65b523a39
Merge pull request #3341 from sigiesec/migrate-more-tests
...
Problem: tests without test framework
2018-12-25 17:08:59 +01:00
Simon Giesecke
88bea4fd73
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-25 13:50:31 +01:00
Simon Giesecke
cb2b9a8cd2
Merge pull request #3338 from bluca/android_pkgconfig
...
Problem: Android helper does not redirect pkg-config
2018-12-17 11:41:39 -05:00
Luca Boccassi
7f34ca52c8
Problem: Android helper does not redirect pkg-config
...
Solution: set the appropriate options, environment variables and paths
so that the host pkg-config files are ignored, and the target ones are
used instead (if any)
2018-12-17 13:58:04 +00:00
Luca Boccassi
16af86d49c
Merge pull request #3337 from sigiesec/sigiesec/migrate-more-tests
...
Migrate more tests to Unity
2018-12-16 17:52:00 +00:00
Simon Giesecke
affe77280c
Improved test assertion message
2018-12-16 12:28:42 -05:00
Simon Giesecke
00f4bd05be
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-16 12:28:42 -05:00
Constantin Rack
1c604c6212
Merge pull request #3336 from bluca/pkgconfig_requires
...
Problem: pkg-config file cannot be used for static linking, missing dependencies in packaging
2018-12-15 09:10:31 +01:00
Luca Boccassi
c27afbca27
Problem: dev packages do not depend on static deps
...
Solution: add them so that pkg-config Requires.private is
satisfied
2018-12-15 00:44:00 +00:00
Luca Boccassi
28d5ce3dfa
Problem: pkg-config file cannot be used for static linking
...
Solution: use requires.private, which pkg-config expands recursively
so that dependencies of dependencies can be linked against when
using pkg-config --static
2018-12-15 00:44:00 +00:00
Luca Boccassi
9d06e29cb2
Problem: duplicated pkg-config template
...
Solution: use the same for both autotools and cmake
2018-12-14 23:27:42 +00:00
Luca Boccassi
ed8ed727c6
Merge pull request #3335 from jcourreges/back-to-ld-version-script
...
Go back to ld --version-script to hide private symbols
2018-12-14 18:41:59 +00:00
Jeremie Courreges-Anglas
687c75858e
Problem: libtool -export-symbols-regexp seems to leak weak symbols
...
Solution: go back to using -Wl,--version-script.
Use ax_check_vscript.m4 from the autoconf-archive to detect support on
multiple platforms (eg Solaris ld(1) -M).
libtool -export-symbols-regexp used ld(1) --retain-symbols-file under
the hood, the latter lets some C++ weak symbols make their way into the
dynamic symbols table, along with the zmq_* interface. The reason for
such behavior is unknown to me.
2018-12-14 18:48:39 +01:00
Luca Boccassi
546f8e7205
Merge pull request #3334 from jacquesg/nodelay-after-connect
...
TCP_NODELAY is set prior to connecting
2018-12-14 10:15:11 +00:00
Jacques Germishuys
9d8c2b3843
Problem: no relicensing grant for my contributions
...
Solution: add it
2018-12-14 11:53:56 +02:00
Jacques Germishuys
a1ace32650
Problem: TCP_NODELAY is set prior to connecting, which is problematic on Windows
...
Solution: Set TCP_NODELAY after connect()
Reference: https://mail.openvswitch.org/pipermail/ovs-dev/2014-October/290251.html
2018-12-14 11:49:05 +02:00
Simon Giesecke
cfbbfb8ab8
Merge pull request #3333 from erickt/patch-1
...
Fix a typo - lenght to length
2018-12-14 03:13:44 -05:00
Erick Tryzelaar
a92585586b
Fix a typo - lenght to length
...
Noticed there was a small typo in the documentation.
2018-12-13 20:32:29 -08:00
Luca Boccassi
b70d31c432
Merge pull request #3328 from sigiesec/sigiesec/migrate-more-tests
...
Problem: tests without test framework
2018-12-10 12:51:22 +00:00
Simon Giesecke
4a48184032
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-10 07:01:06 -05:00
Luca Boccassi
65e72f9f0a
Merge pull request #3327 from sigiesec/migrate-more-tests
...
Problem: tests without test framework
2018-12-09 16:27:05 +00:00
Simon Giesecke
a8b2e5a617
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-09 07:36:39 -05:00
Luca Boccassi
f025129768
Merge pull request #3326 from hgourvest/master
...
Switching or desactivate wifi can crash Android application
2018-12-08 14:14:00 +00:00
Henri Gourvest
a6b5c75198
Problem: Switching or desactivate wifi can lead to have EINVAL error code
...
returned on Android.
Solution: Avoid killing the application, allows to take
the appropriate measures to this situation.
2018-12-08 14:33:32 +01:00
Luca Boccassi
aaaec894d3
Merge pull request #3325 from jcourreges/platforms-conditionals-cleanup
...
Platforms conditionals cleanup
2018-12-07 20:31:53 +00:00
Jeremie Courreges-Anglas
941915d142
Problem: needlessly complicated conditionals in Makefile.am
...
Solution: the generic approach taken in 70b48a9 allows us to use the
same LDFLAGS on most platforms.
2018-12-07 20:36:51 +01:00
Jeremie Courreges-Anglas
386fa6e013
Problem: unused Debian/kFreeBSD-specific code
...
Solution: delete it
2018-12-07 20:31:25 +01:00
Luca Boccassi
4d1d64b764
Merge pull request #3322 from jcourreges/libtool-export-symbols
...
Portable solution for library symbols visibility
2018-12-07 18:06:36 +00:00
Luca Boccassi
36745fbf0d
Merge pull request #3324 from jcourreges/jcourreges-relicense
...
Relicensing grant for my contributions (jcourreges)
2018-12-07 18:05:36 +00:00
Jérémie Courrèges-Anglas
70b48a9c0c
Problem: --version-script not used on OpenBSD
...
Solution: switch to libtool symbol visibility support, which leads to
more portable constructs in the autotools glue. As noted in the libtool
documentation "This option has no effect on some platforms."
After this commit, global symbols intended to be kept private will
disappear on platforms that were previously not handled
using -Wl,--version-script.
2018-12-07 18:58:19 +01:00
Jeremie Courreges-Anglas
d20d107b48
Problem: no relicensing grant for my contributions
...
Solution: add it
2018-12-07 18:54:42 +01:00
Luca Boccassi
eda7f958f9
Merge pull request #3321 from jcourreges/openbsd-build-error
...
Problem: build fails on OpenBSD due to -Wl in LDFLAGS
2018-12-07 17:24:46 +00:00
Jérémie Courrèges-Anglas
fb4629eea2
Problem: build fails on OpenBSD due to -Wl in LDFLAGS
...
Solution: remove stray -Wl.
2018-12-07 17:05:49 +01:00
Constantin Rack
f615b8fdfc
Merge pull request #3315 from bluca/news
...
Problem: 4.3.0 is released, need to update ABI/version
2018-11-28 21:36:56 +01:00
Luca Boccassi
fbf37bb668
Problem: 4.3.0 is released, need to update ABI/version
...
Solution: bump to 5.2.1 and 4.3.1 respectively
2018-11-28 20:06:23 +00:00
Luca Boccassi
eff190d503
Problem: ABI is not correct for 4.3.0
...
Solution: bump it to 5.2.0 as new stable APIs have been added
2018-11-28 20:02:27 +00:00
Luca Boccassi
d411831302
Finalise changelog for 4.3.0
2018-11-28 19:53:33 +00:00
Luca Boccassi
fb7f8b77b8
Problem: NEWS out of date
...
Solution: mention new version of wepoll and Android Things fix
2018-11-28 19:51:31 +00:00
Luca Boccassi
6ec1a6f2af
Problem: whitespace issues introduced by last 2 PRs
...
Solution: fix them
2018-11-28 19:35:04 +00:00
brubakerjeff
cad2423d82
Consolidation of libatomic checks ( #3314 )
...
Problem: compiler might not support atomic warning flag
Solution: check before using it
2018-11-27 09:51:31 +00:00
brubakerjeff
d98325160f
Android Things 1.06 with Termux changes ( #3312 )
...
* include atomic when needed
* update for tipc
* moved check under android
* added license
2018-11-23 19:27:57 +00:00
Luca Boccassi
1bb0d63f1e
Merge pull request #3310 from sigiesec/update-wepoll-1.5.4
...
Problem: wepoll 1.5.2 is outdated
2018-11-19 11:46:15 +00:00
Simon Giesecke
df91e1e88a
Problem: wepoll 1.5.2 is outdated
...
Solution: Update to upstream version 1.5.4
2018-11-19 12:02:30 +01:00
Doron Somech
0e95c6c992
Merge pull request #3308 from bluca/draft
...
Problems: no example for STATISTICS proxy command, no getters for some context options, new events zmq_stopwatch_intermediate proxy STATISTICS and context thread options are eligible to be made STABLE
2018-11-18 16:30:17 +02:00
Luca Boccassi
f1dd84c11f
Problem: zmq_proxy STATISTICS eligible for stable
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
d61c47ef6f
Problem: no example for STATISTICS in proxy manpage
...
Solution: add it
2018-11-18 13:23:38 +00:00
Luca Boccassi
35c6985e68
Problem: zmq_stopwatch_intermediate is eligible for STABLE
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
22c3ecc458
Problem: some context options have no getter
...
Solution: add one so that class-based bindings can easily use them
2018-11-18 13:23:38 +00:00
Luca Boccassi
92cf6c6451
Problem: new ctx THREAD options are eligible for STABLE
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
c347aef794
Problem: new DRAFT monitoring events are eligible for STABLE
...
Solution: do it
2018-11-18 13:23:38 +00:00
Doron Somech
d349f93c2b
Merge pull request #3306 from bluca/radix_autotools
...
Problem: radix tree never used in autotools builds
2018-11-13 16:54:45 +02:00
Luca Boccassi
6253591655
Problem: radix tree never used in autotools builds
...
Solution: add a switch and a default to autoconf
2018-11-13 13:17:12 +00:00
Bill Torpey
25e069d131
Add specific option to select radix tree implementation for subscriptions ( #3304 )
...
* Add specific option to select radix tree implementation for subscriptions (defaults to ON if draft API enabled).
2018-11-12 21:57:11 +00:00
Simon Giesecke
d60ed2d626
Merge pull request #3301 from bluca/tests
...
Problems: some tests still use hard-coded TCP ports, wrong usage of CPPFLAGS, missing NEWS, no way to force C++98 builds and CI for it
2018-11-12 10:42:58 +01:00
Luca Boccassi
f3fde8498d
Merge pull request #3303 from crocket/master
...
Problem: C4 process is not easily discoverable.
2018-11-10 19:47:00 +00:00
crocket
14ed4e6492
Problem: There is probably no relicensing grant from me, yet.
...
Solution: Add a relicensing grant.
2018-11-10 21:10:36 +09:00
crocket
8919464fbc
Problem: C4 process is not easily discoverable.
...
Solution: Add 'Contributing' section to README.md
2018-11-10 20:57:17 +09:00
Luca Boccassi
4a0b6c6c6f
Problem: compiler warning in unittest_poller
...
Solution: cast the unused variable
2018-11-09 20:51:20 +00:00
Luca Boccassi
1402f7727e
Problem: no automated way to enforce C++98 compatibility
...
Solution: if the compiler supports it, pass C++98-compat flags.
Currently Clang supports this flag but GCC does not.
Add a new flag to enable it, as building with C++98-compat but also
with -std=gnu++11 will cause a lot of warnings due to the backward
compat ifdefs.
Add a CI job to run it and ensure we don't break compatibility.
2018-11-09 20:51:20 +00:00
Luca Boccassi
f215e13a71
Problem: compiler flags passed to preprocessor in autoconf
...
Solution: use CXXFLAGS for compiler flags and CPPFLAGS for preprocessor
flags.
2018-11-09 18:54:08 +00:00
Luca Boccassi
79f65b43cf
Problem: NEWS does not mention new perf tool
...
Solution: add it
2018-11-09 17:03:49 +00:00
Luca Boccassi
0e01c27de5
Problem: test_router_notify cannot be ran in parallel
...
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:56:00 +00:00
Luca Boccassi
828812fa72
Problem: test_app_meta cannot be ran in parallel
...
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:46:48 +00:00
Luca Boccassi
2c1c2f8b1b
Problem: new tests and perf binaries not ignored by git
...
Solution: add them to .gitignore
2018-11-09 16:01:19 +00:00
Shubham Lagwankar
3659c1204a
Problem: radix tree needs benchmarks and improvements ( #3290 )
...
* Problem: radix tree needs benchmarks and improvements
Solution: add a benchmark and make suggested improvements
2018-11-09 10:49:40 +00:00
Simon Giesecke
05e0ab55b8
Merge pull request #3299 from bluca/news
...
Problem: #3263 not mentioned in NEWS
2018-11-08 14:04:56 +01:00
Luca Boccassi
b1e2c8588e
Problem: #3263 not mentioned in NEWS
...
Solution: add it
2018-11-08 11:53:25 +00:00
Luca Boccassi
a59c010e33
Merge pull request #3298 from pijyoi/signaler_wait1
...
Problem: using FD_SETSIZE for optimized_fd_set_t is a pessimization
2018-11-07 08:35:04 +00:00
KIU Shueng Chuan
9a15fe7fac
use required number of descriptors (1) instead of FD_SETSIZE
2018-11-07 09:58:16 +08:00
Luca Boccassi
63abe83388
Merge pull request #3296 from sigiesec/reapply-session-base-refactoring
...
Reapply session_base_t refactoring
2018-11-06 21:00:26 +00:00
Simon Giesecke
db09fab47b
Problem: compilation broken with Sun Studio
...
Solution: do not use make_pair
2018-11-06 12:33:19 +01:00
Luca Boccassi
2327661810
Merge pull request #3297 from toonetown/recv-buffer-overflow
...
Windows apparently returns `WSAENOBUFS` from `recv`
2018-11-06 10:37:59 +00:00
Nathan Toone
fa598579e6
Problem: Assert being triggered when Windows returns WSAENOBUFS
from recv
call on large buffers.
...
Solution: Expect `WSAENOBUFS` as a valid response. See https://github.com/zeromq/libzmq/issues/3263
2018-11-05 16:25:35 -07:00
Nathan Toone
eb74b726c2
Problem: no relicense agreement by toonetown
...
Solution: added relicense agreement
2018-11-05 16:25:35 -07:00
Simon Giesecke
c590873ff7
Problem: complexity of start_connecting
...
Solution: extract functions for each protocol
2018-11-05 16:06:21 +01:00
Simon Giesecke
31b0a1dff0
Merge pull request #3295 from bluca/hurd_freebsd_sun
...
Problem: build broken with Sun Studio, tests fail on debian/kfreebsd and debian/hurd, DRAFT zmq_poll is slow
2018-11-05 12:52:06 +01:00
Luca Boccassi
25ded9e897
Problem: out-of-date TODO in zmq_poll
...
Solution: remove it
2018-11-05 10:59:12 +00:00
Luca Boccassi
ab1607f813
Problem: poller implementation of zmq_poll is slow
...
Solution: use it only if there is at least one thread-safe socket,
which is not compatible with the older zmq_poll implementation.
2018-11-05 10:59:12 +00:00
Luca Boccassi
b6f55eac14
Problem: unity build broken with Sun Studio
...
Solution: define UNITY_WEAK_PRAGMA when building with the Sun compiler
as it does not support the weak attribute.
2018-11-05 10:59:12 +00:00
Luca Boccassi
ffd99fbaf5
Problem: GNU/Hurd does not implement getsockname for ipc
...
Solution: skip tests that use ipc://* as it's impossible to get the
address back for the client
2018-11-05 10:59:12 +00:00
Luca Boccassi
bd9011fe3b
Problem: build broken with Sun Studio
...
Solution: temporary revert refactoring until it can be properly fixed.
Revert "Problem: complexity of start_connecting"
This reverts commit 6d7aeb056f11e6fd2429fa90bc175da0922d306b.
2018-11-05 10:58:45 +00:00
Luca Boccassi
54295cb342
Problem: passing tests on debian/kfreebsd marked as XFAIL
...
Solution: use a different system variable for debian/hurd and
debian/kfreebsd so that the tests are skipped only on hurd.
2018-11-04 18:12:55 +00:00
Luca Boccassi
205573f1a3
Problem: typo in RUN_TEST macro breaks debian/kfreebsd build
...
Solution: fix it
2018-11-04 18:12:18 +00:00
Luca Boccassi
320741f2c9
Merge pull request #3294 from bluca/stalebot
...
Problem: stale bot didn't parse labels correctly
2018-11-04 16:20:40 +00:00
Luca Boccassi
1b8a821222
Problem: stale bot label exceptions not correct
...
Solution: quote the labels with a space, upstream documentation
(not displayed on the Github page) suggests this should finally work
2018-11-04 15:50:40 +00:00
Doron Somech
b8b98bc601
Merge pull request #3293 from bluca/stalebot
...
Problem: stale issues linger on Github
2018-11-04 16:30:54 +02:00
Luca Boccassi
ecf1e31db7
Problem: stale issues linger on Github
...
Solution: enable Stable Bot to automatically mark an issue as stale
after 365 days of inactivity and close it after further 56 days.
Issues marked with the following labels are excluded:
- Help Request
- Feature Request
- Problem reproduced
- Critical
2018-11-04 14:18:54 +00:00
Doron Somech
c5dab3b4f3
Merge pull request #3292 from bluca/news
...
Problem: NEWS still out of date
2018-11-04 16:07:53 +02:00
Luca Boccassi
d330d01076
Problem: NEWS still out of date
...
Solution: mention all relevant bug fixes, features and changes
2018-11-04 14:05:03 +00:00
Simon Giesecke
b03d6605a1
Merge pull request #3288 from bluca/news
...
Problems: wrong version and outdated NEWS
2018-11-02 18:59:28 +01:00
Luca Boccassi
cb1970e136
Merge pull request #3291 from WallStProg/master
...
Some changes for CMakeLists.txt:
2018-11-02 17:47:41 +00:00
Bill Torpey
981cff5c93
RELICENSE: Bill Torpey
2018-11-02 12:25:04 -04:00
Bill Torpey
4e8c72c32f
RELICENSE: Bill Torpey
2018-11-02 12:20:38 -04:00
Bill Torpey
29c369ff0b
Some changes for CMakeLists.txt:
...
- MacOS version requires CMake version 3.0.2 (because of policy CMP0042)
- Add option to build instrumented binaries with Address Sanitizer
- Add option to select compiler intrinsics for atomic ops
- Only build docs on request (saves build time)
2018-11-02 11:10:14 -04:00
Luca Boccassi
34f23bea82
Problem: NEWS not up to date
...
Solution: partially list changes since 4.2.5. Not yet complete.
2018-11-01 22:05:25 +00:00
Luca Boccassi
1f3d4dfbea
Problem: wrong new version
...
Solution: bump back from 4.3.1 to 4.3.0
2018-11-01 20:14:30 +00:00
Simon Giesecke
efc9a3021f
Merge pull request #3287 from bluca/radix_draft
...
Problem: new radix tree implementation is experimental
2018-11-01 11:04:15 +01:00
Luca Boccassi
8f69122981
Problem: new radix tree implementation is experimental
...
Solution: use it only for DRAFT builds for now, to leave it time to be
tested and stabilised.
2018-10-31 14:47:57 +00:00
Luca Boccassi
fc4115887c
Merge pull request #3286 from ssbl/master
...
Problem: potentially large memory footprint of trie as number of subscriptions increases (issue #1400 )
2018-10-31 14:45:15 +00:00
Shubham Lagwankar
87d2919066
Problem: no relicense agreement by ssbl
...
Solution: add it
2018-10-31 07:49:55 -04:00
Shubham Lagwankar
c68afb412e
Problem: potentially large memory footprint of trie as number of
...
subscriptions increases
Solution: use a radix tree instead of a trie to store subscriptions
2018-10-31 07:49:55 -04:00
Luca Boccassi
9861d16cfc
Merge pull request #3285 from bjovke/my_work
...
Problem: Use of pipe_t after free in zmq::socket_base_t::term_endpoint(). Issue #3245 .
2018-10-30 17:57:45 +00:00
Bunjevacki, Jovan
f5d1d5d1af
Problem: Use of pipe_t after free in zmq::socket_base_t::term_endpoint(). Issue #3245 .
...
Solution: When pipe_t is freed (terminated) remove it from _endpoints member of zmq::socket_base_t. Resolves issue #3245 .
2018-10-30 14:12:29 +01:00
Luca Boccassi
3863c869cc
Merge pull request #3284 from lhftio/udp-multicast-hops
...
Add support for UDP multicast ttl (ZMQ_MULTICAST_HOPS)
2018-10-30 09:41:11 +00:00
Conrad Parker
4ce402687a
Problem: no relicense agreement by kfish
...
Solution: add relicense agreement
2018-10-30 08:14:29 +00:00
Conrad Parker
22083d7d62
Problem: UDP does not support ZMQ_MULTICAST_HOPS
...
Solution: add support for ZMQ_MULTICAST_HOPS (IP_MULTICAST_TTL)
2018-10-30 08:14:26 +00:00
Luca Boccassi
7064c3a55f
Merge pull request #3283 from hpsaturn/av/relicense
...
Relicense statement for Hpsaturn
2018-10-27 19:35:50 +01:00
Luca Boccassi
7c0017c55d
Merge pull request #3272 from hpsaturn/av/fix_for_android
...
fix for android building
2018-10-27 19:35:17 +01:00
Antonio Vanegas
e8c816f250
Relicense statement for Hpsaturn
2018-10-27 12:59:09 -05:00
Luca Boccassi
cbf29b5355
Merge pull request #3281 from ojura/patch-3
...
Relicense statement for Juraj Oršulić
2018-10-26 09:11:12 +01:00
Luca Boccassi
006f1e6773
Merge pull request #3278 from ojura/master
...
Always include ZMQSourceRunChecks.cmake
2018-10-26 09:10:57 +01:00
Juraj Oršulić
a48b7a7d93
Relicense statement for Juraj Oršulić
2018-10-26 09:20:13 +02:00
Juraj Oršulić
3942195817
Update CMakeLists.txt
2018-10-22 14:08:02 +02:00
Antonio Vanegas
69ac7a934c
fix for android building
2018-10-09 16:49:19 -05:00
Luca Boccassi
cfc9d5f519
Problem: trailing whitespace breaks clang-format-check
...
Solution: fix issue introduced by #3270
2018-10-08 17:17:13 +01:00
Luca Boccassi
b9b325ce3b
Merge pull request #3271 from gabm/Relicense
...
Problem: gabm didn't signalise his consent to relicense libzmq
2018-10-08 17:15:03 +01:00
gabm
c1ac158f50
Problem: The flag that indicates the next expected message gets set even if the send fails ( #3270 )
...
* ZMQ_DGRAM: flip more flag after successful send
In the dgram socket we have a flag that indicates the next expected message type to ensure that always a pair of "address" + "body" messages gets sent. The first one MUST have the sendmore flag, the second MUST NOT.
In case the message does not get sent because of HWM full, then the function returns EAGAIN as it should. But unfortunately the next expected message type-flag gets flipped as well. When the socket_base::send function now tries to resend the message, it became the wrong message type... If you don't stop sending pairs of messages here (like me) then the next message that gets through will be of the wrong type, which in turn crashes the udp_engine function as described in #3268
2018-10-08 17:14:45 +01:00
Matthias Gabriel
439e57f091
grant relicense permission
2018-10-08 16:00:30 +02:00
Luca Boccassi
501d0815bf
Merge pull request #3267 from glemercier/master
...
Problem: Compilation with strict AARCH64 compilers is broken
2018-10-07 20:13:32 +01:00
Gregory Lemercier
ffe62d3398
Fix build on arm64 architectures with some strict compilers
...
This patch fixes an issue that occurs on 64-bit architetures under
strict compiler rules. The code initially checked that the received
size stored in 'uint64_t' was not bigger than the max value of a
'size_t' variable, which is legitimate on 32-bit architectures where
'size_t' variables are stored on 32 bits. On 64-bit architectures,
this test no longer makes sense since 'uint64_t' and 'size_t' types
have the same size. The issue is fixed by ignoring this portion
of code when built for arm64.
2018-10-07 18:23:08 +02:00
Gregory Lemercier
2e2806d744
Adds relicensing grant
2018-10-07 18:23:08 +02:00
Luca Boccassi
6ee048992f
Merge pull request #3266 from antonrd/issue-2488-zmq_msg_send-doc-fix
...
[ISSUE 2488] Updates the zmq_msg_send doc
2018-10-01 15:23:05 +01:00
Anton Dimitrov
b15aa40212
Adds relicensing grant
2018-10-01 17:11:04 +03:00
Anton Dimitrov
860c905e5a
Removes unneeded trailing spaces in doc.
2018-10-01 17:10:47 +03:00
Anton Dimitrov
082457b6d0
Problem: zmq_msg_send doc incomplete return value description (issue #2488 )
...
Solution: Add more information to the doc specifying that MAX_INT is the maximum
possible return value.
2018-10-01 17:00:21 +03:00
Constantin Rack
d4adb9a549
Merge pull request #3265 from bluca/tipc
...
Problem: test_connect_delay_tipc randomly fails
2018-09-30 01:22:20 +02:00
Luca Boccassi
1a5937750c
Problem: test_connect_delay_tipc randomly fails
...
Solution: use a monitor to wait for a disconnect instead of a sleep,
and retry to send a message until it fails since the state machine
might be delayed due to the I/O thread being pre-empted on busy
systems.
Also set a receive timeout to avoid random hangs.
Fixes #3124
2018-09-29 22:39:36 +01:00
Constantin Rack
41bdf5c389
Merge pull request #3264 from bluca/issue_pr_text
...
Problem: have to ask manually for relicensing grant
2018-09-29 12:47:42 +02:00
Luca Boccassi
1275c96979
Problem: have to ask manually for relicensing grant
...
Solution: add note in PR template
2018-09-29 11:22:03 +01:00
Luca Boccassi
7476e58897
Merge pull request #3260 from sigiesec/remove-outdated-reference
...
Problem: INSTALL refers to deprecated VS build instructions
2018-09-22 13:55:45 +01:00
Simon Giesecke
36b62c1215
Problem: INSTALL refers to deprecated VS build instruction
...
Solution: remove the reference
2018-09-22 14:00:49 +02:00
Luca Boccassi
95beabe7cc
Merge pull request #3257 from f18m/hwm_test_fix
...
Remove race condition from XPUB/SUB test in test_blocking()
2018-09-21 11:52:58 +01:00
Francesco Montorsi
4f49e7420b
Remove race condition from XPUB/SUB test in test_blocking()
2018-09-21 11:19:50 +02:00
Luca Boccassi
9f962ea0cc
Merge pull request #3255 from f18m/hwm_test_fix
...
Fix for test_hwm_pubsub
2018-09-20 20:41:13 +01:00
Francesco Montorsi
4b399b51ce
change test_hwm_pubsub to use XPUB and wait for subscription before start to sending messages out
2018-09-20 20:42:03 +02:00
Simon Giesecke
ea517a28ff
Merge pull request #3253 from bluca/proxy_hwm
...
Problem: test_proxy_hwm randomly fails
2018-09-17 14:21:05 +02:00
Luca Boccassi
df218af3bd
Problem: test_proxy_hwm expects wrong number of msgs
...
Solution: allow for a range between the minimum and maximum expected.
With 2 queues, that's between 20 and 40 messages depending on the
scheduling of the 3 threads involved.
2018-09-16 21:20:10 +01:00
Luca Boccassi
e651babd85
Problem: test_proxy_hwm uses an bool across threads
...
Solution: use atomics to avoid issues on non-x86 architectures
2018-09-16 21:18:52 +01:00
Luca Boccassi
02019d9f4c
Merge pull request #3254 from f18m/hwm_test_fix
...
Improve test reliability by: a) using XPUB in place of PUB to ensure …
2018-09-16 21:18:38 +01:00
Francesco Montorsi
72418e9dd0
Improve test reliability by: a) using XPUB in place of PUB to ensure we start publishing only after 1st subscriber has joined; b) accept both 2*HWM, 3*HWM and 4*HWM as TX/RX count of messages
2018-09-16 21:55:59 +02:00
Luca Boccassi
b933cb9d6a
Merge pull request #3251 from f18m/relicensing
...
add relicensing grant
2018-09-14 20:37:59 +01:00
Francesco Montorsi
a5a9fd1ff7
add relicensing grant
2018-09-14 20:01:56 +02:00
Francesco Montorsi
eb3e63e22f
Hwm tests and docs ( #3242 )
...
Add new HWM tests and more detailed documentation
2018-09-13 22:14:06 +01:00
Luca Boccassi
0750211109
Merge pull request #3250 from ffontaine/master
...
fix static build with libatomic
2018-09-13 22:12:36 +01:00
Fabrice Fontaine
3b39942bd0
RELICENSE: Fabrice Fontaine
...
Create RELICENSE/FabriceFontaine.md
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2018-09-13 22:08:53 +02:00
Fabrice Fontaine
6de5f18be3
fix static build with libatomic
...
Commit 2ec5a33f6e986661dc92f3585ea400f919a39cae added support to link
with -latomic if needed however using LDFLAGS doesn't work when
statically linking because LDFLAGS is added before LIBS
Detection of atomic fails with:
configure:23230: /accts/mlweber1/instance-2/output/host/bin/sparc-linux-g++ -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -static -pedantic -Werror -Wall -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -Wno-long-long -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -latomic conftest.cpp -lrt -lpthread -lstdc++ >&5
/tmp/ccgrvVTg.o: In function `main':
conftest.cpp:(.text.startup+0x10): undefined reference to `__atomic_fetch_add_4'
collect2: error: ld returned 1 exit status
So use LIBS instead of LDFLAGS
Fixes:
- http://autobuild.buildroot.net/results/c471d6b1061a8516f7772735e471db68a32965aa
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2018-09-13 20:18:37 +02:00
Luca Boccassi
1b61ff2910
Merge pull request #3247 from schulzch/relicense
...
RELICENSE: Christoph Schulz
2018-09-10 10:00:55 +01:00
Christoph Schulz
fa397134fe
RELICENSE: Christoph Schulz
2018-09-10 10:48:08 +02:00
Constantin Rack
10edb5930a
Merge pull request #3246 from schulzch/cmake-fixes
...
CMake cleanup
2018-09-10 07:51:31 +02:00
Christoph Schulz
a21228b664
Conform to cmakelint --filter=-linelength
...
- Lowercase all commands
- Unify indent to 2 spaces
- Remove spaces around brackets
- Remove repitition of condition in else(...) and endif(...)
Note: (re-)running CMake did not change the content of the generated files
2018-09-10 00:12:07 +02:00
Christoph Schulz
ca7c03f825
Add instead of replace linker flags (fix for LLVM toolchain)
2018-09-09 23:24:33 +02:00
Luca Boccassi
9c0bff2c9c
Merge pull request #3239 from Mystfit/relicense
...
RELICENSE: Byron Mallett
2018-09-01 10:32:42 +01:00
Byron Mallett
fe212927f6
RELICENSE: Byron Mallett
...
Added relicensing permission from Byron Mallett
2018-09-01 15:18:48 +12:00
Luca Boccassi
e0ec6a9b36
Problem: formatting errors introduced by PR #3237
...
Solution: fix them
2018-08-31 09:37:53 +01:00
Byron Mallett
d8f3b283f8
Added SO_REUSEPORT socket option for UDP recv ports ( #3237 )
...
* Added SO_REUSEPORT socket option for UDP multicast recv ports
2018-08-31 09:36:34 +01:00
Luca Boccassi
50dbd80c51
Merge pull request #3233 from sigiesec/migrate-tests-to-unity
...
Revert "Problem: test_proxy not yet using unity"
2018-08-24 09:23:37 +01:00
Simon Giesecke
1734a64d62
Revert "Problem: test_proxy not yet using unity"
...
This reverts commit fd27324ec3daa50bebea381ce7fd4b505a6a53e6.
2018-08-24 09:49:41 +02:00
Constantin Rack
e0fe7f1037
Merge pull request #3232 from sigiesec/migrate-tests-to-unity
...
Migrate tests to unity, reduce duplication
2018-08-23 20:08:22 +02:00
Simon Giesecke
430b97fc73
Problem: test_use_fd not yet using unity
...
Solution: migrate to unity
2018-08-23 18:03:16 +02:00
Simon Giesecke
d668925bca
Problem: extensive duplication between test_use_fd_tcp and test_use_fd_ipc
...
Solution: merge into a single test_use_fd and reduce code duplication by extracting common functions
2018-08-23 18:00:52 +02:00
Simon Giesecke
929d295e01
Problem: test_timers not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
980791d182
Problem: test_stream_timeout not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
f01682292c
Problem: test_stream_disconnect not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
309fe2e6fd
Problem: test_router_mandatory_hwm not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
fd27324ec3
Problem: test_proxy not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:50 +02:00
Luca Boccassi
76f2edd0b7
Merge pull request #3230 from saraf/master
...
Fix build failure on ARM due to bad variable name
2018-08-23 12:55:48 +01:00
Aalhad Saraf
3f1f628538
Fix build failure on ARM due to bad variable name
...
The variable decrement was changed to decrement_
in c581f43c977f8776a56d20b7654260928e4c16b8
In -one- place, it remained as decrement
and gives:
In file included from src/ctx.hpp:44:0,
from src/address.cpp:33:
src/atomic_counter.hpp: In member function 'bool zmq::atomic_counter_t::sub(zmq::atomic_counter_t::integer_t)':
src/atomic_counter.hpp:191:28: error: 'decrement' was not declared in this scope
Changing it to decrement_ fixes the problem.
2018-08-23 17:02:56 +05:30
Luca Boccassi
12005bd926
Merge pull request #3228 from sigiesec/migrate-tests-to-unity
...
Migrate further tests to unity
2018-08-22 13:00:09 +01:00
Simon Giesecke
1a55100dbe
Problem: test_xpub_verbose is not using testutil_unity
...
Solution: use utilities from testutil_unity, reduce duplication
2018-08-22 11:51:11 +02:00
Simon Giesecke
2334090732
Problem: test_stream not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
7ad0ff5e9a
Problem: test_stream_empty not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
7b39d2cb2a
Problem: test_unbind_wildcard not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
c66288a882
Problem: duplicate code
...
Solution: extracted into common method
2018-08-22 11:51:10 +02:00
Simon Giesecke
713f075fec
Problem: test_xpub_manual not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
407bd3b1b2
Problem: test_spec_pushpull not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
261dd1f92c
Problem: test_ancillarries not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
3d2db5d8d5
Problem: test_capabilities not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
dc29361ef4
Problem: test_req_correlate not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
244ba77ebc
Problem: test_base85 not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:08 +02:00
Luca Boccassi
9f0b83a1d3
Problem: whitespace issue with PR #3227
...
Solution: fix it to comply with clang-format rules
2018-08-20 15:44:20 +01:00
answeroo
777bd48296
Pgm fix ( #3227 )
...
* Relicensing grant by Ming Ji <jiming@yafco.com>
Permission to relicense under any OSI approved license chosen by the current ZeroMQ BDFL.
2018-08-20 15:42:58 +01:00
Simon Giesecke
fce1838545
Problem: test_pair_tcp not yet using unity
...
Solution: migrate to unity
2018-08-20 11:13:12 +02:00
Luca Boccassi
d7e51cdfed
Problem: indentation issues with PR #3226
...
Solution: fix them
2018-08-19 18:12:28 +01:00
answeroo
7852a6ce98
PGM receiver crash fix ( #3226 )
...
Problem: PGM receiver can crash due to race
Solution: do not run in_event until restart_input finishes correctly.
Signed-off-by: answeroo <jiming@yafco.com>
2018-08-19 18:10:51 +01:00
Luca Boccassi
1c5e81788e
Merge pull request #3225 from sigiesec/fix-bug-router-duplicate-id-no-handover
...
Problem: inconsistent _out_pipes when using the same routing id witho…
2018-08-17 15:27:20 +01:00
Simon Giesecke
8328208e60
Problem: inconsistent _out_pipes when using the same routing id without ZMQ_ROUTER_HANDOVER
...
Solution: added test case, do not erase existing without ZMQ_ROUTER_HANDOVER
2018-08-17 12:50:59 +02:00
Luca Boccassi
4ecfb81c7c
Merge pull request #3224 from sigiesec/migrate-further-tests
...
Migrate further tests to unity
2018-08-17 11:14:59 +01:00
Simon Giesecke
e07a6a69ad
Problem: test_spec_router not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
ab22aeb83e
Problem: test_setsockopt not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
30b9e5a10b
Problem: test_connect_rid not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
0fc2f0f073
Problem: test_term_endpoint not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
dce77fda68
Problem: test_filter_ipc not yet using unity
...
Solution: migrate to unity
2018-08-16 18:34:55 +02:00
Luca Boccassi
fe82c643ed
Merge pull request #3220 from sigiesec/code-improvements
...
Various refactorings
2018-08-16 16:29:17 +01:00
Luca Boccassi
31f69937fc
Merge pull request #3222 from sigiesec/add-z7-debug-info-with-relwithdebinfo
...
Problem: /Z7 debug info is used only for Debug build, but not for Rel…
2018-08-16 15:30:13 +01:00
Simon Giesecke
987e75b887
Problem: test program test_unbind_inproc is redundant, the same is already tested in test_inproc_connect
...
Solution: remove test_unbind_inproc
2018-08-16 12:37:06 +02:00
Simon Giesecke
f6a3ebde99
Problem: test not using unity assertions and test utils
...
Solution: Migrate to unity assertions and test utils
2018-08-16 11:55:07 +02:00
Simon Giesecke
a9973ac43f
Problem: /Z7 debug info is used only for Debug build, but not for RelWitDebInfo build
...
Solution: apply the same commadn for RelWithDebInfo build
2018-08-16 11:40:55 +02:00
Simon Giesecke
6824c167ad
Merge pull request #3217 from WenbinHou/patch-1
...
Update unittests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
2018-08-16 11:15:44 +02:00
Simon Giesecke
75e4a342e2
Problem: XFAIL_TESTS does not correctly reference some tests
...
Solution: add tests/ directory prefix
2018-08-16 11:07:05 +02:00
Wenbin Hou
0507ae877d
Update tests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
...
Use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR instead of CMAKE_SOURCE_DIR, CMAKE_BINARY_DIR in tests/CMakeLists.txt
Similar reason to change unittests/CMakeLists.txt
2018-08-16 13:17:44 +08:00
Wenbin Hou
8fbb32c8f1
RELICENSE: Wenbin Hou
...
Create RELICENSE/WenbinHou.md
2018-08-16 08:46:48 +08:00
Simon Giesecke
c546045d8c
Problem: test_connect_delay_tipc not yet using unity
...
Solution: started migration to unity (run test cases separately)
2018-08-15 18:35:17 +02:00
Simon Giesecke
06a9d809aa
Problem: test_connect_delay_tipc is almost always failing
...
Solution: add to XFAIL_TESTS until resolved
2018-08-15 15:27:37 +02:00
Simon Giesecke
6d7aeb056f
Problem: complexity of start_connecting
...
Solution: extract functions for each protocol
2018-08-15 14:46:21 +02:00
Simon Giesecke
2cd34da1b0
Problem: code duplication in session_base_t::start_connecting
...
Solution: extract common code
2018-08-15 14:46:21 +02:00
Simon Giesecke
799fae44fe
Problem: magic literal used for inproc
...
Solution: define and use named constant
2018-08-15 14:46:21 +02:00
Simon Giesecke
daadb65a46
Problem: inconsistency of using terms address and uri
...
Solution: use terms more consistently
2018-08-15 14:46:21 +02:00
Simon Giesecke
cdc6c66f9b
Problem: complexity of term_endpoint
...
Solution: extract resolve_tcp_addr function
2018-08-15 14:46:21 +02:00
Simon Giesecke
a2d736c14f
Problem: functionality around inprocs_t is scattered
...
Solution: extract into functions of new inprocs_t class
2018-08-15 14:46:21 +02:00
Simon Giesecke
fb576d2f95
Problem: unnecessary procedural code
...
Solution: replace by functional expression
2018-08-15 14:46:21 +02:00
Simon Giesecke
3455be144d
Problem: code duplication around sending of routing id
...
Solution: extract functionality into send_routing_id
2018-08-15 14:46:21 +02:00
Simon Giesecke
83f41526c9
Problem: code duplication around options_t::conflate
...
Solution: extract functionality into get_effective_conflate_option
2018-08-15 12:18:35 +02:00
Simon Giesecke
8820dedcb7
Problem: stream_engine_t::_as_server is not used
...
Solution: remove it
2018-08-15 11:53:31 +02:00
Simon Giesecke
0852099f67
Problem: unused field pipe_t::_credentials
...
Solution: remove it
2018-08-15 11:48:00 +02:00
Szekely Gyorgy
2cdad3d0ce
Add ZMQ_ROUTER_NOTIFY draft socket option ( #3213 )
...
* Add ZMQ_ROUTER_NOTIFY draft socket option
2018-08-15 08:54:08 +01:00
Luca Boccassi
4738bed5b6
Merge pull request #3219 from hoditohod/relicense
...
RELICENSE: Szekely Gyorgy
2018-08-15 08:50:05 +01:00
Gyorgy Szekely
69d69f21a8
RELICENSE: Szekely Gyorgy
2018-08-15 09:37:59 +02:00
Wenbin Hou
c981336445
Udpate unittests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
...
Use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR instead of CMAKE_SOURCE_DIR, CMAKE_BINARY_DIR, which allows libzmq to become an "add_subdirectory" target (with static build).
Otherwise, building unittest_xxx would complain header files not found.
2018-08-15 10:11:49 +08:00
Luca Boccassi
cbb9925a10
Merge pull request #3215 from sigiesec/remove-unused-get-credential
...
Problem: unused get_credential methods and associated fields
2018-08-14 20:05:53 +01:00
Luca Boccassi
dbe289509e
Merge pull request #3211 from sigiesec/migrate-and-extend-probe-router-test
...
Migrate and extend probe router test
2018-08-13 17:40:07 +01:00
Simon Giesecke
da30ff7d3d
Problem: unused get_credential methods and associated fields
...
Solution: remove them
2018-08-13 15:22:18 +02:00
Simon Giesecke
062b510b5d
Problem: test case test_probe_router_router does not receive auto-generated routing id
...
Solution: add receive call for routing id
2018-08-13 13:26:50 +02:00
Luca Boccassi
0b1589dbba
Merge pull request #3209 from sigiesec/code-improvements
...
Code style improvements
2018-08-10 16:40:23 +01:00
Simon Giesecke
d78152bf83
Problem: no test case for ZMQ_PROBE_ROUTER on ZMQ_DEALER socket
...
Solution: add test case
2018-08-10 17:30:23 +02:00
Simon Giesecke
d9e5ba671b
Problem: test_probe_router not yet using unity
...
Solution: migrate to unity/testutil_unity
2018-08-10 17:30:00 +02:00
Simon Giesecke
bbae67df89
Code style improvements
2018-08-10 15:36:31 +02:00
Simon Giesecke
b102e30419
Fixed naming for filter parameter, removed unnecessary temporary variable, fixed naming of local variable
2018-08-10 11:25:20 +02:00
Simon Giesecke
a1b6268c83
Made to_string const; converted C-style cast to reinterpret_cast
2018-08-10 11:25:09 +02:00
Luca Boccassi
6e8424ab5d
Merge pull request #3206 from sigiesec/fix-zap-memory-use-after-free
...
Problem: stream_engine_t instance may access its fields after it deleted itself
2018-08-09 18:17:58 +01:00
Simon Giesecke
737927e333
Fixed spelling of parameter
2018-08-09 18:27:01 +02:00
Simon Giesecke
46ed0920b2
Various code style improvements
2018-08-09 18:27:01 +02:00
Luca Boccassi
53e9af71af
Merge pull request #3208 from sigiesec/add-clang-rule-exclusions-analyze
...
Added some more clang-tidy rule exclusions
2018-08-09 16:36:26 +01:00
Simon Giesecke
bfa8275cfb
Added some more clang-tidy rule exclusions
2018-08-09 15:44:46 +02:00
Simon Giesecke
563651e0c9
Problem: stream_engine_t instance may access its fields after it deleted itself
...
Solution: prevent access to data if the object was deleted
2018-08-09 15:24:23 +02:00
Luca Boccassi
76602516a8
Merge pull request #3205 from sigiesec/code-improvements
...
Code style improvements
2018-08-09 13:39:07 +01:00
Simon Giesecke
be81dcd4d3
Use std::min/max where possible
2018-08-09 12:53:32 +02:00
Simon Giesecke
3cb77e423e
Use revision_pos constant
2018-08-09 12:47:18 +02:00
Simon Giesecke
758f903db4
Some code style improvements: removed redundant parentheses, added const, joined declaration and assignment of local variables
2018-08-09 12:41:08 +02:00
Simon Giesecke
89e5313114
Refactored zmq::stream_engine_t::handshake, extracted several sub-methods
2018-08-09 12:41:08 +02:00
Simon Giesecke
c3739ff604
Use static_cast instead of C-style casts, make local variables const where possible, use switch instead of chained if/else, extract rm_helper_multiple_subnodes from rm_helper to reduce nesting
2018-08-09 12:41:08 +02:00
Simon Giesecke
9e2cf35b66
Reduced number of calls to container end method
2018-08-09 12:41:08 +02:00
Luca Boccassi
05e400a3e0
Merge pull request #3203 from sigiesec/update-wepoll
...
Problem: wepoll outdated
2018-08-08 13:45:21 +01:00
Luca Boccassi
d9ade47630
Merge pull request #3202 from sigiesec/code-improvements
...
Simplified and optimized several code fragments
2018-08-08 13:44:48 +01:00
Simon Giesecke
19a70ab682
Optimized and simplified zmq::timers_t::execute and zmq::timers_t::timeout
2018-08-07 16:54:35 +02:00
Simon Giesecke
4f77cfa327
Removed unreachable code paths
2018-08-07 16:11:52 +02:00
Simon Giesecke
198c01e00b
Use more structured for loop instead of while loop
2018-08-07 15:58:15 +02:00
Simon Giesecke
9440f4e5bc
Problem: wepoll outdated
...
Solution: update to wepoll 1.5.2
2018-08-07 15:51:20 +02:00
Simon Giesecke
e4b4372c41
Simplified code
2018-08-07 14:15:35 +02:00
Simon Giesecke
ad3d1e7762
Reduced code duplication between xread and xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
3cca90ea44
Optimized zmq::dish_t::xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
aa1f5739b7
Optimized zmq::dish_t::xrecv
2018-08-07 14:15:35 +02:00
Simon Giesecke
fa976f87f9
Simplified uses of erase
2018-08-07 14:15:35 +02:00
Simon Giesecke
6357890ff6
Removed code duplication in process_commands
2018-08-07 10:17:12 +02:00
chymanfx
da8024d3c9
Problem: No CI for mingw64 ( #3195 )
...
* Problem: No CI for mingw64
Adding CI support for mingw64 to appveyor.yml
Reason: To help address the issue:
Several checks fail under 64-bit MinGW on Windows when running make check #3185
* Problem: Docs do not build with mingw64, dll already in right place
Turning off WITH_DOC for mingw64
Removing copy command for mingw64 and cygwin64 (it now seems to be directly built in "bin" directoy)
2018-07-29 22:40:35 +01:00
Doron Somech
ebe701afc1
Merge pull request #3198 from bluca/timers_draft
...
Problems: no docs for zmq_timers_*, zmq_timers_* have been DRAFT for a long time
2018-07-28 13:59:51 +03:00
Luca Boccassi
3159161cef
Problem: zmq_timers_* are ready for STABLE
...
Solution: move them from DRAFT state to STABLE
2018-07-27 23:07:56 +01:00
Luca Boccassi
efbec8e67f
Problem: zmq_poller manpage is not build
...
Solution: add it to the makefile
2018-07-27 23:05:01 +01:00
Luca Boccassi
06176fde4d
Problem: no documentation for zmq_timers_*
...
Solution: add a manpage
Fixes #3005
2018-07-27 23:04:05 +01:00
Luca Boccassi
bbcdb961a0
Merge pull request #3193 from mvilim/local_attach
...
Race condition with received message causes ZMQ_CONNECT_ROUTING_ID to be assigned to wrong socket
2018-07-27 08:31:55 +01:00
Michael Vilim
8a16fef3cc
Problem: ZMQ_CONNECT_ROUTING_ID can be assigned to incoming socket connection (Issue #3191 )
...
Solution: Add an identifier parameter for local attach to zmq::socket_base_t::attach_pipe
2018-07-26 18:26:35 -05:00
Luca Boccassi
0aa222d07e
Merge pull request #3197 from justusranvier/master
...
Problem: build system does not play nicely as a cmake subproject
2018-07-26 23:46:36 +01:00
Justus Ranvier
458f41e349
Problem: build system does not play nicely as a cmake subproject #3196
...
Solution: avoid exporting targets and installing files if neither
BUILD_SHARED nor BUILD_STATIC is set
2018-07-26 17:18:26 -05:00
Luca Boccassi
f4aad4d1d2
Merge pull request #3194 from QuLogic/cmake-pkgconfig
...
cmake: Install pkgconfig in correct lib directory.
2018-07-26 08:42:28 +01:00
Elliott Sales de Andrade
1e51d6e043
Problem: cmake: pkgconfig always installed in lib.
...
Solution: Use cmake's libdir variable to ensure that the pkgconfig file
ends up in the correct lib/lib64 directory. This matches the autotools
behaviour.
2018-07-26 00:36:46 -04:00
Luca Boccassi
cc4d03fa1c
Merge pull request #3181 from jcfr/support-custom-output-dir
...
cmake: Streamline integration allowing config of CMAKE_*_OUTPUT_DIRECTORY
2018-07-24 23:37:11 +01:00
Andras Lasso
f1aeb7956c
cmake: Fix .dll file location in the build tree
...
This commit ensures that the variable CMAKE_*_OUTPUT_DIRECTORY
are considered when creating the library.
2018-07-24 18:22:47 -04:00
Jean-Christophe Fillion-Robin
b1d4955065
cmake: Streamline integration allowing config of CMAKE_*_OUTPUT_DIRECTORY
...
Setting EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH variables is deprecated
2018-07-24 18:22:45 -04:00
Luca Boccassi
25f47ccbf8
Merge pull request #3187 from MelcoInternational/master
...
Switched android platform check to official form
2018-07-19 00:40:49 +01:00
jdavidberger
3b26c7f8e1
Switched android platform check to official form
...
See https://markmail.org/message/5ekhfztchs45lz3n#query:+page:1+mid:jfqgzrmwm37uyrt6+state:results
2018-07-18 12:14:33 -06:00
Simon Giesecke
7a9933f2e1
Merge pull request #3179 from masariello/master
...
Problem: stack overflow on win64 #2876
2018-06-28 17:06:49 +02:00
Alessio M
9066e0670f
Problem: stack overflow on win64 #2876 . Basically zmq::signaler_t::wait suffers from stack bloating the same way socket_poller was found to be bloated due to the large size of fd_set
...
Solution: replace the fd_set in the routine with an instance of optimized_fd_set_t
2018-06-28 14:11:32 +01:00
jamesdillonharvey
83e1712d67
Update conflate docs to cover issue #3171 ( #3175 )
...
* More info on conflate queue
2018-06-26 10:49:36 +01:00
Luca Boccassi
b0d9a5a2d5
Merge pull request #3174 from ilue/master
...
Fix for issue #3162
2018-06-26 08:09:05 +01:00
Simon Giesecke
0d66067411
Merge pull request #3168 from bluca/recv_sub_cancel
...
Problem: can't process ZMTP 3.1 cancel/subscribe commands
2018-06-25 14:00:42 +02:00
Luca Boccassi
d70714e877
Problem: can't process ZMTP 3.1 cancel/subscribe commands
...
Solution: add some msg helpers to parse commands, and check for
subscribe or cancel commands and process them accordingly in the xpub
and xsub classes.
2018-06-23 17:16:10 +01:00
Luca Boccassi
681e53f369
Problem: libstdc++ symbols exported on Debian/[Hurd|kFreeBSD]
...
Solution: use the --version-script map on those systems as well, as it
is supported
2018-06-23 17:16:10 +01:00
Luca Boccassi
8da4e9b95c
Problem: pgm_sender does not initialise all its class variables
...
Solution: do it to silence static analysis warnings
2018-06-22 22:49:58 +01:00
Luca Boccassi
40606a93fe
Problem: VMCI tests do not build
...
Solution: fix path in Makefile.am
2018-06-22 22:49:58 +01:00
Luca Boccassi
a059d904fe
Problem: binaries and artefacts missing from gitignore
...
Solution: list them
2018-06-22 22:49:58 +01:00
jamesdillonharvey
edec2244d1
update pair doc ( #3170 )
...
* update pair doc
2018-06-21 16:55:18 +01:00
Luca Boccassi
85dfca3087
Merge pull request #3167 from sigiesec/fix-clang-tidy-config-analyze
...
Fix clang-tidy configuration
2018-06-15 10:11:34 +01:00
Simon Giesecke
21ad652a1e
Problem: syntax error in shell script
...
Solution: add missing quotation marks
2018-06-15 10:00:57 +02:00
Simon Giesecke
bd8083e8b8
Problem: wrong quotation marks in .clang-tidy
...
Solution: use correct double quotes
2018-06-15 09:38:44 +02:00
ehilscher
0867c38032
Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1 ( #3163 )
...
* Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1
Solution: Add guards to prevent a reconnect timer from starting if ZMQ_RECONNECT_IVL is -1
(Issue 3158)
2018-06-12 23:23:39 +01:00
ilue
e22cd678b6
Fix #3162
2018-06-12 11:10:03 +08:00
Luca Boccassi
3a1e8f0704
Merge pull request #3159 from sigiesec/remove-superfluous-mutex
...
Problem: epoll_t employs an unnecessary mutex
2018-06-07 14:17:20 +01:00
Simon Giesecke
75e945f162
Problem: epoll_t employs an unnecessary mutex
...
Solution: remove the mutex
2018-06-06 21:41:16 +02:00
Luca Boccassi
add97caa4f
Merge pull request #3157 from kermitbu/master
...
use cmake compile the unittest
2018-06-06 13:03:07 +01:00
kermit
ba3bc3806c
compile unittests
2018-06-06 18:24:53 +08:00
Luca Boccassi
7e6792ca74
Merge pull request #3156 from sigiesec/add-cygwin64-ci
...
Add cygwin64 CI on Appveyor
2018-06-04 19:02:15 +01:00
Luca Boccassi
aee5fc2560
Merge pull request #3155 from pijyoi/wepoll_missing_files
...
wepoll integration fixes
2018-06-04 17:14:38 +01:00
KIU Shueng Chuan
5a1ea0c398
Problem: ZMQ_USE_EPOLL_CLOEXEC not renamed to new name
...
Solution: rename it
2018-06-04 23:17:57 +08:00
KIU Shueng Chuan
9ca3821d9a
Problem: incomplete wepoll filelist in Makefile.am
...
Solution: add them so that they get included in "make dist"
2018-06-04 23:12:40 +08:00
Simon Giesecke
4a18ed6778
Problem: build fails due to broken cygwin64 tests
...
Solution: allow failure of cygwin64 build
2018-06-04 15:19:13 +02:00
Simon Giesecke
eccf2e53bc
Problem: cygwin build defines ZMQ_HAVE_WINDOWS
...
Solution: do not check for windows.h on cygwin
2018-06-04 15:19:13 +02:00
Simon Giesecke
c5d422c02b
Problem: no CI for cygwin
...
Solution: add cygwin build
2018-06-04 15:19:13 +02:00
Simon Giesecke
d07ddb1bce
Merge pull request #3153 from pijyoi/autoconf_wepoll
...
Problem: not able to use wepoll in configure script
2018-06-03 11:45:44 +02:00
KIU Shueng Chuan
2336e1f170
Problem: not able to use wepoll in configure script
...
Solution: add wepoll as a polling system
2018-06-03 11:55:26 +08:00
pijyoi
c76ac5474b
fix computation of winsock fd_set size ( #3151 )
...
* fix computation of winsock fd_set size
2018-06-02 13:16:33 +01:00
Luca Boccassi
e2a4d770d8
Merge pull request #3150 from sigiesec/reduce-duplication
...
Resolve huge stack size requirements problem with select on Windows
2018-06-01 19:48:17 +01:00
Simon Giesecke
17df28d2b6
Problem: outdated information in INSTALL regarding stack size
...
Solution: removed obsolete information
2018-06-01 18:43:59 +02:00
Simon Giesecke
5ac900a984
Problem: huge size of socket_poller_t object on Windows with select polling
...
Solution: use resizable_optimized_fd_set_t
2018-06-01 18:43:58 +02:00
Simon Giesecke
4a651251a7
Problem: code duplication within socket_poller_t
...
Solution: remove duplicated code
2018-06-01 18:24:42 +02:00
Simon Giesecke
74d3d8421f
Problem: huge stack allocation with select on Windows in socket_poller_t::wait
...
Solution: use optimized_fd_set_t
2018-06-01 18:22:49 +02:00
Simon Giesecke
3d39bb9ca9
Problem: valid_pollset_bytes not reused in socket_poller
...
Solution: use it
2018-06-01 18:22:49 +02:00
Simon Giesecke
a8d62d14c1
Problem: polling utilities not at a reusable location
...
Solution: move to separate header
2018-06-01 18:22:48 +02:00
Simon Giesecke
fa8bc17ef3
Problem: CMake error on Win32 with DRAFTS disabled
...
Solution: guard CMake statement properly
2018-06-01 18:20:11 +02:00
Simon Giesecke
fc92fa897a
Problem: no non-DRAFT Windows build
...
Solution: switch one build to non-draft
2018-06-01 18:20:11 +02:00
Simon Giesecke
7c0efcb588
Problem: huge stack allocation in Windows select code
...
Solution: use fast_vector_t as in poll implementation
2018-06-01 18:20:10 +02:00
Simon Giesecke
2533ffed86
Problem: memcpy code fragment is duplicated
...
Solution: unify between Windows and non-Windows code
2018-06-01 18:19:46 +02:00
Simon Giesecke
04dedfbc2a
Problem: duplicated calculation of valid bytes in select pollset
...
Solution: extract to function
2018-06-01 18:16:46 +02:00
Simon Giesecke
e4c3297ed8
Problem: fragile handling of possibly dynamically allocated pollfds
...
Solution: extract class template fast_vector_t
2018-06-01 17:08:39 +02:00
Simon Giesecke
c6e4b0abb1
Problem: zmq_poll implementation is complex
...
Solution: extract compute_timeout method
2018-06-01 17:08:38 +02:00
Simon Giesecke
3db3bbfbbb
Problem: duplication in implementation zmq_poller_poll
...
Solution: remove duplication
2018-06-01 17:08:38 +02:00
Luca Boccassi
89e5f15ac4
Merge pull request #3149 from sigiesec/analyze
...
Few more code style fixes
2018-05-31 17:57:16 +01:00
Simon Giesecke
67b602fe76
Problem: unused variable warnings for values only used in asserts
...
Solution: use a Debug build for analysis
2018-05-31 11:25:35 +02:00
Simon Giesecke
3cb4754602
Problem: analysis job prolongs overall build
...
Solution: start analysis job first, if enabled, since it takes the longest time
2018-05-31 11:23:04 +02:00
Simon Giesecke
4604014c12
Problem: unused result of call to pull_msg
...
Solution: add TODO comment regarding handling of the result
2018-05-31 11:21:33 +02:00
Simon Giesecke
c2ba553d87
Problem: unused values stored to variable, duplicated code
...
Solution: remove duplicated and redundant code
2018-05-31 11:02:26 +02:00
Simon Giesecke
ee4cdf8bf0
Problem: suspicious use of memcmp result
...
Solution: explicitly compare result against 0
2018-05-31 11:02:26 +02:00
Luca Boccassi
6bfa91f13f
Merge pull request #3145 from sigiesec/analyze
...
More code style fixes and improvements to static analysis configuration
2018-05-31 07:59:43 +01:00
Simon Giesecke
0b8f586d8f
Merge pull request #3144 from bluca/autoconf_taut
...
Problem: autoconf checks tautological compiler flag only for C++
2018-05-30 23:25:03 +02:00
Simon Giesecke
a2f91c5509
Problem: unnecessary passing of non-const data
...
Solution: make const
2018-05-30 23:21:53 +02:00
Simon Giesecke
c641644bb2
Problem: inconsistent parameter names
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
ce4b71c3fa
Problem: cppcoreguidelines-pro-type-static-cast-downcast warnings that are not meant to be resolved
...
Solution: disable cppcoreguidelines-pro-type-static-cast-downcast warning
2018-05-30 23:21:52 +02:00
Simon Giesecke
9e6f1c9a3c
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
6fa12bd692
Problem: unused stored value warning
...
Solution: add LIBZMQ_UNUSED
2018-05-30 23:21:52 +02:00
Simon Giesecke
0f2979a38e
Problem: assignment used as condition warning
...
Solution: changed condition
2018-05-30 23:21:52 +02:00
Simon Giesecke
24edc828ab
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
88646438d2
Problem: differing parameter names between declaration and definition
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
6c67fca7e0
Problem: numerous hicpp-signed-bitwise warnings that cannot easily be solved because of externally defined types
...
Solution: disable this warning for now
2018-05-30 23:21:52 +02:00
Simon Giesecke
da4309da13
Problem: violation of parameter naming conventions
...
Solution: change to comply with naming conventions
2018-05-30 23:21:52 +02:00
Simon Giesecke
29f1f39df3
Problem: unused parameter warning
...
Solution: mark parameter as unused depending on platform definitions
2018-05-30 23:21:52 +02:00
Simon Giesecke
b59d7d574d
Problem: typo in parameter name
...
Solution: correct spelling
2018-05-30 22:52:19 +02:00
Simon Giesecke
a91c7e718c
Problem: warnings on violations of CERT ERR-58
...
Solution: declare functions noexcept
2018-05-30 22:52:19 +02:00
Simon Giesecke
0dce223341
Problem: no check if noexcept is supported by compiler
...
Solution: add compile check
2018-05-30 22:50:30 +02:00
Simon Giesecke
93194e7c53
Problem: non-portable memset
...
Solution: add dummy pointer meber to union instead
2018-05-30 22:50:30 +02:00
Simon Giesecke
9c8fde09ca
Problem: inconsistent control structures in address.cpp, redundant check for NULLness before delete
...
Solution: harmonize, remove redundant checks
2018-05-30 22:50:30 +02:00
Simon Giesecke
0179b7577a
Problem: literals protocol names used at various places
...
Solution: introduced named constants
2018-05-30 22:50:29 +02:00
Luca Boccassi
06eaf20571
Problem: autoconf checks tautological compiler flag only for C++
...
Solution: check for C as well and set the flags separately
2018-05-30 21:21:59 +01:00
Simon Giesecke
bd76926f5b
Problem: code style issues in options_t (C-style cast, suboptimal std::string::find call, redundant method is_valid)
...
Solution: resolved these issues
2018-05-30 13:13:31 +02:00
Simon Giesecke
a96a87f343
Problem: problematic atoi function is used (CERT ERR-34C)
...
Solution: use strtol instead
2018-05-30 10:35:01 +02:00
Simon Giesecke
273137741a
Problem: protected data members in ip_address_t, ip_address_mask_t violates LSP
...
Solution: make ip_address_mask_t independent of ip_address_t, they do not share that much, remove some code duplication between ip_address_t and ip_addr_t
2018-05-30 10:28:14 +02:00
Simon Giesecke
314ac28dbd
Problem: protected data member in ip_resolver_t
...
Solution: declare private
2018-05-30 10:03:55 +02:00
Simon Giesecke
573815da83
Problem: protected data member in encoder_base_t
...
Solution: encapsulate data member properly
2018-05-30 09:57:46 +02:00
Luca Boccassi
088fd65bf2
Merge pull request #3143 from sigiesec/remove-extra-files
...
Problem: temporary files in repo
2018-05-30 08:36:33 +01:00
Simon Giesecke
be8e7de6be
Problem: temporary files in repo
...
Solution: remove them
2018-05-30 09:30:00 +02:00
Luca Boccassi
c6c63481c3
Merge pull request #3142 from sigiesec/analyze
...
Remove duplication between stream_t and router_t
2018-05-29 16:47:57 +01:00
Simon Giesecke
5a343fc27b
Problem: stream_t/router_t access data member of base class
...
Solution: pull up functionality to base class
2018-05-29 15:05:27 +02:00
Simon Giesecke
ab3895a470
Problem: duplicated code in stream_t & router_t
...
Solution: pulled up to routing_socket_base_t
2018-05-29 15:05:27 +02:00
Simon Giesecke
09fab930b3
Problem: xwrite_activated duplicated between stream_t and router_t
...
Solution: pull up into routing_socket_base_t
2018-05-29 15:05:27 +02:00
Simon Giesecke
c9d6ef3035
Problem: Member outpipes is duplicate between router_t and stream_t
...
Solution: extract into common base class routing_socket_base_t, for now as protected
2018-05-29 15:05:26 +02:00
Simon Giesecke
728eddfcfd
Problem: socket_base_t::connect_routing_id is protected and only used in router_t and stream_t
...
Solution: add an intermediary base class routing_socket_base_t, move common functionality there and make connect_routing_id private
2018-05-29 15:05:26 +02:00
Simon Giesecke
25461a78dd
Problem: members of mechanmism_t are needlessly protected
...
Solution: make them private
2018-05-29 11:08:22 +02:00
Luca Boccassi
2dfdcaff26
Merge pull request #3141 from sigiesec/analyze
...
More code style improvements
2018-05-28 19:22:56 +01:00
Simon Giesecke
47dcd84f21
Problem: C-style casts
...
Solution: replace by reinterpret_casts or avoid entirely
2018-05-28 18:47:07 +02:00
Simon Giesecke
917a4a8e10
Problem: reinterpret_casts between unsigned char* and char*
...
Solution: use char* from the beginning
2018-05-28 18:47:07 +02:00
Simon Giesecke
0a43c66a32
Problem: magic literals in zap_client.cpp
...
Solution: extracted constants
2018-05-28 18:47:07 +02:00
Simon Giesecke
7c2d1c1824
Problem: magic literals for UCHAR_MAX
...
Solution: use UCHAR_MAX constant instead
2018-05-28 18:46:50 +02:00
Simon Giesecke
a4c817e736
Problem: magic number "2" in socket_base.cpp
...
Solution: calculate from field sizes
2018-05-28 18:45:41 +02:00
Simon Giesecke
d75ec5e055
Problem: produce_* functions always return 0
...
Solution: change return type to void, and remove redundant result checks
2018-05-28 17:53:46 +02:00
Simon Giesecke
7f880c256f
Problem: magic numbers and data duplication in plain_*.cpp
...
Solution: extract constants / move to plain_common.hpp
2018-05-28 17:53:46 +02:00
Simon Giesecke
8269b23e56
Problem: magic numbers and code duplication in msg.cpp
...
Solution: extract constants and unified cases
2018-05-28 17:53:44 +02:00
Simon Giesecke
18000a213f
Problem: magic numbers in mechanism_base.cpp
...
Solution: extract constants
2018-05-28 17:53:44 +02:00
Simon Giesecke
abca9f6bc1
Problem: Magic numbers in plain_server.cpp
...
Solution: introduced constants
2018-05-28 17:53:44 +02:00
Simon Giesecke
2da6629e0f
Problem: Magic numbers "1" and "100" in signaler.cpp
...
Solution: introduced constants, use std::min/std::max instead of control structures
2018-05-28 17:53:43 +02:00
Simon Giesecke
a6060674b4
Problem: Magic numbers "32" and "128" in tcp_address.cpp
...
Solution: introduced constants
2018-05-28 17:53:43 +02:00
Simon Giesecke
93e75fd695
Problem: Magic numbers "6" and "7" in null_mechanism.cpp
...
Solution: introduced constants
2018-05-28 17:53:42 +02:00
Simon Giesecke
c05db7f025
Problem: Magic numbers "1" and "6" in null_mechanism.cpp
...
Solution: introduced constants
2018-05-28 17:53:42 +02:00
Simon Giesecke
ff27dd01f0
Problem: Magic numbers "1" and "4" in mechanism.cpp
...
Solution: introduced constants
2018-05-28 17:53:42 +02:00
Simon Giesecke
7c9d058cdb
Problem: Magic number "2" in ip_resolver.cpp
...
Solution: introduced constant
2018-05-28 17:53:41 +02:00
Simon Giesecke
16bb62e6f7
Problem: ctx_t::_slots is a plain array
...
Solution: use a std::vector instead
2018-05-28 17:53:41 +02:00
Simon Giesecke
a0a60e80ca
Problem: Magic number "2" in ctx.cpp
...
Solution: introduced constant
2018-05-28 17:53:40 +02:00
Simon Giesecke
bbc903884f
Merge pull request #3140 from bluca/clang_tautological
...
Problem: build broken with clang 6 on Android NDK 17
2018-05-28 15:30:42 +02:00
Luca Boccassi
58d13395ec
Problem: clang 6 warns about comparisons on 64 bit
...
Solution: ignore tautological-constant-compare warnings, as they
might be useless on 64 bit but they are not on 32 bit where sizeof
size_t != sizeof uint64_t
2018-05-28 14:06:41 +01:00
Luca Boccassi
624c142365
Problem: static analysis warning about ifdef typo
...
Solution: fix it
2018-05-28 12:32:23 +01:00
Luca Boccassi
2d1bb07f8d
Merge pull request #3139 from sigiesec/style-improvements
...
Code style improvements
2018-05-27 15:44:27 +01:00
Simon Giesecke
779d120fa3
Problem: tests do not follow naming style
...
Solution: apply naming style
2018-05-27 13:24:08 +02:00
Simon Giesecke
d767909b50
Problem: old C-style casts used
...
Solution: replace by static_cast/reinterpret_cast
2018-05-27 13:24:07 +02:00
Simon Giesecke
e3c73d9881
Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
...
Solution: apply and check _lower_case naming style for private data members
2018-05-27 13:24:07 +02:00
Simon Giesecke
06cfd0d8ad
Problem: unclear why QueryPerformanceFrequency is called for every call of QueryPerformanceCounter
...
Solution: add a comment
2018-05-27 13:24:07 +02:00
Simon Giesecke
97ba02bc2f
Problem: redundant empty dtor
...
Solution: removed
2018-05-27 13:24:06 +02:00
Simon Giesecke
6ef67f13e3
Problem: use of C-style casts and magic literals
...
Solution: replace by static_cast, and introduce appropriate constants
2018-05-27 13:24:06 +02:00
Luca Boccassi
089746959d
Merge pull request #3137 from sigiesec/disable-parallel-testing
...
Problem: VS2008/2010/2017 tests fail if run in parallel
2018-05-26 19:19:48 +01:00
Simon Giesecke
0c74e8a0ad
Problem: cmake install is not tested
...
Solution: run cmake --build --target install instead of msbuild to build on appveyor
2018-05-26 18:56:00 +02:00
Simon Giesecke
a1efc68516
Problem: appveyor CI takes a long time
...
Solution: run some builds only on master or *full-ci* branches
2018-05-26 18:56:00 +02:00
Simon Giesecke
33ba7e14b3
Problem: VS2008/2010/2017 tests fail if run in parallel
...
Solution: disabled parallel testing for these VS versions
2018-05-26 18:56:00 +02:00
Luca Boccassi
fae88633d7
Merge pull request #3138 from sigiesec/fix-various-style-issues
...
Fix various code style issues
2018-05-26 12:08:12 +01:00
Simon Giesecke
37344d0b7c
Problem: redundant old-style void argument declarations
...
Solution: remove
2018-05-26 09:34:45 +02:00
Simon Giesecke
12a97bb769
Problem: redundant else after return
...
Solution: remove else
2018-05-26 09:34:45 +02:00
Simon Giesecke
21498700ef
Problem: integer literals assigned to bool variables
...
Solution: replace by bool literals
2018-05-26 09:34:45 +02:00
Simon Giesecke
eacc805646
Problem: complex unnecessary ternary expressions
...
Solution: simplify to comparison against 0
2018-05-26 09:34:44 +02:00
Simon Giesecke
1432011277
Problem: inconsistent local variable naming
...
Solution: configured clang-tidy check and applied fixes
2018-05-26 09:34:44 +02:00
Simon Giesecke
c581f43c97
Problem: parameter naming style inconsistent
...
Solution: define and apply parameter naming style: lower_case_
2018-05-26 09:34:44 +02:00
Luca Boccassi
79d5ac3dee
Merge pull request #3135 from sigiesec/fix-heartbeat-ttl-max
...
Fix ZMQ_HEARTBEAT_TTL maximum value check
2018-05-25 15:57:45 +01:00
Simon Giesecke
763760988f
Problem: VS2008 has no definition of UINT16_MAX
...
Solution: provide definition based on _UI16_MAX
2018-05-25 15:13:07 +02:00
Simon Giesecke
8b030a9256
Problem: no tests for corner cases of setsockopt ZMQ_HEARTBEAT_TTL
...
Solution: added tests
2018-05-25 15:13:07 +02:00
Simon Giesecke
d90e70c1cf
Problem: maximum allowed value for ZMQ_HEARTBEAT_TTL is wrong
...
Solution: use UINT16_MAX
2018-05-25 15:06:11 +02:00
Luca Boccassi
50374bf6f5
Merge pull request #3134 from sigiesec/fix-sonarcloud-component-name
...
Fix sonarcloud component name
2018-05-24 17:05:24 +01:00
Simon Giesecke
b791645a49
Problem: project key is not unique across organizations
...
Solution: prefix project key with repo name
2018-05-24 18:04:43 +02:00
Luca Boccassi
f0f029c549
Merge pull request #3132 from sigiesec/add-vs2008-vs2010-ci
...
Add CI for VS2008 and VS2010 and fix their builds
2018-05-24 17:02:57 +01:00
Simon Giesecke
653c2073de
Merge pull request #3133 from bluca/sonarqube_token
...
Problem: missing sonarqube token
2018-05-24 17:08:34 +02:00
Luca Boccassi
cf41aed29d
Problem: missing sonarqube token
...
Solution: add it
2018-05-24 16:06:08 +01:00
Luca Boccassi
1644d162fb
Merge pull request #3115 from sigiesec/analyze
...
Add static analysis
2018-05-24 16:04:31 +01:00
Simon Giesecke
6afa1cee3a
Problem: travis-ci analysis build is always run
...
Solution: configure to run only on scheduled runs or on specifically named branches
2018-05-24 16:15:58 +02:00
Simon Giesecke
51fd4b6a9d
Problem: analysis build on PR virtual merges
...
Solution: skip analysis build in install stage
2018-05-24 16:15:57 +02:00
Simon Giesecke
100745d312
Problem: appveyor analysis runs on all branches
...
Solution: restrict to specific branches
2018-05-24 16:15:57 +02:00
Simon Giesecke
51d4b00196
Problem: no clang-tidy configuration
...
Solution: add initial .clang-tidy config file
2018-05-24 16:15:30 +02:00
Simon Giesecke
7b686900f9
Problem: VS2008 build fails due to unavailable stdint.h
...
Solution: specify not to use stdint.h for VS<=2008, fixes #3025
2018-05-24 15:56:08 +02:00
Simon Giesecke
1e89a51734
Problem: broken indentation
...
Solution: fix indentation
2018-05-24 15:56:08 +02:00
Simon Giesecke
2ae0c4e2c5
Problem: unnecessarily complex inheritance hierarchy in decoders, warning C4355 with VS2010
...
Solution: make allocator a member of decoder_base_t
2018-05-24 15:17:08 +02:00
Simon Giesecke
d96a030125
Problem: no CI builds for VS2008/VS2010
...
Solution: add to appveyor jobs
2018-05-24 15:17:04 +02:00
Simon Giesecke
4d3516f634
Problem: no static analysis under Linux
...
Solution: activate clang-tidy, scan-build and sonar-scanner
2018-05-24 13:44:46 +02:00
Simon Giesecke
2b31e50b01
Problem: No static analysis under Windows
...
Solution: Enable VS static analyzer and core guideline checks
2018-05-24 13:44:45 +02:00
Luca Boccassi
edd9a0c5c8
Merge pull request #3130 from sigiesec/fix-automake
...
Problem: autotools build broken
2018-05-24 09:22:26 +01:00
Simon Giesecke
b6d36c92a2
Problem: autotools build broken
...
Solution: fix directory reference
2018-05-24 09:09:39 +02:00
Luca Boccassi
f3e7911dd6
Merge pull request #3127 from sigiesec/integrate-wepoll
...
Support epoll polling under Windows with wepoll
2018-05-23 21:15:56 +01:00
Luca Boccassi
a6cfbca3ac
Merge pull request #3128 from sigiesec/fix-test-inproc-connect
...
Problem: test_context_socket is not thread-safe
2018-05-23 18:47:07 +01:00
Simon Giesecke
06e0c0776d
Problem: cmake run is very slow with MSVC
...
Solution: skip tests than can never succeed with MSVC
2018-05-23 18:13:22 +02:00
Luca Boccassi
013958299b
Merge pull request #3129 from sigiesec/deprecate-msvc-sln-builds
...
Problem: prepared Visual Studio solution files are hard to maintain and redundant with CMake builds
2018-05-23 16:47:08 +01:00
Simon Giesecke
64f2b100da
Problem: test_context_socket is not thread-safe
...
Solution: use regular zmq_socket instead in thread functions
2018-05-23 17:32:27 +02:00
Simon Giesecke
af6d70ec72
Problem: prepared Visual Studio solution files are hard to maintain and redundant with CMake builds
...
Solution: declare them as deprecated
2018-05-23 17:26:28 +02:00
Simon Giesecke
9df851225a
Problem: test_radio_dish takes time near timeout
...
Solution: increase timeout
2018-05-23 16:31:05 +02:00
Simon Giesecke
945c79de67
Problem: test cases setting ZMQ_MULTICAST_LOOP to false fail on Windows
...
Solution: disable test cases
2018-05-23 16:26:52 +02:00
Simon Giesecke
57ef8e2e3e
Problem: custom test ignore
...
Solution: use unity mechanism for ignoring with message
2018-05-23 16:26:52 +02:00
Simon Giesecke
2bdf86d6c2
Problem: timeout on test_many_sockets with epoll
...
Solution: increase timeout, remove timeout settings for unsupported poll poller
2018-05-23 16:26:52 +02:00
Simon Giesecke
275a89ac3c
Problem: test_many_sockets does not show number of sockets that could be created
...
Solution: add diagnostic output
2018-05-23 16:25:08 +02:00
Simon Giesecke
bd129e78ff
Problem: test assertion unnecessary complex
...
Solution: use TEST_ASSERT_FAILURE_ERRNO
2018-05-23 16:25:08 +02:00
Simon Giesecke
f5aec6fb27
Problem: no CI build with epoll under Windows
...
Solution: add epoll build job
2018-05-23 16:25:07 +02:00
Simon Giesecke
082b6aa641
Problem: epoll not supported under Windows
...
Solution: Use wepoll on Windows
2018-05-23 16:25:07 +02:00
Simon Giesecke
c62df64bc2
Problem: wepoll source not in repository
...
Solution: import wepoll 1.5.0 source
2018-05-23 16:25:07 +02:00
Luca Boccassi
b56e7f13c5
Merge pull request #3126 from sigiesec/migrate-test-inproc-connect
...
Problem: test_inproc_connect not using test framework
2018-05-23 14:54:33 +01:00
Luca Boccassi
3730833f9d
Merge pull request #3125 from sigiesec/improve-socket-inheritance
...
Improve socket inheritance handling
2018-05-23 13:50:39 +01:00
Simon Giesecke
fdfa907187
Problem: test_inproc_connect not using test framework
...
Solution: migrate to unity
2018-05-23 13:48:58 +02:00
Simon Giesecke
2d9a8955f5
Problem: race condition in making socket non-inheritable
...
Solution: create sockets with WSA_FLAG_NO_HANDLE_INHERIT
2018-05-23 11:23:33 +02:00
Simon Giesecke
44da0e7e42
Problem: code duplication in making sockets non-inheritable
...
Solution: extracted make_socket_noninheritable function
2018-05-23 11:23:33 +02:00
Simon Giesecke
c432aada84
Problem: inconsistent error handling and unnecessary code duplication
...
Solution: make error handling consistent and use retired_fd to remove code duplication
2018-05-23 11:23:33 +02:00
Luca Boccassi
44b0753c5c
Merge pull request #3047 from acsearle/master
...
Allow EBADF on iOS #3046
2018-05-23 09:56:32 +01:00
Luca Boccassi
d02ba13576
Merge pull request #3122 from sigiesec/test-migrations
...
Migrated some more tests to unity and fixed some more code style issues
2018-05-22 20:37:34 +01:00
Luca Boccassi
6c106d3930
Merge pull request #3121 from sigiesec/split-poller-config
...
Split poller config and disable 'poll' poller on Windows for I/O thread polling
2018-05-22 19:31:05 +01:00
Simon Giesecke
440be28d7e
Problem: unnecessary non-const variables
...
Solution: add const
2018-05-22 18:46:40 +02:00
Simon Giesecke
d6952ded71
Problem: unused include directives and redundant forward declarations
...
Solution: removed
2018-05-22 18:46:40 +02:00
Simon Giesecke
04ec6aaf28
Problem: malloc call may fail
...
Solution: add alloc_assert
2018-05-22 18:46:40 +02:00
Simon Giesecke
18eabed6ea
Problem: I/O thread poll poller build unsupported
...
Solution: use API_POLLER=poll instead of POLLER=poll
2018-05-22 18:36:04 +02:00
Simon Giesecke
d326434b37
Problem: API poller cannot be set independently from I/O thread poller, poll I/O thread poller broken on Windows
...
Solution: change platform definitions to separate API poller from I/O thread poller, disallow configuring poll I/O thread poller on Windows
2018-05-22 18:36:04 +02:00
Simon Giesecke
ad100b0b9f
Problem: test_xpub_nodrop not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:18 +02:00
Simon Giesecke
f13377de05
Problem: test_pub_invert_matching failing
...
Solution: insert some sleeps to remedy timing dependencies
2018-05-22 18:33:18 +02:00
Simon Giesecke
12c6ae2283
Problem: test_pub_invert_matching not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:18 +02:00
Simon Giesecke
fa467d3425
Problem: test_hwm_pubsub not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:17 +02:00
Simon Giesecke
ee85957dc4
Problem: no test case for polling pending connect that ultimately fails
...
Solution: added test case, reproduces the likely cause for #3107
2018-05-22 18:21:06 +02:00
Bill Torpey
8ad0d5896e
prevent duplicate connections from PUB sockets also (see https://gith … ( #3117 )
...
* Update zmq_connect documentation to mention issue of multiple connects to the same endpoint
2018-05-22 16:05:32 +01:00
Luca Boccassi
c178193c50
Merge pull request #3116 from sigiesec/fix-some-more-style-issues
...
Fix some more code style issues
2018-05-18 17:53:34 +01:00
Simon Giesecke
4e616f30dd
Problem: C-style casts used
...
Solution: replace by C++-style casts
2018-05-18 17:04:01 +02:00
Simon Giesecke
d002eb5578
Problem: analyzer does not know that zmq_abort does not return
...
Solution: add no-return attributes
2018-05-18 16:25:24 +02:00
Simon Giesecke
7b3acd47b2
Problem: malloc may fail in blob_t ctors
...
Solution: add alloc_assert calls
2018-05-18 16:25:24 +02:00
Simon Giesecke
9da0c6d62f
Problem: goto jumping backwards
...
Solution: replace by for loop
2018-05-18 14:34:43 +02:00
Simon Giesecke
62e48f837d
Problem: assignment within complex condition
...
Solution: restructured code, inverted condition
2018-05-18 14:34:43 +02:00
Simon Giesecke
fcee4ccdfd
Problem: type of retired_fd is not fd_t (but int)
...
Solution: properly declared underlying type of enum declaring retired_fd
2018-05-18 14:34:43 +02:00
Simon Giesecke
f103f62630
Problem: unreachable return statement
...
Solution: fix #if/#else structure
2018-05-18 14:34:42 +02:00
Simon Giesecke
290d215324
Problem: stream_engine assumes options_t.type is a single byte, but its type is int
...
Solution: change options_t.type to int8_t
2018-05-18 14:34:42 +02:00
Luca Boccassi
6a5051fac3
Merge pull request #3114 from sigiesec/fix-some-style-issues
...
Fix some code style issues
2018-05-17 15:43:20 +01:00
Simon Giesecke
e19823d83a
Problem: redundant else
...
Solution: remove redundant else
2018-05-17 15:17:55 +02:00
Simon Giesecke
ad781319ef
Problem: ternary operator used with boolean literals\n\nSolution: Use comparison with 0 instead
2018-05-17 15:17:55 +02:00
Simon Giesecke
22b72bb678
Problem: deallocate calls release after de-allocation
...
Solution: reduce to newly extracted function clear, which does not use the freed pointer
2018-05-17 15:05:41 +02:00
Simon Giesecke
e37fc47fb6
Problem: return value is stored but never used
...
Solution: add code to make non-use explicit
2018-05-17 15:05:41 +02:00
Simon Giesecke
2120f6aced
Problem: ypipe_t::read is called with NULL argument
...
Solution: call check_read instead
2018-05-17 15:05:41 +02:00
Simon Giesecke
440d428153
Problem: single-argument ctor of blob_t is not marked explicit
...
Solution: add explicit
2018-05-17 13:29:27 +02:00
Antony Searle
fa027970bb
Allow EBADF on iOS #3046
2018-05-16 14:59:44 +10:00
Luca Boccassi
cbd52feb48
Merge pull request #3112 from devindusoft/FixCompilation_ZMQ_ATOMIC_PTR_MUTEX
...
Fixed compilation with ZMQ_ATOMIC_PTR_MUTEX
2018-05-15 15:10:49 +01:00
Luca Boccassi
6a9c6d427f
Merge pull request #3111 from sigiesec/win-draft-fix-and-migrate-test
...
Reenable DRAFT builds on Appveyor and fix test_radio_dish_udp_ipv6
2018-05-15 15:08:56 +01:00
Simon Giesecke
e78d20ff2c
Problem: test_radio_dish_udp_ipv6 triggers assertion under Windows
...
Solution: fix handling of sockaddr in recvfrom
2018-05-15 14:53:40 +02:00
Simon Giesecke
dd1c87f9d9
Problem: type mismatch errors/warnings in Windows build
...
Solution: fix types
2018-05-15 14:53:40 +02:00
Simon Giesecke
10cb710ab8
Problem: appveyor builds do not build DRAFT
...
Solution: set ENABLE_DRAFTS=ON
2018-05-15 14:53:40 +02:00
Luca Boccassi
7953083617
Merge pull request #3109 from sigiesec/migrate-test-spec-dealer-to-unity
...
Problem: test_spec_dealer not using test framework
2018-05-15 13:25:18 +01:00
Simon Giesecke
b30cbfc112
Problem: test_spec_dealer not using test framework
...
Solution: migrate to Unity
2018-05-15 13:58:08 +02:00
korbes
63e1e745f8
Fixed compilation with ZMQ_ATOMIC_PTR_MUTEX
2018-05-14 22:08:15 -03:00
Luca Boccassi
d81a041f18
Merge pull request #3103 from sigiesec/win-warnings-as-errors
...
Warnings in Windows builds
2018-05-14 22:53:04 +01:00
Simon Giesecke
d437d668c0
Problem: MSVC warnings in connection with poll
...
Solution: handle types properly
2018-05-14 22:25:21 +02:00
Simon Giesecke
e447f058e2
Problem: C4244 warnings regarding SOCKET vs. int in test_system
...
Solution: Use fd_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
106127b5d6
Problem: C4267 warnings in test_stream_disconnect
...
Solution: Use size_t instead of int
2018-05-14 21:09:57 +02:00
Simon Giesecke
5ca0d4e8a9
Problem: C4267 warnings in test_spec_router
...
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
69a6b86310
Problem: C4267 warning test_spec_pushpull
...
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
3cbc7cb0dc
Problem: C4244 warnings regarding SOCKET vs. int in test_security_null and test_security_plain
...
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
3ee65906af
Problem: various warnings regarding SOCKET vs. int in test_security_curve
...
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
28631d1cd3
Problem: C4550 warning in testutil_security
...
Solution: explicitly compare function pointer against NULL
2018-05-14 19:18:43 +02:00
Simon Giesecke
b0c3a42ed2
Problem: C4800 warnings in unittest_ip_resolver.cpp
...
Solution: make proper boolean expression
2018-05-14 19:18:42 +02:00
Simon Giesecke
c589f2b603
Problem: C4800 warning in socket_base.cpp
...
Solution: make proper boolean expression
2018-05-14 19:18:37 +02:00
Simon Giesecke
c52871f82c
Problem: C4627 warning in proxy.cpp and signaler.cpp
...
Solution: move conditional include directive to precompiled.hpp
2018-05-14 18:07:13 +02:00
Simon Giesecke
a8095a1046
Problem: C4800 warning in ip_resolver.cpp
...
Solution: fix type specification
2018-05-14 18:07:13 +02:00
Simon Giesecke
95c770a275
Problem: C4099 warning in udp_engine.cpp
...
Solution: fix type specification
2018-05-14 17:17:11 +02:00
Simon Giesecke
d7e99085ef
Problem: Warnings in Windows builds
...
Solution: enable warnings-as-errors
2018-05-14 17:17:10 +02:00
Luca Boccassi
6092431b97
Merge pull request #3100 from sigiesec/fix-poller-invalid-events
...
Problem: zmq_poller_[add/modify] accept invalid events arguments silently
2018-05-14 15:26:19 +01:00
Simon Giesecke
8ad43907e6
Merge pull request #3101 from bluca/heartbeat_disabled
...
Problem: heartbeat tests are disabled
2018-05-14 15:05:29 +02:00
Simon Giesecke
bf6bde3ae3
Problem: unnecessary ifdefs regarding handling of int vs. SOCKET at various places
...
Solution: use a typedef instead
2018-05-14 14:58:36 +02:00
Simon Giesecke
e8877f78a9
Problem: zmq_poller_[add/modify] accept invalid events arguments silently
...
Solution: check and return an error on invalid arguments. Fixes #3088
2018-05-14 14:58:36 +02:00
Luca Boccassi
eac265059d
Problem: heartbeat tests are disabled
...
Solution: re-enable them
2018-05-14 13:41:39 +01:00
Simon Giesecke
6b9b369469
Problem: zmq_poller_* argument check code is cloned
...
Solution: extract common code into functions
2018-05-14 14:34:46 +02:00
Luca Boccassi
54aff77475
Merge pull request #3096 from sigiesec/add-poller-docs
...
Add poller docs
2018-05-14 11:10:10 +01:00
Simon Giesecke
4fea7184dc
Problem: man zmq_poller_* not working
...
Solution: add symlinks to zmq_poller.txt
2018-05-14 11:29:24 +02:00
Simon Giesecke
f4b1cae082
Problem: no documentation for zmq_poller_*
...
Solution: add initial documentation
2018-05-14 11:29:24 +02:00
Simon Giesecke
213254cca5
Problem: inconsistent behaviour of zmq_poller_new in case of memory exhaustion
...
Solution: return NULL and set errno to ENOMEM
2018-05-14 11:29:24 +02:00
Simon Giesecke
2cd147e5ff
Problem: misleading comment for calling zmq_poller_add with events == 0
...
Solution: change comment, and add test case for zmq_poller_modify with events == 0
2018-05-14 11:29:24 +02:00
Simon Giesecke
00d25b7873
Problem: inconsistent behaviour of zmq_poller_add and zmq_poller_add_fd in case of memory exhaustion
...
Solution: always return -1 with errno == ENOMEM
2018-05-14 11:29:24 +02:00
Luca Boccassi
0a037a7431
Merge pull request #3097 from sigiesec/ping-context
...
ZMTP 3.1 PING Context not implemented
2018-05-14 09:55:41 +01:00
Simon Giesecke
be66eacf5c
Problem: test_heartbeats still using plain assertions
...
Solution: migrate to unity assertions
2018-05-14 10:14:32 +02:00
Luca Boccassi
b331caad06
Problem: ZMTP 3.1 PING Context not implemented
...
Solution: if a PING message contains a context, echo it back in the
PONG message. In order to do so, create the PONG message when PING
is received and store it in the engine.
After the PING the engine goes straight to encoding and sending, so
there can always be at most one pending PING.
Add tests for various contexts.
2018-05-14 10:14:13 +02:00
Luca Boccassi
5482b1ca45
Problem: heartbeat command parsing does not check command name size
...
Solution: treat the first byte of the command body as the size of the
command name, rather than as an id, to comply with ZMTP 3.1.
This was not an actual problem at runtime since both heartbeat
commands have a size of 4, which was treated like an id.
But once SUBSCRIBE/UNSUBSCRIBE get implemented it needs to be checked.
2018-05-14 09:15:39 +02:00
Luca Boccassi
ba9274c39a
Problem: test_heartbeats mocked ZMQ_REP is hacky and fragile
...
Solution: remove it, it doesn't add much value anyway
2018-05-14 09:15:38 +02:00
Simon Giesecke
f218478237
Problem: test_heartbeats use no test framework
...
Solution: migrate to unity
2018-05-14 09:15:38 +02:00
Simon Giesecke
df2fe88b92
Merge pull request #3095 from bluca/sunstudio_linux
...
Problem: building on Linux with Sun Studio still fails
2018-05-13 21:21:50 +02:00
Luca Boccassi
09f700f72e
Problem: uninitialised class variable warning
...
Solution: initialise it
2018-05-13 18:24:50 +01:00
Luca Boccassi
7ba074fa28
Problem: Sun Studio build errors
...
Solution: add compiler flags to support extensions like anonymous
structs in unions, fix casting of const, and check for suncc rather
than solaris
2018-05-13 18:24:50 +01:00
Simon Giesecke
cdb54d248b
Merge pull request #3094 from simias/mcast-if
...
Problem: no way to specify source interface for UDP multicast sender …
2018-05-13 18:47:59 +02:00
Lionel Flandrin
a833ace204
Problem: no way to specify source interface for UDP multicast sender sockets
...
Solution: if a binding interface is provided in the sender URL we pass
it to IP[V6]_MULTICAST_IF setsockopt
2018-05-13 18:32:12 +02:00
Luca Boccassi
f6e528443e
Merge pull request #3093 from simias/fix-aliasing
...
Problem: test_radio_dish triggers aliasing errors with some compilers
2018-05-13 16:31:49 +01:00
Lionel Flandrin
4eb6786347
Problem: test_radio_dish triggers aliasing errors with some compilers
...
Solution: refactor the test code to work around aliasing issues
2018-05-13 17:05:05 +02:00
Simon Giesecke
21f642fa4f
Merge pull request #3092 from bluca/solaris_studio
...
Problem: build broken on Solaris with Sun Studio compilers
2018-05-13 15:05:16 +02:00
Luca Boccassi
c5b7f4f536
Problem: test_system info output hidden on Solaris
...
Solution: change the ifdef to always print on any Unix, as they
all have ulimit
2018-05-13 13:19:07 +01:00
Luca Boccassi
510a42c3d5
Problem: test_system fails on Solaris due to lower file limit
...
Solution: use a different max socket value on Solaris, where the
default limit is 256 instead of 1024
2018-05-13 13:18:08 +01:00
Luca Boccassi
b78cfb2395
Problem: mismatching declarations and definitions break Solaris Studio build
...
Solution: add missing const qualifier to internal functions
2018-05-13 13:17:20 +01:00
Luca Boccassi
8b82ed50a2
Problem: Solaris Studio does not convert from char * to string
...
Solution: do it explicitly to fix build on Solaris 10/11 with the Sun
compiler
2018-05-13 13:16:37 +01:00
Simon Giesecke
3d9c119543
Problem: compilation broken on Solaris
...
Solution: remove constness on pair arguments. Fixes #3090
2018-05-13 13:15:32 +01:00
Luca Boccassi
15e8de2f88
Merge pull request #3091 from sigiesec/fix-warnings-msvc
...
Problem: warnings in MSVC builds around size_t/int
2018-05-13 12:11:05 +01:00
Simon Giesecke
d6433b5c24
Problem: warnings in MSVC builds around size_t/int
...
Solution: use proper types
2018-05-13 11:11:19 +02:00
Simon Giesecke
5fe783070b
Merge pull request #3085 from bluca/getrandom_test
...
Problem: getrandom test does not check if it's working
2018-05-11 09:51:43 +02:00
Luca Boccassi
0f896fcd36
Merge pull request #3087 from simias/mcast_loop
...
Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
2018-05-10 19:10:28 +01:00
Lionel Flandrin
4b635c3d06
Problem: documentation for zmq_udp is outdated
...
Solution: update to document new binding options and IPv6 support
2018-05-10 19:24:48 +02:00
Lionel Flandrin
99412c810d
Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
...
Solution: add a new ZMQ_MULTICAST_LOOP option for UDP sockets.
2018-05-10 19:24:46 +02:00
Luca Boccassi
e9211aed2c
Merge pull request #3086 from simias/warning-fix
...
Problem: test helper recv_string_expect_success ignores flags
2018-05-10 11:15:01 +01:00
Lionel Flandrin
f9c30f3e19
Problem: test helper recv_string_expect_success ignores the flags argument
...
Solution: pass the flags to zmq_recv
2018-05-10 11:43:47 +02:00
Luca Boccassi
3c2656eb52
Merge pull request #3081 from simias/udp_ipv6
...
UDP Ipv6 support
2018-05-09 13:01:06 +01:00
Lionel Flandrin
b0df4be51c
Problem: UDP engine does not support IPv6
...
Solution: Add IPv6 support
2018-05-09 12:06:23 +02:00
Luca Boccassi
4ff814f204
Problem: getrandom test does not check if it's working
...
Solution: check return value in autoconf and CMake. On some platforms
the function is available but not implemented (eg: GNU/Hurd).
2018-05-09 10:41:20 +01:00
Luca Boccassi
7aba6821ac
Merge pull request #3084 from jorikcaljouw/new_fix_vs2015
...
Add ip_resolver.cpp and ip_resolver.hpp for vs2015 libzmq project
2018-05-08 13:17:33 +01:00
Jorik Caljouw
45b0ff59ff
Add ip_resolver.cpp and ip_resolver.hpp for vs2015 libzmq project
2018-05-08 14:04:05 +02:00
Constantin Rack
b9ba36389d
Merge pull request #3083 from asafkahlon/master
...
acinclude.m4: check if -latomic is needed.
2018-05-07 22:25:41 +02:00
Asaf Kahlon
2ec5a33f6e
acinclude.m4: check if -latomic is needed.
...
On some cases, -latomic is needed for likning, and since the current
acinclude.m4 checks only compilation we can sometimes miss the need for -latomic
and the linking process will fail.
Therefore, the AC_CHECK_IFELSE was replaced with AC_LINK_IFELSE. If the first
try fails, we try to link again with -latomic and add LIBS="-latmoic" in case we
succeeded.
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2018-05-07 22:02:25 +03:00
Luca Boccassi
363fa7892d
Merge pull request #3078 from simias/mcast_bind
...
Mcast bind
2018-05-04 14:22:53 +01:00
Lionel Flandrin
746d4a0f5e
Problem: UDP transport doesn't let the user specify the local bind address
...
for multicast
Solution: augment the UDP URL syntax to accept an interface specifier with a
syntax similar to the PGM urls.
Fixes #2212
2018-05-04 14:36:18 +02:00
Lionel Flandrin
524affc4c3
Problem: UDP address parser uses ad hoc code to detect multicast address
...
Solution: factor the code into ip_resolver, add IPv6 support and unit tests.
2018-05-04 10:44:01 +02:00
Luca Boccassi
1bb1029bd1
Merge pull request #3075 from simias/udp_parser
...
Udp parser
2018-05-03 14:40:37 +01:00
Lionel Flandrin
2dc8579412
Problem: the UDP address code uses an ad hoc custom parser
...
Solution: replace it with the ip_resolver code shared with the TCP
address code
It simplifies the UDP parsing code and makes it behave more like the
TCP counterpart, in particular it's not possible to connect to hosts
by name and bind by NIC names.
It also adds support for "*" port resolving to 0 (useful to let the OS
allocate the port number).
2018-05-03 14:22:48 +02:00
Lionel Flandrin
0b36b84243
Problem: no unit tests for udp_address.cpp
...
Solution: add unit tests
2018-05-03 14:22:42 +02:00
Luca Boccassi
801559c504
Merge pull request #3077 from simias/port_check
...
Problem: ip_resolver allows wildcard ports for non-bindable sockets
2018-05-03 13:07:37 +01:00
Lionel Flandrin
406c348771
Problem: ip_resolver allows wildcard ports for non-bindable sockets
...
Solution: return an error in this situation but still allow using an explicit
"0" if somebody really wants to connect to port 0.
This shouldn't break any existing code because a "*" port was already rejected
in an early test in the TCP path in zmq::socket_base_t::connect.
2018-05-03 13:19:22 +02:00
Luca Boccassi
889ac2eb3d
Merge pull request #3074 from simias/author
...
Add me to AUTHORS + RELICENSE file
2018-05-02 18:27:27 +01:00
Lionel Flandrin
e027c80ed3
Added simias.md to RELICENSE
2018-05-02 19:24:20 +02:00
Lionel Flandrin
142ee305e7
Add Lionel Flandrin to AUTHORS
2018-05-02 19:24:07 +02:00
Luca Boccassi
5f7c9c43f5
Merge pull request #3070 from simias/ip_refactor_clean
...
Problem: address parsing code is tied to the TCP code
2018-05-02 18:05:06 +01:00
Lionel Flandrin
4cd2c2ebf8
Problem: address parsing code is tied to the TCP code
...
Solution: Factor the code into a different file with a well defined API and add
unit tests.
2018-05-02 18:06:01 +02:00
Simon Giesecke
6160da5dbe
Merge pull request #3068 from bluca/appveyor_cache
...
More attempts to speed up Appveyor
2018-04-30 20:21:54 +02:00
Luca Boccassi
578c255f4f
Problem: Appveyor VS 2015/17 images are single-core
...
Solution: use 2013 images for all builds bar 2, to test newer versions
2018-04-30 16:29:16 +01:00
Luca Boccassi
2af2701ba6
Problem: Appveyor rebuilds libsodium every time
...
Solution: cache the git repository and build directory
2018-04-29 22:41:39 +01:00
Luca Boccassi
09d951ada3
Problem: Appveyor runs test sequentially
...
Solution: add -j flag to run them in paralle, cuts test runtime
from ~80 to ~20 seconds
2018-04-29 22:14:05 +01:00
Luca Boccassi
e5eab4b91f
Problem: CMake parallel build not enabled for C files
...
Solution: set the equivalent flag
2018-04-29 22:14:05 +01:00
Luca Boccassi
5210fa4e8d
Merge pull request #3066 from AxelNennker/patch-3
...
Update android_build_helper.sh
2018-04-29 17:19:08 +01:00
Luca Boccassi
d47726ae41
Merge pull request #3065 from AxelNennker/patch-2
...
Update README.md
2018-04-29 17:00:28 +01:00
Axel Nennker
1d25658332
Update android_build_helper.sh
...
Minimum platform for arm is android-14
2018-04-29 17:56:16 +02:00
Axel Nennker
d36c1ca5e0
Update README.md
...
added missing = to export VARIABLE=VALUE
2018-04-29 17:52:31 +02:00
Luca Boccassi
9e4447f8e6
Merge pull request #3064 from AxelNennker/patch-1
...
use HTTPS when downloading a binary before excuting it check hashes
2018-04-29 16:19:49 +01:00
Axel Nennker
990268e1db
use HTTPS when downloading a binary before excuting it check hashes
...
Changed the download URL to use HTTPS.
Provided the hashes for version r10e
Replaces /home/zmq by $HOME
2018-04-29 17:18:38 +02:00
Doron Somech
046689bbe7
Merge pull request #3063 from bluca/heartbeat
...
Problem: heartbeat commands break REP session, unclear documentation
2018-04-28 18:41:46 +03:00
Luca Boccassi
4a4c6c27e4
Problem: heartbeat tests only cover ROUTER/DEALER
...
Solution: check more socket type to cover other session managers.
Increase timeout as the test now takes ~12 seconds.
2018-04-28 15:49:54 +01:00
Luca Boccassi
cae6434345
Problem: HEARTBEAT command breaks REQ connection
...
Solution: ignore command messages in the REQ session to avoid
disrupting the state machine.
Commands are handled by the engine before handing off to the session.
2018-04-28 15:25:24 +01:00
Luca Boccassi
cdf5566108
Problem: default ZMQ_HEARTBEAT_TIMEOUT when enabled not documented
...
Solution: mention in manpage that if the timeout is not set and the
interval is, the timeout will be equal to the interval
2018-04-28 11:47:21 +01:00
Luca Boccassi
55be8f1c2f
Merge pull request #3058 from dwijnand/patch-1
...
Fix formatting in CONTRIBUTING
2018-04-27 18:06:05 +01:00
Dale Wijnand
e6dc9605a5
Fix formatting in CONTRIBUTING
...
Avoids the git instructions being all on one line.
2018-04-27 17:57:07 +01:00
Luca Boccassi
69a894e1cb
Merge pull request #3055 from dennisklein/master
...
Install relocatable dylibs (MacOS)
2018-04-25 19:47:22 +01:00
Dennis Klein
0dda63660e
Install relocatable dylibs (MacOS)
...
Problem: When building libzmq with CMake, the installed libzmq.dylib
has a relative install name (otool -D libzmq.dylib) on MacOS. This
is a regression against building via autotools which sets an
absolute install name. Effectively, the CMake built libzmq.dylib
is rendered useless if installed in non-system directories and
used in environments without explicit DYLD_LIBRARY_PATH mgmt. For
example running any of the installed executables currently fails:
$ /some_install_prefix/bin/inproc_lat
dyld: Library not loaded: libzmq.5.dylib
Referenced from: /some_install_prefix/bin/inproc_lat
Reason: image not found
Trace/BPT trap: 5
Solution: Best practice is to install relocatable dylibs.
On MacOS this means setting an install name with a special prefix,
e.g. @rpath/libzmq.dylib, and adding the relevant search paths
to the embedded rpath list. In this patch the necessary CMake options
are added to generate the desired relocatable dylibs. Find more
information on: https://cmake.org/Wiki/CMake_RPATH_handling .
2018-04-25 20:18:42 +02:00
Doron Somech
7f230b12fe
Merge pull request #3053 from bluca/draft_doc
...
Problem: Server-client not marked as DRAFT in manpage
2018-04-23 20:17:10 +03:00
Luca Boccassi
c027255329
Problem: Server-client not marked as DRAFT in manpage
...
Solution: add note like for radio-dish
Fixes : #3050
2018-04-23 18:13:16 +01:00
Luca Boccassi
54fd20afdf
Merge pull request #3049 from maksqwe/fix_fd_cast
...
Fix fd_t variable casting on Windows platform
2018-04-19 11:04:04 +01:00
Maks Naumov
989dfc7801
Fix fd_t variable casting on Windows platform
...
event_accepted() already accepts fd_t type and there is no reason to cast it to int type
Moreover, on Windows x64 this leads to truncation memsize -> int
2018-04-19 12:38:06 +03:00
Luca Boccassi
c971445025
Merge pull request #3045 from asafkahlon/fix-configure-dladdr-check
...
configure.ac: serach for dladdr only on libunwind
2018-04-14 21:13:05 +01:00
Asaf Kahlon
ce2f87970d
configure.ac: serach for dladdr only on libunwind
...
The original configure.ac tries to check for dladdr, but it actually needs
it only in case we have libunwind (which has a another section and checks for it
too).
This can fail the build on systems without dynamic linking support.
Therefore, the dladdr check has to be preformed only when checking libunwind.
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2018-04-14 22:29:49 +03:00
asafkahlon
8e8009ec5d
Implement the wsa_error_no function with switch-case ( #3044 )
...
* Implement the wsa_error_no function with switch-case
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2018-04-13 15:16:54 +01:00
Steffen Wittmeier
bb4fb32925
CMake: Linker PDB install rule does not work when Visual Studio generators are used ( #3040 )
...
* Fixes issues with the PDB install rule for VS solutions
* Fix for compile PDB and linker PDB under Windows
2018-04-04 10:48:36 +01:00
Luca Boccassi
02eefb41ad
Merge pull request #3039 from msune/refix_pedantic_warnings
...
Problem: C++ style comments in header file breaks pedantic build
2018-04-03 22:31:26 +01:00
Marc Sune
c7d602a29b
Problem: C++ style comments in header file breaks pedantic build
...
Solution: change missing comments in header file
Fixes : #3036 and adds on top of '15905c5'
2018-04-03 22:58:36 +02:00
Simon Giesecke
efc9efc42f
Merge pull request #3037 from bluca/tweetnacl_pedantic
...
Problem: C++ style comments in C file breaks pedantic build
2018-04-03 09:32:46 +02:00
Luca Boccassi
15905c5561
Problem: C++ style comments in C file breaks pedantic build
...
Solution: change comments
Fixes : #3036
2018-04-02 21:52:01 +01:00
Luca Boccassi
2aa54d6620
Merge pull request #3029 from sigiesec/fix-poller-context-shutdown
...
Fix assertion failure when calling zmq_poller_destroy after zmq_ctx_term
2018-03-28 11:27:57 +01:00
Simon Giesecke
f571c22851
Problem: socket_poller destruction after context shutdown is only tested with a non-thread-safe socket
...
Solution: test with both thread-safe and non-thread-safe sockets
2018-03-28 11:23:08 +02:00
Simon Giesecke
87fbb5c447
Problem: socket poller shutdown asserts when context is terminating
...
Solution: do not call getsockopt to query thread-safety of a socket
2018-03-28 11:23:08 +02:00
Simon Giesecke
32c8abb1d8
Problem: regression when zmq_poller_destroy is called after zmq_ctx_term
...
Solution: Added test case to reproduce, not solving the problem!
2018-03-28 10:53:16 +02:00
Simon Giesecke
ef6162ab77
Merge pull request #3027 from bluca/cmake_format
...
Problem: clang-format Travis job broken
2018-03-28 09:41:17 +02:00
Luca Boccassi
099070c396
Problem: clang-format Travis job broken
...
Solution: don't run configure
2018-03-27 21:53:47 +01:00
Min RK
8fb5b10d8a
Problem: make dist
results are not tested ( #3024 )
...
* always run tests from tarball of `make dist`
ensures that tests will not pass if critical files are omitted from releases
* add explicit make dist only for non-default builds
distcheck should already cover this for default builds
* don’t verify that valgrind/coverage tests can be run from dists
* add various files missing from dists
- missing template from cmake
- add missing android build files
- add some missing ci_build.sh scripts
2018-03-27 17:36:30 +01:00
Constantin Rack
c8a1c4542d
Merge pull request #3020 from bluca/newver
...
Problem: 4.2.5 is out, we need to restore API changes and 4.3.x
2018-03-23 22:28:59 +01:00
Luca Boccassi
6f26a33359
Problem: 4.2.5 is out, we need to restore API changes and 4.3.x
...
Solution: revert the revert!
Revert "Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5"
This reverts commit 5f17e26fa4c60c3de0282d1b6ad1e8b7037ed57a.
2018-03-23 19:31:42 +00:00
Luca Boccassi
d062edd8c1
Finalise changelog for 4.2.5
2018-03-23 19:23:22 +00:00
Constantin Rack
d70981f54d
Merge pull request #3019 from bluca/newver
...
Problem: regression in 4.2.3 needs to be fixed before 4.3
2018-03-23 20:13:00 +01:00
Luca Boccassi
a66a9d9e8d
Problem: want to release 4.2.5 but no NEWS
...
Solution: note bug fixes
2018-03-23 11:27:07 +00:00
Luca Boccassi
5f17e26fa4
Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5
...
Solution: revert DRAFT -> STABLE API transition so that we can do a
bugfix-only 4.2.5 release.
Will be re-reverted once tagged.
Revert "Problem: ZMQ_BINDTODEVICE has met STABLE conditions"
This reverts commit 3cb79f5042cf32cdb7b1b58d4acf17eba85ec9f7.
Revert "Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions"
This reverts commit 374da4207b8034b0fcd67a2cc2165d50e09b9387.
Revert "Problem: ZMQ_MSG_T_SIZE has met STABLE conditions"
This reverts commit 6411c4a247c08ead50919d16b30eb030eaf44a7e.
Revert "Problem: docs say STABLE API still in DRAFT"
This reverts commit 9f2f30b7ffa09acc51d3b87251a47e83b435d5d4.
2018-03-23 11:22:10 +00:00
Constantin Rack
7f1f7057d8
Merge pull request #3018 from bluca/null_auth_regression
...
Problem: backward incompatible change to NULL with ZAP
2018-03-22 22:10:30 +01:00
Luca Boccassi
1c5a63e939
Problem: backward incompatible change to NULL with ZAP
...
Solution: like for other mechanism, do not enforce strict ZAP protocol
adherence unless the specific socket option is enabled with NULL auth.
Add test to exercise this functionality, and fix ZAP test to set the
socket option when it uses NULL auth.
See: https://github.com/zeromq/pyzmq/pull/1152
2018-03-22 19:27:23 +00:00
Luca Boccassi
e4b3bd8631
Problem: cannot set ZAP_ENFORCE_DOMAIN in testutil's wrappers
...
Solution: override unused parameter for NULL wrapper
2018-03-22 19:25:42 +00:00
Simon Giesecke
7722381fe7
Merge pull request #3016 from bluca/fix_docs
...
Problem: some inaccuracies in manpages
2018-03-21 22:53:44 +01:00
Luca Boccassi
1b733e75a2
Problem: zmq_connect doc says inproc has to be bound first
...
Solution: fix it, as since 4.2.0 there is no ordering constraint
anymore
Fixes : #2854
2018-03-21 19:57:54 +00:00
Luca Boccassi
dba4ef28cc
Problem: zmq_close manpage does not say it's asynchronous
...
Solution: clarify it since it's a common source of confusion
2018-03-21 19:55:55 +00:00
Luca Boccassi
9f2f30b7ff
Problem: docs say STABLE API still in DRAFT
...
Solution: update them
2018-03-21 19:54:31 +00:00
Luca Boccassi
0e1a9a5252
Merge pull request #3015 from aytekinar/3012-gcc-fix
...
Fix gcc build problem
2018-03-21 19:37:31 +00:00
Arda Aytekin
6fa9362351
Fix gcc build problem
...
Fixed gcc-related build problem resulting from `-errwarn=%all` switch.
Fixes #3012 .
2018-03-21 18:21:39 +01:00
Doron Somech
0b99710949
Merge pull request #3014 from bluca/draft
...
Problems: some APIs have met stable conditions
2018-03-21 19:03:26 +02:00
Luca Boccassi
3cb79f5042
Problem: ZMQ_BINDTODEVICE has 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
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
Michael
bfc42d47ec
Merge pull request #4 from zeromq/master
...
update fork to master
2016-02-04 00:21:02 +11:00