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