From: Christopher Hoffman Date: Wed, 8 Jan 2025 17:05:48 +0000 (+0000) Subject: test: Add function policy populator for reuse in fscrypt tests. X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=111faef1e5a18aac0d5f791d9b27e89ead473edd;p=ceph.git test: Add function policy populator for reuse in fscrypt tests. Fixes: https://tracker.ceph.com/issues/69161 Signed-off-by: Christopher Hoffman --- diff --git a/src/test/libcephfs/fscrypt.cc b/src/test/libcephfs/fscrypt.cc index fb544481acf..f3f463dce7c 100644 --- a/src/test/libcephfs/fscrypt.cc +++ b/src/test/libcephfs/fscrypt.cc @@ -97,6 +97,14 @@ void generate_remove_key_arg(ceph_fscrypt_key_identifier kid, fscrypt_remove_key arg->key_spec = key_spec; } +void populate_policy(struct ceph_fscrypt_key_identifier kid, struct fscrypt_policy_v2* policy) { + policy->version = 2; + policy->contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; + policy->filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; + policy->flags = FSCRYPT_POLICY_FLAGS_PAD_32; + memcpy(policy->master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); +} + int init_mount(struct ceph_mount_info** cmount){ int r = ceph_create(cmount, NULL); if (r < 0) { @@ -375,11 +383,7 @@ TEST(FSCrypt, SetPolicyNotEmptyDir) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd2, &policy); ASSERT_EQ(-ENOTEMPTY, r); @@ -411,11 +415,7 @@ TEST(FSCrypt, SetPolicyAlreadyExistSameKey) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); ASSERT_EQ(0, r); @@ -437,11 +437,7 @@ TEST(FSCrypt, SetPolicyNonDir) { //setup policy struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); //file string file_path = "file1"; @@ -484,11 +480,7 @@ TEST(FSCrypt, LockedListDir) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -554,11 +546,7 @@ TEST(FSCrypt, ReadLockedDir) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -622,11 +610,7 @@ TEST(FSCrypt, WriteLockedDir) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -691,11 +675,7 @@ TEST(FSCrypt, LockedCreateSnap) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -736,11 +716,7 @@ TEST(FSCrypt, RenameLockedSource) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -805,11 +781,7 @@ TEST(FSCrypt, RenameLockedDest) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); @@ -848,11 +820,7 @@ TEST(FSCrypt, RemoveBusyFile) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); ceph_close(cmount, fd); @@ -900,11 +868,7 @@ TEST(FSCrypt, RemoveBusyCreate) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); ceph_close(cmount, fd); @@ -977,11 +941,8 @@ TEST(FSCrypt, QuerySEncryptFlag) { r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); ASSERT_EQ(0, r); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); + r = ceph_set_fscrypt_policy_v2(cmount, fd1, &policy); ASSERT_EQ(0, r); @@ -1035,11 +996,8 @@ TEST(FSCrypt, FallocateNotImplemented) { int fd = ceph_open(cmount, dir_path.c_str(), O_DIRECTORY, 0); r = ceph_add_fscrypt_key(cmount, fscrypt_key, sizeof(fscrypt_key), &kid, 1299); struct fscrypt_policy_v2 policy; - policy.version = 2; - policy.contents_encryption_mode = FSCRYPT_MODE_AES_256_XTS; - policy.filenames_encryption_mode = FSCRYPT_MODE_AES_256_CTS; - policy.flags = FSCRYPT_POLICY_FLAGS_PAD_32; - memcpy(policy.master_key_identifier, kid.raw, FSCRYPT_KEY_IDENTIFIER_SIZE); + populate_policy(kid, &policy); + r = ceph_set_fscrypt_policy_v2(cmount, fd, &policy); ceph_close(cmount, fd);