mirror of
				https://git.wownero.com/wowlet/wowlet.git
				synced 2024-08-15 01:03:14 +00:00 
			
		
		
		
	Merge pull request 'Tor: properly overwrite old binary' (#334) from tobtoht/feather:docker_tor_openssl into master
Reviewed-on: https://git.wownero.com/feather/feather/pulls/334
This commit is contained in:
		
						commit
						c305bfd5a6
					
				
					 2 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
					@ -211,8 +211,12 @@ bool Tor::unpackBins() {
 | 
				
			||||||
    TorVersion embeddedVersion = this->stringToVersion(QString(TOR_VERSION));
 | 
					    TorVersion embeddedVersion = this->stringToVersion(QString(TOR_VERSION));
 | 
				
			||||||
    TorVersion filesystemVersion = this->getVersion(torPath);
 | 
					    TorVersion filesystemVersion = this->getVersion(torPath);
 | 
				
			||||||
    qDebug() << QString("Tor versions: embedded %1, filesystem %2").arg(embeddedVersion.toString(), filesystemVersion.toString());
 | 
					    qDebug() << QString("Tor versions: embedded %1, filesystem %2").arg(embeddedVersion.toString(), filesystemVersion.toString());
 | 
				
			||||||
    if (embeddedVersion > filesystemVersion) {
 | 
					    if (TorVersion::isValid(filesystemVersion) && (embeddedVersion > filesystemVersion)) {
 | 
				
			||||||
        QFile::remove(torPath);
 | 
					        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;
 | 
					    qDebug() << "Writing Tor executable to " << this->torPath;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,6 +54,10 @@ struct TorVersion
 | 
				
			||||||
                                          QString::number(patch), QString::number(release));
 | 
					                                          QString::number(patch), QString::number(release));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    static bool isValid(const TorVersion &v) {
 | 
				
			||||||
 | 
					        return v != TorVersion();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int major;
 | 
					    int major;
 | 
				
			||||||
    int minor;
 | 
					    int minor;
 | 
				
			||||||
    int patch;
 | 
					    int patch;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue