diff --git a/net/libzmq4/Makefile b/net/libzmq4/Makefile index f40793c8ebba..9ec49a783dab 100644 --- a/net/libzmq4/Makefile +++ b/net/libzmq4/Makefile @@ -1,77 +1,75 @@ PORTNAME= libzmq4 DISTVERSIONPREFIX= v -DISTVERSION= 4.3.1 -PORTREVISION= 1 +DISTVERSION= 4.3.4 CATEGORIES= net MASTER_SITES= https://github.com/zeromq/libzmq/releases/download/${DISTVERSIONFULL}/ DISTNAME= zeromq-${DISTVERSION} MAINTAINER= koobs@FreeBSD.org COMMENT= ZeroMQ core library (Version 4) LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/COPYING USES= gmake libtool pkgconfig USE_LDCONFIG= yes CONFLICTS= zmq-[0-9]* libzmq[^4]-[0-9]* GNU_CONFIGURE= yes INSTALL_TARGET= install-strip TEST_TARGET= check OPTIONS_DEFINE= LIBUNWIND MANPAGES OPTIONS_RADIO= CURVE OPTIONS_RADIO_CURVE= SODIUM TWEETNACL OPTIONS_GROUP= MULTICAST OPTIONS_GROUP_MULTICAST= NORM PGM OPTIONS_DEFAULT= MANPAGES NORM PGM TWEETNACL OPTIONS_SUB= yes LIBUNWIND_DESC= Use libunwind to print stack trace in case of error CURVE_DESC= CURVE security backend MULTICAST_DESC= Reliable Multicast Transports TWEETNACL_DESC= Use tweetnacl SODIUM_DESC= Use libsodium PGM_DESC= Enable PGM transport via OpenPGM NORM_DESC= Enable NORM via NRL PGM_CONFIGURE_WITH= pgm PGM_LIB_DEPENDS= libpgm.so:net/openpgm LIBUNWIND_LIB_DEPENDS= libunwind.so:devel/libunwind LIBUNWIND_CONFIGURE_ENABLE= libunwind MANPAGES_BUILD_DEPENDS= xmlto:textproc/xmlto \ asciidoc:textproc/asciidoc MANPAGES_CONFIGURE_WITH= docs NORM_CONFIGURE_WITH= norm=${PREFIX} NORM_LIB_DEPENDS= libnorm.so:net/norm SODIUM_CONFIGURE_WITH= libsodium SODIUM_LIB_DEPENDS= libsodium.so:security/libsodium SODIUM_PLIST_FILES= bin/curve_keygen TWEETNACL_PLIST_FILES= bin/curve_keygen CONFIGURE_ARGS+= --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig \ --disable-static \ --disable-Werror \ --disable-silent-rules CFLAGS+= -Wno-long-long .include .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug .endif - .if !${PORT_OPTIONS:MSODIUM} && !${PORT_OPTIONS:MTWEETNACL} CONFIGURE_ARGS+= --disable-curve .endif .include diff --git a/net/libzmq4/distinfo b/net/libzmq4/distinfo index 0835af750f96..6b51cfb6fde1 100644 --- a/net/libzmq4/distinfo +++ b/net/libzmq4/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1548985858 -SHA256 (zeromq-4.3.1.tar.gz) = bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb -SIZE (zeromq-4.3.1.tar.gz) = 1490122 +TIMESTAMP = 1621855285 +SHA256 (zeromq-4.3.4.tar.gz) = c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5 +SIZE (zeromq-4.3.4.tar.gz) = 2486520 diff --git a/net/libzmq4/files/patch-PR3358 b/net/libzmq4/files/patch-PR3358 deleted file mode 100644 index 6372b6f7a26c..000000000000 --- a/net/libzmq4/files/patch-PR3358 +++ /dev/null @@ -1,179 +0,0 @@ -From 4147957a5eec57ec7a2a416dca74c3c0299a3432 Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Sun, 13 Jan 2019 13:08:10 +0000 -Subject: [PATCH 1/2] 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 ---- - tests/testutil_security.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git tests/testutil_security.hpp tests/testutil_security.hpp -index 90999118c..437bfb298 100644 ---- tests/testutil_security.hpp -+++ tests/testutil_security.hpp -@@ -345,7 +345,7 @@ static int get_monitor_event_internal (void *monitor_, - uint8_t *data = (uint8_t *) zmq_msg_data (&msg); - uint16_t event = *(uint16_t *) (data); - if (value_) -- *value_ = *(uint32_t *) (data + 2); -+ memcpy (value_, data + 2, sizeof (uint32_t)); - - // Second frame in message contains event address - zmq_msg_init (&msg); - -From f64b697095c6d8862bdfd2a159857e915bbf20ee Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Sun, 13 Jan 2019 14:50:07 +0000 -Subject: [PATCH 2/2] 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 ---- - tests/test_pair_ipc.cpp | 9 +++++++-- - tests/test_rebind_ipc.cpp | 13 ++++++++----- - tests/test_reconnect_ivl.cpp | 10 +++++++--- - tests/test_use_fd.cpp | 24 +++++++++++++++++++----- - 4 files changed, 41 insertions(+), 15 deletions(-) - -diff --git tests/test_pair_ipc.cpp tests/test_pair_ipc.cpp -index c9a216dd2..ab4dde350 100644 ---- tests/test_pair_ipc.cpp -+++ tests/test_pair_ipc.cpp -@@ -44,11 +44,16 @@ void tearDown () - - void test_roundtrip () - { -+ char my_endpoint[256]; -+ size_t len = sizeof (my_endpoint); -+ - void *sb = test_context_socket (ZMQ_PAIR); -- TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ipc:///tmp/test_pair_ipc")); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ipc://*")); -+ TEST_ASSERT_SUCCESS_ERRNO ( -+ zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, my_endpoint, &len)); - - void *sc = test_context_socket (ZMQ_PAIR); -- TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, "ipc:///tmp/test_pair_ipc")); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, my_endpoint)); - - bounce (sb, sc); - -diff --git tests/test_rebind_ipc.cpp tests/test_rebind_ipc.cpp -index 830d18030..784641270 100644 ---- tests/test_rebind_ipc.cpp -+++ tests/test_rebind_ipc.cpp -@@ -42,24 +42,27 @@ void tearDown () - teardown_test_context (); - } - --static const char *SOCKET_ADDR = "ipc:///tmp/test_rebind_ipc"; -- - void test_rebind_ipc () - { -+ char my_endpoint[256]; -+ size_t len = sizeof (my_endpoint); -+ - void *sb0 = test_context_socket (ZMQ_PUSH); - void *sb1 = test_context_socket (ZMQ_PUSH); - -- TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, SOCKET_ADDR)); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, "ipc://*")); -+ TEST_ASSERT_SUCCESS_ERRNO ( -+ zmq_getsockopt (sb0, ZMQ_LAST_ENDPOINT, my_endpoint, &len)); - - void *sc = test_context_socket (ZMQ_PULL); -- TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, SOCKET_ADDR)); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, my_endpoint)); - - send_string_expect_success (sb0, "42", 0); - recv_string_expect_success (sc, "42", 0); - - test_context_socket_close (sb0); - -- TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb1, SOCKET_ADDR)); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb1, my_endpoint)); - - send_string_expect_success (sb1, "42", 0); - recv_string_expect_success (sc, "42", 0); -diff --git tests/test_reconnect_ivl.cpp tests/test_reconnect_ivl.cpp -index b67b40e5f..6dd0e4cd2 100644 ---- tests/test_reconnect_ivl.cpp -+++ tests/test_reconnect_ivl.cpp -@@ -71,11 +71,15 @@ void test_reconnect_ivl_against_pair_socket (const char *my_endpoint_, - #if !defined(ZMQ_HAVE_WINDOWS) && !defined(ZMQ_HAVE_GNU) - void test_reconnect_ivl_ipc (void) - { -- const char *ipc_endpoint = "ipc:///tmp/test_reconnect_ivl"; -+ char my_endpoint[256]; -+ size_t len = sizeof (my_endpoint); -+ - void *sb = test_context_socket (ZMQ_PAIR); -- TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, ipc_endpoint)); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ipc://*")); -+ TEST_ASSERT_SUCCESS_ERRNO ( -+ zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, my_endpoint, &len)); - -- test_reconnect_ivl_against_pair_socket (ipc_endpoint, sb); -+ test_reconnect_ivl_against_pair_socket (my_endpoint, sb); - test_context_socket_close (sb); - } - #endif -diff --git tests/test_use_fd.cpp tests/test_use_fd.cpp -index 67414f5bf..e9852b13d 100644 ---- tests/test_use_fd.cpp -+++ tests/test_use_fd.cpp -@@ -237,24 +237,38 @@ void pre_allocate_sock_ipc_int (void *zmq_socket_, const char *path_) - sizeof (struct sockaddr_un)); - } - -+char ipc_endpoint[16]; -+ - void pre_allocate_sock_ipc (void *sb_, char *my_endpoint_) - { -- pre_allocate_sock_ipc_int (sb_, "/tmp/test_use_fd_ipc"); -- strcpy (my_endpoint_, "ipc:///tmp/test_use_fd_ipc"); -+ strcpy (ipc_endpoint, "tmpXXXXXX"); -+ -+#ifdef HAVE_MKDTEMP -+ TEST_ASSERT_TRUE (mkdtemp (ipc_endpoint)); -+ strcat (ipc_endpoint, "/ipc"); -+#else -+ int fd = mkstemp (ipc_endpoint); -+ TEST_ASSERT_TRUE (fd != -1); -+ close (fd); -+#endif -+ -+ pre_allocate_sock_ipc_int (sb_, ipc_endpoint); -+ strcpy (my_endpoint_, "ipc://"); -+ strcat (my_endpoint_, ipc_endpoint); - } - - void test_req_rep_ipc () - { - test_req_rep (pre_allocate_sock_ipc); - -- TEST_ASSERT_SUCCESS_ERRNO (unlink ("/tmp/test_use_fd_ipc")); -+ TEST_ASSERT_SUCCESS_ERRNO (unlink (ipc_endpoint)); - } - - void test_pair_ipc () - { - test_pair (pre_allocate_sock_ipc); - -- TEST_ASSERT_SUCCESS_ERRNO (unlink ("/tmp/test_use_fd_ipc")); -+ TEST_ASSERT_SUCCESS_ERRNO (unlink (ipc_endpoint)); - } - - void test_client_server_ipc () -@@ -262,7 +276,7 @@ void test_client_server_ipc () - #if defined(ZMQ_SERVER) && defined(ZMQ_CLIENT) - test_client_server (pre_allocate_sock_ipc); - -- TEST_ASSERT_SUCCESS_ERRNO (unlink ("/tmp/test_use_fd_ipc")); -+ TEST_ASSERT_SUCCESS_ERRNO (unlink (ipc_endpoint)); - #endif - } - diff --git a/net/libzmq4/files/patch-PR3359 b/net/libzmq4/files/patch-PR3359 deleted file mode 100644 index 7b30f59dcede..000000000000 --- a/net/libzmq4/files/patch-PR3359 +++ /dev/null @@ -1,45 +0,0 @@ -From d55956574d3b98268ec31045b012029ffc4b1a8c Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Mon, 14 Jan 2019 00:10:08 +0000 -Subject: [PATCH] Problem: test_rebind_ipc still fails - -Solution: create manually the random IPC file to reuse ---- - tests/test_rebind_ipc.cpp | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git tests/test_rebind_ipc.cpp tests/test_rebind_ipc.cpp -index 784641270..b14cb81d9 100644 ---- tests/test_rebind_ipc.cpp -+++ tests/test_rebind_ipc.cpp -@@ -44,15 +44,25 @@ void tearDown () - - void test_rebind_ipc () - { -- char my_endpoint[256]; -- size_t len = sizeof (my_endpoint); -+ char my_endpoint[32], random_file[16]; -+ strcpy (random_file, "tmpXXXXXX"); -+ -+#ifdef HAVE_MKDTEMP -+ TEST_ASSERT_TRUE (mkdtemp (random_file)); -+ strcat (random_file, "/ipc"); -+#else -+ int fd = mkstemp (random_file); -+ TEST_ASSERT_TRUE (fd != -1); -+ close (fd); -+#endif -+ -+ strcpy (my_endpoint, "ipc://"); -+ strcat (my_endpoint, random_file); - - void *sb0 = test_context_socket (ZMQ_PUSH); - void *sb1 = test_context_socket (ZMQ_PUSH); - -- TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, "ipc://*")); -- TEST_ASSERT_SUCCESS_ERRNO ( -- zmq_getsockopt (sb0, ZMQ_LAST_ENDPOINT, my_endpoint, &len)); -+ TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, my_endpoint)); - - void *sc = test_context_socket (ZMQ_PULL); - TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, my_endpoint)); diff --git a/net/libzmq4/files/patch-tests_testutil.hpp b/net/libzmq4/files/patch-tests_testutil.hpp new file mode 100644 index 000000000000..4b303062d057 --- /dev/null +++ b/net/libzmq4/files/patch-tests_testutil.hpp @@ -0,0 +1,11 @@ +--- tests/testutil.hpp.orig 2021-01-03 21:46:02 UTC ++++ tests/testutil.hpp +@@ -45,6 +45,8 @@ + #include + #include + #include ++#include ++#include + #endif + + // This defines the settle time used in tests; raise this if we diff --git a/net/libzmq4/pkg-plist b/net/libzmq4/pkg-plist index af477900c133..1f7a59bcf572 100644 --- a/net/libzmq4/pkg-plist +++ b/net/libzmq4/pkg-plist @@ -1,72 +1,75 @@ include/zmq_utils.h include/zmq.h lib/libzmq.so lib/libzmq.so.5 -lib/libzmq.so.5.2.1 +lib/libzmq.so.5.2.4 libdata/pkgconfig/libzmq.pc %%MANPAGES%%man/man3/zmq_atomic_counter_dec.3.gz %%MANPAGES%%man/man3/zmq_atomic_counter_destroy.3.gz %%MANPAGES%%man/man3/zmq_atomic_counter_inc.3.gz %%MANPAGES%%man/man3/zmq_atomic_counter_new.3.gz %%MANPAGES%%man/man3/zmq_atomic_counter_set.3.gz %%MANPAGES%%man/man3/zmq_atomic_counter_value.3.gz %%MANPAGES%%man/man3/zmq_bind.3.gz %%MANPAGES%%man/man3/zmq_close.3.gz %%MANPAGES%%man/man3/zmq_connect.3.gz +%%MANPAGES%%man/man3/zmq_connect_peer.3.gz %%MANPAGES%%man/man3/zmq_ctx_get.3.gz %%MANPAGES%%man/man3/zmq_ctx_new.3.gz %%MANPAGES%%man/man3/zmq_ctx_set.3.gz %%MANPAGES%%man/man3/zmq_ctx_shutdown.3.gz %%MANPAGES%%man/man3/zmq_ctx_term.3.gz %%MANPAGES%%man/man3/zmq_curve_keypair.3.gz %%MANPAGES%%man/man3/zmq_curve_public.3.gz %%MANPAGES%%man/man3/zmq_disconnect.3.gz %%MANPAGES%%man/man3/zmq_errno.3.gz %%MANPAGES%%man/man3/zmq_getsockopt.3.gz %%MANPAGES%%man/man7/zmq_gssapi.7.gz %%MANPAGES%%man/man3/zmq_has.3.gz %%MANPAGES%%man/man3/zmq_msg_close.3.gz %%MANPAGES%%man/man3/zmq_msg_copy.3.gz %%MANPAGES%%man/man3/zmq_msg_data.3.gz %%MANPAGES%%man/man3/zmq_msg_get.3.gz %%MANPAGES%%man/man3/zmq_msg_gets.3.gz %%MANPAGES%%man/man3/zmq_msg_init.3.gz +%%MANPAGES%%man/man3/zmq_msg_init_buffer.3.gz %%MANPAGES%%man/man3/zmq_msg_init_data.3.gz %%MANPAGES%%man/man3/zmq_msg_init_size.3.gz %%MANPAGES%%man/man3/zmq_msg_more.3.gz %%MANPAGES%%man/man3/zmq_msg_move.3.gz %%MANPAGES%%man/man3/zmq_msg_recv.3.gz %%MANPAGES%%man/man3/zmq_msg_routing_id.3.gz %%MANPAGES%%man/man3/zmq_msg_send.3.gz %%MANPAGES%%man/man3/zmq_msg_set.3.gz %%MANPAGES%%man/man3/zmq_msg_set_routing_id.3.gz %%MANPAGES%%man/man3/zmq_msg_size.3.gz %%MANPAGES%%man/man3/zmq_poll.3.gz %%MANPAGES%%man/man3/zmq_poller.3.gz %%MANPAGES%%man/man3/zmq_proxy.3.gz %%MANPAGES%%man/man3/zmq_proxy_steerable.3.gz %%MANPAGES%%man/man3/zmq_recv.3.gz %%MANPAGES%%man/man3/zmq_recvmsg.3.gz %%MANPAGES%%man/man3/zmq_send.3.gz %%MANPAGES%%man/man3/zmq_send_const.3.gz %%MANPAGES%%man/man3/zmq_sendmsg.3.gz %%MANPAGES%%man/man3/zmq_setsockopt.3.gz %%MANPAGES%%man/man3/zmq_socket.3.gz %%MANPAGES%%man/man3/zmq_socket_monitor.3.gz +%%MANPAGES%%man/man3/zmq_socket_monitor_versioned.3.gz %%MANPAGES%%man/man3/zmq_strerror.3.gz %%MANPAGES%%man/man3/zmq_timers.3.gz %%MANPAGES%%man/man3/zmq_unbind.3.gz %%MANPAGES%%man/man3/zmq_version.3.gz %%MANPAGES%%man/man3/zmq_z85_decode.3.gz %%MANPAGES%%man/man3/zmq_z85_encode.3.gz %%MANPAGES%%man/man7/zmq_curve.7.gz %%MANPAGES%%man/man7/zmq_inproc.7.gz %%MANPAGES%%man/man7/zmq_ipc.7.gz %%MANPAGES%%man/man7/zmq_null.7.gz %%MANPAGES%%man/man7/zmq_pgm.7.gz %%MANPAGES%%man/man7/zmq_plain.7.gz %%MANPAGES%%man/man7/zmq_tcp.7.gz %%MANPAGES%%man/man7/zmq_tipc.7.gz %%MANPAGES%%man/man7/zmq_udp.7.gz %%MANPAGES%%man/man7/zmq_vmci.7.gz %%MANPAGES%%man/man7/zmq.7.gz