summaryrefslogtreecommitdiff
path: root/doc/index.html
blob: 8ce5d8cc568b4ec1693fc4894febd82061818117 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en" />
    <title>s6-dns - a complete DNS client suite</title>
    <meta name="Description" content="s6-dns - a complete DNS client suite" />
    <meta name="Keywords" content="s6-dns s6dns s6 DNS resolution unix linux laurent bercot ska skarnet" />
    <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
  </head>
<body>

<p>
<a href="//skarnet.org/software/">Software</a><br />
<a href="//skarnet.org/">skarnet.org</a>
</p>

<h1> s6-dns </h1>

<h2> What is it&nbsp;? </h2>

<p>
 s6-dns is a suite of DNS client programs and libraries for Unix
systems, as an alternative to the BIND, djbdns or other DNS clients.
</p>

<p>
 s6-dns may include its own series of DNS caches and servers at some
point in the future.
</p>

<p>
  The <tt>s6-</tt> prefix is slightly misleading, and probably a naming
mistake. This package is not, stricto sensu, a part of the
<em>s6 ecosystem</em>, and it is nowhere near a requirement for a
<a href="//skarnet.org/software/s6/">s6</a>-based installation.
However, it is a requirement for
<a href="//skarnet.org/software/s6-networking/">s6-networking</a>, which
provides useful networking utilities often used with s6, so keeping the
prefix makes some kind of sense; you can see s6-dns as an extension
to the s6 ecosystem.
</p>

<hr />

<ul>
<li> <a href="getaddrinfo.html">Why a separate client library&nbsp;?</a> Why not just use <tt>getaddrinfo()</tt>&nbsp;?</li>
<li> <a href="libresolv.html">What is wrong with libresolv, BIND's client library&nbsp;?</a></li>
</ul>

<hr />

<h2> Installation </h2>

<h3> Requirements </h3>

<ul>
 <li> A POSIX-compliant system with a standard C development environment </li>
 <li> GNU make, version 3.81 or later </li>
 <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
2.14.3.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs library. </li>
</ul>

<h3> Licensing </h3>

<p>
 s6-dns is free software. It is available under the
<a href="https://opensource.org/licenses/ISC">ISC license</a>.
</p>

<h3> Download </h3>

<ul>
 <li> The current released version of s6-dns is <a href="s6-dns-2.3.8.0.tar.gz">2.3.8.0</a>. </li>
 <li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-dns/">s6-dns
git repository</a>:
<pre> git clone git://git.skarnet.org/s6-dns </pre> </li>
 <li> There's also a
<a href="https://github.com/skarnet/s6-dns">GitHub mirror</a>
of the s6-dns git repository. </li>
</ul>

<h3> Compilation </h3>

<ul>
 <li> See the enclosed INSTALL file for installation details. </li>
</ul>

<h3> Upgrade notes </h3>

<ul>
 <li> <a href="upgrade.html">This page</a> lists the differences to be aware of between
the previous versions of s6-dns and the current one. </li>
</ul>

<hr />

<h2> Reference </h2>

<h3> Commands </h3>

<p>
 All these commands exit 111 if they encounter a temporary error or
hardware error, and
100 if they encounter a permanent error - such as a misuse. Short-lived
commands exit 0 on success. Other exit codes are documented in the
relevant page.
</p>

<h4> Command-line DNS clients programs </h4>

<ul>
<li><a href="s6-dnsip.html">The <tt>s6-dnsip</tt> program</a></li>
<li><a href="s6-dnsip4.html">The <tt>s6-dnsip4</tt> program</a></li>
<li><a href="s6-dnsip6.html">The <tt>s6-dnsip6</tt> program</a></li>
<li><a href="s6-dnsname.html">The <tt>s6-dnsname</tt> program</a></li>
<li><a href="s6-dnsmx.html">The <tt>s6-dnsmx</tt> program</a></li>
<li><a href="s6-dnsns.html">The <tt>s6-dnsns</tt> program</a></li>
<li><a href="s6-dnssoa.html">The <tt>s6-dnssoa</tt> program</a></li>
<li><a href="s6-dnssrv.html">The <tt>s6-dnssrv</tt> program</a></li>
<li><a href="s6-dnstxt.html">The <tt>s6-dnstxt</tt> program</a></li>
</ul>

<h4> Filtering tools </h4>

<ul>
<li><a href="s6-dnsip4-filter.html">The <tt>s6-dnsip4-filter</tt> program</a></li>
<li><a href="s6-dnsip6-filter.html">The <tt>s6-dnsip6-filter</tt> program</a></li>
<li><a href="s6-dnsname-filter.html">The <tt>s6-dnsname-filter</tt> program</a></li>
</ul>

<h4> Command-line qualification </h4>

<ul>
<li><a href="s6-dnsqualify.html">The <tt>s6-dnsqualify</tt> program</a></li>
</ul>

<h4> DNS analysis and debug tools </h4>

<ul>
<li><a href="s6-dnsq.html">The <tt>s6-dnsq</tt> program</a></li>
<li><a href="s6-dnsqr.html">The <tt>s6-dnsqr</tt> program</a></li>
</ul>

<h4> Miscellaneous utilities </h4>

<ul>
<li> <a href="s6-randomip.html">The <tt>s6-randomip</tt> program</a> </li>
<li> <a href="s6-dns-hosts-compile.html">The <tt>s6-dns-hosts-compile</tt> program</a> </li>
</ul>


<h3> Libraries </h3>

<h4> Protocol implementation and synchronous resolution </h4>

<ul>
<li><a href="libs6dns/">The <tt>s6dns</tt> library interface</a></li>
</ul>

<h4> Asynchronous resolution </h4>

<ul>
<li><a href="skadns/">The <tt>skadns</tt> library interface</a></li>
</ul>

<hr />

<a name="related">
<h2> Related resources </h2>
</a>

<h3> s6-dns discussion </h3>

<ul>
 <li> <tt>s6-dns</tt> is discussed on the
<a href="//skarnet.org/lists/#skaware">skaware</a> mailing-list. </li>
 <li> It can also be discussed on the
<a href="https://cr.yp.to/lists.html#dns">cr.yp.to dns mailing-list</a>. </li>
</ul>

<h3> Similar work </h3>

<ul>
 <li> <a href="https://www.isc.org/software/bind">BIND</a> is the most widely
used DNS software suite on the Internet. It's also arguably the most
<a href="https://cr.yp.to/djbdns/blurb/unbind.html">buggy</a>,
convoluted and impossible to understand. </li>
 <li> <a href="https://cr.yp.to/djbdns.html">djbdns</a> is DJB's DNS suite.
It works very well, but is unfortunately unmaintained by the author. s6-dns
follows <a href="//skarnet.org/software/skalibs/djblegacy.html">the
same design principles</a>. </li>
</ul>

</body>
</html>