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

7689 Commits

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