From 87b5421ca84bbea68217c9ed771ee8c0a98a4d0c Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 24 Jul 2017 21:07:03 +0200 Subject: gpg: Extend --key-origin to take an optional URL arg. * g10/getkey.c (parse_key_origin): Parse appended URL. * g10/options.h (struct opt): Add field 'key_origin_url'. * g10/gpg.c (main) : Pass that option to import_keys. * g10/import.c (apply_meta_data): Extend for file and url. * g10/keyserver.c (keyserver_fetch): Pass the url to import_keys_es_stream. -- Example: gpg --key-origin url,myscheme://bla --import FILE Signed-off-by: Werner Koch --- g10/import.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'g10/import.c') diff --git a/g10/import.c b/g10/import.c index d22c8f457..f18ef48f2 100644 --- a/g10/import.c +++ b/g10/import.c @@ -1425,6 +1425,22 @@ apply_meta_data (kbnode_t keyblock, int origin, const char *url) if (!pk->updateurl) return gpg_error_from_syserror (); } + else if (origin == KEYORG_FILE) + { + pk->keyorg = origin; + pk->keyupdate = curtime; + } + else if (origin == KEYORG_URL) + { + pk->keyorg = origin; + pk->keyupdate = curtime; + if (url) + { + pk->updateurl = xtrystrdup (url); + if (!pk->updateurl) + return gpg_error_from_syserror (); + } + } } else if (node->pkt->pkttype == PKT_USER_ID) { @@ -1458,6 +1474,16 @@ apply_meta_data (kbnode_t keyblock, int origin, const char *url) uid->keyorg = origin; uid->keyupdate = curtime; } + else if (origin == KEYORG_FILE) + { + uid->keyorg = origin; + uid->keyupdate = curtime; + } + else if (origin == KEYORG_URL) + { + uid->keyorg = origin; + uid->keyupdate = curtime; + } } } -- cgit v1.2.3