From 289bcc2d03c666c46a9e95b6416055a1119830f7 Mon Sep 17 00:00:00 2001 From: Matt Hess Date: Thu, 19 Feb 2026 13:35:59 +0000 Subject: [PATCH] Import upstream fixes, IPv6 ZMQ support, submodule updates, RandomX prefetch perf tweaks, v2 VM work in progress and bug fixes --- external/src/RandomX | 2 +- external/src/cppzmq | 2 +- external/src/grpc | 2 +- external/src/libuv | 2 +- external/src/libzmq | 2 +- external/src/miniupnp | 2 +- src/zmq_reader.cpp | 13 ++++++++++--- 7 files changed, 16 insertions(+), 9 deletions(-) diff --git a/external/src/RandomX b/external/src/RandomX index d341d6a..1343007 160000 --- a/external/src/RandomX +++ b/external/src/RandomX @@ -1 +1 @@ -Subproject commit d341d6a61c2e85fa7b103d3f5b82e5f4c9e8880a +Subproject commit 1343007c617513618688b5473e8d2b72e485f35a diff --git a/external/src/cppzmq b/external/src/cppzmq index 57cc98f..041f755 160000 --- a/external/src/cppzmq +++ b/external/src/cppzmq @@ -1 +1 @@ -Subproject commit 57cc98f8fc01e9195a6579315468adb69dea1328 +Subproject commit 041f755b7980af4a8022f1adf511cc6bd6139e2b diff --git a/external/src/grpc b/external/src/grpc index b40fe4f..f310102 160000 --- a/external/src/grpc +++ b/external/src/grpc @@ -1 +1 @@ -Subproject commit b40fe4ffc46d292c08374bc38f6580658593104c +Subproject commit f310102b02b61271098c9bd074b72647f3eee9cb diff --git a/external/src/libuv b/external/src/libuv index 012b1e9..4ae2852 160000 --- a/external/src/libuv +++ b/external/src/libuv @@ -1 +1 @@ -Subproject commit 012b1e9698f38fd325760a45faa5c212a8f6aaf2 +Subproject commit 4ae2852bbbb59c631899aec47dd455c2fb0252f0 diff --git a/external/src/libzmq b/external/src/libzmq index 1fce1ef..8d18911 160000 --- a/external/src/libzmq +++ b/external/src/libzmq @@ -1 +1 @@ -Subproject commit 1fce1ef0054ac560c307735216800abba53236a6 +Subproject commit 8d18911edfc4826f7d2ff3b8637ca31d1b6fa43e diff --git a/external/src/miniupnp b/external/src/miniupnp index 88a1515..bdbda46 160000 --- a/external/src/miniupnp +++ b/external/src/miniupnp @@ -1 +1 @@ -Subproject commit 88a1515ea872b037889020c01c07dbcf6e5f5dd7 +Subproject commit bdbda466eda360bb3cac093110655b0127a6847b diff --git a/src/zmq_reader.cpp b/src/zmq_reader.cpp index c71d2a1..2687fb6 100644 --- a/src/zmq_reader.cpp +++ b/src/zmq_reader.cpp @@ -38,6 +38,13 @@ ZMQReader::ZMQReader(const std::string& address, uint32_t zmq_port, const std::s m_proxy.clear(); } + const bool is_v6 = address.find_first_of(':') != std::string::npos; + + if (is_v6) { + m_publisher.set(zmq::sockopt::ipv6, 1); + m_subscriber.set(zmq::sockopt::ipv6, 1); + } + char addr_buf[log::Stream::BUF_SIZE + 1]; addr_buf[0] = '\0'; @@ -49,7 +56,7 @@ ZMQReader::ZMQReader(const std::string& address, uint32_t zmq_port, const std::s try { log::Stream s(addr_buf); - s << "tcp://127.0.0.1:" << port << '\0'; + s << (is_v6 ? "tcp://[::1]:" : "tcp://127.0.0.1:") << port << '\0'; m_publisher.bind(addr_buf); m_publisherPort = static_cast(port); break; @@ -65,11 +72,11 @@ ZMQReader::ZMQReader(const std::string& address, uint32_t zmq_port, const std::s throw zmq::error_t(EFSM); } - LOGINFO(5, "listening on tcp://127.0.0.1:" << m_publisherPort << " for internal communications"); + std::string addr(addr_buf); + LOGINFO(5, "listening on " << addr << " for internal communications"); m_subscriber.set(zmq::sockopt::connect_timeout, 1000); - std::string addr(addr_buf); if (!connect(addr, false)) { throw zmq::error_t(EFSM); }