From 717c38381ad276cb453fefe401136b246f16d73a Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Mon, 2 Nov 2009 17:47:11 +0000 Subject: [PATCH] agent/ 2009-11-02 Marcus Brinkmann * command.c (reset_notify): Take LINE arg and return error. (register_commands): Use assuan_handler_t type. common/ 2009-11-02 Marcus Brinkmann * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return type to gpg_error_t. g10/ 2009-11-02 Marcus Brinkmann * server.c (reset_notify, input_notify, output_notify): Update to new assuan interface. (register_commands): Use assuan_handler_t. scd/ 2009-11-02 Marcus Brinkmann * command.c (reset_notify): Take LINE arg and return error. (register_commands): Use assuan_handler_t type. sm/ 2009-11-02 Marcus Brinkmann * server.c (reset_notify, input_notify, output_notify): Update to new assuan interface. (register_commands): Use assuan_handler_t. * call-agent.c (membuf_data_cb, default_inq_cb) (inq_ciphertext_cb, scd_serialno_status_cb) (scd_keypairinfo_status_cb, istrusted_status_cb) (learn_status_cb, learn_cb, keyinfo_status_cb): Return gpg_error_t. --- agent/ChangeLog | 5 +++++ agent/command.c | 9 ++++++--- common/ChangeLog | 5 +++++ common/get-passphrase.c | 4 ++-- g10/ChangeLog | 6 ++++++ g10/server.c | 19 ++++++++++++------- g13/ChangeLog | 1 - g13/server.c | 11 +++++++---- scd/ChangeLog | 5 +++++ scd/command.c | 9 ++++++--- sm/ChangeLog | 10 ++++++++++ sm/call-agent.c | 20 ++++++++++---------- sm/server.c | 19 ++++++++++++------- 13 files changed, 86 insertions(+), 37 deletions(-) diff --git a/agent/ChangeLog b/agent/ChangeLog index 242d2f0a1..1d457cc95 100644 --- a/agent/ChangeLog +++ b/agent/ChangeLog @@ -1,3 +1,8 @@ +2009-11-02 Marcus Brinkmann + + * command.c (reset_notify): Take LINE arg and return error. + (register_commands): Use assuan_handler_t type. + 2009-10-16 Marcus Brinkmann * gpg_agent_CFLAGS, gpg_agent_LDADD: Use libassuan instead of diff --git a/agent/command.c b/agent/command.c index 7e2638106..17737ba8a 100644 --- a/agent/command.c +++ b/agent/command.c @@ -146,17 +146,20 @@ write_and_clear_outbuf (assuan_context_t ctx, membuf_t *mb) } -static void -reset_notify (assuan_context_t ctx) +static gpg_error_t +reset_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); + (void) line; + memset (ctrl->keygrip, 0, 20); ctrl->have_keygrip = 0; ctrl->digest.valuelen = 0; xfree (ctrl->server_local->keydesc); ctrl->server_local->keydesc = NULL; + return 0; } @@ -1823,7 +1826,7 @@ register_commands (assuan_context_t ctx) { static struct { const char *name; - gpg_error_t (*handler)(assuan_context_t, char *line); + assuan_handler_t handler; } table[] = { { "GETEVENTCOUNTER",cmd_geteventcounter }, { "ISTRUSTED", cmd_istrusted }, diff --git a/common/ChangeLog b/common/ChangeLog index 1b09fd916..9468bfe3a 100644 --- a/common/ChangeLog +++ b/common/ChangeLog @@ -1,3 +1,8 @@ +2009-11-02 Marcus Brinkmann + + * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return + type to gpg_error_t. + 2009-10-28 Werner Koch * status.h (STATUS_MOUNTPOINT): New. diff --git a/common/get-passphrase.c b/common/get-passphrase.c index e1a11482e..090079405 100644 --- a/common/get-passphrase.c +++ b/common/get-passphrase.c @@ -103,7 +103,7 @@ start_agent (void) /* This is the default inquiry callback. It merely handles the Pinentry notification. */ -static int +static gpg_error_t default_inq_cb (void *opaque, const char *line) { (void)opaque; @@ -120,7 +120,7 @@ default_inq_cb (void *opaque, const char *line) } -static int +static gpg_error_t membuf_data_cb (void *opaque, const void *buffer, size_t length) { membuf_t *data = opaque; diff --git a/g10/ChangeLog b/g10/ChangeLog index dfe54e770..b2ea64015 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2009-11-02 Marcus Brinkmann + + * server.c (reset_notify, input_notify, output_notify): Update to + new assuan interface. + (register_commands): Use assuan_handler_t. + 2009-10-19 Werner Koch * options.h (glo_ctrl): Add field LASTERR. diff --git a/g10/server.c b/g10/server.c index 657091b0e..bdd28f0f2 100644 --- a/g10/server.c +++ b/g10/server.c @@ -144,23 +144,26 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) /* Called by libassuan for RESET commands. */ -static void -reset_notify (assuan_context_t ctx) +static gpg_error_t +reset_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); + (void)line; + release_pk_list (ctrl->server_local->recplist); ctrl->server_local->recplist = NULL; close_message_fd (ctrl); assuan_close_input_fd (ctx); assuan_close_output_fd (ctx); + return 0; } /* Called by libassuan for INPUT commands. */ -static void -input_notify (assuan_context_t ctx, const char *line) +static gpg_error_t +input_notify (assuan_context_t ctx, char *line) { /* ctrl_t ctrl = assuan_get_pointer (ctx); */ @@ -176,12 +179,13 @@ input_notify (assuan_context_t ctx, const char *line) { /* FIXME (autodetect encoding) */ } + return 0; } /* Called by libassuan for OUTPUT commands. */ -static void -output_notify (assuan_context_t ctx, const char *line) +static gpg_error_t +output_notify (assuan_context_t ctx, char *line) { /* ctrl_t ctrl = assuan_get_pointer (ctx); */ @@ -193,6 +197,7 @@ output_notify (assuan_context_t ctx, const char *line) { /* FIXME */ } + return 0; } @@ -605,7 +610,7 @@ register_commands (assuan_context_t ctx) static struct { const char *name; - gpg_error_t (*handler)(assuan_context_t, char *line); + assuan_handler_t handler; } table[] = { { "RECIPIENT", cmd_recipient }, { "SIGNER", cmd_signer }, diff --git a/g13/ChangeLog b/g13/ChangeLog index 5d74c7098..615fb1c1c 100644 --- a/g13/ChangeLog +++ b/g13/ChangeLog @@ -1,3 +1,2 @@ - Under initial development - no need for a ChangeLog. diff --git a/g13/server.c b/g13/server.c index a6906aaa3..071e0326c 100644 --- a/g13/server.c +++ b/g13/server.c @@ -184,11 +184,13 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) /* The handler for an Assuan RESET command. */ -static void -reset_notify (assuan_context_t ctx) +static gpg_error_t +reset_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); + (void)line; + xfree (ctrl->server_local->containername); ctrl->server_local->containername = NULL; @@ -196,6 +198,7 @@ reset_notify (assuan_context_t ctx) assuan_close_input_fd (ctx); assuan_close_output_fd (ctx); + return 0; } @@ -539,7 +542,7 @@ register_commands (assuan_context_t ctx) { static struct { const char *name; - gpg_error_t (*handler)(assuan_context_t, char *line); + assuan_handler_t handler; } table[] = { { "OPEN", cmd_open }, { "MOUNT", cmd_mount }, @@ -655,7 +658,7 @@ g13_server (ctrl_t ctrl) log_info ("Assuan accept problem: %s\n", gpg_strerror (err)); leave: - reset_notify (ctx); /* Release all items hold by SERVER_LOCAL. */ + reset_notify (ctx, NULL); /* Release all items hold by SERVER_LOCAL. */ if (ctrl->server_local) { xfree (ctrl->server_local); diff --git a/scd/ChangeLog b/scd/ChangeLog index 9a545d87f..db19feece 100644 --- a/scd/ChangeLog +++ b/scd/ChangeLog @@ -1,3 +1,8 @@ +2009-11-02 Marcus Brinkmann + + * command.c (reset_notify): Take LINE arg and return error. + (register_commands): Use assuan_handler_t type. + 2009-10-25 Werner Koch * scdaemon.c (scd_deinit_default_ctrl): Release IN_DATA. diff --git a/scd/command.c b/scd/command.c index b70455eec..f12f11acf 100644 --- a/scd/command.c +++ b/scd/command.c @@ -338,12 +338,15 @@ do_reset (ctrl_t ctrl, int send_reset) } -static void -reset_notify (assuan_context_t ctx) +static gpg_error_t +reset_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); + (void) line; + do_reset (ctrl, 1); + return 0; } @@ -1843,7 +1846,7 @@ register_commands (assuan_context_t ctx) { static struct { const char *name; - gpg_error_t (*handler)(assuan_context_t, char *line); + assuan_handler_t handler; } table[] = { { "SERIALNO", cmd_serialno }, { "LEARN", cmd_learn }, diff --git a/sm/ChangeLog b/sm/ChangeLog index f7c735913..7781d503c 100644 --- a/sm/ChangeLog +++ b/sm/ChangeLog @@ -1,3 +1,13 @@ +2009-11-02 Marcus Brinkmann + + * server.c (reset_notify, input_notify, output_notify): Update to + new assuan interface. + (register_commands): Use assuan_handler_t. + * call-agent.c (membuf_data_cb, default_inq_cb) + (inq_ciphertext_cb, scd_serialno_status_cb) + (scd_keypairinfo_status_cb, istrusted_status_cb) + (learn_status_cb, learn_cb, keyinfo_status_cb): Return gpg_error_t. + 2009-10-16 Werner Koch * gpgsm.c (default_include_certs): Change to -2. diff --git a/sm/call-agent.c b/sm/call-agent.c index 190931f42..c5ab0934a 100644 --- a/sm/call-agent.c +++ b/sm/call-agent.c @@ -111,7 +111,7 @@ start_agent (ctrl_t ctrl) -static int +static gpg_error_t membuf_data_cb (void *opaque, const void *buffer, size_t length) { membuf_t *data = opaque; @@ -124,7 +124,7 @@ membuf_data_cb (void *opaque, const void *buffer, size_t length) /* This is the default inquiry callback. It mainly handles the Pinentry notifications. */ -static int +static gpg_error_t default_inq_cb (void *opaque, const char *line) { gpg_error_t err; @@ -301,7 +301,7 @@ gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc, /* Handle a CIPHERTEXT inquiry. Note, we only send the data, assuan_transact talkes care of flushing and writing the end */ -static int +static gpg_error_t inq_ciphertext_cb (void *opaque, const char *line) { struct cipher_parm_s *parm = opaque; @@ -423,7 +423,7 @@ gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc, /* Handle a KEYPARMS inquiry. Note, we only send the data, assuan_transact takes care of flushing and writing the end */ -static int +static gpg_error_t inq_genkey_parms (void *opaque, const char *line) { struct genkey_parm_s *parm = opaque; @@ -561,7 +561,7 @@ store_serialno (const char *line) /* Callback for the gpgsm_agent_serialno fucntion. */ -static int +static gpg_error_t scd_serialno_status_cb (void *opaque, const char *line) { char **r_serialno = opaque; @@ -613,7 +613,7 @@ gpgsm_agent_scd_serialno (ctrl_t ctrl, char **r_serialno) /* Callback for the gpgsm_agent_serialno fucntion. */ -static int +static gpg_error_t scd_keypairinfo_status_cb (void *opaque, const char *line) { strlist_t *listaddr = opaque; @@ -681,7 +681,7 @@ gpgsm_agent_scd_keypairinfo (ctrl_t ctrl, strlist_t *r_list) -static int +static gpg_error_t istrusted_status_cb (void *opaque, const char *line) { struct rootca_flags_s *flags = opaque; @@ -812,7 +812,7 @@ gpgsm_agent_havekey (ctrl_t ctrl, const char *hexkeygrip) } -static int +static gpg_error_t learn_status_cb (void *opaque, const char *line) { struct learn_parm_s *parm = opaque; @@ -831,7 +831,7 @@ learn_status_cb (void *opaque, const char *line) return 0; } -static int +static gpg_error_t learn_cb (void *opaque, const void *buffer, size_t length) { struct learn_parm_s *parm = opaque; @@ -1002,7 +1002,7 @@ gpgsm_agent_send_nop (ctrl_t ctrl) -static int +static gpg_error_t keyinfo_status_cb (void *opaque, const char *line) { char **serialno = opaque; diff --git a/sm/server.c b/sm/server.c index c2c4330dc..aaa4fd021 100644 --- a/sm/server.c +++ b/sm/server.c @@ -308,11 +308,13 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) } -static void -reset_notify (assuan_context_t ctx) +static gpg_error_t +reset_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); + (void) line; + gpgsm_release_certlist (ctrl->server_local->recplist); gpgsm_release_certlist (ctrl->server_local->signerlist); ctrl->server_local->recplist = NULL; @@ -320,11 +322,12 @@ reset_notify (assuan_context_t ctx) close_message_fd (ctrl); assuan_close_input_fd (ctx); assuan_close_output_fd (ctx); + return 0; } -static void -input_notify (assuan_context_t ctx, const char *line) +static gpg_error_t +input_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); @@ -339,10 +342,11 @@ input_notify (assuan_context_t ctx, const char *line) ; else ctrl->autodetect_encoding = 1; + return 0; } -static void -output_notify (assuan_context_t ctx, const char *line) +static gpg_error_t +output_notify (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); @@ -352,6 +356,7 @@ output_notify (assuan_context_t ctx, const char *line) ctrl->create_pem = 1; else if (strstr (line, "--base64")) ctrl->create_base64 = 1; /* just the raw output */ + return 0; } @@ -1100,7 +1105,7 @@ register_commands (assuan_context_t ctx) { static struct { const char *name; - gpg_error_t (*handler)(assuan_context_t, char *line); + assuan_handler_t handler; } table[] = { { "RECIPIENT", cmd_recipient }, { "SIGNER", cmd_signer },