From c47f81e8ac110b1d7f78bce0232e8015366d13e7 Mon Sep 17 00:00:00 2001 From: laanwj <126646+laanwj@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:18:07 +0200 Subject: [PATCH] net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation` Rename the `_randomize_credentials` parameter to Proxy's constructor to `tor_stream_isolation` to make it more clear, and more specific what its purpose is. Also change all call sites to use a named parameter. --- src/init.cpp | 8 ++++---- src/netbase.cpp | 2 +- src/netbase.h | 8 ++++---- src/qt/optionsdialog.cpp | 2 +- src/rpc/net.cpp | 2 +- src/torcontrol.cpp | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index f35a547c929..a151c9d0a9e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1578,14 +1578,14 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) if (proxyArg != "" && proxyArg != "0") { Proxy addrProxy; if (IsUnixSocketPath(proxyArg)) { - addrProxy = Proxy(proxyArg, proxyRandomize); + addrProxy = Proxy(proxyArg, /*tor_stream_isolation=*/proxyRandomize); } else { const std::optional proxyAddr{Lookup(proxyArg, 9050, fNameLookup)}; if (!proxyAddr.has_value()) { return InitError(strprintf(_("Invalid -proxy address or hostname: '%s'"), proxyArg)); } - addrProxy = Proxy(proxyAddr.value(), proxyRandomize); + addrProxy = Proxy(proxyAddr.value(), /*tor_stream_isolation=*/proxyRandomize); } if (!addrProxy.IsValid()) @@ -1614,14 +1614,14 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) } } else { if (IsUnixSocketPath(onionArg)) { - onion_proxy = Proxy(onionArg, proxyRandomize); + onion_proxy = Proxy(onionArg, /*tor_stream_isolation=*/proxyRandomize); } else { const std::optional addr{Lookup(onionArg, 9050, fNameLookup)}; if (!addr.has_value() || !addr->IsValid()) { return InitError(strprintf(_("Invalid -onion address or hostname: '%s'"), onionArg)); } - onion_proxy = Proxy(addr.value(), proxyRandomize); + onion_proxy = Proxy(addr.value(), /*tor_stream_isolation=*/proxyRandomize); } } } diff --git a/src/netbase.cpp b/src/netbase.cpp index eaca5a16c10..61e4c8eb3e2 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -738,7 +738,7 @@ std::unique_ptr ConnectThroughProxy(const Proxy& proxy, } // do socks negotiation - if (proxy.m_randomize_credentials) { + if (proxy.m_tor_stream_isolation) { ProxyCredentials random_auth; static std::atomic_int counter(0); random_auth.username = random_auth.password = strprintf("%i", counter++); diff --git a/src/netbase.h b/src/netbase.h index d7c6e1c215c..3ac23050115 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -58,14 +58,14 @@ bool IsUnixSocketPath(const std::string& name); class Proxy { public: - Proxy() : m_is_unix_socket(false), m_randomize_credentials(false) {} - explicit Proxy(const CService& _proxy, bool _randomize_credentials = false) : proxy(_proxy), m_is_unix_socket(false), m_randomize_credentials(_randomize_credentials) {} - explicit Proxy(const std::string path, bool _randomize_credentials = false) : m_unix_socket_path(path), m_is_unix_socket(true), m_randomize_credentials(_randomize_credentials) {} + Proxy() : m_is_unix_socket(false), m_tor_stream_isolation(false) {} + explicit Proxy(const CService& _proxy, bool tor_stream_isolation = false) : proxy(_proxy), m_is_unix_socket(false), m_tor_stream_isolation(tor_stream_isolation) {} + explicit Proxy(const std::string path, bool tor_stream_isolation = false) : m_unix_socket_path(path), m_is_unix_socket(true), m_tor_stream_isolation(tor_stream_isolation) {} CService proxy; std::string m_unix_socket_path; bool m_is_unix_socket; - bool m_randomize_credentials; + bool m_tor_stream_isolation; bool IsValid() const { diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 2cea1bf6ab4..3c780b8e5cb 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -486,7 +486,7 @@ QValidator::State ProxyAddressValidator::validate(QString &input, int &pos) cons if (!SplitHostPort(input.toStdString(), port, hostname) || port != 0) return QValidator::Invalid; CService serv(LookupNumeric(input.toStdString(), DEFAULT_GUI_PROXY_PORT)); - Proxy addrProxy = Proxy(serv, true); + Proxy addrProxy = Proxy(serv, /*tor_stream_isolation=*/true); if (addrProxy.IsValid()) return QValidator::Acceptable; diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index bda07365e0e..3a5b8abdf26 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -609,7 +609,7 @@ static UniValue GetNetworksInfo() obj.pushKV("limited", !g_reachable_nets.Contains(network)); obj.pushKV("reachable", g_reachable_nets.Contains(network)); obj.pushKV("proxy", proxy.IsValid() ? proxy.ToString() : std::string()); - obj.pushKV("proxy_randomize_credentials", proxy.m_randomize_credentials); + obj.pushKV("proxy_randomize_credentials", proxy.m_tor_stream_isolation); networks.push_back(std::move(obj)); } return networks; diff --git a/src/torcontrol.cpp b/src/torcontrol.cpp index 5b8f5c74fe1..2b1df4f1384 100644 --- a/src/torcontrol.cpp +++ b/src/torcontrol.cpp @@ -407,7 +407,7 @@ void TorController::get_socks_cb(TorControlConnection& _conn, const TorControlRe // With m_randomize_credentials = true, generates unique SOCKS credentials per proxy connection (e.g., Tor). // Prevents connection correlation and enhances privacy by forcing different Tor circuits. // Requires Tor's IsolateSOCKSAuth (default enabled) for effective isolation (see IsolateSOCKSAuth section in https://2019.www.torproject.org/docs/tor-manual.html.en). - Proxy addrOnion = Proxy(resolved, /*_randomize_credentials=*/ true); + Proxy addrOnion = Proxy(resolved, /*tor_stream_isolation=*/ true); SetProxy(NET_ONION, addrOnion); const auto onlynets = gArgs.GetArgs("-onlynet");