diff -Naur /usr/ports/net/libzmq4/Makefile libzmq4/Makefile --- /usr/ports/net/libzmq4/Makefile 2021-04-07 10:06:21.000000000 +0200 +++ libzmq4/Makefile 2021-04-15 20:48:35.339959000 +0200 @@ -1,6 +1,6 @@ PORTNAME= libzmq4 DISTVERSIONPREFIX= v -DISTVERSION= 4.3.1 +DISTVERSION= 4.3.4 PORTREVISION= 1 CATEGORIES= net MASTER_SITES= https://github.com/zeromq/libzmq/releases/download/${DISTVERSIONFULL}/ diff -Naur /usr/ports/net/libzmq4/distinfo libzmq4/distinfo --- /usr/ports/net/libzmq4/distinfo 2019-02-01 03:08:14.000000000 +0100 +++ libzmq4/distinfo 2021-04-15 20:52:34.572309000 +0200 @@ -1,3 +1,3 @@ -TIMESTAMP = 1548985858 -SHA256 (zeromq-4.3.1.tar.gz) = bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb -SIZE (zeromq-4.3.1.tar.gz) = 1490122 +TIMESTAMP = 1618512754 +SHA256 (zeromq-4.3.4.tar.gz) = c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5 +SIZE (zeromq-4.3.4.tar.gz) = 2486520 diff -Naur /usr/ports/net/libzmq4/files/patch-PR3358 libzmq4/files/patch-PR3358 --- /usr/ports/net/libzmq4/files/patch-PR3358 2019-01-26 11:50:44.000000000 +0100 +++ libzmq4/files/patch-PR3358 1970-01-01 01:00:00.000000000 +0100 @@ -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 -Naur /usr/ports/net/libzmq4/files/patch-PR3359 libzmq4/files/patch-PR3359 --- /usr/ports/net/libzmq4/files/patch-PR3359 2019-01-26 11:50:44.000000000 +0100 +++ libzmq4/files/patch-PR3359 1970-01-01 01:00:00.000000000 +0100 @@ -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 -Naur /usr/ports/net/libzmq4/files/patch-R1111 libzmq4/files/patch-R1111 --- /usr/ports/net/libzmq4/files/patch-R1111 1970-01-01 01:00:00.000000000 +0100 +++ libzmq4/files/patch-R1111 2021-04-15 21:51:38.160022000 +0200 @@ -0,0 +1,12 @@ +diff -Naur ../../../libzmq4.clean/work/zeromq-4.3.4/tests/testutil.hpp tests/testutil.hpp +--- ../../../libzmq4.clean/work/zeromq-4.3.4/tests/testutil.hpp 2021-01-03 22:46:02.000000000 +0100 ++++ tests/testutil.hpp 2021-04-15 21:35:27.115634000 +0200 +@@ -45,6 +45,8 @@ + #include + #include + #include ++#include ++#include + #endif + + // This defines the settle time used in tests; raise this if we diff -Naur /usr/ports/net/libzmq4/pkg-plist libzmq4/pkg-plist --- /usr/ports/net/libzmq4/pkg-plist 2019-01-26 11:50:44.000000000 +0100 +++ libzmq4/pkg-plist 2021-04-15 21:32:24.259818000 +0200 @@ -2,7 +2,7 @@ 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