aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-11-10 14:54:39 +0000
committerMarcus Brinkmann <[email protected]>2009-11-10 14:54:39 +0000
commite88c7782bf6917dd01bd55a1ff4275644cae823b (patch)
treeaf5e09613662345412c57ee8e09754f590add722
parent2009-11-10 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-e88c7782bf6917dd01bd55a1ff4275644cae823b.tar.gz
gpgme-e88c7782bf6917dd01bd55a1ff4275644cae823b.zip
2009-11-10 Marcus Brinkmann <[email protected]>
* gpgme.c (gpgme_new): Set default sub protocol. * gpgme-tool.c: Implement get sub protocol.
-rw-r--r--src/ChangeLog3
-rw-r--r--src/gpgme-tool.c20
-rw-r--r--src/gpgme.c1
3 files changed, 20 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 91ea9da0..2443c2f1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2009-11-10 Marcus Brinkmann <[email protected]>
+ * gpgme.c (gpgme_new): Set default sub protocol.
+ * gpgme-tool.c: Implement get sub protocol.
+
* gpgme.h.in (gpgme_get_sub_protocol): Add prototype.
* gpgme.def, libgpgme.vers: Add gpgme_get_sub_protocol.
* context.h (struct gpgme_context): New member sub_protocol.
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c
index 0283ffd2..ccb2ae48 100644
--- a/src/gpgme-tool.c
+++ b/src/gpgme-tool.c
@@ -799,6 +799,18 @@ gt_set_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
gpg_error_t
+gt_get_protocol (gpgme_tool_t gt)
+{
+ gpgme_protocol_t proto = gpgme_get_protocol (gt->ctx);
+
+ gt_write_status (gt, STATUS_PROTOCOL, gpgme_get_protocol_name (proto),
+ NULL);
+
+ return 0;
+}
+
+
+gpg_error_t
gt_set_sub_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
{
return gpgme_set_sub_protocol (gt->ctx, proto);
@@ -806,9 +818,9 @@ gt_set_sub_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
gpg_error_t
-gt_get_protocol (gpgme_tool_t gt)
+gt_get_sub_protocol (gpgme_tool_t gt)
{
- gpgme_protocol_t proto = gpgme_get_protocol (gt->ctx);
+ gpgme_protocol_t proto = gpgme_get_sub_protocol (gt->ctx);
gt_write_status (gt, STATUS_PROTOCOL, gpgme_get_protocol_name (proto),
NULL);
@@ -1268,8 +1280,8 @@ cmd_sub_protocol (assuan_context_t ctx, char *line)
struct server *server = assuan_get_pointer (ctx);
if (line && *line)
return gt_set_sub_protocol (server->gt, gt_protocol_from_name (line));
- /* FIXME. */
- return 0;
+ else
+ return gt_get_sub_protocol (server->gt);
}
diff --git a/src/gpgme.c b/src/gpgme.c
index 7c523851..2d709e40 100644
--- a/src/gpgme.c
+++ b/src/gpgme.c
@@ -77,6 +77,7 @@ gpgme_new (gpgme_ctx_t *r_ctx)
ctx->keylist_mode = GPGME_KEYLIST_MODE_LOCAL;
ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT;
ctx->protocol = GPGME_PROTOCOL_OpenPGP;
+ ctx->sub_protocol = GPGME_PROTOCOL_DEFAULT;
_gpgme_fd_table_init (&ctx->fdt);
LOCK (def_lc_lock);