diff options
| author | Richard Weinberger <richard@nod.at> | 2018-10-18 16:36:42 +0200 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2018-11-01 12:37:40 +0100 | 
| commit | 629a8e46826453076a7ec31c724bcf793a0f527d (patch) | |
| tree | 742c0c6eea5b2a1a040e43d22fd9a936d5e26cc0 /ubifs-utils | |
| parent | 2fd902f11823433ba9332da3106253b674563542 (diff) | |
mkfs.ubifs: Add fscrypto defines
most of them should be UAPI, therefore check using #ifndef
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'ubifs-utils')
| -rw-r--r-- | ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 50 | 
1 files changed, 50 insertions, 0 deletions
diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c index e7acf17..2649c34 100644 --- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c +++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c @@ -109,6 +109,56 @@ struct inum_mapping {  	struct stat st;  }; +#ifndef FS_KEY_DESCRIPTOR_SIZE +#define FS_KEY_DESCRIPTOR_SIZE  8 +#endif +#define FS_ENCRYPTION_CONTEXT_FORMAT_V1 1 +#define FS_KEY_DERIVATION_NONCE_SIZE	16 + +#ifndef FS_ENCRYPTION_MODE_AES_128_CBC +#define FS_ENCRYPTION_MODE_AES_128_CBC 5 +#endif + +#ifndef FS_ENCRYPTION_MODE_AES_128_CTS +#define FS_ENCRYPTION_MODE_AES_128_CTS 6 +#endif + +#ifndef FS_POLICY_FLAGS_VALID +#define FS_POLICY_FLAGS_PAD_4		0x00 +#define FS_POLICY_FLAGS_PAD_8		0x01 +#define FS_POLICY_FLAGS_PAD_16		0x02 +#define FS_POLICY_FLAGS_PAD_32		0x03 +#define FS_POLICY_FLAGS_PAD_MASK	0x03 +#define FS_POLICY_FLAGS_VALID		0x03 +#endif + +#define FS_CRYPTO_BLOCK_SIZE	16 + +/** + * Encryption context for inode + * + * Protector format: + *  1 byte: Protector format (1 = this version) + *  1 byte: File contents encryption mode + *  1 byte: File names encryption mode + *  1 byte: Flags + *  8 bytes: Master Key descriptor + *  16 bytes: Encryption Key derivation nonce + */ +struct fscrypt_context { +	__u8 format; +	__u8 contents_encryption_mode; +	__u8 filenames_encryption_mode; +	__u8 flags; +	__u8 master_key_descriptor[FS_KEY_DESCRIPTOR_SIZE]; +	__u8 nonce[FS_KEY_DERIVATION_NONCE_SIZE]; +} __attribute__((packed)); + +#ifndef FS_MAX_KEY_SIZE +#define FS_MAX_KEY_SIZE	64 +#endif +static __u8 fscrypt_masterkey[FS_MAX_KEY_SIZE]; +  /*   * Because we copy functions from the kernel, we use a subset of the UBIFS   * file-system description object struct ubifs_info.  | 
