aboutsummaryrefslogtreecommitdiffstats
path: root/src/decrypt.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-10-26 17:38:39 +0000
committerMarcus Brinkmann <[email protected]>2009-10-26 17:38:39 +0000
commitca67902311b832f8dfe1cabb5bf358890a1d3821 (patch)
tree5ce3534870d33da1f86048153fc09dca017ce648 /src/decrypt.c
parent2009-10-22 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-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.c55
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);
}