mirror of
https://github.com/lubosz/overte.git
synced 2025-08-12 00:12:38 +02:00
simpler cleanup of result from RSAKeypairGenerator
This commit is contained in:
parent
fa5f2571d7
commit
5de8601b43
3 changed files with 13 additions and 9 deletions
|
@ -598,16 +598,24 @@ void AccountManager::generateNewKeypair(bool isUserKeypair, const QUuid& domainI
|
||||||
generateThread->setObjectName("Account Manager Generator Thread");
|
generateThread->setObjectName("Account Manager Generator Thread");
|
||||||
|
|
||||||
// setup a keypair generator
|
// setup a keypair generator
|
||||||
RSAKeypairGenerator* keypairGenerator = new RSAKeypairGenerator();
|
RSAKeypairGenerator* keypairGenerator = new RSAKeypairGenerator { this };
|
||||||
|
|
||||||
if (!isUserKeypair) {
|
if (!isUserKeypair) {
|
||||||
keypairGenerator->setDomainID(domainID);
|
keypairGenerator->setDomainID(domainID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// start keypair generation when the thread starts
|
||||||
connect(generateThread, &QThread::started, keypairGenerator, &RSAKeypairGenerator::generateKeypair);
|
connect(generateThread, &QThread::started, keypairGenerator, &RSAKeypairGenerator::generateKeypair);
|
||||||
|
|
||||||
|
// handle success or failure of keypair generation
|
||||||
connect(keypairGenerator, &RSAKeypairGenerator::generatedKeypair, this, &AccountManager::processGeneratedKeypair);
|
connect(keypairGenerator, &RSAKeypairGenerator::generatedKeypair, this, &AccountManager::processGeneratedKeypair);
|
||||||
connect(keypairGenerator, &RSAKeypairGenerator::errorGeneratingKeypair,
|
connect(keypairGenerator, &RSAKeypairGenerator::errorGeneratingKeypair,
|
||||||
this, &AccountManager::handleKeypairGenerationError);
|
this, &AccountManager::handleKeypairGenerationError);
|
||||||
|
|
||||||
|
// cleanup the keypair generator and the thread once the generation succeeds or fails
|
||||||
|
connect(keypairGenerator, &RSAKeypairGenerator::generatedKeypair, keypairGenerator, &RSAKeypairGenerator::deleteLater);
|
||||||
|
connect(keypairGenerator, &RSAKeypairGenerator::errorGeneratingKeypair, keypairGenerator, &RSAKeypairGenerator::deleteLater);
|
||||||
|
|
||||||
connect(keypairGenerator, &QObject::destroyed, generateThread, &QThread::quit);
|
connect(keypairGenerator, &QObject::destroyed, generateThread, &QThread::quit);
|
||||||
connect(generateThread, &QThread::finished, generateThread, &QThread::deleteLater);
|
connect(generateThread, &QThread::finished, generateThread, &QThread::deleteLater);
|
||||||
|
|
||||||
|
@ -617,7 +625,7 @@ void AccountManager::generateNewKeypair(bool isUserKeypair, const QUuid& domainI
|
||||||
generateThread->start();
|
generateThread->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountManager::processGeneratedKeypair(const QByteArray& publicKey, const QByteArray& privateKey) {
|
void AccountManager::processGeneratedKeypair(QByteArray publicKey, QByteArray privateKey) {
|
||||||
|
|
||||||
qCDebug(networking) << "Generated 2048-bit RSA key-pair. Storing private key and uploading public key.";
|
qCDebug(networking) << "Generated 2048-bit RSA key-pair. Storing private key and uploading public key.";
|
||||||
|
|
||||||
|
@ -641,12 +649,8 @@ void AccountManager::processGeneratedKeypair(const QByteArray& publicKey, const
|
||||||
|
|
||||||
sendRequest(PUBLIC_KEY_UPDATE_PATH, AccountManagerAuth::Required, QNetworkAccessManager::PutOperation,
|
sendRequest(PUBLIC_KEY_UPDATE_PATH, AccountManagerAuth::Required, QNetworkAccessManager::PutOperation,
|
||||||
JSONCallbackParameters(), QByteArray(), requestMultiPart);
|
JSONCallbackParameters(), QByteArray(), requestMultiPart);
|
||||||
|
|
||||||
// get rid of the keypair generator now that we don't need it anymore
|
|
||||||
sender()->deleteLater();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountManager::handleKeypairGenerationError() {
|
void AccountManager::handleKeypairGenerationError() {
|
||||||
// for now there isn't anything we do with this except get the worker thread to clean up
|
qCritical() << "Error generating keypair - this is likely to cause authentication issues.";
|
||||||
sender()->deleteLater();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,7 +103,7 @@ signals:
|
||||||
private slots:
|
private slots:
|
||||||
void processReply();
|
void processReply();
|
||||||
void handleKeypairGenerationError();
|
void handleKeypairGenerationError();
|
||||||
void processGeneratedKeypair(const QByteArray& publicKey, const QByteArray& privateKey);
|
void processGeneratedKeypair(QByteArray publicKey, QByteArray privateKey);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AccountManager();
|
AccountManager();
|
||||||
|
|
|
@ -28,7 +28,7 @@ public slots:
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void errorGeneratingKeypair();
|
void errorGeneratingKeypair();
|
||||||
void generatedKeypair(const QByteArray& publicKey, const QByteArray& privateKey);
|
void generatedKeypair(QByteArray publicKey, QByteArray privateKey);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QUuid _domainID;
|
QUuid _domainID;
|
||||||
|
|
Loading…
Reference in a new issue