diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | 0001-Add-support-for-Twofish-in-KeePass2-code.patch | 124 | ||||
-rw-r--r-- | 0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch | 186 | ||||
-rw-r--r-- | 0003-Use-the-correct-cipher-for-benchmark.patch | 132 | ||||
-rw-r--r-- | PKGBUILD | 26 |
5 files changed, 17 insertions, 463 deletions
@@ -18,18 +18,18 @@ pkgbase = keepassx2-twofish conflicts = keepassx2 options = !emptydirs source = https://www.keepassx.org/dev/attachments/download/100/keepassx-2.0-beta1.tar.gz - source = 0001-Add-support-for-Twofish-in-KeePass2-code.patch - source = 0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch - source = 0003-Use-the-correct-cipher-for-benchmark.patch + source = https://github.com/drizzt/keepassx/commit/759c71ededf5c2c6447e2c79ad4f172ebb52e479.patch + source = https://github.com/drizzt/keepassx/commit/75aac9901f9bcf8ce307abe8c26aeac18f7ce42c.patch + source = https://github.com/drizzt/keepassx/commit/759347a803b2df45a2f70d46f718ee6fef072732.patch source = https://github.com/sevanteri/keepassx/commit/56eeacd573853881e10bec14616eb90a8796d840.patch source = https://github.com/sevanteri/keepassx/commit/c8f91c2ecff58359c254e07e3e49889db53f7d29.patch source = https://github.com/sevanteri/keepassx/commit/3f8aef259dd9f3b73e291ce9ee74182e7b7521a3.patch source = https://github.com/sevanteri/keepassx/commit/f242f40fcbe6ec886b7de0aab7ffde16e9b65cee.patch source = https://github.com/sevanteri/keepassx/commit/3b1d4015904c1c3abd3484784c026c411b528873.patch sha256sums = bce1933c48fd33ef8043dd526d769fd9c454d1b63464c82a35e1f7a8689acbf2 - sha256sums = 68cfe8e862e35cd022becf3c81d67d4fa5f8b77fa84543042307e50f512152cd - sha256sums = db0b0a542fd45a7110f33cf23596c8e4bc70bee7ddf1b6f1c01a204245a1bed8 - sha256sums = f0855957af783a4f7d42331f99a539b4801015c313490cf89c004d37ec1a6f87 + sha256sums = 50335496b097ee4885ce08edf4b65397b067c02b89ca0081900851f82d1936b2 + sha256sums = 1d805b4853e87c0c8b01be3c9747865ffa1864474e45ca1a13cafb09304933ba + sha256sums = 9ed43b699221ccc151adea26f5feadd3fe33ec66201c47192a28a9a2950a310b sha256sums = 8688632602529700f3cb74dc904d1aacb40a07cd6f19269cfbf5e0b5644c562b sha256sums = 1c8723750894054f7cdcd0d64f0c20ec16a46d1777cc8e60b3bdcbe1f4ec14c4 sha256sums = 9b91ecda208882d54b4dfc2bf9e9dc4e4e3ac3c25ebaf9439c478d95abc65ff7 diff --git a/0001-Add-support-for-Twofish-in-KeePass2-code.patch b/0001-Add-support-for-Twofish-in-KeePass2-code.patch deleted file mode 100644 index f18f81106bda..000000000000 --- a/0001-Add-support-for-Twofish-in-KeePass2-code.patch +++ /dev/null @@ -1,124 +0,0 @@ -From c259ce3d6ae1476a8ad8b6093fc7c81efc24173e Mon Sep 17 00:00:00 2001 -From: Timothy Redaelli <timothy.redaelli@gmail.com> -Date: Tue, 4 Aug 2015 15:18:41 +0200 -Subject: [PATCH 1/3] Add support for Twofish in KeePass2 code - ---- - src/format/KeePass2.h | 1 + - src/format/KeePass2Reader.cpp | 25 ++++++++++++++++--------- - src/format/KeePass2Writer.cpp | 21 ++++++++++++++------- - 3 files changed, 31 insertions(+), 16 deletions(-) - -diff --git a/src/format/KeePass2.h b/src/format/KeePass2.h -index b49ae4f6..91ee4829 100644 ---- a/src/format/KeePass2.h -+++ b/src/format/KeePass2.h -@@ -33,6 +33,7 @@ namespace KeePass2 - const QSysInfo::Endian BYTEORDER = QSysInfo::LittleEndian; - - const Uuid CIPHER_AES = Uuid(QByteArray::fromHex("31c1f2e6bf714350be5805216afc5aff")); -+ const Uuid CIPHER_TWOFISH = Uuid(QByteArray::fromHex("ad68f29f576f4bb9a36ad47af965346c")); - - const QByteArray INNER_STREAM_SALSA20_IV("\xE8\x30\x09\x4B\x97\x20\x5D\x2A"); - -diff --git a/src/format/KeePass2Reader.cpp b/src/format/KeePass2Reader.cpp -index 2a25001c..9b5a8684 100644 ---- a/src/format/KeePass2Reader.cpp -+++ b/src/format/KeePass2Reader.cpp -@@ -44,6 +44,7 @@ KeePass2Reader::KeePass2Reader() - - Database* KeePass2Reader::readDatabase(QIODevice* device, const CompositeKey& key) - { -+ QScopedPointer<SymmetricCipherStream> cipherStream; - QScopedPointer<Database> db(new Database()); - m_db = db.data(); - m_device = device; -@@ -110,25 +111,31 @@ Database* KeePass2Reader::readDatabase(QIODevice* device, const CompositeKey& ke - hash.addData(m_db->transformedMasterKey()); - QByteArray finalKey = hash.result(); - -- SymmetricCipherStream cipherStream(m_device, SymmetricCipher::Aes256, -- SymmetricCipher::Cbc, SymmetricCipher::Decrypt); -- if (!cipherStream.init(finalKey, m_encryptionIV)) { -- raiseError(cipherStream.errorString()); -+ if (m_db->cipher() == KeePass2::CIPHER_AES) { -+ cipherStream.reset(new SymmetricCipherStream(m_device, SymmetricCipher::Aes256, -+ SymmetricCipher::Cbc, SymmetricCipher::Decrypt)); -+ } -+ else { -+ cipherStream.reset(new SymmetricCipherStream(m_device, SymmetricCipher::Twofish, -+ SymmetricCipher::Cbc, SymmetricCipher::Decrypt)); -+ } -+ if (!cipherStream->init(finalKey, m_encryptionIV)) { -+ raiseError(cipherStream->errorString()); - return Q_NULLPTR; - } -- if (!cipherStream.open(QIODevice::ReadOnly)) { -- raiseError(cipherStream.errorString()); -+ if (!cipherStream->open(QIODevice::ReadOnly)) { -+ raiseError(cipherStream->errorString()); - return Q_NULLPTR; - } - -- QByteArray realStart = cipherStream.read(32); -+ QByteArray realStart = cipherStream->read(32); - - if (realStart != m_streamStartBytes) { - raiseError(tr("Wrong key or database file is corrupt.")); - return Q_NULLPTR; - } - -- HashedBlockStream hashedStream(&cipherStream); -+ HashedBlockStream hashedStream(cipherStream.data()); - if (!hashedStream.open(QIODevice::ReadOnly)) { - raiseError(hashedStream.errorString()); - return Q_NULLPTR; -@@ -312,7 +319,7 @@ void KeePass2Reader::setCipher(const QByteArray& data) - else { - Uuid uuid(data); - -- if (uuid != KeePass2::CIPHER_AES) { -+ if (uuid != KeePass2::CIPHER_AES && uuid != KeePass2::CIPHER_TWOFISH) { - raiseError("Unsupported cipher"); - } - else { -diff --git a/src/format/KeePass2Writer.cpp b/src/format/KeePass2Writer.cpp -index f233ac73..4a6ad713 100644 ---- a/src/format/KeePass2Writer.cpp -+++ b/src/format/KeePass2Writer.cpp -@@ -86,18 +86,25 @@ void KeePass2Writer::writeDatabase(QIODevice* device, Database* db) - m_device = device; - QByteArray headerHash = CryptoHash::hash(header.data(), CryptoHash::Sha256); - CHECK_RETURN(writeData(header.data())); -+ QScopedPointer<SymmetricCipherStream> cipherStream; - -- SymmetricCipherStream cipherStream(device, SymmetricCipher::Aes256, SymmetricCipher::Cbc, -- SymmetricCipher::Encrypt); -- cipherStream.init(finalKey, encryptionIV); -- if (!cipherStream.open(QIODevice::WriteOnly)) { -- raiseError(cipherStream.errorString()); -+ if (db->cipher() == KeePass2::CIPHER_AES) { -+ cipherStream.reset(new SymmetricCipherStream(device, SymmetricCipher::Aes256, -+ SymmetricCipher::Cbc, SymmetricCipher::Encrypt)); -+ } -+ else { -+ cipherStream.reset(new SymmetricCipherStream(device, SymmetricCipher::Twofish, -+ SymmetricCipher::Cbc, SymmetricCipher::Encrypt)); -+ } -+ cipherStream->init(finalKey, encryptionIV); -+ if (!cipherStream->open(QIODevice::WriteOnly)) { -+ raiseError(cipherStream->errorString()); - return; - } -- m_device = &cipherStream; -+ m_device = cipherStream.data(); - CHECK_RETURN(writeData(startBytes)); - -- HashedBlockStream hashedStream(&cipherStream); -+ HashedBlockStream hashedStream(cipherStream.data()); - if (!hashedStream.open(QIODevice::WriteOnly)) { - raiseError(hashedStream.errorString()); - return; --- -2.5.0 - diff --git a/0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch b/0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch deleted file mode 100644 index 7bad02c2f1da..000000000000 --- a/0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 2bd441b8ef1f78f5a8e9d3a2aa452f47608b3fab Mon Sep 17 00:00:00 2001 -From: Timothy Redaelli <timothy.redaelli@gmail.com> -Date: Wed, 5 Aug 2015 15:23:49 +0200 -Subject: [PATCH 2/3] Add Algorithm label / ComboBox in Database settings form - ---- - src/gui/DatabaseSettingsWidget.cpp | 13 ++++++ - src/gui/DatabaseSettingsWidget.ui | 89 +++++++++++++++++++++++--------------- - 2 files changed, 68 insertions(+), 34 deletions(-) - -diff --git a/src/gui/DatabaseSettingsWidget.cpp b/src/gui/DatabaseSettingsWidget.cpp -index 007c44a0..34c55b5c 100644 ---- a/src/gui/DatabaseSettingsWidget.cpp -+++ b/src/gui/DatabaseSettingsWidget.cpp -@@ -21,6 +21,7 @@ - #include "core/Database.h" - #include "core/Group.h" - #include "core/Metadata.h" -+#include "format/KeePass2.h" - #include "keys/CompositeKey.h" - - DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget* parent) -@@ -53,6 +54,12 @@ void DatabaseSettingsWidget::load(Database* db) - m_ui->dbDescriptionEdit->setText(meta->description()); - m_ui->recycleBinEnabledCheckBox->setChecked(meta->recycleBinEnabled()); - m_ui->defaultUsernameEdit->setText(meta->defaultUserName()); -+ if (m_db->cipher() == KeePass2::CIPHER_AES) { -+ m_ui->AlgorithmComboBox->setCurrentIndex(0); -+ } -+ else { -+ m_ui->AlgorithmComboBox->setCurrentIndex(1); -+ } - m_ui->transformRoundsSpinBox->setValue(m_db->transformRounds()); - if (meta->historyMaxItems() > -1) { - m_ui->historyMaxItemsSpinBox->setValue(meta->historyMaxItems()); -@@ -82,6 +89,12 @@ void DatabaseSettingsWidget::save() - meta->setName(m_ui->dbNameEdit->text()); - meta->setDescription(m_ui->dbDescriptionEdit->text()); - meta->setDefaultUserName(m_ui->defaultUsernameEdit->text()); -+ if (m_ui->AlgorithmComboBox->currentIndex() == 0) { -+ m_db->setCipher(KeePass2::CIPHER_AES); -+ } -+ else { -+ m_db->setCipher(KeePass2::CIPHER_TWOFISH); -+ } - meta->setRecycleBinEnabled(m_ui->recycleBinEnabledCheckBox->isChecked()); - if (static_cast<quint64>(m_ui->transformRoundsSpinBox->value()) != m_db->transformRounds()) { - QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); -diff --git a/src/gui/DatabaseSettingsWidget.ui b/src/gui/DatabaseSettingsWidget.ui -index 5d1f3d9f..1c233bdd 100644 ---- a/src/gui/DatabaseSettingsWidget.ui -+++ b/src/gui/DatabaseSettingsWidget.ui -@@ -49,35 +49,7 @@ - <item row="2" column="1"> - <widget class="QLineEdit" name="dbDescriptionEdit"/> - </item> -- <item row="3" column="0"> -- <widget class="QLabel" name="transformRoundsLabel"> -- <property name="text"> -- <string>Transform rounds:</string> -- </property> -- </widget> -- </item> -- <item row="4" column="0"> -- <widget class="QLabel" name="defaultUsernameLabel"> -- <property name="text"> -- <string>Default username:</string> -- </property> -- </widget> -- </item> -- <item row="4" column="1"> -- <widget class="QLineEdit" name="defaultUsernameEdit"> -- <property name="enabled"> -- <bool>true</bool> -- </property> -- </widget> -- </item> -- <item row="5" column="0"> -- <widget class="QLabel" name="label"> -- <property name="text"> -- <string>Use recycle bin:</string> -- </property> -- </widget> -- </item> -- <item row="7" column="1"> -+ <item row="9" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QSpinBox" name="historyMaxSizeSpinBox"> -@@ -100,7 +72,7 @@ - </item> - </layout> - </item> -- <item row="6" column="1"> -+ <item row="8" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QSpinBox" name="historyMaxItemsSpinBox"> -@@ -117,7 +89,7 @@ - </item> - </layout> - </item> -- <item row="3" column="1"> -+ <item row="5" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QSpinBox" name="transformRoundsSpinBox"> -@@ -144,23 +116,72 @@ - </item> - </layout> - </item> -- <item row="6" column="0"> -+ <item row="8" column="0"> - <widget class="QCheckBox" name="historyMaxItemsCheckBox"> - <property name="text"> - <string>Max. history items:</string> - </property> - </widget> - </item> -- <item row="7" column="0"> -+ <item row="9" column="0"> - <widget class="QCheckBox" name="historyMaxSizeCheckBox"> - <property name="text"> - <string>Max. history size:</string> - </property> - </widget> - </item> -- <item row="5" column="1"> -+ <item row="5" column="0"> -+ <widget class="QLabel" name="transformRoundsLabel"> -+ <property name="text"> -+ <string>Transform rounds:</string> -+ </property> -+ </widget> -+ </item> -+ <item row="7" column="1"> - <widget class="QCheckBox" name="recycleBinEnabledCheckBox"/> - </item> -+ <item row="6" column="0"> -+ <widget class="QLabel" name="defaultUsernameLabel"> -+ <property name="text"> -+ <string>Default username:</string> -+ </property> -+ </widget> -+ </item> -+ <item row="7" column="0"> -+ <widget class="QLabel" name="label"> -+ <property name="text"> -+ <string>Use recycle bin:</string> -+ </property> -+ </widget> -+ </item> -+ <item row="6" column="1"> -+ <widget class="QLineEdit" name="defaultUsernameEdit"> -+ <property name="enabled"> -+ <bool>true</bool> -+ </property> -+ </widget> -+ </item> -+ <item row="4" column="0"> -+ <widget class="QLabel" name="AlgorithmLabel"> -+ <property name="text"> -+ <string>Algorithm:</string> -+ </property> -+ </widget> -+ </item> -+ <item row="4" column="1"> -+ <widget class="QComboBox" name="AlgorithmComboBox"> -+ <item> -+ <property name="text"> -+ <string>AES: 256 Bit (default)</string> -+ </property> -+ </item> -+ <item> -+ <property name="text"> -+ <string>Twofish: 256 Bit</string> -+ </property> -+ </item> -+ </widget> -+ </item> - </layout> - </item> - <item> --- -2.5.0 - diff --git a/0003-Use-the-correct-cipher-for-benchmark.patch b/0003-Use-the-correct-cipher-for-benchmark.patch deleted file mode 100644 index ea306e230cfb..000000000000 --- a/0003-Use-the-correct-cipher-for-benchmark.patch +++ /dev/null @@ -1,132 +0,0 @@ -From bb693692988026dabe68e8294fe9e17f99fe1499 Mon Sep 17 00:00:00 2001 -From: Timothy Redaelli <timothy.redaelli@gmail.com> -Date: Thu, 6 Aug 2015 15:12:37 +0200 -Subject: [PATCH 3/3] Use the correct cipher for benchmark - ---- - src/gui/DatabaseSettingsWidget.cpp | 10 +++++++++- - src/keys/CompositeKey.cpp | 11 ++++++----- - src/keys/CompositeKey.h | 3 ++- - src/keys/CompositeKey_p.h | 4 +++- - 4 files changed, 20 insertions(+), 8 deletions(-) - -diff --git a/src/gui/DatabaseSettingsWidget.cpp b/src/gui/DatabaseSettingsWidget.cpp -index 34c55b5c..ee50eae3 100644 ---- a/src/gui/DatabaseSettingsWidget.cpp -+++ b/src/gui/DatabaseSettingsWidget.cpp -@@ -21,9 +21,11 @@ - #include "core/Database.h" - #include "core/Group.h" - #include "core/Metadata.h" -+#include "crypto/SymmetricCipher.h" - #include "format/KeePass2.h" - #include "keys/CompositeKey.h" - -+ - DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget* parent) - : DialogyWidget(parent) - , m_ui(new Ui::DatabaseSettingsWidget()) -@@ -143,7 +145,13 @@ void DatabaseSettingsWidget::reject() - void DatabaseSettingsWidget::transformRoundsBenchmark() - { - QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); -- int rounds = CompositeKey::transformKeyBenchmark(1000); -+ int rounds; -+ if (m_ui->AlgorithmComboBox->currentIndex() == 0) { -+ rounds = CompositeKey::transformKeyBenchmark(1000, SymmetricCipher::Aes256); -+ } -+ else { -+ rounds = CompositeKey::transformKeyBenchmark(1000, SymmetricCipher::Twofish); -+ } - if (rounds != -1) { - m_ui->transformRoundsSpinBox->setValue(rounds); - } -diff --git a/src/keys/CompositeKey.cpp b/src/keys/CompositeKey.cpp -index 5bf9cae5..4326449b 100644 ---- a/src/keys/CompositeKey.cpp -+++ b/src/keys/CompositeKey.cpp -@@ -145,10 +145,10 @@ void CompositeKey::addKey(const Key& key) - m_keys.append(key.clone()); - } - --int CompositeKey::transformKeyBenchmark(int msec) -+int CompositeKey::transformKeyBenchmark(int msec, SymmetricCipher::Algorithm algo) - { -- TransformKeyBenchmarkThread thread1(msec); -- TransformKeyBenchmarkThread thread2(msec); -+ TransformKeyBenchmarkThread thread1(msec, algo); -+ TransformKeyBenchmarkThread thread2(msec, algo); - - thread1.start(); - thread2.start(); -@@ -160,8 +160,9 @@ int CompositeKey::transformKeyBenchmark(int msec) - } - - --TransformKeyBenchmarkThread::TransformKeyBenchmarkThread(int msec) -+TransformKeyBenchmarkThread::TransformKeyBenchmarkThread(int msec, SymmetricCipher::Algorithm algo) - : m_msec(msec) -+ , algo(algo) - , m_rounds(0) - { - Q_ASSERT(msec > 0); -@@ -178,7 +179,7 @@ void TransformKeyBenchmarkThread::run() - QByteArray seed = QByteArray(32, '\x4B'); - QByteArray iv(16, 0); - -- SymmetricCipher cipher(SymmetricCipher::Aes256, SymmetricCipher::Ecb, -+ SymmetricCipher cipher(algo, SymmetricCipher::Ecb, - SymmetricCipher::Encrypt); - cipher.init(seed, iv); - -diff --git a/src/keys/CompositeKey.h b/src/keys/CompositeKey.h -index 3290d367..0163c914 100644 ---- a/src/keys/CompositeKey.h -+++ b/src/keys/CompositeKey.h -@@ -20,6 +20,7 @@ - - #include <QList> - -+#include "crypto/SymmetricCipher.h" - #include "keys/Key.h" - - class CompositeKey : public Key -@@ -38,7 +39,7 @@ public: - bool* ok, QString* errorString) const; - void addKey(const Key& key); - -- static int transformKeyBenchmark(int msec); -+ static int transformKeyBenchmark(int msec, SymmetricCipher::Algorithm algo); - - private: - static QByteArray transformKeyRaw(const QByteArray& key, const QByteArray& seed, -diff --git a/src/keys/CompositeKey_p.h b/src/keys/CompositeKey_p.h -index 27fa7abc..9f321b2c 100644 ---- a/src/keys/CompositeKey_p.h -+++ b/src/keys/CompositeKey_p.h -@@ -19,19 +19,21 @@ - #define KEEPASSX_COMPOSITEKEY_P_H - - #include <QThread> -+#include "crypto/SymmetricCipher.h" - - class TransformKeyBenchmarkThread : public QThread - { - Q_OBJECT - - public: -- explicit TransformKeyBenchmarkThread(int msec); -+ explicit TransformKeyBenchmarkThread(int msec, SymmetricCipher::Algorithm algo); - int rounds(); - - protected: - void run(); - - private: -+ SymmetricCipher::Algorithm algo; - int m_msec; - int m_rounds; - }; --- -2.5.0 - @@ -15,9 +15,9 @@ conflicts=('keepassx' 'keepassx2-git' 'keepassx2') options=(!emptydirs) install=keepassx2.install source=("https://www.keepassx.org/dev/attachments/download/100/keepassx-2.0-${pkgver}.tar.gz" - 0001-Add-support-for-Twofish-in-KeePass2-code.patch - 0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch - 0003-Use-the-correct-cipher-for-benchmark.patch + https://github.com/drizzt/keepassx/commit/759c71ededf5c2c6447e2c79ad4f172ebb52e479.patch + https://github.com/drizzt/keepassx/commit/75aac9901f9bcf8ce307abe8c26aeac18f7ce42c.patch + https://github.com/drizzt/keepassx/commit/759347a803b2df45a2f70d46f718ee6fef072732.patch https://github.com/sevanteri/keepassx/commit/56eeacd573853881e10bec14616eb90a8796d840.patch https://github.com/sevanteri/keepassx/commit/c8f91c2ecff58359c254e07e3e49889db53f7d29.patch @@ -26,9 +26,9 @@ source=("https://www.keepassx.org/dev/attachments/download/100/keepassx-2.0-${pk https://github.com/sevanteri/keepassx/commit/3b1d4015904c1c3abd3484784c026c411b528873.patch ) sha256sums=('bce1933c48fd33ef8043dd526d769fd9c454d1b63464c82a35e1f7a8689acbf2' - '68cfe8e862e35cd022becf3c81d67d4fa5f8b77fa84543042307e50f512152cd' - 'db0b0a542fd45a7110f33cf23596c8e4bc70bee7ddf1b6f1c01a204245a1bed8' - 'f0855957af783a4f7d42331f99a539b4801015c313490cf89c004d37ec1a6f87' + '50335496b097ee4885ce08edf4b65397b067c02b89ca0081900851f82d1936b2' + '1d805b4853e87c0c8b01be3c9747865ffa1864474e45ca1a13cafb09304933ba' + '9ed43b699221ccc151adea26f5feadd3fe33ec66201c47192a28a9a2950a310b' '8688632602529700f3cb74dc904d1aacb40a07cd6f19269cfbf5e0b5644c562b' '1c8723750894054f7cdcd0d64f0c20ec16a46d1777cc8e60b3bdcbe1f4ec14c4' '9b91ecda208882d54b4dfc2bf9e9dc4e4e3ac3c25ebaf9439c478d95abc65ff7' @@ -43,15 +43,11 @@ prepare() { local x cd "keepassx-2.0-$pkgver" - patch -Np1 -i "$srcdir"/0001-Add-support-for-Twofish-in-KeePass2-code.patch - patch -Np1 -i "$srcdir"/0002-Add-Algorithm-label-ComboBox-in-Database-settings-fo.patch - patch -Np1 -i "$srcdir"/0003-Use-the-correct-cipher-for-benchmark.patch - - patch -Np1 -i "$srcdir"/56eeacd573853881e10bec14616eb90a8796d840.patch - patch -Np1 -i "$srcdir"/c8f91c2ecff58359c254e07e3e49889db53f7d29.patch - patch -Np1 -i "$srcdir"/3f8aef259dd9f3b73e291ce9ee74182e7b7521a3.patch - patch -Np1 -i "$srcdir"/f242f40fcbe6ec886b7de0aab7ffde16e9b65cee.patch - patch -Np1 -i "$srcdir"/3b1d4015904c1c3abd3484784c026c411b528873.patch + for x in ${source[@]}; do + [[ $x == *.patch ]] || continue + msg "Applying $x" + patch -Np1 -i "$srcdir"/${x##*/} + done } build() { |