aboutsummaryrefslogtreecommitdiffstats
path: root/g10/call-keyboxd.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-12-22 12:45:02 +0000
committerWerner Koch <[email protected]>2023-12-22 12:45:02 +0000
commit2764ee309a2e0c10cef606345f06dd37c637fc41 (patch)
tree4238a756e7624b31ade6e558a1c0794af691412d /g10/call-keyboxd.c
parentRegister DCO for Mario Haustein (diff)
parentdoc: Explain why socket activation is a problem (diff)
downloadgnupg-2764ee309a2e0c10cef606345f06dd37c637fc41.tar.gz
gnupg-2764ee309a2e0c10cef606345f06dd37c637fc41.zip
Merge branch 'STABLE-BRANCH-2-4'
-- Fixed conflicts in NEWS g10/encrypt.c sm/encrypt.c sm/sign.c
Diffstat (limited to 'g10/call-keyboxd.c')
-rw-r--r--g10/call-keyboxd.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/g10/call-keyboxd.c b/g10/call-keyboxd.c
index 960979aae..bc3806f0b 100644
--- a/g10/call-keyboxd.c
+++ b/g10/call-keyboxd.c
@@ -393,6 +393,23 @@ keydb_get_keyblock (KEYDB_HANDLE hd, kbnode_t *ret_kb)
}
+/* Default status callback used to show diagnostics from the keyboxd */
+static gpg_error_t
+keydb_default_status_cb (void *opaque, const char *line)
+{
+ const char *s;
+
+ (void)opaque;
+
+ if ((s = has_leading_keyword (line, "NOTE")))
+ log_info (_("Note: %s\n"), s);
+ else if ((s = has_leading_keyword (line, "WARNING")))
+ log_info (_("WARNING: %s\n"), s);
+
+ return 0;
+}
+
+
/* Communication object for STORE commands. */
struct store_parm_s
@@ -472,7 +489,8 @@ keydb_update_keyblock (ctrl_t ctrl, KEYDB_HANDLE hd, kbnode_t kb)
err = assuan_transact (hd->kbl->ctx, "STORE --update",
NULL, NULL,
store_inq_cb, &parm,
- NULL, NULL);
+ keydb_default_status_cb, hd);
+
leave:
iobuf_close (iobuf);
@@ -523,7 +541,7 @@ keydb_insert_keyblock (KEYDB_HANDLE hd, kbnode_t kb)
err = assuan_transact (hd->kbl->ctx, "STORE --insert",
NULL, NULL,
store_inq_cb, &parm,
- NULL, NULL);
+ keydb_default_status_cb, hd);
leave:
iobuf_close (iobuf);
@@ -569,7 +587,7 @@ keydb_delete_keyblock (KEYDB_HANDLE hd)
err = assuan_transact (hd->kbl->ctx, line,
NULL, NULL,
NULL, NULL,
- NULL, NULL);
+ keydb_default_status_cb, hd);
leave:
return err;
@@ -656,6 +674,8 @@ search_status_cb (void *opaque, const char *line)
}
}
}
+ else
+ err = keydb_default_status_cb (opaque, line);
return err;
}