0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-29 16:45:51 +08:00

8276 Commits

Author SHA1 Message Date
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