aboutsummaryrefslogtreecommitdiff
path: root/cli-tests
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2020-05-14 19:48:23 -0700
committerGitHub <noreply@github.com>2020-05-14 19:48:23 -0700
commit636698bb79ab182b72f7da6172fa3fd7ffd58e3c (patch)
tree907ff56c3ef7a9b785dc8ef258f1a880fa738ec1 /cli-tests
parentbc9f5e542745f102de70ade555114eb28591fcd1 (diff)
cmd/fscrypt: fix up path formatting in ErrDirNotEmpty suggestion (#229)
Use %q, in case the paths contain whitespace. Also clean the directory path to remove trailing slashes before appending the ".new" suffix.
Diffstat (limited to 'cli-tests')
-rw-r--r--cli-tests/t_encrypt.out34
-rwxr-xr-xcli-tests/t_encrypt.sh3
2 files changed, 31 insertions, 6 deletions
diff --git a/cli-tests/t_encrypt.out b/cli-tests/t_encrypt.out
index 26cb451..f067fc0 100644
--- a/cli-tests/t_encrypt.out
+++ b/cli-tests/t_encrypt.out
@@ -13,12 +13,34 @@ ext4 filesystem "MNT" has 0 protectors and 0 policies
Files cannot be encrypted in-place. Instead, encrypt a new directory, copy the
files into it, and securely delete the original directory. For example:
- mkdir MNT/dir.new
- fscrypt encrypt MNT/dir.new
- cp -a -T MNT/dir MNT/dir.new
- find MNT/dir -type f -print0 | xargs -0 shred -n1 --remove=unlink
- rm -rf MNT/dir
- mv MNT/dir.new MNT/dir
+ mkdir "MNT/dir.new"
+ fscrypt encrypt "MNT/dir.new"
+ cp -a -T "MNT/dir" "MNT/dir.new"
+ find "MNT/dir" -type f -print0 | xargs -0 shred -n1 --remove=unlink
+ rm -rf "MNT/dir"
+ mv "MNT/dir.new" "MNT/dir"
+
+Caution: due to the nature of modern storage devices and filesystems, the
+original data may still be recoverable from disk. It's much better to encrypt
+your files from the start.
+ext4 filesystem "MNT" has 0 protectors and 0 policies
+
+[ERROR] fscrypt status: file or directory "MNT/dir" is not
+ encrypted
+
+# => with trailing slash
+[ERROR] fscrypt encrypt: Directory "MNT/dir/" cannot be
+ encrypted because it is non-empty.
+
+Files cannot be encrypted in-place. Instead, encrypt a new directory, copy the
+files into it, and securely delete the original directory. For example:
+
+ mkdir "MNT/dir.new"
+ fscrypt encrypt "MNT/dir.new"
+ cp -a -T "MNT/dir" "MNT/dir.new"
+ find "MNT/dir" -type f -print0 | xargs -0 shred -n1 --remove=unlink
+ rm -rf "MNT/dir"
+ mv "MNT/dir.new" "MNT/dir"
Caution: due to the nature of modern storage devices and filesystems, the
original data may still be recoverable from disk. It's much better to encrypt
diff --git a/cli-tests/t_encrypt.sh b/cli-tests/t_encrypt.sh
index 9f19f5d..ffd6165 100755
--- a/cli-tests/t_encrypt.sh
+++ b/cli-tests/t_encrypt.sh
@@ -35,6 +35,9 @@ begin "Try to encrypt a nonempty directory"
touch "$dir/file"
_expect_failure "echo hunter2 | fscrypt encrypt --quiet '$dir'"
show_status false
+_print_header "=> with trailing slash"
+_expect_failure "echo hunter2 | fscrypt encrypt --quiet '$dir/'"
+show_status false
begin "Encrypt a directory as non-root user"
chown "$TEST_USER" "$dir"