Skip to content

Commit 864b346

Browse files
committed
caformat: change definition of CA_FORMAT_DEFAULT a bit
So far, CA_FORMAT_DEFAULT wasn't normalized, because the NODUMP bit was both marked for serialization and masked for file exclusion handling. Let's fix this. Let's also add a quick test so that this is verified always.
1 parent 32dc1a5 commit 864b346

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/caformat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ enum {
265265
CA_FORMAT_WITH_QUOTA_PROJID,
266266

267267
CA_FORMAT_DEFAULT = /* The default set of flags */
268-
CA_FORMAT_WITH_BEST|
268+
(CA_FORMAT_WITH_BEST & ~CA_FORMAT_WITH_FLAG_NODUMP)|
269269
CA_FORMAT_EXCLUDE_NODUMP|
270270
CA_FORMAT_EXCLUDE_FILE|
271271
CA_FORMAT_SHA512_256,

test/test-feature-flags.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ int main(int argc, char *argv[]) {
2626
assert_se(ca_feature_flags_normalize(CA_FORMAT_FEATURE_FLAGS_MAX, &normalized) >= 0);
2727
assert_se((normalized & CA_FORMAT_WITH_MASK) == (CA_FORMAT_WITH_BEST & ~CA_FORMAT_WITH_FLAG_NODUMP));
2828

29+
assert_se(ca_feature_flags_are_normalized(CA_FORMAT_WITH_BEST) > 0);
30+
assert_se(ca_feature_flags_are_normalized(CA_FORMAT_WITH_UNIX) > 0);
31+
assert_se(ca_feature_flags_are_normalized(CA_FORMAT_WITH_FAT) > 0);
32+
assert_se(ca_feature_flags_are_normalized(CA_FORMAT_DEFAULT) > 0);
33+
2934
for (i = 0; i < sizeof(uint64_t) * 8; i++) {
3035
uint64_t flag = UINT64_C(1) << i, flag2;
3136
_cleanup_free_ char *s = NULL;

0 commit comments

Comments
 (0)