aboutsummaryrefslogtreecommitdiff
path: root/cli-tests/t_lock.sh
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2023-12-09 14:36:03 -0800
committerEric Biggers <ebiggers3@gmail.com>2023-12-11 19:33:48 -0800
commita6c5029cd114cd27cc59024e968feb4765e5323d (patch)
treeca36a75d27d3a8cca37c0d1aa5a09df9e88ffc25 /cli-tests/t_lock.sh
parent6c5fc571ba7b851e7b36b054fd428bf6ad779dcc (diff)
Provide better error message when given a locked regular file
Since opening an encrypted regular file that is locked fails with ENOKEY, getting the encryption policy of such a file is not possible. As a result, 'fscrypt status' and 'fscrypt lock' fail on such files. Provide a better error message that tries to explain what is going on. Resolves https://github.com/google/fscrypt/issues/393
Diffstat (limited to 'cli-tests/t_lock.sh')
-rwxr-xr-xcli-tests/t_lock.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/cli-tests/t_lock.sh b/cli-tests/t_lock.sh
index 9b193fd..e5df4df 100755
--- a/cli-tests/t_lock.sh
+++ b/cli-tests/t_lock.sh
@@ -52,3 +52,14 @@ _expect_failure "fscrypt lock '$dir'"
cat "$dir/file"
fscrypt lock --all-users "$dir"
_expect_failure "cat '$dir/file'"
+
+_print_header "Try to operate on locked regular file"
+_reset_filesystems
+rm -rf "$dir"
+mkdir "$dir"
+echo hunter2 | fscrypt encrypt --quiet --name=prot "$dir"
+echo contents > "$dir/file"
+mv "$dir/file" "$MNT/file" # Make it a loose encrypted file.
+fscrypt lock "$dir"
+_expect_failure "fscrypt status '$MNT/file'"
+_expect_failure "fscrypt unlock '$MNT/file'"