xref: /freebsd/contrib/unbound/doc/control_proto_spec.txt (revision 40f65a4df509c6b29b9e72407c7afefe28838844)
1*b7579f77SDag-Erling Smørgrav
2*b7579f77SDag-Erling SmørgravSpecification for the unbound-control protocol.
3*b7579f77SDag-Erling Smørgrav
4*b7579f77SDag-Erling SmørgravServer listens on 8953 TCP (localhost by default). Client connects,
5*b7579f77SDag-Erling SmørgravSSLv3 or TLSv1 connection setup (server selfsigned certificate,
6*b7579f77SDag-Erling Smørgravclient has cert signed by server certificate).
7*b7579f77SDag-Erling Smørgrav
8*b7579f77SDag-Erling SmørgravPort 8953 is registered with IANA as:
9*b7579f77SDag-Erling Smørgravub-dns-control  8953/tcp    unbound dns nameserver control
10*b7579f77SDag-Erling Smørgrav# Wouter Wijngaards <wouter&nlnetlabs.nl> 10 May 2011
11*b7579f77SDag-Erling SmørgravOn may 11 2011, ticket [IANA #442315].
12*b7579f77SDag-Erling Smørgrav
13*b7579f77SDag-Erling SmørgravQuery and Response
14*b7579f77SDag-Erling Smørgrav------------------
15*b7579f77SDag-Erling SmørgravClient sends
16*b7579f77SDag-Erling Smørgrav	UBCT[version] [commandline] \n
17*b7579f77SDag-Erling Smørgrav	fixed string UBCT1 (for version 1), then an ascii text line,
18*b7579f77SDag-Erling Smørgrav	with a command, some whitespace allowed. Line ends with '\n'.
19*b7579f77SDag-Erling Smørgrav
20*b7579f77SDag-Erling SmørgravServer executes command. And sends reply in ascii text over channel,
21*b7579f77SDag-Erling Smørgravcloses the channel when done.
22*b7579f77SDag-Erling Smørgrav	in case of error the first line of the response is:
23*b7579f77SDag-Erling Smørgrav		error <descriptive text possible> \n
24*b7579f77SDag-Erling Smørgrav	or the remainder is data of the response, for many commands the
25*b7579f77SDag-Erling Smørgrav	response is 'ok\n'.
26*b7579f77SDag-Erling Smørgrav
27*b7579f77SDag-Erling SmørgravQueries and responses
28*b7579f77SDag-Erling Smørgrav---------------------
29*b7579f77SDag-Erling Smørgravstop
30*b7579f77SDag-Erling Smørgrav	stops the server.
31*b7579f77SDag-Erling Smørgravreload
32*b7579f77SDag-Erling Smørgrav	reloads the config file, and flushes the cache.
33*b7579f77SDag-Erling Smørgravverbosity <new value>
34*b7579f77SDag-Erling Smørgrav	Change logging verbosity to new value.
35*b7579f77SDag-Erling Smørgravstats
36*b7579f77SDag-Erling Smørgrav	output is a list of [name]=[value] lines.
37*b7579f77SDag-Erling Smørgrav	clears the counters.
38*b7579f77SDag-Erling Smørgravdump_cache
39*b7579f77SDag-Erling Smørgrav	output is a text representation of the cache contents.
40*b7579f77SDag-Erling Smørgrav	data ends with a line 'EOF' before connection close.
41*b7579f77SDag-Erling Smørgravload_cache
42*b7579f77SDag-Erling Smørgrav	client sends cache contents (like from dump_cache), which is stored
43*b7579f77SDag-Erling Smørgrav	in the cache. end of data indicated with a line with 'EOF' on it.
44*b7579f77SDag-Erling Smørgrav	The data is sent after the query line.
45*b7579f77SDag-Erling Smørgravflush <name>
46*b7579f77SDag-Erling Smørgrav	flushes some information regarding the name from the cache.
47*b7579f77SDag-Erling Smørgrav	removes the A, AAAA, NS, SOA, CNAME, DNAME, MX, PTR, SRV, NAPTR types.
48*b7579f77SDag-Erling Smørgrav	Does not remove other types.
49*b7579f77SDag-Erling Smørgravflush_type <name> <RR type>
50*b7579f77SDag-Erling Smørgrav	removes rrtype entry from the cache.
51*b7579f77SDag-Erling Smørgravflush_zone <name>
52*b7579f77SDag-Erling Smørgrav	removes name and everything below that name from the cache.
53*b7579f77SDag-Erling Smørgrav	has to search through the cache item by item, so this is slow.
54*b7579f77SDag-Erling Smørgravlookup <name>
55*b7579f77SDag-Erling Smørgrav	see what servers would be queried for a lookup of the given name.
56*b7579f77SDag-Erling Smørgravlocal_zone_remove <name of local-zone entry>
57*b7579f77SDag-Erling Smørgrav	the local-zone entry is removed.
58*b7579f77SDag-Erling Smørgrav	All data from the local zone is also deleted.
59*b7579f77SDag-Erling Smørgrav	If it did not exist, nothing happens.
60*b7579f77SDag-Erling Smørgravlocal_zone <name of local zone> <type>
61*b7579f77SDag-Erling Smørgrav	As the config file entry. Adds new local zone or updates
62*b7579f77SDag-Erling Smørgrav	existing zone type.
63*b7579f77SDag-Erling Smørgravlocal_data_remove <name>
64*b7579f77SDag-Erling Smørgrav	Removes local-data (all types) name.
65*b7579f77SDag-Erling Smørgravlocal_data <resource record string>
66*b7579f77SDag-Erling Smørgrav	Add new local data record (on the rest of the line).
67*b7579f77SDag-Erling Smørgrav	local_data_add www.example.com. IN A 192.0.2.2
68*b7579f77SDag-Erling Smørgrav	if no local_zone exists for it; a transparent zone with the same
69*b7579f77SDag-Erling Smørgrav	name as the data is created.
70*b7579f77SDag-Erling SmørgravOther commands in the unbound-control manual page.
71