aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app-openpgp.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-01-21 13:06:51 +0000
committerWerner Koch <[email protected]>2019-01-22 09:14:55 +0000
commitd4082ff430afe670510d2c1c7ea66ee9ddcbe505 (patch)
tree24c59a9d37505e94b772f3eba252adf16bc4eb7a /scd/app-openpgp.c
parentscd: One new and one improved 7816 function. (diff)
downloadgnupg-d4082ff430afe670510d2c1c7ea66ee9ddcbe505.tar.gz
gnupg-d4082ff430afe670510d2c1c7ea66ee9ddcbe505.zip
scd: Add option --clear to PASSWD.
* scd/command.c (cmd_passwd): Add option --clear. (send_status_printf): New. * scd/app-common.h (APP_CHANGE_FLAG_CLEAR): New. * scd/app-nks.c (do_change_pin): Return an error if that option is used. * scd/app-openpgp.c (do_change_pin): Ditto. -- Card application may support this option to clear the PIN verification status of a specific PIN. Signed-off-by: Werner Koch <[email protected]> (cherry picked from commit 29929e65521279eabc98a67c766fe485057405a9)
Diffstat (limited to '')
-rw-r--r--scd/app-openpgp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index fa23fbef2..760332ef9 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -2584,10 +2584,14 @@ do_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr,
int pinlen = 0;
(void)ctrl;
+
memset (&pininfo, 0, sizeof pininfo);
pininfo.fixedlen = -1;
pininfo.minlen = minlen;
+ if ((flags & APP_CHANGE_FLAG_CLEAR))
+ return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+
if (reset_mode && chvno == 3)
{
rc = gpg_error (GPG_ERR_INV_ID);