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