diff options
author | Werner Koch <[email protected]> | 2017-07-24 18:05:28 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-07-24 18:09:52 +0000 |
commit | e7068bf92ec5ca5d440346d43a382c1f625b924d (patch) | |
tree | c72b3e3b26b38c3efd0e1377809354721bde778c /g10/keyserver.c | |
parent | gpg: Filter keys received via DANE (diff) | |
download | gnupg-e7068bf92ec5ca5d440346d43a382c1f625b924d.tar.gz gnupg-e7068bf92ec5ca5d440346d43a382c1f625b924d.zip |
gpg: Store key origin info for new DANE and WKD retrieved keys.
* g10/import.c (apply_meta_data): Remove arg 'merge'. Add arg 'url'.
Implement WKD and DANE key origin.
(import_keys_internal): Add arg 'url' and change all callers.
(import_keys_es_stream): Ditto.
(import): Ditto.
(import_one): Ditto.
* g10/keylist.c (list_keyblock_print): Fix update URL printing.
* g10/call-dirmngr.c (gpg_dirmngr_wkd_get): Add arg 'r_url' to return
the SOURCE. Pass ks_status_cb to assuan_transact.
* g10/keyserver.c (keyserver_import_wkd): Get that URL and pass it to
the import function.
--
Note that this only for new keys. Merging this info will be added
soon.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/keyserver.c')
-rw-r--r-- | g10/keyserver.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/g10/keyserver.c b/g10/keyserver.c index a84961e37..9586448fa 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -1747,7 +1747,7 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc, (opt.keyserver_options.import_options | IMPORT_NO_SECKEY), keyserver_retrieval_screener, &screenerarg, - 0 /* FIXME? */); + 0 /* FIXME? */, NULL); } es_fclose (datastream); xfree (source); @@ -1878,7 +1878,7 @@ keyserver_fetch (ctrl_t ctrl, strlist_t urilist, int origin) stats_handle = import_new_stats_handle(); import_keys_es_stream (ctrl, datastream, stats_handle, NULL, NULL, opt.keyserver_options.import_options, - NULL, NULL, origin); + NULL, NULL, origin, NULL); import_print_stats (stats_handle); import_release_stats_handle (stats_handle); @@ -1945,7 +1945,7 @@ keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode, if (!err) err = import_keys_es_stream (ctrl, key, NULL, fpr, fpr_len, IMPORT_NO_SECKEY, - NULL, NULL, KEYORG_DANE); + NULL, NULL, KEYORG_DANE, NULL); restore_import_filter (save_filt); } } @@ -1954,7 +1954,7 @@ keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode, err = import_keys_es_stream (ctrl, key, NULL, fpr, fpr_len, (opt.keyserver_options.import_options | IMPORT_NO_SECKEY), - NULL, NULL, 0); + NULL, NULL, 0, NULL); } opt.no_armor=armor_status; @@ -2043,6 +2043,7 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick, gpg_error_t err; char *mbox; estream_t key; + char *url = NULL; /* We want to work on the mbox. That is what dirmngr will do anyway * and we need the mbox for the import filter anyway. */ @@ -2055,7 +2056,7 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick, return err; } - err = gpg_dirmngr_wkd_get (ctrl, mbox, quick, &key); + err = gpg_dirmngr_wkd_get (ctrl, mbox, quick, &key, &url); if (err) ; else if (key) @@ -2078,7 +2079,7 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick, if (!err) err = import_keys_es_stream (ctrl, key, NULL, fpr, fpr_len, IMPORT_NO_SECKEY, - NULL, NULL, KEYORG_WKD); + NULL, NULL, KEYORG_WKD, url); } @@ -2089,6 +2090,7 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick, key = NULL; } + xfree (url); xfree (mbox); return err; } |