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

7012 Commits

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