diff options
author | Werner Koch <[email protected]> | 2020-09-10 10:05:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-09-10 10:08:48 +0000 |
commit | 29977e21d18188e16e50fee95a95e05fdbd97caf (patch) | |
tree | 153025c422ab7eec318ff4c8ecfeee4914388087 /kbx/frontend.c | |
parent | gpg-connect-agent: Catch signals so that SIGPIPE is ignored. (diff) | |
download | gnupg-29977e21d18188e16e50fee95a95e05fdbd97caf.tar.gz gnupg-29977e21d18188e16e50fee95a95e05fdbd97caf.zip |
keyboxd: Add options --openpgp and --x509 to SEARCH.
* kbx/keyboxd.h (struct server_control_s): Replace the two request
objects by just one. Add filter flags.
* kbx/kbxserver.c (cmd_search): Add options --openpgp and --x509.
(cmd_killkeyboxd): Do not return GPG_ERR_EOF.
* kbx/frontend.c (kbxd_release_session_info): Adjust for the new
request object.
(kbxd_search, kbxd_store, kbxd_delete): Ditto.
* kbx/backend-sqlite.c (struct be_sqlite_local_s): Add filter flags.
(run_sql_prepare): Add optional arg 'extra'. Change callers.
(run_sql_bind_ntext): New.
(run_sql_bind_text): Just call run_sql_bind_ntext.
(run_select_statement): Add ctrl arg. Implement the filter flags.
* g10/call-keyboxd.c (keydb_search): Use the --openpgp option.
--
As soon as we implement X.509 we need to have a way to return only
openpgp or x.509 certificates. Gpg/gpgsm will then use the respective
flag.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'kbx/frontend.c')
-rw-r--r-- | kbx/frontend.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/kbx/frontend.c b/kbx/frontend.c index ea7d2e23f..48b6fffa2 100644 --- a/kbx/frontend.c +++ b/kbx/frontend.c @@ -167,10 +167,8 @@ kbxd_release_session_info (ctrl_t ctrl) { if (!ctrl) return; - be_release_request (ctrl->opgp_req); - ctrl->opgp_req = NULL; - be_release_request (ctrl->x509_req); - ctrl->x509_req = NULL; + be_release_request (ctrl->db_req); + ctrl->db_req = NULL; } @@ -204,16 +202,16 @@ kbxd_search (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, unsigned int ndesc, take_read_lock (ctrl); /* Allocate a handle object if none exists for this context. */ - if (!ctrl->opgp_req) + if (!ctrl->db_req) { - ctrl->opgp_req = xtrycalloc (1, sizeof *ctrl->opgp_req); - if (!ctrl->opgp_req) + ctrl->db_req = xtrycalloc (1, sizeof *ctrl->db_req); + if (!ctrl->db_req) { err = gpg_error_from_syserror (); goto leave; } } - request = ctrl->opgp_req; + request = ctrl->db_req; if (!the_database.db_type) { @@ -341,16 +339,16 @@ kbxd_store (ctrl_t ctrl, const void *blob, size_t bloblen, take_read_write_lock (ctrl); /* Allocate a handle object if none exists for this context. */ - if (!ctrl->opgp_req) + if (!ctrl->db_req) { - ctrl->opgp_req = xtrycalloc (1, sizeof *ctrl->opgp_req); - if (!ctrl->opgp_req) + ctrl->db_req = xtrycalloc (1, sizeof *ctrl->db_req); + if (!ctrl->db_req) { err = gpg_error_from_syserror (); goto leave; } } - request = ctrl->opgp_req; + request = ctrl->db_req; if (!the_database.db_type) { @@ -431,16 +429,16 @@ kbxd_delete (ctrl_t ctrl, const unsigned char *ubid) take_read_write_lock (ctrl); /* Allocate a handle object if none exists for this context. */ - if (!ctrl->opgp_req) + if (!ctrl->db_req) { - ctrl->opgp_req = xtrycalloc (1, sizeof *ctrl->opgp_req); - if (!ctrl->opgp_req) + ctrl->db_req = xtrycalloc (1, sizeof *ctrl->db_req); + if (!ctrl->db_req) { err = gpg_error_from_syserror (); goto leave; } } - request = ctrl->opgp_req; + request = ctrl->db_req; if (!the_database.db_type) { |