gui: don't permit port in proxy IP option

Fixes: #809

Previously it was possible through the GUI to enter an IP address:port
into the "Proxy IP" configuration box. After the node was restarted the
errant setting would prevent the node starting back up until manually
removed from settings.json.

Github-Pull: https://github.com/bitcoin-core/gui/pull/813
Rebased-From: 10c5275ba4
This commit is contained in:
willcl-ark 2024-04-04 21:08:38 +01:00 committed by fanquake
parent d1289a1300
commit dedf319b08
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1

View file

@ -20,6 +20,7 @@
#include <node/chainstatemanager_args.h>
#include <netbase.h>
#include <txdb.h>
#include <util/strencodings.h>
#include <chrono>
@ -478,7 +479,10 @@ QValidator(parent)
QValidator::State ProxyAddressValidator::validate(QString &input, int &pos) const
{
Q_UNUSED(pos);
// Validate the proxy
uint16_t port{0};
std::string hostname;
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);
if (addrProxy.IsValid())