mirror of
git://git.gnupg.org/gnupg.git
synced 2025-03-23 21:59:57 +01:00
Add command passwd.
This commit is contained in:
parent
cdbe2c2122
commit
3dfa2e6df5
@ -1,3 +1,8 @@
|
||||
2010-03-12 Werner Koch <wk@g10code.com>
|
||||
|
||||
* server.c (cmd_passwd): New. From trunk.
|
||||
(register_commands): Register it.
|
||||
|
||||
2010-02-11 Marcus Brinkmann <marcus@g10code.de>
|
||||
|
||||
From trunk 2009-09-23, 2009-11-02, 2009-11-04, 2009-11-05, 2009-11-25,
|
||||
|
41
sm/server.c
41
sm/server.c
@ -1,6 +1,6 @@
|
||||
/* server.c - Server mode and main entry point
|
||||
* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
* 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
||||
* 2009, 2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
@ -1141,6 +1141,42 @@ cmd_getinfo (assuan_context_t ctx, char *line)
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const char hlp_passwd[] =
|
||||
"PASSWD <userID>\n"
|
||||
"\n"
|
||||
"Change the passphrase of the secret key for USERID.";
|
||||
static gpg_error_t
|
||||
cmd_passwd (assuan_context_t ctx, char *line)
|
||||
{
|
||||
ctrl_t ctrl = assuan_get_pointer (ctx);
|
||||
gpg_error_t err;
|
||||
ksba_cert_t cert = NULL;
|
||||
char *grip = NULL;
|
||||
|
||||
line = skip_options (line);
|
||||
|
||||
err = gpgsm_find_cert (line, NULL, &cert);
|
||||
if (err)
|
||||
;
|
||||
else if (!(grip = gpgsm_get_keygrip_hexstring (cert)))
|
||||
err = gpg_error (GPG_ERR_INTERNAL);
|
||||
else
|
||||
{
|
||||
char *desc = gpgsm_format_keydesc (cert);
|
||||
err = gpgsm_agent_passwd (ctrl, grip, desc);
|
||||
xfree (desc);
|
||||
}
|
||||
|
||||
xfree (grip);
|
||||
ksba_cert_release (cert);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Return true if the command CMD implements the option OPT. */
|
||||
static int
|
||||
@ -1184,6 +1220,7 @@ register_commands (assuan_context_t ctx)
|
||||
{ "DELKEYS", cmd_delkeys, hlp_delkeys },
|
||||
{ "GETAUDITLOG", cmd_getauditlog, hlp_getauditlog },
|
||||
{ "GETINFO", cmd_getinfo, hlp_getinfo },
|
||||
{ "PASSWD", cmd_passwd, hlp_passwd },
|
||||
{ NULL }
|
||||
};
|
||||
int i, rc;
|
||||
|
Loading…
x
Reference in New Issue
Block a user