nmcli: show secrets when the --show-secrets option is put after the connection id

'nmcli connection show <con_id1> --show-secrets'
secrets were not shown.
'nmcli connection show <con_id1> --show-secrets <con_id2>'
secrets were shown only for connection ids following the
"--show-secrets" option (so only for 'con_id2').

Fix these behaviors showing secrets for all connections also
if the "--show-secrets" option is put after the connection ids.

(cherry picked from commit 4bdb6b026a)
This commit is contained in:
Francesco Giudici
2017-04-20 10:17:34 +02:00
parent b54c60c176
commit d4c8a3fbf2

View File

@@ -1834,6 +1834,23 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
g_free (nmc->required_fields);
nmc->required_fields = NULL;
/* Before printing the connections check if we have a "--show-secret"
* option after the connection ids */
if (!nmc->nmc_config.show_secrets && !nmc->complete) {
int argc_cp = argc;
char **argv_cp = argv;
do {
if ( nm_streq (*argv_cp, "id")
|| nm_streq (*argv_cp, "uuid")
|| nm_streq (*argv_cp, "path")
|| nm_streq (*argv_cp, "apath")) {
argc_cp--;
argv_cp++;
}
} while (next_arg (nmc, &argc_cp, &argv_cp, NULL) != -1);
}
while (argc > 0) {
const GPtrArray *connections;
gboolean res;