diff options
author | Roberto Sassu <roberto.sassu@polito.it> | 2010-10-06 12:31:32 -0400 |
---|---|---|
committer | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2010-10-29 11:31:36 -0400 |
commit | f16feb5119a87f5e683be7e8916c060abfb0e8d6 (patch) | |
tree | ed80e0f8d2d8c5b63c8b48e11da4eca0163bb9f4 /fs/ecryptfs/keystore.c | |
parent | 39fac853a758306285404368fbe392408057b136 (diff) |
ecryptfs: added ecryptfs_mount_auth_tok_only mount parameter
This patch adds a new mount parameter 'ecryptfs_mount_auth_tok_only' to
force ecryptfs to use only authentication tokens which signature has
been specified at mount time with parameters 'ecryptfs_sig' and
'ecryptfs_fnek_sig'. In this way, after disabling the passthrough and
the encrypted view modes, it's possible to make available to users only
files encrypted with the specified authentication token.
Signed-off-by: Roberto Sassu <roberto.sassu@polito.it>
Cc: Dustin Kirkland <kirkland@canonical.com>
Cc: James Morris <jmorris@namei.org>
[Tyler: Clean up coding style errors found by checkpatch]
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Diffstat (limited to 'fs/ecryptfs/keystore.c')
-rw-r--r-- | fs/ecryptfs/keystore.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index e7f029f00c6b..b1f6858a5223 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -459,6 +459,15 @@ ecryptfs_find_auth_tok_for_sig( | |||
459 | if (ecryptfs_find_global_auth_tok_for_sig(&global_auth_tok, | 459 | if (ecryptfs_find_global_auth_tok_for_sig(&global_auth_tok, |
460 | mount_crypt_stat, sig)) { | 460 | mount_crypt_stat, sig)) { |
461 | 461 | ||
462 | /* if the flag ECRYPTFS_GLOBAL_MOUNT_AUTH_TOK_ONLY is set in the | ||
463 | * mount_crypt_stat structure, we prevent to use auth toks that | ||
464 | * are not inserted through the ecryptfs_add_global_auth_tok | ||
465 | * function. | ||
466 | */ | ||
467 | if (mount_crypt_stat->flags | ||
468 | & ECRYPTFS_GLOBAL_MOUNT_AUTH_TOK_ONLY) | ||
469 | return -EINVAL; | ||
470 | |||
462 | rc = ecryptfs_keyring_auth_tok_for_sig(auth_tok_key, auth_tok, | 471 | rc = ecryptfs_keyring_auth_tok_for_sig(auth_tok_key, auth_tok, |
463 | sig); | 472 | sig); |
464 | } else | 473 | } else |