diff options
| author | Werner Koch <[email protected]> | 2010-01-08 19:15:06 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2010-01-08 19:15:06 +0000 | 
| commit | 1b2fb1b737d1a0928cc9f7a210c9dbc5f374adff (patch) | |
| tree | 07993ac73bb60ffaf4c6e4faef9eb35b7c768899 /src/engine-gpg.c | |
| parent | 2010-01-07 Marcus Brinkmann <[email protected]> (diff) | |
| download | gpgme-1b2fb1b737d1a0928cc9f7a210c9dbc5f374adff.tar.gz gpgme-1b2fb1b737d1a0928cc9f7a210c9dbc5f374adff.zip | |
Support gpgme_op_apsswd for GPG.
Diffstat (limited to '')
| -rw-r--r-- | src/engine-gpg.c | 23 | 
1 files changed, 21 insertions, 2 deletions
| diff --git a/src/engine-gpg.c b/src/engine-gpg.c index d4683b6e..abfaaa3c 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1,7 +1,7 @@  /* engine-gpg.c - Gpg Engine.     Copyright (C) 2000 Werner Koch (dd9jn)     Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, -                 2009 g10 Code GmbH +                 2009, 2010 g10 Code GmbH     This file is part of GPGME. @@ -1437,6 +1437,24 @@ gpg_delete (void *engine, gpgme_key_t key, int allow_secret)  static gpgme_error_t +gpg_passwd (void *engine, gpgme_key_t key, unsigned int flags) +{ +  engine_gpg_t gpg = engine; +  gpgme_error_t err; + +  if (!key || !key->subkeys || !key->subkeys->fpr) +    return gpg_error (GPG_ERR_INV_CERT_OBJ); + +  err = add_arg (gpg, "--passwd"); +  if (!err) +    err = add_arg (gpg, key->subkeys->fpr); +  if (!err) +    start (gpg); +  return err; +} + + +static gpgme_error_t  append_args_from_signers (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)  {    gpgme_error_t err = 0; @@ -2370,5 +2388,6 @@ struct engine_ops _gpgme_engine_ops_gpg =      gpg_set_io_cbs,      gpg_io_event,      gpg_cancel, -    NULL		/* cancel_op */ +    NULL,		/* cancel_op */ +    gpg_passwd    }; | 
