summaryrefslogtreecommitdiffstats
path: root/src/core/load-fragment.c
diff options
context:
space:
mode:
authorMike Yuan <me@yhndnzj.com>2024-05-07 13:44:10 +0200
committerMike Yuan <me@yhndnzj.com>2024-05-07 15:58:16 +0200
commitd568c4c1a81b86efe94022d083742c2988663ab8 (patch)
tree1f3c7c77632f5c7f0bebb96879f2c21ee840829a /src/core/load-fragment.c
parentdiscover-image: pass the right error variable (diff)
downloadsystemd-d568c4c1a81b86efe94022d083742c2988663ab8.tar.xz
systemd-d568c4c1a81b86efe94022d083742c2988663ab8.zip
core/load-fragment: modernize config_parse_load_credential a bit
Diffstat (limited to 'src/core/load-fragment.c')
-rw-r--r--src/core/load-fragment.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
index a8e13907ce..8215a66e31 100644
--- a/src/core/load-fragment.c
+++ b/src/core/load-fragment.c
@@ -4883,11 +4883,8 @@ int config_parse_load_credential(
void *data,
void *userdata) {
- _cleanup_free_ char *word = NULL, *k = NULL, *q = NULL;
ExecContext *context = ASSERT_PTR(data);
- bool encrypted = ltype;
- Unit *u = userdata;
- const char *p;
+ const Unit *u = ASSERT_PTR(userdata);
int r;
assert(filename);
@@ -4900,7 +4897,10 @@ int config_parse_load_credential(
return 0;
}
- p = rvalue;
+ _cleanup_free_ char *word = NULL, *id = NULL, *path = NULL;
+ const char *p = rvalue;
+ bool encrypted = ltype;
+
r = extract_first_word(&p, &word, ":", EXTRACT_DONT_COALESCE_SEPARATORS);
if (r == -ENOMEM)
return log_oom();
@@ -4909,35 +4909,35 @@ int config_parse_load_credential(
return 0;
}
- r = unit_cred_printf(u, word, &k);
+ r = unit_cred_printf(u, word, &id);
if (r < 0) {
log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to resolve unit specifiers in \"%s\", ignoring: %m", word);
return 0;
}
- if (!credential_name_valid(k)) {
- log_syntax(unit, LOG_WARNING, filename, line, 0, "Credential name \"%s\" not valid, ignoring.", k);
+ if (!credential_name_valid(id)) {
+ log_syntax(unit, LOG_WARNING, filename, line, 0, "Credential name \"%s\" not valid, ignoring.", id);
return 0;
}
if (isempty(p)) {
/* If only one field is specified take it as shortcut for inheriting a credential named
* the same way from our parent */
- q = strdup(k);
- if (!q)
+ path = strdup(id);
+ if (!path)
return log_oom();
} else {
- r = unit_path_printf(u, p, &q);
+ r = unit_path_printf(u, p, &path);
if (r < 0) {
log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to resolve unit specifiers in \"%s\", ignoring: %m", p);
return 0;
}
- if (path_is_absolute(q) ? !path_is_normalized(q) : !credential_name_valid(q)) {
- log_syntax(unit, LOG_WARNING, filename, line, 0, "Credential source \"%s\" not valid, ignoring.", q);
+ if (path_is_absolute(path) ? !path_is_normalized(path) : !credential_name_valid(path)) {
+ log_syntax(unit, LOG_WARNING, filename, line, 0, "Credential source \"%s\" not valid, ignoring.", path);
return 0;
}
}
- r = hashmap_put_credential(&context->load_credentials, k, q, encrypted);
+ r = hashmap_put_credential(&context->load_credentials, id, path, encrypted);
if (r < 0)
return log_error_errno(r, "Failed to store load credential '%s': %m", rvalue);