chore: fixed qr code with vpnkey processing
This commit is contained in:
parent
5f6cd282d3
commit
48980c486e
1 changed files with 18 additions and 3 deletions
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue