commit 2ae3295b11a427b6e7ea0117645159501a0f1067 Author: Tomás Touceda chiiph@torproject.org Date: Thu Aug 9 20:27:38 2012 -0300
Save ControlPortWriteToFile as a relative path --- changes/bug6568 | 3 +++ src/vidalia/config/TorSettings.cpp | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/changes/bug6568 b/changes/bug6568 new file mode 100644 index 0000000..abddba4 --- /dev/null +++ b/changes/bug6568 @@ -0,0 +1,3 @@ + Bug fixes relative to 0.2.x: + o Save ControlPortWriteToFile with a relative path instead of an absolute + one. Fixes bug 6568. diff --git a/src/vidalia/config/TorSettings.cpp b/src/vidalia/config/TorSettings.cpp index 25de975..b83b1da 100644 --- a/src/vidalia/config/TorSettings.cpp +++ b/src/vidalia/config/TorSettings.cpp @@ -115,7 +115,22 @@ TorSettings::apply(QString *errmsg) if(volatileValue(SETTING_AUTOCONTROL).toBool()) { torrc->setValue(SETTING_CONTROL_PORT, "auto"); torrc->setValue(SETTING_SOCKS_PORT, "auto"); - torrc->setValue(TOR_ARG_CONTROLFILE, QString("%1/port.conf").arg(getDataDirectory())); + + QString dataDirectory = getDataDirectory(); + if(QDir(dataDirectory).isRelative()) + dataDirectory = QCoreApplication::applicationDirPath() + "/" + dataDirectory; + + QString relativePortConf = QDir(QDir::currentPath()) + .relativeFilePath(QString("%1/port.conf").arg(dataDirectory)); + +#if defined(Q_WS_WIN) + QString torPath = getExecutable(); + if(QDir(torPath).isRelative()) + torPath = QCoreApplication::applicationDirPath() + "/" + torPath; + relativePortConf = QDir(torPath).relativeFilePath(QString("%1/port.conf").arg(dataDirectory)); +#endif + + torrc->setValue(TOR_ARG_CONTROLFILE, relativePortConf); } else { QString socks = volatileValue(SETTING_SOCKS_PORT).toString(); QString control = volatileValue(SETTING_CONTROL_PORT).toString();
tor-commits@lists.torproject.org