aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/t-dns-stuff.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-10-22 08:14:10 +0000
committerWerner Koch <[email protected]>2015-10-22 08:15:25 +0000
commit8b06d7f41aec6cb993445935dba7c60e033d026a (patch)
treed2cbbcc47eb1566749df8a19109494faccd1e690 /dirmngr/t-dns-stuff.c
parentdirmngr: Do not use MAXDNAME. (diff)
downloadgnupg-8b06d7f41aec6cb993445935dba7c60e033d026a.tar.gz
gnupg-8b06d7f41aec6cb993445935dba7c60e033d026a.zip
dirmngr: Implement Tor mode for SRV RRs.
* dirmngr/dns-stuff.c (get_dns_cert): Factor adns init out to... (my_adns_init): new. (getsrv)[USE_ADNS]: Use my_adns_init. (getsrv)[!USE_ADNS]: Return an error if Tor mode is active. * dirmngr/t-dns-stuff.c: Add option --use-tor. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--dirmngr/t-dns-stuff.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/dirmngr/t-dns-stuff.c b/dirmngr/t-dns-stuff.c
index d2ead8f03..63d4cdd9b 100644
--- a/dirmngr/t-dns-stuff.c
+++ b/dirmngr/t-dns-stuff.c
@@ -42,6 +42,7 @@ main (int argc, char **argv)
int last_argc = -1;
gpg_error_t err;
int any_options = 0;
+ int opt_tor = 0;
int opt_cert = 0;
int opt_srv = 0;
char const *name = NULL;
@@ -64,6 +65,7 @@ main (int argc, char **argv)
"Options:\n"
" --verbose print timings etc.\n"
" --debug flyswatter\n"
+ " --use-tor use Tor\n"
" --cert lookup a CERT RR\n"
" --srv lookup a SRV RR\n"
, stdout);
@@ -80,6 +82,11 @@ main (int argc, char **argv)
debug++;
argc--; argv++;
}
+ else if (!strcmp (*argv, "--use-tor"))
+ {
+ opt_tor = 1;
+ argc--; argv++;
+ }
else if (!strcmp (*argv, "--cert"))
{
any_options = opt_cert = 1;
@@ -110,6 +117,17 @@ main (int argc, char **argv)
exit (1);
}
+ if (opt_tor)
+ {
+ err = enable_dns_tormode ();
+ if (err)
+ {
+ fprintf (stderr, "error switching into Tor mode: %s\n",
+ gpg_strerror (err));
+ exit (1);
+ }
+ }
+
if (opt_cert)
{
unsigned char *fpr;