ce55fffaf9
0MQ version 4.3.1 stable: * CVE-2019-6250: A vulnerability has been found that would allow attackers to direct a peer to jump to and execute from an address indicated by the attacker. This issue has been present since v4.2.0. Older releases are not affected. NOTE: The attacker needs to know in advance valid addresses in the peer's memory to jump to, so measures like ASLR are effective mitigations. NOTE: this attack can only take place after authentication, so peers behind CURVE/GSSAPI are not vulnerable to unauthenticated attackers. See https://github.com/zeromq/libzmq/issues/3351 for more details. Thanks to Guido Vranken for uncovering the issue and providing the fix! * Note for packagers: as pkg-config's Requires.private is now used to properly propagate dependencies for static builds, the libzmq*-dev or zeromq-devel or equivalent package should now depend on the libfoo-dev or foo-devel packages of all the libraries that zmq is linked against, or pkg-config --libs libzmq will fail due to missing dependencies on end users machines. 0MQ version 4.3.0 stable: * The following DRAFT APIs have been marked as STABLE and will not change anymore: - ZMQ_MSG_T_SIZE context option (see doc/zmq_ctx_get.txt) - ZMQ_THREAD_AFFINITY_CPU_ADD and ZMQ_THREAD_AFFINITY_CPU_REMOVE (Posix only) context options, to add/remove CPUs to the affinity set of the I/O threads. See doc/zmq_ctx_set.txt and doc/zmq_ctx_get.txt for details. - ZMQ_THREAD_NAME_PREFIX (Posix only) context option, to add a specific integer prefix to the background threads names, to easily identify them. See doc/zmq_ctx_set.txt and doc/zmq_ctx_get.txt for details. - ZMQ_GSSAPI_PRINCIPAL_NAMETYPE and ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE socket options, for the corresponding GSSAPI features. Additional definitions for principal name types: - ZMQ_GSSAPI_NT_HOSTBASED - ZMQ_GSSAPI_NT_USER_NAME - ZMQ_GSSAPI_NT_KRB5_PRINCIPAL See doc/zmq_gssapi.txt for details. - ZMQ_BINDTODEVICE socket option (Linux only), which will bind the socket(s) to the specified interface. Allows to use Linux VRF, see: https://www.kernel.org/doc/Documentation/networking/vrf.txt NOTE: requires the program to be ran as root OR with CAP_NET_RAW - zmq_timers_* APIs. These functions can be used for cross-platforms timed callbacks. See doc/zmq_timers.txt for details. - The following socket monitor events: - ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL: unknown errors during handshake. - ZMQ_EVENT_HANDSHAKE_SUCCEEDED: Handshake completed with authentication. - ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL: Protocol errors with peers or ZAP. - ZMQ_EVENT_HANDSHAKE_FAILED_AUTH: Failed authentication requests. See doc/zmq_socket_monitor.txt for more details and error codes. - zmq_stopwatch_intermediate which returns the time elapsed without stopping the stopwatch. - zmq_proxy_steerable command 'STATISTICS' to retrieve stats about the amount of messages and bytes sent and received by the proxy. See doc/zmq_proxy_steerable.txt for more information. * The build-time configuration option to select the poller has been split, and new API_POLLER (CMake) and --with-api-poller (autoconf) options will now determine what system call is used to implement the zmq_poll/zmq_poller APIs. The previous POLLER and --with-poller options now only affects the internal I/O thread. In case API_POLLER is not specified, the behaviour keeps backward compatibility intact and will be the same as with previous releases. * The non-default "poll" poller for the internal I/O thread (note: NOT for the zmq_poll/zmq_poller user APIs!) has been disabled on Windows as WSAPoll does not report connection failures. For more information see: - https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/ - https://curl.haxx.se/mail/lib-2012-10/0038.html - https://bugs.python.org/issue16507 * New epoll implementation for Windows, using the following implementation: https://github.com/piscisaureus/wepoll/tree/v1.5.4 To use this, select "epoll" as the poller option in the build system. Note for distributors: the wepoll source code is embedded and distributed. It is licensed under the BSD-2-Clause and thus it is compatible with LGPL-3.0. Note that, if selected at build time, the license text must be distributed with the binary in accordance to the license terms. A copy can be found at: external/wepoll/license.txt * The pre-made Visual Studio solutions file are deprecated, and users are encouraged to use the CMake solution generation feature instead. * New DRAFT (see NEWS for 4.2.0) socket options: - ZMQ_ROUTER_NOTIFY to deliver a notification when a peer connects and/or disconnects in the form of a routing id plus a zero-length frame. - ZMQ_MULTICAST_LOOP to control whether the data sent should be looped back on local listening sockets for UDP multicast sockets (ZMQ_RADIO). See doc/zmq_setsockopt.txt and doc/zmq_getsockopt.txt for details. * New perf tool, perf/benchmark_radix_tree, to measure the performance of the different internal implementations of the trie algorithm used to track subscriptions. Requires a compiler that supports C++11. * New autoconf flag "--enable-force-CXX98-compat" which will force -std=gnu++98 and, if the compiler supports them (clang++ at the moment), it will also add -Wc++98-compat -Wc++98-compat-pedantic so that compatibility with C++98 can be tested. * Many, many coding style, duplication and static analysis improvements. * Many, many improvements to the CMake build system, especially on Windows. * Many, many improvements to unit tests.
64 lines
2.1 KiB
Text
64 lines
2.1 KiB
Text
$NetBSD: patch-configure,v 1.7 2019/02/14 13:04:37 adam Exp $
|
|
|
|
Portability fixes.
|
|
|
|
--- configure.orig 2019-01-12 16:18:01.000000000 +0000
|
|
+++ configure
|
|
@@ -19450,7 +19450,7 @@ if test "${enable_address_sanitizer+set}
|
|
fi
|
|
|
|
|
|
-if test "x${ZMQ_ASAN}" == "xyes"; then
|
|
+if test "x${ZMQ_ASAN}" = "xyes"; then
|
|
CFLAGS="${CFLAGS} -fsanitize=address"
|
|
CXXFLAGS="${CXXFLAGS} -fsanitize=address"
|
|
|
|
@@ -20853,12 +20853,12 @@ if test "${with_api_poller+set}" = set;
|
|
fi
|
|
|
|
|
|
- if test "x$with_poller" == "x"; then
|
|
+ if test "x$with_poller" = "x"; then
|
|
pollers=auto
|
|
else
|
|
pollers=$with_poller
|
|
fi
|
|
- if test "$pollers" == "auto"; then
|
|
+ if test "$pollers" = "auto"; then
|
|
# We search for pollers in this order
|
|
pollers="kqueue epoll devpoll pollset poll select"
|
|
fi
|
|
@@ -21297,13 +21297,13 @@ $as_echo "#define ZMQ_IOTHREAD_POLLER_US
|
|
if test $poller_found -eq 0; then
|
|
as_fn_error $? "None of '$pollers' are valid pollers on this platform" "$LINENO" 5
|
|
fi
|
|
- if test "x$with_api_poller" == "x"; then
|
|
+ if test "x$with_api_poller" = "x"; then
|
|
with_api_poller=auto
|
|
fi
|
|
- if test "x$with_api_poller" == "xauto"; then
|
|
- if test $poller == "select"; then
|
|
+ if test "x$with_api_poller" = "xauto"; then
|
|
+ if test $poller = "select"; then
|
|
api_poller=select
|
|
- elif test $poller == "wepoll"; then
|
|
+ elif test $poller = "wepoll"; then
|
|
api_poller=select
|
|
else
|
|
api_poller=poll
|
|
@@ -21311,13 +21311,13 @@ $as_echo "#define ZMQ_IOTHREAD_POLLER_US
|
|
else
|
|
api_poller=$with_api_poller
|
|
fi
|
|
- if test "$api_poller" == "select"; then
|
|
+ if test "$api_poller" = "select"; then
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Using 'select' zmq_poll(er)_* API polling system" >&5
|
|
$as_echo "$as_me: Using 'select' zmq_poll(er)_* API polling system" >&6;}
|
|
|
|
$as_echo "#define ZMQ_POLL_BASED_ON_SELECT 1" >>confdefs.h
|
|
|
|
- elif test "$api_poller" == "poll"; then
|
|
+ elif test "$api_poller" = "poll"; then
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Using 'poll' zmq_poll(er)_* API polling system" >&5
|
|
$as_echo "$as_me: Using 'poll' zmq_poll(er)_* API polling system" >&6;}
|
|
|