diff options
Diffstat (limited to 'agent')
-rw-r--r-- | agent/ChangeLog | 17 | ||||
-rw-r--r-- | agent/Makefile.am | 2 | ||||
-rw-r--r-- | agent/agent.h | 15 | ||||
-rw-r--r-- | agent/call-pinentry.c (renamed from agent/query.c) | 60 | ||||
-rw-r--r-- | agent/call-scd.c | 60 | ||||
-rw-r--r-- | agent/command.c | 161 | ||||
-rw-r--r-- | agent/divert-scd.c | 8 | ||||
-rw-r--r-- | agent/genkey.c | 4 | ||||
-rw-r--r-- | agent/gpg-agent.c | 3 | ||||
-rw-r--r-- | agent/learncard.c | 4 | ||||
-rw-r--r-- | agent/pkdecrypt.c | 2 | ||||
-rw-r--r-- | agent/trustlist.c | 4 |
12 files changed, 171 insertions, 169 deletions
diff --git a/agent/ChangeLog b/agent/ChangeLog index 91811f7b3..d0cb96857 100644 --- a/agent/ChangeLog +++ b/agent/ChangeLog @@ -1,3 +1,18 @@ +2006-09-06 Werner Koch <[email protected]> + + * query.c: Renamed to .. + * call-pinentry.c: .. this. + + * agent.h (out_of_core): Removed. + (CTRL): Removed and changed everywhere to ctrl_t. + + Replaced all Assuan error codes by libgpg-error codes. Removed + all map_to_assuan_status and map_assuan_err. + + * gpg-agent.c (main): Call assuan_set_assuan_err_source to have Assuan + switch to gpg-error codes. + * command.c (set_error): Adjusted. + 2006-09-04 Werner Koch <[email protected]> * command.c (percent_plus_unescape): New. @@ -13,7 +28,7 @@ 2006-07-31 Werner Koch <[email protected]> - * preset-passphrase.c (make_hexstring): For conistency use + * preset-passphrase.c (make_hexstring): For consistency use xtrymalloc and changed caller to use xfree. Fixed function comment. diff --git a/agent/Makefile.am b/agent/Makefile.am index 961f0bb97..0bccefab2 100644 --- a/agent/Makefile.am +++ b/agent/Makefile.am @@ -32,7 +32,7 @@ AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(PTH_CFLAGS) gpg_agent_SOURCES = \ gpg-agent.c agent.h \ command.c command-ssh.c \ - query.c \ + call-pinentry.c \ cache.c \ trans.c \ findkey.c \ diff --git a/agent/agent.h b/agent/agent.h index fdfe510fb..ffb6cded8 100644 --- a/agent/agent.h +++ b/agent/agent.h @@ -36,18 +36,12 @@ #include "../common/errors.h" #include "membuf.h" -/* Convenience function to be used instead of returning the old - GNUPG_Out_Of_Core. */ -static inline gpg_error_t -out_of_core (void) -{ - return gpg_error (gpg_err_code_from_errno (errno)); -} #define MAX_DIGEST_LEN 24 /* A large struct name "opt" to keep global flags */ -struct { +struct +{ unsigned int debug; /* Debug flags (DBG_foo_VALUE) */ int verbose; /* Verbosity level */ int quiet; /* Be as quiet as possible */ @@ -136,11 +130,12 @@ struct server_control_s int use_auth_call; /* Hack to send the PKAUTH command instead of the PKSIGN command to the scdaemon. */ }; -typedef struct server_control_s *CTRL; + typedef struct server_control_s *ctrl_t; -struct pin_entry_info_s { +struct pin_entry_info_s +{ int min_digits; /* min. number of digits required or 0 for freeform entry */ int max_digits; /* max. number of allowed digits allowed*/ int max_tries; diff --git a/agent/query.c b/agent/call-pinentry.c index 0516bec03..55758d020 100644 --- a/agent/query.c +++ b/agent/call-pinentry.c @@ -1,4 +1,4 @@ -/* query.c - fork of the pinentry to query stuff from the user +/* call-pinnetry.c - fork of the pinentry to query stuff from the user * Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. * * This file is part of GnuPG. @@ -32,10 +32,10 @@ #include <sys/wait.h> #endif #include <pth.h> +#include <assuan.h> #include "agent.h" #include "i18n.h" -#include <assuan.h> #ifdef _POSIX_OPEN_MAX #define MAX_OPEN_FDS _POSIX_OPEN_MAX @@ -176,7 +176,7 @@ start_pinentry (ctrl_t ctrl) { int rc; const char *pgmname; - ASSUAN_CONTEXT ctx; + assuan_context_t ctx; const char *argv[5]; int no_close_list[3]; int i; @@ -238,12 +238,12 @@ start_pinentry (ctrl_t ctrl) no_close_list[i] = -1; /* Connect to the pinentry and perform initial handshaking */ - rc = assuan_pipe_connect2 (&ctx, opt.pinentry_program, (char**)argv, + rc = assuan_pipe_connect2 (&ctx, opt.pinentry_program, argv, no_close_list, atfork_cb, NULL); if (rc) { log_error ("can't connect to the PIN entry module: %s\n", - assuan_strerror (rc)); + gpg_strerror (rc)); return unlock_pinentry (gpg_error (GPG_ERR_NO_PIN_ENTRY)); } entry_ctx = ctx; @@ -255,7 +255,7 @@ start_pinentry (ctrl_t ctrl) opt.no_grab? "OPTION no-grab":"OPTION grab", NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (ctrl->ttyname) { char *optstr; @@ -265,7 +265,7 @@ start_pinentry (ctrl_t ctrl) NULL); free (optstr); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (ctrl->ttytype) { @@ -275,7 +275,7 @@ start_pinentry (ctrl_t ctrl) rc = assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (ctrl->lc_ctype) { @@ -285,7 +285,7 @@ start_pinentry (ctrl_t ctrl) rc = assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (ctrl->lc_messages) { @@ -295,13 +295,13 @@ start_pinentry (ctrl_t ctrl) rc = assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } return 0; } -static AssuanError +static int getpin_cb (void *opaque, const void *buffer, size_t length) { struct entry_parm_s *parm = opaque; @@ -311,7 +311,7 @@ getpin_cb (void *opaque, const void *buffer, size_t length) /* we expect the pin to fit on one line */ if (parm->lines || length >= parm->size) - return ASSUAN_Too_Much_Data; + return gpg_error (GPG_ERR_ASS_TOO_MUCH_DATA); /* fixme: we should make sure that the assuan buffer is allocated in secure memory or read the response byte by byte */ @@ -372,14 +372,14 @@ agent_askpin (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); snprintf (line, DIM(line)-1, "SETPROMPT %s", prompt_text? prompt_text : is_pin? "PIN:" : "Passphrase:"); line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (initial_errtext) @@ -389,7 +389,7 @@ agent_askpin (ctrl_t ctrl, rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } for (;pininfo->failed_tries < pininfo->max_tries; pininfo->failed_tries++) @@ -407,17 +407,17 @@ agent_askpin (ctrl_t ctrl, rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); errtext = NULL; } rc = assuan_transact (entry_ctx, "GETPIN", getpin_cb, &parm, NULL, NULL, NULL, NULL); - if (rc == ASSUAN_Too_Much_Data) + if (gpg_err_code (rc) == GPG_ERR_ASS_TOO_MUCH_DATA) errtext = is_pin? _("PIN too long") : _("Passphrase too long"); else if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (!errtext && pininfo->min_digits) { @@ -443,7 +443,7 @@ agent_askpin (ctrl_t ctrl, errtext = (is_pin? _("Bad PIN") : _("Bad Passphrase")); else if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (!errtext) @@ -491,13 +491,13 @@ agent_get_passphrase (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); snprintf (line, DIM(line)-1, "SETPROMPT %s", prompt); line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (errtext) { @@ -505,7 +505,7 @@ agent_get_passphrase (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } memset (&parm, 0, sizeof parm); @@ -519,7 +519,7 @@ agent_get_passphrase (ctrl_t ctrl, if (rc) { xfree (parm.buffer); - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } hexstring = gcry_malloc_secure (strlen ((char*)parm.buffer)*2+1); @@ -562,7 +562,7 @@ agent_get_confirmation (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (ok) { @@ -570,7 +570,7 @@ agent_get_confirmation (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (cancel) { @@ -578,11 +578,11 @@ agent_get_confirmation (ctrl_t ctrl, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } rc = assuan_transact (entry_ctx, "CONFIRM", NULL, NULL, NULL, NULL, NULL, NULL); - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } @@ -621,7 +621,7 @@ agent_popup_message_start (ctrl_t ctrl, const char *desc, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); if (ok_btn) { @@ -629,7 +629,7 @@ agent_popup_message_start (ctrl_t ctrl, const char *desc, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL,NULL,NULL,NULL,NULL,NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } if (cancel_btn) { @@ -637,7 +637,7 @@ agent_popup_message_start (ctrl_t ctrl, const char *desc, line[DIM(line)-1] = 0; rc = assuan_transact (entry_ctx, line, NULL,NULL,NULL,NULL,NULL,NULL); if (rc) - return unlock_pinentry (map_assuan_err (rc)); + return unlock_pinentry (rc); } tattr = pth_attr_new(); diff --git a/agent/call-scd.c b/agent/call-scd.c index d0d24f9d5..737dbad61 100644 --- a/agent/call-scd.c +++ b/agent/call-scd.c @@ -266,7 +266,7 @@ start_scd (ctrl_t ctrl) if (rc) { log_error ("can't connect to socket `%s': %s\n", - socket_name, assuan_strerror (rc)); + socket_name, gpg_strerror (rc)); err = gpg_error (GPG_ERR_NO_SCDAEMON); goto leave; } @@ -315,12 +315,12 @@ start_scd (ctrl_t ctrl) no_close_list[i] = -1; /* Connect to the pinentry and perform initial handshaking */ - rc = assuan_pipe_connect2 (&ctx, opt.scdaemon_program, (char**)argv, + rc = assuan_pipe_connect2 (&ctx, opt.scdaemon_program, argv, no_close_list, atfork_cb, NULL); if (rc) { log_error ("can't connect to the SCdaemon: %s\n", - assuan_strerror (rc)); + gpg_strerror (rc)); err = gpg_error (GPG_ERR_NO_SCDAEMON); goto leave; } @@ -554,7 +554,7 @@ unescape_status_string (const unsigned char *s) -static AssuanError +static int learn_status_cb (void *opaque, const char *line) { struct learn_parm_s *parm = opaque; @@ -610,14 +610,14 @@ agent_card_learn (ctrl_t ctrl, NULL, NULL, NULL, NULL, learn_status_cb, &parm); if (rc) - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); return unlock_scd (ctrl, 0); } -static AssuanError +static int get_serialno_cb (void *opaque, const char *line) { char **serialno = opaque; @@ -633,14 +633,14 @@ get_serialno_cb (void *opaque, const char *line) if (keywordlen == 8 && !memcmp (keyword, "SERIALNO", keywordlen)) { if (*serialno) - return ASSUAN_Unexpected_Status; + return gpg_error (GPG_ERR_CONFLICT); /* Unexpected status line. */ for (n=0,s=line; hexdigitp (s); s++, n++) ; if (!n || (n&1)|| !(spacep (s) || !*s) ) - return ASSUAN_Invalid_Status; + return gpg_error (GPG_ERR_ASS_PARAMETER); *serialno = xtrymalloc (n+1); if (!*serialno) - return ASSUAN_Out_Of_Core; + return out_of_core (); memcpy (*serialno, line, n); (*serialno)[n] = 0; } @@ -666,7 +666,7 @@ agent_card_serialno (ctrl_t ctrl, char **r_serialno) if (rc) { xfree (serialno); - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } *r_serialno = serialno; return unlock_scd (ctrl, 0); @@ -675,7 +675,7 @@ agent_card_serialno (ctrl_t ctrl, char **r_serialno) -static AssuanError +static int membuf_data_cb (void *opaque, const void *buffer, size_t length) { membuf_t *data = opaque; @@ -686,7 +686,7 @@ membuf_data_cb (void *opaque, const void *buffer, size_t length) } /* Handle the NEEDPIN inquiry. */ -static AssuanError +static int inq_needpin (void *opaque, const char *line) { struct inq_needpin_s *parm = opaque; @@ -703,11 +703,9 @@ inq_needpin (void *opaque, const char *line) pinlen = 90; pin = gcry_malloc_secure (pinlen); if (!pin) - return ASSUAN_Out_Of_Core; + return out_of_core (); rc = parm->getpin_cb (parm->getpin_cb_arg, line, pin, pinlen); - if (rc) - rc = ASSUAN_Canceled; if (!rc) rc = assuan_send_data (parm->ctx, pin, pinlen); xfree (pin); @@ -723,13 +721,11 @@ inq_needpin (void *opaque, const char *line) line++; rc = parm->getpin_cb (parm->getpin_cb_arg, line, NULL, code); - if (rc) - rc = ASSUAN_Canceled; } else { log_error ("unsupported inquiry `%s'\n", line); - rc = ASSUAN_Inquire_Unknown; + rc = gpg_error (GPG_ERR_ASS_UNKNOWN_INQUIRE); } return rc; @@ -769,7 +765,7 @@ agent_card_pksign (ctrl_t ctrl, rc = assuan_transact (ctrl->scd_local->ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); init_membuf (&data, 1024); inqparm.ctx = ctrl->scd_local->ctx; @@ -785,7 +781,7 @@ agent_card_pksign (ctrl_t ctrl, if (rc) { xfree (get_membuf (&data, &len)); - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } sigbuf = get_membuf (&data, &sigbuflen); @@ -839,7 +835,7 @@ agent_card_pkdecrypt (ctrl_t ctrl, rc = assuan_transact (ctrl->scd_local->ctx, line, NULL, NULL, NULL, NULL, NULL, NULL); if (rc) - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); init_membuf (&data, 1024); inqparm.ctx = ctrl->scd_local->ctx; @@ -854,7 +850,7 @@ agent_card_pkdecrypt (ctrl_t ctrl, if (rc) { xfree (get_membuf (&data, &len)); - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } *r_buf = get_membuf (&data, r_buflen); if (!*r_buf) @@ -890,7 +886,7 @@ agent_card_readcert (ctrl_t ctrl, if (rc) { xfree (get_membuf (&data, &len)); - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } *r_buf = get_membuf (&data, r_buflen); if (!*r_buf) @@ -926,7 +922,7 @@ agent_card_readkey (ctrl_t ctrl, const char *id, unsigned char **r_buf) if (rc) { xfree (get_membuf (&data, &len)); - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } *r_buf = get_membuf (&data, &buflen); if (!*r_buf) @@ -1008,9 +1004,9 @@ agent_card_getattr (ctrl_t ctrl, const char *name, char **result) if (err) return err; - err = map_assuan_err (assuan_transact (ctrl->scd_local->ctx, line, - NULL, NULL, NULL, NULL, - card_getattr_cb, &parm)); + err = assuan_transact (ctrl->scd_local->ctx, line, + NULL, NULL, NULL, NULL, + card_getattr_cb, &parm); if (!err && parm.error) err = gpg_error_from_errno (parm.error); @@ -1028,10 +1024,10 @@ agent_card_getattr (ctrl_t ctrl, const char *name, char **result) -static AssuanError +static int pass_status_thru (void *opaque, const char *line) { - ASSUAN_CONTEXT ctx = opaque; + assuan_context_t ctx = opaque; char keyword[200]; int i; @@ -1048,10 +1044,10 @@ pass_status_thru (void *opaque, const char *line) return 0; } -static AssuanError +static int pass_data_thru (void *opaque, const void *buffer, size_t length) { - ASSUAN_CONTEXT ctx = opaque; + assuan_context_t ctx = opaque; assuan_send_data (ctx, buffer, length); return 0; @@ -1083,7 +1079,7 @@ agent_card_scd (ctrl_t ctrl, const char *cmdline, pass_status_thru, assuan_context); if (rc) { - return unlock_scd (ctrl, map_assuan_err (rc)); + return unlock_scd (ctrl, rc); } return unlock_scd (ctrl, 0); diff --git a/agent/command.c b/agent/command.c index aeceb6da8..730a7e1cd 100644 --- a/agent/command.c +++ b/agent/command.c @@ -41,7 +41,7 @@ /* maximum allowed size of the key parameters */ #define MAXLEN_KEYPARAM 1024 -#define set_error(e,t) assuan_set_error (ctx, ASSUAN_ ## e, (t)) +#define set_error(e,t) assuan_set_error (ctx, gpg_error (e), (t)) #if MAX_DIGEST_LEN < 20 @@ -103,16 +103,16 @@ write_and_clear_outbuf (assuan_context_t ctx, membuf_t *mb) p = get_membuf (mb, &n); if (!p) - return gpg_error (GPG_ERR_ENOMEM); + return out_of_core (); ae = assuan_send_data (ctx, p, n); memset (p, 0, n); xfree (p); - return map_assuan_err (ae); + return ae; } static void -reset_notify (ASSUAN_CONTEXT ctx) +reset_notify (assuan_context_t ctx) { ctrl_t ctrl = assuan_get_pointer (ctx); @@ -187,7 +187,7 @@ percent_plus_unescape (char *string) /* Parse a hex string. Return an Assuan error code or 0 on success and the length of the parsed string in LEN. */ static int -parse_hexstring (ASSUAN_CONTEXT ctx, const char *string, size_t *len) +parse_hexstring (assuan_context_t ctx, const char *string, size_t *len) { const char *p; size_t n; @@ -196,9 +196,9 @@ parse_hexstring (ASSUAN_CONTEXT ctx, const char *string, size_t *len) for (p=string, n=0; hexdigitp (p); p++, n++) ; if (*p != ' ' && *p != '\t' && *p) - return set_error (Parameter_Error, "invalid hexstring"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid hexstring"); if ((n&1)) - return set_error (Parameter_Error, "odd number of digits"); + return set_error (GPG_ERR_ASS_PARAMETER, "odd number of digits"); *len = n; return 0; } @@ -207,7 +207,7 @@ parse_hexstring (ASSUAN_CONTEXT ctx, const char *string, size_t *len) provide space for 20 bytes. BUF is not changed if the fucntions returns an error. */ static int -parse_keygrip (ASSUAN_CONTEXT ctx, const char *string, unsigned char *buf) +parse_keygrip (assuan_context_t ctx, const char *string, unsigned char *buf) { int rc; size_t n; @@ -218,7 +218,7 @@ parse_keygrip (ASSUAN_CONTEXT ctx, const char *string, unsigned char *buf) return rc; n /= 2; if (n != 20) - return set_error (Parameter_Error, "invalid length of keygrip"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid length of keygrip"); for (p=(const unsigned char*)string, n=0; n < 20; p += 2, n++) buf[n] = xtoi_2 (p); @@ -234,7 +234,7 @@ parse_keygrip (ASSUAN_CONTEXT ctx, const char *string, unsigned char *buf) Return OK when we have an entry with this fingerprint in our trustlist */ static int -cmd_istrusted (ASSUAN_CONTEXT ctx, char *line) +cmd_istrusted (assuan_context_t ctx, char *line) { int rc, n, i; char *p; @@ -244,7 +244,7 @@ cmd_istrusted (ASSUAN_CONTEXT ctx, char *line) for (p=line,n=0; hexdigitp (p); p++, n++) ; if (*p || !(n == 40 || n == 32)) - return set_error (Parameter_Error, "invalid fingerprint"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid fingerprint"); i = 0; if (n==32) { @@ -255,14 +255,14 @@ cmd_istrusted (ASSUAN_CONTEXT ctx, char *line) fpr[i] = *p >= 'a'? (*p & 0xdf): *p; fpr[i] = 0; rc = agent_istrusted (fpr); - if (!rc) - return 0; - else if (rc == -1) - return ASSUAN_Not_Trusted; + if (!rc || gpg_err_code (rc) == GPG_ERR_NOT_TRUSTED) + return rc; + else if (rc == -1 || gpg_err_code (rc) == GPG_ERR_EOF ) + return gpg_error (GPG_ERR_NOT_TRUSTED); else { log_error ("command is_trusted failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } } @@ -270,12 +270,12 @@ cmd_istrusted (ASSUAN_CONTEXT ctx, char *line) List all entries from the trustlist */ static int -cmd_listtrusted (ASSUAN_CONTEXT ctx, char *line) +cmd_listtrusted (assuan_context_t ctx, char *line) { int rc = agent_listtrusted (ctx); if (rc) log_error ("command listtrusted failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -283,7 +283,7 @@ cmd_listtrusted (ASSUAN_CONTEXT ctx, char *line) Store a new key in into the trustlist*/ static int -cmd_marktrusted (ASSUAN_CONTEXT ctx, char *line) +cmd_marktrusted (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc, n, i; @@ -295,7 +295,7 @@ cmd_marktrusted (ASSUAN_CONTEXT ctx, char *line) for (p=line,n=0; hexdigitp (p); p++, n++) ; if (!spacep (p) || !(n == 40 || n == 32)) - return set_error (Parameter_Error, "invalid fingerprint"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid fingerprint"); i = 0; if (n==32) { @@ -310,14 +310,14 @@ cmd_marktrusted (ASSUAN_CONTEXT ctx, char *line) p++; flag = *p++; if ( (flag != 'S' && flag != 'P') || !spacep (p) ) - return set_error (Parameter_Error, "invalid flag - must be P or S"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid flag - must be P or S"); while (spacep (p)) p++; rc = agent_marktrusted (ctrl, p, fpr, flag); if (rc) log_error ("command marktrusted failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -327,7 +327,7 @@ cmd_marktrusted (ASSUAN_CONTEXT ctx, char *line) Return success when the secret key is available */ static int -cmd_havekey (ASSUAN_CONTEXT ctx, char *line) +cmd_havekey (assuan_context_t ctx, char *line) { int rc; unsigned char buf[20]; @@ -337,7 +337,7 @@ cmd_havekey (ASSUAN_CONTEXT ctx, char *line) return rc; if (agent_key_available (buf)) - return ASSUAN_No_Secret_Key; + return gpg_error (GPG_ERR_NO_SECKEY); return 0; } @@ -348,7 +348,7 @@ cmd_havekey (ASSUAN_CONTEXT ctx, char *line) Set the key used for a sign or decrypt operation */ static int -cmd_sigkey (ASSUAN_CONTEXT ctx, char *line) +cmd_sigkey (assuan_context_t ctx, char *line) { int rc; ctrl_t ctrl = assuan_get_pointer (ctx); @@ -389,7 +389,7 @@ cmd_setkeydesc (assuan_context_t ctx, char *line) *p = 0; /* We ignore any garbage; we might late use it for other args. */ if (!desc || !*desc) - return set_error (Parameter_Error, "no description given"); + return set_error (GPG_ERR_ASS_PARAMETER, "no description given"); /* Note, that we only need to replace the + characters and should leave the other escaping in place because the escaped string is @@ -400,7 +400,7 @@ cmd_setkeydesc (assuan_context_t ctx, char *line) xfree (ctrl->server_local->keydesc); ctrl->server_local->keydesc = xtrystrdup (desc); if (!ctrl->server_local->keydesc) - return map_to_assuan_status (gpg_error_from_errno (errno)); + return out_of_core (); return 0; } @@ -410,7 +410,7 @@ cmd_setkeydesc (assuan_context_t ctx, char *line) The client can use this command to tell the server about the data (which usually is a hash) to be signed. */ static int -cmd_sethash (ASSUAN_CONTEXT ctx, char *line) +cmd_sethash (assuan_context_t ctx, char *line) { int rc; size_t n; @@ -425,7 +425,7 @@ cmd_sethash (ASSUAN_CONTEXT ctx, char *line) for (line = endp; *line == ' ' || *line == '\t'; line++) ; if (!algo || gcry_md_test_algo (algo)) - return set_error (Unsupported_Algorithm, NULL); + return set_error (GPG_ERR_UNSUPPORTED_ALGORITHM, NULL); ctrl->digest.algo = algo; /* parse the hash value */ @@ -434,9 +434,9 @@ cmd_sethash (ASSUAN_CONTEXT ctx, char *line) return rc; n /= 2; if (n != 16 && n != 20 && n != 24 && n != 32) - return set_error (Parameter_Error, "unsupported length of hash"); + return set_error (GPG_ERR_ASS_PARAMETER, "unsupported length of hash"); if (n > MAX_DIGEST_LEN) - return set_error (Parameter_Error, "hash value to long"); + return set_error (GPG_ERR_ASS_PARAMETER, "hash value to long"); buf = ctrl->digest.value; ctrl->digest.valuelen = n; @@ -453,7 +453,7 @@ cmd_sethash (ASSUAN_CONTEXT ctx, char *line) Perform the actual sign operation. Neither input nor output are sensitive to eavesdropping. */ static int -cmd_pksign (ASSUAN_CONTEXT ctx, char *line) +cmd_pksign (assuan_context_t ctx, char *line) { int rc; cache_mode_t cache_mode = CACHE_MODE_NORMAL; @@ -477,7 +477,7 @@ cmd_pksign (ASSUAN_CONTEXT ctx, char *line) log_error ("command pksign failed: %s\n", gpg_strerror (rc)); xfree (ctrl->server_local->keydesc); ctrl->server_local->keydesc = NULL; - return map_to_assuan_status (rc); + return rc; } /* PKDECRYPT <options> @@ -485,7 +485,7 @@ cmd_pksign (ASSUAN_CONTEXT ctx, char *line) Perform the actual decrypt operation. Input is not sensitive to eavesdropping */ static int -cmd_pkdecrypt (ASSUAN_CONTEXT ctx, char *line) +cmd_pkdecrypt (assuan_context_t ctx, char *line) { int rc; ctrl_t ctrl = assuan_get_pointer (ctx); @@ -512,7 +512,7 @@ cmd_pkdecrypt (ASSUAN_CONTEXT ctx, char *line) log_error ("command pkdecrypt failed: %s\n", gpg_strerror (rc)); xfree (ctrl->server_local->keydesc); ctrl->server_local->keydesc = NULL; - return map_to_assuan_status (rc); + return rc; } @@ -531,7 +531,7 @@ cmd_pkdecrypt (ASSUAN_CONTEXT ctx, char *line) */ static int -cmd_genkey (ASSUAN_CONTEXT ctx, char *line) +cmd_genkey (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; @@ -554,7 +554,7 @@ cmd_genkey (ASSUAN_CONTEXT ctx, char *line) rc = write_and_clear_outbuf (ctx, &outbuf); if (rc) log_error ("command genkey failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -591,7 +591,6 @@ cmd_readkey (assuan_context_t ctx, char *line) len = gcry_sexp_sprint (s_pkey, GCRYSEXP_FMT_CANON, buf, len); assert (len); rc = assuan_send_data (ctx, buf, len); - rc = map_assuan_err (rc); xfree (buf); } gcry_sexp_release (s_pkey); @@ -599,7 +598,7 @@ cmd_readkey (assuan_context_t ctx, char *line) if (rc) log_error ("command readkey failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -619,7 +618,7 @@ cmd_readkey (assuan_context_t ctx, char *line) */ static int -cmd_get_passphrase (ASSUAN_CONTEXT ctx, char *line) +cmd_get_passphrase (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; @@ -661,9 +660,9 @@ cmd_get_passphrase (ASSUAN_CONTEXT ctx, char *line) } } if (!cacheid || !*cacheid || strlen (cacheid) > 50) - return set_error (Parameter_Error, "invalid length of cacheID"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid length of cacheID"); if (!desc) - return set_error (Parameter_Error, "no description given"); + return set_error (GPG_ERR_ASS_PARAMETER, "no description given"); if (!strcmp (cacheid, "X")) cacheid = NULL; @@ -709,7 +708,7 @@ cmd_get_passphrase (ASSUAN_CONTEXT ctx, char *line) if (rc) log_error ("command get_passphrase failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -720,7 +719,7 @@ cmd_get_passphrase (ASSUAN_CONTEXT ctx, char *line) */ static int -cmd_clear_passphrase (ASSUAN_CONTEXT ctx, char *line) +cmd_clear_passphrase (assuan_context_t ctx, char *line) { char *cacheid = NULL; char *p; @@ -733,7 +732,7 @@ cmd_clear_passphrase (ASSUAN_CONTEXT ctx, char *line) if (p) *p = 0; /* ignore garbage */ if (!cacheid || !*cacheid || strlen (cacheid) > 50) - return set_error (Parameter_Error, "invalid length of cacheID"); + return set_error (GPG_ERR_ASS_PARAMETER, "invalid length of cacheID"); agent_put_cache (cacheid, CACHE_MODE_USER, NULL, 0); return 0; @@ -753,7 +752,7 @@ cmd_clear_passphrase (ASSUAN_CONTEXT ctx, char *line) */ static int -cmd_get_confirmation (ASSUAN_CONTEXT ctx, char *line) +cmd_get_confirmation (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; @@ -769,7 +768,7 @@ cmd_get_confirmation (ASSUAN_CONTEXT ctx, char *line) *p = 0; /* We ignore any garbage -may be later used for other args. */ if (!desc || !*desc) - return set_error (Parameter_Error, "no description given"); + return set_error (GPG_ERR_ASS_PARAMETER, "no description given"); if (!strcmp (desc, "X")) desc = NULL; @@ -784,7 +783,7 @@ cmd_get_confirmation (ASSUAN_CONTEXT ctx, char *line) rc = agent_get_confirmation (ctrl, desc, NULL, NULL); if (rc) log_error ("command get_confirmation failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -794,7 +793,7 @@ cmd_get_confirmation (ASSUAN_CONTEXT ctx, char *line) Learn something about the currently inserted smartcard. With --send the new certificates are send back. */ static int -cmd_learn (ASSUAN_CONTEXT ctx, char *line) +cmd_learn (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; @@ -802,7 +801,7 @@ cmd_learn (ASSUAN_CONTEXT ctx, char *line) rc = agent_handle_learn (ctrl, has_option (line, "--send")? ctx : NULL); if (rc) log_error ("command learn failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -811,7 +810,7 @@ cmd_learn (ASSUAN_CONTEXT ctx, char *line) Change the passphrase/PID for the key identified by keygrip in LINE. */ static int -cmd_passwd (ASSUAN_CONTEXT ctx, char *line) +cmd_passwd (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; @@ -842,7 +841,7 @@ cmd_passwd (ASSUAN_CONTEXT ctx, char *line) xfree (shadow_info); if (rc) log_error ("command passwd failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } /* PRESET_PASSPHRASE <hexstring_with_keygrip> <timeout> <hexstring> @@ -853,7 +852,7 @@ cmd_passwd (ASSUAN_CONTEXT ctx, char *line) to never expire it). If passwd is not provided, ask for it via the pinentry module. */ static int -cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line) +cmd_preset_passphrase (assuan_context_t ctx, char *line) { int rc; unsigned char grip[20]; @@ -874,7 +873,7 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line) while (*line && (*line != ' ' && *line != '\t')) line++; if (!*line) - return map_to_assuan_status (gpg_error (GPG_ERR_MISSING_VALUE)); + return gpg_error (GPG_ERR_MISSING_VALUE); *line = '\0'; line++; while (*line && (*line == ' ' || *line == '\t')) @@ -883,7 +882,7 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line) /* Currently, only infinite timeouts are allowed. */ ttl = -1; if (line[0] != '-' || line[1] != '1') - return map_to_assuan_status (gpg_error (GPG_ERR_NOT_IMPLEMENTED)); + return gpg_error (GPG_ERR_NOT_IMPLEMENTED); line++; line++; while (!(*line != ' ' && *line != '\t')) @@ -900,14 +899,14 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line) if (*line) passphrase = line; else - return map_to_assuan_status (gpg_error (GPG_ERR_NOT_IMPLEMENTED)); + return gpg_error (GPG_ERR_NOT_IMPLEMENTED); rc = agent_put_cache (grip_clear, CACHE_MODE_ANY, passphrase, ttl); if (rc) log_error ("command preset_passwd failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -916,14 +915,14 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line) This is a general quote command to redirect everything to the SCDAEMON. */ static int -cmd_scd (ASSUAN_CONTEXT ctx, char *line) +cmd_scd (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); int rc; rc = divert_generic_cmd (ctrl, line, ctx); - return map_to_assuan_status (rc); + return rc; } @@ -951,10 +950,10 @@ cmd_getval (assuan_context_t ctx, char *line) for (; *p == ' '; p++) ; if (*p) - return set_error (Parameter_Error, "too many arguments"); + return set_error (GPG_ERR_ASS_PARAMETER, "too many arguments"); } if (!key || !*key) - return set_error (Parameter_Error, "no key given"); + return set_error (GPG_ERR_ASS_PARAMETER, "no key given"); for (vl=putval_list; vl; vl = vl->next) @@ -962,17 +961,13 @@ cmd_getval (assuan_context_t ctx, char *line) break; if (vl) /* Got an entry. */ - { - rc = assuan_send_data (ctx, vl->d+vl->off, vl->len); - if (rc) - rc = map_assuan_err (rc); - } + rc = assuan_send_data (ctx, vl->d+vl->off, vl->len); else return gpg_error (GPG_ERR_NO_DATA); if (rc) log_error ("command getval failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -1023,7 +1018,7 @@ cmd_putval (assuan_context_t ctx, char *line) } } if (!key || !*key) - return set_error (Parameter_Error, "no key given"); + return set_error (GPG_ERR_ASS_PARAMETER, "no key given"); for (vl=putval_list,vlprev=NULL; vl; vlprev=vl, vl = vl->next) @@ -1057,7 +1052,7 @@ cmd_putval (assuan_context_t ctx, char *line) if (rc) log_error ("command putval failed: %s\n", gpg_strerror (rc)); - return map_to_assuan_status (rc); + return rc; } @@ -1097,7 +1092,7 @@ cmd_updatestartuptty (assuan_context_t ctx, char *line) static int -option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) +option_handler (assuan_context_t ctx, const char *key, const char *value) { ctrl_t ctrl = assuan_get_pointer (ctx); @@ -1107,7 +1102,7 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) free (ctrl->display); ctrl->display = strdup (value); if (!ctrl->display) - return ASSUAN_Out_Of_Core; + return out_of_core (); } else if (!strcmp (key, "ttyname")) { @@ -1117,7 +1112,7 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) free (ctrl->ttyname); ctrl->ttyname = strdup (value); if (!ctrl->ttyname) - return ASSUAN_Out_Of_Core; + return out_of_core (); } } else if (!strcmp (key, "ttytype")) @@ -1128,7 +1123,7 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) free (ctrl->ttytype); ctrl->ttytype = strdup (value); if (!ctrl->ttytype) - return ASSUAN_Out_Of_Core; + return out_of_core (); } } else if (!strcmp (key, "lc-ctype")) @@ -1137,7 +1132,7 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) free (ctrl->lc_ctype); ctrl->lc_ctype = strdup (value); if (!ctrl->lc_ctype) - return ASSUAN_Out_Of_Core; + return out_of_core (); } else if (!strcmp (key, "lc-messages")) { @@ -1145,12 +1140,12 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) free (ctrl->lc_messages); ctrl->lc_messages = strdup (value); if (!ctrl->lc_messages) - return ASSUAN_Out_Of_Core; + return out_of_core (); } else if (!strcmp (key, "use-cache-for-signing")) ctrl->server_local->use_cache_for_signing = *value? atoi (value) : 0; else - return ASSUAN_Invalid_Option; + return gpg_error (GPG_ERR_UNKNOWN_OPTION); return 0; } @@ -1158,11 +1153,11 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value) /* Tell the assuan library about our commands */ static int -register_commands (ASSUAN_CONTEXT ctx) +register_commands (assuan_context_t ctx) { static struct { const char *name; - int (*handler)(ASSUAN_CONTEXT, char *line); + int (*handler)(assuan_context_t, char *line); } table[] = { { "ISTRUSTED", cmd_istrusted }, { "HAVEKEY", cmd_havekey }, @@ -1210,7 +1205,7 @@ void start_command_handler (int listen_fd, int fd) { int rc; - ASSUAN_CONTEXT ctx; + assuan_context_t ctx; struct server_control_s ctrl; memset (&ctrl, 0, sizeof ctrl); @@ -1236,14 +1231,14 @@ start_command_handler (int listen_fd, int fd) if (rc) { log_error ("failed to initialize the server: %s\n", - assuan_strerror(rc)); + gpg_strerror(rc)); agent_exit (2); } rc = register_commands (ctx); if (rc) { log_error ("failed to register commands with Assuan: %s\n", - assuan_strerror(rc)); + gpg_strerror(rc)); agent_exit (2); } @@ -1266,14 +1261,14 @@ start_command_handler (int listen_fd, int fd) } else if (rc) { - log_info ("Assuan accept problem: %s\n", assuan_strerror (rc)); + log_info ("Assuan accept problem: %s\n", gpg_strerror (rc)); break; } rc = assuan_process (ctx); if (rc) { - log_info ("Assuan processing failed: %s\n", assuan_strerror (rc)); + log_info ("Assuan processing failed: %s\n", gpg_strerror (rc)); continue; } } diff --git a/agent/divert-scd.c b/agent/divert-scd.c index 3dc7984e6..471f1bf34 100644 --- a/agent/divert-scd.c +++ b/agent/divert-scd.c @@ -35,7 +35,7 @@ static int -ask_for_card (CTRL ctrl, const unsigned char *shadow_info, char **r_kid) +ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid) { int rc, i; const unsigned char *s; @@ -309,7 +309,7 @@ getpin_cb (void *opaque, const char *info, char *buf, size_t maxbuf) int -divert_pksign (CTRL ctrl, +divert_pksign (ctrl_t ctrl, const unsigned char *digest, size_t digestlen, int algo, const unsigned char *shadow_info, unsigned char **r_sig) { @@ -344,7 +344,7 @@ divert_pksign (CTRL ctrl, key identified by SHADOW_INFO and return the plaintext in an allocated buffer in R_BUF. */ int -divert_pkdecrypt (CTRL ctrl, +divert_pkdecrypt (ctrl_t ctrl, const unsigned char *cipher, const unsigned char *shadow_info, char **r_buf, size_t *r_len) @@ -407,7 +407,7 @@ divert_pkdecrypt (CTRL ctrl, int -divert_generic_cmd (CTRL ctrl, const char *cmdline, void *assuan_context) +divert_generic_cmd (ctrl_t ctrl, const char *cmdline, void *assuan_context) { return agent_card_scd (ctrl, cmdline, getpin_cb, ctrl, assuan_context); } diff --git a/agent/genkey.c b/agent/genkey.c index 04ee865f4..a1f9f38f4 100644 --- a/agent/genkey.c +++ b/agent/genkey.c @@ -88,7 +88,7 @@ reenter_compare_cb (struct pin_entry_info_s *pi) /* Generate a new keypair according to the parameters given in KEYPARAM */ int -agent_genkey (CTRL ctrl, const char *keyparam, size_t keyparamlen, +agent_genkey (ctrl_t ctrl, const char *keyparam, size_t keyparamlen, membuf_t *outbuf) { gcry_sexp_t s_keyparam, s_key, s_private, s_public; @@ -209,7 +209,7 @@ agent_genkey (CTRL ctrl, const char *keyparam, size_t keyparamlen, /* Apply a new passpahrse to the key S_SKEY and store it. */ int -agent_protect_and_store (CTRL ctrl, gcry_sexp_t s_skey) +agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey) { struct pin_entry_info_s *pi, *pi2; int rc; diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index 08a390c9a..c891eb09b 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -509,6 +509,7 @@ main (int argc, char **argv ) assuan_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free); assuan_set_assuan_log_stream (log_get_stream ()); assuan_set_assuan_log_prefix (log_get_prefix (NULL)); + assuan_set_assuan_err_source (GPG_ERR_SOURCE_DEFAULT); gcry_set_log_handler (my_gcry_logger, NULL); gcry_set_outofcore_handler (my_gcry_outofcore_handler, NULL); @@ -1697,7 +1698,7 @@ check_for_running_agent (int mode) return 0; /* Okay, its running on the standard socket. */ if (!mode) - log_error ("can't connect to the agent: %s\n", assuan_strerror (rc)); + log_error ("can't connect to the agent: %s\n", gpg_strerror (rc)); return -1; } diff --git a/agent/learncard.c b/agent/learncard.c index 8ddf4ee54..8b2c7addd 100644 --- a/agent/learncard.c +++ b/agent/learncard.c @@ -265,8 +265,8 @@ send_cert_back (ctrl_t ctrl, const char *id, void *assuan_context) if (rc) { log_error ("sending certificate failed: %s\n", - assuan_strerror (rc)); - return map_assuan_err (rc); + gpg_strerror (rc)); + return rc; } return 0; } diff --git a/agent/pkdecrypt.c b/agent/pkdecrypt.c index 775fa5256..e7fc14240 100644 --- a/agent/pkdecrypt.c +++ b/agent/pkdecrypt.c @@ -36,7 +36,7 @@ Try to get the key from CTRL and write the decoded stuff back to OUTFP. */ int -agent_pkdecrypt (CTRL ctrl, const char *desc_text, +agent_pkdecrypt (ctrl_t ctrl, const char *desc_text, const unsigned char *ciphertext, size_t ciphertextlen, membuf_t *outbuf) { diff --git a/agent/trustlist.c b/agent/trustlist.c index d234af692..f87cafaee 100644 --- a/agent/trustlist.c +++ b/agent/trustlist.c @@ -94,7 +94,7 @@ open_list (int append) buffer of at least 41 characters. KEYFLAG does return either 'P', 'S' or '*'. - Reading a valid entry return 0, EOF returns -1 any other error + Reading a valid entry returns 0, EOF returns -1 any other error returns the appropriate error code. */ static int read_list (char *key, int *keyflag) @@ -246,7 +246,7 @@ agent_listtrusted (void *assuan_context) whether this is actual wants he want to do. */ int -agent_marktrusted (CTRL ctrl, const char *name, const char *fpr, int flag) +agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag) { int rc; static char key[41]; |