mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
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 <wk@gnupg.org>
This commit is contained in:
parent
f6f0dd4d5e
commit
e7068bf92e
7 changed files with 101 additions and 38 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue