doc/man/Makefile: rename section7 leftover to new name
[oweals/gnunet.git] / doc / man / gnunet-zoneimport.1
1 .TH GNUNET-ZONEIMPORT 1 "April 23, 2018" "GNUnet"
2 .SH NAME
3 gnunet\-zoneimport \- import DNS zone into GNS zone
4 .SH SYNOPSIS
5 .B gnunet\-zoneimport [IP]+
6 .SH DESCRIPTION
7 \fBgnunet\-zoneimport\fP reads a list of domain names (FQDN) from
8 stdin and issues DNS queries for each of the domain names given.  It
9 then checks if a local ego with a name matching the domain
10 exists. Specifically, if the domain name is "example.fr", it will
11 check if an ego "fr" exists, while for a domain "example.com.fr" it
12 will look for an ego called "com.fr"). If so, it will convert the DNS
13 records into GNS records (in particular converting NS records and glue
14 records to GNS2DNS records) and add them to the namestore under the
15 label ("example" in the examples above).
16 .PP
17 The arguments given to gnunet\-zoneimport is a list of IP addresses of
18 DNS servers to query.
19 .PP
20 gnunet\-zoneimport will usually never terminate: it will check when
21 DNS records expire, and re-issue requests when the old DNS records
22 have expired so that GNS always has the latest data.
23 .PP
24 gnunet\-zoneimport will issue many DNS queries in parallel, but is
25 rate-limited in various ways, so most DNS servers should easily handle
26 the load.  gnunet\-zoneimport will perform a limited number of retries
27 if queries fail.
28 .PP
29 gnunet\-zoneimport operates incrementally. It will check if the
30 namestore already has (non-expired) records stored for a given name in
31 the respective zone and not issue those requests again.  Thus, it is
32 fine to restart gnunet\-zoneimport whenever the list of domain names
33 changes.
34 .PP
35 Finally, gnunet\-zoneimport keeps information for each domain name in
36 memory.  This consumes about 200 bytes per domain name, or 1 GB for 5
37 million labels.
38 .SH OPTIONS
39 .B
40 .IP "\-c FILENAME,  \-\-config=FILENAME"
41 Use the configuration file FILENAME.
42 .B
43 .IP "\-h, \-\-help"
44 Print short help on options.
45 .B
46 .IP "\-m RELATIVETIME, \-\-minimum-expiration=RELATIVETIME"
47 .B
48 Ensure that imported DNS records never have an expiration time that
49 is less than RELATIVETIME into the future.  RELATIVETIME is a time
50 given like "1 week" or "1 h".   If DNS returns records with a shorter
51 lifetime, gnunet\-zoneimport will simply bump the lifetime to the
52 specified value (relative to the time of the import). Default is zero.
53 .IP "\-s MAPSIZE, \-\-size=MAPSIZE"
54 Specifies the size (in number of entries) to use for the main hash
55 map.  The value provided should be at least twice the number of domain
56 names that will be given to the tool. This option is required for very
57 large zones where the number of records encountered is too large for
58 the automatic growth mechanism to work (that one is limited to at most
59 16 MB allocations for security reasons).  Do not worry about this
60 unless you are importing millions of domain names from a zone.
61 .SH NOTES
62 .TP
63 Typical invocaton would be:
64 $ gnunet\-zoneimport 1.2.3.4 < names.txt
65 .SH BUGS
66 Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending
67 electronic mail to <gnunet\-developers@gnu.org>
68 .SH SEE ALSO
69 gnunet\-gns(1), gnunet\-namestore(1)
70 .PP
71 The full documentation for
72 .B gnunet
73 is maintained as a Texinfo manual.
74 If the
75 .B info
76 and
77 .B gnunet
78 programs are properly installed at your site, the command
79 .IP
80 .B info gnunet
81 .PP
82 should give you access to the complete handbook,
83 .IP
84 .B info gnunet-c-tutorial
85 .PP
86 will give you access to a tutorial for developers.
87 .PP
88 Depending on your installation, this information is also
89 available in
90 \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7).