load-fragment: Fix config_parse_namespace_flags() for DelegateNamespaces=

Boolean values have to be handled separately for RestrictNamespaces= because
they get stored in a field with reverse meaning (which namespaces are retained),
so let's check which field we're parsing and set the proper value accordingly.
This commit is contained in:
Daan De Meyer
2025-03-06 14:15:34 +01:00
parent bc0763551f
commit 11b982053b

View File

@@ -3593,10 +3593,13 @@ int config_parse_namespace_flags(
/* Boolean parameter ignores the previous settings */
r = parse_boolean(rvalue);
if (r > 0) {
*flags = 0;
/* RestrictNamespaces= value gets stored into a field with reverse semantics (the namespaces
* which are retained), so RestrictNamespaces=true means we retain no access to any
* namespaces and vice-versa. */
*flags = streq(lvalue, "RestrictNamespaces") ? 0 : all;
return 0;
} else if (r == 0) {
*flags = all;
*flags = streq(lvalue, "RestrictNamespaces") ? all : 0;
return 0;
}