gocryptfs: 1.1.1 -> 1.5

Bold marked applicable changelog entries:

- Support extended attributes (xattr) in forward mode<Paste>
- Add -fsck function
- Fix several symlink race attacks
- Use memory pools for buffer handling
- Parallelize file content encryption
- Use HKDF to derive separate keys for GCM and EME

+61 -28
+25 -19
pkgs/tools/filesystems/gocryptfs/default.nix
··· 1 - # This file was generated by go2nix. 2 - { stdenv, lib, buildGoPackage, fetchFromGitHub, pkgconfig, openssl }: 3 - 4 - with lib; 1 + # This file was generated by https://github.com/kamilchm/go2nix v1.2.1 2 + { stdenv, buildGoPackage, fetchFromGitHub, openssl, pandoc, pkgconfig }: 5 3 6 4 let 7 - goFuseVersion = substring 0 7 (head (filter ( 5 + version = "v1.5"; 6 + goFuseVersion = with stdenv.lib; substring 0 7 (head (filter ( 8 7 d: d.goPackagePath == "github.com/hanwen/go-fuse" 9 8 ) (import ./deps.nix))).fetch.rev; 10 - in buildGoPackage rec { 9 + in 10 + buildGoPackage rec { 11 11 name = "gocryptfs-${version}"; 12 - version = "1.1.1"; 13 - rev = "v${version}"; 14 12 15 13 goPackagePath = "github.com/rfjakob/gocryptfs"; 14 + 15 + nativeBuildInputs = [ pandoc pkgconfig ]; 16 + buildInputs = [ openssl ]; 16 17 17 18 src = fetchFromGitHub { 18 - inherit rev; 19 19 owner = "rfjakob"; 20 20 repo = "gocryptfs"; 21 - sha256 = "0p173x2s0km7a43h6ihir5p19fdlkkb9lc9120k9hccr33iws25z"; 21 + rev = version; 22 + sha256 = "0s5smjc7n9088n8a2mv7cy3cx31ci13i1i8fhg1vslc17a15qs2d"; 22 23 }; 23 24 24 - nativeBuildInputs = [ pkgconfig ]; 25 - buildInputs = [ openssl]; 26 - 27 - goDeps = ./deps.nix; 28 - 29 25 postPatch = "rm -r tests"; 30 26 31 27 buildFlagsArray = '' 32 28 -ldflags= 33 - -X main.GitVersion=${rev} 29 + -X main.GitVersion=${version} 34 30 -X main.GitVersionFuse=${goFuseVersion} 35 31 ''; 36 32 37 - meta = { 33 + goDeps = ./deps.nix; 34 + 35 + postBuild = '' 36 + pushd go/src/github.com/rfjakob/gocryptfs/Documentation/ 37 + mkdir -p $out/share/man/man1 38 + pandoc MANPAGE.md -s -t man -o $out/share/man/man1/gocryptfs.1 39 + pandoc MANPAGE-XRAY.md -s -t man -o $out/share/man/man1/gocryptfs-xray.1 40 + popd 41 + ''; 42 + 43 + meta = with stdenv.lib; { 38 44 description = "Encrypted overlay filesystem written in Go"; 39 45 license = licenses.mit; 40 46 homepage = https://nuetzlich.net/gocryptfs/; 41 - maintainers = with maintainers; [offline]; 42 - platforms = with platforms; linux; 47 + maintainers = with maintainers; [ flokli offline ]; 48 + platforms = platforms.unix; 43 49 }; 44 50 }
+36 -9
pkgs/tools/filesystems/gocryptfs/deps.nix
··· 1 - # This file was generated by go2nix. 1 + # This file was generated by https://github.com/kamilchm/go2nix v1.2.1 2 2 [ 3 3 { 4 4 goPackagePath = "github.com/hanwen/go-fuse"; 5 5 fetch = { 6 6 type = "git"; 7 7 url = "https://github.com/hanwen/go-fuse"; 8 - rev = "6c2b7d8f22c99776f8bfe17cd26d5f744a5b4cdc"; 9 - sha256 = "1mb73vyqfy92830qif83zdlng0zycmm5fgmm9bwihqh92y8inw3h"; 8 + rev = "291273cb8ce0f139636a6fd7414be3c7e2de6288"; 9 + sha256 = "1djfl6mni8k4wllhwcr6qwyg1nh6wykdalvdl6gpc1rwrjj9c6xi"; 10 10 }; 11 11 } 12 12 { ··· 14 14 fetch = { 15 15 type = "git"; 16 16 url = "https://github.com/jacobsa/crypto"; 17 - rev = "293ce0c192fb4f59cd879b46544922b9ed09a13a"; 18 - sha256 = "12nm5h5dqqk8yrzlkmcqm0aam8l6l1s6rah48mrmz1z5bgm9h5rs"; 17 + rev = "c73681c634de898c869684602cf0c0d2ce938c4d"; 18 + sha256 = "02jbiy6szshbzcmp4j3gpc577hrhikxqvm4kzxixp27k9f2cx5si"; 19 + }; 20 + } 21 + { 22 + goPackagePath = "github.com/pkg/xattr"; 23 + fetch = { 24 + type = "git"; 25 + url = "https://github.com/pkg/xattr"; 26 + rev = "d15dbc2bb0b5da267362b5e066e2c44c1fcff6c7"; 27 + sha256 = "1vab8mpk2x4vbhx0kd0i0kn6sf7z5ivilcmdklyizzcfcwghh17g"; 19 28 }; 20 29 } 21 30 { ··· 23 32 fetch = { 24 33 type = "git"; 25 34 url = "https://github.com/rfjakob/eme"; 26 - rev = "601d0e278ceda9aa2085a61c9265f6e690ef5255"; 27 - sha256 = "1ryh5f2a42psrqcpjh73shk3p0mva2vcyyfav4nhxmfqall77k5z"; 35 + rev = "2222dbd4ba467ab3fc7e8af41562fcfe69c0d770"; 36 + sha256 = "0c227ly3z8pqaqg22lpd8nzgqrfsbjx5gi9rp9ks1cmd11dv2gl9"; 28 37 }; 29 38 } 30 39 { ··· 32 41 fetch = { 33 42 type = "git"; 34 43 url = "https://go.googlesource.com/crypto"; 35 - rev = "88d0005bf4c3ec17306ecaca4281a8d8efd73e91"; 36 - sha256 = "1d3x0rwfd4cml06ka8gy74wxrw94m2z7qgz6ky0rgmxcr7p5iikz"; 44 + rev = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"; 45 + sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44"; 46 + }; 47 + } 48 + { 49 + goPackagePath = "golang.org/x/sync"; 50 + fetch = { 51 + type = "git"; 52 + url = "https://go.googlesource.com/sync"; 53 + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; 54 + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; 55 + }; 56 + } 57 + { 58 + goPackagePath = "golang.org/x/sys"; 59 + fetch = { 60 + type = "git"; 61 + url = "https://go.googlesource.com/sys"; 62 + rev = "151529c776cdc58ddbe7963ba9af779f3577b419"; 63 + sha256 = "149yfzs4k8vxhjr8f832drndir2k5ha0ggs2dw2fd6xvxf698bcx"; 37 64 }; 38 65 } 39 66 ]