mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
varlinkctl: if "call" verb is used, imply "-j"
For the other verbs turning off JSON mode makes sense, but for "call" not so much, after all the contents of a method call reply is JSON we couldn't really show any other way. Hence, when JSON output was not configured otherwise in "call", default to the same as -j.
This commit is contained in:
@@ -379,7 +379,13 @@ static int verb_call(int argc, char *argv[], void *userdata) {
|
||||
method = argv[2];
|
||||
parameter = argc > 3 && !streq(argv[3], "-") ? argv[3] : NULL;
|
||||
|
||||
arg_json_format_flags &= ~JSON_FORMAT_OFF;
|
||||
/* No JSON mode explicitly configured? Then default to the same as -j */
|
||||
if (FLAGS_SET(arg_json_format_flags, JSON_FORMAT_OFF))
|
||||
arg_json_format_flags = JSON_FORMAT_PRETTY_AUTO|JSON_FORMAT_COLOR_AUTO;
|
||||
|
||||
/* For pipeable text tools it's kinda customary to finish output off in a newline character, and not
|
||||
* leave incomplete lines hanging around. */
|
||||
arg_json_format_flags |= JSON_FORMAT_NEWLINE;
|
||||
|
||||
if (parameter) {
|
||||
/* <argv[4]> is correct, as dispatch_verb() shifts arguments by one for the verb. */
|
||||
|
||||
@@ -348,10 +348,10 @@ fi
|
||||
|
||||
# Decrypt/encrypt via varlink
|
||||
|
||||
echo -n '{"data":"Zm9vYmFyCg=="}' > /tmp/vlcredsdata
|
||||
echo '{"data":"Zm9vYmFyCg=="}' > /tmp/vlcredsdata
|
||||
|
||||
varlinkctl call /run/systemd/io.systemd.Credentials io.systemd.Credentials.Encrypt "$(cat /tmp/vlcredsdata)" | \
|
||||
varlinkctl call /run/systemd/io.systemd.Credentials io.systemd.Credentials.Decrypt > /tmp/vlcredsdata2
|
||||
varlinkctl call --json=short /run/systemd/io.systemd.Credentials io.systemd.Credentials.Decrypt > /tmp/vlcredsdata2
|
||||
|
||||
cmp /tmp/vlcredsdata /tmp/vlcredsdata2
|
||||
rm /tmp/vlcredsdata /tmp/vlcredsdata2
|
||||
|
||||
Reference in New Issue
Block a user