mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-22 02:01:08 +07:00
chore: fixed qr code with vpnkey processing
This commit is contained in:
@@ -155,9 +155,9 @@ bool ImportController::extractConfigFromData(QString data)
|
|||||||
if (m_configType == ConfigTypes::Invalid) {
|
if (m_configType == ConfigTypes::Invalid) {
|
||||||
config.replace("vpn://", "");
|
config.replace("vpn://", "");
|
||||||
QByteArray ba = QByteArray::fromBase64(config.toUtf8(), QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
|
QByteArray ba = QByteArray::fromBase64(config.toUtf8(), QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
|
||||||
QByteArray ba_uncompressed = qUncompress(ba);
|
QByteArray baUncompressed = qUncompress(ba);
|
||||||
if (!ba_uncompressed.isEmpty()) {
|
if (!baUncompressed.isEmpty()) {
|
||||||
ba = ba_uncompressed;
|
ba = baUncompressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
config = ba;
|
config = ba;
|
||||||
@@ -228,6 +228,21 @@ bool ImportController::extractConfigFromQr(const QByteArray &data)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_configType = checkConfigFormat(data);
|
||||||
|
if (m_configType == ConfigTypes::Invalid) {
|
||||||
|
QByteArray ba = QByteArray::fromBase64(data, QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
|
||||||
|
QByteArray baUncompressed = qUncompress(ba);
|
||||||
|
|
||||||
|
if (!baUncompressed.isEmpty()) {
|
||||||
|
ba = baUncompressed;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ba.isEmpty()) {
|
||||||
|
m_config = QJsonDocument::fromJson(ba).object();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user