diff options
Diffstat (limited to 'src/encrypt.c')
| -rw-r--r-- | src/encrypt.c | 64 | 
1 files changed, 60 insertions, 4 deletions
diff --git a/src/encrypt.c b/src/encrypt.c index 4744090d..c59292ff 100644 --- a/src/encrypt.c +++ b/src/encrypt.c @@ -27,6 +27,7 @@  #include <errno.h>  #include "gpgme.h" +#include "debug.h"  #include "context.h"  #include "ops.h" @@ -66,12 +67,33 @@ gpgme_op_encrypt_result (gpgme_ctx_t ctx)    op_data_t opd;    gpgme_error_t err; +  TRACE_BEG (DEBUG_CTX, "gpgme_op_encrypt_result", ctx); +    err = _gpgme_op_data_lookup (ctx, OPDATA_ENCRYPT, &hook, -1, NULL);    opd = hook;    if (err || !opd) -    return NULL; +    { +      TRACE_SUC0 ("result=(null)"); +      return NULL; +    } +  if (_gpgme_debug_trace ()) +    { +      gpgme_invalid_key_t invkeys = opd->result.invalid_recipients; +      int i = 0; + +      while (invkeys) +	{ +	  TRACE_LOG3 ("invalid_recipients[%i] = %s (%s)", +		      i, invkeys->fpr ? invkeys->fpr : "(null)", +		      gpg_strerror (invkeys->reason)); +	  invkeys = invkeys->next; +	  i++; +	} +    } +   +  TRACE_SUC1 ("result=%p", &opd->result);    return &opd->result;  } @@ -205,7 +227,23 @@ gpgme_op_encrypt_start (gpgme_ctx_t ctx, gpgme_key_t recp[],  			gpgme_encrypt_flags_t flags,  			gpgme_data_t plain, gpgme_data_t cipher)  { -  return encrypt_start (ctx, 0, recp, flags, plain, cipher); +  TRACE_BEG3 (DEBUG_CTX, "gpgme_op_encrypt_start", ctx, +	      "flags=0x%x, plain=%p, cipher=%p", flags, plain, cipher); +   +  if (_gpgme_debug_trace () && recp) +    { +      int i = 0; + +      while (recp[i]) +	{ +	  TRACE_LOG3 ("recipient[%i] = %p (%s)", i,recp[i], +		      (recp[i]->subkeys && !recp[i]->subkeys->fpr) ?  +		      recp[i]->subkeys->fpr : "invalid"); +	  i++; +	} +    } + +  return TRACE_ERR (encrypt_start (ctx, 0, recp, flags, plain, cipher));  } @@ -216,8 +254,26 @@ gpgme_op_encrypt (gpgme_ctx_t ctx, gpgme_key_t recp[],  		  gpgme_encrypt_flags_t flags,  		  gpgme_data_t plain, gpgme_data_t cipher)  { -  gpgme_error_t err = encrypt_start (ctx, 1, recp, flags, plain, cipher); +  gpgme_error_t err; + +  TRACE_BEG3 (DEBUG_CTX, "gpgme_op_encrypt", ctx, +	      "flags=0x%x, plain=%p, cipher=%p", flags, plain, cipher); +   +  if (_gpgme_debug_trace () && recp) +    { +      int i = 0; + +      while (recp[i]) +	{ +	  TRACE_LOG3 ("recipient[%i] = %p (%s)", i, recp[i], +		      (recp[i]->subkeys && !recp[i]->subkeys->fpr) ?  +		      recp[i]->subkeys->fpr : "invalid"); +	  i++; +	} +    } + +  err = encrypt_start (ctx, 1, recp, flags, plain, cipher);    if (!err)      err = _gpgme_wait_one (ctx); -  return err; +  return TRACE_ERR (err);  }  | 
