Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions python/pacemaker/_cts/tests/cibsecret.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def __init__(self, cm, env):
self.name = "Cibsecret"

self._secret = "passwd"
self._secret_val = "SecreT_PASS"
self._secret_val = "SečreT PASS"

self._rid = "secretDummy"
self._startall = SimulStartLite(cm, env)
Expand Down Expand Up @@ -79,7 +79,7 @@ def _remove_dummy(self, node):

def _check_cib_value(self, node, expected):
"""Check that the secret has the expected value."""
(rc, lines) = self._rsh.call(node, f"crm_resource -r {self._rid} -g {self._secret}",
(rc, lines) = self._rsh.call(node, f"crm_resource -r '{self._rid}' -g '{self._secret}'",
verbose=1)
s = " ".join(lines).strip()

Expand All @@ -91,7 +91,7 @@ def _check_cib_value(self, node, expected):

def _test_check(self, node):
"""Test the 'cibsecret check' subcommand."""
(rc, _) = self._rsh.call(node, f"cibsecret check {self._rid} {self._secret}",
(rc, _) = self._rsh.call(node, f"cibsecret check '{self._rid}' '{self._secret}'",
verbose=1)
if rc != 0:
return self.failure("Failed to check secret")
Expand All @@ -101,7 +101,7 @@ def _test_check(self, node):

def _test_delete(self, node):
"""Test the 'cibsecret delete' subcommand."""
(rc, _) = self._rsh.call(node, f"cibsecret delete {self._rid} {self._secret}",
(rc, _) = self._rsh.call(node, f"cibsecret delete '{self._rid}' '{self._secret}'",
verbose=1)
if rc != 0:
return self.failure("Failed to delete secret")
Expand All @@ -111,7 +111,7 @@ def _test_delete(self, node):

def _test_get(self, node, expected):
"""Test the 'cibsecret get' subcommand."""
(rc, lines) = self._rsh.call(node, f"cibsecret get {self._rid} {self._secret}",
(rc, lines) = self._rsh.call(node, f"cibsecret get '{self._rid}' '{self._secret}'",
verbose=1)
s = " ".join(lines).strip()

Expand All @@ -123,7 +123,7 @@ def _test_get(self, node, expected):

def _test_set(self, node):
"""Test the 'cibsecret set' subcommand."""
(rc, _) = self._rsh.call(node, f"cibsecret set {self._rid} {self._secret} {self._secret_val}",
(rc, _) = self._rsh.call(node, f"cibsecret set '{self._rid}' '{self._secret}' '{self._secret_val}'",
verbose=1)
if rc != 0:
return self.failure("Failed to set secret")
Expand All @@ -133,7 +133,7 @@ def _test_set(self, node):

def _test_stash(self, node):
"""Test the 'cibsecret stash' subcommand."""
(rc, _) = self._rsh.call(node, f"cibsecret stash {self._rid} {self._secret}",
(rc, _) = self._rsh.call(node, f"cibsecret stash '{self._rid}' '{self._secret}'",
verbose=1)
if rc != 0:
return self.failure(f"Failed to stash secret {self._secret}")
Expand All @@ -152,7 +152,7 @@ def _test_sync(self, node):

def _test_unstash(self, node):
"""Test the 'cibsecret unstash' subcommand."""
(rc, _) = self._rsh.call(node, f"cibsecret unstash {self._rid} {self._secret}",
(rc, _) = self._rsh.call(node, f"cibsecret unstash '{self._rid}' '{self._secret}'",
verbose=1)
if rc != 0:
return self.failure(f"Failed to unstash secret {self._secret}")
Expand Down
18 changes: 11 additions & 7 deletions tools/cibsecret.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include <crm_internal.h>

#include <errno.h> // EINVAL, ENODEV, ENOENT, ENOTCONN
#include <locale.h> // setlocale
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h> // setenv, unsetenv
Expand Down Expand Up @@ -435,7 +436,7 @@ sync_one_file(pcmk__output_t *out, rsh_fn_t rsh_fn, rcp_fn_t rcp_fn,

dirname = g_path_get_dirname(path);

cmdline = pcmk__assert_asprintf("mkdir -p %s", dirname);
cmdline = pcmk__assert_asprintf("mkdir -p '%s'", dirname);
rc = rsh_fn(out, peers, cmdline);
if (rc != pcmk_rc_ok) {
goto done;
Expand All @@ -455,7 +456,7 @@ sync_one_file(pcmk__output_t *out, rsh_fn_t rsh_fn, rcp_fn_t rcp_fn,

} else {
free(cmdline);
cmdline = pcmk__assert_asprintf("rm -f %s %s.sign", path, path);
cmdline = pcmk__assert_asprintf("rm -f '%s' '%s.sign'", path, path);
rc = rsh_fn(out, peers, cmdline);
}

Expand All @@ -477,7 +478,7 @@ check_cib_rsc(pcmk__output_t *out, const char *rsc)
return rc;
}

cmdline = pcmk__assert_asprintf("crm_resource -r %s -W", rsc);
cmdline = pcmk__assert_asprintf("crm_resource -r '%s' -W", rsc);
rc = run_cmdline(out, cmdline, NULL);

free(cmdline);
Expand Down Expand Up @@ -511,7 +512,7 @@ get_cib_param(pcmk__output_t *out, const char *rsc, const char *param)
return NULL;
}

cmdline = pcmk__assert_asprintf("crm_resource -r %s -g %s --output-as=xml",
cmdline = pcmk__assert_asprintf("crm_resource -r '%s' -g '%s' --output-as=xml",
rsc, param);
rc = run_cmdline(out, cmdline, &standard_out);

Expand Down Expand Up @@ -558,7 +559,7 @@ remove_cib_param(pcmk__output_t *out, const char *rsc, const char *param)
return rc;
}

cmdline = pcmk__assert_asprintf("crm_resource -r %s -d %s", rsc, param);
cmdline = pcmk__assert_asprintf("crm_resource -r '%s' -d '%s'", rsc, param);
rc = run_cmdline(out, cmdline, NULL);
free(cmdline);
return rc;
Expand All @@ -575,7 +576,7 @@ set_cib_param(pcmk__output_t *out, const char *rsc, const char *param,
return rc;
}

cmdline = pcmk__assert_asprintf("crm_resource -r %s -p %s -v %s", rsc,
cmdline = pcmk__assert_asprintf("crm_resource -r '%s' -p '%s' -v '%s'", rsc,
param, value);
rc = run_cmdline(out, cmdline, NULL);
free(cmdline);
Expand Down Expand Up @@ -629,7 +630,7 @@ local_files_remove(pcmk__output_t *out, rsh_fn_t rsh_fn, rcp_fn_t rcp_fn,

lf_file = pcmk__assert_asprintf(PCMK__CIB_SECRETS_DIR "/%s/%s", rsc, param);

cmdline = pcmk__assert_asprintf("rm -f %s %s.sign", lf_file, lf_file);
cmdline = pcmk__assert_asprintf("rm -f '%s' '%s.sign'", lf_file, lf_file);
rc = run_cmdline(out, cmdline, NULL);

if (rc == pcmk_rc_ok) {
Expand Down Expand Up @@ -1104,6 +1105,9 @@ main(int argc, char **argv)
rsh_fn_t rsh_fn;
rcp_fn_t rcp_fn;

// Load locale information for the local host from the environment
setlocale(LC_ALL, "");

pcmk__register_formats(output_group, formats);
if (!g_option_context_parse_strv(context, &processed_args, &error)) {
exit_code = CRM_EX_USAGE;
Expand Down
4 changes: 4 additions & 0 deletions tools/crm_resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <errno.h>
#include <fcntl.h>
#include <libgen.h>
#include <locale.h> // setlocale
#include <time.h>

#include <libxml/xpath.h> // xmlXPathObject, etc.
Expand Down Expand Up @@ -2064,6 +2065,9 @@ main(int argc, char **argv)
processed_args = pcmk__cmdline_preproc(argv, "GHINSTdginpstuvx");
context = build_arg_context(args, &output_group);

// Load locale information for the local host from the environment
setlocale(LC_ALL, "");

pcmk__register_formats(output_group, formats);
if (!g_option_context_parse_strv(context, &processed_args, &error)) {
exit_code = CRM_EX_USAGE;
Expand Down