diff options
-rw-r--r-- | internal/ctlsocksrv/sanitize.go | 9 | ||||
-rw-r--r-- | internal/ensurefds012/ensurefds012.go | 18 | ||||
-rw-r--r-- | internal/fusefrontend/file_allocate_truncate.go | 4 | ||||
-rw-r--r-- | internal/inomap/inomap.go | 4 | ||||
-rw-r--r-- | internal/speed/cpuinfo.go | 12 | ||||
-rw-r--r-- | internal/stupidgcm/doc.go | 36 | ||||
-rw-r--r-- | internal/stupidgcm/prefer.go | 6 | ||||
-rw-r--r-- | tests/cli/cli_test.go | 4 | ||||
-rw-r--r-- | tests/defaults/main_test.go | 4 | ||||
-rw-r--r-- | tests/matrix/concurrency_test.go | 2 | ||||
-rw-r--r-- | tests/plaintextnames/plaintextnames_test.go | 8 | ||||
-rw-r--r-- | tests/reverse/inomap_test.go | 12 | ||||
-rw-r--r-- | tests/test_helpers/helpers.go | 10 |
13 files changed, 67 insertions, 62 deletions
diff --git a/internal/ctlsocksrv/sanitize.go b/internal/ctlsocksrv/sanitize.go index 4333872..2272943 100644 --- a/internal/ctlsocksrv/sanitize.go +++ b/internal/ctlsocksrv/sanitize.go @@ -6,10 +6,11 @@ import ( ) // SanitizePath adapts filepath.Clean for FUSE paths. -// 1) Leading slash(es) are dropped -// 2) It returns "" instead of "." -// 3) If the cleaned path points above CWD (start with ".."), an empty string -// is returned +// 1. Leading slash(es) are dropped +// 2. It returns "" instead of "." +// 3. If the cleaned path points above CWD (start with ".."), an empty string +// is returned +// // See the TestSanitizePath testcases for examples. func SanitizePath(path string) string { // (1) diff --git a/internal/ensurefds012/ensurefds012.go b/internal/ensurefds012/ensurefds012.go index 54a1ac1..6834b89 100644 --- a/internal/ensurefds012/ensurefds012.go +++ b/internal/ensurefds012/ensurefds012.go @@ -5,7 +5,7 @@ // // Use like this: // -// import _ "github.com/rfjakob/gocryptfs/v2/internal/ensurefds012" +// import _ "github.com/rfjakob/gocryptfs/v2/internal/ensurefds012" // // The import line MUST be in the alphabitcally first source code file of // package main! @@ -13,17 +13,17 @@ // You can test if it works as expected by inserting a long sleep into main, // startings gocryptfs with all fds closed like this, // -// $ ./gocryptfs 0<&- 1>&- 2>&- +// $ ./gocryptfs 0<&- 1>&- 2>&- // // and then checking the open fds. It should look like this: // -// $ ls -l /proc/$(pgrep gocryptfs)/fd -// total 0 -// lrwx------. 1 jakob jakob 64 Jan 5 15:54 0 -> /dev/null -// lrwx------. 1 jakob jakob 64 Jan 5 15:54 1 -> /dev/null -// lrwx------. 1 jakob jakob 64 Jan 5 15:54 2 -> /dev/null -// l-wx------. 1 jakob jakob 64 Jan 5 15:54 3 -> /dev/null -// lrwx------. 1 jakob jakob 64 Jan 5 15:54 4 -> 'anon_inode:[eventpoll]' +// $ ls -l /proc/$(pgrep gocryptfs)/fd +// total 0 +// lrwx------. 1 jakob jakob 64 Jan 5 15:54 0 -> /dev/null +// lrwx------. 1 jakob jakob 64 Jan 5 15:54 1 -> /dev/null +// lrwx------. 1 jakob jakob 64 Jan 5 15:54 2 -> /dev/null +// l-wx------. 1 jakob jakob 64 Jan 5 15:54 3 -> /dev/null +// lrwx------. 1 jakob jakob 64 Jan 5 15:54 4 -> 'anon_inode:[eventpoll]' // // See https://github.com/rfjakob/gocryptfs/issues/320 for details. package ensurefds012 diff --git a/internal/fusefrontend/file_allocate_truncate.go b/internal/fusefrontend/file_allocate_truncate.go index fddcfe8..cae796e 100644 --- a/internal/fusefrontend/file_allocate_truncate.go +++ b/internal/fusefrontend/file_allocate_truncate.go @@ -30,8 +30,8 @@ var allocateWarnOnce sync.Once // // mode=FALLOC_DEFAULT is implemented as a two-step process: // -// (1) Allocate the space using FALLOC_FL_KEEP_SIZE -// (2) Set the file size using ftruncate (via truncateGrowFile) +// (1) Allocate the space using FALLOC_FL_KEEP_SIZE +// (2) Set the file size using ftruncate (via truncateGrowFile) // // This allows us to reuse the file grow mechanics from Truncate as they are // complicated and hard to get right. diff --git a/internal/inomap/inomap.go b/internal/inomap/inomap.go index 070fab4..0f7ade3 100644 --- a/internal/inomap/inomap.go +++ b/internal/inomap/inomap.go @@ -3,8 +3,8 @@ // // Format of the returned inode numbers: // -// [spill bit = 0][15 bit namespace id][48 bit passthru inode number] -// [spill bit = 1][63 bit spill inode number ] +// [spill bit = 0][15 bit namespace id][48 bit passthru inode number] +// [spill bit = 1][63 bit spill inode number ] // // Each (Dev, Tag) tuple gets a namespace id assigned. The original inode // number is then passed through in the lower 48 bits. diff --git a/internal/speed/cpuinfo.go b/internal/speed/cpuinfo.go index 09e7a89..df3177d 100644 --- a/internal/speed/cpuinfo.go +++ b/internal/speed/cpuinfo.go @@ -12,17 +12,17 @@ import ( // // Examples: On my desktop PC: // -// $ grep "model name" /proc/cpuinfo -// model name : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz +// $ grep "model name" /proc/cpuinfo +// model name : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz // // --> Returns "Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz". // // On a Raspberry Pi 4: // -// $ grep "model name" /proc/cpuinfo -// (empty) -// $ grep Hardware /proc/cpuinfo -// Hardware : BCM2835 +// $ grep "model name" /proc/cpuinfo +// (empty) +// $ grep Hardware /proc/cpuinfo +// Hardware : BCM2835 // // --> Returns "BCM2835" func cpuModelName() string { diff --git a/internal/stupidgcm/doc.go b/internal/stupidgcm/doc.go index 36c189b..dce82ae 100644 --- a/internal/stupidgcm/doc.go +++ b/internal/stupidgcm/doc.go @@ -16,13 +16,13 @@ // However, OpenSSL has optimized assembly for almost all platforms, which Go // does not. Example for a 32-bit ARM device (Odroid XU4): // -// $ gocrypts -speed -// gocryptfs v2.1-68-gedf9d4c.stupidchacha; go-fuse v2.1.1-0.20210825171523-3ab5d95a30ae; 2021-09-04 go1.16.7 linux/arm -// AES-GCM-256-OpenSSL 56.84 MB/s (selected in auto mode) -// AES-GCM-256-Go 16.61 MB/s -// AES-SIV-512-Go 16.49 MB/s -// XChaCha20-Poly1305-Go 39.08 MB/s (use via -xchacha flag) -// XChaCha20-Poly1305-OpenSSL 141.82 MB/s +// $ gocrypts -speed +// gocryptfs v2.1-68-gedf9d4c.stupidchacha; go-fuse v2.1.1-0.20210825171523-3ab5d95a30ae; 2021-09-04 go1.16.7 linux/arm +// AES-GCM-256-OpenSSL 56.84 MB/s (selected in auto mode) +// AES-GCM-256-Go 16.61 MB/s +// AES-SIV-512-Go 16.49 MB/s +// XChaCha20-Poly1305-Go 39.08 MB/s (use via -xchacha flag) +// XChaCha20-Poly1305-OpenSSL 141.82 MB/s // // This package is "stupid" in the sense that it only supports a narrow set of // key- and iv-lengths, and panics if it does not like what you pass it. @@ -33,7 +33,7 @@ // Corrupt ciphertexts never cause a panic. Instead, ErrAuth is returned on // decryption. // -// XChaCha20-Poly1305 +// # XChaCha20-Poly1305 // // The XChaCha20-Poly1305 implementation is more complicated than the others, // because OpenSSL does not support XChaCha20-Poly1305 directly. Follow @@ -43,16 +43,16 @@ // Fortunately, XChaCha20-Poly1305 is just ChaCha20-Poly1305 with some key+iv // mixing using HChaCha20 in front: // -// key (32 bytes), iv (24 bytes) -// | -// v -// HChaCha20 (provided by golang.org/x/crypto/chacha20) -// | -// v -// key2 (32 bytes), iv2 (16 bytes) -// | -// v -// ChaCha20-Poly1305 (OpenSSL EVP_chacha20_poly1305) +// key (32 bytes), iv (24 bytes) +// | +// v +// HChaCha20 (provided by golang.org/x/crypto/chacha20) +// | +// v +// key2 (32 bytes), iv2 (16 bytes) +// | +// v +// ChaCha20-Poly1305 (OpenSSL EVP_chacha20_poly1305) // // As HChaCha20 is very fast, XChaCha20-Poly1305 gets almost the same throughput // as ChaCha20-Poly1305 (for 4kiB blocks). diff --git a/internal/stupidgcm/prefer.go b/internal/stupidgcm/prefer.go index fe8c613..e3f52d4 100644 --- a/internal/stupidgcm/prefer.go +++ b/internal/stupidgcm/prefer.go @@ -11,9 +11,9 @@ import ( // // Go GCM is only faster if the CPU either: // -// 1) Is X86_64 && has AES instructions && Go is v1.6 or higher -// 2) Is ARM64 && has AES instructions && Go is v1.11 or higher -// (commit https://github.com/golang/go/commit/4f1f503373cda7160392be94e3849b0c9b9ebbda) +// 1. Is X86_64 && has AES instructions && Go is v1.6 or higher +// 2. Is ARM64 && has AES instructions && Go is v1.11 or higher +// (commit https://github.com/golang/go/commit/4f1f503373cda7160392be94e3849b0c9b9ebbda) // // See https://github.com/rfjakob/gocryptfs/wiki/CPU-Benchmarks // for benchmarks. diff --git a/tests/cli/cli_test.go b/tests/cli/cli_test.go index fc2bfed..bbaca51 100644 --- a/tests/cli/cli_test.go +++ b/tests/cli/cli_test.go @@ -462,7 +462,9 @@ func TestPasswdPasswordIncorrect(t *testing.T) { // Check that we correctly background on mount and close stderr and stdout. // Something like -// gocryptfs a b | cat +// +// gocryptfs a b | cat +// // must not hang ( https://github.com/rfjakob/gocryptfs/issues/130 ). func TestMountBackground(t *testing.T) { dir := test_helpers.InitFS(t) diff --git a/tests/defaults/main_test.go b/tests/defaults/main_test.go index 7633e8b..d0210e2 100644 --- a/tests/defaults/main_test.go +++ b/tests/defaults/main_test.go @@ -204,7 +204,9 @@ func TestWrite0200File(t *testing.T) { // TestMvWarnings: // When xattr support was introduced, mv threw warnings like these: -// mv: preserving permissions for ‘b/x’: Operation not permitted +// +// mv: preserving permissions for ‘b/x’: Operation not permitted +// // because we returned EPERM when it tried to set system.posix_acl_access. // Now we return EOPNOTSUPP and mv is happy. func TestMvWarnings(t *testing.T) { diff --git a/tests/matrix/concurrency_test.go b/tests/matrix/concurrency_test.go index 4f060ab..15dbc3e 100644 --- a/tests/matrix/concurrency_test.go +++ b/tests/matrix/concurrency_test.go @@ -134,7 +134,7 @@ func TestConcurrentReadCreate(t *testing.T) { // // So far, it only has triggered warnings like this // -// go-fuse: warning: Inode.Path: inode i4201033 is orphaned, replacing segment with ".go-fuse.5577006791947779410/deleted" +// go-fuse: warning: Inode.Path: inode i4201033 is orphaned, replacing segment with ".go-fuse.5577006791947779410/deleted" // // but none of the "blocked waiting for FORGET". func TestInoReuse(t *testing.T) { diff --git a/tests/plaintextnames/plaintextnames_test.go b/tests/plaintextnames/plaintextnames_test.go index f2dc7e7..8892c39 100644 --- a/tests/plaintextnames/plaintextnames_test.go +++ b/tests/plaintextnames/plaintextnames_test.go @@ -92,10 +92,10 @@ func TestFiltered(t *testing.T) { // Only works on filesystems that recycle inode numbers (ext4 does), // and then the test causes a hang with these messages: // -// go-fuse: blocked for 5 seconds waiting for FORGET on i4329366 -// go-fuse: blocked for 11 seconds waiting for FORGET on i4329366 -// go-fuse: blocked for 17 seconds waiting for FORGET on i4329366 -// [...] +// go-fuse: blocked for 5 seconds waiting for FORGET on i4329366 +// go-fuse: blocked for 11 seconds waiting for FORGET on i4329366 +// go-fuse: blocked for 17 seconds waiting for FORGET on i4329366 +// [...] // // The test runs with -plaintextnames because that makes it easier to manipulate // cipherdir directly. diff --git a/tests/reverse/inomap_test.go b/tests/reverse/inomap_test.go index d5544c8..a79ddd2 100644 --- a/tests/reverse/inomap_test.go +++ b/tests/reverse/inomap_test.go @@ -35,15 +35,15 @@ func findIno(dir string, ino uint64) string { // TestVirtualFileIno creates a directory tree like this: // -// TestVirtualFileIno <---- parent -// └── xxxxxxx[...] <---- child +// TestVirtualFileIno <---- parent +// └── xxxxxxx[...] <---- child // // Which looks like this encrypted: // -// OLUKdPMg6l87EiKVlufgwIkQL8MD6JdUgOR3a8nEZ-w <---- parent -// ├── gocryptfs.diriv <---- diriv -// ├── gocryptfs.longname.e31v1ax4h_F0l4jhlN8kCjaWWMq8rO9VVBZ15IYsV50 <---- child -// └── gocryptfs.longname.e31v1ax4h_F0l4jhlN8kCjaWWMq8rO9VVBZ15IYsV50.name <---- name +// OLUKdPMg6l87EiKVlufgwIkQL8MD6JdUgOR3a8nEZ-w <---- parent +// ├── gocryptfs.diriv <---- diriv +// ├── gocryptfs.longname.e31v1ax4h_F0l4jhlN8kCjaWWMq8rO9VVBZ15IYsV50 <---- child +// └── gocryptfs.longname.e31v1ax4h_F0l4jhlN8kCjaWWMq8rO9VVBZ15IYsV50.name <---- name // // It verifies that the inode numbers match what we expect. func TestVirtualFileIno(t *testing.T) { diff --git a/tests/test_helpers/helpers.go b/tests/test_helpers/helpers.go index daa37d7..0d21548 100644 --- a/tests/test_helpers/helpers.go +++ b/tests/test_helpers/helpers.go @@ -67,10 +67,10 @@ func doInit() { // ResetTmpDir deletes TmpDir, create new dir tree: // -// TmpDir -// |-- DefaultPlainDir -// *-- DefaultCipherDir -// *-- gocryptfs.diriv +// TmpDir +// |-- DefaultPlainDir +// *-- DefaultCipherDir +// *-- gocryptfs.diriv func ResetTmpDir(createDirIV bool) { // Try to unmount and delete everything entries, err := ioutil.ReadDir(TmpDir) @@ -138,7 +138,7 @@ func isExt4(path string) bool { // InitFS creates a new empty cipherdir and calls // -// gocryptfs -q -init -extpass "echo test" -scryptn=10 $extraArgs $cipherdir +// gocryptfs -q -init -extpass "echo test" -scryptn=10 $extraArgs $cipherdir // // It returns cipherdir without a trailing slash. // |