From b71a66f3a7e07427378a23eb42291ed3758e08b2 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Fri, 16 Sep 2022 19:50:14 +0200 Subject: EncryptedFileSource: Move Cipher enum into QXmppGlobal --- src/base/QXmppEncryptedFileSource.cpp | 23 ++++++++++++----------- src/base/QXmppEncryptedFileSource.h | 10 ++-------- src/base/QXmppGlobal.h | 11 +++++++++++ 3 files changed, 25 insertions(+), 19 deletions(-) (limited to 'src/base') diff --git a/src/base/QXmppEncryptedFileSource.cpp b/src/base/QXmppEncryptedFileSource.cpp index 37170492..3b718cda 100644 --- a/src/base/QXmppEncryptedFileSource.cpp +++ b/src/base/QXmppEncryptedFileSource.cpp @@ -13,12 +13,13 @@ #include #include -/// \cond +using namespace QXmpp; +/// \cond class QXmppEncryptedFileSourcePrivate : public QSharedData { public: - QXmppEncryptedFileSource::Cipher cipher = QXmppEncryptedFileSource::Aes128GcmNopadding; + Cipher cipher = Aes128GcmNoPad; QByteArray key; QByteArray iv; QVector hashes; @@ -27,27 +28,27 @@ public: QXMPP_PRIVATE_DEFINE_RULE_OF_SIX(QXmppEncryptedFileSource) -static QString cipherToString(QXmppEncryptedFileSource::Cipher cipher) +static QString cipherToString(Cipher cipher) { switch (cipher) { - case QXmppEncryptedFileSource::Aes128GcmNopadding: + case Aes128GcmNoPad: return "urn:xmpp:ciphers:aes-128-gcm-nopadding:0"; - case QXmppEncryptedFileSource::Aes256GcmNopadding: + case Aes256GcmNoPad: return "urn:xmpp:ciphers:aes-256-gcm-nopadding:0"; - case QXmppEncryptedFileSource::Aes256CbcPkcs7: + case Aes256CbcPkcs7: return "urn:xmpp:ciphers:aes-256-cbc-pkcs7:0"; } Q_UNREACHABLE(); } -static std::optional cipherFromString(const QString &cipher) +static std::optional cipherFromString(const QString &cipher) { if (cipher == "urn:xmpp:ciphers:aes-128-gcm-nopadding:0") { - return QXmppEncryptedFileSource::Aes128GcmNopadding; + return Aes128GcmNoPad; } else if (cipher == "urn:xmpp:ciphers:aes-256-gcm-nopadding:0") { - return QXmppEncryptedFileSource::Aes256GcmNopadding; + return Aes256GcmNoPad; } else if (cipher == "urn:xmpp:ciphers:aes-256-cbc-pkcs7:0") { - return QXmppEncryptedFileSource::Aes256CbcPkcs7; + return Aes256CbcPkcs7; } return {}; } @@ -67,7 +68,7 @@ QXmppEncryptedFileSource::QXmppEncryptedFileSource() } /// Returns the cipher that was used to encrypt the data in this file source -QXmppEncryptedFileSource::Cipher QXmppEncryptedFileSource::cipher() const +Cipher QXmppEncryptedFileSource::cipher() const { return d->cipher; } diff --git a/src/base/QXmppEncryptedFileSource.h b/src/base/QXmppEncryptedFileSource.h index 3d7a7c90..109ee487 100644 --- a/src/base/QXmppEncryptedFileSource.h +++ b/src/base/QXmppEncryptedFileSource.h @@ -20,17 +20,11 @@ class QXmppEncryptedFileSourcePrivate; class QXMPP_EXPORT QXmppEncryptedFileSource { public: - enum Cipher { - Aes128GcmNopadding, - Aes256GcmNopadding, - Aes256CbcPkcs7, - }; - QXmppEncryptedFileSource(); QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppEncryptedFileSource) - Cipher cipher() const; - void setCipher(Cipher newCipher); + QXmpp::Cipher cipher() const; + void setCipher(QXmpp::Cipher newCipher); const QByteArray &key() const; void setKey(const QByteArray &newKey); diff --git a/src/base/QXmppGlobal.h b/src/base/QXmppGlobal.h index 1f309112..f2389306 100644 --- a/src/base/QXmppGlobal.h +++ b/src/base/QXmppGlobal.h @@ -140,6 +140,17 @@ inline constexpr bool operator&(SceMode mode1, SceMode mode2) return mode1 == SceAll || mode1 == mode2; } +/// +/// Cipher for encrypting data streams and files. +/// +/// \since QXmpp 1.5 +/// +enum Cipher { + Aes128GcmNoPad, + Aes256GcmNoPad, + Aes256CbcPkcs7, +}; + /// /// An empty struct indicating success in results. /// -- cgit v1.2.3