From 8d25418df0ab1303284a4118fee88a3e8b1cc715 Mon Sep 17 00:00:00 2001
From: jeffro256 <jeffro256@tutanota.com>
Date: Sat, 27 Jan 2024 16:19:11 -0600
Subject: [PATCH] daemon: warn user on specifiying ZMQ args with --no-zmq

Resolves https://github.com/monero-project/monero/issues/9127
---
 src/daemon/daemon.cpp | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp
index 97dad9357..1d4142c84 100644
--- a/src/daemon/daemon.cpp
+++ b/src/daemon/daemon.cpp
@@ -124,6 +124,25 @@ public:
         core.get().set_txpool_listener(cryptonote::listener::zmq_pub::txpool_add{shared});
       }
     }
+    else // if --no-zmq specified
+    {
+      // Assert that none of --zmq-rpc-bind-port, --zmq-rpc-bind-ip, and --zmq-pub are specified b/c
+      // that does not make semantic sense with --no-zmq.
+      if (command_line::get_arg(vm, daemon_args::arg_zmq_rpc_bind_port) !=
+          daemon_args::arg_zmq_rpc_bind_port.default_value)
+      {
+        MWARNING("WARN: --zmq-rpc-bind-port has no effect because --no-zmq was specified");
+      }
+      else if (command_line::get_arg(vm, daemon_args::arg_zmq_rpc_bind_ip) !=
+          daemon_args::arg_zmq_rpc_bind_ip.default_value)
+      {
+        MWARNING("WARN: --zmq-rpc-bind-ip has no effect because --no-zmq was specified");
+      }
+      else if (!command_line::get_arg(vm, daemon_args::arg_zmq_pub).empty())
+      {
+        MWARNING("WARN: --zmq-pub has no effect because --no-zmq was specified");
+      }
+    }
   }
 };