aboutsummaryrefslogtreecommitdiff
path: root/src/qt
diff options
context:
space:
mode:
authorMatthew Zipkin <pinheadmz@gmail.com>2023-07-13 14:31:14 -0400
committerMatthew Zipkin <pinheadmz@gmail.com>2024-03-01 14:47:29 -0500
commitc3bd43142eba77dcf1acd4984e437759f65e237a (patch)
treeb2d689d92bd580d5cf30db3d929bbe64e2afa70e /src/qt
parenta88bf9dedd1d8c1db0a9c8b663dab3e3c2f0f030 (diff)
downloadbitcoin-c3bd43142eba77dcf1acd4984e437759f65e237a.tar.xz
gui: accomodate unix socket Proxy in updateDefaultProxyNets()
This will require a follow-up to add unix socket options to the GUI
Diffstat (limited to 'src/qt')
-rw-r--r--src/qt/optionsdialog.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index a87bef796c..dd654a7abe 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -454,20 +454,24 @@ void OptionsDialog::updateProxyValidationState()
void OptionsDialog::updateDefaultProxyNets()
{
- const std::optional<CNetAddr> ui_proxy_netaddr{LookupHost(ui->proxyIp->text().toStdString(), /*fAllowLookup=*/false)};
- const CService ui_proxy{ui_proxy_netaddr.value_or(CNetAddr{}), ui->proxyPort->text().toUShort()};
+ std::string proxyIpText{ui->proxyIp->text().toStdString()};
+ if (!IsUnixSocketPath(proxyIpText)) {
+ const std::optional<CNetAddr> ui_proxy_netaddr{LookupHost(proxyIpText, /*fAllowLookup=*/false)};
+ const CService ui_proxy{ui_proxy_netaddr.value_or(CNetAddr{}), ui->proxyPort->text().toUShort()};
+ proxyIpText = ui_proxy.ToStringAddrPort();
+ }
Proxy proxy;
bool has_proxy;
has_proxy = model->node().getProxy(NET_IPV4, proxy);
- ui->proxyReachIPv4->setChecked(has_proxy && proxy.proxy == ui_proxy);
+ ui->proxyReachIPv4->setChecked(has_proxy && proxy.ToString() == proxyIpText);
has_proxy = model->node().getProxy(NET_IPV6, proxy);
- ui->proxyReachIPv6->setChecked(has_proxy && proxy.proxy == ui_proxy);
+ ui->proxyReachIPv6->setChecked(has_proxy && proxy.ToString() == proxyIpText);
has_proxy = model->node().getProxy(NET_ONION, proxy);
- ui->proxyReachTor->setChecked(has_proxy && proxy.proxy == ui_proxy);
+ ui->proxyReachTor->setChecked(has_proxy && proxy.ToString() == proxyIpText);
}
ProxyAddressValidator::ProxyAddressValidator(QObject *parent) :