[tor-commits] [vidalia/master] Use canonical paths everywhere
chiiph at torproject.org
chiiph at torproject.org
Fri May 11 23:15:20 UTC 2012
commit cebe6f6bd3350c189e71e70fb0c7bad23a0e06c1
Author: Tomás Touceda <chiiph at torproject.org>
Date: Fri May 11 20:08:02 2012 -0300
Use canonical paths everywhere
Neither Firefox nor Tor like non canonical ones.
Also replace some %s for %1 for Qt's format strings.
---
src/vidalia/MainWindow.cpp | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/src/vidalia/MainWindow.cpp b/src/vidalia/MainWindow.cpp
index 77ad68c..acf7bdd 100644
--- a/src/vidalia/MainWindow.cpp
+++ b/src/vidalia/MainWindow.cpp
@@ -627,8 +627,8 @@ MainWindow::launchBrowserFromDirectory()
/** Directory for the browser */
QString browserDirectory = settings.getBrowserDirectory();
if(QDir(browserDirectory).isRelative())
- browserDirectory = QDir::toNativeSeparators(QCoreApplication::applicationDirPath()
- + "/" + browserDirectory);
+ browserDirectory = QDir(QDir::toNativeSeparators(QCoreApplication::applicationDirPath()
+ + "/" + browserDirectory)).canonicalPath();
/** Relative path to the browser executable from the browserDirectory */
QString browserExecutable = QDir::toNativeSeparators(browserDirectory + "/" + settings.getBrowserExecutable());
@@ -643,7 +643,7 @@ MainWindow::launchBrowserFromDirectory()
/** Relative path to the default plugins directory from the browserDirectory */
QString defaultPluginsDirectory = QDir::toNativeSeparators(settings.getDefaultPluginsDirectory());
- QString profileDir = browserDirectory + "/" + profileDirectory;
+ QString profileDir = QDir(browserDirectory + "/" + profileDirectory).canonicalPath();
_browserProcess->setEnvironment(updateBrowserEnv());
@@ -652,15 +652,15 @@ MainWindow::launchBrowserFromDirectory()
/* Copy the profile directory if it's not already there */
if (!browserDirObj.exists(profileDirectory)) {
browserDirObj.mkdir(profileDirectory);
- copy_dir(browserDirectory + "/" + defaultProfileDirectory,
- browserDirectory + "/" + profileDirectory);
+ copy_dir(QDir(browserDirectory + "/" + defaultProfileDirectory).canonicalPath(),
+ QDir(browserDirectory + "/" + profileDirectory).canonicalPath());
}
/* Copy the pluginss directory if it's not already there */
if (!browserDirObj.exists(pluginsDirectory)) {
browserDirObj.mkdir(pluginsDirectory);
- copy_dir(browserDirectory + "/" + defaultPluginsDirectory,
- browserDirectory + "/" + pluginsDirectory);
+ copy_dir(QDir(browserDirectory + "/" + defaultPluginsDirectory).canonicalPath(),
+ QDir(browserDirectory + "/" + pluginsDirectory).canonicalPath());
}
/* Build the command line arguments */
@@ -1092,7 +1092,7 @@ MainWindow::start()
if(QDir(dataDirectory).isRelative())
dataDirectory = QCoreApplication::applicationDirPath() + "/" + dataDirectory;
- QString expDataDirectory = expand_filename(dataDirectory);
+ QString expDataDirectory = QDir(expand_filename(dataDirectory)).canonicalPath();
if (!dataDirectory.isEmpty())
args << "DataDirectory" << expDataDirectory;
@@ -1100,7 +1100,7 @@ MainWindow::start()
if(settings.autoControlPort()) {
QString portconf = QString("%1/port.conf").arg(expDataDirectory);
if(!QFile::remove(portconf))
- vWarn(QString("Unable to remove %s, may be it didn't existed.").arg(portconf));
+ vWarn(QString("Unable to remove %1, may be it didn't existed.").arg(portconf));
args << "ControlPort" << "auto";
args << "SocksPort" << "auto";
@@ -1211,7 +1211,10 @@ MainWindow::started()
/* Try to connect to Tor's control port */
if(settings.autoControlPort()) {
QString dataDirectory = settings.getDataDirectory();
- QFile file(QString("%1/port.conf").arg(expand_filename(dataDirectory)));
+ if(QDir(dataDirectory).isRelative())
+ dataDirectory = QCoreApplication::applicationDirPath() + "/" + dataDirectory;
+
+ QFile file(QString("%1/port.conf").arg(QDir(expand_filename(dataDirectory)).canonicalPath()));
int tries = 0, maxtries = 5;
while((!file.open(QIODevice::ReadOnly | QIODevice::Text)) and
(tries++ < maxtries)) {
@@ -1467,7 +1470,7 @@ MainWindow::authenticate()
cookie = loadControlCookie(cookieDir);
}
if(cookie.size() != 32) {
- vWarn(QString("Cookie length has to be exactly 32 bytes long. Found %s bytes")
+ vWarn(QString("Cookie length has to be exactly 32 bytes long. Found %1 bytes")
.arg(cookie.size()));
goto cancel;
}
More information about the tor-commits
mailing list