summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <mb@g10code.com>2009-11-02 18:47:11 +0100
committerMarcus Brinkmann <mb@g10code.com>2009-11-02 18:47:11 +0100
commit717c38381ad276cb453fefe401136b246f16d73a (patch)
tree9bcd2451f6c167f190a3266e3ae8135b7755e58e
parent[scd] Memory leak fix. (diff)
downloadgnupg2-717c38381ad276cb453fefe401136b246f16d73a.tar.xz
gnupg2-717c38381ad276cb453fefe401136b246f16d73a.zip
agent/
2009-11-02 Marcus Brinkmann <marcus@g10code.de> * command.c (reset_notify): Take LINE arg and return error. (register_commands): Use assuan_handler_t type. common/ 2009-11-02 Marcus Brinkmann <marcus@g10code.de> * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return type to gpg_error_t. g10/ 2009-11-02 Marcus Brinkmann <marcus@g10code.de> * 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 <marcus@g10code.de> * command.c (reset_notify): Take LINE arg and return error. (register_commands): Use assuan_handler_t type. sm/ 2009-11-02 Marcus Brinkmann <marcus@g10code.de> * 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.
-rw-r--r--agent/ChangeLog5
-rw-r--r--agent/command.c9
-rw-r--r--common/ChangeLog5
-rw-r--r--common/get-passphrase.c4
-rw-r--r--g10/ChangeLog6
-rw-r--r--g10/server.c19
-rw-r--r--g13/ChangeLog1
-rw-r--r--g13/server.c11
-rw-r--r--scd/ChangeLog5
-rw-r--r--scd/command.c9
-rw-r--r--sm/ChangeLog10
-rw-r--r--sm/call-agent.c20
-rw-r--r--sm/server.c19
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 <marcus@g10code.de>
+
+ * command.c (reset_notify): Take LINE arg and return error.
+ (register_commands): Use assuan_handler_t type.
+
2009-10-16 Marcus Brinkmann <marcus@g10code.com>
* 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 <marcus@g10code.de>
+
+ * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return
+ type to gpg_error_t.
+
2009-10-28 Werner Koch <wk@g10code.com>
* 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 <marcus@g10code.de>
+
+ * server.c (reset_notify, input_notify, output_notify): Update to
+ new assuan interface.
+ (register_commands): Use assuan_handler_t.
+
2009-10-19 Werner Koch <wk@g10code.com>
* 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 <marcus@g10code.de>
+
+ * command.c (reset_notify): Take LINE arg and return error.
+ (register_commands): Use assuan_handler_t type.
+
2009-10-25 Werner Koch <wk@g10code.com>
* 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 <marcus@g10code.de>
+
+ * 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 <wk@g10code.com>
* 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 },