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:13:59 +0000
commit70c97a862aa586c314a64190d1e489a272e552ea (patch)
tree906db5af747f2a8af15c64a02c3d8d90f897182d /tools/wks-util.c
parentdoc: Clarify option --no-keyring. (diff)
downloadgnupg-70c97a862aa586c314a64190d1e489a272e552ea.tar.gz
gnupg-70c97a862aa586c314a64190d1e489a272e552ea.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 'tools/wks-util.c')
-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 d5cfcd874..1c1ac8c0b 100644
--- a/tools/wks-util.c
+++ b/tools/wks-util.c
@@ -1103,7 +1103,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)
{
@@ -1120,3 +1120,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;
+}