diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2021-09-03 00:22:37 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-09-03 08:59:34 +0200 |
commit | 7739e1a02dd40a78b4e02c01b1d7087bdfc83291 (patch) | |
tree | 0b529c889377df900ebc54a3ad333f29a68518fd /source/l/cryfs | |
parent | 50cb4bf29437db95a1f034741d6bdc2b70f1550d (diff) | |
download | current-7739e1a02dd40a78b4e02c01b1d7087bdfc83291.tar.gz |
Fri Sep 3 00:22:37 UTC 202120210903002237
a/hwdata-0.351-noarch-1.txz: Upgraded.
d/strace-5.14-x86_64-1.txz: Upgraded.
kde/akonadi-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-calendar-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-calendar-tools-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-contacts-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-import-wizard-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-mime-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-notes-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadi-search-21.08.1-x86_64-1.txz: Upgraded.
kde/akonadiconsole-21.08.1-x86_64-1.txz: Upgraded.
kde/akregator-21.08.1-x86_64-1.txz: Upgraded.
kde/analitza-21.08.1-x86_64-1.txz: Upgraded.
kde/ark-21.08.1-x86_64-1.txz: Upgraded.
kde/artikulate-21.08.1-x86_64-1.txz: Upgraded.
kde/audiocd-kio-21.08.1-x86_64-1.txz: Upgraded.
kde/baloo-widgets-21.08.1-x86_64-1.txz: Upgraded.
kde/blinken-21.08.1-x86_64-1.txz: Upgraded.
kde/bomber-21.08.1-x86_64-1.txz: Upgraded.
kde/bovo-21.08.1-x86_64-1.txz: Upgraded.
kde/calendarsupport-21.08.1-x86_64-1.txz: Upgraded.
kde/calligra-3.2.1-x86_64-11.txz: Rebuilt.
Recompiled against poppler-21.09.0.
kde/cantor-21.08.1-x86_64-1.txz: Upgraded.
kde/cervisia-21.08.1-x86_64-1.txz: Upgraded.
kde/dolphin-21.08.1-x86_64-1.txz: Upgraded.
kde/dolphin-plugins-21.08.1-x86_64-1.txz: Upgraded.
kde/dragon-21.08.1-x86_64-1.txz: Upgraded.
kde/elisa-21.08.1-x86_64-1.txz: Upgraded.
kde/eventviews-21.08.1-x86_64-1.txz: Upgraded.
kde/ffmpegthumbs-21.08.1-x86_64-1.txz: Upgraded.
kde/filelight-21.08.1-x86_64-1.txz: Upgraded.
kde/granatier-21.08.1-x86_64-1.txz: Upgraded.
kde/grantlee-editor-21.08.1-x86_64-1.txz: Upgraded.
kde/grantleetheme-21.08.1-x86_64-1.txz: Upgraded.
kde/gwenview-21.08.1-x86_64-1.txz: Upgraded.
kde/incidenceeditor-21.08.1-x86_64-1.txz: Upgraded.
kde/itinerary-21.08.1-x86_64-1.txz: Upgraded.
kde/juk-21.08.1-x86_64-1.txz: Upgraded.
kde/k3b-21.08.1-x86_64-1.txz: Upgraded.
kde/kaddressbook-21.08.1-x86_64-1.txz: Upgraded.
kde/kalarm-21.08.1-x86_64-1.txz: Upgraded.
kde/kalarmcal-21.08.1-x86_64-1.txz: Upgraded.
kde/kalgebra-21.08.1-x86_64-1.txz: Upgraded.
kde/kalzium-21.08.1-x86_64-1.txz: Upgraded.
kde/kamera-21.08.1-x86_64-1.txz: Upgraded.
kde/kamoso-21.08.1-x86_64-1.txz: Upgraded.
kde/kanagram-21.08.1-x86_64-1.txz: Upgraded.
kde/kapman-21.08.1-x86_64-1.txz: Upgraded.
kde/kapptemplate-21.08.1-x86_64-1.txz: Upgraded.
kde/kate-21.08.1-x86_64-1.txz: Upgraded.
kde/katomic-21.08.1-x86_64-1.txz: Upgraded.
kde/kbackup-21.08.1-x86_64-1.txz: Upgraded.
kde/kblackbox-21.08.1-x86_64-1.txz: Upgraded.
kde/kblocks-21.08.1-x86_64-1.txz: Upgraded.
kde/kbounce-21.08.1-x86_64-1.txz: Upgraded.
kde/kbreakout-21.08.1-x86_64-1.txz: Upgraded.
kde/kbruch-21.08.1-x86_64-1.txz: Upgraded.
kde/kcachegrind-21.08.1-x86_64-1.txz: Upgraded.
kde/kcalc-21.08.1-x86_64-1.txz: Upgraded.
kde/kcalutils-21.08.1-x86_64-1.txz: Upgraded.
kde/kcharselect-21.08.1-x86_64-1.txz: Upgraded.
kde/kcolorchooser-21.08.1-x86_64-1.txz: Upgraded.
kde/kcron-21.08.1-x86_64-1.txz: Upgraded.
kde/kde-dev-scripts-21.08.1-x86_64-1.txz: Upgraded.
kde/kde-dev-utils-21.08.1-x86_64-1.txz: Upgraded.
kde/kdebugsettings-21.08.1-x86_64-1.txz: Upgraded.
kde/kdeconnect-kde-21.08.1-x86_64-1.txz: Upgraded.
kde/kdeedu-data-21.08.1-x86_64-1.txz: Upgraded.
kde/kdegraphics-mobipocket-21.08.1-x86_64-1.txz: Upgraded.
kde/kdegraphics-thumbnailers-21.08.1-x86_64-1.txz: Upgraded.
kde/kdenetwork-filesharing-21.08.1-x86_64-1.txz: Upgraded.
kde/kdenlive-21.08.1-x86_64-1.txz: Upgraded.
kde/kdepim-addons-21.08.1-x86_64-1.txz: Upgraded.
kde/kdepim-runtime-21.08.1-x86_64-1.txz: Upgraded.
kde/kdesdk-kioslaves-21.08.1-x86_64-1.txz: Upgraded.
kde/kdesdk-thumbnailers-21.08.1-x86_64-1.txz: Upgraded.
kde/kdf-21.08.1-x86_64-1.txz: Upgraded.
kde/kdialog-21.08.1-x86_64-1.txz: Upgraded.
kde/kdiamond-21.08.1-x86_64-1.txz: Upgraded.
kde/keditbookmarks-21.08.1-x86_64-1.txz: Upgraded.
kde/kfilemetadata-5.85.0-x86_64-2.txz: Rebuilt.
Recompiled against poppler-21.09.0.
kde/kfind-21.08.1-x86_64-1.txz: Upgraded.
kde/kfloppy-21.08.1-x86_64-1.txz: Upgraded.
kde/kfourinline-21.08.1-x86_64-1.txz: Upgraded.
kde/kgeography-21.08.1-x86_64-1.txz: Upgraded.
kde/kget-21.08.1-x86_64-1.txz: Upgraded.
kde/kgoldrunner-21.08.1-x86_64-1.txz: Upgraded.
kde/kgpg-21.08.1-x86_64-1.txz: Upgraded.
kde/khangman-21.08.1-x86_64-1.txz: Upgraded.
kde/khelpcenter-21.08.1-x86_64-1.txz: Upgraded.
kde/kidentitymanagement-21.08.1-x86_64-1.txz: Upgraded.
kde/kig-21.08.1-x86_64-1.txz: Upgraded.
kde/kigo-21.08.1-x86_64-1.txz: Upgraded.
kde/kile-2.9.93-x86_64-11.txz: Rebuilt.
Recompiled against poppler-21.09.0.
kde/killbots-21.08.1-x86_64-1.txz: Upgraded.
kde/kimagemapeditor-21.08.1-x86_64-1.txz: Upgraded.
kde/kimap-21.08.1-x86_64-1.txz: Upgraded.
kde/kio-extras-21.08.1-x86_64-1.txz: Upgraded.
kde/kio-gdrive-21.08.1-x86_64-1.txz: Upgraded.
kde/kipi-plugins-21.08.1-x86_64-1.txz: Upgraded.
kde/kirigami-gallery-21.08.1-x86_64-1.txz: Upgraded.
kde/kiriki-21.08.1-x86_64-1.txz: Upgraded.
kde/kiten-21.08.1-x86_64-1.txz: Upgraded.
kde/kitinerary-21.08.1-x86_64-1.txz: Upgraded.
kde/kjumpingcube-21.08.1-x86_64-1.txz: Upgraded.
kde/kldap-21.08.1-x86_64-1.txz: Upgraded.
kde/kleopatra-21.08.1-x86_64-1.txz: Upgraded.
kde/klickety-21.08.1-x86_64-1.txz: Upgraded.
kde/klines-21.08.1-x86_64-1.txz: Upgraded.
kde/kmag-21.08.1-x86_64-1.txz: Upgraded.
kde/kmahjongg-21.08.1-x86_64-1.txz: Upgraded.
kde/kmail-21.08.1-x86_64-1.txz: Upgraded.
kde/kmail-account-wizard-21.08.1-x86_64-1.txz: Upgraded.
kde/kmailtransport-21.08.1-x86_64-1.txz: Upgraded.
kde/kmbox-21.08.1-x86_64-1.txz: Upgraded.
kde/kmime-21.08.1-x86_64-1.txz: Upgraded.
kde/kmines-21.08.1-x86_64-1.txz: Upgraded.
kde/kmix-21.08.1-x86_64-1.txz: Upgraded.
kde/kmousetool-21.08.1-x86_64-1.txz: Upgraded.
kde/kmouth-21.08.1-x86_64-1.txz: Upgraded.
kde/kmplot-21.08.1-x86_64-1.txz: Upgraded.
kde/knavalbattle-21.08.1-x86_64-1.txz: Upgraded.
kde/knetwalk-21.08.1-x86_64-1.txz: Upgraded.
kde/knights-21.08.1-x86_64-1.txz: Upgraded.
kde/knotes-21.08.1-x86_64-1.txz: Upgraded.
kde/kolf-21.08.1-x86_64-1.txz: Upgraded.
kde/kollision-21.08.1-x86_64-1.txz: Upgraded.
kde/kolourpaint-21.08.1-x86_64-1.txz: Upgraded.
kde/kompare-21.08.1-x86_64-1.txz: Upgraded.
kde/konqueror-21.08.1-x86_64-1.txz: Upgraded.
kde/konquest-21.08.1-x86_64-1.txz: Upgraded.
kde/konsole-21.08.1-x86_64-1.txz: Upgraded.
kde/kontact-21.08.1-x86_64-1.txz: Upgraded.
kde/kontactinterface-21.08.1-x86_64-1.txz: Upgraded.
kde/kontrast-21.08.1-x86_64-1.txz: Upgraded.
kde/konversation-21.08.1-x86_64-1.txz: Upgraded.
kde/kopeninghours-21.08.1-x86_64-1.txz: Upgraded.
kde/kopete-21.08.1-x86_64-1.txz: Upgraded.
kde/korganizer-21.08.1-x86_64-1.txz: Upgraded.
kde/kosmindoormap-21.08.1-x86_64-1.txz: Upgraded.
kde/kpat-21.08.1-x86_64-1.txz: Upgraded.
kde/kpimtextedit-21.08.1-x86_64-1.txz: Upgraded.
kde/kpkpass-21.08.1-x86_64-1.txz: Upgraded.
kde/kpmcore-21.08.1-x86_64-1.txz: Upgraded.
kde/kpublictransport-21.08.1-x86_64-1.txz: Upgraded.
kde/kqtquickcharts-21.08.1-x86_64-1.txz: Upgraded.
kde/krdc-21.08.1-x86_64-1.txz: Upgraded.
kde/kreversi-21.08.1-x86_64-1.txz: Upgraded.
kde/krfb-21.08.1-x86_64-1.txz: Upgraded.
kde/krita-4.4.8-x86_64-2.txz: Rebuilt.
Recompiled against poppler-21.09.0.
kde/kross-interpreters-21.08.1-x86_64-1.txz: Upgraded.
kde/kruler-21.08.1-x86_64-1.txz: Upgraded.
kde/kshisen-21.08.1-x86_64-1.txz: Upgraded.
kde/ksirk-21.08.1-x86_64-1.txz: Upgraded.
kde/ksmtp-21.08.1-x86_64-1.txz: Upgraded.
kde/ksnakeduel-21.08.1-x86_64-1.txz: Upgraded.
kde/kspaceduel-21.08.1-x86_64-1.txz: Upgraded.
kde/ksquares-21.08.1-x86_64-1.txz: Upgraded.
kde/ksudoku-21.08.1-x86_64-1.txz: Upgraded.
kde/ksystemlog-21.08.1-x86_64-1.txz: Upgraded.
kde/kteatime-21.08.1-x86_64-1.txz: Upgraded.
kde/ktimer-21.08.1-x86_64-1.txz: Upgraded.
kde/ktnef-21.08.1-x86_64-1.txz: Upgraded.
kde/ktorrent-21.08.1-x86_64-1.txz: Upgraded.
kde/ktouch-21.08.1-x86_64-1.txz: Upgraded.
kde/kturtle-21.08.1-x86_64-1.txz: Upgraded.
kde/kubrick-21.08.1-x86_64-1.txz: Upgraded.
kde/kwalletmanager-21.08.1-x86_64-1.txz: Upgraded.
kde/kwave-21.08.1-x86_64-1.txz: Upgraded.
kde/kwordquiz-21.08.1-x86_64-1.txz: Upgraded.
kde/libgravatar-21.08.1-x86_64-1.txz: Upgraded.
kde/libkcddb-21.08.1-x86_64-1.txz: Upgraded.
kde/libkcompactdisc-21.08.1-x86_64-1.txz: Upgraded.
kde/libkdcraw-21.08.1-x86_64-1.txz: Upgraded.
kde/libkdegames-21.08.1-x86_64-1.txz: Upgraded.
kde/libkdepim-21.08.1-x86_64-1.txz: Upgraded.
kde/libkeduvocdocument-21.08.1-x86_64-1.txz: Upgraded.
kde/libkexiv2-21.08.1-x86_64-1.txz: Upgraded.
kde/libkgapi-21.08.1-x86_64-1.txz: Upgraded.
kde/libkipi-21.08.1-x86_64-1.txz: Upgraded.
kde/libkleo-21.08.1-x86_64-1.txz: Upgraded.
kde/libkmahjongg-21.08.1-x86_64-1.txz: Upgraded.
kde/libkomparediff2-21.08.1-x86_64-1.txz: Upgraded.
kde/libksane-21.08.1-x86_64-1.txz: Upgraded.
kde/libksieve-21.08.1-x86_64-1.txz: Upgraded.
kde/libktorrent-21.08.1-x86_64-1.txz: Upgraded.
kde/lokalize-21.08.1-x86_64-1.txz: Upgraded.
kde/lskat-21.08.1-x86_64-1.txz: Upgraded.
kde/mailcommon-21.08.1-x86_64-1.txz: Upgraded.
kde/mailimporter-21.08.1-x86_64-1.txz: Upgraded.
kde/marble-21.08.1-x86_64-1.txz: Upgraded.
kde/markdownpart-21.08.1-x86_64-1.txz: Upgraded.
kde/mbox-importer-21.08.1-x86_64-1.txz: Upgraded.
kde/messagelib-21.08.1-x86_64-1.txz: Upgraded.
kde/minuet-21.08.1-x86_64-1.txz: Upgraded.
kde/okular-21.08.1-x86_64-1.txz: Upgraded.
kde/palapeli-21.08.1-x86_64-1.txz: Upgraded.
kde/parley-21.08.1-x86_64-1.txz: Upgraded.
kde/partitionmanager-21.08.1-x86_64-1.txz: Upgraded.
kde/picmi-21.08.1-x86_64-1.txz: Upgraded.
kde/pim-data-exporter-21.08.1-x86_64-1.txz: Upgraded.
kde/pim-sieve-editor-21.08.1-x86_64-1.txz: Upgraded.
kde/pimcommon-21.08.1-x86_64-1.txz: Upgraded.
kde/poxml-21.08.1-x86_64-1.txz: Upgraded.
kde/print-manager-21.08.1-x86_64-1.txz: Upgraded.
kde/rocs-21.08.1-x86_64-1.txz: Upgraded.
kde/skanlite-21.08.1-x86_64-1.txz: Upgraded.
kde/spectacle-21.08.1-x86_64-1.txz: Upgraded.
kde/step-21.08.1-x86_64-1.txz: Upgraded.
kde/svgpart-21.08.1-x86_64-1.txz: Upgraded.
kde/sweeper-21.08.1-x86_64-1.txz: Upgraded.
kde/umbrello-21.08.1-x86_64-1.txz: Upgraded.
kde/yakuake-21.08.1-x86_64-1.txz: Upgraded.
kde/zeroconf-ioslave-21.08.1-x86_64-1.txz: Upgraded.
l/gdbm-1.21-x86_64-1.txz: Upgraded.
l/glib2-2.68.4-x86_64-3.txz: Rebuilt.
/etc/profile.d/libglib2.csh: Don't use bash syntax. Thanks to theodore.s.
l/poppler-21.09.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/python-pillow-8.3.2-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l/cryfs')
-rw-r--r-- | source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch | 27 | ||||
-rw-r--r-- | source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch | 297 | ||||
-rwxr-xr-x | source/l/cryfs/cryfs.SlackBuild | 10 |
3 files changed, 332 insertions, 2 deletions
diff --git a/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch b/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch new file mode 100644 index 00000000..22d8b344 --- /dev/null +++ b/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch @@ -0,0 +1,27 @@ +From 041b5baea5a4efceff33df2f316646b47a1cd7c0 Mon Sep 17 00:00:00 2001 +From: Sam James <11667869+thesamesam@users.noreply.github.com> +Date: Sat, 14 Aug 2021 17:29:24 +0100 +Subject: [PATCH] src/fspp/fuse/Fuse.h: add <memory.h> include for + std::shared_ptr (#395) + +Needed to fix build with Boost 1.77 (some indirect inclusion +got lost). + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/fspp/fuse/Fuse.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/fspp/fuse/Fuse.h b/src/fspp/fuse/Fuse.h +index 2dd3c2d4d..3841e38a4 100644 +--- a/src/fspp/fuse/Fuse.h ++++ b/src/fspp/fuse/Fuse.h +@@ -11,6 +11,7 @@ + #include <boost/optional.hpp> + #include <cpp-utils/macros.h> + #include <atomic> ++#include <memory> + #include "stat_compatibility.h" + #include <fspp/fs_interface/Context.h> + + diff --git a/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch b/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch new file mode 100644 index 00000000..0d739b07 --- /dev/null +++ b/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch @@ -0,0 +1,297 @@ +From 27587ea1acec5f939a31217f1c43953378f18821 Mon Sep 17 00:00:00 2001 +From: Sebastian Messmer <messmer@cryfs.org> +Date: Sat, 8 May 2021 14:44:27 -0700 +Subject: [PATCH] Fixed an issue when compiling with GCC 11, see + https://github.com/cryfs/cryfs/issues/389 + +--- + ChangeLog.txt | 5 ++ + .../onblocks/datanodestore/DataNodeView.h | 8 +-- + .../filesystem/fsblobstore/utils/DirEntry.cpp | 66 +++++++++---------- + src/cryfs/localstate/LocalStateMetadata.cpp | 24 +++---- + src/cryfs/localstate/LocalStateMetadata.h | 10 +-- + 5 files changed, 59 insertions(+), 54 deletions(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index f9776eb93..9d7a6708c 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -1,3 +1,8 @@ ++Version 0.10.4 (unreleased) ++-------------- ++Fixed bugs: ++* Fixed an issue when compiling with GCC 11, see https://github.com/cryfs/cryfs/issues/389 ++ + Version 0.10.3 + --------------- + Fixed bugs: +diff --git a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h +index 256c28495..3799612e3 100644 +--- a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h ++++ b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h +@@ -67,7 +67,7 @@ class DataNodeView final { + + static DataNodeView create(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + ASSERT(serialized.size() == layout.blocksizeBytes(), "Wrong block size"); + auto block = blockStore->create(serialized); + return DataNodeView(std::move(block)); +@@ -75,7 +75,7 @@ class DataNodeView final { + + static DataNodeView initialize(cpputils::unique_ref<blockstore::Block> block, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + ASSERT(data.size() <= DataNodeLayout(block->size()).datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + ASSERT(serialized.size() == block->size(), "Block has wrong size"); + block->write(serialized.data(), 0, serialized.size()); + return DataNodeView(std::move(block)); +@@ -83,7 +83,7 @@ class DataNodeView final { + + static DataNodeView overwrite(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, const blockstore::BlockId &blockId, cpputils::Data data) { + ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + auto block = blockStore->overwrite(blockId, std::move(serialized)); + return DataNodeView(std::move(block)); + } +@@ -143,7 +143,7 @@ class DataNodeView final { + } + + private: +- static cpputils::Data _serialize(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { ++ static cpputils::Data serialize_(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + cpputils::Data result(layout.blocksizeBytes()); + cpputils::serialize<uint16_t>(result.dataOffset(layout.FORMAT_VERSION_OFFSET_BYTES), formatVersion); + cpputils::serialize<uint8_t>(result.dataOffset(layout.DEPTH_OFFSET_BYTES), depth); +diff --git a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp +index 941148db9..70dd5a560 100644 +--- a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp ++++ b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp +@@ -11,55 +11,55 @@ namespace cryfs { + + namespace { + template<typename DataType> +- size_t _serialize(void* dst, const DataType& obj) { ++ size_t serialize_(void* dst, const DataType& obj) { + cpputils::serialize<DataType>(dst, obj); + return sizeof(DataType); + } + + template<typename DataType> +- DataType _deserialize(const char** src) { ++ DataType deserialize_(const char** src) { + DataType result = cpputils::deserialize<DataType>(*src); + *src += sizeof(DataType); + return result; + } + +- constexpr size_t _serializedTimeValueSize() { ++ constexpr size_t serializedTimeValueSize_() { + return sizeof(uint64_t) + sizeof(uint32_t); + } + +- unsigned int _serializeTimeValue(uint8_t *dest, timespec value) { ++ unsigned int serializeTimeValue_(uint8_t *dest, timespec value) { + unsigned int offset = 0; +- offset += _serialize<uint64_t>(dest + offset, value.tv_sec); +- offset += _serialize<uint32_t>(dest + offset, value.tv_nsec); +- ASSERT(offset == _serializedTimeValueSize(), "serialized to wrong size"); ++ offset += serialize_<uint64_t>(dest + offset, value.tv_sec); ++ offset += serialize_<uint32_t>(dest + offset, value.tv_nsec); ++ ASSERT(offset == serializedTimeValueSize_(), "serialized to wrong size"); + return offset; + } + +- timespec _deserializeTimeValue(const char **pos) { ++ timespec deserializeTimeValue_(const char **pos) { + timespec value{}; +- value.tv_sec = _deserialize<uint64_t>(pos); +- value.tv_nsec = _deserialize<uint32_t>(pos); ++ value.tv_sec = deserialize_<uint64_t>(pos); ++ value.tv_nsec = deserialize_<uint32_t>(pos); + return value; + } + +- unsigned int _serializeString(uint8_t *dest, const string &value) { ++ unsigned int serializeString_(uint8_t *dest, const string &value) { + std::memcpy(dest, value.c_str(), value.size()+1); + return value.size() + 1; + } + +- string _deserializeString(const char **pos) { ++ string deserializeString_(const char **pos) { + size_t length = strlen(*pos); + string value(*pos, length); + *pos += length + 1; + return value; + } + +- unsigned int _serializeBlockId(uint8_t *dest, const BlockId &blockId) { ++ unsigned int serializeBlockId_(uint8_t *dest, const BlockId &blockId) { + blockId.ToBinary(dest); + return blockId.BINARY_LENGTH; + } + +- BlockId _deserializeBlockId(const char **pos) { ++ BlockId deserializeBlockId_(const char **pos) { + BlockId blockId = BlockId::FromBinary(*pos); + *pos += BlockId::BINARY_LENGTH; + return blockId; +@@ -75,35 +75,35 @@ namespace cryfs { + _mode.hasDirFlag()) + ", " + std::to_string(_mode.hasSymlinkFlag()) + ", " + std::to_string(static_cast<uint8_t>(_type)) + ); + unsigned int offset = 0; +- offset += _serialize<uint8_t>(dest + offset, static_cast<uint8_t>(_type)); +- offset += _serialize<uint32_t>(dest + offset, _mode.value()); +- offset += _serialize<uint32_t>(dest + offset, _uid.value()); +- offset += _serialize<uint32_t>(dest + offset, _gid.value()); +- offset += _serializeTimeValue(dest + offset, _lastAccessTime); +- offset += _serializeTimeValue(dest + offset, _lastModificationTime); +- offset += _serializeTimeValue(dest + offset, _lastMetadataChangeTime); +- offset += _serializeString(dest + offset, _name); +- offset += _serializeBlockId(dest + offset, _blockId); ++ offset += serialize_<uint8_t>(dest + offset, static_cast<uint8_t>(_type)); ++ offset += serialize_<uint32_t>(dest + offset, _mode.value()); ++ offset += serialize_<uint32_t>(dest + offset, _uid.value()); ++ offset += serialize_<uint32_t>(dest + offset, _gid.value()); ++ offset += serializeTimeValue_(dest + offset, _lastAccessTime); ++ offset += serializeTimeValue_(dest + offset, _lastModificationTime); ++ offset += serializeTimeValue_(dest + offset, _lastMetadataChangeTime); ++ offset += serializeString_(dest + offset, _name); ++ offset += serializeBlockId_(dest + offset, _blockId); + ASSERT(offset == serializedSize(), "Didn't write correct number of elements"); + } + + const char *DirEntry::deserializeAndAddToVector(const char *pos, vector<DirEntry> *result) { +- fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(_deserialize<uint8_t>(&pos)); +- fspp::mode_t mode = fspp::mode_t(_deserialize<uint32_t>(&pos)); +- fspp::uid_t uid = fspp::uid_t(_deserialize<uint32_t>(&pos)); +- fspp::gid_t gid = fspp::gid_t(_deserialize<uint32_t>(&pos)); +- timespec lastAccessTime = _deserializeTimeValue(&pos); +- timespec lastModificationTime = _deserializeTimeValue(&pos); +- timespec lastMetadataChangeTime = _deserializeTimeValue(&pos); +- string name = _deserializeString(&pos); +- BlockId blockId = _deserializeBlockId(&pos); ++ fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(deserialize_<uint8_t>(&pos)); ++ fspp::mode_t mode = fspp::mode_t(deserialize_<uint32_t>(&pos)); ++ fspp::uid_t uid = fspp::uid_t(deserialize_<uint32_t>(&pos)); ++ fspp::gid_t gid = fspp::gid_t(deserialize_<uint32_t>(&pos)); ++ timespec lastAccessTime = deserializeTimeValue_(&pos); ++ timespec lastModificationTime = deserializeTimeValue_(&pos); ++ timespec lastMetadataChangeTime = deserializeTimeValue_(&pos); ++ string name = deserializeString_(&pos); ++ BlockId blockId = deserializeBlockId_(&pos); + + result->emplace_back(type, name, blockId, mode, uid, gid, lastAccessTime, lastModificationTime, lastMetadataChangeTime); + return pos; + } + + size_t DirEntry::serializedSize() const { +- return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*_serializedTimeValueSize() + ( ++ return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*serializedTimeValueSize_() + ( + _name.size() + 1) + _blockId.BINARY_LENGTH; + } + } +diff --git a/src/cryfs/localstate/LocalStateMetadata.cpp b/src/cryfs/localstate/LocalStateMetadata.cpp +index 529a26129..dfa952a1a 100644 +--- a/src/cryfs/localstate/LocalStateMetadata.cpp ++++ b/src/cryfs/localstate/LocalStateMetadata.cpp +@@ -30,10 +30,10 @@ LocalStateMetadata::LocalStateMetadata(uint32_t myClientId, Hash encryptionKeyHa + + LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath, const Data& encryptionKey, bool allowReplacedFilesystem) { + auto metadataFile = statePath / "metadata"; +- auto loaded = _load(metadataFile); ++ auto loaded = load_(metadataFile); + if (loaded == none) { + // If it couldn't be loaded, generate a new client id. +- return _generate(metadataFile, encryptionKey); ++ return generate_(metadataFile, encryptionKey); + } + + if (!allowReplacedFilesystem && loaded->_encryptionKeyHash.digest != cpputils::hash::hash(encryptionKey, loaded->_encryptionKeyHash.salt).digest) { +@@ -42,22 +42,22 @@ LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath, + return *loaded; + } + +-optional<LocalStateMetadata> LocalStateMetadata::_load(const bf::path &metadataFilePath) { ++optional<LocalStateMetadata> LocalStateMetadata::load_(const bf::path &metadataFilePath) { + ifstream file(metadataFilePath.string()); + if (!file.good()) { + // State file doesn't exist + return none; + } +- return _deserialize(file); ++ return deserialize_(file); + } + +-void LocalStateMetadata::_save(const bf::path &metadataFilePath) const { ++void LocalStateMetadata::save_(const bf::path &metadataFilePath) const { + ofstream file(metadataFilePath.string(), std::ios::trunc); +- _serialize(file); ++ serialize_(file); + } + + namespace { +-uint32_t _generateClientId() { ++uint32_t generateClientId_() { + uint32_t result; + do { + result = cpputils::deserialize<uint32_t>(Random::PseudoRandom().getFixedSize<sizeof(uint32_t)>().data()); +@@ -82,8 +82,8 @@ optional<uint32_t> _tryLoadClientIdFromLegacyFile(const bf::path &metadataFilePa + #endif + } + +-LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePath, const Data& encryptionKey) { +- uint32_t myClientId = _generateClientId(); ++LocalStateMetadata LocalStateMetadata::generate_(const bf::path &metadataFilePath, const Data& encryptionKey) { ++ uint32_t myClientId = generateClientId_(); + #ifndef CRYFS_NO_COMPATIBILITY + // In the old format, this was stored in a "myClientId" file. If that file exists, load it from there. + optional<uint32_t> legacy = _tryLoadClientIdFromLegacyFile(metadataFilePath); +@@ -93,11 +93,11 @@ LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePat + #endif + + LocalStateMetadata result(myClientId, cpputils::hash::hash(encryptionKey, cpputils::hash::generateSalt())); +- result._save(metadataFilePath); ++ result.save_(metadataFilePath); + return result; + } + +-void LocalStateMetadata::_serialize(ostream& stream) const { ++void LocalStateMetadata::serialize_(ostream& stream) const { + ptree pt; + pt.put<uint32_t>("myClientId", myClientId()); + pt.put<string>("encryptionKey.salt", _encryptionKeyHash.salt.ToString()); +@@ -106,7 +106,7 @@ void LocalStateMetadata::_serialize(ostream& stream) const { + write_json(stream, pt); + } + +-LocalStateMetadata LocalStateMetadata::_deserialize(istream& stream) { ++LocalStateMetadata LocalStateMetadata::deserialize_(istream& stream) { + try { + ptree pt; + read_json(stream, pt); +diff --git a/src/cryfs/localstate/LocalStateMetadata.h b/src/cryfs/localstate/LocalStateMetadata.h +index 8b0ffc662..c06b0f05b 100644 +--- a/src/cryfs/localstate/LocalStateMetadata.h ++++ b/src/cryfs/localstate/LocalStateMetadata.h +@@ -20,11 +20,11 @@ class LocalStateMetadata final { + const uint32_t _myClientId; + const cpputils::hash::Hash _encryptionKeyHash; + +- static boost::optional<LocalStateMetadata> _load(const boost::filesystem::path &metadataFilePath); +- static LocalStateMetadata _deserialize(std::istream& stream); +- static LocalStateMetadata _generate(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey); +- void _save(const boost::filesystem::path &metadataFilePath) const; +- void _serialize(std::ostream& stream) const; ++ static boost::optional<LocalStateMetadata> load_(const boost::filesystem::path &metadataFilePath); ++ static LocalStateMetadata deserialize_(std::istream& stream); ++ static LocalStateMetadata generate_(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey); ++ void save_(const boost::filesystem::path &metadataFilePath) const; ++ void serialize_(std::ostream& stream) const; + + LocalStateMetadata(uint32_t myClientId, cpputils::hash::Hash encryptionKey); + }; + diff --git a/source/l/cryfs/cryfs.SlackBuild b/source/l/cryfs/cryfs.SlackBuild index 9738ab4f..e37b529b 100755 --- a/source/l/cryfs/cryfs.SlackBuild +++ b/source/l/cryfs/cryfs.SlackBuild @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL -# Copyright 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=cryfs VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -89,6 +89,12 @@ find . \ # Oddly, cryfs expects a static boost, so we'll need to hit it with the LART: export LDFLAGS="$SLKLDFLAGS -lboost_thread -lboost_program_options -lboost_filesystem -lboost_chrono -lcryptopp -lfuse" +# gcc11 fixes: +zcat $CWD/27587ea1acec5f939a31217f1c43953378f18821.patch.gz | patch -p1 --verbose || exit 1 + +# Boost 1.77.0 fix: +zcat $CWD/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch.gz | patch -p1 --verbose || exit 1 + # Configure, build, and install: mkdir cmake-build cd cmake-build |