Tor: properly overwrite old binary

This commit is contained in:
tobtoht
2021-02-05 19:43:14 +01:00
parent cfd1942b38
commit 69551efde3
2 changed files with 10 additions and 2 deletions
+6 -2
View File
@@ -211,8 +211,12 @@ bool Tor::unpackBins() {
TorVersion embeddedVersion = this->stringToVersion(QString(TOR_VERSION));
TorVersion filesystemVersion = this->getVersion(torPath);
qDebug() << QString("Tor versions: embedded %1, filesystem %2").arg(embeddedVersion.toString(), filesystemVersion.toString());
if (embeddedVersion > filesystemVersion) {
QFile::remove(torPath);
if (TorVersion::isValid(filesystemVersion) && (embeddedVersion > filesystemVersion)) {
qInfo() << "Embedded version is newer, overwriting.";
QFile::setPermissions(torPath, QFile::ReadOther | QFile::WriteOther);
if (!QFile::remove(torPath)) {
qWarning() << "Unable to remove old Tor binary";
};
}
qDebug() << "Writing Tor executable to " << this->torPath;