2023-10-11 07:43:08 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
zeromq: cleanup
|
2023-10-10 17:16:01 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
zeromq: updated to 4.3.5
libzmq 4.3.5
Relicensing from LGPL-3.0+ (with custom exceptions) to MPL-2.0 is now complete.
libzmq is now distributed under the Mozilla Public License 2.0. Relicensing
grants have been collected from all relevant authors, and some functionality
has been clean-room reimplemented where that was not possible. In layman terms,
the new license provides the same rights and obligations as before. Source
files are now tagged using the SPDX license identifier format.
Details of the relicensing process can be seen at:
Relicensing grants have been archived at:
https://github.com/rlenferink/libzmq-relicense
A special thanks to everybody who helped with this long and difficult task,
with the process, the reimplementations, the collections and everything else.
New DRAFT (see NEWS for 4.2.0) socket options:
ZMQ_BUSY_POLL will set the SO_BUSY_POLL socket option on the underlying
sockets, if it is supported.
ZMQ_HICCUP_MSG will send a message when the peer has been disconnected.
ZMQ_XSUB_VERBOSE_UNSUBSCRIBE will configure a socket to pass all
unsubscription messages, including duplicated ones.
ZMQ_TOPICS_COUNT will return the number of subscribed topics on a
PUB/SUB socket.
ZMQ_NORM_MODE, ZMQ_NORM_UNICAST_NACK, ZMQ_NORM_BUFFER_SIZE,
ZMQ_NORM_SEGMENT_SIZE, ZMQ_NORM_BLOCK_SIZE, ZMQ_NORM_NUM_PARITY,
ZMQ_NORM_NUM_AUTOPARITY and ZMQ_NORM_PUSH to control various aspect of
NORM sockets.
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
New DRAFT (see NEWS for 4.2.0) zmq_ppoll APIs was added that differs from
zmq_poll in the same way that ppoll differs from poll.
See doc/zmq_ppoll.txt for details.
Various bug fixes and performance improvements.
|
2022-01-02 01:17:33 by Thomas Klausner | Files touched by this commit (1) |
Log message:
zeromq: no code is good enough to be able to assume -Werror generally
|
2021-11-21 00:13:35 by David H. Gutteridge | Files touched by this commit (1) |
Log message:
zeromq: remove now unneeded patch
|
2021-11-14 21:15:46 by Adam Ciarcinski | Files touched by this commit (5) | |
Log message:
zeromq: updated to 4.3.4
libzmq 4.3.4
New DRAFT (see NEWS for 4.2.0) socket option:
ZMQ_PRIORITY will set the SO_PRIORITY socket option on the underlying
sockets. Only supported on Linux.
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
Fixed 4113 - compilation errors on kFreeBSD and GNU/Hurd
Fixed 4086 - excessive amount of socket files left behind in Windows TMP
directory
Fixed 4108 - regression that breaks using IPv6 link-local addresses on Linux
Fixed 4078 - compilation errors on Android
Fixed 4074 - compilation error with ulibc and libbsd
Fixed 4060 - stack overflow on Windows x64
Fixed 4051 - various compilation errors on Windows ARM 32bit
Fixed 4043 - various compilation warnings with XCode
Fixed 4038 - return value of zmq_ctx_get changed unintentionally
libzmq 4.3.3
Security advisories:
CVE-2020-15166: Denial-of-Service on CURVE/ZAP-protected servers by
unauthenticated clients.
If a raw TCP socket is opened and connected to an endpoint that is fully
configured with CURVE/ZAP, legitimate clients will not be able to exchange
any message. Handshakes complete successfully, and messages are delivered to
the library, but the server application never receives them.
For more information see the security advisory:
GHSA-25wp-cf8g-938m
Stack overflow on server running PUB/XPUB socket (CURVE disabled).
The PUB/XPUB subscription store (mtrie) is traversed using recursive
function calls. In the remove (unsubscription) case, the recursive calls are
NOT tail calls, so even with optimizations the stack grows linearly with the
length of a subscription topic. Topics are under the control of remote
clients - they can send a subscription to arbitrary length topics. An
attacker can thus cause a server to create an mtrie sufficiently large such
that, when unsubscribing, traversal will cause a stack overflow.
For more information see the security advisory:
GHSA-qq65-x72m-9wr8
Memory leak in PUB server induced by malicious client(s) without CURVE/ZAP.
Messages with metadata are never processed by PUB sockets, but the metadata
is kept referenced in the PUB object and never freed.
For more information see the security advisory:
GHSA-4p5v-h92w-6wxw
Memory leak in client induced by malicious server(s) without CURVE/ZAP.
When a pipe processes a delimiter and is already not in active state but
still has an unfinished message, the message is leaked.
For more information see the security advisory:
GHSA-wfr2-29gj-5w87
Heap overflow when receiving malformed ZMTP v1 packets (CURVE disabled).
By crafting a packet which is not valid ZMTP v2/v3, and which has two
messages larger than 8192 bytes, the decoder can be tricked into changing
the recorded size of the 8192 bytes static buffer, which then gets overflown
by the next message. The content that gets written in the overflown memory
is entirely decided by the sender.
For more information see the security advisory:
GHSA-fc3w-qxf5-7hp6
Note for packagers: an external, self-contained sha1 library is now
included in the source tree under external/sha1/ - it is licensed
under BSD-3-Clause and thus it is fully compatible with libzmq's
license.
It is only used if WebSockets support is enabled, and if neither GnuTLS nor
NSS are available.
Note for packagers: an internal reimplementation of strlcpy is now included,
for wider platform compatibility.
libbsd can be used and is enabled by default if available instead of the
internal implementation, for better security maintenance in distros.
Note for packagers: ZeroMQConfig.cmake is now installed in the arch-dependent
subdirectory - eg: /usr/lib/x86_64-linux-gnu/cmake/
New DRAFT (see NEWS for 4.2.0) socket type:
ZMQ_CHANNEL is a thread-safe alternative to ZMQ_PAIR.
See doc/zmq_socket.txt for details.
New DRAFT (see NEWS for 4.2.0) socket option:
ZMQ_ONLY_FIRST_SUBSCRIBE will cause only the first part of a multipart
message to be processed as a subscribe/unsubscribe message, and the rest
will be forwarded as user data to the application.
ZMQ_RECONNECT_STOP will cause a connecting socket to stop trying to
reconnect in specific circumstances. See the manpage for details.
ZMQ_HELLO_MSG to set a message that will be automatically sent to a new
connection.
ZMQ_DISCONNECT_MSG to set a message that will be automatically received when
a peer disconnects.
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
New DRAFT (see NEWS for 4.2.0) zmq_ctx_get_ext/zmq_ctx_set_ext APIs were added
to allow enhancing the context options with variable data inputs.
See doc/zmq_ctx_get_ext.txt and doc/zmq_ctx_set_ext.txt for details.
New DRAFT (see NEWS for 4.2.0) transport options WS and WSS added for support
of WebSockets (and secure WebSockets via TLS) via the ZWS 2.0 protocol.
WSS requires the GnuTLS library for TLS support. ZMQ_WSS_ specific socket
options were added to support TLS.
WebSockets support is disabled by default if DRAFT APIs are disabled.
New DRAFT (see NEWS for 4.2.0) socket type, PEER, which is thread safe and a
related zmq_connect_peer function which atomically and thread-safely connects
and returns a routing-id.
New DRAFT (see NEWS for 4.2.0) zmq_msg_init_buffer API was added to allow
the construction of a message by copying from an existing buffer.
New DRAFT (see NEWS for 4.2.0) zmq_poller_size API was added to allow querying
the number of sockets/fds registered in a zmq_poller.
ZMTP 3.1 peers will receive subscribe/cancel on PUB/SUB via commands rather
than using the first byte of the payload.
zmq_z85_decode now checks that the input string's length is at least 5 characters
and always a multiple of 5 as per API specification.
Fixed 3566 - malformed CURVE message can cause memory leak
Fixed 3567 - missing ZeroMQ_INCLUDE_DIR in ZeroMQConfig.cmake when only
static lib is built
Fixed 3576 - CURVE plaintext secrets now stored in libsodium's secure memory
Fixed 3588 - install debug libraries for debug msvc builds with CMake
Fixed 3591 - incorrect ZMQ_MAX_SOCKETS default value in doc
Fixed 3594 - fixed stream_engine use after free due to concurrent heartbeats
Fixed 3586 - error when compiling with MinGW due to usage of MS-specific
__except keyword
Fixed 3603 - fixed CMake build on SL6.9
Fixed 3607 - added scripts to ease performance graph generation
Fixed 3608 - fix for IPv4 mapping not supported in DragonFlyBSD
Fixed 3636 - added ENABLE_PRECOMPILED CMake option to fix build with Ninja
Fixed 2862 - UDP engine aborts on networking-related errors from socket
syscalls
Fixed 3656 - segfault on sending data from XSUB to XPUB
Fixed 3646 - static-only test run fails
Fixed 3668 - fixed CMAKE_CXX_FLAGS_* regexes on MSVC
Fixed 110 - do not include winsock2.h in public zmq.h header
Fixed 3683 - allow "configure --disable-maintainer-mode"
Fixed 3686 - fix documentation about sockets blocking on send operations
Fixed 3323 - fix behavior of ZMQ_CONFLATE on PUB sockets
Fixed 3698 - fix build on IBM i/PASE/os400
Fixed 3705 - zero-sized messages cause assertion when glibc assertion are on
Fixed 3713 - remove dependency on math library by avoiding std::ceil
Fixed 3694 - build targeting Windows XP is broken
Fixed 3691 - added support for IPC on Windows 10 via AF_UNIX
Fixed 3725 - disable by default test that requires sudo on CMake
Fixed 3727 - fix zmq_poller documentation example
Fixed 3729 - do not check for FD_OOB when using WSAEventSelect on Windows
Fixed 3738 - allow renaming the library in CMake
Fixed 1808 - use AF_UNIX instead of TCP for the internal socket on Windows 10
Fixed 3758 - fix pthread_set_affinity detection in CMake
Fixed 3769 - fix undefined behaviour in array.hpp
Fixed 3772 - fix compiling under msys2-mingw
Fixed 3775 - add -latomic to the private libs flag in pkg-config if needed
Fixed 3778 - fix documentation of zmq_poller's thread safety
Fixed 3792 - do not allow creation of new sockets after zmq_ctx_shutdown
Fixed 3805 - improve performance of CURVE by reducing copies
Fixed 3814 - send subscribe/cancel as commands to ZMTP 3.1 peers
Fixed 3847 - fix building without PGM and NORM
Fixed 3849 - install .cmake file in arch-dependent subdirectory
Fixed 4005 - allow building on Windows ARM/ARM64
|
2021-10-26 13:07:15 by Nia Alarie | Files touched by this commit (958) |
Log message:
net: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Not committed (merge conflicts...):
net/radsecproxy/distinfo
The following distfiles could not be fetched (fetched conditionally?):
./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz
./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch
./net/djbdns/distinfo djbdns-1.05-test28.diff.xz
./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch
./net/djbdns/distinfo djbdns-1.05-multiip.diff
./net/djbdns/distinfo djbdns-cachestats.patch
|
2021-10-07 16:43:07 by Nia Alarie | Files touched by this commit (962) |
Log message:
net: Remove SHA1 hashes for distfiles
|
2020-03-18 18:59:51 by Joerg Sonnenberger | Files touched by this commit (2) |
Log message:
Fix portability.
|
2019-12-19 23:21:57 by Joerg Sonnenberger | Files touched by this commit (2) |
Log message:
Deal with the kqueue type change in NetBSD.
|
2019-08-09 14:01:34 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
zeromq: updated to 4.3.2
libzmq 4.3.2
CVE-2019-13132: a remote, unauthenticated client connecting to a
libzmq application, running with a socket listening with CURVE
encryption/authentication enabled, may cause a stack overflow and
overwrite the stack with arbitrary data, due to a buffer overflow in
the library. Users running public servers with the above configuration
are highly encouraged to upgrade as soon as possible, as there are no
known mitigations. All versions from 4.0.0 and upwards are affected.
Thank you Fang-Pen Lin for finding the issue and reporting it!
New DRAFT (see NEWS for 4.2.0) zmq_socket_monitor_versioned API that supports
a versioned monitoring events protocol as a parameter. Passing 1 results in
the same behaviour as zmq_socket_monitor.
Version 2 of the events protocol allows new events, new metadata, different
socket types for the monitors and more. It is described in details in
doc/zmq_socket_monitor_versioned.txt
New DRAFT (see NEWS for 4.2.0) zmq_socket_monitor_pipes_stats that triggers
a new ZMQ_EVENT_PIPES_STATS to be delivered via zmq_socket_monitor_versioned
v2 API, which contains the current status of all the queues owned by the
monitored socket. See doc/zmq_socket_monitor_versioned.txt for details.
New DRAFT (see NEWS for 4.2.0) zmq_poller_fd that returns the FD of a thread
safe socket. See doc/zmq_poller.txt for details.
New DRAFT (see NEWS for 4.2.0) socket options:
ZMQ_XPUB_MANUAL_LAST_VALUE is similar to ZMQ_XPUB_MANUAL but allows to avoid
duplicates when using last value caching.
ZMQ_SOCKS_USERNAME and ZMQ_SOCKS_PASSWORD that implement SOCKS5 proxy
authentication.
See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details.
Implemented background thread names for Windows, when the Visual Studio
debugger is being used.
Fixed 3358 - test_security_zap failing due to SIGBUS on SPARC64, hard-coded
IPC socket binds in tests cause race conditions
Fixed 3361 - enabling GSSAPI support (when using autools) does not work due
to regression introduced in 4.2.3
Fixed 3362 - remove documentation for ZMQ_THREAD_PRIORITY context option
getter, it's not implemented
Fixed 3363 - tests fail to build due to stricter compiler printf validation
in new versions of GCC
Fixed 3367 - try to infer cacheline size at build time, first with
getconf LEVEL1_DCACHE_LINESIZE, and then by reading
/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
(autoconf only), and only then falling back to the previous
default of 64 bytes. Avoids false sharing on POWER and s390x.
Import ax_func_posix_memalign.m4 as a more reliable check for
posix_memalign presence on some unix platforms.
Prefer c++11 atomic primitives to compiler intrinsics, when
both are available, as the former is more reliable.
Set test_pair_ipc and test_rebind_ipc to XFAIL on GNU/Hurd due
to non-functioning getsockname on AF_UNIX.
Fixed 3370 - Make queue length and HWM state observable
Fixed 3373 - performance regression in zmq_poll on CentOS 6/7
Fixed 3375 - assign names to all pthreads created by the library to ease
debugging
Fixed 3376 - assigned random TIPC port is not returned by ZMQ_LAST_ENDPOINT
Fixed 3385 - TCP port in ZMQ_LAST_ENDPOINT depends on global locale
Fixed 3404 - use std::condition_variable_any when possible
Fixed 3436 - reconnect interval exponential backoff and may lead to integer
overflows
Fixed 3440 - improve zmq_proxy performance by batching of up to 1000
consecutive messages (if any) and add perf/proxy_thr tool
Fixed 3451 - fix support of /dev/poll on Solaris
Fixed 3452 - strnlen may not be available
Fixed 1462 - test failure in test_filter_ipc due to invalid system groups
Fixed 3269 - Boost.ASIO integration stopped working with v4.3.0
Fixed 3479 - ZeroMQ does not build for QNX 6.6 with CMake
Fixed 3481 - add include to fix uClibc++ compilation
Fixed 3491 - build broken on Fedora 30
Fixed 3494 - ZeroMQConfig.cmake fails if shared libraries are not built
Fixed 3498 - syntax error on Windows related to socket descriptor type
Fixed 3500 - PLAIN HELLO message incorrectly uses WELCOME literal, regression
introduced in 4.3.0
Fixed 3517 - configure errors because of syntax errors in the use of test
shell command
Fixed 3521 - document how to achieve high performance with the PGM transport
Fixed 3526 - failure case behavior unclear in zmq_msg_send documentation
Fixed 3537 - fix build on z/OS by using pthread_equal instead of comparing
variables directly
Fixed 3546 - CMake links with librt on MinGW which is not available
Many coding style, duplication, testing and static analysis improvements.
|