Compare commits
914
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0442ad4a59 | ||
|
|
ee83b59e5e | ||
|
|
55a10b7acd | ||
|
|
93f2d25a9a | ||
|
|
3f66b8acb0 | ||
|
|
0ea363746e | ||
|
|
6aae115d15 | ||
|
|
53fbf143db | ||
|
|
30e58374a3 | ||
|
|
3adcc033f6 | ||
|
|
b9886abd86 | ||
|
|
56f17ab3d0 | ||
|
|
92e540df1e | ||
|
|
770235900e | ||
|
|
9845c4c4a7 | ||
|
|
172d0c401e | ||
|
|
e93a950b70 | ||
|
|
65975a3b5f | ||
|
|
0ee14aa594 | ||
|
|
15afdf94ef | ||
|
|
1bd5f61c60 | ||
|
|
31cdf770a4 | ||
|
|
3c40aa004a | ||
|
|
ab112d2c4f | ||
|
|
e07f78d76e | ||
|
|
4885809eb9 | ||
|
|
8b9d2c27b4 | ||
|
|
1f10186476 | ||
|
|
d7143986b1 | ||
|
|
b1947cee82 | ||
|
|
ace465a9f9 | ||
|
|
c1bc3be806 | ||
|
|
3c22af0d35 | ||
|
|
2980cbd55f | ||
|
|
bfbeef3609 | ||
|
|
dc1ac23b9f | ||
|
|
7e650ebee4 | ||
|
|
f0d3fe5d95 | ||
|
|
a27b1d4d32 | ||
|
|
63c3a6444b | ||
|
|
5613c3441f | ||
|
|
8801c65a4b | ||
|
|
7f2863196f | ||
|
|
cd8245077c | ||
|
|
22fab3199f | ||
|
|
08050d6524 | ||
|
|
0fedfcafb5 | ||
|
|
e713f83064 | ||
|
|
65320aa38d | ||
|
|
f10e43ac94 | ||
|
|
ea95e83f5c | ||
|
|
61da2bf028 | ||
|
|
16e352248d | ||
|
|
8d648e7a8a | ||
|
|
8bf192b4d1 | ||
|
|
35d2dbb9f5 | ||
|
|
f1722ff512 | ||
|
|
115fbc3540 | ||
|
|
0795dceda7 | ||
|
|
9a3a257374 | ||
|
|
6a49d41c5b | ||
|
|
8d3220643c | ||
|
|
9d1e9ce4bd | ||
|
|
30488dddf0 | ||
|
|
6b9e3b7b06 | ||
|
|
29ff62a149 | ||
|
|
f9f09069a8 | ||
|
|
f78bfda4b8 | ||
|
|
16dea1c577 | ||
|
|
2d957c6b9f | ||
|
|
9212a1b401 | ||
|
|
30b988f09a | ||
|
|
6070c734f2 | ||
|
|
7d2c09c905 | ||
|
|
6acf326969 | ||
|
|
cfbc8e264d | ||
|
|
498491555e | ||
|
|
8b1baa10ee | ||
|
|
e00eb55cd2 | ||
|
|
4247477b61 | ||
|
|
bfbe6925df | ||
|
|
0cc7aa250e | ||
|
|
9ca3ab1168 | ||
|
|
a08ba418ef | ||
|
|
4472144220 | ||
|
|
4bef0cfcfd | ||
|
|
2b73dfea75 | ||
|
|
784087390a | ||
|
|
3852bf4f24 | ||
|
|
f8d2a46daa | ||
|
|
686edad5c5 | ||
|
|
49f8e9571c | ||
|
|
d21ff4b72e | ||
|
|
89cf503880 | ||
|
|
dc8fc06e53 | ||
|
|
58c103e09c | ||
|
|
529d862573 | ||
|
|
c592655c0f | ||
|
|
d4086d6b04 | ||
|
|
f5b7ad718a | ||
|
|
2fc568b2e7 | ||
|
|
f0dc3b44df | ||
|
|
62bc422df1 | ||
|
|
d52283111d | ||
|
|
9bbd5e8dd6 | ||
|
|
7f434f1005 | ||
|
|
4d59a96b98 | ||
|
|
2845d7160e | ||
|
|
e20790c956 | ||
|
|
a23b305e6b | ||
|
|
68e9315c7d | ||
|
|
8fc9f64df9 | ||
|
|
7b61a857ba | ||
|
|
aba6ec896f | ||
|
|
0d8d3dc170 | ||
|
|
293d9132d7 | ||
|
|
46fd0b62f8 | ||
|
|
e10903c785 | ||
|
|
286a7b6b9a | ||
|
|
488ae9051e | ||
|
|
13d1861034 | ||
|
|
3fbf9d3ea1 | ||
|
|
7fe67ae949 | ||
|
|
717a4eb6e1 | ||
|
|
23f97f9a66 | ||
|
|
5311a3b7b5 | ||
|
|
96a07ba867 | ||
|
|
7278c455bc | ||
|
|
11f26b42e3 | ||
|
|
921d05ddcf | ||
|
|
b9552250cb | ||
|
|
9fda5253fd | ||
|
|
ccdb0287e8 | ||
|
|
20d145efef | ||
|
|
fd9c3ad389 | ||
|
|
97a88e2248 | ||
|
|
8bdc23add2 | ||
|
|
c2f42583c0 | ||
|
|
01f8e5dbb8 | ||
|
|
8c99d104e3 | ||
|
|
91683d19a8 | ||
|
|
44b84cb5a6 | ||
|
|
7467735258 | ||
|
|
7749d7945f | ||
|
|
93ee6b8a22 | ||
|
|
80ab2c0f22 | ||
|
|
06d164306b | ||
|
|
ecf5556bea | ||
|
|
2ad82b0083 | ||
|
|
330b26c9df | ||
|
|
ccff953c25 | ||
|
|
ecd812b4d6 | ||
|
|
ebf7641610 | ||
|
|
f595ab93eb | ||
|
|
266f491ff8 | ||
|
|
deae7d33f1 | ||
|
|
d7faee2566 | ||
|
|
39ddf9991f | ||
|
|
4df4a8e731 | ||
|
|
0d2a03c290 | ||
|
|
76fa1c181c | ||
|
|
f6a16bbd4a | ||
|
|
102a397e39 | ||
|
|
c8aa1ee9e6 | ||
|
|
d54d482af0 | ||
|
|
702c022016 | ||
|
|
ef0e68bfc3 | ||
|
|
7dbc6768d6 | ||
|
|
42ee8c853a | ||
|
|
25cd3168a7 | ||
|
|
8c12e488f7 | ||
|
|
e2a06db7f3 | ||
|
|
e20b702418 | ||
|
|
275a6a3bec | ||
|
|
76e17b54ea | ||
|
|
d39b3209fb | ||
|
|
d76ed0da1c | ||
|
|
f0a07b7546 | ||
|
|
3687648384 | ||
|
|
10814aaf3b | ||
|
|
f87e0c03ee | ||
|
|
622cffee9d | ||
|
|
f70121ed90 | ||
|
|
860e76b9a5 | ||
|
|
8da5e5290f | ||
|
|
21c2871667 | ||
|
|
ab992d40b0 | ||
|
|
e74c245e29 | ||
|
|
3c092eff4a | ||
|
|
860d4f6177 | ||
|
|
b097be17ef | ||
|
|
d81e1caa71 | ||
|
|
8b1b809ab4 | ||
|
|
c0405c3024 | ||
|
|
ef2b2a6c92 | ||
|
|
d2b3188c61 | ||
|
|
edaafacf36 | ||
|
|
01cc622e7b | ||
|
|
955ca7382d | ||
|
|
e0e81288cd | ||
|
|
4dad408ead | ||
|
|
8cf29aafec | ||
|
|
5009724f40 | ||
|
|
dc7b3d7597 | ||
|
|
6755118493 | ||
|
|
950c354b3d | ||
|
|
c727f0797b | ||
|
|
52909b5dbe | ||
|
|
08f66d8509 | ||
|
|
9bbffd019c | ||
|
|
d637c9cc03 | ||
|
|
859af8662f | ||
|
|
de3a4af1bf | ||
|
|
d8f4837fc5 | ||
|
|
4be5667b2c | ||
|
|
c0a29b30c9 | ||
|
|
6e4b5f2345 | ||
|
|
92a3ff9182 | ||
|
|
dd5dff3096 | ||
|
|
77f63c48b6 | ||
|
|
6d9fb4e7e4 | ||
|
|
e98b2489f3 | ||
|
|
2a44fd3f80 | ||
|
|
d20d86e37d | ||
|
|
56f398c7b2 | ||
|
|
c5e7198006 | ||
|
|
8c5fe523b2 | ||
|
|
0e8907be4d | ||
|
|
30b0b686ad | ||
|
|
05a1f9f301 | ||
|
|
f3070d104a | ||
|
|
e9571d29af | ||
|
|
77d5f5075a | ||
|
|
f4a517e5d7 | ||
|
|
00043bfa18 | ||
|
|
3e75d9d31b | ||
|
|
e7590c7528 | ||
|
|
8f44ef7d59 | ||
|
|
1c075646f5 | ||
|
|
76c05a71fc | ||
|
|
29b94bbb04 | ||
|
|
8254cf69d3 | ||
|
|
94757c1545 | ||
|
|
505f673451 | ||
|
|
2320443f63 | ||
|
|
5eb05263f6 | ||
|
|
c34d76ed36 | ||
|
|
90f9d86261 | ||
|
|
dc350eb049 | ||
|
|
0fabe0da83 | ||
|
|
da4aa9b03f | ||
|
|
26e0ed8331 | ||
|
|
e2bb9824f8 | ||
|
|
acc8efa44a | ||
|
|
1b3eac926e | ||
|
|
a15588cdcd | ||
|
|
c72ff6e008 | ||
|
|
f9e3434826 | ||
|
|
fccf8ca2f6 | ||
|
|
3baf604bea | ||
|
|
2df7134d69 | ||
|
|
3686f141a3 | ||
|
|
3a5333e681 | ||
|
|
6f3cc75364 | ||
|
|
fbd5658db7 | ||
|
|
129e13b92d | ||
|
|
733086cc67 | ||
|
|
745bedd0f0 | ||
|
|
56353aaf42 | ||
|
|
96794f7d2b | ||
|
|
a173c9c18f | ||
|
|
2dd47e73f4 | ||
|
|
86e00cbb71 | ||
|
|
74347f4a55 | ||
|
|
d132f73497 | ||
|
|
9b753aa154 | ||
|
|
a4ebe83cdb | ||
|
|
f58ac8ada3 | ||
|
|
8ecf69ef7b | ||
|
|
109546cbda | ||
|
|
c6c1e99252 | ||
|
|
d80825c40b | ||
|
|
e2b8699df9 | ||
|
|
874e2fc70c | ||
|
|
979f054702 | ||
|
|
05b7251d51 | ||
|
|
62f650078a | ||
|
|
6ad1a042bc | ||
|
|
6717f31e10 | ||
|
|
ccfe778c01 | ||
|
|
344ab0eb7d | ||
|
|
a633f6c5dd | ||
|
|
36649c498a | ||
|
|
ef0b4c91bc | ||
|
|
cba2b972bc | ||
|
|
91bfcb1aed | ||
|
|
c330c65e77 | ||
|
|
09004c25a8 | ||
|
|
8dd99563d1 | ||
|
|
69ef7e53a4 | ||
|
|
51fd3e631b | ||
|
|
a35e456b09 | ||
|
|
7d1738785f | ||
|
|
2f4845e968 | ||
|
|
58be47e3e1 | ||
|
|
c92bacec63 | ||
|
|
ab2913a29f | ||
|
|
7c1de1edec | ||
|
|
efc9bc5d8d | ||
|
|
a890ab4bc2 | ||
|
|
7cda25f1af | ||
|
|
c9f4bdde94 | ||
|
|
32f875f9fc | ||
|
|
012ca0a27d | ||
|
|
8be9ce2f06 | ||
|
|
88a2202093 | ||
|
|
93267b8207 | ||
|
|
c4cb99cf4a | ||
|
|
6f4344af83 | ||
|
|
62c1dcb661 | ||
|
|
b83014ab14 | ||
|
|
fbca0ba9fc | ||
|
|
f2af05432d | ||
|
|
83f85817aa | ||
|
|
3e7e280040 | ||
|
|
ca55c672b0 | ||
|
|
c7b9c005d0 | ||
|
|
1eff695f33 | ||
|
|
055daeb0a5 | ||
|
|
4a714bffbc | ||
|
|
341603a7dd | ||
|
|
a9b6bed6af | ||
|
|
ffc3e73c36 | ||
|
|
98255e40e7 | ||
|
|
d24fb6b032 | ||
|
|
d631701be7 | ||
|
|
f1def91625 | ||
|
|
55049d02dc | ||
|
|
82e9b59b91 | ||
|
|
82fd772dab | ||
|
|
3eb90582de | ||
|
|
e50849097a | ||
|
|
4528b887b0 | ||
|
|
4f96cebce3 | ||
|
|
2a50fc324b | ||
|
|
c047405c5d | ||
|
|
1f18d33804 | ||
|
|
6c09f305ae | ||
|
|
1f400b68a8 | ||
|
|
5c0327e8ff | ||
|
|
57f7cf211c | ||
|
|
8529e124ea | ||
|
|
91d8c1f95c | ||
|
|
3fed986199 | ||
|
|
b291b45312 | ||
|
|
148cc40381 | ||
|
|
86838b2a02 | ||
|
|
78352caba7 | ||
|
|
4cb0873a0a | ||
|
|
cb6633c11c | ||
|
|
985d35f6b7 | ||
|
|
f22af09819 | ||
|
|
58ad17bd54 | ||
|
|
b7c22b8f09 | ||
|
|
f7fe1e3098 | ||
|
|
38940619c6 | ||
|
|
642e20db8a | ||
|
|
28068857e7 | ||
|
|
9006d6dbbd | ||
|
|
8282fd8b50 | ||
|
|
0e52fbd0b3 | ||
|
|
e656041fd7 | ||
|
|
2e7c726bb0 | ||
|
|
451241a776 | ||
|
|
409cc22934 | ||
|
|
a8b583e78b | ||
|
|
e0221f2d25 | ||
|
|
1d403f9d3c | ||
|
|
857a40c87b | ||
|
|
e1d6c9a663 | ||
|
|
67a8b5ec17 | ||
|
|
0dfcb9beaa | ||
|
|
8e71b7cd73 | ||
|
|
cc5432cea5 | ||
|
|
cfa35420ee | ||
|
|
54e010d51e | ||
|
|
ab0fe63f07 | ||
|
|
48ca11df5f | ||
|
|
a04bb76973 | ||
|
|
b71a1386ed | ||
|
|
e8249dcd49 | ||
|
|
70d192eb97 | ||
|
|
a4186b1867 | ||
|
|
f2c22662cc | ||
|
|
dcd309bea1 | ||
|
|
7b27be54ee | ||
|
|
4c753f5880 | ||
|
|
bd34375e9b | ||
|
|
7d29f7e94b | ||
|
|
05a91e4e4c | ||
|
|
1cd63cd634 | ||
|
|
20a6ab6745 | ||
|
|
0be9ad7e17 | ||
|
|
0d784de16a | ||
|
|
5d7d6881a1 | ||
|
|
3c028ed07d | ||
|
|
971d19f05c | ||
|
|
749df056be | ||
|
|
9425d6ba7c | ||
|
|
e4147c2d6a | ||
|
|
a11e23b5ed | ||
|
|
b20ff30a79 | ||
|
|
018a60549b | ||
|
|
843d389661 | ||
|
|
c8efcca408 | ||
|
|
c5a09493c3 | ||
|
|
996f5154f0 | ||
|
|
11825c7400 | ||
|
|
ab1b02d274 | ||
|
|
88aef07f58 | ||
|
|
0c559199bf | ||
|
|
b9246ce773 | ||
|
|
474b10a133 | ||
|
|
731ad28be2 | ||
|
|
56e440f65f | ||
|
|
c032c54dda | ||
|
|
0217cc8bb2 | ||
|
|
1cb250c37c | ||
|
|
95cde3608a | ||
|
|
3ffb13716a | ||
|
|
c2c1e2531b | ||
|
|
01d41d5b04 | ||
|
|
14388a4ad6 | ||
|
|
f7172cf23f | ||
|
|
b98a92071d | ||
|
|
05f9deba0b | ||
|
|
034450ba02 | ||
|
|
aa7964dd4b | ||
|
|
8c8ad74abe | ||
|
|
146c16c06e | ||
|
|
bdff3aeb14 | ||
|
|
ccfcf3c023 | ||
|
|
d989d20fe5 | ||
|
|
a324031a82 | ||
|
|
3862043879 | ||
|
|
b92161ee57 | ||
|
|
643c8c27ff | ||
|
|
890264843d | ||
|
|
9f4c778f69 | ||
|
|
ca1049b2f3 | ||
|
|
2bbff06d36 | ||
|
|
aeea1faf01 | ||
|
|
01de79b332 | ||
|
|
76239c6fa7 | ||
|
|
2a50992ab3 | ||
|
|
d7733df695 | ||
|
|
72326f7701 | ||
|
|
b3b3f9064c | ||
|
|
908b2f4b3b | ||
|
|
ceeab84d6c | ||
|
|
4801f40e4d | ||
|
|
dbf753b52d | ||
|
|
7bb9a97904 | ||
|
|
7222c9fc76 | ||
|
|
30cd931a0d | ||
|
|
2c519531a7 | ||
|
|
e005fb948d | ||
|
|
3dfb7c17eb | ||
|
|
59d88ee192 | ||
|
|
23dfa27a84 | ||
|
|
f0721de624 | ||
|
|
42cf18d239 | ||
|
|
1ac4c3e4e5 | ||
|
|
fe1ccafc34 | ||
|
|
0dcee1cad3 | ||
|
|
fe51c34df3 | ||
|
|
1960de5530 | ||
|
|
344d05063f | ||
|
|
451b7309ca | ||
|
|
462766cd76 | ||
|
|
fb78f82ba1 | ||
|
|
cdf18a5009 | ||
|
|
7f2d41d4c4 | ||
|
|
0855a8a6cc | ||
|
|
f606b17dfb | ||
|
|
b88b508b22 | ||
|
|
1f07c69f25 | ||
|
|
c12e06755f | ||
|
|
00bc29640b | ||
|
|
244d1c30e2 | ||
|
|
a5cf6bd12a | ||
|
|
ce66752adc | ||
|
|
549a6c6bc8 | ||
|
|
f0f5b5f045 | ||
|
|
c344e1d768 | ||
|
|
055e5be9fd | ||
|
|
3c25e5fa02 | ||
|
|
edc7a18d84 | ||
|
|
f5d8f07900 | ||
|
|
b2d90da0c2 | ||
|
|
af005cdbcf | ||
|
|
b24c2e11d8 | ||
|
|
517d990bd4 | ||
|
|
32fe6f7682 | ||
|
|
e0ff77f9d3 | ||
|
|
07341693e1 | ||
|
|
78f2b9ca01 | ||
|
|
e7429b124b | ||
|
|
e1a69e5d1f | ||
|
|
3b14d54fd7 | ||
|
|
caaec1ef6d | ||
|
|
2a435708e4 | ||
|
|
e6802badc0 | ||
|
|
d2c8286163 | ||
|
|
53bade5ece | ||
|
|
bc276f6c05 | ||
|
|
7e3c96c867 | ||
|
|
278c72fef6 | ||
|
|
f7ac41757a | ||
|
|
cba162e70e | ||
|
|
992a2bafec | ||
|
|
f83ebd34b9 | ||
|
|
fb00f18005 | ||
|
|
6336ef1ef3 | ||
|
|
c6b430745b | ||
|
|
54823ea037 | ||
|
|
dfc2573f1c | ||
|
|
448eb98797 | ||
|
|
02063cbae2 | ||
|
|
8e3c16175a | ||
|
|
f199a5a9ae | ||
|
|
522e5dd9bc | ||
|
|
b5079a1bda | ||
|
|
fd2d8465a7 | ||
|
|
0d5eed53e8 | ||
|
|
355c533936 | ||
|
|
b75627eacf | ||
|
|
033be0db8e | ||
|
|
f181b30918 | ||
|
|
2e83674170 | ||
|
|
801cef9684 | ||
|
|
99d02c6531 | ||
|
|
a46e90b2b7 | ||
|
|
a0720c9e56 | ||
|
|
0ec66f5e51 | ||
|
|
acdecd4636 | ||
|
|
99af4e7d52 | ||
|
|
0b66d4a1c7 | ||
|
|
ca6faad2b6 | ||
|
|
7e26e5cae7 | ||
|
|
67eea245f5 | ||
|
|
a7eb3b3b76 | ||
|
|
4528297486 | ||
|
|
8f8ce953ce | ||
|
|
fc38731c85 | ||
|
|
1eb1eaac94 | ||
|
|
b492700759 | ||
|
|
54275e8f5c | ||
|
|
c7e848ce54 | ||
|
|
1cdb19eaae | ||
|
|
5bc9ede092 | ||
|
|
e632696a6d | ||
|
|
500248b6c1 | ||
|
|
97d4a1eaf5 | ||
|
|
b5167607ef | ||
|
|
6bd6bd6d62 | ||
|
|
78ad353491 | ||
|
|
4745daafe0 | ||
|
|
c23eef5ff1 | ||
|
|
b513bbe9ff | ||
|
|
4955c45c94 | ||
|
|
64bc122d11 | ||
|
|
34a4d241c6 | ||
|
|
75a291e541 | ||
|
|
dc3951c800 | ||
|
|
9520cf8559 | ||
|
|
0f8b0dc5d4 | ||
|
|
eaddb0c686 | ||
|
|
b234797536 | ||
|
|
2b803b3463 | ||
|
|
4a3c1fb45e | ||
|
|
7d375efaea | ||
|
|
898d7e99a9 | ||
|
|
a8fa4a9e42 | ||
|
|
b1b9257c8f | ||
|
|
17d971a405 | ||
|
|
8aff92c150 | ||
|
|
1af3e7d7d5 | ||
|
|
372fbc06e7 | ||
|
|
e247336199 | ||
|
|
865115f30c | ||
|
|
bbdd8e17d7 | ||
|
|
c4ca99c0d1 | ||
|
|
5c017fd3f6 | ||
|
|
af7fd89305 | ||
|
|
f0981d9682 | ||
|
|
ee49362e33 | ||
|
|
6b74dcca71 | ||
|
|
4278230b33 | ||
|
|
4ec06278cc | ||
|
|
c8d294470d | ||
|
|
3034da1ec6 | ||
|
|
e08b3d3a48 | ||
|
|
f9a9ff57ce | ||
|
|
3fb7b9827a | ||
|
|
f5ee6f7292 | ||
|
|
89ff72bea0 | ||
|
|
ea8e149f4d | ||
|
|
b060852a7c | ||
|
|
3abc7bf264 | ||
|
|
883a9485e9 | ||
|
|
801dfe8f5d | ||
|
|
f5079bb877 | ||
|
|
b9e9361c7b | ||
|
|
29b7efdd9f | ||
|
|
0e4fba2ced | ||
|
|
2a70eae04f | ||
|
|
e7a93321f0 | ||
|
|
3548061d03 | ||
|
|
8876403b82 | ||
|
|
1be4341ac8 | ||
|
|
fca7826d65 | ||
|
|
43306fa7e2 | ||
|
|
8cfcad3bb4 | ||
|
|
0ee2dbaaed | ||
|
|
98696f075c | ||
|
|
f52e8fb7c2 | ||
|
|
730e611377 | ||
|
|
b54a2fb1c0 | ||
|
|
2f7ff2980f | ||
|
|
a795dfdea3 | ||
|
|
8bb97d6e04 | ||
|
|
ad2788b6d9 | ||
|
|
41f3423e87 | ||
|
|
20d2d095a9 | ||
|
|
3f798b3576 | ||
|
|
69a185167d | ||
|
|
00beaad868 | ||
|
|
618d1146f0 | ||
|
|
20c50b9238 | ||
|
|
f1a574b729 | ||
|
|
37b196ea87 | ||
|
|
e099ccbde8 | ||
|
|
f7d62717ca | ||
|
|
4ff2d36adc | ||
|
|
313e73354d | ||
|
|
74651f35ef | ||
|
|
faba523a40 | ||
|
|
ae09500989 | ||
|
|
79a2e86827 | ||
|
|
b252549e5a | ||
|
|
baef0ca988 | ||
|
|
5d2b48f270 | ||
|
|
02ce048c91 | ||
|
|
87083c7e9b | ||
|
|
6757dc6488 | ||
|
|
ecf6dcc5c6 | ||
|
|
cc82b5aa3c | ||
|
|
da4e8d88d4 | ||
|
|
2fac9b0be6 | ||
|
|
49c0a94f78 | ||
|
|
ff8f2a584d | ||
|
|
ec771bbdc8 | ||
|
|
b3fc795f4d | ||
|
|
0e9bcf0318 | ||
|
|
af1937c35a | ||
|
|
4fcc550877 | ||
|
|
31d0b7e909 | ||
|
|
c34680cf3b | ||
|
|
5fdca0da2f | ||
|
|
a97ca00ce8 | ||
|
|
b675979c68 | ||
|
|
a3c2b8831e | ||
|
|
46d7d8717a | ||
|
|
f8143baf1b | ||
|
|
d36b7f86fb | ||
|
|
ffac31097d | ||
|
|
b847078b1e | ||
|
|
a2c693ab3b | ||
|
|
bc89b287c9 | ||
|
|
7bc5e6a749 | ||
|
|
7817caa3c7 | ||
|
|
a64503c736 | ||
|
|
d26f90241d | ||
|
|
3ae586b857 | ||
|
|
a96d7083bc | ||
|
|
13c14bc874 | ||
|
|
8d1b3f5e6a | ||
|
|
6e08af82ed | ||
|
|
a7bc00e413 | ||
|
|
5399337474 | ||
|
|
f37b6e1434 | ||
|
|
cbd46e23cb | ||
|
|
63440f61ae | ||
|
|
47d13972e9 | ||
|
|
7fa465be5f | ||
|
|
52043a7204 | ||
|
|
7dd2d7f329 | ||
|
|
8b440753b6 | ||
|
|
b575c4ec42 | ||
|
|
99178b6329 | ||
|
|
ca12949aeb | ||
|
|
c6d2beca68 | ||
|
|
83d005de61 | ||
|
|
8d9433bf4f | ||
|
|
6b83f7aa82 | ||
|
|
3fda67b596 | ||
|
|
dc2add38f6 | ||
|
|
7f4dfa539c | ||
|
|
ebdeea564c | ||
|
|
0405014c66 | ||
|
|
a2a90a71a3 | ||
|
|
129c4414cb | ||
|
|
4d6800942c | ||
|
|
8a4ce20172 | ||
|
|
63d0c6a3fc | ||
|
|
54c4adef80 | ||
|
|
38a9d9ba76 | ||
|
|
a2ca0077d5 | ||
|
|
23d77c8747 | ||
|
|
af034ef188 | ||
|
|
fdd8838bf9 | ||
|
|
88fd438a0f | ||
|
|
630d1a9ba0 | ||
|
|
19b7c0494e | ||
|
|
9b08b03769 | ||
|
|
80788e72d0 | ||
|
|
f10a1c0acf | ||
|
|
5e9585c8ad | ||
|
|
16bbe61f14 | ||
|
|
cf8f4241e7 | ||
|
|
bcc21e99e1 | ||
|
|
8b8c2990d6 | ||
|
|
05fce3ecc5 | ||
|
|
30e96c7709 | ||
|
|
1f33a98962 | ||
|
|
614d838acf | ||
|
|
3d2a6c9949 | ||
|
|
2836a56729 | ||
|
|
73819362d8 | ||
|
|
ed9fea3a6e | ||
|
|
a9452918d5 | ||
|
|
ae51a676c9 | ||
|
|
fa22351a7c | ||
|
|
6d1f45ed81 | ||
|
|
d9ee7a6345 | ||
|
|
69c4c987f6 | ||
|
|
5ce167be2e | ||
|
|
8b138db9eb | ||
|
|
f96133826e | ||
|
|
1883d11ca2 | ||
|
|
c189636ca9 | ||
|
|
0c061ce614 | ||
|
|
2fca8cbdff | ||
|
|
4b48e307e0 | ||
|
|
8be7acc624 | ||
|
|
a35b95acb1 | ||
|
|
7befb67af4 | ||
|
|
099a9efd82 | ||
|
|
21401216aa | ||
|
|
0ce212b9f5 | ||
|
|
21f708c88c | ||
|
|
47f617f8b2 | ||
|
|
639534d5d6 | ||
|
|
3a4ea455ed | ||
|
|
02d3f1e855 | ||
|
|
cd37694da8 | ||
|
|
67faaa41c9 | ||
|
|
a922385850 | ||
|
|
9fecd013fe | ||
|
|
10e49fc83b | ||
|
|
bcdf3ec450 | ||
|
|
a0e66ef6dd | ||
|
|
79112cec7d | ||
|
|
053b51c4db | ||
|
|
9e6b394410 | ||
|
|
eed2f6cef0 | ||
|
|
a280a7871d | ||
|
|
b415606012 | ||
|
|
0b27aa0712 | ||
|
|
1e10ef06ce | ||
|
|
7258b852cf | ||
|
|
4674127443 | ||
|
|
7bba3a7c44 | ||
|
|
3483e91d8c | ||
|
|
c9ee9718ae | ||
|
|
05612f43a9 | ||
|
|
0645f8f1ce | ||
|
|
7770e0b069 | ||
|
|
d2ff6f0f07 | ||
|
|
af5fb26180 | ||
|
|
ccb5678066 | ||
|
|
e55ecaf8d8 | ||
|
|
fa0caa1f85 | ||
|
|
903662d5c3 | ||
|
|
015c017dfa | ||
|
|
9bec7facfb | ||
|
|
f5d429e7c3 | ||
|
|
f933be6d45 | ||
|
|
9f61f6b46b | ||
|
|
be5a0eaa7a | ||
|
|
d11ada1376 | ||
|
|
9597687aba | ||
|
|
05a0d21490 | ||
|
|
dcc059e2c9 | ||
|
|
9826bebc85 | ||
|
|
2d7f89b9c7 | ||
|
|
ec91dfaf80 | ||
|
|
66ff891bf1 | ||
|
|
36dccc165e | ||
|
|
9448aacadb | ||
|
|
5637645847 | ||
|
|
376b1e8fec | ||
|
|
6b2e5cd28c | ||
|
|
79c2400d91 | ||
|
|
d40f4c9885 | ||
|
|
68a2932f75 | ||
|
|
13508261e0 | ||
|
|
bb61861315 | ||
|
|
91e4700bcc | ||
|
|
ab6f49d969 | ||
|
|
eb733e20ae | ||
|
|
a6e307c5f1 | ||
|
|
8fc65f3954 | ||
|
|
9bad78cbc2 | ||
|
|
4d1bbe308d | ||
|
|
e5ac12b76d | ||
|
|
c67180f09b | ||
|
|
e8bbb76620 | ||
|
|
940449fc72 | ||
|
|
cb8650d875 | ||
|
|
71eec55e0d | ||
|
|
7491ce5c90 | ||
|
|
e5c2cfdbf9 | ||
|
|
5ea0100639 | ||
|
|
1c794002f5 | ||
|
|
8444b4856a | ||
|
|
63459cdc05 | ||
|
|
f9c3aba9b3 | ||
|
|
c4f9d720eb | ||
|
|
4bef07fd01 | ||
|
|
9d5a0abe81 | ||
|
|
a89f416017 | ||
|
|
32d09cd7e0 | ||
|
|
7308316d92 | ||
|
|
69f5e5f815 | ||
|
|
cb056c84f3 | ||
|
|
c7f663ca80 | ||
|
|
ecafa2ae50 | ||
|
|
77f9623439 | ||
|
|
00f5ea91cf | ||
|
|
6074bd498f | ||
|
|
f30019645c | ||
|
|
b695f77533 | ||
|
|
c912c10346 | ||
|
|
9ff34db455 | ||
|
|
6fa2a0691e | ||
|
|
a855b8d231 | ||
|
|
79398706f4 | ||
|
|
196e01da5f | ||
|
|
1b0ca5d5bb | ||
|
|
61c843815e | ||
|
|
a30f8d214d | ||
|
|
0b315a0b25 | ||
|
|
2f855055ed | ||
|
|
49a8cd6c01 | ||
|
|
f29ca5db28 | ||
|
|
e197a2bd15 | ||
|
|
a4a148cf9a | ||
|
|
2c20fc0d13 | ||
|
|
dc66c4a49c | ||
|
|
9ddf7d6c4c | ||
|
|
6cc3c22534 | ||
|
|
0579a11658 | ||
|
|
3a12b43245 | ||
|
|
34075107ba | ||
|
|
9b1f74fa3a | ||
|
|
376d5996a1 | ||
|
|
65a483106e | ||
|
|
5f308740df | ||
|
|
a8c1bfd673 | ||
|
|
18c7fa2f93 | ||
|
|
3f8c9d92af | ||
|
|
393135d693 | ||
|
|
82354deeb1 | ||
|
|
c22b540e4c | ||
|
|
d92d70ac5d | ||
|
|
00ff44c7c2 | ||
|
|
2f13e0ef98 | ||
|
|
a80dc538bd | ||
|
|
40a90fbf89 | ||
|
|
31b6ae485e | ||
|
|
19f6a63184 | ||
|
|
14e9925868 | ||
|
|
7bc5d7f5e8 | ||
|
|
1dc8208a89 | ||
|
|
6ead410268 | ||
|
|
a573b93b46 | ||
|
|
165df18f75 | ||
|
|
9bb32395b2 | ||
|
|
8993ecd06a | ||
|
|
2f4e0e5a81 | ||
|
|
78e1d7cdde | ||
|
|
ba613d22bf | ||
|
|
858228febe | ||
|
|
5b2b9340fe | ||
|
|
6035d557c4 | ||
|
|
900215654b | ||
|
|
445cabb392 | ||
|
|
a197094d76 | ||
|
|
f975d0acaa | ||
|
|
656eed7c9b | ||
|
|
7a0188774f | ||
|
|
fe06778be7 |
+2
-1
@@ -21,9 +21,10 @@ ans.run
|
||||
named.run
|
||||
named.memstats
|
||||
gen.dSYM/
|
||||
.libs/
|
||||
.ccache/
|
||||
.deps/
|
||||
.dirstamp
|
||||
.libs/
|
||||
unit/atf-src/atf-c++/atf-c++.pc
|
||||
unit/atf-src/atf-c/atf-c.pc
|
||||
unit/atf-src/atf-c/defs.h
|
||||
|
||||
+233
@@ -0,0 +1,233 @@
|
||||
variables:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
LC_ALL: C
|
||||
DOCKER_DRIVER: overlay2
|
||||
CI_REGISTRY_IMAGE: oerdnj/bind9
|
||||
CCACHE_DIR: "/ccache"
|
||||
|
||||
stages:
|
||||
- precheck
|
||||
- build
|
||||
- test
|
||||
|
||||
.debian-jessie-amd64: &debian_jessie_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-jessie-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-jessie-i386: &debian_jessie_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-jessie-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-stretch-amd64: &debian_stretch_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-stretch-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-stretch-i386:: &debian_stretch_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-stretch-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-buster-amd64: &debian_buster_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-buster-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-buster-i386:: &debian_buster_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-buster-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-sid-amd64: &debian_sid_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-sid-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-sid-i386: &debian_sid_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-sid-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.ubuntu-trusty-amd64: &ubuntu_trusty_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.ubuntu-trusty-i386: &ubuntu_trusty_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.ubuntu-xenial-i386: &ubuntu_xenial_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.build: &build_job
|
||||
stage: build
|
||||
before_script:
|
||||
- test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
|
||||
- ./autogen.sh
|
||||
script:
|
||||
- ./configure --enable-developer --with-libtool --disable-static --with-atf=/usr/local --with-libidn2
|
||||
- make -j${PARALLEL_JOBS_BUILD:-1} -k all V=1
|
||||
artifacts:
|
||||
expire_in: '1 hour'
|
||||
untracked: true
|
||||
|
||||
.system_test: &system_test_job
|
||||
stage: test
|
||||
before_script:
|
||||
- rm -rf .ccache
|
||||
- bash -x bin/tests/system/ifconfig.sh up
|
||||
script:
|
||||
- ( cd bin/tests && make -j${TEST_PARALLEL_JOBS:-1} -k test V=1 )
|
||||
- test -s bin/tests/system/systests.output
|
||||
artifacts:
|
||||
untracked: true
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
.unit_test: &unit_test_job
|
||||
stage: test
|
||||
before_script:
|
||||
- export KYUA_RESULT="$CI_PROJECT_DIR/kyua.results"
|
||||
script:
|
||||
- make unit
|
||||
after_script:
|
||||
- kyua report-html --force --results-file kyua.results --results-filter "" --output kyua_html
|
||||
artifacts:
|
||||
paths:
|
||||
- atf.out
|
||||
- kyua.log
|
||||
- kyua.results
|
||||
- kyua_html/
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
precheck:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
stage: precheck
|
||||
script:
|
||||
- perl util/check-changes CHANGES
|
||||
- perl -w util/merge_copyrights
|
||||
- diff -urNap util/copyrights util/newcopyrights
|
||||
- rm util/newcopyrights
|
||||
artifacts:
|
||||
paths:
|
||||
- util/newcopyrights
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
#build:debian:jessie:amd64:
|
||||
# <<: *debian_jessie_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:jessie:i386:
|
||||
# <<: *debian_jessie_i386_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:stretch:amd64:
|
||||
# <<: *debian_stretch_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:buster:i386:
|
||||
# <<: *debian_buster_i386_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:ubuntu:trusty:amd64:
|
||||
# <<: *ubuntu_trusty_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:ubuntu:xenial:i386:
|
||||
# <<: *ubuntu_xenial_i386_image
|
||||
# <<: *build_job
|
||||
|
||||
build:clang:debian:sid:amd64:
|
||||
variables:
|
||||
CC: clang-6.0
|
||||
CFLAGS: "-Wall -Wextra -Wenum-conversion -O2 -g"
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:sid:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:clang:debian:sid:i386:
|
||||
variables:
|
||||
CC: clang-6.0
|
||||
CFLAGS: "-Wall -Wextra -Wenum-conversion -O2 -g"
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:sid:i386:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *build_job
|
||||
|
||||
unittest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:amd64
|
||||
|
||||
unittest:clang:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:clang:debian:sid:amd64
|
||||
|
||||
unittest:debian:sid:i386:
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:i386
|
||||
|
||||
systemtest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:amd64
|
||||
|
||||
systemtest:debian:sid:i386:
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:i386
|
||||
@@ -0,0 +1,42 @@
|
||||
<!--
|
||||
If the bug you are reporting is potentially security-related - for example,
|
||||
if it involves an assertion failure or other crash in `named` that can be
|
||||
triggered repeatedly - then please do *NOT* report it here, but send an
|
||||
email to [security-officer@isc.org](security-officer@isc.org).
|
||||
-->
|
||||
|
||||
### Summary
|
||||
|
||||
(Summarize the bug encountered concisely.)
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
(How one can reproduce the issue - this is very important.)
|
||||
|
||||
### What is the current *bug* behavior?
|
||||
|
||||
(What actually happens.)
|
||||
|
||||
### What is the expected *correct* behavior?
|
||||
|
||||
(What you should see instead.)
|
||||
|
||||
### Relevant configuration files
|
||||
|
||||
(Paste any relevant configuration files - please use code blocks (```)
|
||||
to format console output. If submitting the contents of your
|
||||
configuration file in a non-confidential Issue, it is advisable to
|
||||
obscure key secrets: this can be done automatically by using
|
||||
`named-checkconf -px`.)
|
||||
|
||||
### Relevant logs and/or screenshots
|
||||
|
||||
(Paste any relevant logs - please use code blocks (```) to format console
|
||||
output, logs, and code, as it's very hard to read otherwise.)
|
||||
|
||||
### Possible fixes
|
||||
|
||||
(If you can, link to the line of code that might be responsible for the
|
||||
problem.)
|
||||
|
||||
/label ~bug
|
||||
@@ -0,0 +1,11 @@
|
||||
### Description
|
||||
|
||||
(Describe the problem, use cases, benefits, and/or goals.)
|
||||
|
||||
### Request
|
||||
|
||||
(Describe the solution you'd like to see.)
|
||||
|
||||
### Links / references
|
||||
|
||||
/label ~"feature request"
|
||||
@@ -1,3 +1,434 @@
|
||||
4944. [cleanup] Silence cppcheck portability warnings in
|
||||
lib/isc/tests/buffer_test.c. [GL #239]
|
||||
|
||||
4943. [bug] Change 4687 consumed too much memory when running
|
||||
system tests with --with-tuning=large. Reduced the
|
||||
hash table size to 512 entries for 'named -m record'
|
||||
restoring the previous memory footprint. [GL #248]
|
||||
|
||||
4942. [cleanup] Consolidate multiple instances of splitting of
|
||||
batchline in dig into a single function. [GL #196]
|
||||
|
||||
4941. [cleanup] Silence clang static analyzer warnings. [GL #196]
|
||||
|
||||
4940. [cleanup] Extract the loop in dns__zone_updatesigs() into
|
||||
separate functions to improve code readability.
|
||||
[GL #135]
|
||||
|
||||
4939. [test] Add basic unit tests for update_sigs(). [GL #135]
|
||||
|
||||
4938. [placeholder]
|
||||
|
||||
4937. [func] Remove support for OpenSSL < 1.0.0 [GL #191]
|
||||
|
||||
4936. [func] Always use OpenSSL or PKCS#11 random data providers,
|
||||
and remove the --{enable,disable}-crypto-rand configure
|
||||
options. [GL #165]
|
||||
|
||||
4935. [func] Add support for LibreSSL >= 2.7.0 (some OpenSSL 1.1.0
|
||||
call were added). [GL #191]
|
||||
|
||||
4934. [placeholder]
|
||||
|
||||
4933. [bug] Not creating signing keys for an inline signed zone
|
||||
prevented changes applied to the raw zone from being
|
||||
reflected in the secure zone until signing keys were
|
||||
made available. [GL #159]
|
||||
|
||||
4932. [bug] Bumped signed serial of an inline signed zone was
|
||||
logged even when an error occurred while updating
|
||||
signatures. [GL #159]
|
||||
|
||||
4931. [func] Removed the "rbtdb64" database implementation.
|
||||
[GL #217]
|
||||
|
||||
4930. [bug] Remove a bogus check in nslookup command line
|
||||
argument processing. [GL #206]
|
||||
|
||||
4929. [func] Add the ability to set RA and TC in queries made by
|
||||
dig (+[no]raflag, +[no]tcflag). [GL #213]
|
||||
|
||||
4928. [func] The "dnskey-sig-validity" option allows
|
||||
"sig-validity-interval" to be overriden for signatures
|
||||
covering DNSKEY RRsets. [GL #145]
|
||||
|
||||
4927. [placeholder]
|
||||
|
||||
4926. [func] Add root key sentinel support. To disable, add
|
||||
'root-key-sentinel no;' to named.conf. [GL #37]
|
||||
|
||||
4925. [func] Several configuration options that define intervals
|
||||
can now take TTL value suffixes (for example, 2h or 1d)
|
||||
in addition to integer parameters. These include
|
||||
max-cache-ttl, max-ncache-ttl, max-policy-ttl,
|
||||
fstrm-set-reopen-interval, interface-interval, and
|
||||
min-update-interval. [GL #203]
|
||||
|
||||
4924. [cleanup] Clean up the isc_string_* namespace and leave
|
||||
only strlcpy and strlcat. [GL #178]
|
||||
|
||||
4923. [cleanup] Refactor socket and socket event options into
|
||||
enum types. [GL !135]
|
||||
|
||||
4922. [bug] dnstap: Log the destination address of client
|
||||
packets rather than the interface address.
|
||||
[GL #197]
|
||||
|
||||
4921. [cleanup] Add dns_fixedname_initname() and refactor the caller
|
||||
code to make usage of the new function, as a part of
|
||||
refactoring dns_fixedname_*() macros were turned into
|
||||
functions. [GL #183]
|
||||
|
||||
4920. [cleanup] Clean up libdns removing most of the backwards
|
||||
compatibility wrappers.
|
||||
|
||||
4919. [cleanup] Clean up the isc_hash_* namespace and leave only
|
||||
the FNV-1a hash implementation. [GL #178]
|
||||
|
||||
4918. [bug] Fix double free after keygen error in dnssec-keygen
|
||||
when OpenSSL >= 1.1.0 is used and RSA_generate_key_ex
|
||||
fails. [GL #109]
|
||||
|
||||
4917. [func] Support 64 RPZ policy zones by default. [GL #123]
|
||||
|
||||
4916. [func] Remove IDNA2003 support and the bundled idnkit-1.0
|
||||
library.
|
||||
|
||||
4915. [func] Implement IDNA2008 support in dig by adding support
|
||||
for libidn2. New dig option +idnin has been added,
|
||||
which allows to process invalid domain names much
|
||||
like dig without IDN support. libidn2 version 2.0
|
||||
or higher is needed for +idnout enabled by default.
|
||||
|
||||
4914. [bug] A bug in zone database reference counting could lead to
|
||||
a crash when multiple versions of a slave zone were
|
||||
transferred from a master in close succession.
|
||||
[GL #134]
|
||||
|
||||
4913. [test] Re-implemented older unit tests in bin/tests as ATF,
|
||||
removed the lib/tests unit testing library. [GL #115]
|
||||
|
||||
4912. [test] Improved the reliability of the 'cds' system test.
|
||||
[GL #136]
|
||||
|
||||
4911. [test] Improved the reliability of the 'mkeys' system test.
|
||||
[GL #128]
|
||||
|
||||
4910. [func] Update util/check-changes to work on release branches.
|
||||
[GL #113]
|
||||
|
||||
4909. [bug] named-checkconf did not detect in-view zone collisions.
|
||||
[GL #125]
|
||||
|
||||
4908. [test] Eliminated unnecessary waiting in the allow_query
|
||||
system test. Also changed its name to allow-query.
|
||||
[GL #81]
|
||||
|
||||
4907. [test] Improved the reliability of the 'notify' system
|
||||
test. [GL #59]
|
||||
|
||||
4906. [func] Replace getquad() with inet_pton(), completing
|
||||
change #4900. [GL #56]
|
||||
|
||||
4905. [bug] irs_resconf_load() ignored resolv.conf syntax errors
|
||||
when "domain" or "search" options were present in that
|
||||
file. [GL #110]
|
||||
|
||||
4904. [bug] Temporarily revert change #4859. [GL #124]
|
||||
|
||||
4903. [bug] "check-mx fail;" did not prevent MX records containing
|
||||
IP addresses from being added to a zone by a dynamic
|
||||
update. [GL #112]
|
||||
|
||||
4902. [test] Improved the reliability of the 'ixfr' system
|
||||
test. [GL #66]
|
||||
|
||||
4901. [func] "dig +nssearch" now lists the name servers
|
||||
for a domain that time out, as well as the servers
|
||||
that respond. [GL #64]
|
||||
|
||||
4900. [func] Remove all uses of inet_aton(). As a result of this
|
||||
change, IPv4 addresses are now only accepted in
|
||||
dotted-quad format. [GL #13]
|
||||
|
||||
4899. [test] Convert most of the remaining system tests to be able
|
||||
to run in parallel, continuing the work from change
|
||||
#4895. To take advantage of this, use "make -jN check",
|
||||
where N is the number of processors to use. [GL #91]
|
||||
|
||||
4898. [func] Remove libseccomp based system-call filtering. [GL #93]
|
||||
|
||||
4897. [test] Update to rpz system test so that it doesn't recurse.
|
||||
[GL #68]
|
||||
|
||||
4896. [test] cacheclean system test was not robust. [GL #82]
|
||||
|
||||
4895. [test] Allow some system tests to run in parallel.
|
||||
[RT #46602]
|
||||
|
||||
4894. [bug] named could crash while rolling a dnstap output file.
|
||||
[RT #46942]
|
||||
|
||||
4893. [bug] Address various issues reported by cppcheck. [GL #51]
|
||||
|
||||
4892. [bug] named could leak memory when "rndc reload" was invoked
|
||||
before all zone loading actions triggered by a previous
|
||||
"rndc reload" command were completed. [RT #47076]
|
||||
|
||||
4891. [placeholder]
|
||||
|
||||
4890. [func] Remove unused ondestroy callback from libisc.
|
||||
[isc-projects/bind9!3]
|
||||
|
||||
4889. [func] Warn about the use of old root keys without the new
|
||||
root key being present. Warn about dlv.isc.org's
|
||||
key being present. Warn about both managed and
|
||||
trusted root keys being present. [RT #43670]
|
||||
|
||||
4888. [test] Initialize sockets correctly in sample-update so
|
||||
that the nsupdate system test will run on Windows.
|
||||
[RT #47097]
|
||||
|
||||
4887. [test] Enable the rpzrecurse test to run on Windows.
|
||||
[RT #47093]
|
||||
|
||||
4886. [doc] Document dig -u in manpage. [RT #47150]
|
||||
|
||||
4885. [security] update-policy rules that otherwise ignore the name
|
||||
field now require that it be set to "." to ensure
|
||||
that any type list present is properly interpreted.
|
||||
[RT #47126]
|
||||
|
||||
4884. [bug] named could crash on shutdown due to a race between
|
||||
shutdown_server() and ns__client_request(). [RT #47120]
|
||||
|
||||
4883. [cleanup] Improved debugging output from dnssec-cds. [RT #47026]
|
||||
|
||||
4882. [bug] Address potential memory leak in
|
||||
dns_update_signaturesinc. [RT #47084]
|
||||
|
||||
4881. [bug] Only include dst_openssl.h when OpenSSL is required.
|
||||
[RT #47068]
|
||||
|
||||
4880. [bug] Named wasn't returning the target of a cross-zone
|
||||
CNAME between two served zones when recursion was
|
||||
desired and available (RD=1, RA=1). (When this is
|
||||
not the case, the CNAME target is deliberately
|
||||
withheld to prevent accidental cache poisoning.)
|
||||
[RT #47078]
|
||||
|
||||
4879. [bug] dns_rdata_caa:value_len field was too small.
|
||||
[RT #47086]
|
||||
|
||||
4878. [bug] List 'ply' as a requirement for the 'isc' python
|
||||
package. [RT #47065]
|
||||
|
||||
4877. [bug] Address integer overflow when exponentially
|
||||
backing off retry intervals. [RT #47041]
|
||||
|
||||
4876. [bug] Address deadlock with accessing a keytable. [RT #47000]
|
||||
|
||||
4875. [bug] Address compile failures on older systems. [RT #47015]
|
||||
|
||||
4874. [bug] Wrong time display when reporting new keywarntime.
|
||||
[RT #47042]
|
||||
|
||||
4873. [doc] Grammars for named.conf included in the ARM are now
|
||||
automatically generated by the configuration parser
|
||||
itself. As a side effect of the work needed to
|
||||
separate zone type grammars from each other, this
|
||||
also makes checking of zone statements in
|
||||
named-checkconf more correct and consistent.
|
||||
[RT #36957]
|
||||
|
||||
4872. [bug] Don't permit loading meta RR types such as TKEY
|
||||
from master files. [RT #47009]
|
||||
|
||||
4871. [bug] Fix configure glitch in detecting stdatomic.h
|
||||
support on systems with multiple compilers.
|
||||
[RT #46959]
|
||||
|
||||
4870. [test] Update included ATF library to atf-0.21 preserving
|
||||
the ATF tool. [RT #46967]
|
||||
|
||||
4869. [bug] Address some cases where NULL with zero length could
|
||||
be passed to memmove which is undefined behavior and
|
||||
can lead to bad optimization. [RT #46888]
|
||||
|
||||
4868. [func] dnssec-keygen can no longer generate HMAC keys.
|
||||
Use tsig-keygen instead. [RT #46404]
|
||||
|
||||
4867. [cleanup] Normalize rndc on/off commands (validation,
|
||||
querylog, serve-stale) so they all accept the
|
||||
same synonyms for on/off (yes/no, true/false,
|
||||
enable/disable). Thanks to Tony Finch. [RT #47022]
|
||||
|
||||
4866. [port] DST library initialization verifies MD5 (when MD5
|
||||
was not disabled) and SHA-1 hash and HMAC support.
|
||||
[RT #46764]
|
||||
|
||||
4865. [cleanup] Simplify handling isc_socket_sendto2() return values.
|
||||
[RT #46986]
|
||||
|
||||
4864. [bug] named acting as a slave for a catalog zone crashed if
|
||||
the latter contained a master definition without an IP
|
||||
address. [RT #45999]
|
||||
|
||||
4863. [bug] Fix various other bugs reported by Valgrind's
|
||||
memcheck tool. [RT #46978]
|
||||
|
||||
4862. [bug] The rdata flags for RRSIG were not being properly set
|
||||
when constructing a rdataslab. [RT #46978]
|
||||
|
||||
4861. [bug] The isc_crc64 unit test was not endian independent.
|
||||
[RT #46973]
|
||||
|
||||
4860. [bug] isc_int8_t should be signed char. [RT #46973]
|
||||
|
||||
4859. [bug] A loop was possible when attempting to validate
|
||||
unsigned CNAME responses from secure zones;
|
||||
this caused a delay in returning SERVFAIL and
|
||||
also increased the chances of encountering
|
||||
CVE-2017-3145. [RT #46839]
|
||||
|
||||
4858. [security] Addresses could be referenced after being freed
|
||||
in resolver.c, causing an assertion failure.
|
||||
(CVE-2017-3145) [RT #46839]
|
||||
|
||||
4857. [bug] Maintain attach/detach semantics for event->db,
|
||||
event->node, event->rdataset and event->sigrdataset
|
||||
in query.c. [RT #46891]
|
||||
|
||||
4856. [bug] 'rndc zonestatus' reported the wrong underlying type
|
||||
for a inline slave zone. [RT #46875]
|
||||
|
||||
4855. [bug] isc_time_formatshorttimestamp produced incorrect
|
||||
output. [RT #46938]
|
||||
|
||||
4854. [bug] query_synthcnamewildcard should stop generating the
|
||||
response if query_synthwildcard fails. [RT #46939]
|
||||
|
||||
4853. [bug] Add REQUIRE's and INSIST's to isc_time_formatISO8601L
|
||||
and isc_time_formatISO8601Lms. [RT #46916]
|
||||
|
||||
4852. [bug] Handle strftime() failing in isc_time_formatISO8601ms.
|
||||
Add REQUIRE's and INSIST's to isc_time_formattimestamp,
|
||||
isc_time_formathttptimestamp, isc_time_formatISO8601,
|
||||
isc_time_formatISO8601ms. [RT #46892]
|
||||
|
||||
4851. [port] Support using kyua as well as atf-run to run the unit
|
||||
tests. [RT #46853]
|
||||
|
||||
4850. [bug] Named failed to restart with multiple added zones in
|
||||
lmdb database. [RT #46889]
|
||||
|
||||
4849. [bug] Duplicate zones could appear in the .nzf file if
|
||||
addzone failed. [RT #46435]
|
||||
|
||||
4848. [func] Zone types "primary" and "secondary" can now be used
|
||||
as synonyms for "master" and "slave" in named.conf.
|
||||
[RT #46713]
|
||||
|
||||
4847. [bug] dnssec-dnskey-kskonly was not being honored for
|
||||
CDS and CDNSKEY. [RT #46755]
|
||||
|
||||
4846. [test] Adjust timing values in runtime system test. Address
|
||||
named.pid removal races in runtime system test.
|
||||
[RT #46800]
|
||||
|
||||
4845. [bug] Dig (non iOS) should exit on malformed names.
|
||||
[RT #46806]
|
||||
|
||||
4844. [test] Address memory leaks in libatf-c. [RT #46798]
|
||||
|
||||
4843. [bug] dnssec-signzone free hashlist on exit. [RT #46791]
|
||||
|
||||
4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
|
||||
warnings about unused function. [RT #46790]
|
||||
|
||||
--- 9.12.0rc1 released ---
|
||||
|
||||
4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
|
||||
|
||||
4840. [test] Add tests to cover fallback to using ZSK on inactive
|
||||
KSK. [RT #46787]
|
||||
|
||||
4839. [bug] zone.c:zone_sign was not properly determining
|
||||
if there were active KSK and ZSK keys for
|
||||
a algorithm when update-check-ksk is true
|
||||
(default) leaving records unsigned with one or
|
||||
more DNSKEY algorithms. [RT #46774]
|
||||
|
||||
4838. [bug] zone.c:add_sigs was not properly determining
|
||||
if there were active KSK and ZSK keys for
|
||||
a algorithm when update-check-ksk is true
|
||||
(default) leaving records unsigned with one or
|
||||
more DNSKEY algorithms. [RT #46754]
|
||||
|
||||
4837. [bug] dns_update_signatures{inc} (add_sigs) was not
|
||||
properly determining if there were active KSK and
|
||||
ZSK keys for a algorithm when update-check-ksk is
|
||||
true (default) leaving records unsigned when there
|
||||
were multiple DNSKEY algorithms for the zone.
|
||||
[RT #46743]
|
||||
|
||||
4836. [bug] Zones created using "rndc addzone" could
|
||||
temporarily fail to inherit an "allow-transfer"
|
||||
ACL that had been configured in the options
|
||||
statement. [RT #46603]
|
||||
|
||||
4835. [cleanup] Clean up and refactor LMDB-related code. [RT #46718]
|
||||
|
||||
4834. [port] Fix LMDB support on OpenBSD. [RT #46718]
|
||||
|
||||
4833. [bug] isc_event_free should check that the event is not
|
||||
linked when called. [RT #46725]
|
||||
|
||||
4832. [bug] Events were not being removed from zone->rss_events.
|
||||
[RT #46725]
|
||||
|
||||
4831. [bug] Convert the RRSIG expirytime to 64 bits for
|
||||
comparisions in diff.c:resign. [RT #46710]
|
||||
|
||||
4830. [bug] Failure to configure ATF when requested did not cause
|
||||
an error in top-level configure script. [RT #46655]
|
||||
|
||||
4829. [bug] isc_heap_delete did not zero the index value when
|
||||
the heap was created with a callback to do that.
|
||||
[RT #46709]
|
||||
|
||||
4828. [bug] Do not use thread-local storage for storing LMDB reader
|
||||
locktable slots. [RT #46556]
|
||||
|
||||
4827. [misc] Add a precommit check script util/checklibs.sh
|
||||
[RT #46215]
|
||||
|
||||
4826. [cleanup] Prevent potential build failures in bin/confgen/ and
|
||||
bin/named/ when using parallel make. [RT #46648]
|
||||
|
||||
4825. [bug] Prevent a bogus "error during managed-keys processing
|
||||
(no more)" warning from being logged. [RT #46645]
|
||||
|
||||
4824. [port] Add iOS hooks to dig. [RT #42011]
|
||||
|
||||
4823. [test] Refactor reclimit system test to improve its
|
||||
reliability and speed. [RT #46632]
|
||||
|
||||
4822. [bug] Use resign_sooner in dns_db_setsigningtime. [RT #46473]
|
||||
|
||||
4821. [bug] When resigning ensure that the SOA's expire time is
|
||||
always later that the resigning time of other records.
|
||||
[RT #46473]
|
||||
|
||||
4820. [bug] dns_db_subtractrdataset should transfer the resigning
|
||||
information to the new header. [RT #46473]
|
||||
|
||||
4819. [bug] Fully backout the transaction when adding a RRset
|
||||
to the resigning / removal heaps fails. [RT #46473]
|
||||
|
||||
4818. [test] The logfileconfig system test could intermittently
|
||||
report false negatives on some platforms. [RT #46615]
|
||||
|
||||
4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
|
||||
[RT #45433]
|
||||
|
||||
|
||||
+186
@@ -0,0 +1,186 @@
|
||||
BIND Source Access and Contributor Guidelines
|
||||
|
||||
Feb 22, 2018
|
||||
|
||||
Contents
|
||||
|
||||
1. Access to source code
|
||||
2. Reporting bugs
|
||||
3. Contributing code
|
||||
|
||||
Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be used
|
||||
and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the Internet Systems Consortium, a public-benefit
|
||||
501(c)(3) nonprofit, using a "managed open source" approach: anyone can
|
||||
see the source, but only ISC employees have commit access. Until recently,
|
||||
the source could only be seen once ISC had published a release: read
|
||||
access to the source repository was restricted just as commit access was.
|
||||
That's now changing, with the opening of a public git mirror to the BIND
|
||||
source tree (see below).
|
||||
|
||||
Access to source code
|
||||
|
||||
Public BIND releases are always available from the ISC FTP site.
|
||||
|
||||
A public-access GIT repository is also available at https://gitlab.isc.org
|
||||
. This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does not contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via https://gitlab.isc.org/isc-projects/
|
||||
bind9
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
$ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form v9_X, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
$ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form v9_X_Y. The 9.12.0 release, for instance, is tagged as v9_12_0.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
master.
|
||||
|
||||
Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors in
|
||||
the documentation, missing files in the tarball, suggested changes or
|
||||
requests for new features, etc, can be filed using https://gitlab.isc.org/
|
||||
isc-projects/bind9/issues.
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or low in
|
||||
priority, but we will try at least to acknowledge legitimate bug reports
|
||||
within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have an
|
||||
account to file a new issue. You can either register locally or use
|
||||
credentials from an existing account at GitHub, GitLab, Google, Twitter,
|
||||
or Facebook.
|
||||
|
||||
Reporting possible security issues
|
||||
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the ISC Security Officer public key.
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing
|
||||
list. ISC has a long history of handling reported vulnerabilities promptly
|
||||
and effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at https://
|
||||
kb.isc.org/article/AA-00861/0.
|
||||
|
||||
If you have a crash, you may want to consult ?What to do if your BIND or
|
||||
DHCP server has crashed.?
|
||||
|
||||
Contributing code
|
||||
|
||||
BIND is licensed under the Mozilla Public License 2.0. Earier versions
|
||||
(BIND 9.10 and earlier) were licensed under the ISC License
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in ISC's
|
||||
Gitlab source repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of BIND
|
||||
-- preferably the current top of the master branch. Diffs may be generated
|
||||
using either git format-patch or git diff.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the developer
|
||||
information page, which includes information about BIND design and coding
|
||||
practices, including discussion of internal APIs and overall system
|
||||
architecture. (This is a work in progress, and still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our code
|
||||
review process before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the BIND 9 coding style.
|
||||
* Run make check to ensure your change hasn't caused any functional
|
||||
regressions.
|
||||
* Document your work, both in the patch itself and in the accompanying
|
||||
email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See Testing for more information.
|
||||
|
||||
Changes to configure
|
||||
|
||||
If you need to make changes to configure, you should not edit it directly;
|
||||
instead, edit configure.in, then run autoconf. Similarly, instead of
|
||||
editing config.h.in directly, edit configure.in and run autoheader.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the configure diffs
|
||||
to save space. Just send the configure.in diffs and we'll generate the new
|
||||
configure during the review process.
|
||||
|
||||
Documentation
|
||||
|
||||
All functional changes should be documented. There are three types of
|
||||
documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands they
|
||||
document, in files ending in .docbook; for example, the named man page
|
||||
is bin/named/named.docbook.
|
||||
* The BIND 9 Administrator Reference Manual is mostly in doc/arm/
|
||||
Bv9ARM-book.xml, plus a few other XML files that are included in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these; all
|
||||
PDF, HTML, and nroff-format man page files will be updated automatically
|
||||
from the docbook and XML files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test
|
||||
coverage. Please see the 'Testing' section of doc/dev/dev.md for more
|
||||
information.
|
||||
|
||||
Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development of
|
||||
BIND.
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
## BIND Source Access and Contributor Guidelines
|
||||
*Feb 22, 2018*
|
||||
|
||||
### Contents
|
||||
|
||||
1. [Access to source code](#access)
|
||||
1. [Reporting bugs](#bugs)
|
||||
1. [Contributing code](#contrib)
|
||||
|
||||
### Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be
|
||||
used and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the [Internet Systems Consortium](https://www.isc.org),
|
||||
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
|
||||
anyone can see the source, but only ISC employees have commit access.
|
||||
Until recently, the source could only be seen once ISC had published
|
||||
a release: read access to the source repository was restricted just
|
||||
as commit access was. That's now changing, with the opening of a
|
||||
public git mirror to the BIND source tree (see below).
|
||||
|
||||
### <a name="access"></a>Access to source code
|
||||
|
||||
Public BIND releases are always available from the
|
||||
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
|
||||
|
||||
A public-access GIT repository is also available at
|
||||
[https://gitlab.isc.org](https://gitlab.isc.org).
|
||||
This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does *not* contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form `v9_X`, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
> $ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
`master`.
|
||||
|
||||
### <a name="bugs"></a>Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors
|
||||
in the documentation, missing files in the tarball, suggested changes
|
||||
or requests for new features, etc, can be filed using
|
||||
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or
|
||||
low in priority, but we will try at least to acknowledge legitimate
|
||||
bug reports within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have
|
||||
an account to file a new issue. You can either register locally or
|
||||
use credentials from an existing account at GitHub, GitLab, Google,
|
||||
Twitter, or Facebook.
|
||||
|
||||
### Reporting possible security issues
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing list.
|
||||
ISC has a long history of handling reported vulnerabilities promptly and
|
||||
effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0).
|
||||
|
||||
If you have a crash, you may want to consult
|
||||
[‘What to do if your BIND or DHCP server has crashed.’](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
|
||||
|
||||
### <a name="bugs"></a>Contributing code
|
||||
|
||||
BIND is licensed under the
|
||||
[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||
Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/)
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
#### <a name="bind"></a>BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in
|
||||
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
|
||||
repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of
|
||||
BIND -- preferably the current top of the `master` branch. Diffs may
|
||||
be generated using either `git format-patch` or `git diff`.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the
|
||||
[developer information](doc/dev/dev.md) page, which includes information
|
||||
about BIND design and coding practices, including discussion of internal
|
||||
APIs and overall system architecture. (This is a work in progress, and
|
||||
still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our
|
||||
[code review process](doc/dev/dev.md#reviews) before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
|
||||
* Run `make` `check` to ensure your change hasn't caused any
|
||||
functional regressions.
|
||||
* Document your work, both in the patch itself and in the
|
||||
accompanying email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See [Testing](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
##### Changes to `configure`
|
||||
|
||||
If you need to make changes to `configure`, you should not edit it
|
||||
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
|
||||
instead of editing `config.h.in` directly, edit `configure.in` and run
|
||||
`autoheader`.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the `configure`
|
||||
diffs to save space. Just send the `configure.in` diffs and we'll
|
||||
generate the new `configure` during the review process.
|
||||
|
||||
##### Documentation
|
||||
|
||||
All functional changes should be documented. There are three types
|
||||
of documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands
|
||||
they document, in files ending in `.docbook`; for example, the
|
||||
`named` man page is `bin/named/named.docbook`.
|
||||
* The *BIND 9 Administrator Reference Manual* is mostly in
|
||||
`doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included
|
||||
in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these;
|
||||
all PDF, HTML, and `nroff`-format man page files will be updated
|
||||
automatically from the `docbook` and `XML` files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
##### Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test coverage.
|
||||
Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
#### Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development
|
||||
of BIND.
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 1996-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
### Functional enhancements from prior major releases of BIND 9
|
||||
|
||||
|
||||
+21
-8
@@ -1,12 +1,16 @@
|
||||
# Copyright (C) 1998-2002, 2004-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@@ -18,7 +22,7 @@ MANPAGES = isc-config.sh.1
|
||||
|
||||
HTMLPAGES = isc-config.sh.html
|
||||
|
||||
MANOBJS = README HISTORY OPTIONS ${MANPAGES} ${HTMLPAGES}
|
||||
MANOBJS = README HISTORY OPTIONS CONTRIBUTING ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
@@ -70,7 +74,7 @@ tags:
|
||||
find lib bin -name "*.[ch]" -print | @ETAGS@ -
|
||||
|
||||
test check:
|
||||
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>&- || echo fail`"; then \
|
||||
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>/dev/null || echo fail`"; then \
|
||||
echo I: NOTE: The tests were not run because they require that; \
|
||||
echo I: the IP addresses 10.53.0.1 through 10.53.0.8 are configured; \
|
||||
echo I: as alias addresses on the loopback interface. Please run; \
|
||||
@@ -86,22 +90,31 @@ force-test: test-force
|
||||
test-force:
|
||||
status=0; \
|
||||
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
|
||||
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
|
||||
(test -f ${top_builddir}/unit/unittest.sh && \
|
||||
$(SHELL) ${top_builddir}/unit/unittest.sh) || status=1; \
|
||||
exit $$status
|
||||
|
||||
README: README.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html README.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
HISTORY: HISTORY.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
OPTIONS: OPTIONS.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
CONTRIBUTING: CONTRIBUTING.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
unit::
|
||||
sh ${top_srcdir}/unit/unittest.sh
|
||||
sh ${top_builddir}/unit/unittest.sh
|
||||
|
||||
clean::
|
||||
|
||||
@@ -19,10 +19,9 @@ Setting Description
|
||||
named-checkzone
|
||||
-DNS_RUN_PID_DIR=0 Create default PID files in ${localstatedir}/run
|
||||
rather than ${localstatedir}/run/named/
|
||||
Increase the maximum number of configurable
|
||||
-DNS_RPZ_MAX_ZONES=64 response policy zones from 32 to 64; this is the
|
||||
highest possible setting
|
||||
Disable the use of inline functions to implement
|
||||
-DISC_BUFFER_USEINLINE=0 the isc_buffer API: this reduces performance but
|
||||
may be useful when debugging
|
||||
-DISC_HEAP_CHECK Test heap consistency after every heap
|
||||
operation; used when debugging
|
||||
|
||||
|
||||
+5
-2
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
Setting the `STD_CDEFINES` environment variable before running `configure`
|
||||
can be used to enable certain compile-time options that are not explicitly
|
||||
@@ -20,5 +23,5 @@ Some of these settings are:
|
||||
|`-DCHECK_SIBLING=0`|Don't check sibling glue in `named-checkzone`|
|
||||
|`-DCHECK_LOCAL=0`|Don't check out-of-zone addresses in `named-checkzone`|
|
||||
|`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/`|
|
||||
|`-DNS_RPZ_MAX_ZONES=64`|Increase the maximum number of configurable response policy zones from 32 to 64; this is the highest possible setting|
|
||||
|`-DISC_BUFFER_USEINLINE=0`|Disable the use of inline functions to implement the `isc_buffer` API: this reduces performance but may be useful when debugging |
|
||||
|`-DISC_HEAP_CHECK`|Test heap consistency after every heap operation; used when debugging|
|
||||
|
||||
@@ -5,13 +5,14 @@ Contents
|
||||
1. Introduction
|
||||
2. Reporting bugs and getting help
|
||||
3. Contributing to BIND
|
||||
4. BIND 9.12 features
|
||||
4. BIND 9.13 features
|
||||
5. Building BIND
|
||||
6. Compile-time options
|
||||
7. Automated testing
|
||||
8. Documentation
|
||||
9. Change log
|
||||
10. Acknowledgments
|
||||
6. macOS
|
||||
7. Compile-time options
|
||||
8. Automated testing
|
||||
9. Documentation
|
||||
10. Change log
|
||||
11. Acknowledgments
|
||||
|
||||
Introduction
|
||||
|
||||
@@ -49,19 +50,21 @@ bind9/releasenotes
|
||||
|
||||
Reporting bugs and getting help
|
||||
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
security-officer@isc.org.
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the ISC GitLab server at https://
|
||||
gitlab.isc.org/isc-projects/bind9.
|
||||
|
||||
General bug reports can be sent to bind9-bugs@isc.org.
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless the
|
||||
issue has been marked as such. In particular, if submitting the contents
|
||||
of your configuration file in a non-confidential Issue, it is advisable to
|
||||
obscure key secrets: this can be done automatically by using
|
||||
named-checkconf -px.
|
||||
|
||||
Feature requests can be sent to bind-suggest@isc.org.
|
||||
|
||||
Please note that, while tickets submitted to ISC's ticketing system are
|
||||
not initially publicly readable by default, they can be made publicly
|
||||
acessible afterward. Please do not include information in bug reports that
|
||||
you consider to be confidential. In particular, when sending the contents
|
||||
of your configuration file, it is advisable to obscure key secrets: this
|
||||
can be done automatically by using named-checkconf -px.
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in named, please do NOT use GitLab to
|
||||
report it. Instead, please send mail to security-officer@isc.org.
|
||||
|
||||
Professional support and training for BIND are available from ISC at
|
||||
https://www.isc.org/support.
|
||||
@@ -76,52 +79,31 @@ mailman/listinfo/bind-workers.
|
||||
Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found at
|
||||
http://www.isc.org/git/, and also on Github at https://github.com/
|
||||
isc-projects.
|
||||
http://www.isc.org/git/.
|
||||
|
||||
Information for BIND contributors can be found in the following files: -
|
||||
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
|
||||
style.md - BIND architecture and developer guide: doc/dev/dev.md
|
||||
General information: CONTRIBUTING.md - BIND 9 code style: doc/dev/style.md
|
||||
- BIND architecture and developer guide: doc/dev/dev.md
|
||||
|
||||
Patches for BIND may be submitted either as Github pull requests or via
|
||||
email. When submitting a patch via email, please prepend the subject
|
||||
header with "[PATCH]" so it will be easier for us to find. If your patch
|
||||
introduces a new feature in BIND, please submit it to bind-suggest@isc.org
|
||||
; if it fixes a bug, please submit it to bind9-bugs@isc.org.
|
||||
Patches for BIND may be submitted as Merge Requests in the ISC GitLab
|
||||
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
|
||||
|
||||
BIND 9.12 features
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
|
||||
BIND 9.12.0 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.11 and earlier releases. New features
|
||||
If you prefer, you may also submit code by opening a GitLab Issue and
|
||||
including your patch as an attachment, preferably generated by git
|
||||
format-patch.
|
||||
|
||||
BIND 9.13 features
|
||||
|
||||
BIND 9.13.0 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.12 and earlier releases. New features
|
||||
include:
|
||||
|
||||
* named and related libraries have been substantially refactored for
|
||||
improved query performance -- particularly on delegation heavy zones
|
||||
-- and for improved readability, maintainability, and testability.
|
||||
* Code implementing the name server query processing logic has been
|
||||
moved into a new libns library, for easier testing and use in tools
|
||||
other than named.
|
||||
* Cached, validated NSEC and other records can now be used to synthesize
|
||||
NXDOMAIN responses.
|
||||
* The DNS Response Policy Service API (DNSRPS) is now supported.
|
||||
* Setting 'max-journal-size default' now limits the size of journal
|
||||
files to twice the size of the zone.
|
||||
* dnstap-read -x prints a hex dump of the wire format of each logged DNS
|
||||
message.
|
||||
* dnstap output files can now be configured to roll automatically when
|
||||
reaching a given size.
|
||||
* Log file timestamps can now also be formatted in ISO 8601 (local) or
|
||||
ISO 8601 (UTC) formats.
|
||||
* Logging channels and dnstap output files can now be configured to use
|
||||
a timestamp as the suffix when rolling to a new file.
|
||||
* 'named-checkconf -l' lists zones found in named.conf.
|
||||
* Added support for the EDNS Padding and Keepalive options.
|
||||
* 'new-zones-directory' option sets the location where the configuration
|
||||
data for zones added by rndc addzone is stored.
|
||||
* The default key algorithm in rndc-confgen is now hmac-sha256.
|
||||
* filter-aaaa-on-v4 and filter-aaaa-on-v6 options are now available by
|
||||
default without a configure option.
|
||||
* The obsolete isc-hmac-fixup command has been removed.
|
||||
* TBD
|
||||
|
||||
Building BIND
|
||||
|
||||
@@ -165,6 +147,14 @@ BUILD_CPPFLAGS
|
||||
BUILD_LDFLAGS
|
||||
BUILD_LIBS
|
||||
|
||||
macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/ or
|
||||
if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and
|
||||
other tools so that they can be easily found.
|
||||
|
||||
Compile-time options
|
||||
|
||||
To see a full list of configuration options, run configure --help.
|
||||
@@ -342,4 +332,3 @@ Acknowledgments
|
||||
(eay@cryptsoft.com)
|
||||
* This product includes software written by Tim Hudson
|
||||
(tjh@cryptsoft.com)
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
# BIND 9
|
||||
|
||||
@@ -12,8 +15,9 @@
|
||||
1. [Introduction](#intro)
|
||||
1. [Reporting bugs and getting help](#help)
|
||||
1. [Contributing to BIND](#contrib)
|
||||
1. [BIND 9.12 features](#features)
|
||||
1. [BIND 9.13 features](#features)
|
||||
1. [Building BIND](#build)
|
||||
1. [macOS](#macos)
|
||||
1. [Compile-time options](#opts)
|
||||
1. [Automated testing](#testing)
|
||||
1. [Documentation](#doc)
|
||||
@@ -57,22 +61,24 @@ For up-to-date release notes and errata, see
|
||||
|
||||
### <a name="help"/> Reporting bugs and getting help
|
||||
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the
|
||||
[ISC GitLab server](https://gitlab.isc.org) at
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9).
|
||||
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless
|
||||
the issue has been marked as such. In particular, if submitting the
|
||||
contents of your configuration file in a non-confidential Issue, it is
|
||||
advisable to obscure key secrets: this can be done automatically by
|
||||
using `named-checkconf -px`.
|
||||
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in `named`, please do *NOT* use GitLab to
|
||||
report it. Instead, please send mail to
|
||||
[security-officer@isc.org](mailto:security-officer@isc.org).
|
||||
|
||||
General bug reports can be sent to
|
||||
[bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
|
||||
Feature requests can be sent to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org).
|
||||
|
||||
Please note that, while tickets submitted to ISC's ticketing system
|
||||
are not initially publicly readable by default, they can be made publicly
|
||||
acessible afterward. Please do not include information in bug reports that
|
||||
you consider to be confidential. In particular, when sending the contents of
|
||||
your configuration file, it is advisable to obscure key secrets: this can
|
||||
be done automatically by using `named-checkconf -px`.
|
||||
|
||||
Professional support and training for BIND are available from
|
||||
ISC at [https://www.isc.org/support](https://www.isc.org/support).
|
||||
|
||||
@@ -86,54 +92,35 @@ may also want to join the __BIND Workers__ mailing list, at
|
||||
### <a name="contrib"/> Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found
|
||||
at [http://www.isc.org/git/](http://www.isc.org/git/), and also on Github
|
||||
at [https://github.com/isc-projects](https://github.com/isc-projects).
|
||||
at [http://www.isc.org/git/](http://www.isc.org/git/).
|
||||
|
||||
Information for BIND contributors can be found in the following files:
|
||||
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
|
||||
- General information: [CONTRIBUTING.md](CONTRIBUTING)
|
||||
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
|
||||
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
|
||||
|
||||
Patches for BIND may be submitted either as Github pull requests
|
||||
or via email. When submitting a patch via email, please prepend the
|
||||
subject header with "`[PATCH]`" so it will be easier for us to find.
|
||||
If your patch introduces a new feature in BIND, please submit it to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org); if it fixes a bug,
|
||||
please submit it to [bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
Patches for BIND may be submitted as
|
||||
[Merge Requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
|
||||
in the [ISC GitLab server](https://gitlab.isc.org) at
|
||||
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
|
||||
|
||||
### <a name="features"/> BIND 9.12 features
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
|
||||
BIND 9.12.0 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.11 and earlier releases. New features
|
||||
If you prefer, you may also submit code by opening a
|
||||
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
|
||||
including your patch as an attachment, preferably generated by
|
||||
`git format-patch`.
|
||||
|
||||
### <a name="features"/> BIND 9.13 features
|
||||
|
||||
BIND 9.13.0 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.12 and earlier releases. New features
|
||||
include:
|
||||
|
||||
* `named` and related libraries have been substantially refactored for
|
||||
improved query performance -- particularly on delegation heavy zones --
|
||||
and for improved readability, maintainability, and testability.
|
||||
* Code implementing the name server query processing logic has been moved
|
||||
into a new `libns` library, for easier testing and use in tools other
|
||||
than `named`.
|
||||
* Cached, validated NSEC and other records can now be used to synthesize
|
||||
NXDOMAIN responses.
|
||||
* The DNS Response Policy Service API (DNSRPS) is now supported.
|
||||
* Setting `'max-journal-size default'` now limits the size of journal files
|
||||
to twice the size of the zone.
|
||||
* `dnstap-read -x` prints a hex dump of the wire format of each logged
|
||||
DNS message.
|
||||
* `dnstap` output files can now be configured to roll automatically when
|
||||
reaching a given size.
|
||||
* Log file timestamps can now also be formatted in ISO 8601 (local) or ISO
|
||||
8601 (UTC) formats.
|
||||
* Logging channels and `dnstap` output files can now be configured to use a
|
||||
timestamp as the suffix when rolling to a new file.
|
||||
* `'named-checkconf -l'` lists zones found in `named.conf`.
|
||||
* Added support for the EDNS Padding and Keepalive options.
|
||||
* 'new-zones-directory' option sets the location where the configuration
|
||||
data for zones added by rndc addzone is stored.
|
||||
* The default key algorithm in `rndc-confgen` is now hmac-sha256.
|
||||
* `filter-aaaa-on-v4` and `filter-aaaa-on-v6` options are now available
|
||||
by default without a configure option.
|
||||
* The obsolete `isc-hmac-fixup` command has been removed.
|
||||
* TBD
|
||||
|
||||
### <a name="build"/> Building BIND
|
||||
|
||||
@@ -171,6 +158,15 @@ affect compilation:
|
||||
|`BUILD_LDFLAGS`||
|
||||
|`BUILD_LIBS`||
|
||||
|
||||
#### <a name="macos"> macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/
|
||||
or if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and other
|
||||
tools so that they can be easily found.
|
||||
|
||||
|
||||
#### <a name="opts"/> Compile-time options
|
||||
|
||||
To see a full list of configuration options, run `configure --help`.
|
||||
|
||||
+4
-3
@@ -1,13 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2005, 2007, 2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/***
|
||||
|
||||
+4
-1
@@ -1,10 +1,13 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# Run this script after modifying configure.in to generate configure
|
||||
autoreconf -i
|
||||
|
||||
+6
-5
@@ -1,17 +1,18 @@
|
||||
# Copyright (C) 1998-2001, 2004, 2007, 2009, 2012-2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# $Id: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
SUBDIRS = named rndc dig delv dnssec tools tests nsupdate \
|
||||
check confgen @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@
|
||||
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen \
|
||||
@NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
# Copyright (C) 2000-2007, 2009, 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
+19
-20
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2002, 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.c,v 1.44 2011/12/22 07:32:39 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -96,18 +98,17 @@ isc_boolean_t docheckmx = ISC_FALSE;
|
||||
isc_boolean_t dochecksrv = ISC_FALSE;
|
||||
isc_boolean_t docheckns = ISC_FALSE;
|
||||
#endif
|
||||
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
|
||||
DNS_ZONEOPT_CHECKMX |
|
||||
DNS_ZONEOPT_MANYERRORS |
|
||||
DNS_ZONEOPT_CHECKNAMES |
|
||||
DNS_ZONEOPT_CHECKINTEGRITY |
|
||||
dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS |
|
||||
DNS_ZONEOPT_CHECKMX |
|
||||
DNS_ZONEOPT_MANYERRORS |
|
||||
DNS_ZONEOPT_CHECKNAMES |
|
||||
DNS_ZONEOPT_CHECKINTEGRITY |
|
||||
#if CHECK_SIBLING
|
||||
DNS_ZONEOPT_CHECKSIBLING |
|
||||
DNS_ZONEOPT_CHECKSIBLING |
|
||||
#endif
|
||||
DNS_ZONEOPT_CHECKWILDCARD |
|
||||
DNS_ZONEOPT_WARNMXCNAME |
|
||||
DNS_ZONEOPT_WARNSRVCNAME;
|
||||
unsigned int zone_options2 = 0;
|
||||
DNS_ZONEOPT_CHECKWILDCARD |
|
||||
DNS_ZONEOPT_WARNMXCNAME |
|
||||
DNS_ZONEOPT_WARNSRVCNAME;
|
||||
|
||||
/*
|
||||
* This needs to match the list in bin/named/log.c.
|
||||
@@ -587,8 +588,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
|
||||
dns_rdataset_t rdataset;
|
||||
dns_fixedname_t fname;
|
||||
dns_name_t *name;
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
CHECK(dns_zone_getdb(zone, &db));
|
||||
@@ -683,12 +683,12 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
|
||||
isc_buffer_constinit(&buffer, zonename, strlen(zonename));
|
||||
isc_buffer_add(&buffer, strlen(zonename));
|
||||
dns_fixedname_init(&fixorigin);
|
||||
origin = dns_fixedname_name(&fixorigin);
|
||||
origin = dns_fixedname_initname(&fixorigin);
|
||||
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
|
||||
CHECK(dns_zone_setorigin(zone, origin));
|
||||
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
|
||||
CHECK(dns_zone_setfile2(zone, filename, fileformat));
|
||||
CHECK(dns_zone_setfile(zone, filename, fileformat,
|
||||
&dns_master_style_default));
|
||||
if (journal != NULL)
|
||||
CHECK(dns_zone_setjournal(zone, journal));
|
||||
|
||||
@@ -698,7 +698,6 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
|
||||
dns_zone_setclass(zone, rdclass);
|
||||
dns_zone_setoption(zone, zone_options, ISC_TRUE);
|
||||
dns_zone_setoption2(zone, zone_options2, ISC_TRUE);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
|
||||
|
||||
dns_zone_setmaxttl(zone, maxttl);
|
||||
@@ -761,8 +760,8 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
|
||||
}
|
||||
}
|
||||
|
||||
result = dns_zone_dumptostream3(zone, output, fileformat, style,
|
||||
rawversion);
|
||||
result = dns_zone_dumptostream(zone, output, fileformat, style,
|
||||
rawversion);
|
||||
if (output != stdout)
|
||||
(void)isc_stdio_close(output);
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2002, 2004, 2005, 2007, 2010, 2011, 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.h,v 1.18 2011/12/09 23:47:02 tbox Exp $ */
|
||||
|
||||
#ifndef CHECK_TOOL_H
|
||||
#define CHECK_TOOL_H
|
||||
@@ -19,6 +21,7 @@
|
||||
|
||||
#include <dns/masterdump.h>
|
||||
#include <dns/types.h>
|
||||
#include <dns/zone.h>
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
@@ -46,8 +49,7 @@ extern isc_boolean_t nomerge;
|
||||
extern isc_boolean_t docheckmx;
|
||||
extern isc_boolean_t docheckns;
|
||||
extern isc_boolean_t dochecksrv;
|
||||
extern unsigned int zone_options;
|
||||
extern unsigned int zone_options2;
|
||||
extern dns_zoneopt_t zone_options;
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
|
||||
+17
-11
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkconf.c,v 1.56 2011/03/12 04:59:46 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -126,8 +128,13 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
|
||||
element = cfg_list_next(element)) {
|
||||
value = cfg_listelt_value(element);
|
||||
type = cfg_tuple_get(value, "type");
|
||||
if (strcasecmp(cfg_obj_asstring(type), "master") != 0)
|
||||
if ((strcasecmp(cfg_obj_asstring(type),
|
||||
"primary") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(type),
|
||||
"master") != 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
*obj = cfg_tuple_get(value, "mode");
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
@@ -243,11 +250,14 @@ configure_zone(const char *vclass, const char *view,
|
||||
* Skip loading checks for any type other than
|
||||
* master and redirect
|
||||
*/
|
||||
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0)
|
||||
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0) {
|
||||
return (configure_hint(zfile, zclass, mctx));
|
||||
else if ((strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
|
||||
} else if ((strcasecmp(cfg_obj_asstring(typeobj), "primary") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
|
||||
{
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Is the redirect zone configured as a slave?
|
||||
@@ -397,7 +407,7 @@ configure_zone(const char *vclass, const char *view,
|
||||
obj = NULL;
|
||||
if (get_maps(maps, "max-zone-ttl", &obj)) {
|
||||
maxttl = cfg_obj_asuint32(obj);
|
||||
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
|
||||
zone_options |= DNS_ZONEOPT_CHECKTTL;
|
||||
}
|
||||
|
||||
result = load_zone(mctx, zname, zfile, masterformat,
|
||||
@@ -645,9 +655,6 @@ main(int argc, char **argv) {
|
||||
RUNTIME_CHECK(setup_logging(mctx, stdout, &logc) == ISC_R_SUCCESS);
|
||||
|
||||
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
|
||||
== ISC_R_SUCCESS);
|
||||
|
||||
dns_result_register();
|
||||
|
||||
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
|
||||
@@ -678,7 +685,6 @@ main(int argc, char **argv) {
|
||||
|
||||
isc_log_destroy(&logc);
|
||||
|
||||
isc_hash_destroy();
|
||||
isc_entropy_detach(&ectx);
|
||||
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -36,6 +39,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkzone.c,v 1.65.32.2 2012/02/07 02:45:21 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -257,7 +259,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
|
||||
zone_options |= DNS_ZONEOPT_CHECKTTL;
|
||||
endp = NULL;
|
||||
maxttl = strtol(isc_commandline_argument, &endp, 0);
|
||||
if (*endp != '\0') {
|
||||
@@ -520,8 +522,6 @@ main(int argc, char **argv) {
|
||||
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx)
|
||||
== ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
|
||||
== ISC_R_SUCCESS);
|
||||
|
||||
dns_result_register();
|
||||
|
||||
@@ -553,7 +553,6 @@ main(int argc, char **argv) {
|
||||
destroy();
|
||||
if (lctx != NULL)
|
||||
isc_log_destroy(&lctx);
|
||||
isc_hash_destroy();
|
||||
isc_entropy_detach(&ectx);
|
||||
isc_mem_destroy(&mctx);
|
||||
#ifdef _WIN32
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -39,6 +42,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
+10
-3
@@ -1,13 +1,20 @@
|
||||
# Copyright (C) 2009, 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
@@ -64,11 +71,11 @@ rndc-confgen.@O@: rndc-confgen.c
|
||||
ddns-confgen.@O@: ddns-confgen.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c
|
||||
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
export BASEOBJS="rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
export BASEOBJS="ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2011, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -33,6 +36,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.c,v 1.4 2009/11/12 14:02:38 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -151,11 +153,9 @@ generate_key(isc_mem_t *mctx, const char *randomfile, dns_secalg_t alg,
|
||||
|
||||
DO("create entropy context", isc_entropy_create(mctx, &ectx));
|
||||
|
||||
#ifdef ISC_PLATFORM_CRYPTORANDOM
|
||||
if (randomfile == NULL) {
|
||||
isc_entropy_usehook(ectx, ISC_TRUE);
|
||||
}
|
||||
#endif
|
||||
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
|
||||
randomfile = NULL;
|
||||
open_keyboard = ISC_ENTROPY_KEYBOARDYES;
|
||||
@@ -167,12 +167,12 @@ generate_key(isc_mem_t *mctx, const char *randomfile, dns_secalg_t alg,
|
||||
|
||||
entropy_flags = ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY;
|
||||
|
||||
DO("initialize dst library", dst_lib_init(mctx, ectx, entropy_flags));
|
||||
DO("initialize dst library", dst_lib_init(mctx, ectx, NULL, entropy_flags));
|
||||
|
||||
DO("generate key", dst_key_generate(dns_rootname, alg,
|
||||
keysize, 0, 0,
|
||||
DNS_KEYPROTO_ANY,
|
||||
dns_rdataclass_in, mctx, &key));
|
||||
keysize, 0, 0, DNS_KEYPROTO_ANY,
|
||||
dns_rdataclass_in, mctx, &key,
|
||||
NULL));
|
||||
|
||||
isc_buffer_init(&key_rawbuffer, &key_rawsecret, sizeof(key_rawsecret));
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#ifndef RNDC_KEYGEN_H
|
||||
#define RNDC_KEYGEN_H 1
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2001, 2003-2005, 2007-2009, 2011, 2013, 2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -40,6 +43,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
# Copyright (C) 2009, 2012, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# $Id: Makefile.in,v 1.3 2009/06/11 23:47:55 tbox Exp $
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
+4
-2
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: util.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
+4
-2
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: util.h,v 1.4 2009/09/29 15:06:05 fdupont Exp $ */
|
||||
|
||||
#ifndef RNDC_UTIL_H
|
||||
#define RNDC_UTIL_H 1
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
# Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
+25
-36
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -518,17 +521,17 @@ setup_style(dns_master_style_t **stylep) {
|
||||
}
|
||||
|
||||
if (multiline || (nottl && noclass))
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else if (nottl || noclass)
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
|
||||
if (result == ISC_R_SUCCESS)
|
||||
*stylep = style;
|
||||
@@ -547,8 +550,7 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) {
|
||||
|
||||
isc_buffer_constinit(&b, text, len);
|
||||
isc_buffer_add(&b, len);
|
||||
dns_fixedname_init(fn);
|
||||
n = dns_fixedname_name(fn);
|
||||
n = dns_fixedname_initname(fn);
|
||||
|
||||
result = dns_name_fromtext(n, &b, dns_rootname, 0, NULL);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -941,18 +943,6 @@ cleanup:
|
||||
return (result);
|
||||
}
|
||||
|
||||
static char *
|
||||
next_token(char **stringp, const char *delim) {
|
||||
char *res;
|
||||
|
||||
do {
|
||||
res = strsep(stringp, delim);
|
||||
if (res == NULL)
|
||||
break;
|
||||
} while (*res == '\0');
|
||||
return (res);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc) {
|
||||
@@ -972,23 +962,23 @@ parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
static void
|
||||
plus_option(char *option) {
|
||||
isc_result_t result;
|
||||
char option_store[256];
|
||||
char *cmd, *value, *ptr;
|
||||
char *cmd, *value, *last = NULL;
|
||||
isc_boolean_t state = ISC_TRUE;
|
||||
|
||||
strlcpy(option_store, option, sizeof(option_store));
|
||||
ptr = option_store;
|
||||
cmd = next_token(&ptr,"=");
|
||||
INSIST(option != NULL);
|
||||
|
||||
cmd = strtok_r(option, "=", &last);
|
||||
if (cmd == NULL) {
|
||||
printf(";; Invalid option %s\n", option_store);
|
||||
printf(";; Invalid option %s\n", option);
|
||||
return;
|
||||
}
|
||||
value = ptr;
|
||||
if (strncasecmp(cmd, "no", 2)==0) {
|
||||
cmd += 2;
|
||||
state = ISC_FALSE;
|
||||
}
|
||||
|
||||
value = strtok_r(NULL, "\0", &last);
|
||||
|
||||
#define FULLCHECK(A) \
|
||||
do { \
|
||||
size_t _l = strlen(cmd); \
|
||||
@@ -1535,9 +1525,8 @@ get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict) {
|
||||
dns_name_t *name;
|
||||
unsigned int options = 0;
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
result = dns_byaddr_createptrname2(&addr, options, name);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
result = dns_byaddr_createptrname(&addr, options, name);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
dns_name_format(name, reverse, (unsigned int)len);
|
||||
@@ -1621,8 +1610,8 @@ main(int argc, char *argv[]) {
|
||||
|
||||
/* Create client */
|
||||
clopt = DNS_CLIENTCREATEOPT_USECACHE;
|
||||
result = dns_client_createx2(mctx, actx, taskmgr, socketmgr, timermgr,
|
||||
clopt, &client, srcaddr4, srcaddr6);
|
||||
result = dns_client_createx(mctx, actx, taskmgr, socketmgr, timermgr,
|
||||
clopt, &client, srcaddr4, srcaddr6);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
delv_log(ISC_LOG_ERROR, "dns_client_create: %s",
|
||||
isc_result_totext(result));
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -35,6 +38,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
+7
-4
@@ -1,8 +1,11 @@
|
||||
# Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -16,7 +19,7 @@ READLINE_LIB = @READLINE_LIB@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} \
|
||||
${BIND9_INCLUDES} ${ISC_INCLUDES} \
|
||||
${IRS_INCLUDES} ${ISCCFG_INCLUDES} @DST_OPENSSL_INC@
|
||||
${IRS_INCLUDES} ${ISCCFG_INCLUDES} @LIBIDN2_CFLAGS@ @DST_OPENSSL_INC@
|
||||
|
||||
CDEFINES = -DVERSION=\"${VERSION}\" @CRYPTO@
|
||||
CWARNINGS =
|
||||
@@ -38,10 +41,10 @@ DEPLIBS = ${DNSDEPLIBS} ${IRSDEPLIBS} ${BIND9DEPLIBS} \
|
||||
${ISCDEPLIBS} ${ISCCFGDEPLIBS}
|
||||
|
||||
LIBS = ${DNSLIBS} ${IRSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCLIBS} @IDNLIBS@ @LIBS@
|
||||
${ISCLIBS} @LIBIDN2_LIBS@ @LIBS@
|
||||
|
||||
NOSYMLIBS = ${DNSLIBS} ${IRSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
|
||||
${ISCNOSYMLIBS} @LIBIDN2_LIBS@ @LIBS@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
|
||||
+7
-2
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -219,6 +219,11 @@ ixfr=N\&. The incremental zone transfer will contain the changes made to the zon
|
||||
\fIN\fR\&.
|
||||
.RE
|
||||
.PP
|
||||
\-u
|
||||
.RS 4
|
||||
Print query times in microseconds instead of milliseconds\&.
|
||||
.RE
|
||||
.PP
|
||||
\-v
|
||||
.RS 4
|
||||
Print the version number and exit\&.
|
||||
@@ -795,5 +800,5 @@ There are probably too many query options\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+181
-120
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -109,6 +112,11 @@ print_usage(FILE *fp) {
|
||||
" [ host [@local-server] {local-d-opt} [...]]\n", fp);
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
static void usage(void) {
|
||||
fprintf(stderr, "Press <Help> for complete list of options\n");
|
||||
}
|
||||
#else
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
@@ -119,6 +127,7 @@ usage(void) {
|
||||
"for complete list of options\n", stderr);
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*% version */
|
||||
static void
|
||||
@@ -181,7 +190,8 @@ help(void) {
|
||||
" +[no]fail (Don't try next server on SERVFAIL)\n"
|
||||
" +[no]header-only (Send query without a question section)\n"
|
||||
" +[no]identify (ID responders in short answers)\n"
|
||||
" +[no]idnout (convert IDN response)\n"
|
||||
" +[no]idnin (Parse IDN names)\n"
|
||||
" +[no]idnout (Convert IDN response)\n"
|
||||
" +[no]ignore (Don't revert to TCP for TC responses.)\n"
|
||||
" +[no]keepalive (Request EDNS TCP keepalive)\n"
|
||||
" +[no]keepopen (Keep the TCP socket open between queries)\n"
|
||||
@@ -195,6 +205,7 @@ help(void) {
|
||||
" +padding=### (Set padding block size [0])\n"
|
||||
" +[no]qr (Print question before sending)\n"
|
||||
" +[no]question (Control display of question section)\n"
|
||||
" +[no]raflag (Set RA flag in query (+[no]raflag))\n"
|
||||
" +[no]rdflag (Recursive mode (+[no]recurse))\n"
|
||||
" +[no]recurse (Recursive mode (+[no]rdflag))\n"
|
||||
" +retry=### (Set number of UDP retries) [2]\n"
|
||||
@@ -207,6 +218,7 @@ help(void) {
|
||||
" +[no]split=## (Split hex/base64 fields into chunks)\n"
|
||||
" +[no]stats (Control display of statistics)\n"
|
||||
" +subnet=addr (Set edns-client-subnet option)\n"
|
||||
" +[no]tcflag (Set TC flag in query (+[no]tcflag))\n"
|
||||
" +[no]tcp (TCP mode (+[no]vc))\n"
|
||||
" +timeout=### (Set query timeout) [5]\n"
|
||||
" +[no]trace (Trace delegation down from root [+dnssec])\n"
|
||||
@@ -227,7 +239,7 @@ help(void) {
|
||||
* Callback from dighost.c to print the received message.
|
||||
*/
|
||||
static void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
isc_uint64_t diff;
|
||||
time_t tnow;
|
||||
struct tm tmnow;
|
||||
@@ -275,12 +287,12 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
} else {
|
||||
printf(";; MSG SIZE rcvd: %u\n", bytes);
|
||||
}
|
||||
if (key != NULL) {
|
||||
if (tsigkey != NULL) {
|
||||
if (!validated)
|
||||
puts(";; WARNING -- Some TSIG could not "
|
||||
"be validated");
|
||||
}
|
||||
if ((key == NULL) && (keysecret[0] != 0)) {
|
||||
if ((tsigkey == NULL) && (keysecret[0] != 0)) {
|
||||
puts(";; WARNING -- TSIG key was not used.");
|
||||
}
|
||||
puts("");
|
||||
@@ -470,17 +482,17 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
}
|
||||
if (query->lookup->multiline ||
|
||||
(query->lookup->nottl && query->lookup->noclass))
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else if (query->lookup->nottl || query->lookup->noclass)
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
check_result(result, "dns_master_stylecreate");
|
||||
|
||||
if (query->lookup->cmdline[0] != 0) {
|
||||
@@ -719,28 +731,27 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
|
||||
*/
|
||||
|
||||
static void
|
||||
plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
dig_lookup_t *lookup)
|
||||
{
|
||||
isc_result_t result;
|
||||
char option_store[256];
|
||||
char *cmd, *value, *ptr, *code;
|
||||
char *cmd, *value, *last = NULL, *code, *extra;
|
||||
isc_uint32_t num;
|
||||
isc_boolean_t state = ISC_TRUE;
|
||||
size_t n;
|
||||
|
||||
strlcpy(option_store, option, sizeof(option_store));
|
||||
ptr = option_store;
|
||||
cmd = next_token(&ptr, "=");
|
||||
if (cmd == NULL) {
|
||||
printf(";; Invalid option %s\n", option_store);
|
||||
INSIST(option != NULL);
|
||||
|
||||
if ((cmd = strtok_r(option, "=", &last)) == NULL) {
|
||||
printf(";; Invalid option %s\n", option);
|
||||
return;
|
||||
}
|
||||
value = ptr;
|
||||
if (strncasecmp(cmd, "no", 2)==0) {
|
||||
cmd += 2;
|
||||
state = ISC_FALSE;
|
||||
}
|
||||
/* parse the rest of the string */
|
||||
value = strtok_r(NULL, "", &last);
|
||||
|
||||
#define FULLCHECK(A) \
|
||||
do { \
|
||||
@@ -818,8 +829,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&num, value, COMMSIZE,
|
||||
"buffer size");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse buffer size");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse buffer size");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->udpsize = num;
|
||||
break;
|
||||
default:
|
||||
@@ -864,8 +877,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value != NULL) {
|
||||
n = strlcpy(hexcookie, value,
|
||||
sizeof(hexcookie));
|
||||
if (n >= sizeof(hexcookie))
|
||||
fatal("COOKIE data too large");
|
||||
if (n >= sizeof(hexcookie)) {
|
||||
warn("COOKIE data too large");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->cookie = hexcookie;
|
||||
} else
|
||||
lookup->cookie = NULL;
|
||||
@@ -916,8 +931,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value == NULL)
|
||||
goto need_value;
|
||||
result = parse_uint(&num, value, 0x3f, "DSCP");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse DSCP value");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse DSCP value");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->dscp = num;
|
||||
break;
|
||||
default:
|
||||
@@ -946,9 +963,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
value,
|
||||
255,
|
||||
"edns");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse "
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse "
|
||||
"edns");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->edns = num;
|
||||
break;
|
||||
case 'f':
|
||||
@@ -965,9 +984,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
value,
|
||||
0xffff,
|
||||
"ednsflags");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse "
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse "
|
||||
"ednsflags");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->ednsflags = num;
|
||||
break;
|
||||
case 'n':
|
||||
@@ -980,12 +1001,15 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
lookup->ednsoptscnt = 0;
|
||||
break;
|
||||
}
|
||||
if (value == NULL)
|
||||
fatal("ednsopt no "
|
||||
"code point "
|
||||
"specified");
|
||||
code = next_token(&value, ":");
|
||||
save_opt(lookup, code, value);
|
||||
if (value == NULL) {
|
||||
warn("ednsopt no "
|
||||
"code point "
|
||||
"specified");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
code = strtok_r(value, ":", &last);
|
||||
extra = strtok_r(NULL, "\0", &last);
|
||||
save_opt(lookup, code, extra);
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1024,13 +1048,29 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
lookup->identify = state;
|
||||
break;
|
||||
case 'n':
|
||||
FULLCHECK("idnout");
|
||||
#ifndef WITH_IDN
|
||||
fprintf(stderr, ";; IDN support not enabled\n");
|
||||
switch (cmd[3]) {
|
||||
case 'i':
|
||||
FULLCHECK("idnin");
|
||||
#ifndef WITH_IDN_SUPPORT
|
||||
fprintf(stderr, ";; IDN input support"
|
||||
" not enabled\n");
|
||||
#else
|
||||
lookup->idnout = state;
|
||||
lookup->idnin = state;
|
||||
#endif
|
||||
break;
|
||||
case 'o':
|
||||
FULLCHECK("idnout");
|
||||
#ifndef WITH_IDN_OUT_SUPPORT
|
||||
fprintf(stderr, ";; IDN output support"
|
||||
" not enabled\n");
|
||||
#else
|
||||
lookup->idnout = state;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
}
|
||||
@@ -1098,8 +1138,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
result = parse_uint(&num, value, MAXNDOTS, "ndots");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse ndots");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse ndots");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
ndots = num;
|
||||
break;
|
||||
case 's':
|
||||
@@ -1161,8 +1203,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
break;
|
||||
}
|
||||
result = parse_uint(&num, value, 15, "opcode");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse opcode");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse opcode");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->opcode = (dns_opcode_t)num;
|
||||
break;
|
||||
default:
|
||||
@@ -1176,8 +1220,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value == NULL)
|
||||
goto need_value;
|
||||
result = parse_uint(&num, value, 512, "padding");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse padding");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse padding");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->padding = (isc_uint16_t)num;
|
||||
break;
|
||||
case 'q':
|
||||
@@ -1198,6 +1244,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
break;
|
||||
case 'r':
|
||||
switch (cmd[1]) {
|
||||
case 'a': /* raflag */
|
||||
FULLCHECK("raflag");
|
||||
lookup->raflag = state;
|
||||
break;
|
||||
case 'd': /* rdflag */
|
||||
FULLCHECK("rdflag");
|
||||
lookup->recurse = state;
|
||||
@@ -1216,8 +1266,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES - 1, "retries");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse retries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse retries");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->retries++;
|
||||
break;
|
||||
default:
|
||||
@@ -1285,11 +1337,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
|
||||
result = parse_uint(&splitwidth, value,
|
||||
1023, "split");
|
||||
if (splitwidth % 4 != 0) {
|
||||
if ((splitwidth % 4) != 0U) {
|
||||
splitwidth = ((splitwidth + 3) / 4) * 4;
|
||||
fprintf(stderr, ";; Warning, split must be "
|
||||
"a multiple of 4; adjusting "
|
||||
"to %d\n", splitwidth);
|
||||
"to %u\n", splitwidth);
|
||||
}
|
||||
/*
|
||||
* There is an adjustment done in the
|
||||
@@ -1300,8 +1352,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
*/
|
||||
if (splitwidth)
|
||||
splitwidth += 3;
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse split");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse split");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
break;
|
||||
case 't': /* stats */
|
||||
FULLCHECK("stats");
|
||||
@@ -1325,8 +1379,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
lookup->ecs_addr = NULL;
|
||||
}
|
||||
result = parse_netprefix(&lookup->ecs_addr, value);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse client");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse client");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1335,10 +1391,20 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
case 't':
|
||||
switch (cmd[1]) {
|
||||
case 'c': /* tcp */
|
||||
FULLCHECK("tcp");
|
||||
if (!is_batchfile) {
|
||||
lookup->tcp_mode = state;
|
||||
lookup->tcp_mode_set = ISC_TRUE;
|
||||
switch (cmd[2]) {
|
||||
case 'f':
|
||||
FULLCHECK("tcflag");
|
||||
lookup->tcflag = state;
|
||||
break;
|
||||
case 'p':
|
||||
FULLCHECK("tcp");
|
||||
if (!is_batchfile) {
|
||||
lookup->tcp_mode = state;
|
||||
lookup->tcp_mode_set = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
}
|
||||
break;
|
||||
case 'i': /* timeout */
|
||||
@@ -1349,8 +1415,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&timeout, value, MAXTIMEOUT,
|
||||
"timeout");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse timeout");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse timeout");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (timeout == 0)
|
||||
timeout = 1;
|
||||
break;
|
||||
@@ -1386,8 +1454,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES, "tries");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse tries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse tries");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (lookup->retries == 0)
|
||||
lookup->retries = 1;
|
||||
break;
|
||||
@@ -1444,11 +1514,19 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
default:
|
||||
invalid_option:
|
||||
need_value:
|
||||
#if TARGET_OS_IPHONE
|
||||
exit_or_usage:
|
||||
#endif
|
||||
fprintf(stderr, "Invalid option: +%s\n",
|
||||
option);
|
||||
usage();
|
||||
}
|
||||
return;
|
||||
|
||||
#if ! TARGET_OS_IPHONE
|
||||
exit_or_usage:
|
||||
digexit();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -1462,7 +1540,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
isc_boolean_t config_only, int argc, char **argv,
|
||||
isc_boolean_t *firstarg)
|
||||
{
|
||||
char opt, *value, *ptr, *ptr2, *ptr3;
|
||||
char opt, *value, *ptr, *ptr2, *ptr3, *last;
|
||||
isc_result_t result;
|
||||
isc_boolean_t value_from_next;
|
||||
isc_textregion_t tr;
|
||||
@@ -1676,15 +1754,13 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
value);
|
||||
return (value_from_next);
|
||||
case 'y':
|
||||
ptr = next_token(&value, ":"); /* hmac type or name */
|
||||
if (ptr == NULL) {
|
||||
if ((ptr = strtok_r(value, ":", &last)) == NULL) {
|
||||
usage();
|
||||
}
|
||||
ptr2 = next_token(&value, ":"); /* name or secret */
|
||||
if (ptr2 == NULL)
|
||||
if ((ptr2 = strtok_r(NULL, ":", &last)) == NULL) { /* name or secret */
|
||||
usage();
|
||||
ptr3 = next_token(&value, ":"); /* secret or NULL */
|
||||
if (ptr3 != NULL) {
|
||||
}
|
||||
if ((ptr3 = strtok_r(NULL, ":", &last)) != NULL) { /* secret or NULL */
|
||||
parse_hmac(ptr);
|
||||
ptr = ptr2;
|
||||
ptr2 = ptr3;
|
||||
@@ -1696,6 +1772,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
#endif
|
||||
digestbits = 0;
|
||||
}
|
||||
/* XXXONDREJ: FIXME */
|
||||
strlcpy(keynametext, ptr, sizeof(keynametext));
|
||||
strlcpy(keysecret, ptr2, sizeof(keysecret));
|
||||
return (value_from_next);
|
||||
@@ -1779,6 +1856,22 @@ preparse_args(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
split_batchline(char *batchline, char **bargv, int len, const char *msg) {
|
||||
int bargc;
|
||||
char *last = NULL;
|
||||
|
||||
REQUIRE(batchline != NULL);
|
||||
|
||||
for (bargc = 1, bargv[bargc] = strtok_r(batchline, " \t\r\n", &last);
|
||||
bargc < len && bargv[bargc];
|
||||
bargv[++bargc] = strtok_r(NULL, " \t\r\n", &last))
|
||||
{
|
||||
debug("%s %d: %s", msg, bargc, bargv[bargc]);
|
||||
}
|
||||
return (bargc);
|
||||
}
|
||||
|
||||
static void
|
||||
parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
int argc, char **argv)
|
||||
@@ -1797,10 +1890,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
char **rv;
|
||||
#ifndef NOPOSIX
|
||||
char *homedir;
|
||||
char rcfile[256];
|
||||
char rcfile[PATH_MAX];
|
||||
#endif
|
||||
char *input;
|
||||
int i;
|
||||
isc_boolean_t need_clone = ISC_TRUE;
|
||||
|
||||
/*
|
||||
@@ -1832,31 +1923,21 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
unsigned int n;
|
||||
n = snprintf(rcfile, sizeof(rcfile), "%s/.digrc",
|
||||
homedir);
|
||||
if (n < sizeof(rcfile))
|
||||
if (n < sizeof(rcfile)) {
|
||||
batchfp = fopen(rcfile, "r");
|
||||
}
|
||||
}
|
||||
if (batchfp != NULL) {
|
||||
while (fgets(batchline, sizeof(batchline),
|
||||
batchfp) != 0) {
|
||||
batchfp) != 0)
|
||||
{
|
||||
debug("config line %s", batchline);
|
||||
bargc = 1;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargv[bargc] != NULL) &&
|
||||
(bargc < 62)) {
|
||||
bargc++;
|
||||
bargv[bargc] =
|
||||
next_token(&input, " \t\r\n");
|
||||
}
|
||||
|
||||
bargc = split_batchline(batchline, bargv, 62,
|
||||
".digrc argv");
|
||||
bargv[0] = argv[0];
|
||||
argv0 = argv[0];
|
||||
|
||||
for(i = 0; i < bargc; i++)
|
||||
debug(".digrc argv %d: %s",
|
||||
i, bargv[i]);
|
||||
parse_args(ISC_TRUE, ISC_TRUE, bargc,
|
||||
(char **)bargv);
|
||||
parse_args(ISC_TRUE, ISC_TRUE,
|
||||
bargc, (char **)bargv);
|
||||
}
|
||||
fclose(batchfp);
|
||||
}
|
||||
@@ -1867,8 +1948,9 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
/* Processing '-f batchfile'. */
|
||||
lookup = clone_lookup(default_lookup, ISC_TRUE);
|
||||
need_clone = ISC_FALSE;
|
||||
} else
|
||||
} else {
|
||||
lookup = default_lookup;
|
||||
}
|
||||
|
||||
rc = argc;
|
||||
rv = argv;
|
||||
@@ -2035,23 +2117,14 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
/* XXX Remove code dup from shutdown code */
|
||||
next_line:
|
||||
if (fgets(batchline, sizeof(batchline), batchfp) != 0) {
|
||||
bargc = 1;
|
||||
debug("batch line %s", batchline);
|
||||
if (batchline[0] == '\r' || batchline[0] == '\n'
|
||||
|| batchline[0] == '#' || batchline[0] == ';')
|
||||
if (batchline[0] == '\r' || batchline[0] == '\n' ||
|
||||
batchline[0] == '#' || batchline[0] == ';')
|
||||
goto next_line;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
||||
bargc++;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
}
|
||||
|
||||
bargc = split_batchline(batchline, bargv, 14,
|
||||
"batch argv");
|
||||
bargv[0] = argv[0];
|
||||
argv0 = argv[0];
|
||||
|
||||
for(i = 0; i < bargc; i++)
|
||||
debug("batch argv %d: %s", i, bargv[i]);
|
||||
parse_args(ISC_TRUE, ISC_FALSE, bargc, (char **)bargv);
|
||||
return;
|
||||
}
|
||||
@@ -2090,8 +2163,6 @@ query_finished(void) {
|
||||
char batchline[MXNAME];
|
||||
int bargc;
|
||||
char *bargv[16];
|
||||
char *input;
|
||||
int i;
|
||||
|
||||
if (batchname == NULL) {
|
||||
isc_app_shutdown();
|
||||
@@ -2109,18 +2180,8 @@ query_finished(void) {
|
||||
|
||||
if (fgets(batchline, sizeof(batchline), batchfp) != 0) {
|
||||
debug("batch line %s", batchline);
|
||||
bargc = 1;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
||||
bargc++;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
}
|
||||
|
||||
bargc = split_batchline(batchline, bargv, 14, "batch argv");
|
||||
bargv[0] = argv0;
|
||||
|
||||
for(i = 0; i < bargc; i++)
|
||||
debug("batch argv %d: %s", i, bargv[i]);
|
||||
parse_args(ISC_TRUE, ISC_FALSE, bargc, (char **)bargv);
|
||||
start_lookup();
|
||||
} else {
|
||||
|
||||
+73
-20
@@ -1,11 +1,14 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -48,6 +51,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -271,9 +275,9 @@
|
||||
<term>-i</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
|
||||
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
|
||||
domain, which is no longer in use. Obsolete bit string
|
||||
label queries (RFC2874) are not attempted.
|
||||
label queries (RFC 2874) are not attempted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -334,11 +338,12 @@
|
||||
<term>-t <replaceable class="parameter">type</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The resource record type to query. It can be any valid query type
|
||||
which is
|
||||
supported in BIND 9. The default query type is "A", unless the
|
||||
<option>-x</option> option is supplied to indicate a reverse lookup.
|
||||
A zone transfer can be requested by specifying a type of AXFR. When
|
||||
The resource record type to query. It can be any valid query
|
||||
type. If it is a resource record type supported in BIND 9, it
|
||||
can be given by the type mnemonic (such as "NS" or "AAAA").
|
||||
The default query type is "A", unless the <option>-x</option>
|
||||
option is supplied to indicate a reverse lookup. A zone
|
||||
transfer can be requested by specifying a type of AXFR. When
|
||||
an incremental zone transfer (IXFR) is required, set the
|
||||
<parameter>type</parameter> to <literal>ixfr=N</literal>.
|
||||
The incremental zone transfer will contain the changes
|
||||
@@ -346,6 +351,21 @@
|
||||
record was
|
||||
<parameter>N</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
All resource record types can be expressed as "TYPEnn", where
|
||||
"nn" is the number of the type. If the resource record type is
|
||||
not supported in BIND 9, the result will be displayed as
|
||||
described in RFC 3597.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-u</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -763,6 +783,17 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]idnin</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Process [do not process] IDN domain names on input.
|
||||
This requires IDN SUPPORT to have been enabled at
|
||||
compile time. The default is to process IDN input.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]idnout</option></term>
|
||||
<listitem>
|
||||
@@ -864,7 +895,8 @@
|
||||
attempts to find the authoritative name servers for
|
||||
the zone containing the name being looked up and
|
||||
display the SOA record that each name server has for
|
||||
the zone.
|
||||
the zone. Addresses of servers that that did not
|
||||
respond are also printed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -928,6 +960,17 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]raflag</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the RA (Recursion Available) bit in
|
||||
the query. The default is +noraflag. This bit should
|
||||
be ignored by the server for QUERY.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]rdflag</option></term>
|
||||
<listitem>
|
||||
@@ -1019,7 +1062,7 @@
|
||||
<listitem>
|
||||
<para>
|
||||
This feature is now obsolete and has been removed;
|
||||
use <command>delv</command> instead.
|
||||
use <command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1071,6 +1114,17 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]tcflag</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the TC (TrunCation) bit in the query.
|
||||
The default is +notcflag. This bit should be ignored
|
||||
by the server for QUERY.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]tcp</option></term>
|
||||
<listitem>
|
||||
@@ -1104,8 +1158,8 @@
|
||||
<listitem>
|
||||
<para>
|
||||
This feature is related to <command>dig +sigchase</command>,
|
||||
which is obsolete and has been removed. Use
|
||||
<command>delv</command> instead.
|
||||
which is obsolete and has been removed. Use
|
||||
<command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1150,9 +1204,9 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Formerly specified trusted keys for use with
|
||||
<command>dig +sigchase</command>. This feature is now
|
||||
obsolete and has been removed; use
|
||||
<command>delv</command> instead.
|
||||
<command>dig +sigchase</command>. This feature is now
|
||||
obsolete and has been removed; use
|
||||
<command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1274,10 +1328,9 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<command>dig</command> appropriately converts character encoding of
|
||||
domain name before sending a request to DNS server or displaying a
|
||||
reply from the server.
|
||||
If you'd like to turn off the IDN support for some reason, defines
|
||||
the <envar>IDN_DISABLE</envar> environment variable.
|
||||
The IDN support is disabled if the variable is set when
|
||||
<command>dig</command> runs.
|
||||
If you'd like to turn off the IDN support for some reason, use
|
||||
parameters <parameter>+noidnin</parameter> and
|
||||
<parameter>+noidnout</parameter>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
@@ -1303,7 +1356,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<citerefentry>
|
||||
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>RFC1035</citetitle>.
|
||||
<citetitle>RFC 1035</citetitle>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
+7
-1
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -290,6 +290,12 @@
|
||||
<em class="parameter"><code>N</code></em>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-u</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-v</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
+259
-173
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file
|
||||
@@ -21,17 +24,18 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef HAVE_LOCALE_H
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN
|
||||
#include <idn/result.h>
|
||||
#include <idn/log.h>
|
||||
#include <idn/resconf.h>
|
||||
#include <idn/api.h>
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
|
||||
#ifdef WITH_LIBIDN2
|
||||
#include <idn2.h>
|
||||
#endif
|
||||
#endif /* WITH_IDN_SUPPORT */
|
||||
|
||||
#include <dns/byaddr.h>
|
||||
#include <dns/fixedname.h>
|
||||
@@ -131,18 +135,23 @@ int lookup_counter = 0;
|
||||
|
||||
static char servercookie[256];
|
||||
|
||||
#ifdef WITH_IDN
|
||||
static void initialize_idn(void);
|
||||
static isc_result_t output_filter(isc_buffer_t *buffer,
|
||||
unsigned int used_org,
|
||||
isc_boolean_t absolute);
|
||||
static idn_result_t append_textname(char *name, const char *origin,
|
||||
size_t namesize);
|
||||
static void idn_check_result(idn_result_t r, const char *msg);
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
static void idn_initialize(void);
|
||||
static isc_result_t idn_locale_to_ace(const char *from,
|
||||
char *to,
|
||||
size_t tolen);
|
||||
#endif /* WITH_IDN_SUPPORT */
|
||||
|
||||
#define MAXDLEN 256
|
||||
int idnoptions = 0;
|
||||
#endif
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
static isc_result_t idn_ace_to_locale(const char *from,
|
||||
char *to,
|
||||
size_t tolen);
|
||||
static isc_result_t output_filter(isc_buffer_t *buffer,
|
||||
unsigned int used_org,
|
||||
isc_boolean_t absolute);
|
||||
#define MAXDLEN 256
|
||||
|
||||
#endif /* WITH_IDN_OUT_SUPPORT */
|
||||
|
||||
isc_socket_t *keep = NULL;
|
||||
isc_sockaddr_t keepaddr;
|
||||
@@ -167,7 +176,7 @@ unsigned char cookie[8];
|
||||
const dns_name_t *hmacname = NULL;
|
||||
unsigned int digestbits = 0;
|
||||
isc_buffer_t *namebuf = NULL;
|
||||
dns_tsigkey_t *key = NULL;
|
||||
dns_tsigkey_t *tsigkey = NULL;
|
||||
isc_boolean_t validated = ISC_TRUE;
|
||||
isc_entropy_t *entp = NULL;
|
||||
isc_mempool_t *commctx = NULL;
|
||||
@@ -202,7 +211,7 @@ isc_result_t
|
||||
isc_boolean_t headers);
|
||||
|
||||
void
|
||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
|
||||
void
|
||||
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
|
||||
@@ -233,18 +242,6 @@ check_next_lookup(dig_lookup_t *lookup);
|
||||
static isc_boolean_t
|
||||
next_origin(dig_lookup_t *oldlookup);
|
||||
|
||||
char *
|
||||
next_token(char **stringp, const char *delim) {
|
||||
char *res;
|
||||
|
||||
do {
|
||||
res = strsep(stringp, delim);
|
||||
if (res == NULL)
|
||||
break;
|
||||
} while (*res == '\0');
|
||||
return (res);
|
||||
}
|
||||
|
||||
static int
|
||||
count_dots(char *string) {
|
||||
char *s;
|
||||
@@ -266,7 +263,7 @@ hex_dump(isc_buffer_t *b) {
|
||||
|
||||
isc_buffer_usedregion(b, &r);
|
||||
|
||||
printf("%d bytes\n", r.length);
|
||||
printf("%u bytes\n", r.length);
|
||||
for (len = 0; len < r.length; len++) {
|
||||
printf("%02x ", r.base[len]);
|
||||
if (len % 16 == 15) {
|
||||
@@ -344,9 +341,8 @@ get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
|
||||
|
||||
if (ip6_int)
|
||||
options |= DNS_BYADDROPT_IPV6INT;
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
result = dns_byaddr_createptrname2(&addr, options, name);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
result = dns_byaddr_createptrname(&addr, options, name);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
dns_name_format(name, reverse, (unsigned int)len);
|
||||
@@ -375,6 +371,46 @@ get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
|
||||
}
|
||||
}
|
||||
|
||||
void (*dighost_pre_exit_hook)(void) = NULL;
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
void
|
||||
warn(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fflush(stdout);
|
||||
fprintf(stderr, ";; Warning: ");
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
#else
|
||||
void
|
||||
warn(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fflush(stdout);
|
||||
fprintf(stderr, "%s: ", progname);
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
digexit(void) {
|
||||
if (exitcode < 10)
|
||||
exitcode = 10;
|
||||
if (fatalexit != 0)
|
||||
exitcode = fatalexit;
|
||||
if (dighost_pre_exit_hook != NULL) {
|
||||
dighost_pre_exit_hook();
|
||||
}
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
void
|
||||
fatal(const char *format, ...) {
|
||||
va_list args;
|
||||
@@ -385,11 +421,7 @@ fatal(const char *format, ...) {
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
if (exitcode < 10)
|
||||
exitcode = 10;
|
||||
if (fatalexit != 0)
|
||||
exitcode = fatalexit;
|
||||
exit(exitcode);
|
||||
digexit();
|
||||
}
|
||||
|
||||
void
|
||||
@@ -401,7 +433,7 @@ debug(const char *format, ...) {
|
||||
fflush(stdout);
|
||||
if (debugtiming) {
|
||||
TIME_NOW(&t);
|
||||
fprintf(stderr, "%d.%06d: ", isc_time_seconds(&t),
|
||||
fprintf(stderr, "%u.%06u: ", isc_time_seconds(&t),
|
||||
isc_time_nanoseconds(&t) / 1000);
|
||||
}
|
||||
va_start(args, format);
|
||||
@@ -607,7 +639,12 @@ make_empty_lookup(void) {
|
||||
looknew->ttlunits = ISC_FALSE;
|
||||
looknew->ttlunits = ISC_FALSE;
|
||||
looknew->qr = ISC_FALSE;
|
||||
#ifdef WITH_IDN
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
looknew->idnin = ISC_TRUE;
|
||||
#else
|
||||
looknew->idnin = ISC_FALSE;
|
||||
#endif
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
looknew->idnout = ISC_TRUE;
|
||||
#else
|
||||
looknew->idnout = ISC_FALSE;
|
||||
@@ -618,6 +655,8 @@ make_empty_lookup(void) {
|
||||
looknew->aaonly = ISC_FALSE;
|
||||
looknew->adflag = ISC_FALSE;
|
||||
looknew->cdflag = ISC_FALSE;
|
||||
looknew->raflag = ISC_FALSE;
|
||||
looknew->tcflag = ISC_FALSE;
|
||||
looknew->print_unknown_format = ISC_FALSE;
|
||||
looknew->zflag = ISC_FALSE;
|
||||
looknew->ns_search_only = ISC_FALSE;
|
||||
@@ -752,6 +791,7 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
|
||||
looknew->nocrypto = lookold->nocrypto;
|
||||
looknew->ttlunits = lookold->ttlunits;
|
||||
looknew->qr = lookold->qr;
|
||||
looknew->idnin = lookold->idnin;
|
||||
looknew->idnout = lookold->idnout;
|
||||
looknew->udpsize = lookold->udpsize;
|
||||
looknew->edns = lookold->edns;
|
||||
@@ -759,6 +799,8 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
|
||||
looknew->aaonly = lookold->aaonly;
|
||||
looknew->adflag = lookold->adflag;
|
||||
looknew->cdflag = lookold->cdflag;
|
||||
looknew->raflag = lookold->raflag;
|
||||
looknew->tcflag = lookold->tcflag;
|
||||
looknew->print_unknown_format = lookold->print_unknown_format;
|
||||
looknew->zflag = lookold->zflag;
|
||||
looknew->ns_search_only = lookold->ns_search_only;
|
||||
@@ -863,13 +905,13 @@ setup_text_key(void) {
|
||||
|
||||
result = dns_tsigkey_create(&keyname, hmacname, secretstore,
|
||||
(int)secretsize, ISC_FALSE, NULL, 0, 0,
|
||||
mctx, NULL, &key);
|
||||
mctx, NULL, &tsigkey);
|
||||
failure:
|
||||
if (result != ISC_R_SUCCESS)
|
||||
printf(";; Couldn't create key %s: %s\n",
|
||||
keynametext, isc_result_totext(result));
|
||||
else
|
||||
dst_key_setbits(key->key, digestbits);
|
||||
dst_key_setbits(tsigkey->key, digestbits);
|
||||
|
||||
isc_mem_free(mctx, secretstore);
|
||||
dns_name_invalidate(&keyname);
|
||||
@@ -1156,7 +1198,7 @@ setup_file_key(void) {
|
||||
}
|
||||
result = dns_tsigkey_createfromkey(dst_key_name(dstkey), hmacname,
|
||||
dstkey, ISC_FALSE, NULL, 0, 0,
|
||||
mctx, NULL, &key);
|
||||
mctx, NULL, &tsigkey);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
printf(";; Couldn't create key %s: %s\n",
|
||||
keynametext, isc_result_totext(result));
|
||||
@@ -1255,8 +1297,19 @@ setup_system(isc_boolean_t ipv4only, isc_boolean_t ipv6only) {
|
||||
|
||||
irs_resconf_destroy(&resconf);
|
||||
|
||||
#ifdef WITH_IDN
|
||||
initialize_idn();
|
||||
#ifdef HAVE_SETLOCALE
|
||||
/* Set locale */
|
||||
(void)setlocale(LC_ALL, "");
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
idn_initialize();
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
/* Set domain name -> text post-conversion filter. */
|
||||
result = dns_name_settotextfilter(output_filter);
|
||||
check_result(result, "dns_name_settotextfilter");
|
||||
#endif
|
||||
|
||||
if (keyfile[0] != 0)
|
||||
@@ -1338,7 +1391,7 @@ setup_libs(void) {
|
||||
result = isc_entropy_create(mctx, &entp);
|
||||
check_result(result, "isc_entropy_create");
|
||||
|
||||
result = dst_lib_init(mctx, entp, 0);
|
||||
result = dst_lib_init(mctx, entp, NULL, 0);
|
||||
check_result(result, "dst_lib_init");
|
||||
is_dst_up = ISC_TRUE;
|
||||
|
||||
@@ -1382,7 +1435,7 @@ dig_ednsoptname_t optnames[] = {
|
||||
void
|
||||
save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
||||
isc_result_t result;
|
||||
isc_uint32_t num;
|
||||
isc_uint32_t num = 0;
|
||||
isc_buffer_t b;
|
||||
isc_boolean_t found = ISC_FALSE;
|
||||
unsigned int i;
|
||||
@@ -1871,8 +1924,7 @@ next_origin(dig_lookup_t *oldlookup) {
|
||||
/*
|
||||
* Check for a absolute name or ndots being met.
|
||||
*/
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
result = dns_name_fromstring2(name, oldlookup->textname, NULL,
|
||||
0, NULL);
|
||||
if (result == ISC_R_SUCCESS &&
|
||||
@@ -1987,12 +2039,13 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
char store[MXNAME];
|
||||
char ecsbuf[20];
|
||||
char cookiebuf[256];
|
||||
#ifdef WITH_IDN
|
||||
idn_result_t mr;
|
||||
char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME];
|
||||
char *origin = NULL;
|
||||
char *textname = NULL;
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
char idn_origin[MXNAME], idn_textname[MXNAME];
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
result = dns_name_settotextfilter(lookup->idnout ?
|
||||
output_filter : NULL);
|
||||
check_result(result, "dns_name_settotextfilter");
|
||||
@@ -2025,15 +2078,19 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
isc_buffer_init(&lookup->onamebuf, lookup->oname_space,
|
||||
sizeof(lookup->oname_space));
|
||||
|
||||
#ifdef WITH_IDN
|
||||
/*
|
||||
* We cannot convert `textname' and `origin' separately.
|
||||
* `textname' doesn't contain TLD, but local mapping needs
|
||||
* TLD.
|
||||
*/
|
||||
mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname,
|
||||
utf8_textname, sizeof(utf8_textname));
|
||||
idn_check_result(mr, "convert textname to UTF-8");
|
||||
textname = lookup->textname;
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
if (lookup->idnin) {
|
||||
result = idn_locale_to_ace(textname, idn_textname, sizeof(idn_textname));
|
||||
check_result(result, "convert textname to IDN encoding");
|
||||
debug("idn_textname: %s", idn_textname);
|
||||
textname = idn_textname;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -2044,8 +2101,8 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
* is TRUE or we got a domain line in the resolv.conf file.
|
||||
*/
|
||||
if (lookup->new_search) {
|
||||
#ifdef WITH_IDN
|
||||
if ((count_dots(utf8_textname) >= ndots) || !usesearch) {
|
||||
if ((count_dots(textname) >= ndots) || !usesearch)
|
||||
{
|
||||
lookup->origin = NULL; /* Force abs lookup */
|
||||
lookup->done_as_is = ISC_TRUE;
|
||||
lookup->need_search = usesearch;
|
||||
@@ -2053,33 +2110,8 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
lookup->origin = ISC_LIST_HEAD(search_list);
|
||||
lookup->need_search = ISC_FALSE;
|
||||
}
|
||||
#else
|
||||
if ((count_dots(lookup->textname) >= ndots) || !usesearch) {
|
||||
lookup->origin = NULL; /* Force abs lookup */
|
||||
lookup->done_as_is = ISC_TRUE;
|
||||
lookup->need_search = usesearch;
|
||||
} else if (lookup->origin == NULL && usesearch) {
|
||||
lookup->origin = ISC_LIST_HEAD(search_list);
|
||||
lookup->need_search = ISC_FALSE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN
|
||||
if (lookup->origin != NULL) {
|
||||
mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP,
|
||||
lookup->origin->origin, utf8_origin,
|
||||
sizeof(utf8_origin));
|
||||
idn_check_result(mr, "convert origin to UTF-8");
|
||||
mr = append_textname(utf8_textname, utf8_origin,
|
||||
sizeof(utf8_textname));
|
||||
idn_check_result(mr, "append origin to textname");
|
||||
}
|
||||
mr = idn_encodename(idnoptions | IDN_LOCALMAP | IDN_NAMEPREP |
|
||||
IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
|
||||
idn_textname, sizeof(idn_textname));
|
||||
idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
|
||||
#else
|
||||
if (lookup->origin != NULL) {
|
||||
debug("trying origin %s", lookup->origin->origin);
|
||||
result = dns_message_gettempname(lookup->sendmsg,
|
||||
@@ -2087,8 +2119,17 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
check_result(result, "dns_message_gettempname");
|
||||
dns_name_init(lookup->oname, NULL);
|
||||
/* XXX Helper funct to conv char* to name? */
|
||||
len = (unsigned int) strlen(lookup->origin->origin);
|
||||
isc_buffer_init(&b, lookup->origin->origin, len);
|
||||
origin = lookup->origin->origin;
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
if (lookup->idnin) {
|
||||
result = idn_locale_to_ace(origin, idn_origin, sizeof(idn_origin));
|
||||
check_result(result, "convert origin to IDN encoding");
|
||||
debug("trying idn origin %s", idn_origin);
|
||||
origin = idn_origin;
|
||||
}
|
||||
#endif
|
||||
len = (unsigned int) strlen(origin);
|
||||
isc_buffer_init(&b, origin, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->oname, &b, dns_rootname,
|
||||
0, &lookup->onamebuf);
|
||||
@@ -2098,7 +2139,7 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
dns_message_puttempname(lookup->sendmsg,
|
||||
&lookup->oname);
|
||||
fatal("'%s' is not in legal name syntax (%s)",
|
||||
lookup->origin->origin,
|
||||
origin,
|
||||
isc_result_totext(result));
|
||||
}
|
||||
if (lookup->trace && lookup->trace_root) {
|
||||
@@ -2107,10 +2148,9 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
dns_fixedname_t fixed;
|
||||
dns_name_t *name;
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
len = (unsigned int) strlen(lookup->textname);
|
||||
isc_buffer_init(&b, lookup->textname, len);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
len = (unsigned int) strlen(textname);
|
||||
isc_buffer_init(&b, textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(name, &b, NULL, 0, NULL);
|
||||
if (result == ISC_R_SUCCESS &&
|
||||
@@ -2135,35 +2175,30 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
}
|
||||
}
|
||||
dns_message_puttempname(lookup->sendmsg, &lookup->oname);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
} else {
|
||||
debug("using root origin");
|
||||
if (lookup->trace && lookup->trace_root)
|
||||
dns_name_clone(dns_rootname, lookup->name);
|
||||
else {
|
||||
#ifdef WITH_IDN
|
||||
len = (unsigned int) strlen(idn_textname);
|
||||
isc_buffer_init(&b, idn_textname, len);
|
||||
len = (unsigned int) strlen(textname);
|
||||
isc_buffer_init(&b, textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->name, &b,
|
||||
dns_rootname, 0,
|
||||
&lookup->namebuf);
|
||||
#else
|
||||
len = (unsigned int) strlen(lookup->textname);
|
||||
isc_buffer_init(&b, lookup->textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->name, &b,
|
||||
dns_rootname, 0,
|
||||
&lookup->namebuf);
|
||||
#endif
|
||||
}
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_message_puttempname(lookup->sendmsg,
|
||||
&lookup->name);
|
||||
fatal("'%s' is not a legal name "
|
||||
warn("'%s' is not a legal name "
|
||||
"(%s)", lookup->textname,
|
||||
isc_result_totext(result));
|
||||
#if TARGET_OS_IPHONE
|
||||
check_next_lookup(current_lookup);
|
||||
return (ISC_FALSE);
|
||||
#else
|
||||
digexit();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
dns_name_format(lookup->name, store, sizeof(store));
|
||||
@@ -2204,6 +2239,16 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_CD;
|
||||
}
|
||||
|
||||
if (lookup->raflag) {
|
||||
debug("RA query");
|
||||
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_RA;
|
||||
}
|
||||
|
||||
if (lookup->tcflag) {
|
||||
debug("TC query");
|
||||
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_TC;
|
||||
}
|
||||
|
||||
if (lookup->zflag) {
|
||||
debug("Z query");
|
||||
lookup->sendmsg->flags |= 0x0040U;
|
||||
@@ -2241,9 +2286,9 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
/* XXX Insist this? */
|
||||
lookup->tsigctx = NULL;
|
||||
lookup->querysig = NULL;
|
||||
if (key != NULL) {
|
||||
if (tsigkey != NULL) {
|
||||
debug("initializing keys");
|
||||
result = dns_message_settsigkey(lookup->sendmsg, key);
|
||||
result = dns_message_settsigkey(lookup->sendmsg, tsigkey);
|
||||
check_result(result, "dns_message_settsigkey");
|
||||
}
|
||||
|
||||
@@ -2938,7 +2983,15 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
|
||||
check_next_lookup(l);
|
||||
}
|
||||
} else {
|
||||
if (!l->ns_search_only) {
|
||||
if (l->ns_search_only) {
|
||||
isc_netaddr_t netaddr;
|
||||
char buf[ISC_NETADDR_FORMATSIZE];
|
||||
|
||||
isc_netaddr_fromsockaddr(&netaddr, &query->sockaddr);
|
||||
isc_netaddr_format(&netaddr, buf, sizeof(buf));
|
||||
|
||||
printf(";; no response from %s\n", buf);
|
||||
} else {
|
||||
fputs(l->cmdline, stdout);
|
||||
printf(";; connection timed out; no servers could be "
|
||||
"reached\n");
|
||||
@@ -3600,7 +3653,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
|
||||
check_result(result, "dns_message_create");
|
||||
|
||||
if (key != NULL) {
|
||||
if (tsigkey != NULL) {
|
||||
if (l->querysig == NULL) {
|
||||
debug("getting initial querysig");
|
||||
result = dns_message_getquerytsig(l->sendmsg, mctx,
|
||||
@@ -3609,7 +3662,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
}
|
||||
result = dns_message_setquerytsig(msg, l->querysig);
|
||||
check_result(result, "dns_message_setquerytsig");
|
||||
result = dns_message_settsigkey(msg, key);
|
||||
result = dns_message_settsigkey(msg, tsigkey);
|
||||
check_result(result, "dns_message_settsigkey");
|
||||
msg->tsigctx = l->tsigctx;
|
||||
l->tsigctx = NULL;
|
||||
@@ -3696,7 +3749,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
if (l->comments)
|
||||
printf(";; BADVERS, retrying with EDNS version %u.\n",
|
||||
newedns);
|
||||
(unsigned int)newedns);
|
||||
l->edns = newedns;
|
||||
n = requeue_lookup(l, ISC_TRUE);
|
||||
if (l->trace && l->trace_root)
|
||||
@@ -3785,7 +3838,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (key != NULL) {
|
||||
if (tsigkey != NULL) {
|
||||
result = dns_tsig_verify(&query->recvbuf, msg, NULL, NULL);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
printf(";; Couldn't verify signature: %s\n",
|
||||
@@ -4100,7 +4153,7 @@ cancel_all(void) {
|
||||
*/
|
||||
void
|
||||
destroy_libs(void) {
|
||||
#ifdef WITH_IDN
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
isc_result_t result;
|
||||
#endif
|
||||
|
||||
@@ -4134,7 +4187,7 @@ destroy_libs(void) {
|
||||
|
||||
clear_searchlist();
|
||||
|
||||
#ifdef WITH_IDN
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
result = dns_name_settotextfilter(NULL);
|
||||
check_result(result, "dns_name_settotextfilter");
|
||||
#endif
|
||||
@@ -4152,9 +4205,9 @@ destroy_libs(void) {
|
||||
debug("freeing timermgr");
|
||||
isc_timermgr_destroy(&timermgr);
|
||||
}
|
||||
if (key != NULL) {
|
||||
debug("freeing key %p", key);
|
||||
dns_tsigkey_detach(&key);
|
||||
if (tsigkey != NULL) {
|
||||
debug("freeing key %p", tsigkey);
|
||||
dns_tsigkey_detach(&tsigkey);
|
||||
}
|
||||
if (namebuf != NULL)
|
||||
isc_buffer_free(&namebuf);
|
||||
@@ -4181,27 +4234,7 @@ destroy_libs(void) {
|
||||
isc_mem_destroy(&mctx);
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN
|
||||
static void
|
||||
initialize_idn(void) {
|
||||
idn_result_t r;
|
||||
isc_result_t result;
|
||||
|
||||
#ifdef HAVE_SETLOCALE
|
||||
/* Set locale */
|
||||
(void)setlocale(LC_ALL, "");
|
||||
#endif
|
||||
/* Create configuration context. */
|
||||
r = idn_nameinit(1);
|
||||
if (r != idn_success)
|
||||
fatal("idn api initialization failed: %s",
|
||||
idn_result_tostring(r));
|
||||
|
||||
/* Set domain name -> text post-conversion filter. */
|
||||
result = dns_name_settotextfilter(output_filter);
|
||||
check_result(result, "dns_name_settotextfilter");
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
static isc_result_t
|
||||
output_filter(isc_buffer_t *buffer, unsigned int used_org,
|
||||
isc_boolean_t absolute)
|
||||
@@ -4209,6 +4242,7 @@ output_filter(isc_buffer_t *buffer, unsigned int used_org,
|
||||
char tmp1[MAXDLEN], tmp2[MAXDLEN];
|
||||
size_t fromlen, tolen;
|
||||
isc_boolean_t end_with_dot;
|
||||
isc_result_t result;
|
||||
|
||||
/*
|
||||
* Copy contents of 'buffer' to 'tmp1', supply trailing dot
|
||||
@@ -4217,6 +4251,7 @@ output_filter(isc_buffer_t *buffer, unsigned int used_org,
|
||||
fromlen = isc_buffer_usedlength(buffer) - used_org;
|
||||
if (fromlen >= MAXDLEN)
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
memmove(tmp1, (char *)isc_buffer_base(buffer) + used_org, fromlen);
|
||||
end_with_dot = (tmp1[fromlen - 1] == '.') ? ISC_TRUE : ISC_FALSE;
|
||||
if (absolute && !end_with_dot) {
|
||||
@@ -4225,58 +4260,109 @@ output_filter(isc_buffer_t *buffer, unsigned int used_org,
|
||||
return (ISC_R_SUCCESS);
|
||||
tmp1[fromlen - 1] = '.';
|
||||
}
|
||||
|
||||
tmp1[fromlen] = '\0';
|
||||
|
||||
/*
|
||||
* Convert contents of 'tmp1' to local encoding.
|
||||
*/
|
||||
if (idn_decodename(IDN_DECODE_APP, tmp1, tmp2, MAXDLEN) != idn_success)
|
||||
result = idn_ace_to_locale(tmp1, tmp2, sizeof(tmp2));
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return (ISC_R_SUCCESS);
|
||||
strlcpy(tmp1, tmp2, MAXDLEN);
|
||||
|
||||
}
|
||||
/*
|
||||
* Copy the converted contents in 'tmp1' back to 'buffer'.
|
||||
* If we have appended trailing dot, remove it.
|
||||
*/
|
||||
tolen = strlen(tmp1);
|
||||
if (absolute && !end_with_dot && tmp1[tolen - 1] == '.')
|
||||
tolen = strlen(tmp2);
|
||||
if (absolute && !end_with_dot && tmp2[tolen - 1] == '.')
|
||||
tolen--;
|
||||
|
||||
if (isc_buffer_length(buffer) < used_org + tolen)
|
||||
return (ISC_R_NOSPACE);
|
||||
|
||||
isc_buffer_subtract(buffer, isc_buffer_usedlength(buffer) - used_org);
|
||||
memmove(isc_buffer_used(buffer), tmp1, tolen);
|
||||
memmove(isc_buffer_used(buffer), tmp2, tolen);
|
||||
isc_buffer_add(buffer, (unsigned int)tolen);
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
#endif
|
||||
|
||||
static idn_result_t
|
||||
append_textname(char *name, const char *origin, size_t namesize) {
|
||||
size_t namelen = strlen(name);
|
||||
size_t originlen = strlen(origin);
|
||||
|
||||
/* Already absolute? */
|
||||
if (namelen > 0 && name[namelen - 1] == '.')
|
||||
return (idn_success);
|
||||
|
||||
/* Append dot and origin */
|
||||
|
||||
if (namelen + 1 + originlen >= namesize)
|
||||
return (idn_buffer_overflow);
|
||||
|
||||
if (*origin != '.')
|
||||
name[namelen++] = '.';
|
||||
(void)strlcpy(name + namelen, origin, namesize - namelen);
|
||||
return (idn_success);
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN_SUPPORT
|
||||
#ifdef WITH_LIBIDN2
|
||||
static void
|
||||
idn_check_result(idn_result_t r, const char *msg) {
|
||||
if (r != idn_success) {
|
||||
exitcode = 1;
|
||||
fatal("%s: %s", msg, idn_result_tostring(r));
|
||||
}
|
||||
idn_initialize(void) {
|
||||
}
|
||||
#endif /* WITH_IDN */
|
||||
|
||||
static isc_result_t
|
||||
idn_locale_to_ace(const char *from, char *to, size_t tolen) {
|
||||
int res;
|
||||
char *tmp_str = NULL;
|
||||
|
||||
res = idn2_to_ascii_lz(from, &tmp_str, IDN2_NONTRANSITIONAL|IDN2_NFC_INPUT);
|
||||
if (res == IDN2_DISALLOWED) {
|
||||
res = idn2_to_ascii_lz(from, &tmp_str, IDN2_TRANSITIONAL|IDN2_NFC_INPUT);
|
||||
}
|
||||
|
||||
if (res == IDN2_OK) {
|
||||
/*
|
||||
* idn2_to_ascii_lz() normalizes all strings to lowerl case,
|
||||
* but we generally don't want to lowercase all input strings;
|
||||
* make sure to return the original case if the two strings
|
||||
* differ only in case
|
||||
*/
|
||||
if (!strcasecmp(from, tmp_str)) {
|
||||
if (strlen(from) >= tolen) {
|
||||
debug("from string is too long");
|
||||
idn2_free(tmp_str);
|
||||
return ISC_R_NOSPACE;
|
||||
}
|
||||
idn2_free(tmp_str);
|
||||
(void) strlcpy(to, from, tolen);
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
/* check the length */
|
||||
if (strlen(tmp_str) >= tolen) {
|
||||
debug("ACE string is too long");
|
||||
idn2_free(tmp_str);
|
||||
return ISC_R_NOSPACE;
|
||||
}
|
||||
|
||||
(void) strlcpy(to, tmp_str, tolen);
|
||||
idn2_free(tmp_str);
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
fatal("'%s' is not a legal IDN name (%s), use +noidnin", from, idn2_strerror(res));
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN_OUT_SUPPORT
|
||||
static isc_result_t
|
||||
idn_ace_to_locale(const char *from, char *to, size_t tolen) {
|
||||
int res;
|
||||
char *tmp_str = NULL;
|
||||
|
||||
res = idn2_to_unicode_8zlz(from, &tmp_str,
|
||||
IDN2_NONTRANSITIONAL|IDN2_NFC_INPUT);
|
||||
|
||||
if (res == IDN2_OK) {
|
||||
/* check the length */
|
||||
if (strlen(tmp_str) >= tolen) {
|
||||
debug("encoded ASC string is too long");
|
||||
idn2_free(tmp_str);
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
|
||||
(void) strlcpy(to, tmp_str, tolen);
|
||||
idn2_free(tmp_str);
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
fatal("'%s' is not a legal IDN name (%s), use +noidnout", from, idn2_strerror(res));
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
#endif /* WITH_IDN_OUT_SUPPORT */
|
||||
#endif /* WITH_LIBIDN2 */
|
||||
#endif /* WITH_IDN_SUPPORT */
|
||||
|
||||
+6
-27
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -16,13 +19,6 @@
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN
|
||||
#include <idn/result.h>
|
||||
#include <idn/log.h>
|
||||
#include <idn/resconf.h>
|
||||
#include <idn/api.h>
|
||||
#endif
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/netaddr.h>
|
||||
@@ -169,7 +165,7 @@ host_shutdown(void) {
|
||||
}
|
||||
|
||||
static void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
isc_time_t now;
|
||||
int diff;
|
||||
|
||||
@@ -456,8 +452,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
dns_name_t *name;
|
||||
|
||||
/* Add AAAA and MX lookups. */
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
dns_name_copy(query->lookup->name, name, NULL);
|
||||
chase_cnamechain(msg, name);
|
||||
dns_name_format(name, namestr, sizeof(namestr));
|
||||
@@ -718,9 +713,6 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
lookup->rdtype != dns_rdatatype_axfr)
|
||||
lookup->rdtype = rdtype;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = 0;
|
||||
#endif
|
||||
if (rdtype == dns_rdatatype_axfr) {
|
||||
/* -l -t any -v */
|
||||
list_type = dns_rdatatype_any;
|
||||
@@ -733,13 +725,6 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
} else if (rdtype == dns_rdatatype_any) {
|
||||
if (!lookup->tcp_mode_set)
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
#ifdef WITH_IDN
|
||||
} else if (rdtype == dns_rdatatype_a ||
|
||||
rdtype == dns_rdatatype_aaaa ||
|
||||
rdtype == dns_rdatatype_mx) {
|
||||
idnoptions = IDN_ASCCHECK;
|
||||
list_type = rdtype;
|
||||
#endif
|
||||
} else
|
||||
list_type = rdtype;
|
||||
list_addresses = ISC_FALSE;
|
||||
@@ -768,9 +753,6 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
if (!lookup->rdtypeset ||
|
||||
lookup->rdtype != dns_rdatatype_axfr)
|
||||
lookup->rdtype = dns_rdatatype_any;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = 0;
|
||||
#endif
|
||||
list_type = dns_rdatatype_any;
|
||||
list_addresses = ISC_FALSE;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
@@ -882,9 +864,6 @@ main(int argc, char **argv) {
|
||||
ISC_LIST_INIT(search_list);
|
||||
|
||||
fatalexit = 1;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = IDN_ASCCHECK;
|
||||
#endif
|
||||
|
||||
/* setup dighost callbacks */
|
||||
dighost_printmessage = printmessage;
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -43,6 +46,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef DIG_H
|
||||
@@ -26,6 +29,10 @@
|
||||
#include <isc/sockaddr.h>
|
||||
#include <isc/socket.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <TargetConditionals.h>
|
||||
#endif
|
||||
|
||||
#define MXSERV 20
|
||||
#define MXNAME (DNS_NAME_MAXTEXT+1)
|
||||
#define MXRD 32
|
||||
@@ -87,6 +94,8 @@ struct dig_lookup {
|
||||
aaonly,
|
||||
adflag,
|
||||
cdflag,
|
||||
raflag,
|
||||
tcflag,
|
||||
zflag,
|
||||
trace, /*% dig +trace */
|
||||
trace_root, /*% initial query for either +trace or +nssearch */
|
||||
@@ -122,6 +131,7 @@ struct dig_lookup {
|
||||
use_usec,
|
||||
nocrypto,
|
||||
ttlunits,
|
||||
idnin,
|
||||
idnout,
|
||||
qr;
|
||||
char textname[MXNAME]; /*% Name we're going to be looking up */
|
||||
@@ -249,7 +259,7 @@ extern char keyfile[MXNAME];
|
||||
extern char keysecret[MXNAME];
|
||||
extern const dns_name_t *hmacname;
|
||||
extern unsigned int digestbits;
|
||||
extern dns_tsigkey_t *key;
|
||||
extern dns_tsigkey_t *tsigkey;
|
||||
extern isc_boolean_t validated;
|
||||
extern isc_taskmgr_t *taskmgr;
|
||||
extern isc_task_t *global_task;
|
||||
@@ -261,9 +271,6 @@ extern char *progname;
|
||||
extern int tries;
|
||||
extern int fatalexit;
|
||||
extern isc_boolean_t verbose;
|
||||
#ifdef WITH_IDN
|
||||
extern int idnoptions;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Routines in dighost.c.
|
||||
@@ -282,6 +289,13 @@ ISC_PLATFORM_NORETURN_PRE void
|
||||
fatal(const char *format, ...)
|
||||
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
digexit(void)
|
||||
ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
@@ -357,9 +371,6 @@ destroy_libs(void);
|
||||
void
|
||||
set_search_domain(char *domain);
|
||||
|
||||
char *
|
||||
next_token(char **stringp, const char *delim);
|
||||
|
||||
/*
|
||||
* Routines to be defined in dig.c, host.c, and nslookup.c. and
|
||||
* then assigned to the appropriate function pointer
|
||||
@@ -371,7 +382,7 @@ extern isc_result_t
|
||||
*/
|
||||
|
||||
extern void
|
||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
/*%<
|
||||
* Print a message about where and when the response
|
||||
* was received from, like the final comment in the
|
||||
@@ -384,6 +395,9 @@ extern void
|
||||
extern void
|
||||
(*dighost_shutdown)(void);
|
||||
|
||||
extern void
|
||||
(*dighost_pre_exit_hook)(void);
|
||||
|
||||
void save_opt(dig_lookup_t *lookup, char *code, char *value);
|
||||
|
||||
void setup_file_key(void);
|
||||
|
||||
+22
-20
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -387,7 +390,7 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
||||
}
|
||||
|
||||
static void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
{
|
||||
UNUSED(bytes);
|
||||
UNUSED(from);
|
||||
@@ -472,8 +475,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
dns_name_t *name;
|
||||
|
||||
/* Add AAAA lookup. */
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
dns_name_copy(query->lookup->name, name, NULL);
|
||||
chase_cnamechain(msg, name);
|
||||
dns_name_format(name, namestr, sizeof(namestr));
|
||||
@@ -549,7 +551,7 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
|
||||
printf(" %s\t\t%s\n",
|
||||
usesearch ? "search" : "nosearch",
|
||||
recurse ? "recurse" : "norecurse");
|
||||
printf(" timeout = %d\t\tretry = %d\tport = %d\tndots = %d\n",
|
||||
printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n",
|
||||
timeout, tries, port, ndots);
|
||||
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
|
||||
printf(" srchlist = ");
|
||||
@@ -707,31 +709,31 @@ setoption(char *opt) {
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (CHECKOPT("nodefname", 5)) {
|
||||
usesearch = ISC_FALSE;
|
||||
} else if (CHECKOPT("vc", 2) == 0) {
|
||||
} else if (CHECKOPT("vc", 2)) {
|
||||
tcpmode = ISC_TRUE;
|
||||
tcpmode_set = ISC_TRUE;
|
||||
} else if (CHECKOPT("novc", 4) == 0) {
|
||||
} else if (CHECKOPT("novc", 4)) {
|
||||
tcpmode = ISC_FALSE;
|
||||
tcpmode_set = ISC_TRUE;
|
||||
} else if (CHECKOPT("debug", 3) == 0) {
|
||||
} else if (CHECKOPT("debug", 3)) {
|
||||
short_form = ISC_FALSE;
|
||||
showsearch = ISC_TRUE;
|
||||
} else if (CHECKOPT("nodebug", 5) == 0) {
|
||||
} else if (CHECKOPT("nodebug", 5)) {
|
||||
short_form = ISC_TRUE;
|
||||
showsearch = ISC_FALSE;
|
||||
} else if (CHECKOPT("d2", 2) == 0) {
|
||||
} else if (CHECKOPT("d2", 2)) {
|
||||
debugging = ISC_TRUE;
|
||||
} else if (CHECKOPT("nod2", 4) == 0) {
|
||||
} else if (CHECKOPT("nod2", 4)) {
|
||||
debugging = ISC_FALSE;
|
||||
} else if (CHECKOPT("search", 3) == 0) {
|
||||
} else if (CHECKOPT("search", 3)) {
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (CHECKOPT("nosearch", 5) == 0) {
|
||||
} else if (CHECKOPT("nosearch", 5)) {
|
||||
usesearch = ISC_FALSE;
|
||||
} else if (CHECKOPT("sil", 3) == 0) {
|
||||
} else if (CHECKOPT("sil", 3)) {
|
||||
/* deprecation_msg = ISC_FALSE; */
|
||||
} else if (CHECKOPT("fail", 3) == 0) {
|
||||
} else if (CHECKOPT("fail", 3)) {
|
||||
nofail=ISC_FALSE;
|
||||
} else if (CHECKOPT("nofail", 5) == 0) {
|
||||
} else if (CHECKOPT("nofail", 5)) {
|
||||
nofail=ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "ndots=", 6) == 0) {
|
||||
set_ndots(&opt[6]);
|
||||
@@ -811,12 +813,12 @@ addlookup(char *opt) {
|
||||
|
||||
static void
|
||||
do_next_command(char *input) {
|
||||
char *ptr, *arg;
|
||||
char *ptr, *arg, *last;
|
||||
|
||||
ptr = next_token(&input, " \t\r\n");
|
||||
if (ptr == NULL)
|
||||
if ((ptr = strtok_r(input, " \t\r\n", &last)) == NULL) {
|
||||
return;
|
||||
arg = next_token(&input, " \t\r\n");
|
||||
}
|
||||
arg = strtok_r(NULL, " \t\r\n", &last);
|
||||
if ((strcasecmp(ptr, "set") == 0) &&
|
||||
(arg != NULL))
|
||||
setoption(arg);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!--
|
||||
@@ -67,6 +70,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
# Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -44,7 +44,8 @@ dnssec-cds \- change DS records for a child zone based on CDS/CDNSKEY
|
||||
.PP
|
||||
The
|
||||
\fBdnssec\-cds\fR
|
||||
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&.
|
||||
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&. This enables a child zone to inform its parent of upcoming changes to its key\-signing keys; by polling periodically with
|
||||
\fBdnssec\-cds\fR, the parent can keep the DS records up to date and enable automatic rolling of KSKs\&.
|
||||
.PP
|
||||
Two input files are required\&. The
|
||||
\fB\-f \fR\fB\fIchild\-file\fR\fR
|
||||
@@ -57,6 +58,10 @@ file generated by
|
||||
\fBdnssec\-dsfromkey\fR, or the output of a previous run of
|
||||
\fBdnssec\-cds\fR\&.
|
||||
.PP
|
||||
The
|
||||
\fBdnssec\-cds\fR
|
||||
command uses special DNSSEC validation logic specified by RFC 7344\&. It requires that the CDS and/or CDNSKEY records are validly signed by a key represented in the existing DS records\&. This will typicially be the pre\-existing key\-signing key (KSK)\&.
|
||||
.PP
|
||||
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
||||
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
||||
dsset\-
|
||||
@@ -288,5 +293,5 @@ RFC 7344\&.
|
||||
.RE
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+34
-19
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -85,7 +88,7 @@ static dns_rdataclass_t rdclass = dns_rdataclass_in;
|
||||
*/
|
||||
static isc_uint8_t dtype[8];
|
||||
|
||||
static const char *startstr = NULL; /* from which we derive notbefore */
|
||||
static const char *startstr = NULL; /* from which we derive notbefore */
|
||||
static isc_stdtime_t notbefore = 0; /* restrict sig inception times */
|
||||
static dns_rdata_rrsig_t oldestsig; /* for recording inception time */
|
||||
|
||||
@@ -170,8 +173,7 @@ initname(char *setname) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
namestr = setname;
|
||||
|
||||
isc_buffer_init(&buf, setname, strlen(setname));
|
||||
@@ -251,8 +253,8 @@ load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep) {
|
||||
rdclass, 0, NULL, dbp);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
result = dns_db_load3(*dbp, filename,
|
||||
dns_masterformat_text, DNS_MASTER_HINT);
|
||||
result = dns_db_load(*dbp, filename,
|
||||
dns_masterformat_text, DNS_MASTER_HINT);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE) {
|
||||
fatal("can't load %s: %s", filename,
|
||||
isc_result_totext(result));
|
||||
@@ -376,9 +378,9 @@ formatset(dns_rdataset_t *rdataset) {
|
||||
* which just separates fields with spaces. The huge tab stop width
|
||||
* eliminates any tab characters.
|
||||
*/
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
0, 0, 0, 0, 0, 1000000, 0,
|
||||
mctx);
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
0, 0, 0, 0, 0, 1000000, 0,
|
||||
mctx);
|
||||
check_result(result, "dns_master_stylecreate2 failed");
|
||||
|
||||
result = isc_buffer_allocate(mctx, &buf, MAX_CDS_RDATA_TEXT_SIZE);
|
||||
@@ -521,6 +523,13 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness)
|
||||
}
|
||||
}
|
||||
|
||||
vbprintf(1, "no matching %s for %s %d %d\n",
|
||||
dsset->type == dns_rdatatype_cds
|
||||
? "CDS" : "DS",
|
||||
ki->rdata.type == dns_rdatatype_cdnskey
|
||||
? "CDNSKEY" : "DNSKEY",
|
||||
ki->tag, ki->algo);
|
||||
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
@@ -647,17 +656,28 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
|
||||
|
||||
for (i = 0; i < nkey; i++) {
|
||||
keyinfo_t *ki = &keytbl[i];
|
||||
if (ki->dst == NULL ||
|
||||
sig.keyid != ki->tag ||
|
||||
if (sig.keyid != ki->tag ||
|
||||
sig.algorithm != ki->algo ||
|
||||
!dns_name_equal(&sig.signer, name))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (ki->dst == NULL) {
|
||||
vbprintf(1, "skip RRSIG by key %d:"
|
||||
" no matching (C)DS\n",
|
||||
sig.keyid);
|
||||
continue;
|
||||
}
|
||||
|
||||
result = dns_dnssec_verify(name, rdataset, ki->dst,
|
||||
ISC_FALSE, mctx, &sigrdata);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
ISC_FALSE, 0, mctx,
|
||||
&sigrdata, NULL);
|
||||
|
||||
if (result != ISC_R_SUCCESS &&
|
||||
result != DNS_R_FROMWILDCARD) {
|
||||
vbprintf(1, "skip RRSIG by key %d:"
|
||||
" verification failed: %s\n",
|
||||
sig.keyid, isc_result_totext(result));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1216,11 +1236,7 @@ main(int argc, char *argv[]) {
|
||||
if (ectx == NULL) {
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
}
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("could not initialize hash");
|
||||
}
|
||||
result = dst_lib_init(mctx, ectx,
|
||||
result = dst_lib_init(mctx, ectx, NULL,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("could not initialize dst: %s",
|
||||
@@ -1376,7 +1392,6 @@ main(int argc, char *argv[]) {
|
||||
free_all_sets();
|
||||
cleanup_logging(&lctx);
|
||||
dst_lib_destroy();
|
||||
isc_hash_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
if (verbose > 10) {
|
||||
isc_mem_stats(mctx, stdout);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.dnssec-cds">
|
||||
@@ -36,6 +39,7 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -64,7 +68,11 @@
|
||||
The <command>dnssec-cds</command> command changes DS records at
|
||||
a delegation point based on CDS or CDNSKEY records published in
|
||||
the child zone. If both CDS and CDNSKEY records are present in
|
||||
the child zone, the CDS is preferred.
|
||||
the child zone, the CDS is preferred. This enables a child zone
|
||||
to inform its parent of upcoming changes to its key-signing keys;
|
||||
by polling periodically with <command>dnssec-cds</command>, the
|
||||
parent can keep the DS records up to date and enable automatic
|
||||
rolling of KSKs.
|
||||
</para>
|
||||
<para>
|
||||
Two input files are required. The
|
||||
@@ -79,6 +87,13 @@
|
||||
<command>dnssec-dsfromkey</command>, or the output of a previous
|
||||
run of <command>dnssec-cds</command>.
|
||||
</para>
|
||||
<para>
|
||||
The <command>dnssec-cds</command> command uses special DNSSEC
|
||||
validation logic specified by RFC 7344. It requires that the CDS
|
||||
and/or CDNSKEY records are validly signed by a key represented in the
|
||||
existing DS records. This will typicially be the pre-existing
|
||||
key-signing key (KSK).
|
||||
</para>
|
||||
<para>
|
||||
For protection against replay attacks, the signatures on the
|
||||
child records must not be older than they were on a previous run
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -55,7 +55,11 @@
|
||||
The <span class="command"><strong>dnssec-cds</strong></span> command changes DS records at
|
||||
a delegation point based on CDS or CDNSKEY records published in
|
||||
the child zone. If both CDS and CDNSKEY records are present in
|
||||
the child zone, the CDS is preferred.
|
||||
the child zone, the CDS is preferred. This enables a child zone
|
||||
to inform its parent of upcoming changes to its key-signing keys;
|
||||
by polling periodically with <span class="command"><strong>dnssec-cds</strong></span>, the
|
||||
parent can keep the DS records up to date and enable automatic
|
||||
rolling of KSKs.
|
||||
</p>
|
||||
<p>
|
||||
Two input files are required. The
|
||||
@@ -70,6 +74,13 @@
|
||||
<span class="command"><strong>dnssec-dsfromkey</strong></span>, or the output of a previous
|
||||
run of <span class="command"><strong>dnssec-cds</strong></span>.
|
||||
</p>
|
||||
<p>
|
||||
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
||||
validation logic specified by RFC 7344. It requires that the CDS
|
||||
and/or CDNSKEY records are validly signed by a key represented in the
|
||||
existing DS records. This will typicially be the pre-existing
|
||||
key-signing key (KSK).
|
||||
</p>
|
||||
<p>
|
||||
For protection against replay attacks, the signatures on the
|
||||
child records must not be older than they were on a previous run
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -64,8 +67,7 @@ initname(char *setname) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
|
||||
isc_buffer_init(&buf, setname, strlen(setname));
|
||||
isc_buffer_add(&buf, strlen(setname));
|
||||
@@ -111,7 +113,7 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
|
||||
db_load_from_stream(db, stdin);
|
||||
filename = "input";
|
||||
} else {
|
||||
result = dns_db_load(db, filename);
|
||||
result = dns_db_load(db, filename, dns_masterformat_text, 0);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||
fatal("can't load %s: %s", filename,
|
||||
isc_result_totext(result));
|
||||
@@ -203,8 +205,7 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
|
||||
|
||||
rdclass = dst_key_class(key);
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
result = dns_name_copy(dst_key_name(key), name, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't copy name");
|
||||
@@ -476,14 +477,11 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
result = dst_lib_init(mctx, ectx,
|
||||
result = dst_lib_init(mctx, ectx, NULL,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize hash");
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
setup_logging(mctx, &log);
|
||||
@@ -545,7 +543,6 @@ main(int argc, char **argv) {
|
||||
if (dns_rdataset_isassociated(&rdataset))
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
cleanup_logging(&log);
|
||||
isc_hash_destroy();
|
||||
dst_lib_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
dns_name_destroy();
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -37,6 +40,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -69,8 +72,7 @@ initname(char *setname) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
|
||||
isc_buffer_init(&buf, setname, strlen(setname));
|
||||
isc_buffer_add(&buf, strlen(setname));
|
||||
@@ -116,8 +118,8 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
|
||||
db_load_from_stream(db, stdin);
|
||||
filename = "input";
|
||||
} else {
|
||||
result = dns_db_load3(db, filename, dns_masterformat_text,
|
||||
DNS_MASTER_NOTTL);
|
||||
result = dns_db_load(db, filename, dns_masterformat_text,
|
||||
DNS_MASTER_NOTTL);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||
fatal("can't load %s: %s", filename,
|
||||
isc_result_totext(result));
|
||||
@@ -178,8 +180,7 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
|
||||
|
||||
rdclass = dst_key_class(key);
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
result = dns_name_copy(dst_key_name(key), name, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't copy name");
|
||||
@@ -405,14 +406,11 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
result = dst_lib_init(mctx, ectx,
|
||||
result = dst_lib_init(mctx, ectx, NULL,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize hash");
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
setup_logging(mctx, &log);
|
||||
@@ -456,7 +454,6 @@ main(int argc, char **argv) {
|
||||
if (dns_rdataset_isassociated(&rdataset))
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
cleanup_logging(&log);
|
||||
isc_hash_destroy();
|
||||
dst_lib_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
dns_name_destroy();
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -34,6 +37,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -346,8 +349,8 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
ret = dst_lib_init2(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
ret = dst_lib_init(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(ret));
|
||||
@@ -362,8 +365,7 @@ main(int argc, char **argv) {
|
||||
if (argc > isc_commandline_index + 1)
|
||||
fatal("extraneous arguments");
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
isc_buffer_init(&buf, argv[isc_commandline_index],
|
||||
strlen(argv[isc_commandline_index]));
|
||||
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
|
||||
@@ -609,8 +611,13 @@ main(int argc, char **argv) {
|
||||
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
|
||||
|
||||
/* associate the key */
|
||||
ret = dst_key_fromlabel(name, alg, flags, protocol,
|
||||
rdclass, "pkcs11", label, NULL, mctx, &key);
|
||||
ret = dst_key_fromlabel(name, alg, flags, protocol, rdclass,
|
||||
#ifdef PKCS11CRYPTO
|
||||
"pkcs11",
|
||||
#else
|
||||
engine,
|
||||
#endif
|
||||
label, NULL, mctx, &key);
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -39,6 +42,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
+10
-10
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -66,19 +66,19 @@ must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA51
|
||||
\fB\-T KEY\fR
|
||||
option as well\&.
|
||||
.sp
|
||||
TSIG keys can also be generated by setting the value to one of HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. As with DH, specifying these values will automatically set
|
||||
\fB\-T KEY\fR\&. Note, however, that
|
||||
\fBtsig\-keygen\fR
|
||||
produces TSIG keys in a more useful format\&. These algorithms have been deprecated in
|
||||
\fBdnssec\-keygen\fR, and will be removed in a future release\&.
|
||||
.sp
|
||||
These values are case insensitive\&. In some cases, abbreviations are supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for ECDSAP384SHA384\&. If RSASHA1 or DSA is specified along with the
|
||||
\fB\-3\fR
|
||||
option, then NSEC3RSASHA1 or NSEC3DSA will be used instead\&.
|
||||
.sp
|
||||
As of BIND 9\&.12\&.0, this option is mandatory except when using the
|
||||
This parameter
|
||||
\fImust\fR
|
||||
be specified except when using the
|
||||
\fB\-S\fR
|
||||
option, which copies the algorithm from the predecessor key\&. Previously, the default for newly generated keys was RSASHA1\&.
|
||||
option, which copies the algorithm from the predecessor key\&.
|
||||
.sp
|
||||
In prior releases, HMAC algorithms could be generated for use as TSIG keys, but that feature has been removed as of BIND 9\&.13\&.0\&. Use
|
||||
\fBtsig\-keygen\fR
|
||||
to generate TSIG keys\&.
|
||||
.RE
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
@@ -369,5 +369,5 @@ RFC 4034\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+35
-135
@@ -1,11 +1,14 @@
|
||||
/*
|
||||
* Portions Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*
|
||||
* Portions Copyright (C) Network Associates, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -79,10 +82,7 @@ usage(void) {
|
||||
" | NSEC3DSA |\n");
|
||||
fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n");
|
||||
fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
|
||||
fprintf(stderr, " ED25519 | ED448 | DH |\n");
|
||||
fprintf(stderr, " HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
|
||||
"HMAC-SHA256 | \n");
|
||||
fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n");
|
||||
fprintf(stderr, " ED25519 | ED448 | DH\n");
|
||||
fprintf(stderr, " -3: use NSEC3-capable algorithm\n");
|
||||
fprintf(stderr, " -b <key size in bits>:\n");
|
||||
fprintf(stderr, " RSAMD5:\t[1024..%d]\n", MAX_RSA);
|
||||
@@ -99,12 +99,6 @@ usage(void) {
|
||||
fprintf(stderr, " ECDSAP384SHA384:\tignored\n");
|
||||
fprintf(stderr, " ED25519:\tignored\n");
|
||||
fprintf(stderr, " ED448:\tignored\n");
|
||||
fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
|
||||
fprintf(stderr, " HMAC-SHA1:\t[1..160]\n");
|
||||
fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
|
||||
fprintf(stderr, " HMAC-SHA256:\t[1..256]\n");
|
||||
fprintf(stderr, " HMAC-SHA384:\t[1..384]\n");
|
||||
fprintf(stderr, " HMAC-SHA512:\t[1..512]\n");
|
||||
fprintf(stderr, " (key size defaults are set according to\n"
|
||||
" algorithm and usage (ZSK or KSK)\n");
|
||||
fprintf(stderr, " -n <nametype>: ZONE | HOST | ENTITY | "
|
||||
@@ -502,8 +496,8 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
ret = dst_lib_init2(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
ret = dst_lib_init(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(ret));
|
||||
@@ -519,8 +513,7 @@ main(int argc, char **argv) {
|
||||
if (argc > isc_commandline_index + 1)
|
||||
fatal("extraneous arguments");
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
isc_buffer_init(&buf, argv[isc_commandline_index],
|
||||
strlen(argv[isc_commandline_index]));
|
||||
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
|
||||
@@ -542,8 +535,6 @@ main(int argc, char **argv) {
|
||||
"\"-a RSAMD5\"\n");
|
||||
INSIST(freeit == NULL);
|
||||
return (1);
|
||||
} else if (strcasecmp(algname, "HMAC-MD5") == 0) {
|
||||
alg = DST_ALG_HMACMD5;
|
||||
#else
|
||||
fprintf(stderr,
|
||||
"The use of RSA (RSAMD5) was disabled\n");
|
||||
@@ -553,47 +544,26 @@ main(int argc, char **argv) {
|
||||
fprintf(stderr, "The use of RSAMD5 was disabled\n");
|
||||
INSIST(freeit == NULL);
|
||||
return (1);
|
||||
} else if (strcasecmp(algname, "HMAC-MD5") == 0) {
|
||||
fprintf(stderr,
|
||||
"The use of HMAC-MD5 was disabled\n");
|
||||
return (1);
|
||||
#endif
|
||||
} else if (strcasecmp(algname, "HMAC-SHA1") == 0)
|
||||
alg = DST_ALG_HMACSHA1;
|
||||
else if (strcasecmp(algname, "HMAC-SHA224") == 0)
|
||||
alg = DST_ALG_HMACSHA224;
|
||||
else if (strcasecmp(algname, "HMAC-SHA256") == 0)
|
||||
alg = DST_ALG_HMACSHA256;
|
||||
else if (strcasecmp(algname, "HMAC-SHA384") == 0)
|
||||
alg = DST_ALG_HMACSHA384;
|
||||
else if (strcasecmp(algname, "HMAC-SHA512") == 0)
|
||||
alg = DST_ALG_HMACSHA512;
|
||||
else {
|
||||
} else {
|
||||
r.base = algname;
|
||||
r.length = strlen(algname);
|
||||
ret = dns_secalg_fromtext(&alg, &r);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
fatal("unknown algorithm %s", algname);
|
||||
if (alg == DST_ALG_DH)
|
||||
}
|
||||
if (alg == DST_ALG_DH) {
|
||||
options |= DST_TYPE_KEY;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef PK11_MD5_DISABLE
|
||||
INSIST((alg != DNS_KEYALG_RSAMD5) && (alg != DST_ALG_HMACMD5));
|
||||
INSIST((alg != DNS_KEYALG_RSAMD5));
|
||||
#endif
|
||||
|
||||
|
||||
if (alg == DST_ALG_HMACMD5 || alg == DST_ALG_HMACSHA1 ||
|
||||
alg == DST_ALG_HMACSHA224 || alg == DST_ALG_HMACSHA256 ||
|
||||
alg == DST_ALG_HMACSHA384 || alg == DST_ALG_HMACSHA512)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Use of dnssec-keygen for HMAC keys is "
|
||||
"deprecated: use tsig-keygen\n");
|
||||
}
|
||||
|
||||
if (!dst_algorithm_supported(alg))
|
||||
if (!dst_algorithm_supported(alg)) {
|
||||
fatal("unsupported algorithm: %d", alg);
|
||||
}
|
||||
|
||||
if (use_nsec3) {
|
||||
switch (alg) {
|
||||
@@ -620,20 +590,20 @@ main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
if (type != NULL && (options & DST_TYPE_KEY) != 0) {
|
||||
if (strcasecmp(type, "NOAUTH") == 0)
|
||||
if (strcasecmp(type, "NOAUTH") == 0) {
|
||||
flags |= DNS_KEYTYPE_NOAUTH;
|
||||
else if (strcasecmp(type, "NOCONF") == 0)
|
||||
} else if (strcasecmp(type, "NOCONF") == 0) {
|
||||
flags |= DNS_KEYTYPE_NOCONF;
|
||||
else if (strcasecmp(type, "NOAUTHCONF") == 0) {
|
||||
} else if (strcasecmp(type, "NOAUTHCONF") == 0) {
|
||||
flags |= (DNS_KEYTYPE_NOAUTH |
|
||||
DNS_KEYTYPE_NOCONF);
|
||||
if (size < 0)
|
||||
size = 0;
|
||||
}
|
||||
else if (strcasecmp(type, "AUTHCONF") == 0)
|
||||
} else if (strcasecmp(type, "AUTHCONF") == 0) {
|
||||
/* nothing */;
|
||||
else
|
||||
} else {
|
||||
fatal("invalid type %s", type);
|
||||
}
|
||||
}
|
||||
|
||||
if (size < 0) {
|
||||
@@ -803,78 +773,18 @@ main(int argc, char **argv) {
|
||||
case DST_ALG_ED448:
|
||||
size = 456;
|
||||
break;
|
||||
case DST_ALG_HMACMD5:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 512)
|
||||
fatal("HMAC-MD5 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 80 || dbits > 128))
|
||||
fatal("HMAC-MD5 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-MD5 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
case DST_ALG_HMACSHA1:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 160)
|
||||
fatal("HMAC-SHA1 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 80 || dbits > 160))
|
||||
fatal("HMAC-SHA1 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-SHA1 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
case DST_ALG_HMACSHA224:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 224)
|
||||
fatal("HMAC-SHA224 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 112 || dbits > 224))
|
||||
fatal("HMAC-SHA224 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-SHA224 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
case DST_ALG_HMACSHA256:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 256)
|
||||
fatal("HMAC-SHA256 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 128 || dbits > 256))
|
||||
fatal("HMAC-SHA256 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-SHA256 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
case DST_ALG_HMACSHA384:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 384)
|
||||
fatal("HMAC-384 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 192 || dbits > 384))
|
||||
fatal("HMAC-SHA384 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-SHA384 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
case DST_ALG_HMACSHA512:
|
||||
options |= DST_TYPE_KEY;
|
||||
if (size < 1 || size > 512)
|
||||
fatal("HMAC-SHA512 key size %d out of range", size);
|
||||
if (dbits != 0 && (dbits < 256 || dbits > 512))
|
||||
fatal("HMAC-SHA512 digest bits %d out of range", dbits);
|
||||
if ((dbits % 8) != 0)
|
||||
fatal("HMAC-SHA512 digest bits %d not divisible by 8",
|
||||
dbits);
|
||||
break;
|
||||
}
|
||||
|
||||
if (alg != DNS_KEYALG_DH && generator != 0)
|
||||
fatal("specified DH generator for a non-DH key");
|
||||
|
||||
if (nametype == NULL) {
|
||||
if ((options & DST_TYPE_KEY) != 0) /* KEY / HMAC */
|
||||
if ((options & DST_TYPE_KEY) != 0) /* KEY */
|
||||
fatal("no nametype specified");
|
||||
flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */
|
||||
} else if (strcasecmp(nametype, "zone") == 0)
|
||||
flags |= DNS_KEYOWNER_ZONE;
|
||||
else if ((options & DST_TYPE_KEY) != 0) { /* KEY / HMAC */
|
||||
else if ((options & DST_TYPE_KEY) != 0) { /* KEY */
|
||||
if (strcasecmp(nametype, "host") == 0 ||
|
||||
strcasecmp(nametype, "entity") == 0)
|
||||
flags |= DNS_KEYOWNER_ENTITY;
|
||||
@@ -890,7 +800,7 @@ main(int argc, char **argv) {
|
||||
if (directory == NULL)
|
||||
directory = ".";
|
||||
|
||||
if ((options & DST_TYPE_KEY) != 0) /* KEY / HMAC */
|
||||
if ((options & DST_TYPE_KEY) != 0) /* KEY */
|
||||
flags |= signatory;
|
||||
else if ((flags & DNS_KEYOWNER_ZONE) != 0) { /* DNSKEY */
|
||||
flags |= kskflag;
|
||||
@@ -911,12 +821,11 @@ main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
if ((flags & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_ZONE &&
|
||||
(alg == DNS_KEYALG_DH || alg == DST_ALG_HMACMD5 ||
|
||||
alg == DST_ALG_HMACSHA1 || alg == DST_ALG_HMACSHA224 ||
|
||||
alg == DST_ALG_HMACSHA256 || alg == DST_ALG_HMACSHA384 ||
|
||||
alg == DST_ALG_HMACSHA512))
|
||||
alg == DNS_KEYALG_DH)
|
||||
{
|
||||
fatal("a key with algorithm '%s' cannot be a zone key",
|
||||
algname);
|
||||
}
|
||||
|
||||
switch(alg) {
|
||||
case DNS_KEYALG_RSAMD5:
|
||||
@@ -939,15 +848,6 @@ main(int argc, char **argv) {
|
||||
case DST_ALG_ED25519:
|
||||
case DST_ALG_ED448:
|
||||
show_progress = ISC_TRUE;
|
||||
/* fall through */
|
||||
|
||||
case DST_ALG_HMACMD5:
|
||||
case DST_ALG_HMACSHA1:
|
||||
case DST_ALG_HMACSHA224:
|
||||
case DST_ALG_HMACSHA256:
|
||||
case DST_ALG_HMACSHA384:
|
||||
case DST_ALG_HMACSHA512:
|
||||
param = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -961,15 +861,15 @@ main(int argc, char **argv) {
|
||||
|
||||
if (!quiet && show_progress) {
|
||||
fprintf(stderr, "Generating key pair.");
|
||||
ret = dst_key_generate2(name, alg, size, param, flags,
|
||||
protocol, rdclass, mctx, &key,
|
||||
&progress);
|
||||
ret = dst_key_generate(name, alg, size, param, flags,
|
||||
protocol, rdclass, mctx, &key,
|
||||
&progress);
|
||||
putc('\n', stderr);
|
||||
fflush(stderr);
|
||||
} else {
|
||||
ret = dst_key_generate2(name, alg, size, param, flags,
|
||||
protocol, rdclass, mctx, &key,
|
||||
NULL);
|
||||
ret = dst_key_generate(name, alg, size, param, flags,
|
||||
protocol, rdclass, mctx, &key,
|
||||
NULL);
|
||||
}
|
||||
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -46,6 +49,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -126,16 +130,6 @@
|
||||
his value will automatically set the <option>-T KEY</option>
|
||||
option as well.
|
||||
</para>
|
||||
<para>
|
||||
TSIG keys can also be generated by setting the value to
|
||||
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
|
||||
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
|
||||
values will automatically set <option>-T KEY</option>. Note,
|
||||
however, that <command>tsig-keygen</command> produces TSIG keys
|
||||
in a more useful format. These algorithms have been deprecated
|
||||
in <command>dnssec-keygen</command>, and will be removed in a
|
||||
future release.
|
||||
</para>
|
||||
<para>
|
||||
These values are case insensitive. In some cases, abbreviations
|
||||
are supported, such as ECDSA256 for ECDSAP256SHA256 and
|
||||
@@ -144,10 +138,15 @@
|
||||
or NSEC3DSA will be used instead.
|
||||
</para>
|
||||
<para>
|
||||
As of BIND 9.12.0, this option is mandatory except when using
|
||||
the <option>-S</option> option, which copies the algorithm from
|
||||
the predecessor key. Previously, the default for newly
|
||||
generated keys was RSASHA1.
|
||||
This parameter <emphasis>must</emphasis> be specified except
|
||||
when using the <option>-S</option> option, which copies the
|
||||
algorithm from the predecessor key.
|
||||
</para>
|
||||
<para>
|
||||
In prior releases, HMAC algorithms could be generated for
|
||||
use as TSIG keys, but that feature has been removed as of
|
||||
BIND 9.13.0. Use <command>tsig-keygen</command> to generate
|
||||
TSIG keys.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -107,16 +107,6 @@
|
||||
his value will automatically set the <code class="option">-T KEY</code>
|
||||
option as well.
|
||||
</p>
|
||||
<p>
|
||||
TSIG keys can also be generated by setting the value to
|
||||
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
|
||||
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
|
||||
values will automatically set <code class="option">-T KEY</code>. Note,
|
||||
however, that <span class="command"><strong>tsig-keygen</strong></span> produces TSIG keys
|
||||
in a more useful format. These algorithms have been deprecated
|
||||
in <span class="command"><strong>dnssec-keygen</strong></span>, and will be removed in a
|
||||
future release.
|
||||
</p>
|
||||
<p>
|
||||
These values are case insensitive. In some cases, abbreviations
|
||||
are supported, such as ECDSA256 for ECDSAP256SHA256 and
|
||||
@@ -125,10 +115,15 @@
|
||||
or NSEC3DSA will be used instead.
|
||||
</p>
|
||||
<p>
|
||||
As of BIND 9.12.0, this option is mandatory except when using
|
||||
the <code class="option">-S</code> option, which copies the algorithm from
|
||||
the predecessor key. Previously, the default for newly
|
||||
generated keys was RSASHA1.
|
||||
This parameter <span class="emphasis"><em>must</em></span> be specified except
|
||||
when using the <code class="option">-S</code> option, which copies the
|
||||
algorithm from the predecessor key.
|
||||
</p>
|
||||
<p>
|
||||
In prior releases, HMAC algorithms could be generated for
|
||||
use as TSIG keys, but that feature has been removed as of
|
||||
BIND 9.13.0. Use <span class="command"><strong>tsig-keygen</strong></span> to generate
|
||||
TSIG keys.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2009-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -179,14 +182,11 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
result = dst_lib_init2(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
result = dst_lib_init(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Could not initialize hash");
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
result = dst_key_fromnamedfile(filename, dir,
|
||||
@@ -268,7 +268,6 @@ main(int argc, char **argv) {
|
||||
|
||||
cleanup:
|
||||
dst_key_free(&key);
|
||||
isc_hash_destroy();
|
||||
dst_lib_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
if (verbose > 10)
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -34,6 +37,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -377,14 +380,11 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
result = dst_lib_init2(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
result = dst_lib_init(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Could not initialize hash");
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
if (predecessor != NULL) {
|
||||
@@ -669,7 +669,6 @@ main(int argc, char **argv) {
|
||||
if (prevkey != NULL)
|
||||
dst_key_free(&prevkey);
|
||||
dst_key_free(&key);
|
||||
isc_hash_destroy();
|
||||
dst_lib_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
if (verbose > 10)
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2009-2011, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -36,6 +39,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
/*
|
||||
* Portions Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*
|
||||
* Portions Copyright (C) Network Associates, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -292,8 +295,8 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key,
|
||||
|
||||
if (tryverify) {
|
||||
result = dns_dnssec_verify(name, rdataset, key,
|
||||
ISC_TRUE, mctx, &trdata);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
ISC_TRUE, 0, mctx, &trdata, NULL);
|
||||
if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) {
|
||||
vbprintf(3, "\tsignature verified\n");
|
||||
INCSTAT(nverified);
|
||||
} else {
|
||||
@@ -453,8 +456,9 @@ setverifies(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
|
||||
dns_rdata_t *rrsig)
|
||||
{
|
||||
isc_result_t result;
|
||||
result = dns_dnssec_verify(name, set, key, ISC_FALSE, mctx, rrsig);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = dns_dnssec_verify(name, set, key, ISC_FALSE, 0, mctx, rrsig,
|
||||
NULL);
|
||||
if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) {
|
||||
INCSTAT(nverified);
|
||||
return (ISC_TRUE);
|
||||
} else {
|
||||
@@ -716,6 +720,17 @@ hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
hashlist_free(hashlist_t *l) {
|
||||
if (l->hashbuf) {
|
||||
free(l->hashbuf);
|
||||
l->hashbuf = NULL;
|
||||
l->entries = 0;
|
||||
l->length = 0;
|
||||
l->size = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len)
|
||||
{
|
||||
@@ -835,8 +850,7 @@ addnowildcardhash(hashlist_t *l, /*const*/ dns_name_t *name,
|
||||
isc_result_t result;
|
||||
char namestr[DNS_NAME_FORMATSIZE];
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
wild = dns_fixedname_name(&fixed);
|
||||
wild = dns_fixedname_initname(&fixed);
|
||||
|
||||
result = dns_name_concatenate(dns_wildcardname, name, wild, NULL);
|
||||
if (result == ISC_R_NOSPACE)
|
||||
@@ -891,7 +905,7 @@ opendb(const char *prefix, dns_name_t *name, dns_rdataclass_t rdclass,
|
||||
rdclass, 0, NULL, dbp);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
result = dns_db_load3(*dbp, filename, inputformat, DNS_MASTER_HINT);
|
||||
result = dns_db_load(*dbp, filename, inputformat, DNS_MASTER_HINT);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||
dns_db_detach(dbp);
|
||||
}
|
||||
@@ -1222,8 +1236,7 @@ get_soa_ttls(void) {
|
||||
isc_result_t result;
|
||||
dns_rdata_t rdata = DNS_RDATA_INIT;
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
dns_rdataset_init(&soaset);
|
||||
result = dns_db_find(gdb, gorigin, gversion, dns_rdatatype_soa,
|
||||
0, 0, NULL, name, &soaset, NULL);
|
||||
@@ -1392,8 +1405,7 @@ signapex(void) {
|
||||
dns_name_t *name;
|
||||
isc_result_t result;
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
result = dns_dbiterator_seek(gdbiter, gorigin);
|
||||
check_result(result, "dns_dbiterator_seek()");
|
||||
result = dns_dbiterator_current(gdbiter, &node, name);
|
||||
@@ -1443,8 +1455,7 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
|
||||
fname = isc_mem_get(mctx, sizeof(dns_fixedname_t));
|
||||
if (fname == NULL)
|
||||
fatal("out of memory");
|
||||
dns_fixedname_init(fname);
|
||||
name = dns_fixedname_name(fname);
|
||||
name = dns_fixedname_initname(fname);
|
||||
node = NULL;
|
||||
found = ISC_FALSE;
|
||||
while (!found) {
|
||||
@@ -1478,8 +1489,7 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
|
||||
(zonecut == NULL ||
|
||||
!dns_name_issubdomain(name, zonecut))) {
|
||||
if (is_delegation(gdb, gversion, gorigin, name, node, NULL)) {
|
||||
dns_fixedname_init(&fzonecut);
|
||||
zonecut = dns_fixedname_name(&fzonecut);
|
||||
zonecut = dns_fixedname_initname(&fzonecut);
|
||||
dns_name_copy(name, zonecut, NULL);
|
||||
if (!OPTOUT(nsec3flags) ||
|
||||
secure(name, node))
|
||||
@@ -1722,10 +1732,8 @@ nsecify(void) {
|
||||
isc_uint32_t nsttl = 0;
|
||||
|
||||
dns_rdataset_init(&rdataset);
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
dns_fixedname_init(&fnextname);
|
||||
nextname = dns_fixedname_name(&fnextname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
nextname = dns_fixedname_initname(&fnextname);
|
||||
dns_fixedname_init(&fzonecut);
|
||||
zonecut = NULL;
|
||||
|
||||
@@ -2137,8 +2145,7 @@ cleanup_zone(void) {
|
||||
|
||||
dns_diff_init(mctx, &add);
|
||||
dns_diff_init(mctx, &del);
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
result = dns_db_createiterator(gdb, 0, &dbiter);
|
||||
@@ -2198,10 +2205,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
|
||||
unsigned int count, nlabels;
|
||||
|
||||
dns_rdataset_init(&rdataset);
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
dns_fixedname_init(&fnextname);
|
||||
nextname = dns_fixedname_name(&fnextname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
nextname = dns_fixedname_initname(&fnextname);
|
||||
dns_fixedname_init(&fzonecut);
|
||||
zonecut = NULL;
|
||||
|
||||
@@ -2445,8 +2450,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
||||
isc_buffer_init(&b, origin, len);
|
||||
isc_buffer_add(&b, len);
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("failed converting name '%s' to dns format: %s",
|
||||
@@ -2456,7 +2460,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
||||
rdclass, 0, NULL, db);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
result = dns_db_load2(*db, file, inputformat);
|
||||
result = dns_db_load(*db, file, inputformat, 0);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||
fatal("failed loading zone from '%s': %s",
|
||||
file, isc_result_totext(result));
|
||||
@@ -2502,11 +2506,11 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
|
||||
goto cleanup;
|
||||
|
||||
if (set_keyttl && keyttl != rdataset.ttl) {
|
||||
fprintf(stderr, "User-specified TTL %d conflicts "
|
||||
fprintf(stderr, "User-specified TTL %u conflicts "
|
||||
"with existing DNSKEY RRset TTL.\n",
|
||||
keyttl);
|
||||
fprintf(stderr, "Imported keys will use the RRSet "
|
||||
"TTL %d instead.\n",
|
||||
"TTL %u instead.\n",
|
||||
rdataset.ttl);
|
||||
}
|
||||
keyttl = rdataset.ttl;
|
||||
@@ -2622,7 +2626,7 @@ build_final_keylist(void) {
|
||||
* Find keys that match this zone in the key repository.
|
||||
*/
|
||||
result = dns_dnssec_findmatchingkeys(gorigin, directory,
|
||||
mctx, &matchkeys);
|
||||
now, mctx, &matchkeys);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
result = ISC_R_SUCCESS;
|
||||
}
|
||||
@@ -2794,8 +2798,7 @@ set_nsec3params(isc_boolean_t update, isc_boolean_t set_salt,
|
||||
* (This assumes all NSEC3 records agree.)
|
||||
*/
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
hashname = dns_fixedname_name(&fname);
|
||||
hashname = dns_fixedname_initname(&fname);
|
||||
result = dns_nsec3_hashname(&fname, NULL, NULL,
|
||||
gorigin, gorigin, dns_hash_sha1,
|
||||
orig_iter, orig_salt, orig_saltlen);
|
||||
@@ -2884,8 +2887,7 @@ writeset(const char *prefix, dns_rdatatype_t type) {
|
||||
unsigned int labels;
|
||||
|
||||
dns_name_init(&tname, NULL);
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
labels = dns_name_countlabels(gorigin);
|
||||
dns_name_getlabelsequence(gorigin, 0, labels - 1, &tname);
|
||||
result = dns_name_concatenate(&tname, dlv, name, NULL);
|
||||
@@ -2971,7 +2973,8 @@ writeset(const char *prefix, dns_rdatatype_t type) {
|
||||
check_result(result, "dns_diff_apply");
|
||||
dns_diff_clear(&diff);
|
||||
|
||||
result = dns_master_dump(mctx, db, dbversion, style, filename);
|
||||
result = dns_master_dump(mctx, db, dbversion, style, filename,
|
||||
dns_masterformat_text, NULL);
|
||||
check_result(result, "dns_master_dump");
|
||||
|
||||
isc_mem_put(mctx, filename, filenamelen);
|
||||
@@ -3117,12 +3120,12 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
|
||||
isc_uint64_t sig_ms; /* Signatures per millisecond */
|
||||
FILE *out = output_stdout ? stderr : stdout;
|
||||
|
||||
fprintf(out, "Signatures generated: %10d\n", nsigned);
|
||||
fprintf(out, "Signatures retained: %10d\n", nretained);
|
||||
fprintf(out, "Signatures dropped: %10d\n", ndropped);
|
||||
fprintf(out, "Signatures successfully verified: %10d\n", nverified);
|
||||
fprintf(out, "Signatures generated: %10u\n", nsigned);
|
||||
fprintf(out, "Signatures retained: %10u\n", nretained);
|
||||
fprintf(out, "Signatures dropped: %10u\n", ndropped);
|
||||
fprintf(out, "Signatures successfully verified: %10u\n", nverified);
|
||||
fprintf(out, "Signatures unsuccessfully "
|
||||
"verified: %10d\n", nverifyfailed);
|
||||
"verified: %10u\n", nverifyfailed);
|
||||
|
||||
time_us = isc_time_microdiff(sign_finish, sign_start);
|
||||
time_ms = time_us / 1000;
|
||||
@@ -3350,8 +3353,7 @@ main(int argc, char *argv[]) {
|
||||
isc_buffer_init(&b, isc_commandline_argument, len);
|
||||
isc_buffer_add(&b, len);
|
||||
|
||||
dns_fixedname_init(&dlv_fixed);
|
||||
dlv = dns_fixedname_name(&dlv_fixed);
|
||||
dlv = dns_fixedname_initname(&dlv_fixed);
|
||||
result = dns_name_fromtext(dlv, &b, dns_rootname, 0,
|
||||
NULL);
|
||||
check_result(result, "dns_name_fromtext(dlv)");
|
||||
@@ -3489,15 +3491,11 @@ main(int argc, char *argv[]) {
|
||||
if (!pseudorandom)
|
||||
eflags |= ISC_ENTROPY_GOODONLY;
|
||||
|
||||
result = dst_lib_init2(mctx, ectx, engine, eflags);
|
||||
result = dst_lib_init(mctx, ectx, engine, eflags);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not create hash context");
|
||||
|
||||
isc_stdtime_get(&now);
|
||||
|
||||
if (startstr != NULL) {
|
||||
@@ -3623,8 +3621,8 @@ main(int argc, char *argv[]) {
|
||||
if (output_dnssec_only && set_maxttl)
|
||||
fatal("option -D cannot be used with -M");
|
||||
|
||||
result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL,
|
||||
0, 24, 0, 0, 0, 8, mctx);
|
||||
result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL,
|
||||
0, 24, 0, 0, 0, 8, 0xffffffff, mctx);
|
||||
check_result(result, "dns_master_stylecreate");
|
||||
|
||||
gdb = NULL;
|
||||
@@ -3635,8 +3633,8 @@ main(int argc, char *argv[]) {
|
||||
get_soa_ttls();
|
||||
|
||||
if (set_maxttl && set_keyttl && keyttl > maxttl) {
|
||||
fprintf(stderr, "%s: warning: Specified key TTL %d "
|
||||
"exceeds maximum zone TTL; reducing to %d\n",
|
||||
fprintf(stderr, "%s: warning: Specified key TTL %u "
|
||||
"exceeds maximum zone TTL; reducing to %u\n",
|
||||
program, keyttl, maxttl);
|
||||
keyttl = maxttl;
|
||||
}
|
||||
@@ -3731,6 +3729,8 @@ main(int argc, char *argv[]) {
|
||||
if (nsec3iter > max)
|
||||
fatal("NSEC3 iterations too big for weakest DNSKEY "
|
||||
"strength. Maximum iterations allowed %u.", max);
|
||||
} else {
|
||||
hashlist_init(&hashlist, 0, 0); /* silence clang */
|
||||
}
|
||||
|
||||
gversion = NULL;
|
||||
@@ -3866,9 +3866,9 @@ main(int argc, char *argv[]) {
|
||||
header.flags = DNS_MASTERRAW_SOURCESERIALSET;
|
||||
header.sourceserial = serialnum;
|
||||
}
|
||||
result = dns_master_dumptostream3(mctx, gdb, gversion,
|
||||
masterstyle, outputformat,
|
||||
&header, outfp);
|
||||
result = dns_master_dumptostream(mctx, gdb, gversion,
|
||||
masterstyle, outputformat,
|
||||
&header, outfp);
|
||||
check_result(result, "dns_master_dumptostream3");
|
||||
}
|
||||
|
||||
@@ -3892,6 +3892,8 @@ main(int argc, char *argv[]) {
|
||||
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
|
||||
dns_db_detach(&gdb);
|
||||
|
||||
hashlist_free(&hashlist);
|
||||
|
||||
while (!ISC_LIST_EMPTY(keylist)) {
|
||||
key = ISC_LIST_HEAD(keylist);
|
||||
ISC_LIST_UNLINK(keylist, key, link);
|
||||
@@ -3907,7 +3909,6 @@ main(int argc, char *argv[]) {
|
||||
dns_master_styledestroy(&dsstyle, mctx);
|
||||
|
||||
cleanup_logging(&log);
|
||||
isc_hash_destroy();
|
||||
dst_lib_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
dns_name_destroy();
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -46,6 +49,7 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -94,8 +97,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
||||
isc_buffer_init(&b, origin, len);
|
||||
isc_buffer_add(&b, len);
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("failed converting name '%s' to dns format: %s",
|
||||
@@ -105,7 +107,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
||||
rdclass, 0, NULL, db);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
result = dns_db_load2(*db, file, inputformat);
|
||||
result = dns_db_load(*db, file, inputformat, 0);
|
||||
switch (result) {
|
||||
case DNS_R_SEENINCLUDE:
|
||||
case ISC_R_SUCCESS:
|
||||
@@ -278,15 +280,11 @@ main(int argc, char *argv[]) {
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
|
||||
result = dst_lib_init2(mctx, ectx, engine, ISC_ENTROPY_BLOCKING);
|
||||
result = dst_lib_init(mctx, ectx, engine, ISC_ENTROPY_BLOCKING);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
|
||||
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not create hash context");
|
||||
|
||||
isc_stdtime_get(&now);
|
||||
|
||||
rdclass = strtoclass(classname);
|
||||
@@ -337,7 +335,6 @@ main(int argc, char *argv[]) {
|
||||
|
||||
cleanup_logging(&log);
|
||||
dst_lib_destroy();
|
||||
isc_hash_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
dns_name_destroy();
|
||||
if (verbose > 10)
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -33,6 +36,7 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
+19
-23
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -209,12 +212,14 @@ cleanup_logging(isc_log_t **logp) {
|
||||
REQUIRE(logp != NULL);
|
||||
|
||||
log = *logp;
|
||||
*logp = NULL;
|
||||
|
||||
if (log == NULL)
|
||||
return;
|
||||
|
||||
isc_log_destroy(&log);
|
||||
isc_log_setcontext(NULL);
|
||||
dns_log_setcontext(NULL);
|
||||
logp = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -234,11 +239,9 @@ setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
|
||||
ISC_LIST_INIT(sources);
|
||||
}
|
||||
|
||||
#ifdef ISC_PLATFORM_CRYPTORANDOM
|
||||
if (randomfile == NULL) {
|
||||
isc_entropy_usehook(*ectx, ISC_TRUE);
|
||||
}
|
||||
#endif
|
||||
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
|
||||
usekeyboard = ISC_ENTROPY_KEYBOARDYES;
|
||||
randomfile = NULL;
|
||||
@@ -501,6 +504,7 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
||||
dns_secalg_t alg;
|
||||
char filename[ISC_DIR_NAMEMAX];
|
||||
isc_buffer_t fileb;
|
||||
isc_stdtime_t now;
|
||||
|
||||
if (exact != NULL)
|
||||
*exact = ISC_FALSE;
|
||||
@@ -510,19 +514,11 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
||||
alg = dst_key_alg(dstkey);
|
||||
|
||||
/*
|
||||
* For HMAC and Diffie Hellman just check if there is a
|
||||
* direct collision as they can't be revoked. Additionally
|
||||
* dns_dnssec_findmatchingkeys only handles DNSKEY which is
|
||||
* not used for HMAC.
|
||||
* For Diffie Hellman just check if there is a direct collision as
|
||||
* they can't be revoked. Additionally dns_dnssec_findmatchingkeys
|
||||
* only handles DNSKEY which is not used for HMAC.
|
||||
*/
|
||||
switch (alg) {
|
||||
case DST_ALG_HMACMD5:
|
||||
case DST_ALG_HMACSHA1:
|
||||
case DST_ALG_HMACSHA224:
|
||||
case DST_ALG_HMACSHA256:
|
||||
case DST_ALG_HMACSHA384:
|
||||
case DST_ALG_HMACSHA512:
|
||||
case DST_ALG_DH:
|
||||
if (alg == DST_ALG_DH) {
|
||||
isc_buffer_init(&fileb, filename, sizeof(filename));
|
||||
result = dst_key_buildfilename(dstkey, DST_TYPE_PRIVATE,
|
||||
dir, &fileb);
|
||||
@@ -532,7 +528,8 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
||||
}
|
||||
|
||||
ISC_LIST_INIT(matchkeys);
|
||||
result = dns_dnssec_findmatchingkeys(name, dir, mctx, &matchkeys);
|
||||
isc_stdtime_get(&now);
|
||||
result = dns_dnssec_findmatchingkeys(name, dir, now, mctx, &matchkeys);
|
||||
if (result == ISC_R_NOTFOUND)
|
||||
return (ISC_FALSE);
|
||||
|
||||
@@ -627,10 +624,11 @@ goodsig(dns_name_t *origin, dns_rdata_t *sigrdata, dns_name_t *name,
|
||||
continue;
|
||||
}
|
||||
result = dns_dnssec_verify(name, rdataset, dstkey, ISC_FALSE,
|
||||
mctx, sigrdata);
|
||||
0, mctx, sigrdata, NULL);
|
||||
dst_key_free(&dstkey);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
if (result == ISC_R_SUCCESS || result == DNS_R_FROMWILDCARD) {
|
||||
return(ISC_TRUE);
|
||||
}
|
||||
}
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
@@ -1717,10 +1715,8 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
|
||||
* present in the DNSKEY RRSET.
|
||||
*/
|
||||
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
dns_fixedname_init(&fnextname);
|
||||
nextname = dns_fixedname_name(&fnextname);
|
||||
name = dns_fixedname_initname(&fname);
|
||||
nextname = dns_fixedname_initname(&fnextname);
|
||||
dns_fixedname_init(&fprevname);
|
||||
prevname = NULL;
|
||||
dns_fixedname_init(&fzonecut);
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2003, 2004, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: dnssectool.h,v 1.33 2011/10/20 23:46:51 tbox Exp $ */
|
||||
|
||||
#ifndef DNSSECTOOL_H
|
||||
#define DNSSECTOOL_H 1
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
# Copyright (C) 1998-2002, 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_PRODUCT@
|
||||
@@ -130,7 +137,7 @@ server.@O@: server.c
|
||||
-DPRODUCT=\"${PRODUCT}\" \
|
||||
-DVERSION=\"${VERSION}\" -c ${srcdir}/server.c
|
||||
|
||||
named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
|
||||
named@EXEEXT@: ${OBJS} ${DEPLIBS}
|
||||
export MAKE_SYMTABLE="yes"; \
|
||||
export BASEOBJS="${OBJS} ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
+4
-1
@@ -1,10 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
- Copyright (C) 2006-2009, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
|
||||
|
||||
@@ -5,11 +5,14 @@
|
||||
static char xslmsg[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||
"<!--\n"
|
||||
" - Copyright (C) 2006-2009, 2012-2017 Internet Systems Consortium, Inc. (\"ISC\")\n"
|
||||
" - Copyright (C) Internet Systems Consortium, Inc. (\"ISC\")\n"
|
||||
" -\n"
|
||||
" - This Source Code Form is subject to the terms of the Mozilla Public\n"
|
||||
" - License, v. 2.0. If a copy of the MPL was not distributed with this\n"
|
||||
" - file, You can obtain one at http://mozilla.org/MPL/2.0/.\n"
|
||||
" -\n"
|
||||
" - See the COPYRIGHT file distributed with this work for additional\n"
|
||||
" - information regarding copyright ownership.\n"
|
||||
"-->\n"
|
||||
"\n"
|
||||
"<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n"
|
||||
|
||||
+4
-2
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2005, 2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: builtin.c,v 1.26 2012/01/21 19:44:18 each Exp $ */
|
||||
|
||||
/*! \file
|
||||
* \brief
|
||||
|
||||
+17
-11
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -86,11 +89,7 @@ options {\n\
|
||||
# pid-file \"" NAMED_LOCALSTATEDIR "/run/named/named.pid\"; \n\
|
||||
port 53;\n\
|
||||
prefetch 2 9;\n"
|
||||
#if defined(ISC_PLATFORM_CRYPTORANDOM)
|
||||
" random-device none;\n"
|
||||
#elif defined(PATH_RANDOMDEV)
|
||||
" random-device \"" PATH_RANDOMDEV "\";\n"
|
||||
#endif
|
||||
" recursing-file \"named.recursing\";\n\
|
||||
recursive-clients 1000;\n\
|
||||
request-nsid false;\n\
|
||||
@@ -192,6 +191,7 @@ options {\n\
|
||||
resolver-nonbackoff-tries 3;\n\
|
||||
resolver-retry-interval 800; /* in milliseconds */\n\
|
||||
# rfc2308-type1 <obsolete>;\n\
|
||||
root-key-sentinel yes;\n\
|
||||
servfail-ttl 1;\n\
|
||||
# sortlist <none>\n\
|
||||
stale-answer-enable false;\n\
|
||||
@@ -244,6 +244,7 @@ options {\n\
|
||||
sig-signing-signatures 10;\n\
|
||||
sig-signing-type 65534;\n\
|
||||
sig-validity-interval 30; /* days */\n\
|
||||
dnskey-sig-validity 0; /* default: sig-validity-interval */\n\
|
||||
transfer-source *;\n\
|
||||
transfer-source-v6 *;\n\
|
||||
try-tcp-refresh yes; /* BIND 8 compat */\n\
|
||||
@@ -422,18 +423,23 @@ named_config_getzonetype(const cfg_obj_t *zonetypeobj) {
|
||||
const char *str;
|
||||
|
||||
str = cfg_obj_asstring(zonetypeobj);
|
||||
if (strcasecmp(str, "master") == 0)
|
||||
if (strcasecmp(str, "primary") == 0 ||
|
||||
strcasecmp(str, "master") == 0)
|
||||
{
|
||||
ztype = dns_zone_master;
|
||||
else if (strcasecmp(str, "slave") == 0)
|
||||
} else if (strcasecmp(str, "secondary") == 0 ||
|
||||
strcasecmp(str, "slave") == 0)
|
||||
{
|
||||
ztype = dns_zone_slave;
|
||||
else if (strcasecmp(str, "stub") == 0)
|
||||
} else if (strcasecmp(str, "stub") == 0) {
|
||||
ztype = dns_zone_stub;
|
||||
else if (strcasecmp(str, "static-stub") == 0)
|
||||
} else if (strcasecmp(str, "static-stub") == 0) {
|
||||
ztype = dns_zone_staticstub;
|
||||
else if (strcasecmp(str, "redirect") == 0)
|
||||
} else if (strcasecmp(str, "redirect") == 0) {
|
||||
ztype = dns_zone_redirect;
|
||||
else
|
||||
} else {
|
||||
INSIST(0);
|
||||
}
|
||||
return (ztype);
|
||||
}
|
||||
|
||||
|
||||
+6
-3
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: control.c,v 1.49 2012/01/31 23:47:31 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -114,7 +116,8 @@ named_control_docommand(isccc_sexpr_t *message, isc_boolean_t readonly,
|
||||
/*
|
||||
* Compare the 'command' parameter against all known control commands.
|
||||
*/
|
||||
if (command_compare(command, NAMED_COMMAND_NULL) ||
|
||||
if ((command_compare(command, NAMED_COMMAND_NULL) &&
|
||||
strlen(cmdline) == 4) ||
|
||||
command_compare(command, NAMED_COMMAND_STATUS))
|
||||
{
|
||||
log_level = ISC_LOG_DEBUG(1);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2008, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -227,7 +230,8 @@ address_ok(isc_sockaddr_t *sockaddr, dns_acl_t *acl) {
|
||||
|
||||
isc_netaddr_fromsockaddr(&netaddr, sockaddr);
|
||||
|
||||
result = dns_acl_match(&netaddr, NULL, acl, env, &match, NULL);
|
||||
result = dns_acl_match(&netaddr, NULL, NULL, 0, NULL, acl, env, &match,
|
||||
NULL);
|
||||
|
||||
if (result != ISC_R_SUCCESS || match <= 0)
|
||||
return (ISC_FALSE);
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#!/usr/bin/env perl
|
||||
#
|
||||
# Copyright (C) 2006-2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# $Id: convertxsl.pl,v 1.14 2008/07/17 23:43:26 jinmei Exp $
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2013, 2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2011, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: dlz_dlopen_driver.h,v 1.4 2011/03/17 09:25:53 fdupont Exp $ */
|
||||
|
||||
#ifndef DLZ_DLOPEN_DRIVER_H
|
||||
#define DLZ_DLOPEN_DRIVER_H
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2001, 2004, 2005, 2007, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_BUILTIN_H
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2001, 2002, 2004-2007, 2009, 2013, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: config.h,v 1.16 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_CONFIG_H
|
||||
#define NAMED_CONFIG_H 1
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2007, 2009-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_CONTROL_H
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include <isc/fuzz.h>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2013, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef _GEOIP_H
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_GLOBALS_H
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2002, 2004, 2005, 2007, 2009, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_LOG_H
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2001, 2004-2007, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: logconf.h,v 1.17 2007/06/19 23:46:59 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_LOGCONF_H
|
||||
#define NAMED_LOGCONF_H 1
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2002, 2004, 2005, 2007, 2009, 2013, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_MAIN_H
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_SECCOMP_H
|
||||
#define NAMED_SECCOMP_H 1
|
||||
|
||||
/*! \file */
|
||||
|
||||
#ifdef HAVE_LIBSECCOMP
|
||||
#include <sys/types.h>
|
||||
#include <sys/resource.h>
|
||||
#include <unistd.h>
|
||||
#include <seccomp.h>
|
||||
#include <isc/platform.h>
|
||||
|
||||
/*%
|
||||
* For each architecture, the scmp_syscalls and
|
||||
* scmp_syscall_names arrays MUST be kept in sync.
|
||||
*/
|
||||
#ifdef __x86_64__
|
||||
int scmp_syscalls[] = {
|
||||
SCMP_SYS(access),
|
||||
SCMP_SYS(open),
|
||||
SCMP_SYS(clock_gettime),
|
||||
SCMP_SYS(time),
|
||||
SCMP_SYS(read),
|
||||
SCMP_SYS(write),
|
||||
SCMP_SYS(close),
|
||||
SCMP_SYS(brk),
|
||||
SCMP_SYS(poll),
|
||||
SCMP_SYS(select),
|
||||
SCMP_SYS(madvise),
|
||||
SCMP_SYS(mmap),
|
||||
SCMP_SYS(munmap),
|
||||
SCMP_SYS(exit_group),
|
||||
SCMP_SYS(rt_sigprocmask),
|
||||
SCMP_SYS(rt_sigaction),
|
||||
SCMP_SYS(fsync),
|
||||
SCMP_SYS(rt_sigreturn),
|
||||
SCMP_SYS(setsid),
|
||||
SCMP_SYS(chdir),
|
||||
SCMP_SYS(futex),
|
||||
SCMP_SYS(stat),
|
||||
SCMP_SYS(rt_sigsuspend),
|
||||
SCMP_SYS(fstat),
|
||||
SCMP_SYS(epoll_ctl),
|
||||
SCMP_SYS(gettimeofday),
|
||||
SCMP_SYS(getpid),
|
||||
#ifdef HAVE_GETRANDOM
|
||||
SCMP_SYS(getrandom),
|
||||
#endif
|
||||
SCMP_SYS(unlink),
|
||||
SCMP_SYS(socket),
|
||||
SCMP_SYS(sendto),
|
||||
#ifndef ISC_PLATFORM_USETHREADS
|
||||
SCMP_SYS(bind),
|
||||
SCMP_SYS(accept),
|
||||
SCMP_SYS(connect),
|
||||
SCMP_SYS(listen),
|
||||
SCMP_SYS(fcntl),
|
||||
SCMP_SYS(sendmsg),
|
||||
SCMP_SYS(recvmsg),
|
||||
SCMP_SYS(uname),
|
||||
SCMP_SYS(setrlimit),
|
||||
SCMP_SYS(getrlimit),
|
||||
SCMP_SYS(setsockopt),
|
||||
SCMP_SYS(getsockopt),
|
||||
SCMP_SYS(getsockname),
|
||||
SCMP_SYS(lstat),
|
||||
SCMP_SYS(lseek),
|
||||
SCMP_SYS(getgid),
|
||||
SCMP_SYS(getegid),
|
||||
SCMP_SYS(getuid),
|
||||
SCMP_SYS(geteuid),
|
||||
SCMP_SYS(setresgid),
|
||||
SCMP_SYS(setresuid),
|
||||
SCMP_SYS(setgid),
|
||||
SCMP_SYS(setuid),
|
||||
SCMP_SYS(prctl),
|
||||
SCMP_SYS(epoll_wait),
|
||||
SCMP_SYS(openat),
|
||||
SCMP_SYS(getdents),
|
||||
SCMP_SYS(rename),
|
||||
SCMP_SYS(utimes),
|
||||
SCMP_SYS(dup),
|
||||
#endif
|
||||
};
|
||||
const char *scmp_syscall_names[] = {
|
||||
"access",
|
||||
"open",
|
||||
"clock_gettime",
|
||||
"time",
|
||||
"read",
|
||||
"write",
|
||||
"close",
|
||||
"brk",
|
||||
"poll",
|
||||
"select",
|
||||
"madvise",
|
||||
"mmap",
|
||||
"munmap",
|
||||
"exit_group",
|
||||
"rt_sigprocmask",
|
||||
"rt_sigaction",
|
||||
"fsync",
|
||||
"rt_sigreturn",
|
||||
"setsid",
|
||||
"chdir",
|
||||
"futex",
|
||||
"stat",
|
||||
"rt_sigsuspend",
|
||||
"fstat",
|
||||
"epoll_ctl",
|
||||
"gettimeofday",
|
||||
"getpid",
|
||||
#ifdef HAVE_GETRANDOM
|
||||
"getrandom",
|
||||
#endif
|
||||
"unlink",
|
||||
"socket",
|
||||
"sendto",
|
||||
#ifndef ISC_PLATFORM_USETHREADS
|
||||
"bind",
|
||||
"accept",
|
||||
"connect",
|
||||
"listen",
|
||||
"fcntl",
|
||||
"sendmsg",
|
||||
"recvmsg",
|
||||
"uname",
|
||||
"setrlimit",
|
||||
"getrlimit",
|
||||
"setsockopt",
|
||||
"getsockopt",
|
||||
"getsockname",
|
||||
"lstat",
|
||||
"lseek",
|
||||
"getgid",
|
||||
"getegid",
|
||||
"getuid",
|
||||
"geteuid",
|
||||
"setresgid",
|
||||
"setresuid",
|
||||
"setgid",
|
||||
"setuid",
|
||||
"prctl",
|
||||
"epoll_wait",
|
||||
"openat",
|
||||
"getdents",
|
||||
"rename",
|
||||
"utimes",
|
||||
"dup",
|
||||
#endif
|
||||
};
|
||||
#endif /* __x86_64__ */
|
||||
#ifdef __i386__
|
||||
int scmp_syscalls[] = {
|
||||
SCMP_SYS(access),
|
||||
SCMP_SYS(open),
|
||||
SCMP_SYS(clock_gettime),
|
||||
SCMP_SYS(time),
|
||||
SCMP_SYS(read),
|
||||
SCMP_SYS(write),
|
||||
SCMP_SYS(close),
|
||||
SCMP_SYS(brk),
|
||||
SCMP_SYS(poll),
|
||||
SCMP_SYS(_newselect),
|
||||
SCMP_SYS(select),
|
||||
SCMP_SYS(madvise),
|
||||
SCMP_SYS(mmap2),
|
||||
SCMP_SYS(mmap),
|
||||
SCMP_SYS(munmap),
|
||||
SCMP_SYS(exit_group),
|
||||
SCMP_SYS(rt_sigprocmask),
|
||||
SCMP_SYS(sigprocmask),
|
||||
SCMP_SYS(rt_sigaction),
|
||||
SCMP_SYS(socketcall),
|
||||
SCMP_SYS(fsync),
|
||||
SCMP_SYS(sigreturn),
|
||||
SCMP_SYS(setsid),
|
||||
SCMP_SYS(chdir),
|
||||
SCMP_SYS(futex),
|
||||
SCMP_SYS(stat64),
|
||||
SCMP_SYS(rt_sigsuspend),
|
||||
SCMP_SYS(fstat64),
|
||||
SCMP_SYS(epoll_ctl),
|
||||
SCMP_SYS(gettimeofday),
|
||||
SCMP_SYS(getpid),
|
||||
#ifdef HAVE_GETRANDOM
|
||||
SCMP_SYS(getrandom),
|
||||
#endif
|
||||
SCMP_SYS(unlink),
|
||||
#ifndef ISC_PLATFORM_USETHREADS
|
||||
SCMP_SYS(fcntl64),
|
||||
#endif
|
||||
};
|
||||
const char *scmp_syscall_names[] = {
|
||||
"access",
|
||||
"open",
|
||||
"clock_gettime",
|
||||
"time",
|
||||
"read",
|
||||
"write",
|
||||
"close",
|
||||
"brk",
|
||||
"poll",
|
||||
"_newselect",
|
||||
"select",
|
||||
"madvise",
|
||||
"mmap2",
|
||||
"mmap",
|
||||
"munmap",
|
||||
"exit_group",
|
||||
"rt_sigprocmask",
|
||||
"sigprocmask",
|
||||
"rt_sigaction",
|
||||
"socketcall",
|
||||
"fsync",
|
||||
"sigreturn",
|
||||
"setsid",
|
||||
"chdir",
|
||||
"futex",
|
||||
"stat64",
|
||||
"rt_sigsuspend",
|
||||
"fstat64",
|
||||
"epoll_ctl",
|
||||
"gettimeofday",
|
||||
"getpid",
|
||||
#ifdef HAVE_GETRANDOM
|
||||
"getrandom",
|
||||
#endif
|
||||
"unlink",
|
||||
#ifndef ISC_PLATFORM_USETHREADS
|
||||
"fcntl64",
|
||||
#endif
|
||||
};
|
||||
#endif /* __i386__ */
|
||||
#endif /* HAVE_LIBSECCOMP */
|
||||
|
||||
#endif /* NAMED_SECCOMP_H */
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_SERVER_H
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef NAMED_SMF_GLOBALS_H
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user