aboutsummaryrefslogtreecommitdiffstats
path: root/tools/wks-util.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-03-25 14:13:59 +0000
committerWerner Koch <[email protected]>2019-03-25 14:14:32 +0000
commit2f3eebf1865a85f8c09a1c052513260ed55acec6 (patch)
tree31763bdbb7bfc6c389ab34868c81a50a7867fa03 /tools/wks-util.c
parentdoc: Clarify option --no-keyring. (diff)
downloadgnupg-2f3eebf1865a85f8c09a1c052513260ed55acec6.tar.gz
gnupg-2f3eebf1865a85f8c09a1c052513260ed55acec6.zip
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 <[email protected]>
Diffstat (limited to '')
-rw-r--r--tools/wks-util.c27
1 files changed, 26 insertions, 1 deletions
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;
+}