diff options
author | Werner Koch <[email protected]> | 2023-05-22 15:00:54 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-05-22 15:00:54 +0000 |
commit | 5f46bcaaa0826a7b32f3f3bb5ef7a528ec0515a6 (patch) | |
tree | 7a37ab8cb31e08008de9429e46b4b0a204af21ab | |
parent | gpgtar: Emit FAILURE status line. (diff) | |
download | gnupg-5f46bcaaa0826a7b32f3f3bb5ef7a528ec0515a6.tar.gz gnupg-5f46bcaaa0826a7b32f3f3bb5ef7a528ec0515a6.zip |
sm: Emit STATUS_FAILURE for non-implemented commands.
* sm/gpgsm.c (main): Do it here.
-rw-r--r-- | sm/gpgsm.c | 16 | ||||
-rw-r--r-- | sm/server.c | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/sm/gpgsm.c b/sm/gpgsm.c index 55173f8a2..07c3ff480 100644 --- a/sm/gpgsm.c +++ b/sm/gpgsm.c @@ -1951,11 +1951,17 @@ main ( int argc, char **argv) break; case aSignEncr: /* sign and encrypt the given file */ - log_error ("this command has not yet been implemented\n"); + log_error ("the command '%s' has not yet been implemented\n", + "--sign --encrypt"); + gpgsm_status_with_error (&ctrl, STATUS_FAILURE, "option-parser", + gpg_error (GPG_ERR_NOT_IMPLEMENTED)); break; case aClearsign: /* make a clearsig */ - log_error ("this command has not yet been implemented\n"); + log_error ("the command '%s' has not yet been implemented\n", + "--clearsign"); + gpgsm_status_with_error (&ctrl, STATUS_FAILURE, "option-parser", + gpg_error (GPG_ERR_NOT_IMPLEMENTED)); break; case aVerify: @@ -2188,8 +2194,10 @@ main ( int argc, char **argv) default: - log_error (_("invalid command (there is no implicit command)\n")); - break; + log_error (_("invalid command (there is no implicit command)\n")); + gpgsm_status_with_error (&ctrl, STATUS_FAILURE, "option-parser", + gpg_error (GPG_ERR_MISSING_ACTION)); + break; } /* Print the audit result if needed. */ diff --git a/sm/server.c b/sm/server.c index e44856ab9..3ec1c0c4b 100644 --- a/sm/server.c +++ b/sm/server.c @@ -1530,7 +1530,7 @@ gpgsm_status_with_err_code (ctrl_t ctrl, int no, const char *text, { char buf[30]; - sprintf (buf, "%u", (unsigned int)ec); + snprintf (buf, sizeof buf, "%u", (unsigned int)ec); if (text) return gpgsm_status2 (ctrl, no, text, buf, NULL); else |