From 2f3eebf1865a85f8c09a1c052513260ed55acec6 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 25 Mar 2019 15:13:59 +0100 Subject: wkd: New command --print-wkd-url for gpg-wks-client. * tools/gpg-wks-client.c (aPrintWKDURL): New. (opts): Add option. (main): Implement. * tools/wks-util.c (wks_cmd_print_wkd_url): New. Signed-off-by: Werner Koch --- tools/wks-util.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'tools/wks-util.c') diff --git a/tools/wks-util.c b/tools/wks-util.c index fee46d633..29e9248b4 100644 --- a/tools/wks-util.c +++ b/tools/wks-util.c @@ -1104,7 +1104,7 @@ wks_cmd_remove_key (const char *userid) } -/* Print the WKD hash for the user ids to stdout. */ +/* Print the WKD hash for the user id to stdout. */ gpg_error_t wks_cmd_print_wkd_hash (const char *userid) { @@ -1121,3 +1121,28 @@ wks_cmd_print_wkd_hash (const char *userid) xfree (addrspec); return err; } + + +/* Print the WKD URL for the user id to stdout. */ +gpg_error_t +wks_cmd_print_wkd_url (const char *userid) +{ + gpg_error_t err; + char *addrspec, *fname; + char *domain; + + err = wks_fname_from_userid (userid, 1, &fname, &addrspec); + if (err) + return err; + + domain = strchr (addrspec, '@'); + if (domain) + *domain++ = 0; + + es_printf ("https://openpgpkey.%s/.well-known/openpgpkey/%s/hu/%s?l=%s\n", + domain, domain, fname, addrspec); + + xfree (fname); + xfree (addrspec); + return err; +} -- cgit v1.2.3