diff options
author | Marcus Brinkmann <[email protected]> | 2009-10-26 17:38:39 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2009-10-26 17:38:39 +0000 |
commit | ca67902311b832f8dfe1cabb5bf358890a1d3821 (patch) | |
tree | 5ce3534870d33da1f86048153fc09dca017ce648 /src/decrypt.c | |
parent | 2009-10-22 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-ca67902311b832f8dfe1cabb5bf358890a1d3821.tar.gz gpgme-ca67902311b832f8dfe1cabb5bf358890a1d3821.zip |
2009-10-26 Marcus Brinkmann <[email protected]>
* debug.h (DEBUG_GLOBAL): New debug level.
* conversion.c (gnupg_errors, _gpgme_map_gnupg_error): Removed.
* data-user.c (gpgme_data_new_from_cbs): Add debug output.
* data-fd.c (gpgme_data_new_from_fd): Likewise.
* data-stream.c (gpgme_data_new_from_stream): Likewise.
* decrypt.c (gpgme_op_decrypt_result, gpgme_op_decrypt_start)
(gpgme_op_decrypt): Likewise.
* delete.c (gpgme_op_delete_start, gpgme_op_delete): Likewise.
* decrypt-verify.c (gpgme_op_decrypt_verify_start)
(gpgme_op_decrypt_verify): Likewise.
* sign.c (gpgme_op_sign_result): Fix debug message.
* data-mem.c (gpgme_data_new): Improve debug output.
* verify.c (parse_trust): Use atoi instead of
_gpgme_map_gnupg_error.
* decrypt.c (_gpgme_decrypt_status_handler): Likewise.
Diffstat (limited to 'src/decrypt.c')
-rw-r--r-- | src/decrypt.c | 55 |
1 files changed, 47 insertions, 8 deletions
diff --git a/src/decrypt.c b/src/decrypt.c index 2569f97c..c48e1a97 100644 --- a/src/decrypt.c +++ b/src/decrypt.c @@ -26,6 +26,7 @@ #include <string.h> #include <errno.h> +#include "debug.h" #include "gpgme.h" #include "util.h" #include "context.h" @@ -74,11 +75,45 @@ gpgme_op_decrypt_result (gpgme_ctx_t ctx) op_data_t opd; gpgme_error_t err; + TRACE_BEG (DEBUG_CTX, "gpgme_op_decrypt_result", ctx); + err = _gpgme_op_data_lookup (ctx, OPDATA_DECRYPT, &hook, -1, NULL); opd = hook; if (err || !opd) - return NULL; + { + TRACE_SUC0 ("result=(null)"); + return NULL; + } + + if (_gpgme_debug_trace ()) + { + gpgme_recipient_t rcp; + int signatures = 0; + + if (opd->result.unsupported_algorithm) + { + TRACE_LOG1 ("result: unsupported_algorithm: %s", + opd->result.unsupported_algorithm); + } + if (opd->result.wrong_key_usage) + { + TRACE_LOG ("result: wrong key usage"); + } + rcp = opd->result.recipients; + while (rcp) + { + TRACE_LOG3 ("result: recipient: keyid=%s, pubkey_algo=%i, " + "status=%s", rcp->keyid, rcp->pubkey_algo, + gpg_strerror (rcp->status)); + rcp = rcp->next; + } + if (opd->result.file_name) + { + TRACE_LOG1 ("result: original file name: %s", opd->result.file_name); + } + } + TRACE_SUC1 ("result=%p", &opd->result); return &opd->result; } @@ -188,8 +223,7 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code, while (*args == ' ') args++; - if (gpg_err_code (_gpgme_map_gnupg_error (args)) - == GPG_ERR_UNSUPPORTED_ALGORITHM) + if (gpg_err_code (atoi (args)) == GPG_ERR_UNSUPPORTED_ALGORITHM) { char *end; @@ -216,8 +250,7 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code, while (*args == ' ') args++; - err = _gpgme_map_gnupg_error (args); - if (gpg_err_code (err) == GPG_ERR_WRONG_KEY_USAGE) + if (gpg_err_code (atoi (args)) == GPG_ERR_WRONG_KEY_USAGE) opd->result.wrong_key_usage = 1; } } @@ -333,7 +366,9 @@ gpgme_error_t gpgme_op_decrypt_start (gpgme_ctx_t ctx, gpgme_data_t cipher, gpgme_data_t plain) { - return decrypt_start (ctx, 0, cipher, plain); + TRACE_BEG2 (DEBUG_CTX, "gpgme_op_decrypt_start", ctx, + "cipher=%p, plain=%p", cipher, plain); + return TRACE_ERR (decrypt_start (ctx, 0, cipher, plain)); } @@ -342,8 +377,12 @@ gpgme_op_decrypt_start (gpgme_ctx_t ctx, gpgme_data_t cipher, gpgme_error_t gpgme_op_decrypt (gpgme_ctx_t ctx, gpgme_data_t cipher, gpgme_data_t plain) { - gpgme_error_t err = decrypt_start (ctx, 1, cipher, plain); + gpgme_error_t err; + + TRACE_BEG2 (DEBUG_CTX, "gpgme_op_decrypt_start", ctx, + "cipher=%p, plain=%p", cipher, plain); + err = decrypt_start (ctx, 1, cipher, plain); if (!err) err = _gpgme_wait_one (ctx); - return err; + return TRACE_ERR (err); } |