homed,userdbd: mark "secrets" section of user records always to "sensitive" (#37935)

This commit is contained in:
Yu Watanabe
2025-06-24 00:50:44 +09:00
committed by GitHub
5 changed files with 19 additions and 2 deletions
+5
View File
@@ -1531,6 +1531,11 @@ int user_group_record_mangle(
if (USER_RECORD_STRIP_MASK(load_flags) == _USER_RECORD_MASK_MAX) /* strip everything? */
return json_log(v, json_flags, SYNTHETIC_ERRNO(EINVAL), "Stripping everything from record, refusing.");
/* Extra safety: mark the "secret" part (that contains literal passwords and such) as sensitive, so
* that it is not included in debug output and erased from memory when we are done. We do this for
* any record that passes through here. */
sd_json_variant_sensitive(sd_json_variant_by_key(v, "secret"));
/* Check if we have the special sections and if they match our flags set */
FOREACH_ELEMENT(i, mask_field) {
sd_json_variant *e, *k;