mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
Fix illegal default addProxy
and addrSeparateProxyTor
settings.
This commit is contained in:
parent
048ac8326b
commit
40c58866c7
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
const char *DEFAULT_GUI_PROXY_HOST = "127.0.0.1";
|
const char *DEFAULT_GUI_PROXY_HOST = "127.0.0.1";
|
||||||
|
|
||||||
|
static const QString GetDefaultProxyAddress();
|
||||||
|
|
||||||
OptionsModel::OptionsModel(interfaces::Node& node, QObject *parent, bool resetSettings) :
|
OptionsModel::OptionsModel(interfaces::Node& node, QObject *parent, bool resetSettings) :
|
||||||
QAbstractListModel(parent), m_node(node)
|
QAbstractListModel(parent), m_node(node)
|
||||||
{
|
{
|
||||||
@ -121,7 +123,7 @@ void OptionsModel::Init(bool resetSettings)
|
|||||||
if (!settings.contains("fUseProxy"))
|
if (!settings.contains("fUseProxy"))
|
||||||
settings.setValue("fUseProxy", false);
|
settings.setValue("fUseProxy", false);
|
||||||
if (!settings.contains("addrProxy"))
|
if (!settings.contains("addrProxy"))
|
||||||
settings.setValue("addrProxy", QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST, DEFAULT_GUI_PROXY_PORT));
|
settings.setValue("addrProxy", GetDefaultProxyAddress());
|
||||||
// Only try to set -proxy, if user has enabled fUseProxy
|
// Only try to set -proxy, if user has enabled fUseProxy
|
||||||
if (settings.value("fUseProxy").toBool() && !m_node.softSetArg("-proxy", settings.value("addrProxy").toString().toStdString()))
|
if (settings.value("fUseProxy").toBool() && !m_node.softSetArg("-proxy", settings.value("addrProxy").toString().toStdString()))
|
||||||
addOverriddenOption("-proxy");
|
addOverriddenOption("-proxy");
|
||||||
@ -131,7 +133,7 @@ void OptionsModel::Init(bool resetSettings)
|
|||||||
if (!settings.contains("fUseSeparateProxyTor"))
|
if (!settings.contains("fUseSeparateProxyTor"))
|
||||||
settings.setValue("fUseSeparateProxyTor", false);
|
settings.setValue("fUseSeparateProxyTor", false);
|
||||||
if (!settings.contains("addrSeparateProxyTor"))
|
if (!settings.contains("addrSeparateProxyTor"))
|
||||||
settings.setValue("addrSeparateProxyTor", QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST, DEFAULT_GUI_PROXY_PORT));
|
settings.setValue("addrSeparateProxyTor", GetDefaultProxyAddress());
|
||||||
// Only try to set -onion, if user has enabled fUseSeparateProxyTor
|
// Only try to set -onion, if user has enabled fUseSeparateProxyTor
|
||||||
if (settings.value("fUseSeparateProxyTor").toBool() && !m_node.softSetArg("-onion", settings.value("addrSeparateProxyTor").toString().toStdString()))
|
if (settings.value("fUseSeparateProxyTor").toBool() && !m_node.softSetArg("-onion", settings.value("addrSeparateProxyTor").toString().toStdString()))
|
||||||
addOverriddenOption("-onion");
|
addOverriddenOption("-onion");
|
||||||
@ -223,6 +225,11 @@ static void SetProxySetting(QSettings &settings, const QString &name, const Prox
|
|||||||
settings.setValue(name, ip_port.ip + ":" + ip_port.port);
|
settings.setValue(name, ip_port.ip + ":" + ip_port.port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const QString GetDefaultProxyAddress()
|
||||||
|
{
|
||||||
|
return QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST).arg(DEFAULT_GUI_PROXY_PORT);
|
||||||
|
}
|
||||||
|
|
||||||
// read QSettings values and return them
|
// read QSettings values and return them
|
||||||
QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
||||||
{
|
{
|
||||||
@ -485,4 +492,16 @@ void OptionsModel::checkAndMigrate()
|
|||||||
|
|
||||||
settings.setValue(strSettingsVersionKey, CLIENT_VERSION);
|
settings.setValue(strSettingsVersionKey, CLIENT_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Overwrite the 'addrProxy' setting in case it has been set to an illegal
|
||||||
|
// default value (see issue #12623; PR #12650).
|
||||||
|
if (settings.contains("addrProxy") && settings.value("addrProxy").toString().endsWith("%2")) {
|
||||||
|
settings.setValue("addrProxy", GetDefaultProxyAddress());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overwrite the 'addrSeparateProxyTor' setting in case it has been set to an illegal
|
||||||
|
// default value (see issue #12623; PR #12650).
|
||||||
|
if (settings.contains("addrSeparateProxyTor") && settings.value("addrSeparateProxyTor").toString().endsWith("%2")) {
|
||||||
|
settings.setValue("addrSeparateProxyTor", GetDefaultProxyAddress());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user