Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7d597a2a3 | ||
|
|
6170a1cbb4 | ||
|
|
e0e85f6ba7 | ||
|
|
fd42a23377 | ||
|
|
32d56ec3e4 | ||
|
|
ff3fafc428 | ||
|
|
2c4eba5b5a | ||
|
|
e967a73d77 | ||
|
|
69d39ed2e5 | ||
|
|
cfed2ee62a | ||
|
|
1766e3e5aa | ||
|
|
0d940038e4 | ||
|
|
2cf81a3d8a | ||
|
|
2e6ce48c34 | ||
|
|
681beefc66 | ||
|
|
fb1f902017 | ||
|
|
015fea0a27 | ||
|
|
7fc835d63f | ||
|
|
905ed71124 | ||
|
|
386d3a99c1 | ||
|
|
40976ef802 | ||
|
|
cf03a9be41 | ||
|
|
fb44d91ff2 | ||
|
|
0c6ada0a81 | ||
|
|
553b424cef | ||
|
|
030aac3dbc | ||
|
|
4f5257ba7a | ||
|
|
cfaa17671d | ||
|
|
2a128f5386 | ||
|
|
05e2cc8445 | ||
|
|
783224b143 | ||
|
|
0f39ff74a8 | ||
|
|
072440df4f | ||
|
|
bf7e8a8250 | ||
|
|
fe93d86ab7 | ||
|
|
ef10c16c06 | ||
|
|
867d55617b | ||
|
|
7ecbfb6c0f | ||
|
|
db3f58cef5 | ||
|
|
418b9e4549 | ||
|
|
510dca6f52 | ||
|
|
8ef7b7f3f6 | ||
|
|
6ce96fdb2b | ||
|
|
538a0a40a2 | ||
|
|
f8c849e224 | ||
|
|
94df856897 | ||
|
|
0107d4b94e | ||
|
|
1948b2b113 | ||
|
|
10bb5de410 | ||
|
|
250dcb4cf5 | ||
|
|
b5af28291f | ||
|
|
4875b50dca | ||
|
|
98933c165f | ||
|
|
d0b01398ca | ||
|
|
507151045b | ||
|
|
cbd66826af | ||
|
|
c7357336cb | ||
|
|
97c432334e | ||
|
|
4bf9757496 | ||
|
|
ba291c35f7 | ||
|
|
54880cd0e0 | ||
|
|
13df807778 | ||
|
|
b09318463a | ||
|
|
d1ce98b4dc | ||
|
|
800ec63dfc | ||
|
|
99a87dacc3 | ||
|
|
177bcb466b | ||
|
|
338dc11376 | ||
|
|
4d0520004a | ||
|
|
7597ccff8c | ||
|
|
9205748541 | ||
|
|
d87ad693fc | ||
|
|
a9e440af0a | ||
|
|
9d362f90ef | ||
|
|
99f7557bf0 | ||
|
|
13ec0fb278 | ||
|
|
b4c8e92f7f | ||
|
|
b8ee0d56f0 | ||
|
|
a538dc4e86 | ||
|
|
022b5c5a36 | ||
|
|
16cdc2fc93 | ||
|
|
83d29eff29 | ||
|
|
500fe450bc | ||
|
|
5c3477af38 | ||
|
|
15280ddf7f | ||
|
|
5cb56973ea | ||
|
|
11ac60f81a | ||
|
|
30162a73f4 | ||
|
|
d978441bfc | ||
|
|
22b8be6acb | ||
|
|
a8e5c0229e | ||
|
|
ae6942e3d1 | ||
|
|
58253bddc4 | ||
|
|
3e9ce03245 | ||
|
|
efcf8c8bf6 | ||
|
|
67354524be | ||
|
|
5ce4bd8335 | ||
|
|
3634531310 | ||
|
|
1bff2d56a0 | ||
|
|
677b69cee2 | ||
|
|
f9ecef19c7 | ||
|
|
fa24231908 | ||
|
|
f7db7f3fb1 | ||
|
|
36978a7d7f | ||
|
|
fe75a4844e | ||
|
|
3917e0f147 | ||
|
|
e933a1bd23 | ||
|
|
0598502e9e | ||
|
|
ce6521e13d | ||
|
|
4883ba14a2 | ||
|
|
1b009fdcb6 | ||
|
|
11156f82ba | ||
|
|
db6fa15ef0 | ||
|
|
305ef3b37e | ||
|
|
080a964a3f | ||
|
|
0d228cec61 | ||
|
|
5a17fe2916 | ||
|
|
ebce5dc2fe | ||
|
|
998b76837a | ||
|
|
b3ac666ce5 | ||
|
|
4f47207ff3 | ||
|
|
9367357752 | ||
|
|
fcf5669651 | ||
|
|
a89eda002e | ||
|
|
3751d910d4 | ||
|
|
232d4387e2 | ||
|
|
42a1be3481 | ||
|
|
d230b29aba | ||
|
|
7b8b5e34b6 | ||
|
|
09d567f784 | ||
|
|
298c514fff | ||
|
|
4edcb0a7b4 | ||
|
|
e86a55fa74 | ||
|
|
e81a504bc9 | ||
|
|
8dc5d5e460 | ||
|
|
aed0e61611 | ||
|
|
674e9786c9 | ||
|
|
59b6d8259a | ||
|
|
8f205b69b1 | ||
|
|
03007a2095 | ||
|
|
c72279e756 | ||
|
|
b0b37d3fcf | ||
|
|
68cd13fff2 | ||
|
|
cfe548a265 | ||
|
|
e1aeb1569a | ||
|
|
6fbe9050cb | ||
|
|
88dbebcebc | ||
|
|
252ad65e46 | ||
|
|
6101a43bde | ||
|
|
9ef82979c4 | ||
|
|
d65ec15e06 | ||
|
|
47682a39a6 | ||
|
|
c6fe8292ad | ||
|
|
09216afdb1 | ||
|
|
ecc7721a06 | ||
|
|
0415ca35ad | ||
|
|
69ec1b7eb3 | ||
|
|
37df6394c2 | ||
|
|
767c53c304 | ||
|
|
c38498dc94 | ||
|
|
0dba2713de | ||
|
|
cbcda9fcbf | ||
|
|
3e358ada3e | ||
|
|
4d5d79c2bf | ||
|
|
816496b221 | ||
|
|
8aaed07569 | ||
|
|
2a9a5e1871 | ||
|
|
b4074b6255 | ||
|
|
412555b357 | ||
|
|
5c024f7877 | ||
|
|
62fd1414b6 | ||
|
|
d3345cc201 | ||
|
|
5436d7d29d | ||
|
|
9b499d30ab | ||
|
|
28ad0be64e | ||
|
|
c8535afd17 | ||
|
|
2294423014 | ||
|
|
b03896b8f2 | ||
|
|
8b56b8956f | ||
|
|
aef875b27e | ||
|
|
cc8f4eeb27 | ||
|
|
e602fc802e | ||
|
|
71a7aaa631 | ||
|
|
1dd754dcdf | ||
|
|
b08fa225e7 | ||
|
|
af3e516f77 | ||
|
|
3c9321d7f6 | ||
|
|
982f479ef8 | ||
|
|
66e50468dd | ||
|
|
eeaf86677c | ||
|
|
90db307f35 | ||
|
|
f9b52f6df4 | ||
|
|
cb66d7252e | ||
|
|
2284b84d74 | ||
|
|
49a05a11d9 | ||
|
|
bf64a0d5d9 | ||
|
|
5f23979aa8 | ||
|
|
4fcd03af9f | ||
|
|
516f7013e6 | ||
|
|
4203f5255b | ||
|
|
96f73d33c2 | ||
|
|
ba5af4569a | ||
|
|
c73ee3f002 | ||
|
|
024383c7cf | ||
|
|
710077836a | ||
|
|
e431b34601 | ||
|
|
0914f30711 | ||
|
|
98b5a9d109 | ||
|
|
739ca9f9ad | ||
|
|
0c6681ddd5 | ||
|
|
dbbab64f9d | ||
|
|
caa3ad8d57 | ||
|
|
e3b7bbf52b | ||
|
|
3c13437de0 | ||
|
|
a24b174ca4 | ||
|
|
2fff8b8280 | ||
|
|
5702efd795 | ||
|
|
00c93a6214 | ||
|
|
2d70db1fa3 | ||
|
|
d99f88add1 | ||
|
|
537266cadc | ||
|
|
fbfed7400f | ||
|
|
d8bd46d4cc | ||
|
|
975d00c10d | ||
|
|
5a28de8a7e | ||
|
|
014d9f7261 | ||
|
|
aad58d0adf | ||
|
|
e7b4b25911 | ||
|
|
b104b0c23e | ||
|
|
375e2c913a | ||
|
|
a19ec120c5 | ||
|
|
7cfe8c8f4d | ||
|
|
705671ffd3 | ||
|
|
391c2ab68f | ||
|
|
14651ee41b | ||
|
|
a77b091952 | ||
|
|
c583c691fb | ||
|
|
070c022f10 | ||
|
|
f052a01ff2 | ||
|
|
83df26458f | ||
|
|
6fa7523201 | ||
|
|
9d330c054e | ||
|
|
7aef379fd1 | ||
|
|
52cb865cf0 | ||
|
|
05ab656e4a | ||
|
|
0f4a4d46ab | ||
|
|
9c89fcb69c | ||
|
|
77abeb5330 | ||
|
|
961bf2a3e8 | ||
|
|
c4fadc8861 | ||
|
|
e062b72f78 | ||
|
|
0192a58877 | ||
|
|
57442fd5ef | ||
|
|
fea5003e29 | ||
|
|
92fbb8eac8 | ||
|
|
81c2f6a713 | ||
|
|
5b810282a9 | ||
|
|
eeb8892daa | ||
|
|
1dd74a0744 | ||
|
|
4d4acb42d2 | ||
|
|
e537df0ea9 | ||
|
|
e5b1dde7c5 | ||
|
|
8f4e45ad7e | ||
|
|
5eb0f23677 | ||
|
|
6a71e56a3f | ||
|
|
438720772d | ||
|
|
47885dbdde | ||
|
|
af1599b1da | ||
|
|
ddad355529 | ||
|
|
8ebab4b98f | ||
|
|
ca904804e4 | ||
|
|
c9ea41d79f | ||
|
|
7100256640 | ||
|
|
e76eb48859 | ||
|
|
8907d8fa04 | ||
|
|
4a28636431 | ||
|
|
829c34e396 | ||
|
|
d904beeb3b | ||
|
|
9011c72c56 | ||
|
|
5c2712bfb8 | ||
|
|
fc29ccea3d | ||
|
|
9a13b1536d | ||
|
|
db30f4bdcb | ||
|
|
aeb7938001 | ||
|
|
c78c0e226d | ||
|
|
887ef2682c | ||
|
|
a687db7ce8 | ||
|
|
b15ca1e4a8 | ||
|
|
d145b64cac | ||
|
|
037b8b129d | ||
|
|
4a2a5e97c8 | ||
|
|
e3f89c5bf1 | ||
|
|
6716d12cf8 | ||
|
|
380c7b4299 | ||
|
|
420ed91d3e | ||
|
|
569866242d | ||
|
|
07555e64d9 | ||
|
|
3f42cf2f3e | ||
|
|
0655b0e422 | ||
|
|
60318da786 | ||
|
|
a0735eeac5 | ||
|
|
e672951ed2 | ||
|
|
713a5e3080 | ||
|
|
e1b8868347 | ||
|
|
c6b3c1984c | ||
|
|
2391def779 | ||
|
|
a76b380643 | ||
|
|
28b3569d62 | ||
|
|
dec509888a | ||
|
|
bb93c85427 | ||
|
|
db0008c448 | ||
|
|
3b3a602c84 | ||
|
|
97c6bb525f | ||
|
|
155a0ce6e3 | ||
|
|
90f35c2f2a | ||
|
|
33b14d31c7 | ||
|
|
2a31bd5310 | ||
|
|
febd51128d | ||
|
|
4a253e12fc | ||
|
|
d6a28f56c1 | ||
|
|
3e072511de | ||
|
|
cffe96e267 | ||
|
|
7405bdffd4 | ||
|
|
4926627bcf | ||
|
|
ec6e40f040 | ||
|
|
a3bc124972 | ||
|
|
1744a23d0f | ||
|
|
3bfe5db91d | ||
|
|
7826436f62 | ||
|
|
e0258ba438 | ||
|
|
8fed9314f6 | ||
|
|
f703353673 | ||
|
|
a5c4ae5173 | ||
|
|
1f8dc520d4 | ||
|
|
2b91038561 | ||
|
|
77f549e6b4 | ||
|
|
83a97deac2 | ||
|
|
ca3ecfb9b5 | ||
|
|
c367f5e243 | ||
|
|
d8eb00152d | ||
|
|
c93c2295a3 | ||
|
|
7e26a2a646 | ||
|
|
0a7e6db2db | ||
|
|
4e1aab5a12 | ||
|
|
c01dec514a | ||
|
|
5ff3649205 | ||
|
|
b1edc6d4c5 | ||
|
|
a95a9de45c | ||
|
|
ea8564f68a | ||
|
|
98ef27178a | ||
|
|
55f580c7fc | ||
|
|
872a5b83f6 | ||
|
|
3bebac792f | ||
|
|
5c1119ddb2 | ||
|
|
59c0977bed | ||
|
|
f7e10e70a0 | ||
|
|
7cc05aa300 | ||
|
|
6b2bbc7acd | ||
|
|
ab8729140b | ||
|
|
61e1949537 | ||
|
|
ee591e0b22 | ||
|
|
b2d8ce4705 | ||
|
|
1cfd513f9d | ||
|
|
7ead775452 | ||
|
|
659e104902 | ||
|
|
8c16eea7cb | ||
|
|
208e504ca5 | ||
|
|
e07831f779 | ||
|
|
14414ddb1c | ||
|
|
f9760f7b6a | ||
|
|
5815d6d626 | ||
|
|
f8c47598b8 | ||
|
|
c6efdf3877 | ||
|
|
acfc90e470 | ||
|
|
d9936b218d | ||
|
|
4b44e87afa | ||
|
|
aa02826aac | ||
|
|
289caa2d15 | ||
|
|
d01a2c3074 | ||
|
|
cf22a43354 | ||
|
|
fa14a55a9b | ||
|
|
cf50039c14 | ||
|
|
fff7eac50a | ||
|
|
8665a8cb0f | ||
|
|
7a66933966 | ||
|
|
d30cacd81f | ||
|
|
08554db8e8 | ||
|
|
addef6048d | ||
|
|
209b1d150c | ||
|
|
4daa027dae | ||
|
|
4074b8e734 | ||
|
|
3d3839a090 | ||
|
|
961bf334ad | ||
|
|
b8c8a39cad | ||
|
|
8cf205fb19 | ||
|
|
2b65fc1d03 | ||
|
|
32adfbfda1 | ||
|
|
f23354f758 | ||
|
|
82ff9ea3af | ||
|
|
92a67c70fc | ||
|
|
54d79b7ee6 | ||
|
|
e4d304b70b | ||
|
|
8499acff4b | ||
|
|
0283e51131 | ||
|
|
eb0e8ace24 | ||
|
|
a575cc7345 | ||
|
|
6ceb29d4d4 | ||
|
|
7443e9a0ab | ||
|
|
737176b36d | ||
|
|
fc271a843e | ||
|
|
de4f3419d3 | ||
|
|
664e11f0b1 | ||
|
|
3d20fde5d5 | ||
|
|
016c431750 | ||
|
|
24e79a68e1 | ||
|
|
ce9c1558a6 | ||
|
|
4a8284d2d9 | ||
|
|
23d4dc13e1 | ||
|
|
dde0554201 | ||
|
|
0f3264c8d1 | ||
|
|
085c04709b | ||
|
|
a637837c26 | ||
|
|
6372b6a6ac | ||
|
|
8e08a2273c | ||
|
|
6475e22cc9 | ||
|
|
49d06d08af | ||
|
|
97669cab1f | ||
|
|
fbcc990683 | ||
|
|
8bf830cf9a | ||
|
|
c368f28dad | ||
|
|
25483f341c | ||
|
|
0e30609d7b | ||
|
|
9e8947d9e6 | ||
|
|
878c2e6886 | ||
|
|
a3f132e1d5 | ||
|
|
4dced8b5ca | ||
|
|
3cff31d890 | ||
|
|
3e760796d3 | ||
|
|
786fd60130 | ||
|
|
500bde4952 | ||
|
|
f519a84ce3 | ||
|
|
249ad82c6a | ||
|
|
f172f06ff2 | ||
|
|
a7e1401d6f | ||
|
|
bf46736ab1 | ||
|
|
bf893e98a1 | ||
|
|
2005c3b37b | ||
|
|
785ba57b1d | ||
|
|
b3d76dc009 | ||
|
|
c09c2bf800 | ||
|
|
0fd9a6a418 | ||
|
|
43581a71ab | ||
|
|
9a7d202077 | ||
|
|
e934a311cb | ||
|
|
6b3c17b9b0 | ||
|
|
cbb58f7806 | ||
|
|
fc35763283 | ||
|
|
e612fee97e | ||
|
|
4a0df5485f | ||
|
|
9ad9a85600 | ||
|
|
4a5b30c24c | ||
|
|
f1d6c77ecc | ||
|
|
50a826f981 | ||
|
|
a5862555f0 | ||
|
|
8b90c4fdad | ||
|
|
657f12a6c2 | ||
|
|
b92d30fdf6 | ||
|
|
7adca0ea2f | ||
|
|
9dcc44d7b3 | ||
|
|
da1e0ac742 | ||
|
|
be3fa0f93c | ||
|
|
9a0529a96f | ||
|
|
6ae5d3fe2e | ||
|
|
5badfc7e00 | ||
|
|
fff23805cd | ||
|
|
baf0deb78a | ||
|
|
dc2a0aa7aa | ||
|
|
1c761ab7cd | ||
|
|
28c49640dc | ||
|
|
5d9d317c9e | ||
|
|
19621ecd33 | ||
|
|
22b059eab3 | ||
|
|
6d6b4d2b44 | ||
|
|
59dd3b3cd9 | ||
|
|
408d189490 | ||
|
|
deff06e6fb | ||
|
|
9c114f36da | ||
|
|
2302483203 | ||
|
|
5205441b98 | ||
|
|
1783d66b34 | ||
|
|
9269f5932a | ||
|
|
458298c4e5 | ||
|
|
01167e9f54 | ||
|
|
60d19b2f15 | ||
|
|
c70668447c | ||
|
|
65f40aa682 | ||
|
|
facbe6140d | ||
|
|
94985fd194 | ||
|
|
200538d835 | ||
|
|
1fa2ce7eae | ||
|
|
5b5459fa39 | ||
|
|
970e4f9c17 | ||
|
|
7539c231d4 | ||
|
|
988fcd8e91 | ||
|
|
15538c5cf9 | ||
|
|
b0bf8fb3d7 | ||
|
|
29d019169b | ||
|
|
a927d3d2f5 | ||
|
|
4f640b0d8f | ||
|
|
420ebb7c68 | ||
|
|
1a1b126148 | ||
|
|
7ae2fa27e9 | ||
|
|
cbf0854acc | ||
|
|
d7fe687447 | ||
|
|
40696c4c38 | ||
|
|
dd6673e550 | ||
|
|
7fe86a5425 | ||
|
|
0fd958bf27 | ||
|
|
0d4b663cac | ||
|
|
b20fabbc3a | ||
|
|
1c3ed2a83d | ||
|
|
fcb738fca3 | ||
|
|
f148623ce2 | ||
|
|
3a1a42acf0 | ||
|
|
00be0f9f61 | ||
|
|
a7cd86b7e5 | ||
|
|
b356686ecb | ||
|
|
438763e4ca | ||
|
|
57708b0d58 | ||
|
|
6f054fb0c0 | ||
|
|
af3250a9f8 | ||
|
|
fd7dee0a02 | ||
|
|
063c7af445 | ||
|
|
64af101571 | ||
|
|
61c08ad3b7 | ||
|
|
db746aa5ef | ||
|
|
9a727082a0 | ||
|
|
4bb592c78c | ||
|
|
2f58f058c1 | ||
|
|
fc53f564ca | ||
|
|
72ef4f17c9 | ||
|
|
f731b5d665 | ||
|
|
22df9a9b9e | ||
|
|
4cda4fd158 | ||
|
|
dd45b00f68 | ||
|
|
3999907ad2 | ||
|
|
ccfba88285 | ||
|
|
e951a79d90 | ||
|
|
bd3598f239 | ||
|
|
a59640bf27 | ||
|
|
764150b71d | ||
|
|
4462e59079 | ||
|
|
2ed540c845 | ||
|
|
9925249931 | ||
|
|
0154d8b824 | ||
|
|
d595af5b6a | ||
|
|
fc7043d7d1 | ||
|
|
59b0f0ac6c | ||
|
|
cef715b655 | ||
|
|
2b58801b9a | ||
|
|
5b9f34295f | ||
|
|
b177a884b4 | ||
|
|
5497de6931 | ||
|
|
09274b9cea | ||
|
|
f86c5d30de | ||
|
|
2e5426b5aa | ||
|
|
95c5f1d17b | ||
|
|
140a27777d | ||
|
|
e00da2eb68 | ||
|
|
2775a809a5 | ||
|
|
468a0a9f0e | ||
|
|
1ff207c2fa | ||
|
|
09bd4960ef | ||
|
|
262c39b236 | ||
|
|
2f012d936b | ||
|
|
2a446e8c5a | ||
|
|
715d3e82cb | ||
|
|
233dd63115 | ||
|
|
a53c45b2b8 | ||
|
|
d504c44c35 | ||
|
|
c11b1369d1 | ||
|
|
66240d2746 | ||
|
|
14731fe09a | ||
|
|
bd113f8c65 | ||
|
|
bc5f9d92c3 | ||
|
|
2f99b54e8e | ||
|
|
ce09884de7 | ||
|
|
19b3dc94bc | ||
|
|
2d3aafb354 | ||
|
|
b1e32169ac | ||
|
|
a9b24b418c | ||
|
|
827572e191 | ||
|
|
b336b9332d | ||
|
|
b0b4ba7533 | ||
|
|
a981760738 | ||
|
|
1aba9fe678 | ||
|
|
d244a5b2a3 | ||
|
|
c6d486af36 | ||
|
|
1cbd155085 | ||
|
|
84a2c39fa0 | ||
|
|
b03bc0ce07 | ||
|
|
cfcbcf061f | ||
|
|
546c2bf791 | ||
|
|
62bd59af24 | ||
|
|
8d121214ec | ||
|
|
bfcc5ae79a | ||
|
|
61a8e638bc | ||
|
|
3eb81a73aa | ||
|
|
42e4f5af68 | ||
|
|
ebfc85d52f | ||
|
|
b18d6066b2 | ||
|
|
6c7f722d31 | ||
|
|
2b0addd3ca | ||
|
|
4602a30928 | ||
|
|
593e8b883a | ||
|
|
ac80f65020 | ||
|
|
7a2ff97296 | ||
|
|
fcc2a57e13 | ||
|
|
fcdafc1e30 | ||
|
|
40a2001899 | ||
|
|
938b1008d9 | ||
|
|
d4c9827b5a | ||
|
|
9d5ed744c4 | ||
|
|
e09484c1b5 | ||
|
|
bbb069be94 | ||
|
|
138c9af8ee | ||
|
|
f1263d2aa4 | ||
|
|
98b01ed499 | ||
|
|
b1d21f6c93 | ||
|
|
d760be189b | ||
|
|
efb3fa669f | ||
|
|
531dca2420 | ||
|
|
034f775ae1 | ||
|
|
d610a63637 | ||
|
|
80f20cb452 | ||
|
|
bd97dba011 | ||
|
|
c5d57a13ac | ||
|
|
0ca2c72ec4 | ||
|
|
81c3cb9b92 | ||
|
|
c5f7d960af | ||
|
|
2962817bb9 | ||
|
|
ddc792aa74 | ||
|
|
93ee06cbe3 | ||
|
|
e886663bb8 | ||
|
|
494143860b | ||
|
|
e616752523 | ||
|
|
400a1b6604 | ||
|
|
d36adf470f | ||
|
|
395f6d6ee7 | ||
|
|
7262eb86f2 | ||
|
|
2699cd0532 | ||
|
|
02c591aad0 | ||
|
|
fbcb13ce0b | ||
|
|
3c7a239b15 | ||
|
|
0ab8208ade | ||
|
|
c0fb34e815 | ||
|
|
7feda2cbd7 | ||
|
|
48fa594028 | ||
|
|
20837e74f5 | ||
|
|
6f2e211d39 | ||
|
|
439716d3b5 | ||
|
|
532d27b392 | ||
|
|
c3926cdf4c | ||
|
|
d9aab4060c | ||
|
|
b57c180e78 | ||
|
|
08332cd77d | ||
|
|
1c9f629c18 | ||
|
|
72d6be2c11 | ||
|
|
e5009e717f | ||
|
|
5c0fc20d6e | ||
|
|
b67bacecc9 | ||
|
|
2b5a1b5eb1 | ||
|
|
f61a7c87bf | ||
|
|
23a012ebfe | ||
|
|
2678fccde3 | ||
|
|
562460463b | ||
|
|
f5471da9bb | ||
|
|
577272cf79 | ||
|
|
21386ce160 | ||
|
|
43530eb819 | ||
|
|
2dc8bf19c8 | ||
|
|
660a209ee4 | ||
|
|
1a83d0a2dd | ||
|
|
9870509cb1 | ||
|
|
d4662c174d | ||
|
|
3c8afd5708 | ||
|
|
90c7b82b9a | ||
|
|
385c32efe6 | ||
|
|
1fbd092244 | ||
|
|
8486ce1efa | ||
|
|
79207ee45a | ||
|
|
4417182aba | ||
|
|
297be37080 | ||
|
|
1da14e066c | ||
|
|
01e203ad6b | ||
|
|
5ae0e2c8b7 | ||
|
|
4f6b9050ee | ||
|
|
3b166e2b8d | ||
|
|
c9670b654c | ||
|
|
f4429c1c31 | ||
|
|
5b538e89ac | ||
|
|
92f60809e8 | ||
|
|
f5d0f49584 | ||
|
|
168f7c2650 | ||
|
|
dc0ecf08db | ||
|
|
dc19dcbc23 | ||
|
|
114c14f8ad | ||
|
|
1c9200af08 | ||
|
|
965f2d0185 | ||
|
|
a70f5c100c | ||
|
|
604419a812 | ||
|
|
2b738509c3 | ||
|
|
48501bde9b | ||
|
|
3d78993c6d | ||
|
|
3ac85ae815 | ||
|
|
f16fa4a863 | ||
|
|
1d216bfaa7 | ||
|
|
b39ee56af9 | ||
|
|
8c850a29ed | ||
|
|
da31aff2f2 | ||
|
|
e8ca2abed7 | ||
|
|
81d9d7a10e | ||
|
|
9fe2553f05 | ||
|
|
07779b37f7 | ||
|
|
6c1ab8a02a | ||
|
|
301f6ffbbe | ||
|
|
4df6c1fd9c | ||
|
|
4c6e572df4 | ||
|
|
9e4b25fc3e | ||
|
|
0376a287fb | ||
|
|
ea364efbb0 | ||
|
|
7314547af7 | ||
|
|
541b9722d8 | ||
|
|
ddaeaddf2b | ||
|
|
f1e733e612 | ||
|
|
23de6c3ccd | ||
|
|
a6f7fdcc03 | ||
|
|
d7e8610d31 | ||
|
|
7e82141918 | ||
|
|
c4dc5966e0 | ||
|
|
a2ace9a70e | ||
|
|
a5e8b7acd2 | ||
|
|
3a2ab30095 | ||
|
|
6f10e05eb0 | ||
|
|
9429f5a831 | ||
|
|
0899d16ebd | ||
|
|
798d69d4c5 | ||
|
|
4fe662aeb2 | ||
|
|
d2e440ca30 | ||
|
|
404df30f4f | ||
|
|
0e46658ea8 | ||
|
|
544d0efa38 | ||
|
|
1f2635d3f7 | ||
|
|
802760773c | ||
|
|
b3128b8b85 | ||
|
|
92554adb45 | ||
|
|
9bd4da7fa7 | ||
|
|
d2adaab485 | ||
|
|
760e3b39ec | ||
|
|
162827e0bf | ||
|
|
8957a18df8 | ||
|
|
082e0ef4e3 | ||
|
|
b6d496d538 | ||
|
|
a3553875ab | ||
|
|
00a4159352 | ||
|
|
f2c63f2b65 | ||
|
|
166b112d6d | ||
|
|
0bdc099a35 | ||
|
|
dab21eb4ea |
@@ -1,3 +1,25 @@
|
||||
--- 9.5.0b1 released ---
|
||||
|
||||
2267. [bug] Radix tree node_num value could be set incorrectly,
|
||||
causing positive ACL matches to look like negative
|
||||
ones. [RT #17311]
|
||||
|
||||
2266. [bug] client.c:get_clientmctx() returned the same mctx
|
||||
once the pool of mctx's was filled. [RT #17218]
|
||||
|
||||
2265. [bug] Test that the memory context's basic_table is non NULL
|
||||
before freeing. [RT #17265]
|
||||
|
||||
2264. [bug] Server prefix length was being ignored. [RT #17308]
|
||||
|
||||
2263. [bug] "named-checkconf -z" failed to set default value
|
||||
for "check-integrity". [RT #17306]
|
||||
|
||||
2262. [bug] Error status from all but the last view could be
|
||||
lost. [RT #17292]
|
||||
|
||||
2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272]
|
||||
|
||||
2260. [bug] Reported wrong clients-per-query when increasing the
|
||||
value. [RT #17236]
|
||||
|
||||
|
||||
@@ -746,3 +746,36 @@ A: Sun has a blog entry describing how to do this.
|
||||
|
||||
http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris
|
||||
|
||||
4.6. Apple Mac OS X
|
||||
|
||||
Q: How do I run BIND 9 on Apple Mac OS X?
|
||||
|
||||
A: If you run Tiger(Mac OS 10.4) or later then this is all you need to do:
|
||||
|
||||
% sudo rndc-confgen > /etc/rndc.conf
|
||||
|
||||
Copy the key statement from /etc/rndc.conf into /etc/rndc.key, e.g.:
|
||||
|
||||
key "rndc-key" {
|
||||
algorithm hmac-md5;
|
||||
secret "uvceheVuqf17ZwIcTydddw==";
|
||||
};
|
||||
|
||||
Then start the relevant service:
|
||||
|
||||
% sudo service org.isc.named start
|
||||
|
||||
This is persistent upon a reboot, so you will have to do it only once.
|
||||
|
||||
A: Alternatively you can just generate /etc/rndc.key by running:
|
||||
|
||||
% sudo rndc-confgen -a
|
||||
|
||||
Then start the relevant service:
|
||||
|
||||
% sudo service org.isc.named start
|
||||
|
||||
Named will look for /etc/rndc.key when it starts if it doesn't have a
|
||||
controls section or the existing controls are missing keys sub-clauses.
|
||||
This is persistent upon a reboot, so you will have to do it only once.
|
||||
|
||||
|
||||
@@ -368,27 +368,31 @@ Building
|
||||
We've had successful builds and tests on the following systems:
|
||||
|
||||
COMPAQ Tru64 UNIX 5.1B
|
||||
Fedora Core 6
|
||||
FreeBSD 4.10, 5.2.1, 6.2
|
||||
HP-UX 11.11
|
||||
NetBSD 1.5
|
||||
Slackware Linux 8.1
|
||||
Solaris 8, 9, 9 (x86)
|
||||
Mac OS X 10.5
|
||||
NetBSD 3.x and 4.0-beta
|
||||
OpenBSD 3.3 and up
|
||||
Solaris 8, 9, 9 (x86), 10
|
||||
Ubuntu 7.04, 7.10
|
||||
Windows NT/2000/XP/2003
|
||||
|
||||
Additionally, we have unverified reports of success building
|
||||
previous versions of BIND 9 from users of the following systems:
|
||||
We have recent reports from the user community that a supported
|
||||
version of BIND will build and run on the following systems:
|
||||
|
||||
AIX 5L
|
||||
SuSE Linux 7.0
|
||||
Slackware Linux 7.x, 8.0
|
||||
Red Hat Linux 7.1
|
||||
Debian GNU/Linux 2.2 and 3.0
|
||||
Mandrake 8.1
|
||||
OpenBSD 2.6, 2.8, 2.9, 3.1, 3.6, 3.8
|
||||
UnixWare 7.1.1
|
||||
HP-UX 10.20
|
||||
BSD/OS 4.2
|
||||
Mac OS X 10.1, 10.3.8
|
||||
AIX 4.3, 5L
|
||||
CentOS 4, 4.5, 5
|
||||
Darwin 9.0.0d1/ARM
|
||||
Debian 4
|
||||
Fedora Core 5, 7
|
||||
FreeBSD 6.1
|
||||
HP-UX 11.23 PA
|
||||
MacOS X 10.4, 10.5
|
||||
Red Hat Enterprise Linux 4, 5
|
||||
SCO OpenServer 5.0.6
|
||||
Slackware 9, 10
|
||||
SuSE 9, 10
|
||||
|
||||
To build, just
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkconf.c,v 1.45 2007/06/18 23:47:17 tbox Exp $ */
|
||||
/* $Id: named-checkconf.c,v 1.46 2007/11/26 02:12:45 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -226,7 +226,8 @@ configure_zone(const char *vclass, const char *view,
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
else
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
}
|
||||
} else
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
|
||||
obj = NULL;
|
||||
if (get_maps(maps, "check-mx-cname", &obj)) {
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: client.c,v 1.249 2007/08/22 00:42:42 marka Exp $ */
|
||||
/* $Id: client.c,v 1.250 2007/11/26 04:47:17 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -1853,10 +1853,10 @@ get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) {
|
||||
return (result);
|
||||
|
||||
manager->mctxpool[manager->nextmctx] = clientmctx;
|
||||
manager->nextmctx++;
|
||||
if (manager->nextmctx == NMCTXS)
|
||||
manager->nextmctx = 0;
|
||||
}
|
||||
manager->nextmctx++;
|
||||
if (manager->nextmctx == NMCTXS)
|
||||
manager->nextmctx = 0;
|
||||
#else
|
||||
clientmctx = manager->mctx;
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: statschannel.h,v 1.2 2008/01/17 00:15:13 jinmei Exp $ */
|
||||
|
||||
#ifndef NAMED_STATSCHANNEL_H
|
||||
#define NAMED_STATSCHANNEL_H 1
|
||||
|
||||
/*! \file
|
||||
* \brief
|
||||
* The statistics channels built-in the name server.
|
||||
*/
|
||||
|
||||
#include <isccc/types.h>
|
||||
|
||||
#include <isccfg/aclconf.h>
|
||||
|
||||
#include <named/types.h>
|
||||
|
||||
#define NS_STATSCHANNEL_HTTPPORT 80
|
||||
|
||||
isc_result_t
|
||||
ns_statschannels_configure(ns_server_t *server, const cfg_obj_t *config,
|
||||
cfg_aclconfctx_t *aclconfctx);
|
||||
/*%<
|
||||
* [Re]configure the statistics channels.
|
||||
*
|
||||
* If it is no longer there but was previously configured, destroy
|
||||
* it here.
|
||||
*
|
||||
* If the IP address or port has changed, destroy the old server
|
||||
* and create a new one.
|
||||
*/
|
||||
|
||||
|
||||
void
|
||||
ns_statschannels_shutdown(ns_server_t *server);
|
||||
/*%<
|
||||
* Initiate shutdown of all the statistics channel listeners.
|
||||
*/
|
||||
|
||||
#endif /* NAMED_STATSCHANNEL_H */
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: server.c,v 1.492 2007/10/18 01:37:49 each Exp $ */
|
||||
/* $Id: server.c,v 1.493 2007/11/26 02:43:53 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -724,7 +724,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
|
||||
cfg_obj_asnetprefix(cfg_map_getname(cpeer), &na, &prefixlen);
|
||||
|
||||
peer = NULL;
|
||||
result = dns_peer_new(mctx, &na, &peer);
|
||||
result = dns_peer_newprefix(mctx, &na, prefixlen, &peer);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
|
||||
|
||||
@@ -0,0 +1,533 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: statschannel.c,v 1.2.2.3 2008/01/17 23:46:36 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/httpd.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/socket.h>
|
||||
#include <isc/task.h>
|
||||
|
||||
#include <dns/stats.h>
|
||||
#include <dns/view.h>
|
||||
|
||||
#include <named/log.h>
|
||||
#include <named/server.h>
|
||||
#include <named/statschannel.h>
|
||||
|
||||
struct ns_statschannel {
|
||||
/* Unlocked */
|
||||
isc_httpdmgr_t *httpdmgr;
|
||||
isc_sockaddr_t address;
|
||||
isc_mem_t *mctx;
|
||||
|
||||
/*
|
||||
* Locked by channel lock: can be refererenced and modified by both
|
||||
* the server task and the channel task.
|
||||
*/
|
||||
isc_mutex_t lock;
|
||||
dns_acl_t *acl;
|
||||
|
||||
/* Locked by server task */
|
||||
ISC_LINK(struct ns_statschannel) link;
|
||||
};
|
||||
|
||||
#ifdef HAVE_LIBXML2
|
||||
|
||||
/* XXXMLG below here sucks. */
|
||||
|
||||
#define TRY(a) do { result = (a); INSIST(result == ISC_R_SUCCESS); } while(0);
|
||||
#define TRY0(a) do { xmlrc = (a); INSIST(xmlrc >= 0); } while(0);
|
||||
|
||||
#define NODES 8
|
||||
#define SPACES 3
|
||||
|
||||
static void
|
||||
generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
|
||||
char boottime[sizeof "yyyy-mm-ddThh:mm:ssZ"];
|
||||
char nowstr[sizeof "yyyy-mm-ddThh:mm:ssZ"];
|
||||
isc_time_t now;
|
||||
xmlTextWriterPtr writer;
|
||||
xmlDocPtr doc;
|
||||
int xmlrc;
|
||||
dns_view_t *view;
|
||||
int i;
|
||||
|
||||
isc_time_now(&now);
|
||||
isc_time_formatISO8601(&ns_g_boottime, boottime, sizeof boottime);
|
||||
isc_time_formatISO8601(&now, nowstr, sizeof nowstr);
|
||||
|
||||
writer = xmlNewTextWriterDoc(&doc, 0);
|
||||
TRY0(xmlTextWriterStartDocument(writer, NULL, "UTF-8", NULL));
|
||||
TRY0(xmlTextWriterWritePI(writer, ISC_XMLCHAR "xml-stylesheet",
|
||||
ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.xsl\""));
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "isc"));
|
||||
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
|
||||
ISC_XMLCHAR "1.0"));
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "bind"));
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics"));
|
||||
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
|
||||
ISC_XMLCHAR "1.0"));
|
||||
|
||||
/*
|
||||
* Start by rendering the views we know of here. For each view we
|
||||
* know of, call its rendering function.
|
||||
*/
|
||||
view = ISC_LIST_HEAD(server->viewlist);
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "views"));
|
||||
while (view != NULL) {
|
||||
dns_view_xmlrender(view, writer, ISC_XML_RENDERALL);
|
||||
view = ISC_LIST_NEXT(view, link);
|
||||
}
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* views */
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "socketmgr"));
|
||||
isc_socketmgr_renderxml(ns_g_socketmgr, writer);
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* socketmgr */
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "taskmgr"));
|
||||
isc_taskmgr_renderxml(ns_g_taskmgr, writer);
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* taskmgr */
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "server"));
|
||||
xmlTextWriterStartElement(writer, ISC_XMLCHAR "boot-time");
|
||||
xmlTextWriterWriteString(writer, ISC_XMLCHAR boottime);
|
||||
xmlTextWriterEndElement(writer);
|
||||
xmlTextWriterStartElement(writer, ISC_XMLCHAR "current-time");
|
||||
xmlTextWriterWriteString(writer, ISC_XMLCHAR nowstr);
|
||||
xmlTextWriterEndElement(writer);
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "counters"));
|
||||
for (i = 0; i < DNS_STATS_NCOUNTERS; i++) {
|
||||
xmlTextWriterStartElement(writer,
|
||||
ISC_XMLCHAR dns_statscounter_names[i]);
|
||||
xmlTextWriterWriteFormatString(writer,
|
||||
"%" ISC_PRINT_QUADFORMAT "u",
|
||||
server->querystats[i]);
|
||||
xmlTextWriterEndElement(writer);
|
||||
}
|
||||
xmlTextWriterEndElement(writer); /* counters */
|
||||
xmlTextWriterEndElement(writer); /* server */
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "memory"));
|
||||
isc_mem_renderxml(server->mctx, writer);
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* memory */
|
||||
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* statistics */
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* bind */
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* isc */
|
||||
|
||||
TRY0(xmlTextWriterEndDocument(writer));
|
||||
|
||||
xmlFreeTextWriter(writer);
|
||||
|
||||
xmlDocDumpFormatMemoryEnc(doc, buf, buflen, "UTF-8", 1);
|
||||
xmlFreeDoc(doc);
|
||||
}
|
||||
|
||||
static void
|
||||
wrap_xmlfree(isc_buffer_t *buffer, void *arg) {
|
||||
UNUSED(arg);
|
||||
|
||||
xmlFree(isc_buffer_base(buffer));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
render_index(const char *url, const char *querystring, void *arg,
|
||||
unsigned int *retcode, const char **retmsg, const char **mimetype,
|
||||
isc_buffer_t *b, isc_httpdfree_t **freecb,
|
||||
void **freecb_args)
|
||||
{
|
||||
unsigned char *msg;
|
||||
int msglen;
|
||||
ns_server_t *server = arg;
|
||||
|
||||
UNUSED(url);
|
||||
UNUSED(querystring);
|
||||
|
||||
generatexml(server, &msglen, &msg);
|
||||
|
||||
*retcode = 200;
|
||||
*retmsg = "OK";
|
||||
*mimetype = "text/xml";
|
||||
isc_buffer_reinit(b, msg, msglen);
|
||||
isc_buffer_add(b, msglen);
|
||||
*freecb = wrap_xmlfree;
|
||||
*freecb_args = NULL;
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
#endif /* HAVE_LIBXML2 */
|
||||
|
||||
static isc_result_t
|
||||
render_xsl(const char *url, const char *querystring, void *args,
|
||||
unsigned int *retcode, const char **retmsg, const char **mimetype,
|
||||
isc_buffer_t *b, isc_httpdfree_t **freecb,
|
||||
void **freecb_args)
|
||||
{
|
||||
#include "bind9.xsl.h"
|
||||
|
||||
UNUSED(url);
|
||||
UNUSED(querystring);
|
||||
UNUSED(args);
|
||||
|
||||
*retcode = 200;
|
||||
*retmsg = "OK";
|
||||
*mimetype = "text/xslt+xml";
|
||||
isc_buffer_reinit(b, msg, strlen(msg));
|
||||
isc_buffer_add(b, strlen(msg));
|
||||
*freecb = NULL;
|
||||
*freecb_args = NULL;
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static void
|
||||
shutdown_listener(ns_statschannel_t *listener) {
|
||||
char socktext[ISC_SOCKADDR_FORMATSIZE];
|
||||
isc_sockaddr_format(&listener->address, socktext, sizeof(socktext));
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_SERVER,
|
||||
ISC_LOG_NOTICE, "stopping statistics channel on %s",
|
||||
socktext);
|
||||
|
||||
isc_httpdmgr_shutdown(&listener->httpdmgr);
|
||||
}
|
||||
|
||||
static isc_boolean_t
|
||||
client_ok(const isc_sockaddr_t *fromaddr, void *arg) {
|
||||
ns_statschannel_t *listener = arg;
|
||||
isc_netaddr_t netaddr;
|
||||
char socktext[ISC_SOCKADDR_FORMATSIZE];
|
||||
int match;
|
||||
|
||||
REQUIRE(listener != NULL);
|
||||
|
||||
isc_netaddr_fromsockaddr(&netaddr, fromaddr);
|
||||
|
||||
LOCK(&listener->lock);
|
||||
if (dns_acl_match(&netaddr, NULL, listener->acl, &ns_g_server->aclenv,
|
||||
&match, NULL) == ISC_R_SUCCESS && match > 0) {
|
||||
UNLOCK(&listener->lock);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
UNLOCK(&listener->lock);
|
||||
|
||||
isc_sockaddr_format(fromaddr, socktext, sizeof(socktext));
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"rejected statistics connection from %s", socktext);
|
||||
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
destroy_listener(void *arg) {
|
||||
ns_statschannel_t *listener = arg;
|
||||
|
||||
REQUIRE(listener != NULL);
|
||||
REQUIRE(!ISC_LINK_LINKED(listener, link));
|
||||
|
||||
/* We don't to have acquire the lock here since it's already unlinked */
|
||||
dns_acl_detach(&listener->acl);
|
||||
|
||||
DESTROYLOCK(&listener->lock);
|
||||
isc_mem_putanddetach(&listener->mctx, listener, sizeof(*listener));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
add_listener(ns_server_t *server, ns_statschannel_t **listenerp,
|
||||
const cfg_obj_t *listen_params, const cfg_obj_t *config,
|
||||
isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx,
|
||||
const char *socktext)
|
||||
{
|
||||
isc_result_t result;
|
||||
ns_statschannel_t *listener;
|
||||
isc_task_t *task = NULL;
|
||||
isc_socket_t *sock = NULL;
|
||||
const cfg_obj_t *allow;
|
||||
dns_acl_t *new_acl = NULL;
|
||||
|
||||
listener = isc_mem_get(server->mctx, sizeof(*listener));
|
||||
if (listener == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
listener->httpdmgr = NULL;
|
||||
listener->address = *addr;
|
||||
listener->acl = NULL;
|
||||
listener->mctx = NULL;
|
||||
ISC_LINK_INIT(listener, link);
|
||||
|
||||
result = isc_mutex_init(&listener->lock);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_mem_put(server->mctx, listener, sizeof(*listener));
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
|
||||
isc_mem_attach(server->mctx, &listener->mctx);
|
||||
|
||||
allow = cfg_tuple_get(listen_params, "allow");
|
||||
if (allow != NULL && cfg_obj_islist(allow)) {
|
||||
result = cfg_acl_fromconfig(allow, config, ns_g_lctx,
|
||||
aclconfctx, listener->mctx, 0,
|
||||
&new_acl);
|
||||
} else
|
||||
result = dns_acl_any(listener->mctx, &new_acl);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
dns_acl_attach(new_acl, &listener->acl);
|
||||
dns_acl_detach(&new_acl);
|
||||
|
||||
result = isc_task_create(ns_g_taskmgr, 0, &task);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
isc_task_setname(task, "statchannel", NULL);
|
||||
|
||||
result = isc_socket_create(ns_g_socketmgr, isc_sockaddr_pf(addr),
|
||||
isc_sockettype_tcp, &sock);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
isc_socket_setname(sock, "statchannel", NULL);
|
||||
|
||||
#ifndef ISC_ALLOW_MAPPED
|
||||
isc_socket_ipv6only(sock, ISC_TRUE);
|
||||
#endif
|
||||
|
||||
result = isc_socket_bind(sock, addr);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
result = isc_httpdmgr_create(server->mctx, sock, task, client_ok,
|
||||
destroy_listener, listener, ns_g_timermgr,
|
||||
&listener->httpdmgr);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
#ifdef HAVE_LIBXML2
|
||||
isc_httpdmgr_addurl(listener->httpdmgr, "/", render_index, server);
|
||||
#endif
|
||||
isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", render_xsl,
|
||||
server);
|
||||
|
||||
*listenerp = listener;
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_NOTICE,
|
||||
"statistics channel listening on %s", socktext);
|
||||
|
||||
cleanup:
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
if (listener->acl != NULL)
|
||||
dns_acl_detach(&listener->acl);
|
||||
DESTROYLOCK(&listener->lock);
|
||||
isc_mem_putanddetach(&listener->mctx, listener,
|
||||
sizeof(*listener));
|
||||
}
|
||||
if (task != NULL)
|
||||
isc_task_detach(&task);
|
||||
if (sock != NULL)
|
||||
isc_socket_detach(&sock);
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
static void
|
||||
update_listener(ns_server_t *server, ns_statschannel_t **listenerp,
|
||||
const cfg_obj_t *listen_params, const cfg_obj_t *config,
|
||||
isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx,
|
||||
const char *socktext)
|
||||
{
|
||||
ns_statschannel_t *listener;
|
||||
const cfg_obj_t *allow = NULL;
|
||||
dns_acl_t *new_acl = NULL;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
||||
for (listener = ISC_LIST_HEAD(server->statschannels);
|
||||
listener != NULL;
|
||||
listener = ISC_LIST_NEXT(listener, link))
|
||||
if (isc_sockaddr_equal(addr, &listener->address))
|
||||
break;
|
||||
|
||||
if (listener == NULL) {
|
||||
*listenerp = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Now, keep the old access list unless a new one can be made.
|
||||
*/
|
||||
allow = cfg_tuple_get(listen_params, "allow");
|
||||
if (allow != NULL && cfg_obj_islist(allow)) {
|
||||
result = cfg_acl_fromconfig(allow, config, ns_g_lctx,
|
||||
aclconfctx, listener->mctx, 0,
|
||||
&new_acl);
|
||||
} else
|
||||
result = dns_acl_any(listener->mctx, &new_acl);
|
||||
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
LOCK(&listener->lock);
|
||||
|
||||
dns_acl_detach(&listener->acl);
|
||||
dns_acl_attach(new_acl, &listener->acl);
|
||||
dns_acl_detach(&new_acl);
|
||||
|
||||
UNLOCK(&listener->lock);
|
||||
} else {
|
||||
cfg_obj_log(listen_params, ns_g_lctx, ISC_LOG_WARNING,
|
||||
"couldn't install new acl for "
|
||||
"statistics channel %s: %s",
|
||||
socktext, isc_result_totext(result));
|
||||
}
|
||||
|
||||
*listenerp = listener;
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
ns_statschannels_configure(ns_server_t *server, const cfg_obj_t *config,
|
||||
cfg_aclconfctx_t *aclconfctx)
|
||||
{
|
||||
ns_statschannel_t *listener, *listener_next;
|
||||
ns_statschannellist_t new_listeners;
|
||||
const cfg_obj_t *statschannellist = NULL;
|
||||
const cfg_listelt_t *element, *element2;
|
||||
char socktext[ISC_SOCKADDR_FORMATSIZE];
|
||||
|
||||
ISC_LIST_INIT(new_listeners);
|
||||
|
||||
/*
|
||||
* Get the list of named.conf 'statistics-channels' statements.
|
||||
*/
|
||||
(void)cfg_map_get(config, "statistics-channels", &statschannellist);
|
||||
|
||||
/*
|
||||
* Run through the new address/port list, noting sockets that are
|
||||
* already being listened on and moving them to the new list.
|
||||
*
|
||||
* Identifying duplicate addr/port combinations is left to either
|
||||
* the underlying config code, or to the bind attempt getting an
|
||||
* address-in-use error.
|
||||
*/
|
||||
if (statschannellist != NULL) {
|
||||
#ifndef HAVE_LIBXML2
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"statistics-channels specified but not effective "
|
||||
"due to missing XML library");
|
||||
#endif
|
||||
|
||||
for (element = cfg_list_first(statschannellist);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element)) {
|
||||
const cfg_obj_t *statschannel;
|
||||
const cfg_obj_t *listenercfg = NULL;
|
||||
|
||||
statschannel = cfg_listelt_value(element);
|
||||
(void)cfg_map_get(statschannel, "inet",
|
||||
&listenercfg);
|
||||
if (listenercfg == NULL)
|
||||
continue;
|
||||
|
||||
for (element2 = cfg_list_first(listenercfg);
|
||||
element2 != NULL;
|
||||
element2 = cfg_list_next(element2)) {
|
||||
const cfg_obj_t *listen_params;
|
||||
const cfg_obj_t *obj;
|
||||
isc_sockaddr_t addr;
|
||||
|
||||
listen_params = cfg_listelt_value(element2);
|
||||
|
||||
obj = cfg_tuple_get(listen_params, "address");
|
||||
addr = *cfg_obj_assockaddr(obj);
|
||||
if (isc_sockaddr_getport(&addr) == 0)
|
||||
isc_sockaddr_setport(&addr, NS_STATSCHANNEL_HTTPPORT);
|
||||
|
||||
isc_sockaddr_format(&addr, socktext,
|
||||
sizeof(socktext));
|
||||
|
||||
isc_log_write(ns_g_lctx,
|
||||
NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(9),
|
||||
"processing statistics "
|
||||
"channel %s",
|
||||
socktext);
|
||||
|
||||
update_listener(server, &listener,
|
||||
listen_params, config, &addr,
|
||||
aclconfctx, socktext);
|
||||
|
||||
if (listener != NULL) {
|
||||
/*
|
||||
* Remove the listener from the old
|
||||
* list, so it won't be shut down.
|
||||
*/
|
||||
ISC_LIST_UNLINK(server->statschannels,
|
||||
listener, link);
|
||||
} else {
|
||||
/*
|
||||
* This is a new listener.
|
||||
*/
|
||||
isc_result_t r;
|
||||
|
||||
r = add_listener(server, &listener,
|
||||
listen_params, config,
|
||||
&addr, aclconfctx,
|
||||
socktext);
|
||||
if (r != ISC_R_SUCCESS) {
|
||||
cfg_obj_log(listen_params,
|
||||
ns_g_lctx,
|
||||
ISC_LOG_WARNING,
|
||||
"couldn't allocate "
|
||||
"statistics channel"
|
||||
" %s: %s",
|
||||
socktext,
|
||||
isc_result_totext(r));
|
||||
}
|
||||
}
|
||||
|
||||
if (listener != NULL)
|
||||
ISC_LIST_APPEND(new_listeners, listener,
|
||||
link);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (listener = ISC_LIST_HEAD(server->statschannels);
|
||||
listener != NULL;
|
||||
listener = listener_next) {
|
||||
listener_next = ISC_LIST_NEXT(listener, link);
|
||||
ISC_LIST_UNLINK(server->statschannels, listener, link);
|
||||
shutdown_listener(listener);
|
||||
}
|
||||
|
||||
ISC_LIST_APPENDLIST(server->statschannels, new_listeners, link);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
void
|
||||
ns_statschannels_shutdown(ns_server_t *server) {
|
||||
ns_statschannel_t *listener;
|
||||
|
||||
while ((listener = ISC_LIST_HEAD(server->statschannels)) != NULL) {
|
||||
ISC_LIST_UNLINK(server->statschannels, listener, link);
|
||||
shutdown_listener(listener);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: clean.sh,v 1.2.2.2 2008/01/10 23:46:34 tbox Exp $
|
||||
|
||||
#
|
||||
# Clean up after zone transfer tests.
|
||||
#
|
||||
|
||||
rm -f dig.out
|
||||
rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl ns2/named.conf
|
||||
rm -f */named.memstats
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named1.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
ixfr-from-differences yes;
|
||||
check-integrity no;
|
||||
};
|
||||
|
||||
include "../../common/controls.conf";
|
||||
|
||||
key one {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
key two {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
file "example.db";
|
||||
};
|
||||
|
||||
zone "tsigzone" {
|
||||
type master;
|
||||
file "tsigzone.db";
|
||||
allow-transfer { !key one; any; };
|
||||
};
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named2.conf,v 1.2.2.2 2008/01/21 21:02:23 each Exp $ */
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
ixfr-from-differences yes;
|
||||
check-integrity no;
|
||||
};
|
||||
|
||||
include "../../common/controls.conf";
|
||||
|
||||
key one {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
key two {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
file "example.db";
|
||||
};
|
||||
|
||||
zone "tsigzone" {
|
||||
type master;
|
||||
file "tsigzone.db";
|
||||
/*
|
||||
* 0a00::/8 and 10/8 are the same bits, but different address
|
||||
* families. This should *not* match IPv4 queries from 10.*.
|
||||
*/
|
||||
allow-transfer { 0a00::/8; !10/8; key one; };
|
||||
};
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named3.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
ixfr-from-differences yes;
|
||||
check-integrity no;
|
||||
};
|
||||
|
||||
include "../../common/controls.conf";
|
||||
|
||||
key one {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
key two {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
key three {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
acl reject {
|
||||
!key one; !key two; any;
|
||||
};
|
||||
|
||||
acl accept {
|
||||
10.53.0.1; 10.53.0.2;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
file "example.db";
|
||||
};
|
||||
|
||||
zone "tsigzone" {
|
||||
type master;
|
||||
file "tsigzone.db";
|
||||
allow-transfer { !reject; accept; };
|
||||
};
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named4.conf,v 1.2 2008/01/10 01:10:01 marka Exp $ */
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
ixfr-from-differences yes;
|
||||
check-integrity no;
|
||||
};
|
||||
|
||||
include "../../common/controls.conf";
|
||||
|
||||
key one {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
key two {
|
||||
algorithm hmac-md5;
|
||||
secret "1234abcd8765";
|
||||
};
|
||||
|
||||
acl rejectkeys {
|
||||
!key one; !key two; any;
|
||||
};
|
||||
|
||||
acl rejectaddrs {
|
||||
!10.53.0.1; !10.53.0.2; any;
|
||||
};
|
||||
|
||||
acl check1 { !key one; 10.53.0.1; };
|
||||
|
||||
acl check2 { !key two; 10.53.0.2; };
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "../../common/root.hint";
|
||||
};
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
file "example.db";
|
||||
};
|
||||
|
||||
zone "tsigzone" {
|
||||
type master;
|
||||
file "tsigzone.db";
|
||||
allow-transfer { !rejectkeys; !rejectaddrs; !check1; !check2; any; };
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: setup.sh,v 1.2.2.2 2008/01/10 23:46:34 tbox Exp $
|
||||
|
||||
sh ../genzone.sh 2 3 >ns2/example.db
|
||||
sh ../genzone.sh 2 3 >ns2/tsigzone.db
|
||||
cp -f ns2/named1.conf ns2/named.conf
|
||||
@@ -0,0 +1,144 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.2.2.2 2008/01/10 23:46:34 tbox Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
|
||||
DIGOPTS="+tcp +noadd +nosea +nostat +noquest +nocomm +nocmd"
|
||||
|
||||
status=0
|
||||
t=0
|
||||
|
||||
echo "I:testing basic ACL processing"
|
||||
# key "one" should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# any other key should be fine
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
cp -f ns2/named2.conf ns2/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
|
||||
sleep 5
|
||||
|
||||
# prefix 10/8 should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# any other address should work, as long as it sends key "one"
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 127.0.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
echo "I:testing nested ACL processing"
|
||||
# all combinations of 10.53.0.{1|2} with key {one|two}, should succeed
|
||||
cp -f ns2/named3.conf ns2/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
|
||||
sleep 5
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# but only one or the other should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 127.0.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.2 axfr -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $tt failed" ; status=1; }
|
||||
|
||||
# and other values? right out
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 127.0.0.1 axfr -y three:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# now we only allow 10.53.0.1 *and* key one, or 10.53.0.2 *and* key two
|
||||
cp -f ns2/named4.conf ns2/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
|
||||
sleep 5
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.2 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should succeed
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out && { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.2 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.1 axfr -y two:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# should fail
|
||||
t=`expr $t + 1`
|
||||
$DIG $DIGOPTS tsigzone. \
|
||||
@10.53.0.2 -b 10.53.0.3 axfr -y one:1234abcd8765 -p 5300 > dig.out
|
||||
grep -q "^;" dig.out || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
echo "I:exit status: $status"
|
||||
exit $status
|
||||
@@ -0,0 +1,16 @@
|
||||
The following machines, at least today seem to have LOC
|
||||
records:
|
||||
|
||||
147.210.73.0/24 (note the two /25 have different LOC, inherited differently)
|
||||
130.104.3.*
|
||||
Melanie.Tolna.Net
|
||||
204.92.254.*
|
||||
alink.net
|
||||
caida.org
|
||||
ckdhr.com
|
||||
distributed.net (rc5stats.distributed.net)
|
||||
nikhef.nl
|
||||
yahoo.com
|
||||
nic.af
|
||||
|
||||
$Id: ADDRESSES,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $
|
||||
@@ -0,0 +1,48 @@
|
||||
Just for info, can be out of date.
|
||||
|
||||
|
||||
RFC 1876, 5.2, specially 5.2.3
|
||||
|
||||
Important points:
|
||||
|
||||
- LOC RRs are always attached to a *name*.
|
||||
- we can have two (or more) RRs for one address, one more specific than the other
|
||||
|
||||
main
|
||||
if (host is a name)
|
||||
getLOCbyname
|
||||
else # host is an IP address
|
||||
gethostbyaddr
|
||||
if (name)
|
||||
getLOCbyname
|
||||
# If there is none, do not search. We assume the above was sufficient # (But check 5.2.2)
|
||||
else
|
||||
getLOCbyaddress
|
||||
|
||||
getLOCbyname (host)
|
||||
get LOC for host
|
||||
if (it exists)
|
||||
OK
|
||||
else
|
||||
get all A records of the name
|
||||
foreach A record
|
||||
getLOCbyaddress
|
||||
OK at the first one found
|
||||
# we assume they are consistent
|
||||
END
|
||||
|
||||
getLOCbyaddress (address)
|
||||
# May receive a mask. Otherwise, deduce it from the class
|
||||
makeNetAddress
|
||||
getLOCbynetwork
|
||||
|
||||
getLOCbynetwork
|
||||
get PTR and A for it
|
||||
if (exist)
|
||||
getLOCbyname
|
||||
******* DIFFICULT : we have to manage a stack. See the code
|
||||
makeNetAddress (level--)
|
||||
getLOCbynetwork
|
||||
else
|
||||
END
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
Type './configure', then 'make' and (as root if necessary) 'make
|
||||
install'.
|
||||
|
||||
It requires a recent libresolv, with loc_ntoa, but use an alternative
|
||||
which I provide, if not found.
|
||||
|
||||
Tested on Linux (i386 and Alpha), Solaris (Sparc) and Digital Unix (Alpha).
|
||||
|
||||
$Id: INSTALL,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $
|
||||
@@ -0,0 +1,42 @@
|
||||
# $Id: Makefile.in,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $
|
||||
CC=@CC@
|
||||
CFLAGS=@CFLAGS@
|
||||
LIBS=@LIBS@
|
||||
DESTDIR=@prefix@
|
||||
BINDIR=@prefix@/bin
|
||||
MANDIR=@prefix@/share/man/man1
|
||||
DISTRIB= README INSTALL ALGO USAGE ADDRESSES Makefile.in configure configure.in config.h.in install-sh loc.h loc.c query-loc.c loc_ntoa.c query-loc.1 reconf
|
||||
OBJS=query-loc.o loc.o @LOC_NTOA@
|
||||
VERSION=`grep VERSION loc.h | cut -d ' ' -f 3 | sed s/\"//g`
|
||||
|
||||
all: query-loc
|
||||
|
||||
query-loc: $(OBJS)
|
||||
$(CC) -o $@ $(OBJS) $(LIBS)
|
||||
|
||||
%.o: %.c loc.h
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
|
||||
clean:
|
||||
rm -f *.o query-loc *~
|
||||
|
||||
distclean: clean
|
||||
rm -f config.h config.cache config.log config.status Makefile
|
||||
|
||||
dist: distrib
|
||||
|
||||
distrib: clean
|
||||
./reconf
|
||||
@(echo Query-Loc is version ${VERSION}; \
|
||||
mkdir query-loc-${VERSION}; \
|
||||
cp $(DISTRIB) query-loc-${VERSION};\
|
||||
tar cvf query-loc-${VERSION}.tar query-loc-${VERSION}; \
|
||||
rm -rf query-loc-${VERSION}; \
|
||||
gzip -v -9 -f query-loc-${VERSION}.tar);
|
||||
|
||||
install:
|
||||
@INSTALL@ -m 0755 query-loc $(BINDIR)
|
||||
if [ ! -d $(MANDIR) ]; then \
|
||||
mkdir $(MANDIR); \
|
||||
fi
|
||||
@INSTALL@ -m 0644 query-loc.1 $(MANDIR)
|
||||
@@ -0,0 +1,21 @@
|
||||
query-loc: a program to retrieve and display the location
|
||||
information in the DNS.
|
||||
|
||||
It uses the algorithms described in
|
||||
RFC 1876 (and RFC 1101 to get the network names).
|
||||
You can find examples of networks wchich implement this scheme
|
||||
in the ADDRESSES file.
|
||||
|
||||
It is under the General Public Licence (GPL, which
|
||||
you can fetch from <http://www.gnu.org/copyleft/gpl.html>.
|
||||
|
||||
Copyright Stéphane Bortzmeyer <bortzmeyer@sources.org>, 1998-2007.
|
||||
|
||||
Thanks to Paul Vixie for the RFC and its encouragements. Thanks
|
||||
to Björn Augustsson for the xtraceroute program
|
||||
<http://www.dtek.chalmers.se/~d3august/xt/>. Thanks to Roland
|
||||
Dirlewanger for extensive patching.
|
||||
|
||||
$Id: README,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
query-loc [-v] [-d nnn] host-name-or-address
|
||||
|
||||
Examples of hosts with LOCation info (quite uncommon, if you know more,
|
||||
please tell me):
|
||||
|
||||
See the ADDRESSES file
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/* config.h.in. Generated from configure.in by autoheader. */
|
||||
/* $Id: config.h.in,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $ */
|
||||
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `resolv' library (-lresolv). */
|
||||
#undef HAVE_LIBRESOLV
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Is there a loc_ntoa on this system? */
|
||||
#undef HAVE_LOC_NTOA
|
||||
+6436
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,65 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_RELEASE("$Id: configure.in,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $")
|
||||
AC_INIT(query-loc.c)
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
if test "$GCC" = "yes"; then
|
||||
CFLAGS="${CFLAGS} -Wall"
|
||||
fi
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl Checks for libraries.
|
||||
AC_CHECK_LIB(resolv, res_query)
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CHECK_HEADER(resolv.h, , AC_MSG_ERROR("No headers for name service applications"))
|
||||
AC_CHECK_HEADER(arpa/nameser.h, , AC_MSG_ERROR("No headers for name service applications"))
|
||||
AC_CHECK_HEADER(sys/time.h, , AC_MSG_ERROR("Mandatory header missing on your system"))
|
||||
AC_CHECK_HEADER(unistd.h, , AC_MSG_ERROR("Mandatory header missing on your system"))
|
||||
|
||||
|
||||
dnl This one is only useful for Solaris?
|
||||
AC_MSG_CHECKING(if libnsl is mandatory)
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
union
|
||||
{
|
||||
HEADER hdr;
|
||||
u_char buf[4096]; /* With RFC 2671, otherwise 512 is enough */
|
||||
}
|
||||
response;
|
||||
char *domain;
|
||||
int requested_type; ],
|
||||
[res_query(domain,
|
||||
C_IN,
|
||||
requested_type,
|
||||
(u_char *) & response,
|
||||
sizeof (response)) ], dnl
|
||||
[AC_MSG_RESULT(no)], dnl
|
||||
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lnsl"])
|
||||
|
||||
dnl Check for the loc_ntoa macro/function
|
||||
AC_MSG_CHECKING(loc_ntoa)
|
||||
AC_TRY_LINK([#include <resolv.h>], dnl
|
||||
[u_char *cp; char *result; loc_ntoa(cp, result)], dnl
|
||||
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOC_NTOA)], dnl
|
||||
[AC_MSG_RESULT([no, using the alternative]); LOC_NTOA=loc_ntoa.o])
|
||||
AC_SUBST(LOC_NTOA)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_CHECK_SIZEOF(long)
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(short)
|
||||
AC_CHECK_SIZEOF(char)
|
||||
|
||||
dnl Misc.
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
|
||||
|
||||
Executable
+323
@@ -0,0 +1,323 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
src=
|
||||
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=
|
||||
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
@@ -0,0 +1,590 @@
|
||||
#include "loc.h"
|
||||
|
||||
/* $Id: loc.c,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $ */
|
||||
|
||||
/* Global variables */
|
||||
|
||||
short rr_errno;
|
||||
|
||||
/*
|
||||
Prints the actual usage
|
||||
*/
|
||||
void
|
||||
usage ()
|
||||
{
|
||||
(void) fprintf (stderr,
|
||||
"Usage: %s: [-v] [-d nnn] hostname\n", progname);
|
||||
exit (2);
|
||||
}
|
||||
|
||||
/*
|
||||
Panics
|
||||
*/
|
||||
void
|
||||
panic (message)
|
||||
char *message;
|
||||
{
|
||||
(void) fprintf (stderr,
|
||||
"%s: %s\n", progname, message);
|
||||
exit (2);
|
||||
}
|
||||
|
||||
/*
|
||||
** IN_ADDR_ARPA -- Convert dotted quad string to reverse in-addr.arpa
|
||||
** ------------------------------------------------------------------
|
||||
**
|
||||
** Returns:
|
||||
** Pointer to appropriate reverse in-addr.arpa name
|
||||
** with trailing dot to force absolute domain name.
|
||||
** NULL in case of invalid dotted quad input string.
|
||||
*/
|
||||
|
||||
#ifndef ARPA_ROOT
|
||||
#define ARPA_ROOT "in-addr.arpa"
|
||||
#endif
|
||||
|
||||
char *
|
||||
in_addr_arpa (dottedquad)
|
||||
char *dottedquad; /* input string with dotted quad */
|
||||
{
|
||||
static char addrbuf[4 * 4 + sizeof (ARPA_ROOT) + 2];
|
||||
unsigned int a[4];
|
||||
register int n;
|
||||
|
||||
n = sscanf (dottedquad, "%u.%u.%u.%u", &a[0], &a[1], &a[2], &a[3]);
|
||||
switch (n)
|
||||
{
|
||||
case 4:
|
||||
(void) sprintf (addrbuf, "%u.%u.%u.%u.%s.",
|
||||
a[3] & 0xff, a[2] & 0xff, a[1] & 0xff, a[0] & 0xff, ARPA_ROOT);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
(void) sprintf (addrbuf, "%u.%u.%u.%s.",
|
||||
a[2] & 0xff, a[1] & 0xff, a[0] & 0xff, ARPA_ROOT);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
(void) sprintf (addrbuf, "%u.%u.%s.",
|
||||
a[1] & 0xff, a[0] & 0xff, ARPA_ROOT);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
(void) sprintf (addrbuf, "%u.%s.",
|
||||
a[0] & 0xff, ARPA_ROOT);
|
||||
break;
|
||||
|
||||
default:
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
while (--n >= 0)
|
||||
if (a[n] > 255)
|
||||
return (NULL);
|
||||
|
||||
return (addrbuf);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns a human-readable version of the LOC information or
|
||||
NULL if it failed. Argument is a name (of a network or a machine)
|
||||
and a boolean telling is it is a network name or a machine name.
|
||||
*/
|
||||
char *
|
||||
getlocbyname (name, is_network)
|
||||
const char *name;
|
||||
short is_network;
|
||||
{
|
||||
char *result;
|
||||
struct list_in_addr *list, *p;
|
||||
result = findRR (name, T_LOC);
|
||||
if (result != NULL)
|
||||
{
|
||||
if (debug >= 2)
|
||||
printf ("LOC record found for the name %s\n", name);
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_network)
|
||||
{
|
||||
list = findA (name);
|
||||
if (debug >= 2)
|
||||
printf ("No LOC record found for the name %s, trying addresses\n", name);
|
||||
if (list != NULL)
|
||||
{
|
||||
for (p = list; p != NULL; p = p->next)
|
||||
{
|
||||
if (debug >= 2)
|
||||
printf ("Trying address %s\n", inet_ntoa (p->addr));
|
||||
result = getlocbyaddr (p->addr, NULL);
|
||||
if (result != NULL)
|
||||
return result;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (debug >= 2)
|
||||
printf (" No A record found for %s\n", name);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (debug >= 2)
|
||||
printf ("No LOC record found for the network name %s\n", name);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Returns a human-readable version of the LOC information or
|
||||
NULL if it failed. Argument is an IP address.
|
||||
*/
|
||||
char *
|
||||
getlocbyaddr (addr, mask)
|
||||
const struct in_addr addr;
|
||||
const struct in_addr *mask;
|
||||
{
|
||||
struct in_addr netaddr;
|
||||
u_int32_t a;
|
||||
struct in_addr themask;
|
||||
char *text_addr, *text_mask;
|
||||
|
||||
if (mask == NULL)
|
||||
{
|
||||
themask.s_addr = (u_int32_t) 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
themask = *mask;
|
||||
}
|
||||
|
||||
text_addr = (char *) malloc (256);
|
||||
text_mask = (char *) malloc (256);
|
||||
strcpy (text_addr, inet_ntoa (addr));
|
||||
strcpy (text_mask, inet_ntoa (themask));
|
||||
|
||||
if (debug >= 2)
|
||||
printf ("Testing address %s/%s\n", text_addr, text_mask);
|
||||
if (mask == NULL)
|
||||
{
|
||||
a = ntohl (addr.s_addr);
|
||||
if (IN_CLASSA (a))
|
||||
{
|
||||
netaddr.s_addr = htonl (a & IN_CLASSA_NET);
|
||||
themask.s_addr = htonl(IN_CLASSA_NET);
|
||||
}
|
||||
else if (IN_CLASSB (a))
|
||||
{
|
||||
netaddr.s_addr = htonl (a & IN_CLASSB_NET);
|
||||
themask.s_addr = htonl(IN_CLASSB_NET);
|
||||
}
|
||||
else if (IN_CLASSC (a))
|
||||
{
|
||||
netaddr.s_addr = htonl (a & IN_CLASSC_NET);
|
||||
themask.s_addr = htonl(IN_CLASSC_NET);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Error */
|
||||
return NULL;
|
||||
}
|
||||
return getlocbynet (in_addr_arpa (inet_ntoa (netaddr)), addr, &themask);
|
||||
}
|
||||
else
|
||||
{
|
||||
netaddr.s_addr = addr.s_addr & themask.s_addr;
|
||||
return getlocbynet (in_addr_arpa (inet_ntoa (netaddr)), addr, mask);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Returns a human-readable LOC.
|
||||
Argument is a network name in the 0.z.y.x.in-addr.arpa format
|
||||
and the original address
|
||||
*/
|
||||
char *
|
||||
getlocbynet (name, addr, mask)
|
||||
char *name;
|
||||
struct in_addr addr;
|
||||
struct in_addr *mask;
|
||||
{
|
||||
char *network;
|
||||
char *result;
|
||||
struct list_in_addr *list;
|
||||
struct in_addr newmask;
|
||||
u_int32_t a;
|
||||
char newname[4 * 4 + sizeof (ARPA_ROOT) + 2];
|
||||
|
||||
if (debug >= 2)
|
||||
printf ("Testing network %s with mask %s\n", name, inet_ntoa(*mask));
|
||||
|
||||
/* Check if this network has an A RR */
|
||||
list = findA (name);
|
||||
if (list != NULL)
|
||||
{
|
||||
/* Yes, it does. This A record will be used as the
|
||||
* new mask for recursion if it is longer than
|
||||
* the actual mask. */
|
||||
if (mask != NULL && mask->s_addr < list->addr.s_addr)
|
||||
{
|
||||
/* compute the new arguments for recursion
|
||||
* - compute the new network by applying the new mask
|
||||
* to the address and get the in_addr_arpa representation
|
||||
* of it.
|
||||
* - the address remains unchanged
|
||||
* - the new mask is the one given in the A record
|
||||
*/
|
||||
a = ntohl(addr.s_addr); /* start from host address */
|
||||
a &= ntohl(list->addr.s_addr); /* apply new mask */
|
||||
newname[sizeof newname - 1] = 0;
|
||||
strncpy(
|
||||
newname,
|
||||
in_addr_arpa(inet_ntoa(inet_makeaddr(a, 0))),
|
||||
sizeof newname);
|
||||
newmask = inet_makeaddr(ntohl(list->addr.s_addr), 0);
|
||||
result = getlocbynet (newname, addr, &newmask);
|
||||
if (result != NULL)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
}
|
||||
/* couldn't find a LOC. Fall through and try with name */
|
||||
}
|
||||
|
||||
/* Check if this network has a name */
|
||||
network = findRR (name, T_PTR);
|
||||
if (network == NULL)
|
||||
{
|
||||
if (debug >= 2)
|
||||
printf ("No name for network %s\n", name);
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
return getlocbyname (network, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
The code for these two functions is stolen from the examples in Liu and Albitz
|
||||
book "DNS and BIND" (O'Reilly).
|
||||
*/
|
||||
|
||||
/****************************************************************
|
||||
* skipName -- This routine skips over a domain name. If the *
|
||||
* domain name expansion fails, it crashes. *
|
||||
* dn_skipname() is probably not on your manual *
|
||||
* page; it is similar to dn_expand() except that it just *
|
||||
* skips over the name. dn_skipname() is in res_comp.c if *
|
||||
* you need to find it. *
|
||||
****************************************************************/
|
||||
int
|
||||
skipName (cp, endOfMsg)
|
||||
u_char *cp;
|
||||
u_char *endOfMsg;
|
||||
{
|
||||
int n;
|
||||
|
||||
if ((n = dn_skipname (cp, endOfMsg)) < 0)
|
||||
{
|
||||
panic ("dn_skipname failed\n");
|
||||
}
|
||||
return (n);
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
* skipToData -- This routine advances the cp pointer to the *
|
||||
* start of the resource record data portion. On the way, *
|
||||
* it fills in the type, class, ttl, and data length *
|
||||
****************************************************************/
|
||||
int
|
||||
skipToData (cp, type, class, ttl, dlen, endOfMsg)
|
||||
u_char *cp;
|
||||
u_short *type;
|
||||
u_short *class;
|
||||
u_int32_t *ttl;
|
||||
u_short *dlen;
|
||||
u_char *endOfMsg;
|
||||
{
|
||||
u_char *tmp_cp = cp; /* temporary version of cp */
|
||||
|
||||
/* Skip the domain name; it matches the name we looked up */
|
||||
tmp_cp += skipName (tmp_cp, endOfMsg);
|
||||
|
||||
/*
|
||||
* Grab the type, class, and ttl. GETSHORT and GETLONG
|
||||
* are macros defined in arpa/nameser.h.
|
||||
*/
|
||||
GETSHORT (*type, tmp_cp);
|
||||
GETSHORT (*class, tmp_cp);
|
||||
GETLONG (*ttl, tmp_cp);
|
||||
GETSHORT (*dlen, tmp_cp);
|
||||
|
||||
return (tmp_cp - cp);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Returns a human-readable version of a DNS RR (resource record)
|
||||
associated with the name 'domain'.
|
||||
If it does not find, ir returns NULL and sets rr_errno to explain why.
|
||||
|
||||
The code for this function is stolen from the examples in Liu and Albitz
|
||||
book "DNS and BIND" (O'Reilly).
|
||||
*/
|
||||
char *
|
||||
findRR (domain, requested_type)
|
||||
char *domain;
|
||||
int requested_type;
|
||||
{
|
||||
char *result, *message;
|
||||
|
||||
union
|
||||
{
|
||||
HEADER hdr; /* defined in resolv.h */
|
||||
u_char buf[PACKETSZ]; /* defined in arpa/nameser.h */
|
||||
}
|
||||
response; /* response buffers */
|
||||
short found = 0;
|
||||
int responseLen; /* buffer length */
|
||||
|
||||
u_char *cp; /* character pointer to parse DNS packet */
|
||||
u_char *endOfMsg; /* need to know the end of the message */
|
||||
u_short class; /* classes defined in arpa/nameser.h */
|
||||
u_short type; /* types defined in arpa/nameser.h */
|
||||
u_int32_t ttl; /* resource record time to live */
|
||||
u_short dlen; /* size of resource record data */
|
||||
|
||||
int i, count, dup; /* misc variables */
|
||||
|
||||
char *ptrList[1];
|
||||
int ptrNum = 0;
|
||||
struct in_addr addr;
|
||||
|
||||
result = (char *) malloc (256);
|
||||
message = (char *) malloc (256);
|
||||
/*
|
||||
* Look up the records for the given domain name.
|
||||
* We expect the domain to be a fully qualified name, so
|
||||
* we use res_query(). If we wanted the resolver search
|
||||
* algorithm, we would have used res_search() instead.
|
||||
*/
|
||||
if ((responseLen =
|
||||
res_query (domain, /* the domain we care about */
|
||||
C_IN, /* Internet class records */
|
||||
requested_type, /* Look up name server records */
|
||||
(u_char *) & response, /*response buffer */
|
||||
sizeof (response))) /*buffer size */
|
||||
< 0)
|
||||
{ /*If negative */
|
||||
rr_errno = h_errno;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Keep track of the end of the message so we don't
|
||||
* pass it while parsing the response. responseLen is
|
||||
* the value returned by res_query.
|
||||
*/
|
||||
endOfMsg = response.buf + responseLen;
|
||||
|
||||
/*
|
||||
* Set a pointer to the start of the question section,
|
||||
* which begins immediately AFTER the header.
|
||||
*/
|
||||
cp = response.buf + sizeof (HEADER);
|
||||
|
||||
/*
|
||||
* Skip over the whole question section. The question
|
||||
* section is comprised of a name, a type, and a class.
|
||||
* QFIXEDSZ (defined in arpa/nameser.h) is the size of
|
||||
* the type and class portions, which is fixed. Therefore,
|
||||
* we can skip the question section by skipping the
|
||||
* name (at the beginning) and then advancing QFIXEDSZ.
|
||||
* After this calculation, cp points to the start of the
|
||||
* answer section, which is a list of NS records.
|
||||
*/
|
||||
cp += skipName (cp, endOfMsg) + QFIXEDSZ;
|
||||
|
||||
count = ntohs (response.hdr.ancount) +
|
||||
ntohs (response.hdr.nscount);
|
||||
while ((--count >= 0) /* still more records */
|
||||
&& (cp < endOfMsg))
|
||||
{ /* still inside the packet */
|
||||
|
||||
|
||||
/* Skip to the data portion of the resource record */
|
||||
cp += skipToData (cp, &type, &class, &ttl, &dlen, endOfMsg);
|
||||
|
||||
if (type == requested_type)
|
||||
{
|
||||
switch (requested_type)
|
||||
{
|
||||
case (T_LOC):
|
||||
loc_ntoa (cp, result);
|
||||
return result;
|
||||
break;
|
||||
case (T_PTR):
|
||||
ptrList[ptrNum] = (char *) malloc (MAXDNAME);
|
||||
if (ptrList[ptrNum] == NULL)
|
||||
{
|
||||
panic ("Malloc failed");
|
||||
}
|
||||
|
||||
if (dn_expand (response.buf, /* Start of the packet */
|
||||
endOfMsg, /* End of the packet */
|
||||
cp, /* Position in the packet */
|
||||
(char *) ptrList[ptrNum], /* Result */
|
||||
MAXDNAME) /* size of ptrList buffer */
|
||||
< 0)
|
||||
{ /* Negative: error */
|
||||
panic ("dn_expand failed");
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the name we've just unpacked and add it to
|
||||
* the list if it is not a duplicate.
|
||||
* If it is a duplicate, just ignore it.
|
||||
*/
|
||||
for (i = 0, dup = 0; (i < ptrNum) && !dup; i++)
|
||||
dup = !strcasecmp (ptrList[i], ptrList[ptrNum]);
|
||||
if (dup)
|
||||
free (ptrList[ptrNum]);
|
||||
else
|
||||
ptrNum++;
|
||||
strcpy (result, ptrList[0]);
|
||||
return result;
|
||||
break;
|
||||
case (T_A):
|
||||
bcopy ((char *) cp, (char *) &addr, INADDRSZ);
|
||||
strcat (result, " ");
|
||||
strcat (result, inet_ntoa (addr));
|
||||
found = 1;
|
||||
break;
|
||||
default:
|
||||
sprintf (message, "Unexpected type %u", requested_type);
|
||||
panic (message);
|
||||
}
|
||||
}
|
||||
|
||||
/* Advance the pointer over the resource record data */
|
||||
cp += dlen;
|
||||
|
||||
} /* end of while */
|
||||
if (found)
|
||||
return result;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct list_in_addr *
|
||||
findA (domain)
|
||||
char *domain;
|
||||
{
|
||||
|
||||
struct list_in_addr *result, *end;
|
||||
|
||||
union
|
||||
{
|
||||
HEADER hdr; /* defined in resolv.h */
|
||||
u_char buf[PACKETSZ]; /* defined in arpa/nameser.h */
|
||||
}
|
||||
response; /* response buffers */
|
||||
int responseLen; /* buffer length */
|
||||
|
||||
u_char *cp; /* character pointer to parse DNS packet */
|
||||
u_char *endOfMsg; /* need to know the end of the message */
|
||||
u_short class; /* classes defined in arpa/nameser.h */
|
||||
u_short type; /* types defined in arpa/nameser.h */
|
||||
u_int32_t ttl; /* resource record time to live */
|
||||
u_short dlen; /* size of resource record data */
|
||||
|
||||
int count; /* misc variables */
|
||||
|
||||
struct in_addr addr;
|
||||
|
||||
end = NULL;
|
||||
result = NULL;
|
||||
|
||||
/*
|
||||
* Look up the records for the given domain name.
|
||||
* We expect the domain to be a fully qualified name, so
|
||||
* we use res_query(). If we wanted the resolver search
|
||||
* algorithm, we would have used res_search() instead.
|
||||
*/
|
||||
if ((responseLen =
|
||||
res_query (domain, /* the domain we care about */
|
||||
C_IN, /* Internet class records */
|
||||
T_A,
|
||||
(u_char *) & response, /*response buffer */
|
||||
sizeof (response))) /*buffer size */
|
||||
< 0)
|
||||
{ /*If negative */
|
||||
rr_errno = h_errno;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Keep track of the end of the message so we don't
|
||||
* pass it while parsing the response. responseLen is
|
||||
* the value returned by res_query.
|
||||
*/
|
||||
endOfMsg = response.buf + responseLen;
|
||||
|
||||
/*
|
||||
* Set a pointer to the start of the question section,
|
||||
* which begins immediately AFTER the header.
|
||||
*/
|
||||
cp = response.buf + sizeof (HEADER);
|
||||
|
||||
/*
|
||||
* Skip over the whole question section. The question
|
||||
* section is comprised of a name, a type, and a class.
|
||||
* QFIXEDSZ (defined in arpa/nameser.h) is the size of
|
||||
* the type and class portions, which is fixed. Therefore,
|
||||
* we can skip the question section by skipping the
|
||||
* name (at the beginning) and then advancing QFIXEDSZ.
|
||||
* After this calculation, cp points to the start of the
|
||||
* answer section, which is a list of NS records.
|
||||
*/
|
||||
cp += skipName (cp, endOfMsg) + QFIXEDSZ;
|
||||
|
||||
count = ntohs (response.hdr.ancount) +
|
||||
ntohs (response.hdr.nscount);
|
||||
while ((--count >= 0) /* still more records */
|
||||
&& (cp < endOfMsg))
|
||||
{ /* still inside the packet */
|
||||
|
||||
|
||||
/* Skip to the data portion of the resource record */
|
||||
cp += skipToData (cp, &type, &class, &ttl, &dlen, endOfMsg);
|
||||
|
||||
if (type == T_A)
|
||||
{
|
||||
bcopy ((char *) cp, (char *) &addr, INADDRSZ);
|
||||
if (end == NULL)
|
||||
{
|
||||
result = (void *) malloc (sizeof (struct list_in_addr));
|
||||
result->addr = addr;
|
||||
result->next = NULL;
|
||||
end = result;
|
||||
}
|
||||
else
|
||||
{
|
||||
end->next = (void *) malloc (sizeof (struct list_in_addr));
|
||||
end = end->next;
|
||||
end->addr = addr;
|
||||
end->next = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Advance the pointer over the resource record data */
|
||||
cp += dlen;
|
||||
|
||||
} /* end of while */
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/* $Id: loc.h,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $ */
|
||||
|
||||
#define VERSION "0.4.0"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
/* Probably too many inclusions but this is to keep 'gcc -Wall' happy... */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <sys/time.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#if SIZEOF_LONG == 4
|
||||
#define u_int32_t unsigned long
|
||||
#ifndef int32_t
|
||||
#define int32_t long
|
||||
#endif
|
||||
#else
|
||||
#define u_int32_t unsigned int
|
||||
#ifndef int32_t
|
||||
#define int32_t int
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if SIZEOF_CHAR == 1
|
||||
#define u_int8_t unsigned char
|
||||
#ifndef int8_t
|
||||
#define int8_t char
|
||||
#endif
|
||||
#else
|
||||
#if SIZEOF_SHORT == 1
|
||||
#define u_int8_t unsigned short
|
||||
#ifndef int8_t
|
||||
#define int8_t short
|
||||
#endif
|
||||
#else
|
||||
#error "No suitable native type for storing bytes"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE (in_addr_t)-1
|
||||
#endif
|
||||
|
||||
struct list_in_addr
|
||||
{
|
||||
struct in_addr addr;
|
||||
void *next;
|
||||
};
|
||||
|
||||
void usage ();
|
||||
void panic ();
|
||||
|
||||
char *getlocbyname ();
|
||||
char *getlocbyaddr ();
|
||||
char *getlocbynet ();
|
||||
char *findRR ();
|
||||
struct list_in_addr *findA ();
|
||||
|
||||
extern char *progname;
|
||||
extern short debug;
|
||||
@@ -0,0 +1,248 @@
|
||||
/* Stolen from BIND */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1985
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Portions Copyright (c) 1993 by Digital Equipment Corporation.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies, and that
|
||||
* the name of Digital Equipment Corporation not be used in advertising or
|
||||
* publicity pertaining to distribution of the document or software without
|
||||
* specific, written prior permission.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
|
||||
* CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Portions Copyright (c) 1995 by International Business Machines, Inc.
|
||||
*
|
||||
* International Business Machines, Inc. (hereinafter called IBM) grants
|
||||
* permission under its copyrights to use, copy, modify, and distribute this
|
||||
* Software with or without fee, provided that the above copyright notice and
|
||||
* all paragraphs of this notice appear in all copies, and that the name of IBM
|
||||
* not be used in connection with the marketing of any product incorporating
|
||||
* the Software or modifications thereof, without specific, written prior
|
||||
* permission.
|
||||
*
|
||||
* To the extent it has a right to do so, IBM grants an immunity from suit
|
||||
* under its patents, if any, for the use, sale or manufacture of products to
|
||||
* the extent that such products are used for performing Domain Name System
|
||||
* dynamic updates in TCP/IP networks by means of the Software. No immunity is
|
||||
* granted for any product per se or for any other function of any product.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
* PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
|
||||
* DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
|
||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
|
||||
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Portions Copyright (c) 1996-1999 by Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
|
||||
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
|
||||
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <arpa/nameser.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <netdb.h>
|
||||
#include <resolv.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "loc.h"
|
||||
|
||||
const char *precsize_ntoa();
|
||||
|
||||
/* takes an on-the-wire LOC RR and formats it in a human readable format. */
|
||||
const char *
|
||||
loc_ntoa(binary, ascii)
|
||||
const u_char *binary;
|
||||
char *ascii;
|
||||
{
|
||||
static char *error = "?";
|
||||
static char tmpbuf[sizeof
|
||||
"1000 60 60.000 N 1000 60 60.000 W -12345678.00m 90000000.00m 90000000.00m 90000000.00m"];
|
||||
const u_char *cp = binary;
|
||||
|
||||
int latdeg, latmin, latsec, latsecfrac;
|
||||
int longdeg, longmin, longsec, longsecfrac;
|
||||
char northsouth, eastwest;
|
||||
int altmeters, altfrac, altsign;
|
||||
|
||||
const u_int32_t referencealt = 100000 * 100;
|
||||
|
||||
int32_t latval, longval, altval;
|
||||
u_int32_t templ;
|
||||
u_int8_t sizeval, hpval, vpval, versionval;
|
||||
|
||||
char *sizestr, *hpstr, *vpstr;
|
||||
|
||||
versionval = *cp++;
|
||||
|
||||
if (ascii == NULL)
|
||||
ascii = tmpbuf;
|
||||
|
||||
if (versionval) {
|
||||
(void) sprintf(ascii, "; error: unknown LOC RR version");
|
||||
return (ascii);
|
||||
}
|
||||
|
||||
sizeval = *cp++;
|
||||
|
||||
hpval = *cp++;
|
||||
vpval = *cp++;
|
||||
|
||||
GETLONG(templ, cp);
|
||||
latval = (templ - ((unsigned)1<<31));
|
||||
|
||||
GETLONG(templ, cp);
|
||||
longval = (templ - ((unsigned)1<<31));
|
||||
|
||||
GETLONG(templ, cp);
|
||||
if (templ < referencealt) { /* below WGS 84 spheroid */
|
||||
altval = referencealt - templ;
|
||||
altsign = -1;
|
||||
} else {
|
||||
altval = templ - referencealt;
|
||||
altsign = 1;
|
||||
}
|
||||
|
||||
if (latval < 0) {
|
||||
northsouth = 'S';
|
||||
latval = -latval;
|
||||
} else
|
||||
northsouth = 'N';
|
||||
|
||||
latsecfrac = latval % 1000;
|
||||
latval = latval / 1000;
|
||||
latsec = latval % 60;
|
||||
latval = latval / 60;
|
||||
latmin = latval % 60;
|
||||
latval = latval / 60;
|
||||
latdeg = latval;
|
||||
|
||||
if (longval < 0) {
|
||||
eastwest = 'W';
|
||||
longval = -longval;
|
||||
} else
|
||||
eastwest = 'E';
|
||||
|
||||
longsecfrac = longval % 1000;
|
||||
longval = longval / 1000;
|
||||
longsec = longval % 60;
|
||||
longval = longval / 60;
|
||||
longmin = longval % 60;
|
||||
longval = longval / 60;
|
||||
longdeg = longval;
|
||||
|
||||
altfrac = altval % 100;
|
||||
altmeters = (altval / 100) * altsign;
|
||||
|
||||
if ((sizestr = strdup(precsize_ntoa(sizeval))) == NULL)
|
||||
sizestr = error;
|
||||
if ((hpstr = strdup(precsize_ntoa(hpval))) == NULL)
|
||||
hpstr = error;
|
||||
if ((vpstr = strdup(precsize_ntoa(vpval))) == NULL)
|
||||
vpstr = error;
|
||||
|
||||
sprintf(ascii,
|
||||
"%d %.2d %.2d.%.3d %c %d %.2d %.2d.%.3d %c %d.%.2dm %sm %sm %sm",
|
||||
latdeg, latmin, latsec, latsecfrac, northsouth,
|
||||
longdeg, longmin, longsec, longsecfrac, eastwest,
|
||||
altmeters, altfrac, sizestr, hpstr, vpstr);
|
||||
|
||||
if (sizestr != error)
|
||||
free(sizestr);
|
||||
if (hpstr != error)
|
||||
free(hpstr);
|
||||
if (vpstr != error)
|
||||
free(vpstr);
|
||||
|
||||
return (ascii);
|
||||
}
|
||||
|
||||
static unsigned int poweroften[10] = {1, 10, 100, 1000, 10000, 100000,
|
||||
1000000,10000000,100000000,1000000000};
|
||||
|
||||
/* takes an XeY precision/size value, returns a string representation. */
|
||||
const char *
|
||||
precsize_ntoa(prec)
|
||||
u_int8_t prec;
|
||||
{
|
||||
static char retbuf[sizeof "90000000.00"]; /* XXX nonreentrant */
|
||||
unsigned long val;
|
||||
int mantissa, exponent;
|
||||
|
||||
mantissa = (int)((prec >> 4) & 0x0f) % 10;
|
||||
exponent = (int)((prec >> 0) & 0x0f) % 10;
|
||||
|
||||
val = mantissa * poweroften[exponent];
|
||||
|
||||
(void) sprintf(retbuf, "%ld.%.2ld", val/100, val%100);
|
||||
return (retbuf);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH QUERY-LOC 1 "January 11, 2005"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
query-loc \- to retrieve and display the location information in the DNS
|
||||
.SH SYNOPSIS
|
||||
.B query-loc
|
||||
.RI [-v] [-d nnn] " host"
|
||||
.SH DESCRIPTION
|
||||
This manual page documents briefly the
|
||||
.B query-loc
|
||||
command.
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
\fBquery-loc\fP is a program to retrieve and display the location
|
||||
information in the DNS.
|
||||
|
||||
It uses the algorithms described in
|
||||
RFC 1876 (and RFC 1101 to get the network names).
|
||||
You can find examples of networks wchich implement this scheme
|
||||
in the ADDRESSES file.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-v
|
||||
Verbose mode.
|
||||
.TP
|
||||
.B \-d nnn
|
||||
Debug mode. Displays the RFC's algorithm
|
||||
|
||||
.SH BUGS
|
||||
|
||||
Very few hosts have location information.
|
||||
|
||||
.SH AUTHOR
|
||||
This manual page was written by Stephane Bortzmeyer
|
||||
<bortzmeyer@debian.org>.
|
||||
|
||||
.\" $Id: query-loc.1,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $
|
||||
@@ -0,0 +1,98 @@
|
||||
#include "loc.h"
|
||||
|
||||
/* $Id: query-loc.c,v 1.1.2.1 2008/02/15 02:11:57 marka Exp $ */
|
||||
|
||||
/* Global variables */
|
||||
char *progname;
|
||||
short debug;
|
||||
|
||||
int
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
|
||||
short verbose = FALSE;
|
||||
char *host;
|
||||
|
||||
char ch;
|
||||
|
||||
char *loc = NULL;
|
||||
struct in_addr addr;
|
||||
struct hostent *hp;
|
||||
|
||||
progname = argv[0];
|
||||
while ((ch = getopt (argc, argv, "vd:")) != EOF)
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
case 'v':
|
||||
verbose = TRUE;
|
||||
break;
|
||||
case 'd':
|
||||
debug = atoi (optarg);
|
||||
if (debug <= 0)
|
||||
{
|
||||
(void) fprintf (stderr,
|
||||
"%s: illegal debug value.\n", progname);
|
||||
exit (2);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
usage ();
|
||||
}
|
||||
}
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
if (argc != 1)
|
||||
{
|
||||
usage ();
|
||||
}
|
||||
if (verbose || debug)
|
||||
{
|
||||
printf ("\nThis is %s, version %s.\n\n", progname, VERSION);
|
||||
}
|
||||
host = argv[0];
|
||||
(void) res_init ();
|
||||
|
||||
if ((addr.s_addr = inet_addr (host)) == INADDR_NONE)
|
||||
{
|
||||
if (debug >= 1)
|
||||
printf ("%s is a name\n", host);
|
||||
loc = getlocbyname (host, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (debug >= 1)
|
||||
printf ("%s is an IP address ", host);
|
||||
hp = (struct hostent *) gethostbyaddr
|
||||
((char *) &addr, sizeof (addr), AF_INET);
|
||||
if (hp)
|
||||
{
|
||||
if (debug >= 1)
|
||||
printf ("and %s is its official name\n",
|
||||
hp->h_name);
|
||||
loc = getlocbyname (hp->h_name, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (debug >= 1)
|
||||
printf ("which has no name\n");
|
||||
loc = getlocbyaddr (addr, NULL);
|
||||
}
|
||||
}
|
||||
if (loc == NULL)
|
||||
{
|
||||
printf ("No LOCation found for %s\n", host);
|
||||
exit (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (verbose || debug)
|
||||
printf ("LOCation for %s is ", host);
|
||||
printf ("%s\n", loc);
|
||||
exit (0);
|
||||
}
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id: reconf,v 1.1.2.1 2008/02/15 02:16:03 marka Exp $
|
||||
|
||||
autoreconf
|
||||
# We do not use automake but we need its install-sh file. We do not
|
||||
# care about the exit code.
|
||||
automake --add-missing || true
|
||||
+25
-25
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch01.html,v 1.37 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch01.html,v 1.38 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -45,17 +45,17 @@
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564117">Scope of Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564140">Organization of This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563474">Conventions Used in This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564816">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564106">Scope of Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564130">Organization of This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563470">Conventions Used in This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564812">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564837">DNS Fundamentals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564871">Domains and Domain Names</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567208">Zones</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567285">Authoritative Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567526">Caching Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567588">Name Servers in Multiple Roles</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564834">DNS Fundamentals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564868">Domains and Domain Names</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567205">Zones</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567282">Authoritative Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567523">Caching Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567585">Name Servers in Multiple Roles</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -71,7 +71,7 @@
|
||||
</p>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2564117"></a>Scope of Document</h2></div></div></div>
|
||||
<a name="id2564106"></a>Scope of Document</h2></div></div></div>
|
||||
<p>
|
||||
The Berkeley Internet Name Domain
|
||||
(<acronym class="acronym">BIND</acronym>) implements a
|
||||
@@ -87,7 +87,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2564140"></a>Organization of This Document</h2></div></div></div>
|
||||
<a name="id2564130"></a>Organization of This Document</h2></div></div></div>
|
||||
<p>
|
||||
In this document, <span class="emphasis"><em>Section 1</em></span> introduces
|
||||
the basic <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> concepts. <span class="emphasis"><em>Section 2</em></span>
|
||||
@@ -116,7 +116,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2563474"></a>Conventions Used in This Document</h2></div></div></div>
|
||||
<a name="id2563470"></a>Conventions Used in This Document</h2></div></div></div>
|
||||
<p>
|
||||
In this document, we use the following general typographic
|
||||
conventions:
|
||||
@@ -243,7 +243,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2564816"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
|
||||
<a name="id2564812"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
|
||||
<p>
|
||||
The purpose of this document is to explain the installation
|
||||
and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
|
||||
@@ -253,7 +253,7 @@
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2564837"></a>DNS Fundamentals</h3></div></div></div>
|
||||
<a name="id2564834"></a>DNS Fundamentals</h3></div></div></div>
|
||||
<p>
|
||||
The Domain Name System (DNS) is a hierarchical, distributed
|
||||
database. It stores information for mapping Internet host names to
|
||||
@@ -273,7 +273,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2564871"></a>Domains and Domain Names</h3></div></div></div>
|
||||
<a name="id2564868"></a>Domains and Domain Names</h3></div></div></div>
|
||||
<p>
|
||||
The data stored in the DNS is identified by <span class="emphasis"><em>domain names</em></span> that are organized as a tree according to
|
||||
organizational or administrative boundaries. Each node of the tree,
|
||||
@@ -319,7 +319,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2567208"></a>Zones</h3></div></div></div>
|
||||
<a name="id2567205"></a>Zones</h3></div></div></div>
|
||||
<p>
|
||||
To properly operate a name server, it is important to understand
|
||||
the difference between a <span class="emphasis"><em>zone</em></span>
|
||||
@@ -372,7 +372,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2567285"></a>Authoritative Name Servers</h3></div></div></div>
|
||||
<a name="id2567282"></a>Authoritative Name Servers</h3></div></div></div>
|
||||
<p>
|
||||
Each zone is served by at least
|
||||
one <span class="emphasis"><em>authoritative name server</em></span>,
|
||||
@@ -389,7 +389,7 @@
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2567308"></a>The Primary Master</h4></div></div></div>
|
||||
<a name="id2567305"></a>The Primary Master</h4></div></div></div>
|
||||
<p>
|
||||
The authoritative server where the master copy of the zone
|
||||
data is maintained is called the
|
||||
@@ -409,7 +409,7 @@
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2567338"></a>Slave Servers</h4></div></div></div>
|
||||
<a name="id2567335"></a>Slave Servers</h4></div></div></div>
|
||||
<p>
|
||||
The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
|
||||
servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
|
||||
@@ -425,7 +425,7 @@
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2567360"></a>Stealth Servers</h4></div></div></div>
|
||||
<a name="id2567356"></a>Stealth Servers</h4></div></div></div>
|
||||
<p>
|
||||
Usually all of the zone's authoritative servers are listed in
|
||||
NS records in the parent zone. These NS records constitute
|
||||
@@ -460,7 +460,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2567526"></a>Caching Name Servers</h3></div></div></div>
|
||||
<a name="id2567523"></a>Caching Name Servers</h3></div></div></div>
|
||||
<p>
|
||||
The resolver libraries provided by most operating systems are
|
||||
<span class="emphasis"><em>stub resolvers</em></span>, meaning that they are not
|
||||
@@ -487,7 +487,7 @@
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2567561"></a>Forwarding</h4></div></div></div>
|
||||
<a name="id2567558"></a>Forwarding</h4></div></div></div>
|
||||
<p>
|
||||
Even a caching name server does not necessarily perform
|
||||
the complete recursive lookup itself. Instead, it can
|
||||
@@ -514,7 +514,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2567588"></a>Name Servers in Multiple Roles</h3></div></div></div>
|
||||
<a name="id2567585"></a>Name Servers in Multiple Roles</h3></div></div></div>
|
||||
<p>
|
||||
The <acronym class="acronym">BIND</acronym> name server can
|
||||
simultaneously act as
|
||||
|
||||
+11
-11
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch02.html,v 1.34 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch02.html,v 1.35 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -45,16 +45,16 @@
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567622">Hardware requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567649">CPU Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567661">Memory Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567688">Name Server Intensive Environment Issues</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567699">Supported Operating Systems</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567619">Hardware requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567714">CPU Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567726">Memory Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567753">Name Server Intensive Environment Issues</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567764">Supported Operating Systems</a></span></dt>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2567622"></a>Hardware requirements</h2></div></div></div>
|
||||
<a name="id2567619"></a>Hardware requirements</h2></div></div></div>
|
||||
<p>
|
||||
<acronym class="acronym">DNS</acronym> hardware requirements have
|
||||
traditionally been quite modest.
|
||||
@@ -73,7 +73,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2567649"></a>CPU Requirements</h2></div></div></div>
|
||||
<a name="id2567714"></a>CPU Requirements</h2></div></div></div>
|
||||
<p>
|
||||
CPU requirements for <acronym class="acronym">BIND</acronym> 9 range from
|
||||
i486-class machines
|
||||
@@ -84,7 +84,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2567661"></a>Memory Requirements</h2></div></div></div>
|
||||
<a name="id2567726"></a>Memory Requirements</h2></div></div></div>
|
||||
<p>
|
||||
The memory of the server has to be large enough to fit the
|
||||
cache and zones loaded off disk. The <span><strong class="command">max-cache-size</strong></span>
|
||||
@@ -107,7 +107,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2567688"></a>Name Server Intensive Environment Issues</h2></div></div></div>
|
||||
<a name="id2567753"></a>Name Server Intensive Environment Issues</h2></div></div></div>
|
||||
<p>
|
||||
For name server intensive environments, there are two alternative
|
||||
configurations that may be used. The first is where clients and
|
||||
@@ -124,7 +124,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2567699"></a>Supported Operating Systems</h2></div></div></div>
|
||||
<a name="id2567764"></a>Supported Operating Systems</h2></div></div></div>
|
||||
<p>
|
||||
ISC <acronym class="acronym">BIND</acronym> 9 compiles and runs on a large
|
||||
number
|
||||
|
||||
+13
-13
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch03.html,v 1.66 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch03.html,v 1.67 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -47,14 +47,14 @@
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#sample_configuration">Sample Configurations</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568004">A Caching-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568020">An Authoritative-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568001">A Caching-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568017">An Authoritative-only Name Server</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568042">Load Balancing</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568465">Name Server Operations</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568039">Load Balancing</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568461">Name Server Operations</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568470">Tools for Use With the Name Server Daemon</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570184">Signals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568467">Tools for Use With the Name Server Daemon</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570181">Signals</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -68,7 +68,7 @@
|
||||
<a name="sample_configuration"></a>Sample Configurations</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2568004"></a>A Caching-only Name Server</h3></div></div></div>
|
||||
<a name="id2568001"></a>A Caching-only Name Server</h3></div></div></div>
|
||||
<p>
|
||||
The following sample configuration is appropriate for a caching-only
|
||||
name server for use by clients internal to a corporation. All
|
||||
@@ -95,7 +95,7 @@ zone "0.0.127.in-addr.arpa" {
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2568020"></a>An Authoritative-only Name Server</h3></div></div></div>
|
||||
<a name="id2568017"></a>An Authoritative-only Name Server</h3></div></div></div>
|
||||
<p>
|
||||
This sample configuration is for an authoritative-only server
|
||||
that is the master server for "<code class="filename">example.com</code>"
|
||||
@@ -137,7 +137,7 @@ zone "eng.example.com" {
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2568042"></a>Load Balancing</h2></div></div></div>
|
||||
<a name="id2568039"></a>Load Balancing</h2></div></div></div>
|
||||
<p>
|
||||
A primitive form of load balancing can be achieved in
|
||||
the <acronym class="acronym">DNS</acronym> by using multiple records
|
||||
@@ -280,10 +280,10 @@ zone "eng.example.com" {
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2568465"></a>Name Server Operations</h2></div></div></div>
|
||||
<a name="id2568461"></a>Name Server Operations</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2568470"></a>Tools for Use With the Name Server Daemon</h3></div></div></div>
|
||||
<a name="id2568467"></a>Tools for Use With the Name Server Daemon</h3></div></div></div>
|
||||
<p>
|
||||
This section describes several indispensable diagnostic,
|
||||
administrative and monitoring tools available to the system
|
||||
@@ -739,7 +739,7 @@ controls {
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2570184"></a>Signals</h3></div></div></div>
|
||||
<a name="id2570181"></a>Signals</h3></div></div></div>
|
||||
<p>
|
||||
Certain UNIX signals cause the name server to take specific
|
||||
actions, as described in the following table. These signals can
|
||||
|
||||
+35
-35
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch04.html,v 1.80 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch04.html,v 1.81 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -49,29 +49,29 @@
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570658">Split DNS</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570676">Example split DNS setup</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570654">Split DNS</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570673">Example split DNS setup</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571111">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571185">Copying the Shared Secret to Both Machines</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571195">Informing the Servers of the Key's Existence</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571235">Instructing the Server to Use the Key</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571429">TSIG Key Based Access Control</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571474">Errors</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571108">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571181">Copying the Shared Secret to Both Machines</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571192">Informing the Servers of the Key's Existence</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571232">Instructing the Server to Use the Key</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571426">TSIG Key Based Access Control</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571470">Errors</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571488">TKEY</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571673">SIG(0)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571484">TKEY</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571533">SIG(0)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571741">Generating Keys</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571811">Signing the Zone</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571890">Configuring Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571738">Generating Keys</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571808">Signing the Zone</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571886">Configuring Servers</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572033">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572029">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572231">Address Lookups Using AAAA Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572252">Address to Name Lookups Using Nibble Format</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572228">Address Lookups Using AAAA Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572249">Address to Name Lookups Using Nibble Format</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -210,7 +210,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2570658"></a>Split DNS</h2></div></div></div>
|
||||
<a name="id2570654"></a>Split DNS</h2></div></div></div>
|
||||
<p>
|
||||
Setting up different views, or visibility, of the DNS space to
|
||||
internal and external resolvers is usually referred to as a
|
||||
@@ -240,7 +240,7 @@
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2570676"></a>Example split DNS setup</h3></div></div></div>
|
||||
<a name="id2570673"></a>Example split DNS setup</h3></div></div></div>
|
||||
<p>
|
||||
Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
|
||||
(<code class="literal">example.com</code>)
|
||||
@@ -486,7 +486,7 @@ nameserver 172.16.72.4
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571111"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
|
||||
<a name="id2571108"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
|
||||
<p>
|
||||
A shared secret is generated to be shared between <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span>.
|
||||
An arbitrary key name is chosen: "host1-host2.". The key name must
|
||||
@@ -494,7 +494,7 @@ nameserver 172.16.72.4
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2571128"></a>Automatic Generation</h4></div></div></div>
|
||||
<a name="id2571125"></a>Automatic Generation</h4></div></div></div>
|
||||
<p>
|
||||
The following command will generate a 128-bit (16 byte) HMAC-MD5
|
||||
key as described above. Longer keys are better, but shorter keys
|
||||
@@ -519,7 +519,7 @@ nameserver 172.16.72.4
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2571166"></a>Manual Generation</h4></div></div></div>
|
||||
<a name="id2571163"></a>Manual Generation</h4></div></div></div>
|
||||
<p>
|
||||
The shared secret is simply a random sequence of bits, encoded
|
||||
in base-64. Most ASCII strings are valid base-64 strings (assuming
|
||||
@@ -534,7 +534,7 @@ nameserver 172.16.72.4
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571185"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
|
||||
<a name="id2571181"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
|
||||
<p>
|
||||
This is beyond the scope of DNS. A secure transport mechanism
|
||||
should be used. This could be secure FTP, ssh, telephone, etc.
|
||||
@@ -542,7 +542,7 @@ nameserver 172.16.72.4
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571195"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
|
||||
<a name="id2571192"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
|
||||
<p>
|
||||
Imagine <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host 2</em></span>
|
||||
are
|
||||
@@ -571,7 +571,7 @@ key host1-host2. {
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571235"></a>Instructing the Server to Use the Key</h3></div></div></div>
|
||||
<a name="id2571232"></a>Instructing the Server to Use the Key</h3></div></div></div>
|
||||
<p>
|
||||
Since keys are shared between two hosts only, the server must
|
||||
be told when keys are to be used. The following is added to the <code class="filename">named.conf</code> file
|
||||
@@ -603,7 +603,7 @@ server 10.1.2.3 {
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571429"></a>TSIG Key Based Access Control</h3></div></div></div>
|
||||
<a name="id2571426"></a>TSIG Key Based Access Control</h3></div></div></div>
|
||||
<p>
|
||||
<acronym class="acronym">BIND</acronym> allows IP addresses and ranges
|
||||
to be specified in ACL
|
||||
@@ -631,7 +631,7 @@ allow-update { key host1-host2. ;};
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571474"></a>Errors</h3></div></div></div>
|
||||
<a name="id2571470"></a>Errors</h3></div></div></div>
|
||||
<p>
|
||||
The processing of TSIG signed messages can result in
|
||||
several errors. If a signed message is sent to a non-TSIG aware
|
||||
@@ -657,7 +657,7 @@ allow-update { key host1-host2. ;};
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2571488"></a>TKEY</h2></div></div></div>
|
||||
<a name="id2571484"></a>TKEY</h2></div></div></div>
|
||||
<p><span><strong class="command">TKEY</strong></span>
|
||||
is a mechanism for automatically generating a shared secret
|
||||
between two hosts. There are several "modes" of
|
||||
@@ -693,7 +693,7 @@ allow-update { key host1-host2. ;};
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2571673"></a>SIG(0)</h2></div></div></div>
|
||||
<a name="id2571533"></a>SIG(0)</h2></div></div></div>
|
||||
<p>
|
||||
<acronym class="acronym">BIND</acronym> 9 partially supports DNSSEC SIG(0)
|
||||
transaction signatures as specified in RFC 2535 and RFC2931.
|
||||
@@ -754,7 +754,7 @@ allow-update { key host1-host2. ;};
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571741"></a>Generating Keys</h3></div></div></div>
|
||||
<a name="id2571738"></a>Generating Keys</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">dnssec-keygen</strong></span> program is used to
|
||||
generate keys.
|
||||
@@ -805,7 +805,7 @@ allow-update { key host1-host2. ;};
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571811"></a>Signing the Zone</h3></div></div></div>
|
||||
<a name="id2571808"></a>Signing the Zone</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">dnssec-signzone</strong></span> program is used
|
||||
to
|
||||
@@ -849,7 +849,7 @@ allow-update { key host1-host2. ;};
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2571890"></a>Configuring Servers</h3></div></div></div>
|
||||
<a name="id2571886"></a>Configuring Servers</h3></div></div></div>
|
||||
<p>
|
||||
To enable <span><strong class="command">named</strong></span> to respond appropriately
|
||||
to DNS requests from DNSSEC aware clients,
|
||||
@@ -937,7 +937,7 @@ options {
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2572033"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
|
||||
<a name="id2572029"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
|
||||
<p>
|
||||
<acronym class="acronym">BIND</acronym> 9 fully supports all currently
|
||||
defined forms of IPv6
|
||||
@@ -976,7 +976,7 @@ options {
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2572231"></a>Address Lookups Using AAAA Records</h3></div></div></div>
|
||||
<a name="id2572228"></a>Address Lookups Using AAAA Records</h3></div></div></div>
|
||||
<p>
|
||||
The IPv6 AAAA record is a parallel to the IPv4 A record,
|
||||
and, unlike the deprecated A6 record, specifies the entire
|
||||
@@ -995,7 +995,7 @@ host 3600 IN AAAA 2001:db8::1
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2572252"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
|
||||
<a name="id2572249"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
|
||||
<p>
|
||||
When looking up an address in nibble format, the address
|
||||
components are simply reversed, just as in IPv4, and
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch05.html,v 1.65 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch05.html,v 1.66 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -45,13 +45,13 @@
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572285">The Lightweight Resolver Library</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572282">The Lightweight Resolver Library</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2572285"></a>The Lightweight Resolver Library</h2></div></div></div>
|
||||
<a name="id2572282"></a>The Lightweight Resolver Library</h2></div></div></div>
|
||||
<p>
|
||||
Traditionally applications have been linked with a stub resolver
|
||||
library that sends recursive DNS queries to a local caching name
|
||||
|
||||
+91
-67
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch06.html,v 1.167 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch06.html,v 1.168 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -48,52 +48,52 @@
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573587">Comment Syntax</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573515">Comment Syntax</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574131"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574128"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574321"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574317"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574749"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574764"><span><strong class="command">include</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574746"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574761"><span><strong class="command">include</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574788"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574809"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575036"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575162"><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574785"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574806"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575033"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575159"><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576474"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576616"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576680"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576724"><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576471"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576613"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576677"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576721"><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576739"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576736"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585725"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585774"><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585830"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585879"><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585854"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585959"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
|
||||
Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587345"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587449"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589691">Zone File</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589864">Zone File</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591644">Discussion of MX Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591749">Discussion of MX Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592401">Inverse Mapping in IPv4</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592528">Other Zone File Directives</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592785"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592573">Inverse Mapping in IPv4</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592700">Other Zone File Directives</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592889"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
@@ -429,7 +429,7 @@
|
||||
<a name="address_match_lists"></a>Address Match Lists</h3></div></div></div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2573365"></a>Syntax</h4></div></div></div>
|
||||
<a name="id2573362"></a>Syntax</h4></div></div></div>
|
||||
<pre class="programlisting"><code class="varname">address_match_list</code> = address_match_list_element ;
|
||||
[<span class="optional"> address_match_list_element; ... </span>]
|
||||
<code class="varname">address_match_list_element</code> = [<span class="optional"> ! </span>] (ip_address [<span class="optional">/length</span>] |
|
||||
@@ -438,7 +438,7 @@
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2573393"></a>Definition and Usage</h4></div></div></div>
|
||||
<a name="id2573389"></a>Definition and Usage</h4></div></div></div>
|
||||
<p>
|
||||
Address match lists are primarily used to determine access
|
||||
control for various server operations. They are also used in
|
||||
@@ -522,7 +522,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2573587"></a>Comment Syntax</h3></div></div></div>
|
||||
<a name="id2573515"></a>Comment Syntax</h3></div></div></div>
|
||||
<p>
|
||||
The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for
|
||||
comments to appear
|
||||
@@ -532,7 +532,7 @@
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2573602"></a>Syntax</h4></div></div></div>
|
||||
<a name="id2573598"></a>Syntax</h4></div></div></div>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre>
|
||||
@@ -547,7 +547,7 @@
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2573632"></a>Definition and Usage</h4></div></div></div>
|
||||
<a name="id2573628"></a>Definition and Usage</h4></div></div></div>
|
||||
<p>
|
||||
Comments may appear anywhere that whitespace may appear in
|
||||
a <acronym class="acronym">BIND</acronym> configuration file.
|
||||
@@ -781,7 +781,7 @@
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574131"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2574128"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting"><span><strong class="command">acl</strong></span> acl-name {
|
||||
address_match_list
|
||||
};
|
||||
@@ -863,7 +863,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574321"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2574317"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting"><span><strong class="command">controls</strong></span> {
|
||||
[ inet ( ip_addr | * ) [ port ip_port ] allow { <em class="replaceable"><code> address_match_list </code></em> }
|
||||
keys { <em class="replaceable"><code>key_list</code></em> }; ]
|
||||
@@ -985,12 +985,12 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574749"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2574746"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting">include <em class="replaceable"><code>filename</code></em>;</pre>
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574764"></a><span><strong class="command">include</strong></span> Statement Definition and
|
||||
<a name="id2574761"></a><span><strong class="command">include</strong></span> Statement Definition and
|
||||
Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">include</strong></span> statement inserts the
|
||||
@@ -1005,7 +1005,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574788"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2574785"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting">key <em class="replaceable"><code>key_id</code></em> {
|
||||
algorithm <em class="replaceable"><code>string</code></em>;
|
||||
secret <em class="replaceable"><code>string</code></em>;
|
||||
@@ -1014,7 +1014,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2574809"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<a name="id2574806"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">key</strong></span> statement defines a shared
|
||||
secret key for use with TSIG (see <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
|
||||
@@ -1061,7 +1061,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2575036"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2575033"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting"><span><strong class="command">logging</strong></span> {
|
||||
[ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> {
|
||||
( <span><strong class="command">file</strong></span> <em class="replaceable"><code>path name</code></em>
|
||||
@@ -1085,7 +1085,7 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2575162"></a><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
<a name="id2575159"></a><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">logging</strong></span> statement configures a
|
||||
@@ -1119,7 +1119,7 @@
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2575214"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
|
||||
<a name="id2575211"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
|
||||
<p>
|
||||
All log output goes to one or more <span class="emphasis"><em>channels</em></span>;
|
||||
you can make as many of them as you want.
|
||||
@@ -1675,7 +1675,7 @@ category notify { null; };
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2576474"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2576471"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<p>
|
||||
This is the grammar of the <span><strong class="command">lwres</strong></span>
|
||||
statement in the <code class="filename">named.conf</code> file:
|
||||
@@ -1690,7 +1690,7 @@ category notify { null; };
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2576616"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<a name="id2576613"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">lwres</strong></span> statement configures the
|
||||
name
|
||||
@@ -1741,14 +1741,14 @@ category notify { null; };
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2576680"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2576677"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span><strong class="command">masters</strong></span> <em class="replaceable"><code>name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] };
|
||||
</pre>
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2576724"></a><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
<a name="id2576721"></a><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
Usage</h3></div></div></div>
|
||||
<p><span><strong class="command">masters</strong></span>
|
||||
lists allow for a common set of masters to be easily used by
|
||||
@@ -1757,7 +1757,7 @@ category notify { null; };
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2576739"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2576736"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<p>
|
||||
This is the grammar of the <span><strong class="command">options</strong></span>
|
||||
statement in the <code class="filename">named.conf</code> file:
|
||||
@@ -1917,6 +1917,7 @@ category notify { null; };
|
||||
[<span class="optional"> disable-empty-zone <em class="replaceable"><code>zone_name</code></em> ; </span>]
|
||||
[<span class="optional"> zero-no-soa-ttl <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
|
||||
[<span class="optional"> zero-no-soa-ttl-cache <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
|
||||
[<span class="optional"> stats-server address <font color="red"><replacable> ip_address </replacable></font> port <font color="red"><replacable> ip_port </replacable></font> ; </span>]
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
@@ -2872,7 +2873,7 @@ options {
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2580812"></a>Forwarding</h4></div></div></div>
|
||||
<a name="id2580887"></a>Forwarding</h4></div></div></div>
|
||||
<p>
|
||||
The forwarding facility can be used to create a large site-wide
|
||||
cache on a few servers, reducing traffic over links to external
|
||||
@@ -2916,7 +2917,7 @@ options {
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2581008"></a>Dual-stack Servers</h4></div></div></div>
|
||||
<a name="id2580946"></a>Dual-stack Servers</h4></div></div></div>
|
||||
<p>
|
||||
Dual-stack servers are used as servers of last resort to work
|
||||
around
|
||||
@@ -3112,7 +3113,7 @@ options {
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2581504"></a>Interfaces</h4></div></div></div>
|
||||
<a name="id2581510"></a>Interfaces</h4></div></div></div>
|
||||
<p>
|
||||
The interfaces and ports that the server will answer queries
|
||||
from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes
|
||||
@@ -3496,7 +3497,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2582538"></a>Bad UDP Port Lists</h4></div></div></div>
|
||||
<a name="id2582545"></a>Bad UDP Port Lists</h4></div></div></div>
|
||||
<p><span><strong class="command">avoid-v4-udp-ports</strong></span>
|
||||
and <span><strong class="command">avoid-v6-udp-ports</strong></span> specify a list
|
||||
of IPv4 and IPv6 UDP ports that will not be used as system
|
||||
@@ -3510,7 +3511,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2582553"></a>Operating System Resource Limits</h4></div></div></div>
|
||||
<a name="id2582560"></a>Operating System Resource Limits</h4></div></div></div>
|
||||
<p>
|
||||
The server's usage of many system resources can be limited.
|
||||
Scaled values are allowed when specifying resource limits. For
|
||||
@@ -3569,7 +3570,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2582668"></a>Server Resource Limits</h4></div></div></div>
|
||||
<a name="id2582675"></a>Server Resource Limits</h4></div></div></div>
|
||||
<p>
|
||||
The following options set limits on the server's
|
||||
resource consumption that are enforced internally by the
|
||||
@@ -3645,7 +3646,30 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2582870"></a>Periodic Task Intervals</h4></div></div></div>
|
||||
<a name="id2582808"></a>Statistics Server</h4></div></div></div>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><span><strong class="command">stats-server</strong></span></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Start a HTTP-based statistics server on the given IP address and port.
|
||||
At this time, no client authentication is performed.
|
||||
Using the IPv4 wildcard address (0.0.0.0) will cause the stats-server to listen
|
||||
on all available IP addresses. Listing a single address (10.1.2.3) will listen
|
||||
only on that address. Please use a caution in enabling this option and limit
|
||||
connections to it via standard firewall techniques.
|
||||
</p>
|
||||
<p>
|
||||
At this time, the stats-server can only listen on one IP address and port, or on all addresses.
|
||||
</p>
|
||||
<p>
|
||||
This option requires that BIND 9 be compiled with libxml2.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2582838"></a>Periodic Task Intervals</h4></div></div></div>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt>
|
||||
<dd><p>
|
||||
@@ -4725,7 +4749,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2585725"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<a name="id2585830"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
|
||||
<pre class="programlisting">trusted-keys {
|
||||
<em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ;
|
||||
[<span class="optional"> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>]
|
||||
@@ -4734,7 +4758,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2585774"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
<a name="id2585879"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
and Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">trusted-keys</strong></span> statement defines
|
||||
@@ -4777,7 +4801,7 @@ query-source-v6 address * port *;
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2585854"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<a name="id2585959"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<p>
|
||||
The <span><strong class="command">view</strong></span> statement is a powerful
|
||||
feature
|
||||
@@ -5036,10 +5060,10 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2587345"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<a name="id2587449"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2587352"></a>Zone Types</h4></div></div></div>
|
||||
<a name="id2587457"></a>Zone Types</h4></div></div></div>
|
||||
<div class="informaltable"><table border="1">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -5248,7 +5272,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2587840"></a>Class</h4></div></div></div>
|
||||
<a name="id2587944"></a>Class</h4></div></div></div>
|
||||
<p>
|
||||
The zone's name may optionally be followed by a class. If
|
||||
a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
|
||||
@@ -5270,7 +5294,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2587941"></a>Zone Options</h4></div></div></div>
|
||||
<a name="id2587977"></a>Zone Options</h4></div></div></div>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
|
||||
<dd><p>
|
||||
@@ -5771,7 +5795,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2589691"></a>Zone File</h2></div></div></div>
|
||||
<a name="id2589864"></a>Zone File</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div>
|
||||
@@ -5784,7 +5808,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2589778"></a>Resource Records</h4></div></div></div>
|
||||
<a name="id2589882"></a>Resource Records</h4></div></div></div>
|
||||
<p>
|
||||
A domain name identifies a node. Each node has a set of
|
||||
resource information, which may be empty. The set of resource
|
||||
@@ -6435,7 +6459,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2591124"></a>Textual expression of RRs</h4></div></div></div>
|
||||
<a name="id2591297"></a>Textual expression of RRs</h4></div></div></div>
|
||||
<p>
|
||||
RRs are represented in binary form in the packets of the DNS
|
||||
protocol, and are usually represented in highly encoded form
|
||||
@@ -6638,7 +6662,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2591644"></a>Discussion of MX Records</h3></div></div></div>
|
||||
<a name="id2591749"></a>Discussion of MX Records</h3></div></div></div>
|
||||
<p>
|
||||
As described above, domain servers store information as a
|
||||
series of resource records, each of which contains a particular
|
||||
@@ -6896,7 +6920,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2592401"></a>Inverse Mapping in IPv4</h3></div></div></div>
|
||||
<a name="id2592573"></a>Inverse Mapping in IPv4</h3></div></div></div>
|
||||
<p>
|
||||
Reverse name resolution (that is, translation from IP address
|
||||
to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain
|
||||
@@ -6957,7 +6981,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2592528"></a>Other Zone File Directives</h3></div></div></div>
|
||||
<a name="id2592700"></a>Other Zone File Directives</h3></div></div></div>
|
||||
<p>
|
||||
The Master File Format was initially defined in RFC 1035 and
|
||||
has subsequently been extended. While the Master File Format
|
||||
@@ -6972,7 +6996,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
|
||||
</p>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2592550"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
|
||||
<a name="id2592723"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
|
||||
<p>
|
||||
Syntax: <span><strong class="command">$ORIGIN</strong></span>
|
||||
<em class="replaceable"><code>domain-name</code></em>
|
||||
@@ -7000,7 +7024,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2592611"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
|
||||
<a name="id2592784"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
|
||||
<p>
|
||||
Syntax: <span><strong class="command">$INCLUDE</strong></span>
|
||||
<em class="replaceable"><code>filename</code></em>
|
||||
@@ -7036,7 +7060,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
|
||||
</div>
|
||||
<div class="sect3" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2592748"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
|
||||
<a name="id2592853"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
|
||||
<p>
|
||||
Syntax: <span><strong class="command">$TTL</strong></span>
|
||||
<em class="replaceable"><code>default-ttl</code></em>
|
||||
@@ -7055,7 +7079,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2592785"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
|
||||
<a name="id2592889"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
|
||||
<p>
|
||||
Syntax: <span><strong class="command">$GENERATE</strong></span>
|
||||
<em class="replaceable"><code>range</code></em>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch07.html,v 1.151 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch07.html,v 1.152 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -46,10 +46,10 @@
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593400"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593436"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593545">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593605">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593581">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593641">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
|
||||
</dl>
|
||||
@@ -119,7 +119,7 @@ zone "example.com" {
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2593400"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
|
||||
<a name="id2593436"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym> in a <span class="emphasis"><em>chrooted</em></span> environment
|
||||
@@ -143,7 +143,7 @@ zone "example.com" {
|
||||
</p>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2593545"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
|
||||
<a name="id2593581"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
|
||||
<p>
|
||||
In order for a <span><strong class="command">chroot</strong></span> environment
|
||||
to
|
||||
@@ -171,7 +171,7 @@ zone "example.com" {
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2593605"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
|
||||
<a name="id2593641"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
|
||||
<p>
|
||||
Prior to running the <span><strong class="command">named</strong></span> daemon,
|
||||
use
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch08.html,v 1.152 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch08.html,v 1.153 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -45,18 +45,18 @@
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593685">Common Problems</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593690">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593702">Incrementing and Changing the Serial Number</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593719">Where Can I Get Help?</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593721">Common Problems</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593795">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593806">Incrementing and Changing the Serial Number</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593824">Where Can I Get Help?</a></span></dt>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2593685"></a>Common Problems</h2></div></div></div>
|
||||
<a name="id2593721"></a>Common Problems</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2593690"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
|
||||
<a name="id2593795"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
|
||||
<p>
|
||||
The best solution to solving installation and
|
||||
configuration issues is to take preventative measures by setting
|
||||
@@ -68,7 +68,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2593702"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
|
||||
<a name="id2593806"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
|
||||
<p>
|
||||
Zone serial numbers are just numbers — they aren't
|
||||
date related. A lot of people set them to a number that
|
||||
@@ -95,7 +95,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2593719"></a>Where Can I Get Help?</h2></div></div></div>
|
||||
<a name="id2593824"></a>Where Can I Get Help?</h2></div></div></div>
|
||||
<p>
|
||||
The Internet Systems Consortium
|
||||
(<acronym class="acronym">ISC</acronym>) offers a wide range
|
||||
|
||||
+90
-90
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.ch09.html,v 1.153 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.ch09.html,v 1.154 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -45,21 +45,21 @@
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593849">Acknowledgments</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593954">Acknowledgments</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2594021">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2594057">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597369">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597474">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2593849"></a>Acknowledgments</h2></div></div></div>
|
||||
<a name="id2593954"></a>Acknowledgments</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym>
|
||||
@@ -164,7 +164,7 @@
|
||||
</div>
|
||||
<div class="sect1" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id2594021"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
|
||||
<a name="id2594057"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div>
|
||||
@@ -252,17 +252,17 @@
|
||||
</p>
|
||||
<div class="bibliography">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2594209"></a>Bibliography</h4></div></div></div>
|
||||
<a name="id2594313"></a>Bibliography</h4></div></div></div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">Standards</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594219"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
|
||||
<a name="id2594324"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594243"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
|
||||
<a name="id2594347"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594266"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Implementation and
|
||||
<a name="id2594371"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Implementation and
|
||||
Specification</i>. </span><span class="pubdate">November 1987. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -270,42 +270,42 @@
|
||||
<h3 class="title">
|
||||
<a name="proposed_standards"></a>Proposed Standards</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594302"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
|
||||
<a name="id2594407"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
|
||||
Specification</i>. </span><span class="pubdate">July 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594329"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
|
||||
<a name="id2594434"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
|
||||
Queries</i>. </span><span class="pubdate">March 1998. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594355"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
<a name="id2594459"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594379"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
<a name="id2594552"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594403"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
|
||||
<a name="id2594576"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594526"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
|
||||
<a name="id2594631"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594553"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
|
||||
<a name="id2594658"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594580"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
|
||||
<a name="id2594684"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594642"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
<a name="id2594746"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594672"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
<a name="id2594776"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594701"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
|
||||
<a name="id2594806"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594728"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
|
||||
<a name="id2594833"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
|
||||
Key Transaction Authentication for DNS
|
||||
(GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p>
|
||||
</div>
|
||||
@@ -314,19 +314,19 @@
|
||||
<h3 class="title">
|
||||
<acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594810"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
|
||||
<a name="id2594915"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594837"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
|
||||
<a name="id2594941"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594873"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
|
||||
<a name="id2594978"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2594938"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
|
||||
<a name="id2595043"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595003"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
|
||||
<a name="id2595108"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
|
||||
Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -334,146 +334,146 @@
|
||||
<h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym>
|
||||
Implementation</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595077"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
|
||||
<a name="id2595181"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
|
||||
Deployed <acronym class="acronym">DNS</acronym> Software.</i>. </span><span class="pubdate">October 1993. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595102"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
|
||||
<a name="id2595207"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
|
||||
Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595171"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
<a name="id2595275"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595206"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
|
||||
<a name="id2595310"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
|
||||
Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">Resource Record Types</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595252"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
|
||||
<a name="id2595356"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595309"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
|
||||
<a name="id2595482"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595347"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
|
||||
<a name="id2595520"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
|
||||
the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595450"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
|
||||
<a name="id2595555"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
|
||||
Domain
|
||||
Name System</i>. </span><span class="pubdate">January 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595505"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
|
||||
<a name="id2595609"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
|
||||
Location of
|
||||
Services.</i>. </span><span class="pubdate">October 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595543"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
|
||||
<a name="id2595648"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
|
||||
Distribute MIXER
|
||||
Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595569"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
|
||||
<a name="id2595673"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595594"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2595699"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595621"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2595725"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595648"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2595752"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595687"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2595792"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595717"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2595821"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595747"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
|
||||
<a name="id2595851"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595789"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
<a name="id2595894"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595822"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
|
||||
<a name="id2595927"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595849"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
|
||||
<a name="id2595954"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595873"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
|
||||
<a name="id2595977"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
|
||||
version 6</i>. </span><span class="pubdate">October 2003. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595930"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
|
||||
<a name="id2596035"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">
|
||||
<acronym class="acronym">DNS</acronym> and the Internet</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595962"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
|
||||
<a name="id2596067"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
|
||||
and Other Types</i>. </span><span class="pubdate">April 1989. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2595988"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
|
||||
<a name="id2596092"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
|
||||
Support</i>. </span><span class="pubdate">October 1989. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596010"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
|
||||
<a name="id2596115"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596034"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
|
||||
<a name="id2596138"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596080"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
|
||||
<a name="id2596184"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596103"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
<a name="id2596208"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">
|
||||
<acronym class="acronym">DNS</acronym> Operations</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596161"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p>
|
||||
<a name="id2596265"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596184"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
|
||||
<a name="id2596289"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
|
||||
Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596211"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
|
||||
<a name="id2596315"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
|
||||
Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596237"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p>
|
||||
<a name="id2596342"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596274"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
|
||||
<a name="id2596378"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
|
||||
Network Services.</i>. </span><span class="pubdate">October 1997. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">Internationalized Domain Names</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596320"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
|
||||
<a name="id2596424"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
|
||||
and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596352"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
|
||||
<a name="id2596456"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596397"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
|
||||
<a name="id2596502"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596433"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
|
||||
<a name="id2596537"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
|
||||
for Internationalized Domain Names in
|
||||
Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
|
||||
</div>
|
||||
@@ -489,47 +489,47 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596477"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
|
||||
<a name="id2596582"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
|
||||
Attributes</i>. </span><span class="pubdate">May 1993. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596500"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
|
||||
<a name="id2596673"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596594"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
|
||||
<a name="id2596698"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
|
||||
Balancing</i>. </span><span class="pubdate">April 1995. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596619"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
|
||||
<a name="id2596724"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596643"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
|
||||
<a name="id2596747"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596689"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
|
||||
<a name="id2596793"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596712"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
|
||||
<a name="id2596817"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596739"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
|
||||
<a name="id2596843"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
|
||||
Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596764"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
|
||||
<a name="id2596869"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bibliodiv">
|
||||
<h3 class="title">Obsolete and Unimplemented Experimental RFC</h3>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596808"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
|
||||
<a name="id2596913"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
|
||||
Location</i>. </span><span class="pubdate">November 1994. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596934"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
|
||||
<a name="id2597038"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2596961"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
|
||||
<a name="id2597065"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
|
||||
and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -543,39 +543,39 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597009"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
|
||||
<a name="id2597113"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597048"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
|
||||
<a name="id2597153"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597075"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
<a name="id2597179"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597105"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
|
||||
<a name="id2597209"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
|
||||
Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597130"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
|
||||
<a name="id2597235"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597157"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
|
||||
<a name="id2597261"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597193"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
|
||||
<a name="id2597298"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597229"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
|
||||
<a name="id2597334"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597256"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
|
||||
<a name="id2597361"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597283"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
|
||||
<a name="id2597387"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
|
||||
(RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p>
|
||||
</div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597328"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
|
||||
<a name="id2597432"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -596,14 +596,14 @@
|
||||
</div>
|
||||
<div class="sect2" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="id2597369"></a>Other Documents About <acronym class="acronym">BIND</acronym>
|
||||
<a name="id2597474"></a>Other Documents About <acronym class="acronym">BIND</acronym>
|
||||
</h3></div></div></div>
|
||||
<p></p>
|
||||
<div class="bibliography">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="id2597379"></a>Bibliography</h4></div></div></div>
|
||||
<a name="id2597483"></a>Bibliography</h4></div></div></div>
|
||||
<div class="biblioentry">
|
||||
<a name="id2597381"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
|
||||
<a name="id2597485"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+73
-73
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: Bv9ARM.html,v 1.163 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: Bv9ARM.html,v 1.164 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class="titlepage">
|
||||
<div>
|
||||
<div><h1 class="title">
|
||||
<a name="id2563155"></a>BIND 9 Administrator Reference Manual</h1></div>
|
||||
<a name="id2563403"></a>BIND 9 Administrator Reference Manual</h1></div>
|
||||
<div><p class="copyright">Copyright © 2004-2007 Internet Systems Consortium, Inc. ("ISC")</p></div>
|
||||
<div><p class="copyright">Copyright © 2000-2003 Internet Software Consortium.</p></div>
|
||||
</div>
|
||||
@@ -51,39 +51,39 @@
|
||||
<dl>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch01.html">1. Introduction</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564117">Scope of Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564140">Organization of This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563474">Conventions Used in This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564816">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564106">Scope of Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564130">Organization of This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563470">Conventions Used in This Document</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564812">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564837">DNS Fundamentals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564871">Domains and Domain Names</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567208">Zones</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567285">Authoritative Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567526">Caching Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567588">Name Servers in Multiple Roles</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564834">DNS Fundamentals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564868">Domains and Domain Names</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567205">Zones</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567282">Authoritative Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567523">Caching Name Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567585">Name Servers in Multiple Roles</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch02.html">2. <acronym class="acronym">BIND</acronym> Resource Requirements</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567622">Hardware requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567649">CPU Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567661">Memory Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567688">Name Server Intensive Environment Issues</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567699">Supported Operating Systems</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567619">Hardware requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567714">CPU Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567726">Memory Requirements</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567753">Name Server Intensive Environment Issues</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567764">Supported Operating Systems</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch03.html">3. Name Server Configuration</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#sample_configuration">Sample Configurations</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568004">A Caching-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568020">An Authoritative-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568001">A Caching-only Name Server</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568017">An Authoritative-only Name Server</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568042">Load Balancing</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568465">Name Server Operations</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568039">Load Balancing</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568461">Name Server Operations</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568470">Tools for Use With the Name Server Daemon</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570184">Signals</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568467">Tools for Use With the Name Server Daemon</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570181">Signals</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch04.html">4. Advanced DNS Features</a></span></dt>
|
||||
@@ -92,34 +92,34 @@
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570658">Split DNS</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570676">Example split DNS setup</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570654">Split DNS</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570673">Example split DNS setup</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571111">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571185">Copying the Shared Secret to Both Machines</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571195">Informing the Servers of the Key's Existence</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571235">Instructing the Server to Use the Key</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571429">TSIG Key Based Access Control</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571474">Errors</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571108">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571181">Copying the Shared Secret to Both Machines</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571192">Informing the Servers of the Key's Existence</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571232">Instructing the Server to Use the Key</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571426">TSIG Key Based Access Control</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571470">Errors</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571488">TKEY</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571673">SIG(0)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571484">TKEY</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571533">SIG(0)</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571741">Generating Keys</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571811">Signing the Zone</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571890">Configuring Servers</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571738">Generating Keys</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571808">Signing the Zone</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571886">Configuring Servers</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572033">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572029">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572231">Address Lookups Using AAAA Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572252">Address to Name Lookups Using Nibble Format</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572228">Address Lookups Using AAAA Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572249">Address to Name Lookups Using Nibble Format</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch05.html">5. The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572285">The Lightweight Resolver Library</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572282">The Lightweight Resolver Library</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch06.html">6. <acronym class="acronym">BIND</acronym> 9 Configuration Reference</a></span></dt>
|
||||
@@ -127,83 +127,83 @@
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573587">Comment Syntax</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573515">Comment Syntax</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574131"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574128"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574321"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574317"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574749"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574764"><span><strong class="command">include</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574746"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574761"><span><strong class="command">include</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574788"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574809"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575036"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575162"><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574785"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574806"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575033"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575159"><span><strong class="command">logging</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576474"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576616"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576680"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576724"><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576471"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576613"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576677"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576721"><span><strong class="command">masters</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576739"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576736"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
|
||||
Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585725"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585774"><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585830"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585879"><span><strong class="command">trusted-keys</strong></span> Statement Definition
|
||||
and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585854"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585959"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
|
||||
Statement Grammar</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587345"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587449"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589691">Zone File</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589864">Zone File</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591644">Discussion of MX Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591749">Discussion of MX Records</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592401">Inverse Mapping in IPv4</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592528">Other Zone File Directives</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592785"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592573">Inverse Mapping in IPv4</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592700">Other Zone File Directives</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592889"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch07.html">7. <acronym class="acronym">BIND</acronym> 9 Security Considerations</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593400"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593436"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593545">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593605">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593581">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593641">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="chapter"><a href="Bv9ARM.ch08.html">8. Troubleshooting</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593685">Common Problems</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593690">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593702">Incrementing and Changing the Serial Number</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593719">Where Can I Get Help?</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593721">Common Problems</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593795">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593806">Incrementing and Changing the Serial Number</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593824">Where Can I Get Help?</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593849">Acknowledgments</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593954">Acknowledgments</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2594021">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2594057">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
|
||||
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
|
||||
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597369">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
|
||||
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597474">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></dd>
|
||||
<dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt>
|
||||
|
||||
+10
-10
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.dig.html,v 1.59 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: man.dig.html,v 1.60 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2563892"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2563928"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
(domain information groper) is a flexible tool
|
||||
for interrogating DNS name servers. It performs DNS lookups and
|
||||
@@ -98,7 +98,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2563980"></a><h2>SIMPLE USAGE</h2>
|
||||
<a name="id2564017"></a><h2>SIMPLE USAGE</h2>
|
||||
<p>
|
||||
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
|
||||
</p>
|
||||
@@ -144,7 +144,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2569689"></a><h2>OPTIONS</h2>
|
||||
<a name="id2569862"></a><h2>OPTIONS</h2>
|
||||
<p>
|
||||
The <code class="option">-b</code> option sets the source IP address of the query
|
||||
to <em class="parameter"><code>address</code></em>. This must be a valid
|
||||
@@ -244,7 +244,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2623748"></a><h2>QUERY OPTIONS</h2>
|
||||
<a name="id2650203"></a><h2>QUERY OPTIONS</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
provides a number of query options which affect
|
||||
the way in which lookups are made and the results displayed. Some of
|
||||
@@ -563,7 +563,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2650949"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<a name="id2651122"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<p>
|
||||
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
|
||||
supports
|
||||
@@ -609,7 +609,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2651171"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2651275"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -623,14 +623,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2651200"></a><h2>FILES</h2>
|
||||
<a name="id2651304"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
<p><code class="filename">${HOME}/.digrc</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2651221"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2651325"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
@@ -638,7 +638,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2651258"></a><h2>BUGS</h2>
|
||||
<a name="id2651363"></a><h2>BUGS</h2>
|
||||
<p>
|
||||
There are probably too many query options.
|
||||
</p>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.dnssec-keygen.html,v 1.59 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: man.dnssec-keygen.html,v 1.60 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2598448"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2598620"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-keygen</strong></span>
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034. It can also generate keys for use with
|
||||
@@ -58,7 +58,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2598461"></a><h2>OPTIONS</h2>
|
||||
<a name="id2598634"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd>
|
||||
@@ -166,7 +166,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2599010"></a><h2>GENERATED KEYS</h2>
|
||||
<a name="id2599114"></a><h2>GENERATED KEYS</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keygen</strong></span> completes
|
||||
successfully,
|
||||
@@ -212,7 +212,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600756"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2600860"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
To generate a 768-bit DSA key for the domain
|
||||
<strong class="userinput"><code>example.com</code></strong>, the following command would be
|
||||
@@ -233,7 +233,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600812"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2600917"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2535</em>,
|
||||
@@ -242,7 +242,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600843"></a><h2>AUTHOR</h2>
|
||||
<a name="id2600948"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.dnssec-signzone.html,v 1.57 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: man.dnssec-signzone.html,v 1.58 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2599577"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2599886"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-signzone</strong></span>
|
||||
signs a zone. It generates
|
||||
NSEC and RRSIG records and produces a signed version of the
|
||||
@@ -61,7 +61,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2599596"></a><h2>OPTIONS</h2>
|
||||
<a name="id2599906"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a</span></dt>
|
||||
<dd><p>
|
||||
@@ -259,7 +259,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2624380"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2622164"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
The following command signs the <strong class="userinput"><code>example.com</code></strong>
|
||||
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
|
||||
@@ -288,14 +288,14 @@ db.example.com.signed
|
||||
%</pre>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2653603"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2653776"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2535</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2653627"></a><h2>AUTHOR</h2>
|
||||
<a name="id2653800"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.host.html,v 1.57 2007/10/31 01:36:30 marka Exp $ -->
|
||||
<!-- $Id: man.host.html,v 1.58 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2597686"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2597722"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">host</strong></span>
|
||||
is a simple utility for performing DNS lookups.
|
||||
It is normally used to convert names to IP addresses and vice versa.
|
||||
@@ -202,7 +202,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2598132"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2598236"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -216,12 +216,12 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2598161"></a><h2>FILES</h2>
|
||||
<a name="id2598265"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2598174"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2598279"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
|
||||
</p>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.named-checkconf.html,v 1.56 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.named-checkconf.html,v 1.57 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,14 +50,14 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600116"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2600220"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named-checkconf</strong></span>
|
||||
checks the syntax, but not the semantics, of a named
|
||||
configuration file.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600130"></a><h2>OPTIONS</h2>
|
||||
<a name="id2600234"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
@@ -92,21 +92,21 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600246"></a><h2>RETURN VALUES</h2>
|
||||
<a name="id2600350"></a><h2>RETURN VALUES</h2>
|
||||
<p><span><strong class="command">named-checkconf</strong></span>
|
||||
returns an exit status of 1 if
|
||||
errors were detected and 0 otherwise.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600260"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2600364"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2600290"></a><h2>AUTHOR</h2>
|
||||
<a name="id2600394"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.named-checkzone.html,v 1.62 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.named-checkzone.html,v 1.63 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2601303"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2602227"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
checks the syntax and integrity of a zone file. It performs the
|
||||
same checks as <span><strong class="command">named</strong></span> does when loading a
|
||||
@@ -71,7 +71,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2601353"></a><h2>OPTIONS</h2>
|
||||
<a name="id2602277"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-d</span></dt>
|
||||
<dd><p>
|
||||
@@ -257,14 +257,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2656022"></a><h2>RETURN VALUES</h2>
|
||||
<a name="id2656058"></a><h2>RETURN VALUES</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
returns an exit status of 1 if
|
||||
errors were detected and 0 otherwise.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2656036"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2656072"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -272,7 +272,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2656069"></a><h2>AUTHOR</h2>
|
||||
<a name="id2656105"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.named.html,v 1.61 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.named.html,v 1.62 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2601926"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2601484"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named</strong></span>
|
||||
is a Domain Name System (DNS) server,
|
||||
part of the BIND 9 distribution from ISC. For more
|
||||
@@ -65,7 +65,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2601957"></a><h2>OPTIONS</h2>
|
||||
<a name="id2601515"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-4</span></dt>
|
||||
<dd><p>
|
||||
@@ -209,7 +209,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2602504"></a><h2>SIGNALS</h2>
|
||||
<a name="id2603496"></a><h2>SIGNALS</h2>
|
||||
<p>
|
||||
In routine operation, signals should not be used to control
|
||||
the nameserver; <span><strong class="command">rndc</strong></span> should be used
|
||||
@@ -230,7 +230,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604944"></a><h2>CONFIGURATION</h2>
|
||||
<a name="id2603546"></a><h2>CONFIGURATION</h2>
|
||||
<p>
|
||||
The <span><strong class="command">named</strong></span> configuration file is too complex
|
||||
to describe in detail here. A complete description is provided
|
||||
@@ -239,7 +239,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604963"></a><h2>FILES</h2>
|
||||
<a name="id2605477"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -252,7 +252,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2605006"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2605521"></a><h2>SEE ALSO</h2>
|
||||
<p><em class="citetitle">RFC 1033</em>,
|
||||
<em class="citetitle">RFC 1034</em>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -265,7 +265,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2605282"></a><h2>AUTHOR</h2>
|
||||
<a name="id2605591"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.rndc-confgen.html,v 1.63 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.rndc-confgen.html,v 1.64 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -48,7 +48,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604628"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2606439"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">rndc-confgen</strong></span>
|
||||
generates configuration files
|
||||
for <span><strong class="command">rndc</strong></span>. It can be used as a
|
||||
@@ -64,7 +64,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604694"></a><h2>OPTIONS</h2>
|
||||
<a name="id2606505"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a</span></dt>
|
||||
<dd>
|
||||
@@ -171,7 +171,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2607333"></a><h2>EXAMPLES</h2>
|
||||
<a name="id2607164"></a><h2>EXAMPLES</h2>
|
||||
<p>
|
||||
To allow <span><strong class="command">rndc</strong></span> to be used with
|
||||
no manual configuration, run
|
||||
@@ -188,7 +188,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2607799"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2607221"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
@@ -196,7 +196,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2607837"></a><h2>AUTHOR</h2>
|
||||
<a name="id2609444"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.rndc.conf.html,v 1.64 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.rndc.conf.html,v 1.65 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603668"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2605001"></a><h2>DESCRIPTION</h2>
|
||||
<p><code class="filename">rndc.conf</code> is the configuration file
|
||||
for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control
|
||||
utility. This file has a similar structure and syntax to
|
||||
@@ -135,7 +135,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603976"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2605173"></a><h2>EXAMPLE</h2>
|
||||
<pre class="programlisting">
|
||||
options {
|
||||
default-server localhost;
|
||||
@@ -209,7 +209,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604098"></a><h2>NAME SERVER CONFIGURATION</h2>
|
||||
<a name="id2605909"></a><h2>NAME SERVER CONFIGURATION</h2>
|
||||
<p>
|
||||
The name server must be configured to accept rndc connections and
|
||||
to recognize the key specified in the <code class="filename">rndc.conf</code>
|
||||
@@ -219,7 +219,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604123"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2605934"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>,
|
||||
@@ -227,7 +227,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2604162"></a><h2>AUTHOR</h2>
|
||||
<a name="id2605973"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: man.rndc.html,v 1.62 2007/10/31 01:36:29 marka Exp $ -->
|
||||
<!-- $Id: man.rndc.html,v 1.63 2007/11/26 01:35:18 marka Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603024"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2603947"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">rndc</strong></span>
|
||||
controls the operation of a name
|
||||
server. It supersedes the <span><strong class="command">ndc</strong></span> utility
|
||||
@@ -79,7 +79,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603074"></a><h2>OPTIONS</h2>
|
||||
<a name="id2603997"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -151,7 +151,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603504"></a><h2>LIMITATIONS</h2>
|
||||
<a name="id2604291"></a><h2>LIMITATIONS</h2>
|
||||
<p><span><strong class="command">rndc</strong></span>
|
||||
does not yet support all the commands of
|
||||
the BIND 8 <span><strong class="command">ndc</strong></span> utility.
|
||||
@@ -165,7 +165,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603534"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2604663"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
|
||||
@@ -174,7 +174,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2603581"></a><h2>AUTHOR</h2>
|
||||
<a name="id2604710"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,896 @@
|
||||
|
||||
|
||||
|
||||
DNS Extensions Working Group S. Rose
|
||||
Internet-Draft NIST
|
||||
Intended status: Standards Track W. Wijngaards
|
||||
Expires: May 17, 2008 NLnet Labs
|
||||
November 14, 2007
|
||||
|
||||
|
||||
Update to DNAME Redirection in the DNS
|
||||
draft-ietf-dnsext-rfc2672bis-dname-06
|
||||
|
||||
Status of This Memo
|
||||
|
||||
By submitting this Internet-Draft, each author represents that any
|
||||
applicable patent or other IPR claims of which he or she is aware
|
||||
have been or will be disclosed, and any of which he or she becomes
|
||||
aware will be disclosed, in accordance with Section 6 of BCP 79.
|
||||
|
||||
Internet-Drafts are working documents of the Internet Engineering
|
||||
Task Force (IETF), its areas, and its working groups. Note that
|
||||
other groups may also distribute working documents as Internet-
|
||||
Drafts.
|
||||
|
||||
Internet-Drafts are draft documents valid for a maximum of six months
|
||||
and may be updated, replaced, or obsoleted by other documents at any
|
||||
time. It is inappropriate to use Internet-Drafts as reference
|
||||
material or to cite them other than as "work in progress."
|
||||
|
||||
The list of current Internet-Drafts can be accessed at
|
||||
http://www.ietf.org/ietf/1id-abstracts.txt.
|
||||
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html.
|
||||
|
||||
This Internet-Draft will expire on May 17, 2008.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
Abstract
|
||||
|
||||
The DNAME record provides redirection for a sub-tree of the domain
|
||||
name tree in the DNS system. That is, all names that end with a
|
||||
particular suffix are redirected to another part of the DNS. This is
|
||||
an update to the original specification in RFC 2672.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 1]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
Requirements Language
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
document are to be interpreted as described in RFC 2119 [RFC2119].
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
|
||||
2. The DNAME Resource Record . . . . . . . . . . . . . . . . . . 3
|
||||
2.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
2.2. The DNAME Substitution . . . . . . . . . . . . . . . . . . 4
|
||||
2.3. DNAME Apex not Redirected itself . . . . . . . . . . . . . 5
|
||||
2.4. Names Next to and Below a DNAME Record . . . . . . . . . . 5
|
||||
2.5. Compression of the DNAME record. . . . . . . . . . . . . . 6
|
||||
|
||||
3. Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
3.1. Wildcards . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
3.2. CNAME synthesis . . . . . . . . . . . . . . . . . . . . . 7
|
||||
3.3. Acceptance and Intermediate Storage . . . . . . . . . . . 7
|
||||
3.4. Server algorithm . . . . . . . . . . . . . . . . . . . . . 8
|
||||
|
||||
4. DNAME Discussions in Other Documents . . . . . . . . . . . . . 10
|
||||
|
||||
5. Other Issues with DNAME . . . . . . . . . . . . . . . . . . . 11
|
||||
5.1. MX, NS and PTR Records Must Point to Target of DNAME . . . 11
|
||||
5.2. Dynamic Update and DNAME . . . . . . . . . . . . . . . . . 11
|
||||
5.3. DNSSEC and DNAME . . . . . . . . . . . . . . . . . . . . . 11
|
||||
5.3.1. DNAME bit in NSEC type map . . . . . . . . . . . . . . 11
|
||||
5.3.2. Validators Must Understand DNAME . . . . . . . . . . . 12
|
||||
5.3.2.1. DNAME in Bitmap Causes Invalid Name Error . . . . 12
|
||||
5.3.2.2. Valid Name Error Response Involving DNAME in
|
||||
Bitmap . . . . . . . . . . . . . . . . . . . . . . 12
|
||||
5.3.2.3. Response With Synthesized CNAME . . . . . . . . . 12
|
||||
|
||||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
|
||||
|
||||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
|
||||
|
||||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
|
||||
|
||||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
|
||||
9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
|
||||
9.2. Informative References . . . . . . . . . . . . . . . . . . 14
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 2]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
DNAME is a DNS Resource Record type. DNAME provides redirection from
|
||||
a part of the DNS name tree to another part of the DNS name tree.
|
||||
|
||||
Take for example, looking through a zone (see RFC 1034 [RFC1034],
|
||||
section 4.3.2, step 3) for the domain name "foo.example.com" and a
|
||||
DNAME resource record is found at "example.com" indicating that all
|
||||
queries under "example.com" be directed to "example.net". The lookup
|
||||
process will return to step 1 with the new query name of
|
||||
"foo.example.net". Had the query name been "www.foo.example.com" the
|
||||
new query name would be "www.foo.example.net".
|
||||
|
||||
The DNAME RR is similar to the CNAME RR in that it provides
|
||||
redirection. The CNAME RR only provides redirection for exactly one
|
||||
name while the DNAME RR provides redirection for all names in a sub-
|
||||
tree of the DNS name tree.
|
||||
|
||||
This document is an update to the original specification of DNAME in
|
||||
RFC 2672 [RFC2672]. DNAME was conceived to help with the problem of
|
||||
maintaining address-to-name mappings in a context of network
|
||||
renumbering. With a careful set-up, a renumbering event in the
|
||||
network causes no change to the authoritative server that has the
|
||||
address-to-name mappings. Examples in practice are classless reverse
|
||||
address space delegations and punycode alternates for domain spaces.
|
||||
|
||||
Another usage of DNAME lies in redirection of name spaces. For
|
||||
example, a zone administrator may want sub-trees of the DNS to
|
||||
contain the same information. DNAME is also used for redirection of
|
||||
ENUM domains to another maintaining party.
|
||||
|
||||
This update to DNAME does not change the wire format or the handling
|
||||
of DNAME Resource Records by existing software. A new UD (Understand
|
||||
Dname) bit in the EDNS flags field can be used to signal that CNAME
|
||||
synthesis is not needed. Discussion is added on problems that may be
|
||||
encountered when using DNAME.
|
||||
|
||||
2. The DNAME Resource Record
|
||||
|
||||
2.1. Format
|
||||
|
||||
The DNAME RR has mnemonic DNAME and type code 39 (decimal).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 3]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
The format of the DNAME record has not changed from the original
|
||||
specification in RFC 2672. DNAME has the following format:
|
||||
|
||||
<owner> <ttl> <class> DNAME <target>
|
||||
|
||||
The format is not class-sensitive. All fields are required. The
|
||||
RDATA field target is a domain name. The RDATA field target name
|
||||
MUST be sent uncompressed [RFC3597].
|
||||
|
||||
The DNAME RR causes type NS additional section processing.
|
||||
|
||||
2.2. The DNAME Substitution
|
||||
|
||||
DNAMEs cause a name substitution to happen to query names. This is
|
||||
called the DNAME substitution. The portion of the QNAME ending with
|
||||
the root label that matches the owner name of the DNAME RR is
|
||||
replaced with the contents of the DNAME RR's RDATA. The owner name
|
||||
of the DNAME is not itself redirected, only domain names below the
|
||||
owner name are redirected. Only whole labels are replaced. A name
|
||||
is considered below the owner name if it has more labels than the
|
||||
owner name, and the labels of the owner name appear at the end of the
|
||||
query name. See the table of examples for common cases and corner
|
||||
cases.
|
||||
|
||||
In the table below, the QNAME refers to the query name. The owner is
|
||||
the DNAME owner domain name, and the target refers to the target of
|
||||
the DNAME record. The result is the resulting name after performing
|
||||
the DNAME substitution on the query name. "no match" means that the
|
||||
query did not match the DNAME and thus no substitution is performed
|
||||
and a possible error message is returned (if no other result is
|
||||
possible). In the examples below, 'cyc' and 'shortloop' contain
|
||||
loops.
|
||||
|
||||
QNAME owner DNAME target result
|
||||
---------------- -------------- -------------- -----------------
|
||||
com. example.com. example.net. <no match>
|
||||
example.com. example.com. example.net. <no match>
|
||||
a.example.com. example.com. example.net. a.example.net.
|
||||
a.b.example.com. example.com. example.net. a.b.example.net.
|
||||
ab.example.com. b.example.com. example.net. <no match>
|
||||
foo.example.com. example.com. example.net. foo.example.net.
|
||||
a.x.example.com. x.example.com. example.net. a.example.net.
|
||||
a.example.com. example.com. y.example.net. a.y.example.net.
|
||||
cyc.example.com. example.com. example.com. cyc.example.com.
|
||||
cyc.example.com. example.com. c.example.com. cyc.c.example.com.
|
||||
shortloop.x.x. x. . shortloop.x.
|
||||
shortloop.x. x. . shortloop.
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 4]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
Table 1. DNAME Substitution Examples.
|
||||
|
||||
It is possible for DNAMEs to form loops, just as CNAMEs can form
|
||||
loops. DNAMEs and CNAMEs can chain together to form loops. A single
|
||||
corner case DNAME can form a loop. Resolvers and servers should be
|
||||
cautious in devoting resources to a query, but be aware that fairly
|
||||
long chains of DNAMEs may be valid. Zone content administrators
|
||||
should take care to insure that there are no loops that could occur
|
||||
when using DNAME or DNAME/CNAME redirection.
|
||||
|
||||
The domain name can get too long during substitution. For example,
|
||||
suppose the target name of the DNAME RR is 250 octets in length
|
||||
(multiple labels), if an incoming QNAME that has a first label over 5
|
||||
octets in length, the result of the result would be a name over 255
|
||||
octets. If this occurs the server returns an RCODE of YXDOMAIN
|
||||
[RFC2136]. The DNAME record and its signature (if the zone is
|
||||
signed) are included in the answer as proof for the YXDOMAIN (value
|
||||
6) RCODE.
|
||||
|
||||
2.3. DNAME Apex not Redirected itself
|
||||
|
||||
The owner name of a DNAME is not redirected itself. The reason for
|
||||
the original decision was that one can have a DNAME at the zone apex
|
||||
without problem. Then use this DNAME at the zone apex to point
|
||||
queries to the target zone. There still is a need to have the
|
||||
customary SOA and NS resource records at the zone apex. This means
|
||||
that DNAME does not mirror a zone completely, as it does not mirror
|
||||
the zone apex.
|
||||
|
||||
Another reason for excluding the DNAME owner from the DNAME
|
||||
substitution is that one can then query for the DNAME through RFC
|
||||
1034 [RFC1034] caches.
|
||||
|
||||
This means that a DNAME RR is not allowed at the same domain name as
|
||||
NS records unless there is also a SOA record present. DNAME RRs are
|
||||
not allowed at the parent side of a delegation point but are allowed
|
||||
at a zone apex.
|
||||
|
||||
2.4. Names Next to and Below a DNAME Record
|
||||
|
||||
Other resource records MUST NOT exist below the owner of a DNAME RR.
|
||||
To get the contents for names subordinate to that owner, the DNAME
|
||||
redirection must be invoked and the resulting target queried. A
|
||||
server SHOULD refuse to load a zone that has data below a domain name
|
||||
owning a DNAME RR. Also a server SHOULD refuse to load a zone
|
||||
subordinate to the owner of a DNAME record in the ancestor zone. See
|
||||
Section 5.2 for further restrictions related to dynamic update.
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 5]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
DNAME is a singleton type, meaning only one DNAME is allowed per
|
||||
name. The owner name of a DNAME can only have one DNAME RR, and no
|
||||
CNAME RRs can exist at that name. These rules make sure that for a
|
||||
single domain name only one redirection exists, and thus no confusion
|
||||
which one to follow. A server SHOULD refuse to load a zone that
|
||||
violates these rules.
|
||||
|
||||
The domain name that owns a DNAME record is allowed to have other
|
||||
resource record types at that domain name, except DNAMEs or CNAMEs.
|
||||
|
||||
These rules allow DNAME records to be queried through DNAME unaware
|
||||
caches.
|
||||
|
||||
2.5. Compression of the DNAME record.
|
||||
|
||||
The DNAME owner name can be compressed like any other owner name.
|
||||
The DNAME RDATA target name MUST NOT be sent out in compressed form,
|
||||
so that a DNAME RR can be treated as an unknown type.
|
||||
|
||||
Although the previous specification [RFC2672] talked about signaling
|
||||
to allow compression of the target name, no such signaling is
|
||||
explicitly specified.
|
||||
|
||||
RFC2672 stated that the EDNS version had a meaning for understanding
|
||||
of DNAME and DNAME target name compression. This document updates
|
||||
RFC2672, in that there is no EDNS version signaling for DNAME as of
|
||||
yet. However, the flags section of EDNS(0) is updated with a
|
||||
Understand-DNAME flag by this document (See Section 3.2).
|
||||
|
||||
3. Processing
|
||||
|
||||
3.1. Wildcards
|
||||
|
||||
The use of DNAME in conjunction with wildcards is discouraged
|
||||
[RFC4592]. Thus records of the form "*.example.com DNAME
|
||||
example.net" SHOULD NOT be used.
|
||||
|
||||
The interaction between the expansion of the wildcard and the
|
||||
redirection of the DNAME is non-deterministic. Because the
|
||||
processing is non-deterministic, DNSSEC validating resolvers may not
|
||||
be able to validate a wildcarded DNAME.
|
||||
|
||||
A server MAY give a warning that the behavior is unspecified if such
|
||||
a wildcarded DNAME is loaded. The server MAY refuse it, refuse to
|
||||
load or refuse dynamic update.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 6]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
3.2. CNAME synthesis
|
||||
|
||||
On the server side, the DNAME RR record is always included in the
|
||||
answer section of a query, when one is encountered. A CNAME RR
|
||||
record with TTL equal to the corresponding DNAME RR is synthesized
|
||||
for old resolvers, specifically for the QNAME in the query. DNSSEC
|
||||
[RFC4033], [RFC4034], [RFC4035] says that the synthesized CNAME does
|
||||
not have to be signed. The DNAME has an RRSIG and a validating
|
||||
resolver can check the CNAME against the DNAME record and validate
|
||||
the DNAME record.
|
||||
|
||||
It does not make sense for the authoritative server to follow the
|
||||
chain of DNAMEs, CNAMEs and wildcards outside of the zone of the
|
||||
query, as some resolver implementations will remove out-of-zone
|
||||
information from the answer.
|
||||
|
||||
Resolvers MUST be able to handle a synthesized CNAME TTL of zero or
|
||||
equal to the TTL of the corresponding DNAME record. The TTL of zero
|
||||
means that the CNAME can be discarded immediately after processing
|
||||
the answer. DNAME aware resolvers can set the Understand-DNAME (UD
|
||||
bit) to receive a response with only the DNAME RR and no synthesized
|
||||
CNAMEs.
|
||||
|
||||
The UD bit is part of the EDNS extended RCODE and Flags field. It is
|
||||
used to omit server processing, transmission and resolver processing
|
||||
of unsigned synthesized CNAMEs. Resolvers can set this in a query to
|
||||
request omission of the synthesized CNAMEs. Servers copy the UD bit
|
||||
to the response, and can omit synthesized CNAMEs from the answer.
|
||||
Older resolvers do not set the UD bit, and older servers do not copy
|
||||
the UD bit to the answer, and will not omit synthesized CNAMEs.
|
||||
|
||||
Updated EDNS extended RCODE and Flags field.
|
||||
|
||||
+0 (MSB) +1 (LSB)
|
||||
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
0: | EXTENDED-RCODE | VERSION |
|
||||
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
2: |DO|UD| Z |
|
||||
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||||
|
||||
Servers MUST be able to answer a query for a synthesized CNAME. An
|
||||
answer containing the synthesized CNAME cannot contain an error
|
||||
(since a CNAME has been followed), as per RFC 1034 CNAME rules.
|
||||
|
||||
3.3. Acceptance and Intermediate Storage
|
||||
|
||||
DNS Caches MUST NOT allow data to be cached below the owner of a
|
||||
DNAME RR, except CNAME records and their signatures. CNAME records
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 7]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
below the owner of a DNAME MUST be re-synthesized from the DNAME, or
|
||||
checked against the DNAME record before sending them out. This
|
||||
improves consistency of the DNAME and CNAME records below the owner
|
||||
of the DNAME.
|
||||
|
||||
DNS Caches MUST perform CNAME synthesis on behalf of DNAME-ignorant
|
||||
clients. A DNS Cache that understands DNAMEs can send out queries on
|
||||
behalf of clients with the UD bit set. After receiving the answers
|
||||
the DNS Cache sends replies to DNAME ignorant clients that include
|
||||
DNAMEs and synthesized CNAMEs.
|
||||
|
||||
3.4. Server algorithm
|
||||
|
||||
Below the server algorithm, which appeared in RFC 2672 Section 4.1,
|
||||
is expanded to handle the UD bit.
|
||||
|
||||
1. Set or clear the value of recursion available in the response
|
||||
depending on whether the name server is willing to provide
|
||||
recursive service. If recursive service is available and
|
||||
requested via the RD bit in the query, go to step 5, otherwise
|
||||
step 2.
|
||||
|
||||
2. Search the available zones for the zone which is the nearest
|
||||
ancestor to QNAME. If such a zone is found, go to step 3,
|
||||
otherwise step 4.
|
||||
|
||||
3. Start matching down, label by label, in the zone. The matching
|
||||
process can terminate several ways:
|
||||
|
||||
A. If the whole of QNAME is matched, we have found the node.
|
||||
|
||||
If the data at the node is a CNAME, and QTYPE does not match
|
||||
CNAME, copy the CNAME RR into the answer section of the
|
||||
response, change QNAME to the canonical name in the CNAME RR,
|
||||
and go back to step 1.
|
||||
|
||||
Otherwise, copy all RRs which match QTYPE into the answer
|
||||
section and go to step 6.
|
||||
|
||||
B. If a match would take us out of the authoritative data, we
|
||||
have a referral. This happens when we encounter a node with
|
||||
NS RRs marking cuts along the bottom of a zone.
|
||||
|
||||
Copy the NS RRs for the sub-zone into the authority section
|
||||
of the reply. Put whatever addresses are available into the
|
||||
additional section, using glue RRs if the addresses are not
|
||||
available from authoritative data or the cache. Go to step
|
||||
4.
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 8]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
C. If at some label, a match is impossible (i.e., the
|
||||
corresponding label does not exist), look to see whether the
|
||||
last label matched has a DNAME record.
|
||||
|
||||
If a DNAME record exists at that point, copy that record into
|
||||
the answer section. If substitution of its <target> for its
|
||||
<owner> in QNAME would overflow the legal size for a <domain-
|
||||
name>, set RCODE to YXDOMAIN [RFC2136] and exit; otherwise
|
||||
perform the substitution and continue. If the EDNS OPT
|
||||
record is present in the query and the UD bit is set, the
|
||||
server MAY copy the UD bit to the answer EDNS OPT record, and
|
||||
omit CNAME synthesis. Else the server MUST synthesize a
|
||||
CNAME record as described above and include it in the answer
|
||||
section. Go back to step 1.
|
||||
|
||||
If there was no DNAME record, look to see if the "*" label
|
||||
exists.
|
||||
|
||||
If the "*" label does not exist, check whether the name we
|
||||
are looking for is the original QNAME in the query or a name
|
||||
we have followed due to a CNAME or DNAME. If the name is
|
||||
original, set an authoritative name error in the response and
|
||||
exit. Otherwise just exit.
|
||||
|
||||
If the "*" label does exist, match RRs at that node against
|
||||
QTYPE. If any match, copy them into the answer section, but
|
||||
set the owner of the RR to be QNAME, and not the node with
|
||||
the "*" label. If the data at the node with the "*" label is
|
||||
a CNAME, and QTYPE doesn't match CNAME, copy the CNAME RR
|
||||
into the answer section of the response changing the owner
|
||||
name to the QNAME, change QNAME to the canonical name in the
|
||||
CNAME RR, and go back to step 1. Otherwise, Go to step 6.
|
||||
|
||||
4. Start matching down in the cache. If QNAME is found in the
|
||||
cache, copy all RRs attached to it that match QTYPE into the
|
||||
answer section. If QNAME is not found in the cache but a DNAME
|
||||
record is present at an ancestor of QNAME, copy that DNAME record
|
||||
into the answer section. If there was no delegation from
|
||||
authoritative data, look for the best one from the cache, and put
|
||||
it in the authority section. Go to step 6.
|
||||
|
||||
5. Use the local resolver or a copy of its algorithm to answer the
|
||||
query. Store the results, including any intermediate CNAMEs and
|
||||
DNAMEs, in the answer section of the response.
|
||||
|
||||
6. Using local data only, attempt to add other RRs which may be
|
||||
useful to the additional section of the query. Exit.
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 9]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
Note that there will be at most one ancestor with a DNAME as
|
||||
described in step 4 unless some zone's data is in violation of the
|
||||
no-descendants limitation in section 3. An implementation might take
|
||||
advantage of this limitation by stopping the search of step 3c or
|
||||
step 4 when a DNAME record is encountered.
|
||||
|
||||
4. DNAME Discussions in Other Documents
|
||||
|
||||
In [RFC2181], in Section 10.3., the discussion on MX and NS records
|
||||
touches on redirection by CNAMEs, but this also holds for DNAMEs.
|
||||
|
||||
Excerpt from 10.3. MX and NS records (in RFC 2181).
|
||||
|
||||
The domain name used as the value of a NS resource record,
|
||||
or part of the value of a MX resource record must not be
|
||||
an alias. Not only is the specification clear on this
|
||||
point, but using an alias in either of these positions
|
||||
neither works as well as might be hoped, nor well fulfills
|
||||
the ambition that may have led to this approach. This
|
||||
domain name must have as its value one or more address
|
||||
records. Currently those will be A records, however in
|
||||
the future other record types giving addressing
|
||||
information may be acceptable. It can also have other
|
||||
RRs, but never a CNAME RR.
|
||||
|
||||
The DNAME RR is discussed in RFC 3363, section 4, on A6 and DNAME.
|
||||
[RFC3363] does NOT RECOMMENDED the use of DNAME in the IPv6 reverse
|
||||
tree. (Hence, all references to DNAME should have been removed from
|
||||
[RFC4294].) Based on the experience gained in the meantime, RFC 3363
|
||||
should be revised, dropping all constraints on having DNAME RRs in
|
||||
these zones. This would greatly improve the manageability of the
|
||||
IPv6 reverse tree. These changes are made explicit below.
|
||||
|
||||
In [RFC3363], section 4, DNAME is not recommended for the IPv6
|
||||
reverse tree. The opening premise of this section is demonstrably
|
||||
wrong. Everything that follows from that premise is also invalid.
|
||||
|
||||
In [RFC3363], the paragraph
|
||||
|
||||
"The issues for DNAME in the reverse mapping tree appears to be
|
||||
closely tied to the need to use fragmented A6 in the main tree: if
|
||||
one is necessary, so is the other, and if one isn't necessary, the
|
||||
other isn't either. Therefore, in moving RFC 2874 to experimental,
|
||||
the intent of this document is that use of DNAME RRs in the reverse
|
||||
tree be deprecated."
|
||||
|
||||
is to be replaced with the word "DELETED".
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 10]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
In [RFC4294], the reference to DNAME was left in as a editorial
|
||||
oversight. The paragraph
|
||||
|
||||
"Those nodes are NOT RECOMMENDED to support the experimental A6 and
|
||||
DNAME Resource Records [RFC3363]."
|
||||
|
||||
is to be replaced by
|
||||
|
||||
"Those nodes are NOT RECOMMENDED to support the experimental
|
||||
A6 Resource Record [RFC3363]."
|
||||
|
||||
5. Other Issues with DNAME
|
||||
|
||||
There are several issues to be aware of about the use of DNAME.
|
||||
|
||||
5.1. MX, NS and PTR Records Must Point to Target of DNAME
|
||||
|
||||
The names listed as target names of MX, NS and PTR records must be
|
||||
canonical hostnames. This means no CNAME or DNAME redirection may be
|
||||
present during DNS lookup of the address records for the host. This
|
||||
is discussed in RFC 2181 [RFC2181], section 10.3, and RFC 1912
|
||||
[RFC1912], section 2.4.
|
||||
|
||||
The upshot of this is that although the lookup of a PTR record can
|
||||
involve DNAMEs, the name listed in the PTR record can not fall under
|
||||
a DNAME. The same holds for NS and MX records. For example, when
|
||||
punycode alternates for a zone use DNAME then the NS, MX and PTR
|
||||
records that point to that zone must use names without punycode in
|
||||
their RDATA. What must be done then is to have the domain names with
|
||||
DNAME substitution already applied to it as the MX, NS, PTR data.
|
||||
These are valid canonical hostnames.
|
||||
|
||||
5.2. Dynamic Update and DNAME
|
||||
|
||||
Zones containing a DNAME RR MUST NOT accept a dynamic update message
|
||||
that would add a record or delegation with a name existing under a
|
||||
DNAME.
|
||||
|
||||
A server MUST return an error message with RCODE=REFUSED [RFC2136] in
|
||||
response to a dynamic update message that would add a resource record
|
||||
under a DNAME in the zone.
|
||||
|
||||
5.3. DNSSEC and DNAME
|
||||
|
||||
5.3.1. DNAME bit in NSEC type map
|
||||
|
||||
When a validator checks the NSEC RRs returned on a name error
|
||||
response, it SHOULD check that the DNAME bit is not set. If the
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 11]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
DNAME bit is set then the DNAME substitution should have been done,
|
||||
but has not.
|
||||
|
||||
5.3.2. Validators Must Understand DNAME
|
||||
|
||||
Examples of why DNSSEC validators MUST understand DNAME.
|
||||
|
||||
5.3.2.1. DNAME in Bitmap Causes Invalid Name Error
|
||||
|
||||
;; Header: QR AA DO RCODE=3(NXDOMAIN)
|
||||
;; Question
|
||||
foo.bar.example.com. IN A
|
||||
;; Answer
|
||||
bar.example.com. NSEC dub.example.com. A DNAME
|
||||
bar.example.com. RRSIG NSEC [valid signature]
|
||||
|
||||
If this is the response, then only by understanding that the DNAME
|
||||
bit means that foo.bar.example.com needed to have been redirected by
|
||||
the DNAME, the validator can see that it is a BOGUS reply from an
|
||||
attacker that collated existing records from the DNS to create a
|
||||
confusing reply.
|
||||
|
||||
If the DNAME bit had not been set in the NSEC record above then the
|
||||
answer would have validated as a correct name error response.
|
||||
|
||||
5.3.2.2. Valid Name Error Response Involving DNAME in Bitmap
|
||||
|
||||
;; Header: QR AA DO RCODE=3(NXDOMAIN)
|
||||
;; Question
|
||||
cee.example.com. IN A
|
||||
;; Answer
|
||||
bar.example.com. NSEC dub.example.com. A DNAME
|
||||
bar.example.com. RRSIG NSEC [valid signature]
|
||||
|
||||
This reply has the same NSEC records as the example above, but with
|
||||
this query name (cee.example.com), the answer is validated, because
|
||||
'cee' does not get redirected by the DNAME at 'bar'.
|
||||
|
||||
5.3.2.3. Response With Synthesized CNAME
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 12]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
;; Header: QR AA DO RCODE=0(NOERROR)
|
||||
;; Question
|
||||
foo.bar.example.com. IN A
|
||||
;; Answer
|
||||
bar.example.com. DNAME bar.example.net.
|
||||
bar.example.com. RRSIG DNAME [valid signature]
|
||||
foo.bar.example.com. CNAME foo.bar.example.net.
|
||||
|
||||
The answer shown above has the synthesized CNAME included. However,
|
||||
the CNAME has no signature, since the server does not sign online (it
|
||||
is a slow operation and exposes the signing key). So it cannot be
|
||||
trusted. It could be altered by an attacker to be
|
||||
foo.bar.example.com CNAME bla.bla.example. The DNAME record does
|
||||
have its signature included, since it does not change for every query
|
||||
name. The validator must verify the DNAME signature and then
|
||||
recursively resolve further to query for the foo.bar.example.net A
|
||||
record.
|
||||
|
||||
6. IANA Considerations
|
||||
|
||||
The main purpose of this draft is to discuss issues related to the
|
||||
use of DNAME RRs in a DNS zone. The original document registered the
|
||||
DNAME Resource Record type code 39 (decimal). IANA should update the
|
||||
DNS resource record registry by adding a pointer to this document for
|
||||
RR type 39.
|
||||
|
||||
This draft requests the second highest bit in the EDNS flags field
|
||||
for the Understand-DNAME (UD) flag.
|
||||
|
||||
7. Security Considerations
|
||||
|
||||
DNAME redirects queries elsewhere, which may impact security based on
|
||||
policy and the security status of the zone with the DNAME and the
|
||||
redirection zone's security status.
|
||||
|
||||
If a validating resolver accepts wildcarded DNAMEs, this creates
|
||||
security issues. Since the processing of a wildcarded DNAME is non-
|
||||
deterministic and the CNAME that was substituted by the server has no
|
||||
signature, the resolver may choose a different result than what the
|
||||
server meant, and consequently end up at the wrong destination. Use
|
||||
of wildcarded DNAMEs is discouraged in any case [RFC4592].
|
||||
|
||||
A validating resolver MUST understand DNAME, according to [RFC4034].
|
||||
In Section 5.3.2 examples are given that illustrate this need.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 13]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
8. Acknowledgments
|
||||
|
||||
The authors of this draft would like to acknowledge Matt Larson for
|
||||
beginning this effort to address the issues related to the DNAME RR
|
||||
type.
|
||||
|
||||
9. References
|
||||
|
||||
9.1. Normative References
|
||||
|
||||
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
|
||||
STD 13, RFC 1034, November 1987.
|
||||
|
||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound,
|
||||
"Dynamic Updates in the Domain Name System (DNS UPDATE)",
|
||||
RFC 2136, April 1997.
|
||||
|
||||
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
|
||||
Specification", RFC 2181, July 1997.
|
||||
|
||||
[RFC2672] Crawford, M., "Non-Terminal DNS Name Redirection",
|
||||
RFC 2672, August 1999.
|
||||
|
||||
[RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record
|
||||
(RR) Types", RFC 3597, September 2003.
|
||||
|
||||
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "DNS Security Introduction and Requirements",
|
||||
RFC 4033, March 2005.
|
||||
|
||||
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Resource Records for the DNS Security Extensions",
|
||||
RFC 4034, March 2005.
|
||||
|
||||
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Protocol Modifications for the DNS Security
|
||||
Extensions", RFC 4035, March 2005.
|
||||
|
||||
[RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name
|
||||
System", RFC 4592, July 2006.
|
||||
|
||||
9.2. Informative References
|
||||
|
||||
[RFC1912] Barr, D., "Common DNS Operational and Configuration
|
||||
Errors", RFC 1912, February 1996.
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 14]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
[RFC3363] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T.
|
||||
Hain, "Representing Internet Protocol version 6 (IPv6)
|
||||
Addresses in the Domain Name System (DNS)", RFC 3363,
|
||||
August 2002.
|
||||
|
||||
[RFC4294] Loughney, J., "IPv6 Node Requirements", RFC 4294,
|
||||
April 2006.
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
Scott Rose
|
||||
NIST
|
||||
100 Bureau Dr.
|
||||
Gaithersburg, MD 20899
|
||||
USA
|
||||
|
||||
Phone: +1-301-975-8439
|
||||
Fax: +1-301-975-6238
|
||||
EMail: scottr@nist.gov
|
||||
|
||||
|
||||
Wouter Wijngaards
|
||||
NLnet Labs
|
||||
Kruislaan 419
|
||||
Amsterdam 1098 VA
|
||||
The Netherlands
|
||||
|
||||
Phone: +31-20-888-4551
|
||||
EMail: wouter@nlnetlabs.nl
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 15]
|
||||
|
||||
Internet-Draft DNAME Redirection November 2007
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
This document is subject to the rights, licenses and restrictions
|
||||
contained in BCP 78, and except as set forth therein, the authors
|
||||
retain all their rights.
|
||||
|
||||
This document and the information contained herein are provided on an
|
||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
||||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
||||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
Intellectual Property
|
||||
|
||||
The IETF takes no position regarding the validity or scope of any
|
||||
Intellectual Property Rights or other rights that might be claimed to
|
||||
pertain to the implementation or use of the technology described in
|
||||
this document or the extent to which any license under such rights
|
||||
might or might not be available; nor does it represent that it has
|
||||
made any independent effort to identify any such rights. Information
|
||||
on the procedures with respect to rights in RFC documents can be
|
||||
found in BCP 78 and BCP 79.
|
||||
|
||||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||||
assurances of licenses to be made available, or the result of an
|
||||
attempt made to obtain a general license or permission for the use of
|
||||
such proprietary rights by implementers or users of this
|
||||
specification can be obtained from the IETF on-line IPR repository at
|
||||
http://www.ietf.org/ipr.
|
||||
|
||||
The IETF invites any interested party to bring to its attention any
|
||||
copyrights, patents or patent applications, or other proprietary
|
||||
rights that may cover technology that may be required to implement
|
||||
this standard. Please address the information to the IETF at
|
||||
ietf-ipr@ietf.org.
|
||||
|
||||
Acknowledgement
|
||||
|
||||
Funding for the RFC Editor function is provided by the IETF
|
||||
Administrative Support Activity (IASA).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Rose & Wijngaards Expires May 17, 2008 [Page 16]
|
||||
|
||||
@@ -1,561 +0,0 @@
|
||||
|
||||
|
||||
|
||||
Network Working Group M. Andrews
|
||||
Internet-Draft ISC
|
||||
Intended status: Best Current March 2, 2007
|
||||
Practice
|
||||
Expires: September 3, 2007
|
||||
|
||||
|
||||
Locally-served DNS Zones
|
||||
draft-ietf-dnsop-default-local-zones-01
|
||||
|
||||
Status of this Memo
|
||||
|
||||
By submitting this Internet-Draft, each author represents that any
|
||||
applicable patent or other IPR claims of which he or she is aware
|
||||
have been or will be disclosed, and any of which he or she becomes
|
||||
aware will be disclosed, in accordance with Section 6 of BCP 79.
|
||||
|
||||
Internet-Drafts are working documents of the Internet Engineering
|
||||
Task Force (IETF), its areas, and its working groups. Note that
|
||||
other groups may also distribute working documents as Internet-
|
||||
Drafts.
|
||||
|
||||
Internet-Drafts are draft documents valid for a maximum of six months
|
||||
and may be updated, replaced, or obsoleted by other documents at any
|
||||
time. It is inappropriate to use Internet-Drafts as reference
|
||||
material or to cite them other than as "work in progress."
|
||||
|
||||
The list of current Internet-Drafts can be accessed at
|
||||
http://www.ietf.org/ietf/1id-abstracts.txt.
|
||||
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html.
|
||||
|
||||
This Internet-Draft will expire on September 3, 2007.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
Abstract
|
||||
|
||||
Practice has shown that there are a number of DNS zones all iterative
|
||||
resolvers and recursive nameservers should, unless configured
|
||||
otherwise, automatically serve. RFC 4193 already specifies that this
|
||||
should occur for D.F.IP6.ARPA. This document extends the practice to
|
||||
cover the IN-ADDR.ARPA zones for RFC 1918 address space and other
|
||||
well known zones with similar usage constraints.
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 1]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
1.1. Reserved Words . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
2. Effects on sites using RFC 1918 addresses. . . . . . . . . . . 3
|
||||
3. Changes to Iterative Resolver Behaviour. . . . . . . . . . . . 4
|
||||
4. Lists Of Zones Covered . . . . . . . . . . . . . . . . . . . . 5
|
||||
4.1. RFC 1918 Zones . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
4.2. RFC 3330 Zones . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
4.3. Local IPv6 Unicast Addresses . . . . . . . . . . . . . . . 6
|
||||
4.4. IPv6 Locally Assigned Local Addresses . . . . . . . . . . 6
|
||||
4.5. IPv6 Link Local Addresses . . . . . . . . . . . . . . . . 6
|
||||
5. Zones that are Out-Of-Scope . . . . . . . . . . . . . . . . . 6
|
||||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
|
||||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
|
||||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
|
||||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
|
||||
9.2. Informative References . . . . . . . . . . . . . . . . . . 8
|
||||
Appendix A. Change History [To Be Removed on Publication] . . . . 9
|
||||
A.1. draft-ietf-dnsop-default-local-zones-01.txt . . . . . . . 9
|
||||
A.2. draft-ietf-dnsop-default-local-zones-00.txt . . . . . . . 9
|
||||
A.3. draft-andrews-full-service-resolvers-03.txt . . . . . . . 9
|
||||
A.4. draft-andrews-full-service-resolvers-02.txt . . . . . . . 9
|
||||
Appendix B. Proposed Status [To Be Removed on Publication] . . . 9
|
||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
Intellectual Property and Copyright Statements . . . . . . . . . . 10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 2]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
Practice has shown that there are a number of DNS [RFC 1034] [RFC
|
||||
1035] zones all iterative resolvers and recursive nameservers should,
|
||||
unless configured otherwise, automatically serve. These zones
|
||||
include, but are not limited to, the IN-ADDR.ARPA zones for the
|
||||
address space allocated by [RFC 1918] and the IP6.ARPA zones for
|
||||
locally assigned local IPv6 addresses, [RFC 4193].
|
||||
|
||||
This recommendation is made because data has shown that significant
|
||||
leakage of queries for these name spaces is occurring, despite
|
||||
instructions to restrict them, and because sacrificial name servers
|
||||
have been deployed to protect the immediate parent name servers for
|
||||
these zones from excessive, unintentional, query load [AS112]. There
|
||||
is every expectation that the query load will continue to increase
|
||||
unless steps are taken as outlined here.
|
||||
|
||||
Additionally, queries from clients behind badly configured firewalls
|
||||
that allow outgoing queries but drop responses for these name spaces
|
||||
also puts a significant load on the root servers. They also cause
|
||||
operational load for the root server operators as they have to reply
|
||||
to queries about why the root servers are "attacking" these clients.
|
||||
Changing the default configuration will address all these issues for
|
||||
the zones listed below in Section 4.
|
||||
|
||||
[RFC 4193] already recommends that queries for D.F.IP6.ARPA be
|
||||
handled locally. This document extends the recommendation to cover
|
||||
the IN-ADDR.ARPA zones for [RFC 1918] and other well known IN-
|
||||
ADDR.ARPA and IP6.ARPA zones for which queries should not appear on
|
||||
the public Internet.
|
||||
|
||||
It is hoped that by doing this the number of sacrificial servers
|
||||
[AS112] will not have to be increased and may in time be reduced.
|
||||
|
||||
It should also help DNS responsiveness for sites which are using [RFC
|
||||
1918] addresses but do not follow the last paragraph in section 3 of
|
||||
[RFC 1918].
|
||||
|
||||
1.1. Reserved Words
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
document are to be interpreted as described in [RFC 2119].
|
||||
|
||||
|
||||
2. Effects on sites using RFC 1918 addresses.
|
||||
|
||||
For most sites using [RFC 1918] addresses, the changes here will have
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 3]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
little or no detrimental effect. If the site does not already have
|
||||
the reverse tree populated the only effect will be that the answers
|
||||
are generated locally rather than remotely.
|
||||
|
||||
For sites that do have the reverse tree populated, most will either
|
||||
have a local copy of the zones or will be forwarding the queries to
|
||||
servers which have local copies of the zone. In either case the
|
||||
local resolver has a pre-existing configuration for the namespace and
|
||||
won't add the automatic zone.
|
||||
|
||||
The main impact will be felt at sites that make use of delegation for
|
||||
reverse lookups for [RFC 1918] addresses and have populated these
|
||||
zones. Typically, such sites will be fully disconnected from the
|
||||
Internet and have their own root servers for their own non-Internet
|
||||
DNS tree. These sites will need to override the default
|
||||
configuration expressed in this document to allow resolution to
|
||||
continue.
|
||||
|
||||
|
||||
3. Changes to Iterative Resolver Behaviour.
|
||||
|
||||
Unless configured otherwise, an iterative resolver will now return
|
||||
name errors (RCODE=3) for queries within the lists of zones covered
|
||||
below, with the obvious exception of queries for the zone name itself
|
||||
where SOA, NS and "no data" responses will be returned as appropriate
|
||||
to the query type. One common way to do this is to serve empty (SOA
|
||||
and NS only) zones.
|
||||
|
||||
A implementation doing this MUST provide a mechanism to disable this
|
||||
new behaviour, preferably on a zone by zone basis.
|
||||
|
||||
If using empty zones one SHOULD NOT use the same NS and SOA records
|
||||
as used on the public Internet servers as that will make it harder to
|
||||
detect leakage to the public Internet servers. This document
|
||||
recommends that the NS record defaults to the name of the zone and
|
||||
the SOA MNAME defaults to the name of the only NS RR's target. The
|
||||
SOA RNAME should default to ".". Implementations SHOULD provide a
|
||||
mechanism to set these values. No address records need to be
|
||||
provided for the name server.
|
||||
|
||||
Below is a example of a generic empty zone in master file format. It
|
||||
will produce a negative cache ttl of 3 hours.
|
||||
|
||||
@ 10800 IN SOA @ . 1 3600 1200 604800 10800
|
||||
@ 10800 IN NS @
|
||||
|
||||
The SOA RR is needed to support negative caching [RFC 2308] of name
|
||||
error responses and to point clients to the primary master for DNS
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 4]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
dynamic updates.
|
||||
|
||||
SOA values of particular importance are the MNAME, the SOA RR's TTL
|
||||
and the negTTL value. Both TTL values SHOULD match. The rest of the
|
||||
SOA timer values may be chosen arbitrarily since it they are not
|
||||
intended to control any zone transfer activity.
|
||||
|
||||
The NS RR is needed as some UPDATE clients use NS queries to discover
|
||||
they zone to be updated. Having no address records for the name
|
||||
server should abort UPDATE processing in the client
|
||||
|
||||
|
||||
4. Lists Of Zones Covered
|
||||
|
||||
The lists below are expected to seed a IANA registry.
|
||||
|
||||
4.1. RFC 1918 Zones
|
||||
|
||||
10.IN-ADDR.ARPA
|
||||
16.172.IN-ADDR.ARPA
|
||||
17.172.IN-ADDR.ARPA
|
||||
18.172.IN-ADDR.ARPA
|
||||
19.172.IN-ADDR.ARPA
|
||||
20.172.IN-ADDR.ARPA
|
||||
21.172.IN-ADDR.ARPA
|
||||
22.172.IN-ADDR.ARPA
|
||||
23.172.IN-ADDR.ARPA
|
||||
24.172.IN-ADDR.ARPA
|
||||
25.172.IN-ADDR.ARPA
|
||||
26.172.IN-ADDR.ARPA
|
||||
27.172.IN-ADDR.ARPA
|
||||
28.172.IN-ADDR.ARPA
|
||||
29.172.IN-ADDR.ARPA
|
||||
30.172.IN-ADDR.ARPA
|
||||
31.172.IN-ADDR.ARPA
|
||||
168.192.IN-ADDR.ARPA
|
||||
|
||||
4.2. RFC 3330 Zones
|
||||
|
||||
See [RFC 3330].
|
||||
|
||||
0.IN-ADDR.ARPA /* IPv4 "THIS" NETWORK */
|
||||
127.IN-ADDR.ARPA /* IPv4 LOOP-BACK NETWORK */
|
||||
254.169.IN-ADDR.ARPA /* IPv4 LINK LOCAL */
|
||||
2.0.192.IN-ADDR.ARPA /* IPv4 TEST NET */
|
||||
255.255.255.255.IN-ADDR.ARPA /* IPv4 BROADCAST */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 5]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
4.3. Local IPv6 Unicast Addresses
|
||||
|
||||
See [RFC 4291], sections 2.4, 2.5.2 and 2.5.3.
|
||||
|
||||
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP
|
||||
6.ARPA
|
||||
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP
|
||||
6.ARPA
|
||||
|
||||
4.4. IPv6 Locally Assigned Local Addresses
|
||||
|
||||
See [RFC 4193].
|
||||
|
||||
D.F.IP6.ARPA
|
||||
|
||||
4.5. IPv6 Link Local Addresses
|
||||
|
||||
See [RFC 4291], sections 2.4 and 2.5.6.
|
||||
|
||||
8.E.F.IP6.ARPA
|
||||
9.E.F.IP6.ARPA
|
||||
A.E.F.IP6.ARPA
|
||||
B.E.F.IP6.ARPA
|
||||
|
||||
|
||||
5. Zones that are Out-Of-Scope
|
||||
|
||||
IPv6 site-local addresses, [RFC 4291] sections 2.4 and 2.57, and IPv6
|
||||
Globally Assigned Local [RFC 4193] addresses are not covered here.
|
||||
It is expected that IPv6 site-local addresses will be self correcting
|
||||
as IPv6 implementations remove support for site-local addresses.
|
||||
However, sacrificial servers for C.E.F.IP6.ARPA to F.E.F.IP6.ARPA may
|
||||
still need to be deployed in the short term if the traffic becomes
|
||||
excessive.
|
||||
|
||||
For IPv6 Globally Assigned Local addresses [RFC 4291] there has been
|
||||
no decision made about whether the registries will provide
|
||||
delegations in this space or not. If they don't, then C.F.IP6.ARPA
|
||||
will need to be added to the list above. If they do, then registries
|
||||
will need to take steps to ensure that name servers are provided for
|
||||
these addresses.
|
||||
|
||||
This document is also ignoring IP6.INT. IP6.INT has been wound up
|
||||
with only legacy resolvers now generating reverse queries under
|
||||
IP6.INT.
|
||||
|
||||
This document has also deliberately ignored names immediately under
|
||||
the root. While there is a subset of queries to the roots which
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 6]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
could be addressed using the techniques described here (e.g. .local
|
||||
and IPv4 addresses) there is also a vast amount of traffic that
|
||||
requires a different strategy (e.g. lookups for unqualied hostnames,
|
||||
IPv6 addresses).
|
||||
|
||||
|
||||
6. IANA Considerations
|
||||
|
||||
This document recommends that IANA establish a registry of zones
|
||||
which require this default behaviour, the initial contents of which
|
||||
are in Section 4. More zones are expected to be added, and possibly
|
||||
deleted from this registry over time. Name server implementors are
|
||||
encouraged to check this registry and adjust their implementations to
|
||||
reflect changes therein.
|
||||
|
||||
This registry can be amended through "IETF Consensus" as per [RFC
|
||||
2434] or IETF Review in 2434bis.
|
||||
|
||||
IANA should co-ordinate with the RIRs and ICANN to ensure the DNSSEC
|
||||
deployment in the reverse trees that these zone are delegated in a
|
||||
unsecure manner as per Security Considerations.
|
||||
|
||||
|
||||
7. Security Considerations
|
||||
|
||||
During the initial deployment phase, particularly where [RFC 1918]
|
||||
addresses are in use, there may be some clients that unexpectedly
|
||||
receive a name error rather than a PTR record. This may cause some
|
||||
service disruption until full service resolvers have been re-
|
||||
configured.
|
||||
|
||||
When DNSSEC is deployed within the IN-ADDR.ARPA and IP6.ARPA
|
||||
namespaces, the zones listed above will need to be delegated as
|
||||
insecure delegations. This will allow DNSSEC validation to succeed
|
||||
for queries in these spaces despite not being answered from the
|
||||
delegated servers.
|
||||
|
||||
It is recommended that sites actively using these namespaces secure
|
||||
them using DNSSEC [RFC 4035] by publishing and using DNSSEC trust
|
||||
anchors. This will protect the clients from accidental leakage of
|
||||
unsigned answers from the Internet.
|
||||
|
||||
|
||||
8. Acknowledgements
|
||||
|
||||
This work was supported by the US National Science Foundation
|
||||
(research grant SCI-0427144) and DNS-OARC.
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 7]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
9. References
|
||||
|
||||
9.1. Normative References
|
||||
|
||||
[RFC 1034]
|
||||
Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
|
||||
RFC 1034, STD 13, November 1987.
|
||||
|
||||
[RFC 1035]
|
||||
Mockapetris, P., "DOMAIN NAMES - IMPLEMENTATION AND
|
||||
SPECIFICATION", RFC 1035, STD 13, November 1987.
|
||||
|
||||
[RFC 1918]
|
||||
Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.,
|
||||
and E. Lear, "Address Allocation for Private Internets",
|
||||
RFC 1918, February 1996.
|
||||
|
||||
[RFC 2119]
|
||||
Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[RFC 2308]
|
||||
Andrews, M., "Negative Caching of DNS Queries (DNS
|
||||
NCACHE)", RFC 2398, March 1998.
|
||||
|
||||
[RFC 2434]
|
||||
Narten, T. and H. Alvestrand, "Guidelines for Writing an
|
||||
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
|
||||
October 1998.
|
||||
|
||||
[RFC 3330]
|
||||
"Special-Use IPv4 Addresses", RFC 3330, September 2002.
|
||||
|
||||
[RFC 4035]
|
||||
Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Protocol Modifications for the DNS Security
|
||||
Extensions", RFC 4035, March 2005.
|
||||
|
||||
[RFC 4291]
|
||||
Hinden, R. and S. Deering, "IP Version 6 Addressing
|
||||
Architecture", RFC 4291, February 2006.
|
||||
|
||||
9.2. Informative References
|
||||
|
||||
[AS112] "AS112 Project", <http://as112.net/>.
|
||||
|
||||
[RFC 4193]
|
||||
Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 8]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
Addresses", RFC 4193, October 2005.
|
||||
|
||||
|
||||
Appendix A. Change History [To Be Removed on Publication]
|
||||
|
||||
A.1. draft-ietf-dnsop-default-local-zones-01.txt
|
||||
|
||||
Revised impact description.
|
||||
|
||||
Updated to reflect change in IP6.INT status.
|
||||
|
||||
A.2. draft-ietf-dnsop-default-local-zones-00.txt
|
||||
|
||||
Adopted by DNSOP.
|
||||
|
||||
"Author's Note" re-titled "Zones that are Out-Of-Scope"
|
||||
|
||||
Add note that these zone are expected to seed the IANA registry.
|
||||
|
||||
Title changed.
|
||||
|
||||
A.3. draft-andrews-full-service-resolvers-03.txt
|
||||
|
||||
Added "Proposed Status".
|
||||
|
||||
A.4. draft-andrews-full-service-resolvers-02.txt
|
||||
|
||||
Added 0.IN-ADDR.ARPA.
|
||||
|
||||
|
||||
Appendix B. Proposed Status [To Be Removed on Publication]
|
||||
|
||||
This Internet-Draft is being submitted for eventual publication as an
|
||||
RFC with a proposed status of Best Current Practice.
|
||||
|
||||
|
||||
Author's Address
|
||||
|
||||
Mark P. Andrews
|
||||
Internet Systems Consortium
|
||||
950 Charter Street
|
||||
Redwood City, CA 94063
|
||||
US
|
||||
|
||||
Email: Mark_Andrews@isc.org
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 9]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones March 2007
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
This document is subject to the rights, licenses and restrictions
|
||||
contained in BCP 78, and except as set forth therein, the authors
|
||||
retain all their rights.
|
||||
|
||||
This document and the information contained herein are provided on an
|
||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
||||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
||||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
Intellectual Property
|
||||
|
||||
The IETF takes no position regarding the validity or scope of any
|
||||
Intellectual Property Rights or other rights that might be claimed to
|
||||
pertain to the implementation or use of the technology described in
|
||||
this document or the extent to which any license under such rights
|
||||
might or might not be available; nor does it represent that it has
|
||||
made any independent effort to identify any such rights. Information
|
||||
on the procedures with respect to rights in RFC documents can be
|
||||
found in BCP 78 and BCP 79.
|
||||
|
||||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||||
assurances of licenses to be made available, or the result of an
|
||||
attempt made to obtain a general license or permission for the use of
|
||||
such proprietary rights by implementers or users of this
|
||||
specification can be obtained from the IETF on-line IPR repository at
|
||||
http://www.ietf.org/ipr.
|
||||
|
||||
The IETF invites any interested party to bring to its attention any
|
||||
copyrights, patents or patent applications, or other proprietary
|
||||
rights that may cover technology that may be required to implement
|
||||
this standard. Please address the information to the IETF at
|
||||
ietf-ipr@ietf.org.
|
||||
|
||||
|
||||
Acknowledgment
|
||||
|
||||
Funding for the RFC Editor function is provided by the IETF
|
||||
Administrative Support Activity (IASA).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires September 3, 2007 [Page 10]
|
||||
|
||||
|
||||
@@ -0,0 +1,672 @@
|
||||
|
||||
|
||||
|
||||
Network Working Group M. Andrews
|
||||
Internet-Draft ISC
|
||||
Intended status: Best Current November 19, 2007
|
||||
Practice
|
||||
Expires: May 22, 2008
|
||||
|
||||
|
||||
Locally-served DNS Zones
|
||||
draft-ietf-dnsop-default-local-zones-03
|
||||
|
||||
Status of this Memo
|
||||
|
||||
By submitting this Internet-Draft, each author represents that any
|
||||
applicable patent or other IPR claims of which he or she is aware
|
||||
have been or will be disclosed, and any of which he or she becomes
|
||||
aware will be disclosed, in accordance with Section 6 of BCP 79.
|
||||
|
||||
Internet-Drafts are working documents of the Internet Engineering
|
||||
Task Force (IETF), its areas, and its working groups. Note that
|
||||
other groups may also distribute working documents as Internet-
|
||||
Drafts.
|
||||
|
||||
Internet-Drafts are draft documents valid for a maximum of six months
|
||||
and may be updated, replaced, or obsoleted by other documents at any
|
||||
time. It is inappropriate to use Internet-Drafts as reference
|
||||
material or to cite them other than as "work in progress."
|
||||
|
||||
The list of current Internet-Drafts can be accessed at
|
||||
http://www.ietf.org/ietf/1id-abstracts.txt.
|
||||
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html.
|
||||
|
||||
This Internet-Draft will expire on May 22, 2008.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
Abstract
|
||||
|
||||
Experience has shown that there are a number of DNS zones all
|
||||
iterative resolvers and recursive nameservers should, unless
|
||||
configured otherwise, automatically serve. RFC 4193 specifies that
|
||||
this should occur for D.F.IP6.ARPA. This document extends the
|
||||
practice to cover the IN-ADDR.ARPA zones for RFC 1918 address space
|
||||
and other well known zones with similar characteristics.
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 1]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
1.1. Reserved Words . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
2. Effects on sites using RFC 1918 addresses. . . . . . . . . . . 4
|
||||
3. Changes to Iterative Resolver Behaviour. . . . . . . . . . . . 4
|
||||
4. Lists Of Zones Covered . . . . . . . . . . . . . . . . . . . . 5
|
||||
4.1. RFC 1918 Zones . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
4.2. RFC 3330 Zones . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
4.3. Local IPv6 Unicast Addresses . . . . . . . . . . . . . . . 6
|
||||
4.4. IPv6 Locally Assigned Local Addresses . . . . . . . . . . 6
|
||||
4.5. IPv6 Link Local Addresses . . . . . . . . . . . . . . . . 7
|
||||
5. Zones that are Out-Of-Scope . . . . . . . . . . . . . . . . . 7
|
||||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
|
||||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
|
||||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
|
||||
9.2. Informative References . . . . . . . . . . . . . . . . . . 10
|
||||
Appendix A. Change History [To Be Removed on Publication] . . . . 10
|
||||
A.1. draft-ietf-dnsop-default-local-zones-03.txt . . . . . . . 10
|
||||
A.2. draft-ietf-dnsop-default-local-zones-02.txt . . . . . . . 10
|
||||
A.3. draft-ietf-dnsop-default-local-zones-01.txt . . . . . . . 10
|
||||
A.4. draft-ietf-dnsop-default-local-zones-00.txt . . . . . . . 11
|
||||
A.5. draft-andrews-full-service-resolvers-03.txt . . . . . . . 11
|
||||
A.6. draft-andrews-full-service-resolvers-02.txt . . . . . . . 11
|
||||
Appendix B. Proposed Status [To Be Removed on Publication] . . . 11
|
||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||
Intellectual Property and Copyright Statements . . . . . . . . . . 12
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 2]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
Experience has shown that there are a number of DNS [RFC 1034] [RFC
|
||||
1035] zones that all iterative resolvers and recursive nameservers
|
||||
SHOULD, unless intentionally configured otherwise, automatically
|
||||
serve. These zones include, but are not limited to, the IN-ADDR.ARPA
|
||||
zones for the address space allocated by [RFC 1918] and the IP6.ARPA
|
||||
zones for locally assigned unique local IPv6 addresses, [RFC 4193].
|
||||
|
||||
This recommendation is made because data has shown that significant
|
||||
leakage of queries for these name spaces is occurring, despite
|
||||
instructions to restrict them, and because it has therefore become
|
||||
necessary to deploy sacrificial name servers to protect the immediate
|
||||
parent name servers for these zones from excessive, unintentional,
|
||||
query load [AS112] [I-D.draft-ietf-dnsop-as112-ops]
|
||||
[I-D.draft-ietf-dnsop-as112-under-attack-help-help]. There is every
|
||||
expectation that the query load will continue to increase unless
|
||||
steps are taken as outlined here.
|
||||
|
||||
Additionally, queries from clients behind badly configured firewalls
|
||||
that allow outgoing queries for these name spaces but drop the
|
||||
responses, put a significant load on the root servers (forward but no
|
||||
reverse zones configured). They also cause operational load for the
|
||||
root server operators as they have to reply to enquiries about why
|
||||
the root servers are "attacking" these clients. Changing the default
|
||||
configuration will address all these issues for the zones listed in
|
||||
Section 4.
|
||||
|
||||
[RFC 4193] recommends that queries for D.F.IP6.ARPA be handled
|
||||
locally. This document extends the recommendation to cover the IN-
|
||||
ADDR.ARPA zones for [RFC 1918] and other well known IN-ADDR.ARPA and
|
||||
IP6.ARPA zones for which queries should not appear on the public
|
||||
Internet.
|
||||
|
||||
It is hoped that by doing this the number of sacrificial servers
|
||||
[AS112] will not have to be increased, and may in time be reduced.
|
||||
|
||||
This recommendation should also help DNS responsiveness for sites
|
||||
which are using [RFC 1918] addresses but do not follow the last
|
||||
paragraph in Section 3 of [RFC 1918].
|
||||
|
||||
1.1. Reserved Words
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
document are to be interpreted as described in [RFC 2119].
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 3]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
2. Effects on sites using RFC 1918 addresses.
|
||||
|
||||
For most sites using [RFC 1918] addresses, the changes here will have
|
||||
little or no detrimental effect. If the site does not already have
|
||||
the reverse tree populated the only effect will be that the name
|
||||
error responses will be generated locally rather than remotely.
|
||||
|
||||
For sites that do have the reverse tree populated, most will either
|
||||
have a local copy of the zones or will be forwarding the queries to
|
||||
servers which have local copies of the zone. Therefore this
|
||||
recommendation will not be relevant.
|
||||
|
||||
The most significant impact will be felt at sites that make use of
|
||||
delegations for [RFC 1918] addresses and have populated these zones.
|
||||
These sites will need to override the default configuration expressed
|
||||
in this document to allow resolution to continue. Typically, such
|
||||
sites will be fully disconnected from the Internet and have their own
|
||||
root servers for their own non-Internet DNS tree.
|
||||
|
||||
|
||||
3. Changes to Iterative Resolver Behaviour.
|
||||
|
||||
Unless configured otherwise, an iterative resolver will now return
|
||||
authoritatively (aa=1) name errors (RCODE=3) for queries within the
|
||||
zones in Section 4, with the obvious exception of queries for the
|
||||
zone name itself where SOA, NS and "no data" responses will be
|
||||
returned as appropriate to the query type. One common way to do this
|
||||
is to serve empty (SOA and NS only) zones.
|
||||
|
||||
An implementation of this recommendation MUST provide a mechanism to
|
||||
disable this new behaviour, and SHOULD allow this decision on a zone
|
||||
by zone basis.
|
||||
|
||||
If using empty zones one SHOULD NOT use the same NS and SOA records
|
||||
as used on the public Internet servers as that will make it harder to
|
||||
detect the origin of the responses and thus any leakage to the public
|
||||
Internet servers. This document recommends that the NS record
|
||||
defaults to the name of the zone and the SOA MNAME defaults to the
|
||||
name of the only NS RR's target. The SOA RNAME should default to
|
||||
"nobody.invalid." [RFC 2606]. Implementations SHOULD provide a
|
||||
mechanism to set these values. No address records need to be
|
||||
provided for the name server.
|
||||
|
||||
Below is an example of a generic empty zone in master file format.
|
||||
It will produce a negative cache TTL of 3 hours.
|
||||
|
||||
@ 10800 IN SOA @ nobody.invalid. 1 3600 1200 604800 10800 @ 10800
|
||||
IN NS @
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 4]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
The SOA RR is needed to support negative caching [RFC 2308] of name
|
||||
error responses and to point clients to the primary master for DNS
|
||||
dynamic updates.
|
||||
|
||||
SOA values of particular importance are the MNAME, the SOA RR's TTL
|
||||
and the negTTL value. Both TTL values SHOULD match. The rest of the
|
||||
SOA timer values MAY be chosen arbitrarily since they are not
|
||||
intended to control any zone transfer activity.
|
||||
|
||||
The NS RR is needed as some UPDATE clients use NS queries to discover
|
||||
the zone to be updated. Having no address records for the name
|
||||
server is expected to abort UPDATE [RFC 2136] processing in the
|
||||
client.
|
||||
|
||||
|
||||
4. Lists Of Zones Covered
|
||||
|
||||
The following subsections are intended to seed the IANA registry as
|
||||
requested in the IANA Considerations Section. The zone name is the
|
||||
entity to be registered.
|
||||
|
||||
4.1. RFC 1918 Zones
|
||||
|
||||
The following zones correspond to the IPv4 address space reserved in
|
||||
[RFC 1918].
|
||||
|
||||
+----------------------+
|
||||
| Zone |
|
||||
+----------------------+
|
||||
| 10.IN-ADDR.ARPA |
|
||||
| 16.172.IN-ADDR.ARPA |
|
||||
| 17.172.IN-ADDR.ARPA |
|
||||
| 18.172.IN-ADDR.ARPA |
|
||||
| 19.172.IN-ADDR.ARPA |
|
||||
| 20.172.IN-ADDR.ARPA |
|
||||
| 21.172.IN-ADDR.ARPA |
|
||||
| 22.172.IN-ADDR.ARPA |
|
||||
| 23.172.IN-ADDR.ARPA |
|
||||
| 24.172.IN-ADDR.ARPA |
|
||||
| 25.172.IN-ADDR.ARPA |
|
||||
| 26.172.IN-ADDR.ARPA |
|
||||
| 27.172.IN-ADDR.ARPA |
|
||||
| 28.172.IN-ADDR.ARPA |
|
||||
| 29.172.IN-ADDR.ARPA |
|
||||
| 30.172.IN-ADDR.ARPA |
|
||||
| 31.172.IN-ADDR.ARPA |
|
||||
| 168.192.IN-ADDR.ARPA |
|
||||
+----------------------+
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 5]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
4.2. RFC 3330 Zones
|
||||
|
||||
The following zones correspond to those address ranges from [RFC
|
||||
3330] that are not expected to appear as source or destination
|
||||
addresses on the public Internet and to not have a unique name to
|
||||
associate with.
|
||||
|
||||
The recommendation to serve an empty zone 127.IN-ADDR.ARPA is not a
|
||||
attempt to discourage any practice to provide a PTR RR for
|
||||
1.0.0.127.IN-ADDR.ARPA locally. In fact, a meaningful reverse
|
||||
mapping should exist, but the exact setup is out of the scope of this
|
||||
document. Similar logic applies to the reverse mapping for ::1
|
||||
Section 4.3. The recommendations made here simply assume no other
|
||||
coverage for these domains exists.
|
||||
|
||||
+------------------------------+------------------------+
|
||||
| Zone | Description |
|
||||
+------------------------------+------------------------+
|
||||
| 0.IN-ADDR.ARPA | IPv4 "THIS" NETWORK |
|
||||
| 127.IN-ADDR.ARPA | IPv4 LOOP-BACK NETWORK |
|
||||
| 254.169.IN-ADDR.ARPA | IPv4 LINK LOCAL |
|
||||
| 2.0.192.IN-ADDR.ARPA | IPv4 TEST NET |
|
||||
| 255.255.255.255.IN-ADDR.ARPA | IPv4 BROADCAST |
|
||||
+------------------------------+------------------------+
|
||||
|
||||
4.3. Local IPv6 Unicast Addresses
|
||||
|
||||
The reverse mappings ([RFC 3596], Section 2.5 IP6.ARPA Domain) for
|
||||
the IPv6 Unspecified (::) and Loopback (::1) addresses ([RFC 4291],
|
||||
Sections 2.4, 2.5.2 and 2.5.3) are covered by these two zones:
|
||||
|
||||
+-------------------------------------------+
|
||||
| Zone |
|
||||
+-------------------------------------------+
|
||||
| 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.\ |
|
||||
| 0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA |
|
||||
| 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.\ |
|
||||
| 0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA |
|
||||
+-------------------------------------------+
|
||||
|
||||
Note: Line breaks and a escapes '\' have been inserted above for
|
||||
readability and to adhere to line width constraints. They are not
|
||||
parts of the zone names.
|
||||
|
||||
4.4. IPv6 Locally Assigned Local Addresses
|
||||
|
||||
Section 4.4 of [RFC 4193] already required special treatment of:
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 6]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
+--------------+
|
||||
| Zone |
|
||||
+--------------+
|
||||
| D.F.IP6.ARPA |
|
||||
+--------------+
|
||||
|
||||
4.5. IPv6 Link Local Addresses
|
||||
|
||||
IPv6 Link-Local Addresses as of [RFC 4291], Section 2.5.6 are covered
|
||||
by four distinct reverse DNS zones:
|
||||
|
||||
+----------------+
|
||||
| Zone |
|
||||
+----------------+
|
||||
| 8.E.F.IP6.ARPA |
|
||||
| 9.E.F.IP6.ARPA |
|
||||
| A.E.F.IP6.ARPA |
|
||||
| B.E.F.IP6.ARPA |
|
||||
+----------------+
|
||||
|
||||
|
||||
5. Zones that are Out-Of-Scope
|
||||
|
||||
IPv6 site-local addresses, [RFC 4291] Sections 2.4 and 2.57, and IPv6
|
||||
Centrally Assigned Local [RFC 4193] addresses are not covered here.
|
||||
It is expected that IPv6 site-local addresses will be self correcting
|
||||
as IPv6 implementations remove support for site-local addresses.
|
||||
However, sacrificial servers for C.E.F.IP6.ARPA through
|
||||
F.E.F.IP6.ARPA may still need to be deployed in the short term if the
|
||||
traffic becomes excessive.
|
||||
|
||||
For IPv6 Centrally Assigned Local addresses (L = 0) [RFC 4193], there
|
||||
has been no decision made about whether the Regional Internet
|
||||
Registries (RIRs) will provide delegations in this space or not. If
|
||||
they don't, then C.F.IP6.ARPA will need to be added to the list in
|
||||
Section 4.4. If they do, then registries will need to take steps to
|
||||
ensure that name servers are provided for these addresses.
|
||||
|
||||
This document also ignores IP6.INT. IP6.INT has been wound up with
|
||||
only legacy resolvers now generating reverse queries under IP6.INT
|
||||
[RFC 4159].
|
||||
|
||||
This document has also deliberately ignored names immediately under
|
||||
the root domain. While there is a subset of queries to the root name
|
||||
servers which could be addressed using the techniques described here
|
||||
(e.g. .local, .workgroup and IPv4 addresses), there is also a vast
|
||||
amount of traffic that requires a different strategy (e.g. lookups
|
||||
for unqualified hostnames, IPv6 addresses).
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 7]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
6. IANA Considerations
|
||||
|
||||
This document requests that IANA establish a registry of zones which
|
||||
require this default behaviour. The initial contents of which are in
|
||||
Section 4. Implementors are encouraged to check this registry and
|
||||
adjust their implementations to reflect changes therein.
|
||||
|
||||
This registry can be amended through "IETF Consensus" as per [RFC
|
||||
2434].
|
||||
|
||||
IANA should co-ordinate with the RIRs to ensure that, as DNSSEC is
|
||||
deployed in the reverse tree, delegations for these zones are made in
|
||||
the manner described in Section 7.
|
||||
|
||||
|
||||
7. Security Considerations
|
||||
|
||||
During the initial deployment phase, particularly where [RFC 1918]
|
||||
addresses are in use, there may be some clients that unexpectedly
|
||||
receive a name error rather than a PTR record. This may cause some
|
||||
service disruption until their recursive name server(s) have been re-
|
||||
configured.
|
||||
|
||||
As DNSSEC is deployed within the IN-ADDR.ARPA and IP6.ARPA
|
||||
namespaces, the zones listed above will need to be delegated as
|
||||
insecure delegations, or be within insecure zones. This will allow
|
||||
DNSSEC validation to succeed for queries in these spaces despite not
|
||||
being answered from the delegated servers.
|
||||
|
||||
It is recommended that sites actively using these namespaces secure
|
||||
them using DNSSEC [RFC 4035] by publishing and using DNSSEC trust
|
||||
anchors. This will protect the clients from accidental import of
|
||||
unsigned responses from the Internet.
|
||||
|
||||
|
||||
8. Acknowledgements
|
||||
|
||||
This work was supported by the US National Science Foundation
|
||||
(research grant SCI-0427144) and DNS-OARC.
|
||||
|
||||
|
||||
9. References
|
||||
|
||||
9.1. Normative References
|
||||
|
||||
[RFC 1034]
|
||||
Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
|
||||
RFC 1034, STD 13, November 1987.
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 8]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
[RFC 1035]
|
||||
Mockapetris, P., "DOMAIN NAMES - IMPLEMENTATION AND
|
||||
SPECIFICATION", RFC 1035, STD 13, November 1987.
|
||||
|
||||
[RFC 1918]
|
||||
Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.,
|
||||
and E. Lear, "Address Allocation for Private Internets",
|
||||
RFC 1918, February 1996.
|
||||
|
||||
[RFC 2119]
|
||||
Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[RFC 2136]
|
||||
Vixie, P., Thomson, A., Rekhter, Y., and J. Bound,
|
||||
"Dynamic Updates in the Domain Name System (DNS UPDATE)",
|
||||
RFC 2136, April 1997.
|
||||
|
||||
[RFC 2308]
|
||||
Andrews, M., "Negative Caching of DNS Queries (DNS
|
||||
NCACHE)", RFC 2398, March 1998.
|
||||
|
||||
[RFC 2434]
|
||||
Narten, T. and H. Alvestrand, "Guidelines for Writing an
|
||||
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
|
||||
October 1998.
|
||||
|
||||
[RFC 2606]
|
||||
Eastlake, D. and A. Panitz, "Reserved Top Level DNS
|
||||
Names", BCP 32, RFC 2606, June 1999.
|
||||
|
||||
[RFC 3596]
|
||||
Thomson, S., Huitema, C., Ksinant, V., and M. Souissi,
|
||||
"DNS Extensions to Support IPv6", RFC 3596, October 2003.
|
||||
|
||||
[RFC 4035]
|
||||
Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Protocol Modifications for the DNS Security
|
||||
Extensions", RFC 4035, March 2005.
|
||||
|
||||
[RFC 4159]
|
||||
Huston, G., "Deprecation of "ip6.int"", BCP 109, RFC 4159,
|
||||
August 2005.
|
||||
|
||||
[RFC 4193]
|
||||
Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
|
||||
Addresses", RFC 4193, October 2005.
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 9]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
[RFC 4291]
|
||||
Hinden, R. and S. Deering, "IP Version 6 Addressing
|
||||
Architecture", RFC 4291, February 2006.
|
||||
|
||||
9.2. Informative References
|
||||
|
||||
[AS112] "AS112 Project", <http://www.as112.net/>.
|
||||
|
||||
[I-D.draft-ietf-dnsop-as112-ops]
|
||||
Abley, J. and W. Maton, "AS112 Nameserver Operations",
|
||||
draft-ietf-dnsop-as112-ops-00 (work in progress),
|
||||
February 2007.
|
||||
|
||||
[I-D.draft-ietf-dnsop-as112-under-attack-help-help]
|
||||
Abley, J. and W. Maton, "I'm Being Attacked by
|
||||
PRISONER.IANA.ORG!",
|
||||
draft-ietf-dnsop-as112-under-attack-help-help-00 (work in
|
||||
progress), February 2007.
|
||||
|
||||
[RFC 3330]
|
||||
"Special-Use IPv4 Addresses", RFC 3330, September 2002.
|
||||
|
||||
|
||||
Appendix A. Change History [To Be Removed on Publication]
|
||||
|
||||
A.1. draft-ietf-dnsop-default-local-zones-03.txt
|
||||
|
||||
expanded section 4 descriptions
|
||||
|
||||
Added references [RFC 2136], [RFC 3596],
|
||||
[I-D.draft-ietf-dnsop-as112-ops] and
|
||||
[I-D.draft-ietf-dnsop-as112-under-attack-help-help].
|
||||
|
||||
Revised language.
|
||||
|
||||
A.2. draft-ietf-dnsop-default-local-zones-02.txt
|
||||
|
||||
RNAME now "nobody.invalid."
|
||||
|
||||
Revised language.
|
||||
|
||||
A.3. draft-ietf-dnsop-default-local-zones-01.txt
|
||||
|
||||
Revised impact description.
|
||||
|
||||
Updated to reflect change in IP6.INT status.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 10]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
A.4. draft-ietf-dnsop-default-local-zones-00.txt
|
||||
|
||||
Adopted by DNSOP.
|
||||
|
||||
"Author's Note" re-titled "Zones that are Out-Of-Scope"
|
||||
|
||||
Add note that these zone are expected to seed the IANA registry.
|
||||
|
||||
Title changed.
|
||||
|
||||
A.5. draft-andrews-full-service-resolvers-03.txt
|
||||
|
||||
Added "Proposed Status".
|
||||
|
||||
A.6. draft-andrews-full-service-resolvers-02.txt
|
||||
|
||||
Added 0.IN-ADDR.ARPA.
|
||||
|
||||
|
||||
Appendix B. Proposed Status [To Be Removed on Publication]
|
||||
|
||||
This Internet-Draft is being submitted for eventual publication as an
|
||||
RFC with a proposed status of Best Current Practice.
|
||||
|
||||
|
||||
Author's Address
|
||||
|
||||
Mark P. Andrews
|
||||
Internet Systems Consortium
|
||||
950 Charter Street
|
||||
Redwood City, CA 94063
|
||||
US
|
||||
|
||||
Email: Mark_Andrews@isc.org
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 11]
|
||||
|
||||
Internet-Draft Locally-served DNS Zones November 2007
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The IETF Trust (2007).
|
||||
|
||||
This document is subject to the rights, licenses and restrictions
|
||||
contained in BCP 78, and except as set forth therein, the authors
|
||||
retain all their rights.
|
||||
|
||||
This document and the information contained herein are provided on an
|
||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
||||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
||||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
Intellectual Property
|
||||
|
||||
The IETF takes no position regarding the validity or scope of any
|
||||
Intellectual Property Rights or other rights that might be claimed to
|
||||
pertain to the implementation or use of the technology described in
|
||||
this document or the extent to which any license under such rights
|
||||
might or might not be available; nor does it represent that it has
|
||||
made any independent effort to identify any such rights. Information
|
||||
on the procedures with respect to rights in RFC documents can be
|
||||
found in BCP 78 and BCP 79.
|
||||
|
||||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||||
assurances of licenses to be made available, or the result of an
|
||||
attempt made to obtain a general license or permission for the use of
|
||||
such proprietary rights by implementers or users of this
|
||||
specification can be obtained from the IETF on-line IPR repository at
|
||||
http://www.ietf.org/ipr.
|
||||
|
||||
The IETF invites any interested party to bring to its attention any
|
||||
copyrights, patents or patent applications, or other proprietary
|
||||
rights that may cover technology that may be required to implement
|
||||
this standard. Please address the information to the IETF at
|
||||
ietf-ipr@ietf.org.
|
||||
|
||||
|
||||
Acknowledgment
|
||||
|
||||
Funding for the RFC Editor function is provided by the IETF
|
||||
Administrative Support Activity (IASA).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Andrews Expires May 22, 2008 [Page 12]
|
||||
|
||||
@@ -12,6 +12,9 @@ Branch Status Whom // Comments
|
||||
custom_AFILIAS_v9_4_1_P1 private marka // 2007-08-30 01:11 +0000
|
||||
custom_AFIS_v9_4_0 private marka // 2007-04-23 05:08 +0000
|
||||
custom_ALLIANZ_v9_4_1_P1 private marka // 2007-08-03 04:51 +0000
|
||||
custom_ALLIANZ_v9_4_2 new marka // 2007-11-23 04:32 +0000
|
||||
custom_CISCO_v9_3_4_P1 new marka // 2007-11-23 04:19 +0000
|
||||
custom_NOM_v9_5_0a7 new
|
||||
custom_UTK_v9_4_0 private marka // 2007-04-23 13:35 +0000
|
||||
custom_UTK_v9_4_1 private marka // 2007-04-30 01:51 +0000
|
||||
custom_WFB_v9_3_1 private
|
||||
@@ -26,6 +29,7 @@ jinmei-mmapzone-test open // mmap based zone file. very experimental, just for
|
||||
jinmei_libdnsng open
|
||||
jinmei_lrucache open
|
||||
libbind_clean open jinmei
|
||||
make new
|
||||
marka_libdnsng open
|
||||
mlg-20000518 open explorer
|
||||
newresolver0 open
|
||||
@@ -83,6 +87,8 @@ rt17235 new marka // 2007-10-19 01:19 +0000
|
||||
rt17236 new shane // 2007-10-29 16:43 +0000
|
||||
rt17237 open fdupont // re-signing
|
||||
rt1727 open // ixfr-from-differences workfile
|
||||
rt17272 new each // 2007-11-19 21:28 +0000
|
||||
rt17307 new marka // 2007-11-26 03:55 +0000
|
||||
shane_dbbackend open
|
||||
skan open explorer
|
||||
skan-metazones1 private explorer
|
||||
@@ -95,6 +101,7 @@ skan_stats4 open explorer
|
||||
sp1213 open
|
||||
sp1324 new marka // 2007-06-29 05:40 +0000
|
||||
sp1705 new
|
||||
sp1705a new
|
||||
stats_lidl open
|
||||
v6source open
|
||||
v9_1 active // security fixes only
|
||||
|
||||
@@ -10,3 +10,6 @@ custom_AFILIAS_v9_4_1_P1
|
||||
custom_AFIS_v9_4_0
|
||||
custom_UTK_v9_4_0
|
||||
custom_UTK_v9_4_1
|
||||
custom_NOM_v9_5_0a7
|
||||
custom_CISCO_v9_3_4_P1
|
||||
custom_ALLIANZ_v9_4_2
|
||||
|
||||
@@ -0,0 +1,675 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Network Working Group M. Stapp
|
||||
Request for Comments: 4701 Cisco Systems, Inc.
|
||||
Category: Standards Track T. Lemon
|
||||
Nominum, Inc.
|
||||
A. Gustafsson
|
||||
Araneus Information Systems Oy
|
||||
October 2006
|
||||
|
||||
|
||||
A DNS Resource Record (RR) for Encoding
|
||||
Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR)
|
||||
|
||||
Status of This Memo
|
||||
|
||||
This document specifies an Internet standards track protocol for the
|
||||
Internet community, and requests discussion and suggestions for
|
||||
improvements. Please refer to the current edition of the "Internet
|
||||
Official Protocol Standards" (STD 1) for the standardization state
|
||||
and status of this protocol. Distribution of this memo is unlimited.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The Internet Society (2006).
|
||||
|
||||
Abstract
|
||||
|
||||
It is possible for Dynamic Host Configuration Protocol (DHCP) clients
|
||||
to attempt to update the same DNS Fully Qualified Domain Name (FQDN)
|
||||
or to update a DNS FQDN that has been added to the DNS for another
|
||||
purpose as they obtain DHCP leases. Whether the DHCP server or the
|
||||
clients themselves perform the DNS updates, conflicts can arise. To
|
||||
resolve such conflicts, RFC 4703 proposes storing client identifiers
|
||||
in the DNS to unambiguously associate domain names with the DHCP
|
||||
clients to which they refer. This memo defines a distinct Resource
|
||||
Record (RR) type for this purpose for use by DHCP clients and
|
||||
servers: the "DHCID" RR.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 1]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Introduction ....................................................3
|
||||
2. Terminology .....................................................3
|
||||
3. The DHCID RR ....................................................3
|
||||
3.1. DHCID RDATA Format .........................................3
|
||||
3.2. DHCID Presentation Format ..................................4
|
||||
3.3. The DHCID RR Identifier Type Codes .........................4
|
||||
3.4. The DHCID RR Digest Type Code ..............................4
|
||||
3.5. Computation of the RDATA ...................................5
|
||||
3.5.1. Using the Client's DUID .............................5
|
||||
3.5.2. Using the Client Identifier Option ..................6
|
||||
3.5.3. Using the Client's htype and chaddr .................6
|
||||
3.6. Examples ...................................................6
|
||||
3.6.1. Example 1 ...........................................6
|
||||
3.6.2. Example 2 ...........................................7
|
||||
3.6.3. Example 3 ...........................................7
|
||||
4. Use of the DHCID RR .............................................8
|
||||
5. Updater Behavior ................................................8
|
||||
6. Security Considerations .........................................8
|
||||
7. IANA Considerations .............................................9
|
||||
8. Acknowledgements ................................................9
|
||||
9. References ......................................................9
|
||||
9.1. Normative References .......................................9
|
||||
9.2. Informative References ....................................10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 2]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
A set of procedures to allow DHCP [7] [11] clients and servers to
|
||||
automatically update the DNS ([3], [4]) is proposed in [1].
|
||||
|
||||
Conflicts can arise if multiple DHCP clients wish to use the same DNS
|
||||
name or a DHCP client attempts to use a name added for another
|
||||
purpose. To resolve such conflicts, [1] proposes storing client
|
||||
identifiers in the DNS to unambiguously associate domain names with
|
||||
the DHCP clients using them. In the interest of clarity, it is
|
||||
preferable for this DHCP information to use a distinct RR type. This
|
||||
memo defines a distinct RR for this purpose for use by DHCP clients
|
||||
or servers: the "DHCID" RR.
|
||||
|
||||
In order to obscure potentially sensitive client identifying
|
||||
information, the data stored is the result of a one-way SHA-256 hash
|
||||
computation. The hash includes information from the DHCP client's
|
||||
message as well as the domain name itself, so that the data stored in
|
||||
the DHCID RR will be dependent on both the client identification used
|
||||
in the DHCP protocol interaction and the domain name. This means
|
||||
that the DHCID RDATA will vary if a single client is associated over
|
||||
time with more than one name. This makes it difficult to 'track' a
|
||||
client as it is associated with various domain names.
|
||||
|
||||
2. Terminology
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
document are to be interpreted as described in [2].
|
||||
|
||||
3. The DHCID RR
|
||||
|
||||
The DHCID RR is defined with mnemonic DHCID and type code 49. The
|
||||
DHCID RR is only defined in the IN class. DHCID RRs cause no
|
||||
additional section processing.
|
||||
|
||||
3.1. DHCID RDATA Format
|
||||
|
||||
The RDATA section of a DHCID RR in transmission contains RDLENGTH
|
||||
octets of binary data. The format of this data and its
|
||||
interpretation by DHCP servers and clients are described below.
|
||||
|
||||
DNS software should consider the RDATA section to be opaque. DHCP
|
||||
clients or servers use the DHCID RR to associate a DHCP client's
|
||||
identity with a DNS name, so that multiple DHCP clients and servers
|
||||
may deterministically perform dynamic DNS updates to the same zone.
|
||||
From the updater's perspective, the DHCID resource record RDATA
|
||||
consists of a 2-octet identifier type, in network byte order,
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 3]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
followed by a 1-octet digest type, followed by one or more octets
|
||||
representing the actual identifier:
|
||||
|
||||
< 2 octets > Identifier type code
|
||||
< 1 octet > Digest type code
|
||||
< n octets > Digest (length depends on digest type)
|
||||
|
||||
3.2. DHCID Presentation Format
|
||||
|
||||
In DNS master files, the RDATA is represented as a single block in
|
||||
base-64 encoding identical to that used for representing binary data
|
||||
in [8], Section 3. The data may be divided up into any number of
|
||||
white-space-separated substrings, down to single base-64 digits,
|
||||
which are concatenated to form the complete RDATA. These substrings
|
||||
can span lines using the standard parentheses.
|
||||
|
||||
3.3. The DHCID RR Identifier Type Codes
|
||||
|
||||
The DHCID RR Identifier Type Code specifies what data from the DHCP
|
||||
client's request was used as input into the hash function. The
|
||||
identifier type codes are defined in a registry maintained by IANA,
|
||||
as specified in Section 7. The initial list of assigned values for
|
||||
the identifier type code and that type's identifier is:
|
||||
|
||||
|
||||
+------------------+------------------------------------------------+
|
||||
| Identifier Type | Identifier |
|
||||
| Code | |
|
||||
+------------------+------------------------------------------------+
|
||||
| 0x0000 | The 1-octet 'htype' followed by 'hlen' octets |
|
||||
| | of 'chaddr' from a DHCPv4 client's DHCPREQUEST |
|
||||
| | [7]. |
|
||||
| 0x0001 | The data octets (i.e., the Type and |
|
||||
| | Client-Identifier fields) from a DHCPv4 |
|
||||
| | client's Client Identifier option [10]. |
|
||||
| 0x0002 | The client's DUID (i.e., the data octets of a |
|
||||
| | DHCPv6 client's Client Identifier option [11] |
|
||||
| | or the DUID field from a DHCPv4 client's |
|
||||
| | Client Identifier option [6]). |
|
||||
| 0x0003 - 0xfffe | Undefined; available to be assigned by IANA. |
|
||||
| 0xffff | Undefined; RESERVED. |
|
||||
+------------------+------------------------------------------------+
|
||||
|
||||
3.4. The DHCID RR Digest Type Code
|
||||
|
||||
The DHCID RR Digest Type Code is an identifier for the digest
|
||||
algorithm used. The digest is calculated over an identifier and the
|
||||
canonical FQDN as described in the next section.
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 4]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
The digest type codes are defined in a registry maintained by IANA,
|
||||
as specified in Section 7. The initial list of assigned values for
|
||||
the digest type codes is: value 0 is reserved, and value 1 is
|
||||
SHA-256. Reserving other types requires IETF standards action.
|
||||
Defining new values will also require IETF standards action to
|
||||
document how DNS updaters are to deal with multiple digest types.
|
||||
|
||||
3.5. Computation of the RDATA
|
||||
|
||||
The DHCID RDATA is formed by concatenating the 2-octet identifier
|
||||
type code with variable-length data.
|
||||
|
||||
The RDATA for all type codes other than 0xffff, which is reserved for
|
||||
future expansion, is formed by concatenating the 2-octet identifier
|
||||
type code, the 1-octet digest type code, and the digest value (32
|
||||
octets for SHA-256).
|
||||
|
||||
< identifier-type > < digest-type > < digest >
|
||||
|
||||
The input to the digest hash function is defined to be:
|
||||
|
||||
digest = SHA-256(< identifier > < FQDN >)
|
||||
|
||||
The FQDN is represented in the buffer in the canonical wire format as
|
||||
described in [9], Section 6.2. The identifier type code and the
|
||||
identifier are related as specified in Section 3.3: the identifier
|
||||
type code describes the source of the identifier.
|
||||
|
||||
A DHCPv4 updater uses the 0x0002 type code if a Client Identifier
|
||||
option is present in the DHCPv4 messages and it is encoded as
|
||||
specified in [6]. Otherwise, the updater uses 0x0001 if a Client
|
||||
Identifier option is present, and 0x0000 if not.
|
||||
|
||||
A DHCPv6 updater always uses the 0x0002 type code.
|
||||
|
||||
3.5.1. Using the Client's DUID
|
||||
|
||||
When the updater is using the Client's DUID (either from a DHCPv6
|
||||
Client Identifier option or from a portion of the DHCPv4 Client
|
||||
Identifier option encoded as specified in [6]), the first two octets
|
||||
of the DHCID RR MUST be 0x0002, in network byte order. The third
|
||||
octet is the digest type code (1 for SHA-256). The rest of the DHCID
|
||||
RR MUST contain the results of computing the SHA-256 hash across the
|
||||
octets of the DUID followed by the FQDN.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 5]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
3.5.2. Using the Client Identifier Option
|
||||
|
||||
When the updater is using the DHCPv4 Client Identifier option sent by
|
||||
the client in its DHCPREQUEST message, the first two octets of the
|
||||
DHCID RR MUST be 0x0001, in network byte order. The third octet is
|
||||
the digest type code (1 for SHA-256). The rest of the DHCID RR MUST
|
||||
contain the results of computing the SHA-256 hash across the data
|
||||
octets (i.e., the Type and Client-Identifier fields) of the option,
|
||||
followed by the FQDN.
|
||||
|
||||
3.5.3. Using the Client's htype and chaddr
|
||||
|
||||
When the updater is using the client's link-layer address as the
|
||||
identifier, the first two octets of the DHCID RDATA MUST be zero.
|
||||
The third octet is the digest type code (1 for SHA-256). To generate
|
||||
the rest of the resource record, the updater computes a one-way hash
|
||||
using the SHA-256 algorithm across a buffer containing the client's
|
||||
network hardware type, link-layer address, and the FQDN data.
|
||||
Specifically, the first octet of the buffer contains the network
|
||||
hardware type as it appeared in the DHCP 'htype' field of the
|
||||
client's DHCPREQUEST message. All of the significant octets of the
|
||||
'chaddr' field in the client's DHCPREQUEST message follow, in the
|
||||
same order in which the octets appear in the DHCPREQUEST message.
|
||||
The number of significant octets in the 'chaddr' field is specified
|
||||
in the 'hlen' field of the DHCPREQUEST message. The FQDN data, as
|
||||
specified above, follows.
|
||||
|
||||
3.6. Examples
|
||||
|
||||
3.6.1. Example 1
|
||||
|
||||
A DHCP server allocates the IPv6 address 2001:DB8::1234:5678 to a
|
||||
client that included the DHCPv6 client-identifier option data 00:01:
|
||||
00:06:41:2d:f1:66:01:02:03:04:05:06 in its DHCPv6 request. The
|
||||
server updates the name "chi6.example.com" on the client's behalf and
|
||||
uses the DHCP client identifier option data as input in forming a
|
||||
DHCID RR. The DHCID RDATA is formed by setting the two type octets
|
||||
to the value 0x0002, the 1-octet digest type to 1 for SHA-256, and
|
||||
performing a SHA-256 hash computation across a buffer containing the
|
||||
14 octets from the client-id option and the FQDN (represented as
|
||||
specified in Section 3.5).
|
||||
|
||||
chi6.example.com. AAAA 2001:DB8::1234:5678
|
||||
chi6.example.com. DHCID ( AAIBY2/AuCccgoJbsaxcQc9TUapptP69l
|
||||
OjxfNuVAA2kjEA= )
|
||||
|
||||
If the DHCID RR type is not supported, the RDATA would be encoded
|
||||
[13] as:
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 6]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
\# 35 ( 000201636fc0b8271c82825bb1ac5c41cf5351aa69b4febd94e8f17cd
|
||||
b95000da48c40 )
|
||||
|
||||
3.6.2. Example 2
|
||||
|
||||
A DHCP server allocates the IPv4 address 192.0.2.2 to a client that
|
||||
included the DHCP client-identifier option data 01:07:08:09:0a:0b:0c
|
||||
in its DHCP request. The server updates the name "chi.example.com"
|
||||
on the client's behalf and uses the DHCP client identifier option
|
||||
data as input in forming a DHCID RR. The DHCID RDATA is formed by
|
||||
setting the two type octets to the value 0x0001, the 1-octet digest
|
||||
type to 1 for SHA-256, and performing a SHA-256 hash computation
|
||||
across a buffer containing the seven octets from the client-id option
|
||||
and the FQDN (represented as specified in Section 3.5).
|
||||
|
||||
chi.example.com. A 192.0.2.2
|
||||
chi.example.com. DHCID ( AAEBOSD+XR3Os/0LozeXVqcNc7FwCfQdW
|
||||
L3b/NaiUDlW2No= )
|
||||
|
||||
If the DHCID RR type is not supported, the RDATA would be encoded
|
||||
[13] as:
|
||||
|
||||
\# 35 ( 0001013920fe5d1dceb3fd0ba3379756a70d73b17009f41d58bddbfcd
|
||||
6a2503956d8da )
|
||||
|
||||
3.6.3. Example 3
|
||||
|
||||
A DHCP server allocating the IPv4 address 192.0.2.3 to a client with
|
||||
the Ethernet MAC address 01:02:03:04:05:06 using domain name
|
||||
"client.example.com" uses the client's link-layer address to identify
|
||||
the client. The DHCID RDATA is composed by setting the two type
|
||||
octets to zero, the 1-octet digest type to 1 for SHA-256, and
|
||||
performing an SHA-256 hash computation across a buffer containing the
|
||||
1-octet 'htype' value for Ethernet, 0x01, followed by the six octets
|
||||
of the Ethernet MAC address, and the domain name (represented as
|
||||
specified in Section 3.5).
|
||||
|
||||
client.example.com. A 192.0.2.3
|
||||
client.example.com. DHCID ( AAABxLmlskllE0MVjd57zHcWmEH3pCQ6V
|
||||
ytcKD//7es/deY= )
|
||||
|
||||
If the DHCID RR type is not supported, the RDATA would be encoded
|
||||
[13] as:
|
||||
|
||||
\# 35 ( 000001c4b9a5b249651343158dde7bcc77169841f7a4243a572b5c283
|
||||
fffedeb3f75e6 )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 7]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
4. Use of the DHCID RR
|
||||
|
||||
This RR MUST NOT be used for any purpose other than that detailed in
|
||||
[1]. Although this RR contains data that is opaque to DNS servers,
|
||||
the data must be consistent across all entities that update and
|
||||
interpret this record. Therefore, new data formats may only be
|
||||
defined through actions of the DHC Working Group, as a result of
|
||||
revising [1].
|
||||
|
||||
5. Updater Behavior
|
||||
|
||||
The data in the DHCID RR allows updaters to determine whether more
|
||||
than one DHCP client desires to use a particular FQDN. This allows
|
||||
site administrators to establish policy about DNS updates. The DHCID
|
||||
RR does not establish any policy itself.
|
||||
|
||||
Updaters use data from a DHCP client's request and the domain name
|
||||
that the client desires to use to compute a client identity hash, and
|
||||
then compare that hash to the data in any DHCID RRs on the name that
|
||||
they wish to associate with the client's IP address. If an updater
|
||||
discovers DHCID RRs whose RDATA does not match the client identity
|
||||
that they have computed, the updater SHOULD conclude that a different
|
||||
client is currently associated with the name in question. The
|
||||
updater SHOULD then proceed according to the site's administrative
|
||||
policy. That policy might dictate that a different name be selected,
|
||||
or it might permit the updater to continue.
|
||||
|
||||
6. Security Considerations
|
||||
|
||||
The DHCID record as such does not introduce any new security problems
|
||||
into the DNS. In order to obscure the client's identity information,
|
||||
a one-way hash is used. Further, in order to make it difficult to
|
||||
'track' a client by examining the names associated with a particular
|
||||
hash value, the FQDN is included in the hash computation. Thus, the
|
||||
RDATA is dependent on both the DHCP client identification data and on
|
||||
each FQDN associated with the client.
|
||||
|
||||
However, it should be noted that an attacker that has some knowledge,
|
||||
such as of MAC addresses commonly used in DHCP client identification
|
||||
data, may be able to discover the client's DHCP identify by using a
|
||||
brute-force attack. Even without any additional knowledge, the
|
||||
number of unknown bits used in computing the hash is typically only
|
||||
48 to 80.
|
||||
|
||||
Administrators should be wary of permitting unsecured DNS updates to
|
||||
zones, whether or not they are exposed to the global Internet. Both
|
||||
DHCP clients and servers SHOULD use some form of update
|
||||
authentication (e.g., [12]) when performing DNS updates.
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 8]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
7. IANA Considerations
|
||||
|
||||
IANA has allocated a DNS RR type number for the DHCID record type.
|
||||
|
||||
This specification defines a new number-space for the 2-octet
|
||||
identifier type codes associated with the DHCID RR. IANA has
|
||||
established a registry of the values for this number-space. Three
|
||||
initial values are assigned in Section 3.3, and the value 0xFFFF is
|
||||
reserved for future use. New DHCID RR identifier type codes are
|
||||
assigned through Standards Action, as defined in [5].
|
||||
|
||||
This specification defines a new number-space for the 1-octet digest
|
||||
type codes associated with the DHCID RR. IANA has established a
|
||||
registry of the values for this number-space. Two initial values are
|
||||
assigned in Section 3.4. New DHCID RR digest type codes are assigned
|
||||
through Standards Action, as defined in [5].
|
||||
|
||||
8. Acknowledgements
|
||||
|
||||
Many thanks to Harald Alvestrand, Ralph Droms, Olafur Gudmundsson,
|
||||
Sam Hartman, Josh Littlefield, Pekka Savola, and especially Bernie
|
||||
Volz for their review and suggestions.
|
||||
|
||||
9. References
|
||||
|
||||
9.1. Normative References
|
||||
|
||||
[1] Stapp, M. and B. Volz, "Resolution of Fully Qualified Domain
|
||||
Name (FQDN) Conflicts among Dynamic Host Configuration Protocol
|
||||
(DHCP) Clients", RFC 4703, October 2006.
|
||||
|
||||
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
|
||||
Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[3] Mockapetris, P., "Domain names - concepts and facilities",
|
||||
STD 13, RFC 1034, November 1987.
|
||||
|
||||
[4] Mockapetris, P., "Domain names - implementation and
|
||||
specification", STD 13, RFC 1035, November 1987.
|
||||
|
||||
[5] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
|
||||
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
|
||||
|
||||
[6] Lemon, T. and B. Sommerfeld, "Node-specific Client Identifiers
|
||||
for Dynamic Host Configuration Protocol Version Four (DHCPv4)",
|
||||
RFC 4361, February 2006.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 9]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
9.2. Informative References
|
||||
|
||||
[7] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
|
||||
March 1997.
|
||||
|
||||
[8] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings",
|
||||
RFC 3548, July 2003.
|
||||
|
||||
[9] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
|
||||
"Resource Records for the DNS Security Extensions", RFC 4034,
|
||||
March 2005.
|
||||
|
||||
[10] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
|
||||
Extensions", RFC 2132, March 1997.
|
||||
|
||||
[11] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M.
|
||||
Carney, "Dynamic Host Configuration Protocol for IPv6
|
||||
(DHCPv6)", RFC 3315, July 2003.
|
||||
|
||||
[12] Vixie, P., Gudmundsson, O., Eastlake, D., and B. Wellington,
|
||||
"Secret Key Transaction Authentication for DNS (TSIG)",
|
||||
RFC 2845, May 2000.
|
||||
|
||||
[13] Gustafsson, A., "Handling of Unknown DNS Resource Record (RR)
|
||||
Types", RFC 3597, September 2003.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 10]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
Mark Stapp
|
||||
Cisco Systems, Inc.
|
||||
1414 Massachusetts Ave.
|
||||
Boxborough, MA 01719
|
||||
USA
|
||||
|
||||
Phone: 978.936.1535
|
||||
EMail: mjs@cisco.com
|
||||
|
||||
|
||||
Ted Lemon
|
||||
Nominum, Inc.
|
||||
950 Charter St.
|
||||
Redwood City, CA 94063
|
||||
USA
|
||||
|
||||
EMail: mellon@nominum.com
|
||||
|
||||
|
||||
Andreas Gustafsson
|
||||
Araneus Information Systems Oy
|
||||
Ulappakatu 1
|
||||
02320 Espoo
|
||||
Finland
|
||||
|
||||
EMail: gson@araneus.fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 11]
|
||||
|
||||
RFC 4701 The DHCID RR October 2006
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The Internet Society (2006).
|
||||
|
||||
This document is subject to the rights, licenses and restrictions
|
||||
contained in BCP 78, and except as set forth therein, the authors
|
||||
retain all their rights.
|
||||
|
||||
This document and the information contained herein are provided on an
|
||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
|
||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
|
||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
Intellectual Property
|
||||
|
||||
The IETF takes no position regarding the validity or scope of any
|
||||
Intellectual Property Rights or other rights that might be claimed to
|
||||
pertain to the implementation or use of the technology described in
|
||||
this document or the extent to which any license under such rights
|
||||
might or might not be available; nor does it represent that it has
|
||||
made any independent effort to identify any such rights. Information
|
||||
on the procedures with respect to rights in RFC documents can be
|
||||
found in BCP 78 and BCP 79.
|
||||
|
||||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||||
assurances of licenses to be made available, or the result of an
|
||||
attempt made to obtain a general license or permission for the use of
|
||||
such proprietary rights by implementers or users of this
|
||||
specification can be obtained from the IETF on-line IPR repository at
|
||||
http://www.ietf.org/ipr.
|
||||
|
||||
The IETF invites any interested party to bring to its attention any
|
||||
copyrights, patents or patent applications, or other proprietary
|
||||
rights that may cover technology that may be required to implement
|
||||
this standard. Please address the information to the IETF at
|
||||
ietf-ipr@ietf.org.
|
||||
|
||||
Acknowledgement
|
||||
|
||||
Funding for the RFC Editor function is provided by the IETF
|
||||
Administrative Support Activity (IASA).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stapp, et al. Standards Track [Page 12]
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
platform.h
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: platform.h.in,v 1.2.2.2 2008/01/23 02:15:32 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#ifndef ISC_PLATFORM_H
|
||||
#define ISC_PLATFORM_H
|
||||
|
||||
/*
|
||||
* Define if the OS does not define struct timespec.
|
||||
*/
|
||||
@ISC_PLATFORM_NEEDTIMESPEC@
|
||||
#ifdef ISC_PLATFORM_NEEDTIMESPEC
|
||||
#include <time.h> /* For time_t */
|
||||
struct timespec {
|
||||
time_t tv_sec; /* seconds */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: check.c,v 1.83 2007/09/13 04:45:18 each Exp $ */
|
||||
/* $Id: check.c,v 1.84 2007/11/26 01:51:32 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -2083,7 +2083,7 @@ bind9_check_namedconf(const cfg_obj_t *config, isc_log_t *logctx,
|
||||
"previous definition: %s:%u",
|
||||
key, file, line);
|
||||
result = tresult;
|
||||
} else if (result != ISC_R_SUCCESS) {
|
||||
} else if (tresult != ISC_R_SUCCESS) {
|
||||
result = tresult;
|
||||
} else if ((strcasecmp(key, "_bind") == 0 &&
|
||||
vclass == dns_rdataclass_ch) ||
|
||||
|
||||
@@ -364,6 +364,7 @@ dns_peer_getsupportedns
|
||||
dns_peer_gettransferformat
|
||||
dns_peer_gettransfers
|
||||
dns_peer_new
|
||||
dns_peer_newprefix
|
||||
dns_peer_setbogus
|
||||
dns_peer_setkey
|
||||
dns_peer_setkeybycharp
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: portset.h,v 1.3.2.2 2008/06/24 23:46:26 tbox Exp $ */
|
||||
|
||||
/*! \file isc/portset.h
|
||||
* \brief Transport Protocol Port Manipuration Module
|
||||
*
|
||||
* This module provides simple utilities to handle a set of transport protocol
|
||||
* (UDP or TCP) port numbers, e.g., for creating an ACL list. An isc_portset_t
|
||||
* object is an opaque instance of a port set, for which the user can add or
|
||||
* remove a specific port or a range of consecutive ports. This object is
|
||||
* expected to be used as a temporary work space only, and does not protect
|
||||
* simultaneous access from multiple threads. Therefore it must not be stored
|
||||
* in a place that can be accessed from multiple threads.
|
||||
*/
|
||||
|
||||
#ifndef ISC_PORTSET_H
|
||||
#define ISC_PORTSET_H 1
|
||||
|
||||
/***
|
||||
*** Imports
|
||||
***/
|
||||
|
||||
#include <isc/net.h>
|
||||
|
||||
/***
|
||||
*** Functions
|
||||
***/
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
isc_result_t
|
||||
isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp);
|
||||
/*%<
|
||||
* Create a port set and initialize it as an empty set.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'mctx' to be valid.
|
||||
*\li 'portsetp' to be non NULL and '*portsetp' to be NULL;
|
||||
*
|
||||
* Returns:
|
||||
*\li #ISC_R_SUCCESS
|
||||
*\li #ISC_R_NOMEMORY
|
||||
*/
|
||||
|
||||
void
|
||||
isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp);
|
||||
/*%<
|
||||
* Destroy a port set.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'mctx' to be valid and must be the same context given when the port set
|
||||
* was created.
|
||||
*\li '*portsetp' to be a valid set.
|
||||
*/
|
||||
|
||||
isc_boolean_t
|
||||
isc_portset_isset(isc_portset_t *portset, in_port_t port);
|
||||
/*%<
|
||||
* Test whether the given port is stored in the portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portset' to be a valid set.
|
||||
*
|
||||
* Returns
|
||||
* \li #ISC_TRUE if the port is found, ISC_FALSE otherwise.
|
||||
*/
|
||||
|
||||
unsigned int
|
||||
isc_portset_nports(isc_portset_t *portset);
|
||||
/*%<
|
||||
* Provides the number of ports stored in the given portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portset' to be a valid set.
|
||||
*
|
||||
* Returns
|
||||
* \li the number of ports stored in portset.
|
||||
*/
|
||||
|
||||
void
|
||||
isc_portset_add(isc_portset_t *portset, in_port_t port);
|
||||
/*%<
|
||||
* Add the given port to the portset. The port may or may not be stored in
|
||||
* the portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portlist' to be valid.
|
||||
*/
|
||||
|
||||
void
|
||||
isc_portset_remove(isc_portset_t *portset, in_port_t port);
|
||||
/*%<
|
||||
* Remove the given port to the portset. The port may or may not be stored in
|
||||
* the portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portlist' to be valid.
|
||||
*/
|
||||
|
||||
void
|
||||
isc_portset_addrange(isc_portset_t *portset, in_port_t port_lo,
|
||||
in_port_t port_hi);
|
||||
/*%<
|
||||
* Add a subset of [port_lo, port_hi] (inclusive) to the portset. Ports in the
|
||||
* subset may or may not be stored in portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portlist' to be valid.
|
||||
*\li port_lo <= port_hi
|
||||
*/
|
||||
|
||||
void
|
||||
isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo,
|
||||
in_port_t port_hi);
|
||||
/*%<
|
||||
* Subtract a subset of [port_lo, port_hi] (inclusive) from the portset. Ports
|
||||
* in the subset may or may not be stored in portset.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'portlist' to be valid.
|
||||
*\li port_lo <= port_hi
|
||||
*/
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif /* ISC_NETADDR_H */
|
||||
+3
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: mem.c,v 1.136 2007/10/30 23:30:09 marka Exp $ */
|
||||
/* $Id: mem.c,v 1.137 2007/11/26 04:27:19 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -907,7 +907,8 @@ destroy(isc_mem_t *ctx) {
|
||||
for (i = 0; i < ctx->basic_table_count; i++)
|
||||
(ctx->memfree)(ctx->arg, ctx->basic_table[i]);
|
||||
(ctx->memfree)(ctx->arg, ctx->freelists);
|
||||
(ctx->memfree)(ctx->arg, ctx->basic_table);
|
||||
if (ctx->basic_table != NULL)
|
||||
(ctx->memfree)(ctx->arg, ctx->basic_table);
|
||||
}
|
||||
|
||||
ondest = ctx->ondestroy;
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: portset.c,v 1.2.2.3 2008/06/24 23:26:49 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <isc/mem.h>
|
||||
#include <isc/portset.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/types.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#define ISC_PORTSET_BUFSIZE (65536 / (sizeof(isc_uint32_t) * 8))
|
||||
|
||||
/*%
|
||||
* Internal representation of portset. It's an array of 32-bit integers, each
|
||||
* bit corresponding to a single port in the ascending order. For example,
|
||||
* the second most significant bit of buf[0] corresponds to port 1.
|
||||
*/
|
||||
struct isc_portset {
|
||||
unsigned int nports; /*%< number of ports in the set */
|
||||
isc_uint32_t buf[ISC_PORTSET_BUFSIZE];
|
||||
};
|
||||
|
||||
static inline isc_boolean_t
|
||||
portset_isset(isc_portset_t *portset, in_port_t port) {
|
||||
return (ISC_TF((portset->buf[port >> 5] & (1 << (port & 31))) != 0));
|
||||
}
|
||||
|
||||
static inline void
|
||||
portset_add(isc_portset_t *portset, in_port_t port) {
|
||||
if (!portset_isset(portset, port)) {
|
||||
portset->nports++;
|
||||
portset->buf[port >> 5] |= (1 << (port & 31));
|
||||
}
|
||||
}
|
||||
|
||||
static inline void
|
||||
portset_remove(isc_portset_t *portset, in_port_t port) {
|
||||
if (portset_isset(portset, port)) {
|
||||
portset->nports--;
|
||||
portset->buf[port >> 5] &= ~(1 << (port & 31));
|
||||
}
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp) {
|
||||
isc_portset_t *portset;
|
||||
|
||||
REQUIRE(portsetp != NULL && *portsetp == NULL);
|
||||
|
||||
portset = isc_mem_get(mctx, sizeof(*portset));
|
||||
if (portset == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
|
||||
/* Make the set 'empty' by default */
|
||||
memset(portset, 0, sizeof(*portset));
|
||||
*portsetp = portset;
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
void
|
||||
isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp) {
|
||||
isc_portset_t *portset;
|
||||
|
||||
REQUIRE(portsetp != NULL);
|
||||
portset = *portsetp;
|
||||
|
||||
isc_mem_put(mctx, portset, sizeof(*portset));
|
||||
}
|
||||
|
||||
isc_boolean_t
|
||||
isc_portset_isset(isc_portset_t *portset, in_port_t port) {
|
||||
REQUIRE(portset != NULL);
|
||||
|
||||
return (portset_isset(portset, port));
|
||||
}
|
||||
|
||||
unsigned int
|
||||
isc_portset_nports(isc_portset_t *portset) {
|
||||
REQUIRE(portset != NULL);
|
||||
|
||||
return (portset->nports);
|
||||
}
|
||||
|
||||
void
|
||||
isc_portset_add(isc_portset_t *portset, in_port_t port) {
|
||||
REQUIRE(portset != NULL);
|
||||
|
||||
portset_add(portset, port);
|
||||
}
|
||||
|
||||
void
|
||||
isc_portset_remove(isc_portset_t *portset, in_port_t port) {
|
||||
portset_remove(portset, port);
|
||||
}
|
||||
|
||||
void
|
||||
isc_portset_addrange(isc_portset_t *portset, in_port_t port_lo,
|
||||
in_port_t port_hi)
|
||||
{
|
||||
in_port_t p;
|
||||
|
||||
REQUIRE(portset != NULL);
|
||||
REQUIRE(port_lo <= port_hi);
|
||||
|
||||
p = port_lo;
|
||||
do {
|
||||
portset_add(portset, p);
|
||||
} while (p++ < port_hi);
|
||||
}
|
||||
|
||||
void
|
||||
isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo,
|
||||
in_port_t port_hi)
|
||||
{
|
||||
in_port_t p;
|
||||
|
||||
REQUIRE(portset != NULL);
|
||||
REQUIRE(port_lo <= port_hi);
|
||||
|
||||
p = port_lo;
|
||||
do {
|
||||
portset_remove(portset, p);
|
||||
} while (p++ < port_hi);
|
||||
}
|
||||
+7
-4
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: radix.c,v 1.7 2007/09/28 00:11:32 each Exp $ */
|
||||
/* $Id: radix.c,v 1.8 2007/11/27 19:14:45 each Exp $ */
|
||||
|
||||
/*
|
||||
* This source was adapted from MRT's RCS Ids:
|
||||
@@ -115,6 +115,10 @@ _ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t *prefix) {
|
||||
static int
|
||||
_comp_with_mask(void *addr, void *dest, u_int mask) {
|
||||
|
||||
/* Mask length of zero matches everything */
|
||||
if (mask == 0)
|
||||
return (1);
|
||||
|
||||
if (memcmp(addr, dest, mask / 8) == 0) {
|
||||
int n = mask / 8;
|
||||
int m = ((~0) << (8 - (mask % 8)));
|
||||
@@ -297,7 +301,6 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
|
||||
prefix = source->prefix;
|
||||
|
||||
INSIST(prefix != NULL);
|
||||
|
||||
if (radix->head == NULL) {
|
||||
node = isc_mem_get(radix->mctx, sizeof(isc_radix_node_t));
|
||||
if (node == NULL)
|
||||
@@ -324,7 +327,6 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
|
||||
node = radix->head;
|
||||
|
||||
while (node->bit < bitlen || node->prefix == NULL) {
|
||||
|
||||
if (node->bit < radix->maxbits &&
|
||||
BIT_TEST(addr[node->bit >> 3], 0x80 >> (node->bit & 0x07)))
|
||||
{
|
||||
@@ -379,7 +381,8 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
|
||||
result = _ref_prefix(radix->mctx, &node->prefix, prefix);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
INSIST(node->data == NULL);
|
||||
INSIST(node->data == NULL && node->node_num == -1);
|
||||
node->node_num = ++radix->num_added_node;
|
||||
*target = node;
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
+21
-7
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: aclconf.c,v 1.14 2007/10/19 00:28:20 each Exp $ */
|
||||
/* $Id: aclconf.c,v 1.15 2007/11/19 23:13:28 each Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -299,14 +299,28 @@ cfg_acl_fromconfig(const cfg_obj_t *caml,
|
||||
const char *name = cfg_obj_asstring(ce);
|
||||
if (strcasecmp(name, "any") == 0) {
|
||||
/* iptable entry with zero bit length */
|
||||
dns_iptable_addprefix(iptab, NULL, 0,
|
||||
ISC_TRUE);
|
||||
continue;
|
||||
result = dns_iptable_addprefix(iptab, NULL, 0,
|
||||
ISC_TF(nest_level != 0 || !neg));
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
if (nest_level != 0) {
|
||||
de->type = dns_aclelementtype_nestedacl;
|
||||
de->negative = neg;
|
||||
} else
|
||||
continue;
|
||||
} else if (strcasecmp(name, "none") == 0) {
|
||||
/* negated "any" */
|
||||
dns_iptable_addprefix(iptab, NULL, 0,
|
||||
ISC_FALSE);
|
||||
continue;
|
||||
result = dns_iptable_addprefix(iptab, NULL, 0,
|
||||
ISC_TF(nest_level != 0 || neg));
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
if (nest_level != 0) {
|
||||
de->type = dns_aclelementtype_nestedacl;
|
||||
de->negative = !neg;
|
||||
} else
|
||||
continue;
|
||||
} else if (strcasecmp(name, "localhost") == 0) {
|
||||
de->type = dns_aclelementtype_localhost;
|
||||
de->negative = neg;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# $Id: version,v 1.37 2007/09/27 02:56:01 each Exp $
|
||||
#
|
||||
# $Id: version,v 1.39 2007/11/20 00:55:00 each Exp $
|
||||
#
|
||||
# This file must follow /bin/sh rules. It is imported directly via
|
||||
# configure.
|
||||
#
|
||||
MAJORVER=9
|
||||
MINORVER=5
|
||||
PATCHVER=0
|
||||
RELEASETYPE=a
|
||||
RELEASEVER=7
|
||||
RELEASETYPE=b
|
||||
RELEASEVER=1
|
||||
|
||||
Reference in New Issue
Block a user