This source file includes following definitions.
- ecryptfs_get_auth_tok_key
- ecryptfs_get_versions
- ecryptfs_fill_auth_tok
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <linux/export.h>
16 #include <linux/string.h>
17 #include "ecryptfs_format.h"
18
19 u8 *ecryptfs_get_auth_tok_key(struct ecryptfs_auth_tok *auth_tok)
20 {
21 return auth_tok->token.password.session_key_encryption_key;
22 }
23 EXPORT_SYMBOL(ecryptfs_get_auth_tok_key);
24
25
26
27
28
29
30
31 void ecryptfs_get_versions(int *major, int *minor, int *file_version)
32 {
33 *major = ECRYPTFS_VERSION_MAJOR;
34 *minor = ECRYPTFS_VERSION_MINOR;
35 if (file_version)
36 *file_version = ECRYPTFS_SUPPORTED_FILE_VERSION;
37 }
38 EXPORT_SYMBOL(ecryptfs_get_versions);
39
40
41
42
43
44
45
46
47
48 int ecryptfs_fill_auth_tok(struct ecryptfs_auth_tok *auth_tok,
49 const char *key_desc)
50 {
51 int major, minor;
52
53 ecryptfs_get_versions(&major, &minor, NULL);
54 auth_tok->version = (((uint16_t)(major << 8) & 0xFF00)
55 | ((uint16_t)minor & 0x00FF));
56 auth_tok->token_type = ECRYPTFS_PASSWORD;
57 strncpy((char *)auth_tok->token.password.signature, key_desc,
58 ECRYPTFS_PASSWORD_SIG_SIZE);
59 auth_tok->token.password.session_key_encryption_key_bytes =
60 ECRYPTFS_MAX_KEY_BYTES;
61
62
63
64
65
66
67 auth_tok->token.password.flags |=
68 ECRYPTFS_SESSION_KEY_ENCRYPTION_KEY_SET;
69
70 auth_tok->session_key.encrypted_key[0] = 0;
71 auth_tok->session_key.encrypted_key_size = 0;
72
73 auth_tok->token.password.hash_algo = PGP_DIGEST_ALGO_SHA512;
74 auth_tok->token.password.flags &= ~(ECRYPTFS_PERSISTENT_PASSWORD);
75 return 0;
76 }
77 EXPORT_SYMBOL(ecryptfs_fill_auth_tok);