Compare commits
2668
Commits
v9.5.1b2
...
v9.6-ESV-R1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1fc35fe236 | ||
|
|
48d417b283 | ||
|
|
2ee75dd6b6 | ||
|
|
04b69f0fbf | ||
|
|
efa452778d | ||
|
|
7fb2b51201 | ||
|
|
f6034c5012 | ||
|
|
dbb6ecaca6 | ||
|
|
0a199807e7 | ||
|
|
859dc25b2a | ||
|
|
644973f327 | ||
|
|
fe28c38a24 | ||
|
|
0c23dd6c9c | ||
|
|
804754e626 | ||
|
|
67fd4c2705 | ||
|
|
1077d5d5d7 | ||
|
|
1e9848fb2b | ||
|
|
7ac3315851 | ||
|
|
b008ad3de2 | ||
|
|
f603422ae3 | ||
|
|
71dc0e9e72 | ||
|
|
c45d848e2a | ||
|
|
bf766b1599 | ||
|
|
0abd3cca60 | ||
|
|
e77e6219d3 | ||
|
|
ee0be9c2a0 | ||
|
|
73b2849f2a | ||
|
|
7dc38ccd52 | ||
|
|
eb17eddf9c | ||
|
|
643d0b9816 | ||
|
|
dca9b1cb49 | ||
|
|
95a5f28754 | ||
|
|
127e1bde3a | ||
|
|
8f1b19fb7e | ||
|
|
93afb677c0 | ||
|
|
ce164dbd9c | ||
|
|
a821347c7f | ||
|
|
9b41e3e190 | ||
|
|
ced43743a8 | ||
|
|
c854efc784 | ||
|
|
fdb544b336 | ||
|
|
33497e72d0 | ||
|
|
e635e8b30c | ||
|
|
f15cde2b63 | ||
|
|
a273274614 | ||
|
|
2178b22c8f | ||
|
|
905105682c | ||
|
|
c2020d90fb | ||
|
|
16717de692 | ||
|
|
c6217b2899 | ||
|
|
cd2a48b5cf | ||
|
|
86077a2e87 | ||
|
|
1863e20b1b | ||
|
|
5f633b1203 | ||
|
|
da3d7fea6c | ||
|
|
b254e67fd1 | ||
|
|
54b41a6348 | ||
|
|
e6786ca109 | ||
|
|
2c6198111f | ||
|
|
428a7f9d79 | ||
|
|
c4dc5084ee | ||
|
|
c225d853f7 | ||
|
|
35baf2aace | ||
|
|
61c065a82c | ||
|
|
f640a4947f | ||
|
|
c94f40fc0a | ||
|
|
19a0f2cc15 | ||
|
|
cd6a9eea35 | ||
|
|
383868ee66 | ||
|
|
fc11dd9ebe | ||
|
|
928f535b8a | ||
|
|
8391ea7dd9 | ||
|
|
b8d036c434 | ||
|
|
2f925c1025 | ||
|
|
da2dfa2925 | ||
|
|
b1fa56e8da | ||
|
|
015ab04856 | ||
|
|
1282a7b132 | ||
|
|
5ffbae904d | ||
|
|
ce7c7cb24d | ||
|
|
75f62d93df | ||
|
|
305971d1d3 | ||
|
|
26351a2c19 | ||
|
|
29020d67b7 | ||
|
|
6d436a8ece | ||
|
|
2c6713049e | ||
|
|
0e38f474fc | ||
|
|
ed3e5b9f24 | ||
|
|
d173a5fc50 | ||
|
|
8d02d21009 | ||
|
|
b24330955a | ||
|
|
e2c5a3e25b | ||
|
|
394ff0403f | ||
|
|
7da0a5ddc6 | ||
|
|
bb43709356 | ||
|
|
fff5255c49 | ||
|
|
8997cd5560 | ||
|
|
45852a37a4 | ||
|
|
36a7377ade | ||
|
|
7eefeb32a7 | ||
|
|
c4e59874fb | ||
|
|
003fd2f720 | ||
|
|
3b75fb5c0f | ||
|
|
9cba56a343 | ||
|
|
abac3cc346 | ||
|
|
e63dcf7530 | ||
|
|
daa021383a | ||
|
|
f2fe866427 | ||
|
|
48141f48b1 | ||
|
|
49eadb2f98 | ||
|
|
873dc64585 | ||
|
|
8f3a7f332a | ||
|
|
54dbf48b44 | ||
|
|
230987e819 | ||
|
|
08f36cf4fb | ||
|
|
957a8884fb | ||
|
|
ad69ef9d09 | ||
|
|
bf685734ec | ||
|
|
d32a806351 | ||
|
|
40d8785310 | ||
|
|
df800d27d8 | ||
|
|
a80d26914a | ||
|
|
e163b0fe68 | ||
|
|
c19f322914 | ||
|
|
fb8c4a6bc9 | ||
|
|
ff9301990d | ||
|
|
f3c46d66e3 | ||
|
|
7b36ad9795 | ||
|
|
5641d615c8 | ||
|
|
fa2cb8d61d | ||
|
|
d24d074ee4 | ||
|
|
c0a7296576 | ||
|
|
6157180370 | ||
|
|
08fb52ec8c | ||
|
|
b9df4728f1 | ||
|
|
8da33254f4 | ||
|
|
9537e40e79 | ||
|
|
58416c69a3 | ||
|
|
83f43b00a5 | ||
|
|
7354bb18cf | ||
|
|
8dc44fde9b | ||
|
|
3767befe3a | ||
|
|
abe57cc913 | ||
|
|
58be84825d | ||
|
|
954941b121 | ||
|
|
27eb2ffd3b | ||
|
|
5994a39c80 | ||
|
|
0c69af9b70 | ||
|
|
64c43af4f4 | ||
|
|
c5259c013b | ||
|
|
12d2470191 | ||
|
|
760e3de10c | ||
|
|
65d3d73195 | ||
|
|
3f42eeb121 | ||
|
|
8a932cc59f | ||
|
|
6e9dd32ded | ||
|
|
39158a4c93 | ||
|
|
2c244f981f | ||
|
|
0a1d6361d8 | ||
|
|
b12035d190 | ||
|
|
44c5f7fe76 | ||
|
|
87850966d0 | ||
|
|
fe349528eb | ||
|
|
ce0a4906ad | ||
|
|
9860bf7736 | ||
|
|
637a4234fa | ||
|
|
a5c06c85fa | ||
|
|
f8f74c4133 | ||
|
|
5b976ced07 | ||
|
|
5e95cf76e4 | ||
|
|
690a5f9158 | ||
|
|
6c8a888822 | ||
|
|
5488182a69 | ||
|
|
d6143438c3 | ||
|
|
4d42b714be | ||
|
|
875245e3c4 | ||
|
|
129090f0f6 | ||
|
|
6d07a89f6c | ||
|
|
4db00f967f | ||
|
|
ab273fe3ac | ||
|
|
39131fff99 | ||
|
|
22c4126ba5 | ||
|
|
017032bb4b | ||
|
|
2d7ef7fdb7 | ||
|
|
bd598c1756 | ||
|
|
56c2c3835f | ||
|
|
fa291c34fb | ||
|
|
10ed862c72 | ||
|
|
b605bbbb0f | ||
|
|
b1003ace6f | ||
|
|
b52da87328 | ||
|
|
d8c9997a13 | ||
|
|
4e32ae26b8 | ||
|
|
92348098eb | ||
|
|
ba97097eaf | ||
|
|
5388178e8a | ||
|
|
d1a5fdc34a | ||
|
|
2e20dea9fc | ||
|
|
13396661f4 | ||
|
|
2176cc236d | ||
|
|
09609ba50d | ||
|
|
b0ccf52763 | ||
|
|
ddab8bd093 | ||
|
|
f16199c056 | ||
|
|
a79df62abf | ||
|
|
80f5acb51e | ||
|
|
b8cfef5271 | ||
|
|
68a9007749 | ||
|
|
8d87bd79e5 | ||
|
|
12d91a5519 | ||
|
|
a3398dba83 | ||
|
|
bf10569154 | ||
|
|
b041f0ecb7 | ||
|
|
3083bd21de | ||
|
|
44dc7cb1d0 | ||
|
|
6f8edd57ae | ||
|
|
c76ae1723f | ||
|
|
2e77a957cb | ||
|
|
aee54439cc | ||
|
|
c0f0bbda1e | ||
|
|
ae905b0ae1 | ||
|
|
e6418829d0 | ||
|
|
877507e813 | ||
|
|
ac0680e9eb | ||
|
|
86bccbee3e | ||
|
|
e16fa96712 | ||
|
|
2b5eae2b09 | ||
|
|
01ffac6927 | ||
|
|
cc9ed75dd9 | ||
|
|
372ce32e19 | ||
|
|
bf9b61c790 | ||
|
|
94ca1cb4cb | ||
|
|
13c1b482dd | ||
|
|
e046429e05 | ||
|
|
ac89fac641 | ||
|
|
96769258cb | ||
|
|
e2e93dfa7b | ||
|
|
5eee3743e2 | ||
|
|
64f8608ed6 | ||
|
|
f4b095c42e | ||
|
|
c717c61ab0 | ||
|
|
0810b14604 | ||
|
|
8b026a66fd | ||
|
|
7788acb1ab | ||
|
|
fc69c74e60 | ||
|
|
f521a47af7 | ||
|
|
20c68c9993 | ||
|
|
bd29cbe6aa | ||
|
|
49853562e2 | ||
|
|
b67c0e9a49 | ||
|
|
61d91562b1 | ||
|
|
8b071e63b0 | ||
|
|
b8c2fd6c72 | ||
|
|
f5d0b9895b | ||
|
|
bd2b08d5a3 | ||
|
|
233f603cc1 | ||
|
|
0cae66577c | ||
|
|
bff3b1df40 | ||
|
|
ff50f1db55 | ||
|
|
dea0471d46 | ||
|
|
ea30ea795d | ||
|
|
efa22d3d71 | ||
|
|
f3a565668f | ||
|
|
455d347569 | ||
|
|
6b5ba346d0 | ||
|
|
96ce7f6526 | ||
|
|
a46344cd6d | ||
|
|
855cb68fb7 | ||
|
|
3ab7336ea7 | ||
|
|
43048c7f74 | ||
|
|
680033ce4d | ||
|
|
397feff56e | ||
|
|
5563138dca | ||
|
|
8077efca7d | ||
|
|
5026340d9f | ||
|
|
693c4232df | ||
|
|
bf8c55b56c | ||
|
|
ff25a712f7 | ||
|
|
5fb1530285 | ||
|
|
aa38b0b73b | ||
|
|
d3cbd6b05c | ||
|
|
312a3b089d | ||
|
|
6d9f4392f9 | ||
|
|
f44c7e71a6 | ||
|
|
f56be26f60 | ||
|
|
151e614c36 | ||
|
|
ca2a1e9eb5 | ||
|
|
d3bf64ad4b | ||
|
|
0aa5b8c2d8 | ||
|
|
62ab12711f | ||
|
|
ae06702ca9 | ||
|
|
dbd13430ce | ||
|
|
c6110f2298 | ||
|
|
aedf9eab89 | ||
|
|
9c8d239e5f | ||
|
|
88eb4fca9d | ||
|
|
4129583cb6 | ||
|
|
1d4f3e75f8 | ||
|
|
79464adea1 | ||
|
|
4722228b86 | ||
|
|
6b92b96bb2 | ||
|
|
21a5f882a1 | ||
|
|
0eec014e5d | ||
|
|
46da311781 | ||
|
|
36c043703a | ||
|
|
52bf33a5bc | ||
|
|
3541946aed | ||
|
|
44feb9a567 | ||
|
|
00a673b03c | ||
|
|
9f168992da | ||
|
|
6f1b350c3a | ||
|
|
5eb1c53ca2 | ||
|
|
79ee58d29d | ||
|
|
9a83aa49de | ||
|
|
16c19e5477 | ||
|
|
73aa4c1671 | ||
|
|
b497531c76 | ||
|
|
995eaa289b | ||
|
|
550042e162 | ||
|
|
d03e7dd277 | ||
|
|
3a28f0dc73 | ||
|
|
139cedabf9 | ||
|
|
e047f16684 | ||
|
|
51fc19f726 | ||
|
|
44d0f0256f | ||
|
|
01347cce29 | ||
|
|
8ac908b38a | ||
|
|
db95cc18d8 | ||
|
|
f1c89cb4f5 | ||
|
|
418cc93231 | ||
|
|
c696c12cff | ||
|
|
e83e226e08 | ||
|
|
0b24b2d3c4 | ||
|
|
c060401781 | ||
|
|
dcfca6f18d | ||
|
|
06d38550f3 | ||
|
|
f36db31f96 | ||
|
|
aad3d15976 | ||
|
|
1b50f0d68e | ||
|
|
c2e3270948 | ||
|
|
dc517fde01 | ||
|
|
350f415b02 | ||
|
|
b4d6057cf0 | ||
|
|
ebaf977ecf | ||
|
|
834a31a021 | ||
|
|
b43febe8c3 | ||
|
|
8a7f5ae9a9 | ||
|
|
140cf92b3b | ||
|
|
68ea797082 | ||
|
|
78d46b371f | ||
|
|
19a62c240d | ||
|
|
e8f796f8a6 | ||
|
|
366694ad6a | ||
|
|
297f40731e | ||
|
|
b2b5dd559d | ||
|
|
624e141817 | ||
|
|
5f25e73ff9 | ||
|
|
8695fa7a14 | ||
|
|
0fae33c4d5 | ||
|
|
ec955e008d | ||
|
|
bcc65417d7 | ||
|
|
36f9773b90 | ||
|
|
db3543452c | ||
|
|
4a5d8786ed | ||
|
|
153ec122b2 | ||
|
|
fd3a378353 | ||
|
|
3ae6ec7ef6 | ||
|
|
327c37def7 | ||
|
|
0185a9358c | ||
|
|
19e1280ee7 | ||
|
|
1077e73992 | ||
|
|
a9a7e2f270 | ||
|
|
ac9cc645a2 | ||
|
|
c46b6864af | ||
|
|
ad544a5ef3 | ||
|
|
da4a8c89a8 | ||
|
|
e87e7b378a | ||
|
|
56334ccb2d | ||
|
|
6bb16fca28 | ||
|
|
3a13626ed1 | ||
|
|
ce9d53c23f | ||
|
|
5703894dc5 | ||
|
|
cd0aa2d941 | ||
|
|
9a13c65344 | ||
|
|
9d86a2e1c1 | ||
|
|
e0172b5a62 | ||
|
|
77fdd17568 | ||
|
|
b0d4c367b6 | ||
|
|
86e79deccd | ||
|
|
2bc8ae2486 | ||
|
|
925392a19f | ||
|
|
9f7aa45f53 | ||
|
|
d2442bfeae | ||
|
|
c5a50f19df | ||
|
|
279e3f68cc | ||
|
|
1167fc7904 | ||
|
|
68bde02f3e | ||
|
|
c790dbe913 | ||
|
|
247c4bffc3 | ||
|
|
95f8f3ebd1 | ||
|
|
979691b8b5 | ||
|
|
6e59a4acaa | ||
|
|
a3416b0a1b | ||
|
|
7c9928441f | ||
|
|
ca4e44ebe8 | ||
|
|
0c39b3ed94 | ||
|
|
de0c543c00 | ||
|
|
8a198fa776 | ||
|
|
1aa8830b74 | ||
|
|
ecde9a1cd5 | ||
|
|
0c4cfa742e | ||
|
|
3aeaafebd8 | ||
|
|
7615a5ba43 | ||
|
|
d81f97c523 | ||
|
|
2426105366 | ||
|
|
c5262939c4 | ||
|
|
6bb1560124 | ||
|
|
ff8ec39ce4 | ||
|
|
7fad221106 | ||
|
|
cf487f8e37 | ||
|
|
e11a0c114c | ||
|
|
f78fe6d8a9 | ||
|
|
83be7c484c | ||
|
|
4dea9e5971 | ||
|
|
5264a22671 | ||
|
|
20f2d1d74b | ||
|
|
831f79c431 | ||
|
|
2963539c15 | ||
|
|
d0b9be4fb9 | ||
|
|
4025076ca2 | ||
|
|
592d281377 | ||
|
|
7aca55cd83 | ||
|
|
5d9f318a8f | ||
|
|
9feb8eda57 | ||
|
|
b20c383c6b | ||
|
|
c71ada9e6e | ||
|
|
905c946de0 | ||
|
|
6ce89d1db6 | ||
|
|
cab45cd588 | ||
|
|
b17ec45352 | ||
|
|
3b956daecf | ||
|
|
9b72b0258e | ||
|
|
1963c1c54a | ||
|
|
763250ea4e | ||
|
|
e5e815d21a | ||
|
|
3f39cbcc76 | ||
|
|
664635ce65 | ||
|
|
b47d410f84 | ||
|
|
b4b534f1ee | ||
|
|
798323e52e | ||
|
|
5bdf8cd3c2 | ||
|
|
b109432c3a | ||
|
|
0a01f5cd3e | ||
|
|
6ff7cd9fa5 | ||
|
|
83cb3e7624 | ||
|
|
20624f43c3 | ||
|
|
b7c624e2d9 | ||
|
|
f77148e029 | ||
|
|
b3990d04da | ||
|
|
a06b00a998 | ||
|
|
51512910da | ||
|
|
8576a40424 | ||
|
|
8c6328ab58 | ||
|
|
d481cfdab5 | ||
|
|
e706356783 | ||
|
|
b0f0bbd6bc | ||
|
|
65d1486535 | ||
|
|
d889e9701a | ||
|
|
b1265b5a06 | ||
|
|
41089d26e2 | ||
|
|
1a1c6062db | ||
|
|
95e4241902 | ||
|
|
9251d20f2a | ||
|
|
6720b9fe94 | ||
|
|
a91029a00e | ||
|
|
36399b2e4a | ||
|
|
125da90ced | ||
|
|
5c17ed36b3 | ||
|
|
469aa83442 | ||
|
|
b871a3e0cd | ||
|
|
68824177e5 | ||
|
|
a88b32777c | ||
|
|
a11b959529 | ||
|
|
05b1ab91a6 | ||
|
|
9c0089177f | ||
|
|
a26d73a734 | ||
|
|
f6030c2ad1 | ||
|
|
e9c3fd20d6 | ||
|
|
49644c0c8f | ||
|
|
b05b66d498 | ||
|
|
2f2319de0d | ||
|
|
0094f4294c | ||
|
|
3072385d81 | ||
|
|
03e5afa4c0 | ||
|
|
ef3c8caac4 | ||
|
|
fdd80e9a55 | ||
|
|
948e39419a | ||
|
|
f218fe643a | ||
|
|
a30c7003af | ||
|
|
c91b60a119 | ||
|
|
f9119ad8f6 | ||
|
|
7d259433d2 | ||
|
|
47f74b8c33 | ||
|
|
dee1a91739 | ||
|
|
0f66aced26 | ||
|
|
da42475564 | ||
|
|
8ebf67b7f0 | ||
|
|
7c25b5f311 | ||
|
|
27f8686a3b | ||
|
|
0f83518a99 | ||
|
|
8997313968 | ||
|
|
8fd7205f18 | ||
|
|
597642c0ba | ||
|
|
4715754ba9 | ||
|
|
247f299fb0 | ||
|
|
b29e5c56eb | ||
|
|
76e65f9151 | ||
|
|
b1fbf2a4db | ||
|
|
f977f347f0 | ||
|
|
3ee1371212 | ||
|
|
0977f3f39e | ||
|
|
0261624e84 | ||
|
|
f9205dd2ef | ||
|
|
564d687132 | ||
|
|
fa0736a341 | ||
|
|
842920c7db | ||
|
|
205c10066a | ||
|
|
9ee9011747 | ||
|
|
d3a6cd7c7e | ||
|
|
845bb3195a | ||
|
|
7549cd6daa | ||
|
|
ae53c8c073 | ||
|
|
400615c294 | ||
|
|
ef413fafe5 | ||
|
|
6473a5d888 | ||
|
|
67145ee7da | ||
|
|
89b448b506 | ||
|
|
450c3bb498 | ||
|
|
9745e98876 | ||
|
|
9b4b69eac1 | ||
|
|
d8680445d6 | ||
|
|
0f348b269b | ||
|
|
f5331a5045 | ||
|
|
9ead684875 | ||
|
|
c7c6605eb0 | ||
|
|
3156309a79 | ||
|
|
b4ed36acde | ||
|
|
e02ccd485e | ||
|
|
687b6322fb | ||
|
|
5a1d90c7ed | ||
|
|
57fb4f7bbe | ||
|
|
7ddd859470 | ||
|
|
502dc92f58 | ||
|
|
0216fd2ac6 | ||
|
|
7fc63ac0ed | ||
|
|
5b77627c09 | ||
|
|
5e4b540170 | ||
|
|
dfcebf4703 | ||
|
|
ae787010e1 | ||
|
|
288486df9d | ||
|
|
d4c0bf0a08 | ||
|
|
5773d3c007 | ||
|
|
845309d349 | ||
|
|
d856585f5f | ||
|
|
773199d3ad | ||
|
|
85c5ed3577 | ||
|
|
ead17d97ab | ||
|
|
85087d31ab | ||
|
|
c67053f35f | ||
|
|
0faf1492c7 | ||
|
|
0eaa00ce70 | ||
|
|
a5003acddf | ||
|
|
bd31f734ee | ||
|
|
65bbefae47 | ||
|
|
c6323eed9d | ||
|
|
bd851f3490 | ||
|
|
c7a3571cf6 | ||
|
|
1361014b02 | ||
|
|
40ad4ed01b | ||
|
|
b09559fd36 | ||
|
|
b8f874d1b3 | ||
|
|
aa3415ba49 | ||
|
|
f09e6b6025 | ||
|
|
a9890810cf | ||
|
|
10e08bdd6e | ||
|
|
669b1ee4d8 | ||
|
|
c9630524c7 | ||
|
|
1585604c53 | ||
|
|
4c2ac09e46 | ||
|
|
f766024a27 | ||
|
|
3c8a4c7a8b | ||
|
|
7a0d680aa5 | ||
|
|
0d41ea8c5c | ||
|
|
928e12ccdc | ||
|
|
59edd79b87 | ||
|
|
f219cfd749 | ||
|
|
4e55893d30 | ||
|
|
84faa4f2ef | ||
|
|
0da859c5a7 | ||
|
|
19a6c40c37 | ||
|
|
9de98fbbbe | ||
|
|
c020cb62e9 | ||
|
|
c221360e9f | ||
|
|
28f4cd0a45 | ||
|
|
6f74c4a2ab | ||
|
|
485a435efe | ||
|
|
0025b05075 | ||
|
|
110214b8ca | ||
|
|
90c38ab4e6 | ||
|
|
6afeeeab25 | ||
|
|
535bc8112a | ||
|
|
e9017c9b6a | ||
|
|
bc04d6ec15 | ||
|
|
1180d56549 | ||
|
|
b5e566fa4d | ||
|
|
1c22fb9bdc | ||
|
|
297aed661d | ||
|
|
9e01a3fb5e | ||
|
|
dc508331b4 | ||
|
|
4d0f4a9d3c | ||
|
|
ed6fe51716 | ||
|
|
b8b602f89b | ||
|
|
18f0a7f147 | ||
|
|
8b82c01d74 | ||
|
|
47ff70af9e | ||
|
|
d49d63260e | ||
|
|
3cd574df2f | ||
|
|
0d796b1aaa | ||
|
|
4adecd0845 | ||
|
|
daa4933c4d | ||
|
|
292a9dd882 | ||
|
|
c7611c7dd2 | ||
|
|
16de5dbc71 | ||
|
|
c93ed439e5 | ||
|
|
12178c8652 | ||
|
|
06f5acb11f | ||
|
|
07a6184c3a | ||
|
|
d4d836350f | ||
|
|
96912588e2 | ||
|
|
c2f095969c | ||
|
|
6d85ab241a | ||
|
|
e330b6116c | ||
|
|
d601ef9e89 | ||
|
|
a8d090b362 | ||
|
|
d99e249ff3 | ||
|
|
fc2381b901 | ||
|
|
e2e4d32199 | ||
|
|
661c6b52c4 | ||
|
|
4b6dc226f7 | ||
|
|
979e02d122 | ||
|
|
71ba75c604 | ||
|
|
530e510458 | ||
|
|
3d17a3ba61 | ||
|
|
e438e29354 | ||
|
|
2ec4ab2183 | ||
|
|
a4457e0d89 | ||
|
|
306b36adb6 | ||
|
|
e2d43cd9d5 | ||
|
|
08ce421808 | ||
|
|
3353e0d964 | ||
|
|
5d850024cb | ||
|
|
6ec134549f | ||
|
|
089c63b69c | ||
|
|
185cb1aaaf | ||
|
|
63aeaafd97 | ||
|
|
47a171a75a | ||
|
|
8e4f3f1cbc | ||
|
|
f70450a70f | ||
|
|
22304041d1 | ||
|
|
61c87dbe87 | ||
|
|
e6dda86e8b | ||
|
|
e4de496a5d | ||
|
|
b1c2fed160 | ||
|
|
7b844d9590 | ||
|
|
8bd81db458 | ||
|
|
e60977ec32 | ||
|
|
6b2d0a74ac | ||
|
|
f1ff7b7b8b | ||
|
|
b695e0159a | ||
|
|
ecbbb29519 | ||
|
|
0bbfdc2806 | ||
|
|
e086d0e6cc | ||
|
|
675944370a | ||
|
|
620a452ebe | ||
|
|
fce41660df | ||
|
|
3da71a0572 | ||
|
|
50331a1a93 | ||
|
|
f8376838e7 | ||
|
|
a8bb437cbd | ||
|
|
34b8a84928 | ||
|
|
15ab3696b0 | ||
|
|
6fe6eff8de | ||
|
|
cac64d5bd8 | ||
|
|
df31d36c3f | ||
|
|
b99efc39de | ||
|
|
e388818cc9 | ||
|
|
fcf06578df | ||
|
|
3638fe4f9a | ||
|
|
ac8aa59f62 | ||
|
|
a3862bb60b | ||
|
|
38917972ea | ||
|
|
9d5e42bb87 | ||
|
|
985137ff66 | ||
|
|
2eff17e423 | ||
|
|
e331fe245d | ||
|
|
8b7fa47bf2 | ||
|
|
667e5aaded | ||
|
|
2a0d4c4d6b | ||
|
|
ce0d2caf1b | ||
|
|
63be8a9807 | ||
|
|
6a4d6e3379 | ||
|
|
5d698de5b4 | ||
|
|
095810f8cb | ||
|
|
7362201ff0 | ||
|
|
9573525eaf | ||
|
|
049a56fb19 | ||
|
|
fc9d2a1449 | ||
|
|
6f0fe31b85 | ||
|
|
717d095d85 | ||
|
|
d524a81532 | ||
|
|
506c084124 | ||
|
|
feeca57f18 | ||
|
|
88adaa322e | ||
|
|
ffd297db79 | ||
|
|
31a540386a | ||
|
|
1cb8c8d52e | ||
|
|
4f4b55df87 | ||
|
|
8b37c0dd6e | ||
|
|
7579858399 | ||
|
|
c073c65719 | ||
|
|
7511904837 | ||
|
|
75b8de8787 | ||
|
|
a3511da52b | ||
|
|
820251a036 | ||
|
|
6585014aa0 | ||
|
|
996dbb1957 | ||
|
|
e8277bed1b | ||
|
|
5d9922e86f | ||
|
|
9df45151f5 | ||
|
|
862572d505 | ||
|
|
3e920dd0c6 | ||
|
|
1beb3ce612 | ||
|
|
45fb40e1f7 | ||
|
|
64ab7727e9 | ||
|
|
979f1cf4af | ||
|
|
f37e34be9d | ||
|
|
88a7702a9d | ||
|
|
c4e3976707 | ||
|
|
49f788cbd3 | ||
|
|
54341ecaa1 | ||
|
|
34862bb497 | ||
|
|
432b145c6e | ||
|
|
66ecb6789b | ||
|
|
7579191f73 | ||
|
|
bda68146b0 | ||
|
|
e053dbfeb0 | ||
|
|
dd046c1a8e | ||
|
|
b7ce89b8ca | ||
|
|
bccacfdbf0 | ||
|
|
b47987bc53 | ||
|
|
1ce9ab3e3b | ||
|
|
2b2fc9b4df | ||
|
|
0a9fcb1124 | ||
|
|
d26e883326 | ||
|
|
9bf8182b1c | ||
|
|
4bf4beede2 | ||
|
|
7025ee2652 | ||
|
|
702ca0b0a8 | ||
|
|
78b3284647 | ||
|
|
172465b683 | ||
|
|
cc7f86f702 | ||
|
|
e1fc4161d1 | ||
|
|
536e36ac8d | ||
|
|
1f794e6297 | ||
|
|
71110063f1 | ||
|
|
cfc22e53a8 | ||
|
|
c8ae58f9f8 | ||
|
|
f6aa4de371 | ||
|
|
3a341ee535 | ||
|
|
6519b2ccad | ||
|
|
ce3b2c5189 | ||
|
|
fc1fb1a469 | ||
|
|
eb5f89b06e | ||
|
|
d0ca4e90e2 | ||
|
|
996f875de4 | ||
|
|
f4d18d665f | ||
|
|
b314ea10b4 | ||
|
|
0794f78e65 | ||
|
|
93e0978d98 | ||
|
|
cd41f377c8 | ||
|
|
91cbc837ff | ||
|
|
d312bc5d81 | ||
|
|
db6cd7ee05 | ||
|
|
375962bc49 | ||
|
|
eb60656b9b | ||
|
|
b0f986128a | ||
|
|
9dd2ee95f1 | ||
|
|
32967e6895 | ||
|
|
dc92707066 | ||
|
|
fa14b39ce9 | ||
|
|
e3e4650e2f | ||
|
|
cdf3ea38b5 | ||
|
|
503e5aa8d2 | ||
|
|
ebaaeff9ea | ||
|
|
94e3a63110 | ||
|
|
f7bef440fa | ||
|
|
5985af3f5c | ||
|
|
5942a43b99 | ||
|
|
7860facc0a | ||
|
|
cef109efa7 | ||
|
|
5302b44251 | ||
|
|
289dbe005c | ||
|
|
00464ff770 | ||
|
|
7d7346d623 | ||
|
|
c16d37d06e | ||
|
|
ea882c9959 | ||
|
|
00fac9f21a | ||
|
|
36f3facb1a | ||
|
|
40ff4bb482 | ||
|
|
8b4aab25fa | ||
|
|
a7df2367f2 | ||
|
|
1cd538c051 | ||
|
|
19af988924 | ||
|
|
01a10cbd81 | ||
|
|
f0d57bc9ad | ||
|
|
40adc17544 | ||
|
|
81fd55a535 | ||
|
|
3c18ba3aba | ||
|
|
5d09fe745e | ||
|
|
cf0516fab3 | ||
|
|
46977c5f31 | ||
|
|
6f0ed96f5f | ||
|
|
eb550d94ea | ||
|
|
f781d497d1 | ||
|
|
76a1507769 | ||
|
|
6cdfe5a4bb | ||
|
|
04b1b38fdb | ||
|
|
3c1e75c23f | ||
|
|
158908972b | ||
|
|
0088b45de5 | ||
|
|
3f9f79b5c4 | ||
|
|
04813aa271 | ||
|
|
acf4c05953 | ||
|
|
fad04ffe23 | ||
|
|
6b5b1d74a4 | ||
|
|
f6566e9ec2 | ||
|
|
9dad3e2710 | ||
|
|
f7e3edb15a | ||
|
|
b0414d02f5 | ||
|
|
514f544c08 | ||
|
|
dbebb4a6cd | ||
|
|
895a62b0be | ||
|
|
e55297ee1e | ||
|
|
79df5c5196 | ||
|
|
d9fdcc5131 | ||
|
|
6d12fcbb39 | ||
|
|
cc3a3a3077 | ||
|
|
ce053ae713 | ||
|
|
8076b157b1 | ||
|
|
63f763baa9 | ||
|
|
e939393c1c | ||
|
|
3d7ca1bba2 | ||
|
|
f95bdcf65d | ||
|
|
ba9cececca | ||
|
|
fe2b9bf570 | ||
|
|
8b39e41b24 | ||
|
|
c95f536d78 | ||
|
|
dee8a42282 | ||
|
|
ae5b67a0c0 | ||
|
|
3e084fed8d | ||
|
|
b08325a7f3 | ||
|
|
e83a7cabc3 | ||
|
|
2ad776a5c4 | ||
|
|
66d5a4ad86 | ||
|
|
595db826f7 | ||
|
|
850853340a | ||
|
|
af52d6ddd7 | ||
|
|
823c5a49e5 | ||
|
|
41b324b22a | ||
|
|
e7f4d4e09d | ||
|
|
38637a6e1d | ||
|
|
a39a5f4d81 | ||
|
|
e34e9a8d68 | ||
|
|
124293bba2 | ||
|
|
a5f51e95e7 | ||
|
|
7ee4b13ded | ||
|
|
f9a07be8b3 | ||
|
|
44a3999cf4 | ||
|
|
3ed58d6162 | ||
|
|
13cb972c40 | ||
|
|
7048af0a55 | ||
|
|
c548608321 | ||
|
|
00295e0650 | ||
|
|
36d20ac80b | ||
|
|
e856482b1f | ||
|
|
67b57046ef | ||
|
|
9b33a79659 | ||
|
|
6bb622d361 | ||
|
|
37a34ab54f | ||
|
|
88a4f97370 | ||
|
|
a9bc1daf4f | ||
|
|
53d502202a | ||
|
|
86132f0ef5 | ||
|
|
7dc66d649a | ||
|
|
710b3ae385 | ||
|
|
1d0ebb4cf2 | ||
|
|
19e91f021d | ||
|
|
841380d975 | ||
|
|
a64415fc94 | ||
|
|
2667bea6bc | ||
|
|
6d4fb86a4d | ||
|
|
0a2ff2f893 | ||
|
|
5d061b8d76 | ||
|
|
eeef28e6d0 | ||
|
|
adb4211586 | ||
|
|
e9dff04d3b | ||
|
|
0c3948e606 | ||
|
|
a65d6dc605 | ||
|
|
aba6fd4234 | ||
|
|
9afe470beb | ||
|
|
06db2784b5 | ||
|
|
2c016c64f5 | ||
|
|
127820c20f | ||
|
|
3a5fe5abf0 | ||
|
|
f466c1552a | ||
|
|
2e2a294b05 | ||
|
|
3839749200 | ||
|
|
2ac5c5415c | ||
|
|
f82d52e82d | ||
|
|
fa8f5570bc | ||
|
|
5857247dbb | ||
|
|
6d4ad45aee | ||
|
|
7fe4b0447f | ||
|
|
13de8b7015 | ||
|
|
ca35524ce2 | ||
|
|
e2facd7af2 | ||
|
|
2d46d268cc | ||
|
|
5c6c5669ec | ||
|
|
9b6701361e | ||
|
|
b3c2030de4 | ||
|
|
6f0cdcbfbc | ||
|
|
3594635af7 | ||
|
|
b514948e9d | ||
|
|
8433da5e37 | ||
|
|
f0af708359 | ||
|
|
cc3ed192b0 | ||
|
|
f75c7e218c | ||
|
|
df1599d0e1 | ||
|
|
7963a67df0 | ||
|
|
c1bfa5b0ad | ||
|
|
aa2f010f13 | ||
|
|
302ed789bd | ||
|
|
cd0df9459e | ||
|
|
6f6f08b7a4 | ||
|
|
ca97301c37 | ||
|
|
2a81568d17 | ||
|
|
d586a9b72f | ||
|
|
052e7083ac | ||
|
|
9a050780dc | ||
|
|
76d66c8e52 | ||
|
|
b55ce50367 | ||
|
|
2d84cba8f4 | ||
|
|
a1b08748d8 | ||
|
|
515cba20eb | ||
|
|
7efc6d9cb8 | ||
|
|
2484c7db7a | ||
|
|
450d4ae030 | ||
|
|
fb76b4340c | ||
|
|
e94fe42a20 | ||
|
|
0a30185f80 | ||
|
|
1d08fbdc2d | ||
|
|
5211674cef | ||
|
|
0181a0a92f | ||
|
|
a3285e811d | ||
|
|
126dce8ebf | ||
|
|
ef2dfb76b9 | ||
|
|
7184a893c1 | ||
|
|
4ffd660d41 | ||
|
|
64affc54f9 | ||
|
|
f80b665135 | ||
|
|
5ccd971c72 | ||
|
|
d937817697 | ||
|
|
9d856845d6 | ||
|
|
90065a6881 | ||
|
|
e844d1f3a8 | ||
|
|
5f5bb6cba2 | ||
|
|
2162c1ed3d | ||
|
|
961ff176c2 | ||
|
|
ef55474f25 | ||
|
|
554d22d2de | ||
|
|
717a6020e6 | ||
|
|
af104911b7 | ||
|
|
cc11677a72 | ||
|
|
660818f4c7 | ||
|
|
ad120f93e4 | ||
|
|
368e6fb1e7 | ||
|
|
6e27aa67be | ||
|
|
64282ffd6d | ||
|
|
d90f3a24c7 | ||
|
|
8a0943e125 | ||
|
|
c44709c516 | ||
|
|
4d9b982abf | ||
|
|
e98e7e6680 | ||
|
|
de9b26db37 | ||
|
|
4c53f98dbd | ||
|
|
3684692720 | ||
|
|
b37b0818d8 | ||
|
|
5b72cda36b | ||
|
|
da1f044e5d | ||
|
|
5cb44a38d9 | ||
|
|
be69d48443 | ||
|
|
afdc7dee62 | ||
|
|
eac1bcca33 | ||
|
|
575e15fed9 | ||
|
|
8371f50c6e | ||
|
|
a050fc374c | ||
|
|
df4408b77a | ||
|
|
c6d2578fd6 | ||
|
|
990dca4605 | ||
|
|
4104e236f7 | ||
|
|
fb93a46d74 | ||
|
|
e9d45c0a04 | ||
|
|
95f2377b4f | ||
|
|
c363a13c50 | ||
|
|
9a97696b54 | ||
|
|
e09cdbac08 | ||
|
|
e3b59e4af7 | ||
|
|
312a00fb75 | ||
|
|
72cfcb48a7 | ||
|
|
0ce9fba8f0 | ||
|
|
42f7c09369 | ||
|
|
9e9e7112f9 | ||
|
|
63d5a6f680 | ||
|
|
e8831e51c1 | ||
|
|
af30180834 | ||
|
|
e4adb07cc1 | ||
|
|
5f744ebbdc | ||
|
|
6f9c93a885 | ||
|
|
c8aa7ce70d | ||
|
|
c021499604 | ||
|
|
0da9fafc18 | ||
|
|
7bc8c1465b | ||
|
|
775a8d86d9 | ||
|
|
c07236a635 | ||
|
|
8f0502e922 | ||
|
|
412b30659b | ||
|
|
8e821eea5f | ||
|
|
510032fdf4 | ||
|
|
2fe5f8303e | ||
|
|
f10a8fa034 | ||
|
|
cc6cddfd94 | ||
|
|
8d307467b7 | ||
|
|
d2a8d00228 | ||
|
|
3cae549ddb | ||
|
|
6833e6ba4c | ||
|
|
55aec75784 | ||
|
|
cd4d18cfee | ||
|
|
ae5da6a185 | ||
|
|
520a24ee91 | ||
|
|
8ec993c774 | ||
|
|
b15df8f9bc | ||
|
|
e193c6c98e | ||
|
|
0ddedb1781 | ||
|
|
eccf8cc404 | ||
|
|
2a2e4dbefb | ||
|
|
7704a47aec | ||
|
|
27f8258b13 | ||
|
|
a01095a487 | ||
|
|
bfbd69c43f | ||
|
|
ab23f14a30 | ||
|
|
859cfb24bf | ||
|
|
06e7340198 | ||
|
|
fff31a08a9 | ||
|
|
3c5e54941f | ||
|
|
29dd4bdd14 | ||
|
|
e5ad562a79 | ||
|
|
4b30598fb9 | ||
|
|
13174b302f | ||
|
|
2623503170 | ||
|
|
83271977c3 | ||
|
|
a17270b2a6 | ||
|
|
84dd224e46 | ||
|
|
799a4ab7d7 | ||
|
|
9ac35b4e4d | ||
|
|
02b69ec7f2 | ||
|
|
5a24d24c8f | ||
|
|
8ab6a775bb | ||
|
|
799933b034 | ||
|
|
eec29cfd40 | ||
|
|
7cbcbb2938 | ||
|
|
ece0a1d2c8 | ||
|
|
64ebbbcbb1 | ||
|
|
d060d8669f | ||
|
|
abe20c2cca | ||
|
|
3e888c5b81 | ||
|
|
45eea1bda6 | ||
|
|
616560e3db | ||
|
|
8f7de3db7e | ||
|
|
102ccdd2c0 | ||
|
|
f6cd5ef97a | ||
|
|
77d2bb78af | ||
|
|
3493b4e0ef | ||
|
|
bbf5334896 | ||
|
|
0f81966242 | ||
|
|
1ed01b3390 | ||
|
|
da2c52acae | ||
|
|
54d1801f14 | ||
|
|
cbee6197d1 | ||
|
|
ef9ee92543 | ||
|
|
f10e82ecfb | ||
|
|
7115862967 | ||
|
|
a9785879cb | ||
|
|
b043b56271 | ||
|
|
5c0fd37335 | ||
|
|
19ac4707ee | ||
|
|
97639003b0 | ||
|
|
c243d77973 | ||
|
|
3b2c6af63e | ||
|
|
d2a3eaf162 | ||
|
|
c00929ed9f | ||
|
|
69677f863f | ||
|
|
77b8f88f14 | ||
|
|
6a90baa0d5 | ||
|
|
30bb4870da | ||
|
|
11804ca08f | ||
|
|
515053881b | ||
|
|
af20baa960 | ||
|
|
8de0d8a690 | ||
|
|
8667770ad2 | ||
|
|
3727725bb7 | ||
|
|
0d9fb986c5 | ||
|
|
8a07de2f03 | ||
|
|
3f802a977e | ||
|
|
c356aac151 | ||
|
|
315a1514a5 | ||
|
|
b05106c7e6 | ||
|
|
d1bcaec0d6 | ||
|
|
bb4e0bd8e8 | ||
|
|
0838b3c02f | ||
|
|
15bbb8a129 | ||
|
|
70f5a54bf2 | ||
|
|
2847930722 | ||
|
|
169b900303 | ||
|
|
2a6d4c9948 | ||
|
|
587355bb62 | ||
|
|
e8fc8c884b | ||
|
|
e101c2937c | ||
|
|
22b23fb59d | ||
|
|
552cbf3900 | ||
|
|
d1f39121a6 | ||
|
|
ca60f7ba75 | ||
|
|
cd3e5ca69a | ||
|
|
246c504f90 | ||
|
|
a9775fe88d | ||
|
|
f6e719d145 | ||
|
|
95b41985f7 | ||
|
|
e74245134d | ||
|
|
7d12a6b412 | ||
|
|
807ffe7aba | ||
|
|
699487d802 | ||
|
|
b42ba4cace | ||
|
|
8ec3c08523 | ||
|
|
464f9144fe | ||
|
|
b91b3c4f09 | ||
|
|
b10528a3a5 | ||
|
|
fa78dfd247 | ||
|
|
a88f8c2dd1 | ||
|
|
ea845a6b72 | ||
|
|
c459aec591 | ||
|
|
ff71474ede | ||
|
|
3ff75c89eb | ||
|
|
3c52c4e44c | ||
|
|
8b78c993cb | ||
|
|
b56f3f5c66 | ||
|
|
e853728477 | ||
|
|
d220cab39d | ||
|
|
247806c820 | ||
|
|
f89a9bcf1c | ||
|
|
b091b4bb80 | ||
|
|
a631b30b1d | ||
|
|
78e0199a39 | ||
|
|
48b6d2f585 | ||
|
|
58b81e7151 | ||
|
|
27015815a5 | ||
|
|
04ecc85ca6 | ||
|
|
4fa2649d57 | ||
|
|
e4aad620d2 | ||
|
|
1a0eecfe69 | ||
|
|
8324731a56 | ||
|
|
c36ba263d6 | ||
|
|
02a7cfcc8a | ||
|
|
1210799345 | ||
|
|
4256ffffb9 | ||
|
|
3d0d370eb9 | ||
|
|
339c130823 | ||
|
|
edb08fdf7b | ||
|
|
38a32e22c4 | ||
|
|
098097efb9 | ||
|
|
5c60871fd9 | ||
|
|
1de271fbae | ||
|
|
cf7432f747 | ||
|
|
001447b3ef | ||
|
|
eb95d2e917 | ||
|
|
bafa76b324 | ||
|
|
9f6f43d291 | ||
|
|
895c88905b | ||
|
|
4977518a4c | ||
|
|
66fec05962 | ||
|
|
61dd99bfae | ||
|
|
a471195d58 | ||
|
|
7f79131f9a | ||
|
|
10d76890e4 | ||
|
|
f5212c68d0 | ||
|
|
a93a66f618 | ||
|
|
c300f45d7b | ||
|
|
debd489a44 | ||
|
|
7de6178969 | ||
|
|
1e733ffc11 | ||
|
|
242ba12742 | ||
|
|
a4720d523e | ||
|
|
f3d1a0ba52 | ||
|
|
627f3e0805 | ||
|
|
3a8f5eff97 | ||
|
|
98215f7120 | ||
|
|
eec72f05ea | ||
|
|
67cf787116 | ||
|
|
1e3c9961bb | ||
|
|
fb596cc9af | ||
|
|
fff59bfeb3 | ||
|
|
ff850b81c8 | ||
|
|
ef830a7750 | ||
|
|
d738f55bbf | ||
|
|
11144f86dc | ||
|
|
b4cc584425 | ||
|
|
b4336342d1 | ||
|
|
f22b76502b | ||
|
|
78d7186253 | ||
|
|
d6c1bb232c | ||
|
|
9e6a0b09c0 | ||
|
|
7648521c39 | ||
|
|
0f869e8d52 | ||
|
|
c59a7b0629 | ||
|
|
78092514b3 | ||
|
|
fe22ed4862 | ||
|
|
69338455d9 | ||
|
|
63a1800105 | ||
|
|
8292deab03 | ||
|
|
d48690af7a | ||
|
|
ca31221f5b | ||
|
|
fa9ae9dad2 | ||
|
|
4344643693 | ||
|
|
3a2a2463f2 | ||
|
|
91c6a86724 | ||
|
|
55c437ae71 | ||
|
|
b3c8f1e9e8 | ||
|
|
b7f5909933 | ||
|
|
6b62b02a83 | ||
|
|
53c22b8e0d | ||
|
|
ee73600181 | ||
|
|
4d0e2cf9b9 | ||
|
|
484076c325 | ||
|
|
6839f8b6df | ||
|
|
40d3bb52b6 | ||
|
|
265daffadb | ||
|
|
e25451b66c | ||
|
|
2946e44c86 | ||
|
|
3d3b7e5a5b | ||
|
|
f2445757f1 | ||
|
|
8436cc14ba | ||
|
|
011d0b7dc8 | ||
|
|
2226e9ec25 | ||
|
|
2f4d747a26 | ||
|
|
199726face | ||
|
|
adb6972f01 | ||
|
|
54f0466614 | ||
|
|
d081840d42 | ||
|
|
c9424f08b0 | ||
|
|
3894fcbaad | ||
|
|
d2ebd5d5fb | ||
|
|
fa5748c1ab | ||
|
|
b67b58ebe7 | ||
|
|
194d3c5a10 | ||
|
|
790e471f6e | ||
|
|
b0dafbb309 | ||
|
|
1def913211 | ||
|
|
148e9f3feb | ||
|
|
0e32dda176 | ||
|
|
3351ccbd5c | ||
|
|
6b87f60431 | ||
|
|
56e7dc0c24 | ||
|
|
be728633c1 | ||
|
|
8b5a11217c | ||
|
|
4765fc7c3f | ||
|
|
1a06700908 | ||
|
|
4479e4cea3 | ||
|
|
edabc8134d | ||
|
|
866a531c59 | ||
|
|
0e4fda8862 | ||
|
|
32c7a00e26 | ||
|
|
d514c0dc9b | ||
|
|
f8e3e03cac | ||
|
|
69f73c967e | ||
|
|
5e38811a8f | ||
|
|
a12c8549d6 | ||
|
|
b843f577bb | ||
|
|
d00827dabc | ||
|
|
2fa5af7b73 | ||
|
|
f819b54e38 | ||
|
|
6d7e30b030 | ||
|
|
f267b27f0e | ||
|
|
0e7cb68ea0 | ||
|
|
be63f34b6a | ||
|
|
a457576b58 | ||
|
|
dbabab1f37 | ||
|
|
c211111e64 | ||
|
|
31f1c9a241 | ||
|
|
a73c49b952 | ||
|
|
8036473e6c | ||
|
|
4c9c08e4a1 | ||
|
|
08927bbead | ||
|
|
05398561e0 | ||
|
|
7c87a8bf7b | ||
|
|
d8b801bd19 | ||
|
|
9f0225ba7e | ||
|
|
dbd66db23f | ||
|
|
14cd8ac04c | ||
|
|
523598fafa | ||
|
|
2636aac047 | ||
|
|
e7de5dcef6 | ||
|
|
fc47f5d6f1 | ||
|
|
d247c0d92a | ||
|
|
5e4d54bc79 | ||
|
|
d7c15f7c37 | ||
|
|
d7e3784c77 | ||
|
|
8a86c12ec2 | ||
|
|
c7d32c0b0f | ||
|
|
822e877c4c | ||
|
|
210970a248 | ||
|
|
bf1fb08416 | ||
|
|
6cdb18f5d4 | ||
|
|
1f821c1058 | ||
|
|
6bfa073b71 | ||
|
|
0b8385f5c5 | ||
|
|
09386e47d1 | ||
|
|
c33527c0d2 | ||
|
|
121bd24f4b | ||
|
|
3a6abd091b | ||
|
|
acb6750f8f | ||
|
|
457144a0c6 | ||
|
|
2eb6a502bc | ||
|
|
82629edf81 | ||
|
|
30a60d2aff | ||
|
|
8d0a1ede2f | ||
|
|
8b5f99861f | ||
|
|
42e5782189 | ||
|
|
06eb464ae2 | ||
|
|
762682e990 | ||
|
|
2df4d8d3dd | ||
|
|
2d13af354a | ||
|
|
730e25bf11 | ||
|
|
7b1894bec1 | ||
|
|
78cb74fab4 | ||
|
|
af55bddf26 | ||
|
|
0984eeca5b | ||
|
|
2e46523695 | ||
|
|
760a6c5ac1 | ||
|
|
9916d13704 | ||
|
|
f4b1fec888 | ||
|
|
bbc204a237 | ||
|
|
3e1938b728 | ||
|
|
2895f101b5 | ||
|
|
9f8d002a66 | ||
|
|
c164f233b4 | ||
|
|
d7201de09b | ||
|
|
e7c38ca963 | ||
|
|
9cd5eb6fe0 | ||
|
|
a4666db97c | ||
|
|
fff4ec3629 | ||
|
|
41e251fad0 | ||
|
|
9dbca282e4 | ||
|
|
f0eecd4d62 | ||
|
|
0c1326fa62 | ||
|
|
e30d8c5a47 | ||
|
|
a21cde0291 | ||
|
|
63b17e175f | ||
|
|
3a6b6f5b11 | ||
|
|
ae6bd1ae93 | ||
|
|
d699672160 | ||
|
|
eab9975bcf | ||
|
|
be3d498c6e | ||
|
|
8fec8134ea | ||
|
|
7fc3b88c3a | ||
|
|
ea854b5850 | ||
|
|
00d47e05ae | ||
|
|
823ca3c14f | ||
|
|
4f175dc980 | ||
|
|
6e8045d087 | ||
|
|
ae16941d9f | ||
|
|
e1488ac684 | ||
|
|
d364948549 | ||
|
|
ee537376ad | ||
|
|
93ebf0fc08 | ||
|
|
f909fbf73c | ||
|
|
7daca48bf2 | ||
|
|
a27fe4c990 | ||
|
|
11254f9c5a | ||
|
|
588f79e557 | ||
|
|
44de0b1f7d | ||
|
|
965b6e2a1b | ||
|
|
85be60e3c8 | ||
|
|
b1f3364f52 | ||
|
|
479b80d4d7 | ||
|
|
e28c0fcdfa | ||
|
|
ef22fffeeb | ||
|
|
9eae5f2a7a | ||
|
|
9178588ed0 | ||
|
|
1eb6d0f372 | ||
|
|
e2a61b7bb2 | ||
|
|
713b816c6f | ||
|
|
307d208450 | ||
|
|
ad671240d6 | ||
|
|
5ac9ef9448 | ||
|
|
41eeb37b51 | ||
|
|
747abb4993 | ||
|
|
85eb2c7635 | ||
|
|
163af735c2 | ||
|
|
35490da615 | ||
|
|
de10c46b2a | ||
|
|
276ae4fe5c | ||
|
|
f8da2eefea | ||
|
|
da035d9f44 | ||
|
|
1c210d73bd | ||
|
|
3a9593055e | ||
|
|
04f7e40618 | ||
|
|
11b4f17027 | ||
|
|
e08ab67c41 | ||
|
|
7179c3476f | ||
|
|
2bee3c2e70 | ||
|
|
af0159c4ee | ||
|
|
a0ba5a502e | ||
|
|
18114698b4 | ||
|
|
995f3bc4c4 | ||
|
|
7bae9e718e | ||
|
|
3f52bb9498 | ||
|
|
80c2098825 | ||
|
|
34ef21525e | ||
|
|
7f7412f12c | ||
|
|
99c0705417 | ||
|
|
97a2451eea | ||
|
|
88471538d6 | ||
|
|
800fb35bf0 | ||
|
|
e851b0cf9c | ||
|
|
bde521789e | ||
|
|
c3bad668ba | ||
|
|
181b990c21 | ||
|
|
05eeaf4914 | ||
|
|
38cd84d1b3 | ||
|
|
eaeb251254 | ||
|
|
3fe0b63ff1 | ||
|
|
ece6c39dd8 | ||
|
|
6a1f2578fc | ||
|
|
ddc225b15d | ||
|
|
3d2ce18535 | ||
|
|
813b34ebec | ||
|
|
ef42c36b22 | ||
|
|
1f5dc0fc22 | ||
|
|
dfc1a21b59 | ||
|
|
3bbcca9d17 | ||
|
|
de3200acf4 | ||
|
|
6b7a9242d6 | ||
|
|
bcd0cbfdae | ||
|
|
50eab6c2aa | ||
|
|
38d8198fd0 | ||
|
|
1d9958c6cc | ||
|
|
2ec35a7772 | ||
|
|
8cff1a894f | ||
|
|
d9f13588fd | ||
|
|
048690a34d | ||
|
|
644630bb3c | ||
|
|
90c1e763d5 | ||
|
|
835ee9481b | ||
|
|
1762bd3d21 | ||
|
|
60f06c1960 | ||
|
|
6bf23b0270 | ||
|
|
68e1b398b5 | ||
|
|
9be408c368 | ||
|
|
3f5510b6fd | ||
|
|
0a7e3c7d09 | ||
|
|
cf7e98f591 | ||
|
|
b73fda8035 | ||
|
|
2ac8f58412 | ||
|
|
3a87540047 | ||
|
|
4a8fa74137 | ||
|
|
6beee732e4 | ||
|
|
de99148154 | ||
|
|
1166ab523b | ||
|
|
f6779c3053 | ||
|
|
10f35749cf | ||
|
|
33a31c5cab | ||
|
|
11a014304a | ||
|
|
4103d428a9 | ||
|
|
a6c4d1405e | ||
|
|
0282f038eb | ||
|
|
a3288b425a | ||
|
|
47ce374fcf | ||
|
|
9069215eac | ||
|
|
95f36ad29f | ||
|
|
b7b4fc9a0e | ||
|
|
4189dd1e2c | ||
|
|
fcf7d085b9 | ||
|
|
bd190a40a8 | ||
|
|
610f3aa54c | ||
|
|
3daad56dbb | ||
|
|
352f93d94a | ||
|
|
963df54288 | ||
|
|
c83d2dbb2b | ||
|
|
661f055cc1 | ||
|
|
3e02c9e336 | ||
|
|
d173d06cae | ||
|
|
6a1a8186af | ||
|
|
af84f6917c | ||
|
|
23cb85e6e6 | ||
|
|
ca8576a564 | ||
|
|
99a0cd0236 | ||
|
|
2847ddeaf1 | ||
|
|
97725b410a | ||
|
|
520cea04a2 | ||
|
|
fd0b768f4c | ||
|
|
61302bdbbf | ||
|
|
ee20d30cc4 | ||
|
|
938dfe6dcd | ||
|
|
85f5bb5274 | ||
|
|
590c12cfe3 | ||
|
|
f1de96a386 | ||
|
|
c5296e040b | ||
|
|
52c1cac19a | ||
|
|
26d8ffe715 | ||
|
|
133e6d43fa | ||
|
|
f73695f9bd | ||
|
|
15fcbe3917 | ||
|
|
dba9901bb7 | ||
|
|
2a3574f8d4 | ||
|
|
9edd523c22 | ||
|
|
da520bccdd | ||
|
|
b1fa84a099 | ||
|
|
b478865635 | ||
|
|
0a7ed88633 | ||
|
|
553ead32ff | ||
|
|
89266715e6 | ||
|
|
59b6d3ae92 | ||
|
|
6e561e503d | ||
|
|
4a979d3577 | ||
|
|
f2770f6b39 | ||
|
|
3967528c77 | ||
|
|
aeff7de836 | ||
|
|
ae11a72378 | ||
|
|
103ebb0f6b | ||
|
|
ac94adf868 | ||
|
|
c93399e357 | ||
|
|
3b0c34c83f | ||
|
|
2792e226c7 | ||
|
|
a2b52a3a7c | ||
|
|
4347f7ac12 | ||
|
|
ab280fdfc5 | ||
|
|
70d6c84aa6 | ||
|
|
3cddb2c552 | ||
|
|
fb8db7fc3f | ||
|
|
3e12c54de2 | ||
|
|
08f860f800 | ||
|
|
38cd4d14cc | ||
|
|
0ea743459d | ||
|
|
00f35bc78c | ||
|
|
a4463732ad | ||
|
|
d85c83c414 | ||
|
|
fd4dcaddae | ||
|
|
3cc98b8ece | ||
|
|
425682fb71 | ||
|
|
943cbe8ae5 | ||
|
|
ef370118d5 | ||
|
|
785eb615e3 | ||
|
|
5b7525f51f | ||
|
|
3bc4221346 | ||
|
|
49c3a15727 | ||
|
|
6d5852f318 | ||
|
|
b450054488 | ||
|
|
8cd113407a | ||
|
|
7de8e021c2 | ||
|
|
8a655e59bc | ||
|
|
0da8837d0e | ||
|
|
94a70dc397 | ||
|
|
a416993543 | ||
|
|
76728b8bc6 | ||
|
|
4a14ce5ba0 | ||
|
|
9822b878e0 | ||
|
|
b655c721b6 | ||
|
|
ccbc5af870 | ||
|
|
cff0e0b52c | ||
|
|
bdc250babc | ||
|
|
848dcebe28 | ||
|
|
54ff69c981 | ||
|
|
98e8948bd7 | ||
|
|
cb1356b321 | ||
|
|
d7d05319a6 | ||
|
|
e5af5f24c7 | ||
|
|
7847f8e69e | ||
|
|
0bddff542c | ||
|
|
e1cc7fc197 | ||
|
|
51204d6aee | ||
|
|
0e57851625 | ||
|
|
4ee4e2f761 | ||
|
|
2cbb4ab757 | ||
|
|
8d80232e77 | ||
|
|
60735f8bfa | ||
|
|
1dcf2a88ce | ||
|
|
c8da39c6c7 | ||
|
|
3b6e4c84a5 | ||
|
|
18a39213e9 | ||
|
|
6493425eaa | ||
|
|
109580e7e5 | ||
|
|
d173a072dd | ||
|
|
c6fb85f950 | ||
|
|
dd65eb1efb | ||
|
|
b9cb51539f | ||
|
|
c89d02f2fb | ||
|
|
f66c8eed51 | ||
|
|
0ae35ecf05 | ||
|
|
1bc5499c2a | ||
|
|
6210cd4970 | ||
|
|
cfb1587eb9 | ||
|
|
d3907d27cc | ||
|
|
5c677cf208 | ||
|
|
858cc1200e | ||
|
|
670fa07bc8 | ||
|
|
97face2458 | ||
|
|
6815ef40df | ||
|
|
bf06c5e25a | ||
|
|
6d3ca68adc | ||
|
|
40da04a139 | ||
|
|
81bae80881 | ||
|
|
e47809ad55 | ||
|
|
be30c7f74e | ||
|
|
01dbc4fc00 | ||
|
|
99525899e8 | ||
|
|
870332fb6d | ||
|
|
a97e51e5e2 | ||
|
|
eddfb6120c | ||
|
|
6500973c26 | ||
|
|
78bc8fdc24 | ||
|
|
3102b936a1 | ||
|
|
de679d396e | ||
|
|
371642de8b | ||
|
|
5870f67ab1 | ||
|
|
86739ab72c | ||
|
|
d1ba1579ee | ||
|
|
6ecf117f14 | ||
|
|
d8f118f4a0 | ||
|
|
76110b31fe | ||
|
|
7f2157c848 | ||
|
|
06820a34e3 | ||
|
|
8777696411 | ||
|
|
ce773a54f9 | ||
|
|
ee93a63b2f | ||
|
|
0382130cdc | ||
|
|
1862010c83 | ||
|
|
361bec4bde | ||
|
|
7d543e7b8f | ||
|
|
8ce2b50c32 | ||
|
|
0f00ee4327 | ||
|
|
f7b683b054 | ||
|
|
8fa3d35e1b | ||
|
|
d84b71a0a9 | ||
|
|
a1cc5e9289 | ||
|
|
f4dd23b4f4 | ||
|
|
a782b7f08a | ||
|
|
6e67205ba7 | ||
|
|
72628f51c7 | ||
|
|
e6be77a26c | ||
|
|
43dd26f988 | ||
|
|
fb1c018ecc | ||
|
|
7341b65d47 | ||
|
|
0d5a20cb05 | ||
|
|
420e099c2f | ||
|
|
8649a7a09f | ||
|
|
ed26903938 | ||
|
|
c907893aaf | ||
|
|
0532b01ed6 | ||
|
|
5eddd1ec39 | ||
|
|
06d5197518 | ||
|
|
eabc9c3c07 | ||
|
|
a7c1e824b8 | ||
|
|
cdfc81e048 | ||
|
|
9d8ff70bf7 | ||
|
|
31a6411712 | ||
|
|
8dec76d68b | ||
|
|
23a426bc56 | ||
|
|
80383d0360 | ||
|
|
53b3182afa | ||
|
|
dde8659175 | ||
|
|
dc653165b0 | ||
|
|
95f999508b | ||
|
|
9174e44c14 | ||
|
|
ca67ebfe9e | ||
|
|
13f7f63deb | ||
|
|
90ca8e224d | ||
|
|
245b4fe655 | ||
|
|
207d8962fa | ||
|
|
e60076cb25 | ||
|
|
b272d38cc5 | ||
|
|
8286a91388 | ||
|
|
b577875266 | ||
|
|
7ae7246a63 | ||
|
|
45d4d69a8d | ||
|
|
277cd95e91 | ||
|
|
7b4d892cb6 | ||
|
|
9210d8796e | ||
|
|
bfeb2af9cf | ||
|
|
2d2dc37599 | ||
|
|
aa9c561961 | ||
|
|
4acf3ecbc7 | ||
|
|
f7ba2cb042 | ||
|
|
75fa8d3861 | ||
|
|
e2caa75363 | ||
|
|
1910b2f535 | ||
|
|
28318a2528 | ||
|
|
7877ad5db2 | ||
|
|
9b469e3c59 | ||
|
|
76786c2904 | ||
|
|
156d095d86 | ||
|
|
754cb8a2b3 | ||
|
|
4c505019e1 | ||
|
|
8430d83828 | ||
|
|
6a122cef16 | ||
|
|
3754970367 | ||
|
|
443f232a77 | ||
|
|
e8a534049c | ||
|
|
8655537825 | ||
|
|
9513a2a667 | ||
|
|
b616f6ed69 | ||
|
|
b6306ef56e | ||
|
|
18ad4708eb | ||
|
|
8b6f093b0a | ||
|
|
2a59ad3b8c | ||
|
|
f4ea363e3a | ||
|
|
0aa00c0fbe | ||
|
|
8c091f4733 | ||
|
|
852ccdd42a | ||
|
|
68d766400e | ||
|
|
f8c3dfee69 | ||
|
|
2004ccf6bf | ||
|
|
351b62535d | ||
|
|
afbe695de3 | ||
|
|
996b4d8982 | ||
|
|
9cd3264af8 | ||
|
|
2d7fc2d5a6 | ||
|
|
4b24acd9f1 | ||
|
|
d29d33390a | ||
|
|
4d6469ffd8 | ||
|
|
b3def9bbf7 | ||
|
|
d9cf22cc5a | ||
|
|
1c51f79aba | ||
|
|
6a550cb83c | ||
|
|
e8c7dc2a5c | ||
|
|
988023d8bc | ||
|
|
b13b64028b | ||
|
|
6283056805 | ||
|
|
9f4702d025 | ||
|
|
22b2741ede | ||
|
|
3d785d7666 | ||
|
|
97573334cb | ||
|
|
a42b13d33c | ||
|
|
442d6ced85 | ||
|
|
e5e510dbab | ||
|
|
91c526913b | ||
|
|
39844d4710 | ||
|
|
c441671e8f | ||
|
|
ae7e54b14c | ||
|
|
ff3c8a493f | ||
|
|
5d3cf2f323 | ||
|
|
cadd13e50e | ||
|
|
e81bc5977d | ||
|
|
5fa0c17a78 | ||
|
|
a75a29c672 | ||
|
|
2534a73a59 | ||
|
|
64b01fda14 | ||
|
|
f05a6b110f | ||
|
|
aae46ae27b | ||
|
|
0d8b7ca851 | ||
|
|
38760f5b07 | ||
|
|
68a6aa2d6b | ||
|
|
0bc3af9834 | ||
|
|
dc0c165ce3 | ||
|
|
2c0dd6a4a0 | ||
|
|
ba58299f9f | ||
|
|
5422cf284f | ||
|
|
afb33f777a | ||
|
|
e6ada020f5 | ||
|
|
6de27e27ad | ||
|
|
8e2a60c9be | ||
|
|
40d0f115a6 | ||
|
|
2e8bd7f1b7 | ||
|
|
fc7ecc628d | ||
|
|
a5e335d7fc | ||
|
|
7be6336565 | ||
|
|
a9a054302d | ||
|
|
bbe20aa62c | ||
|
|
f7c88d61cc | ||
|
|
5d924e398e | ||
|
|
ac93437301 | ||
|
|
ed0e837058 | ||
|
|
6c3c79e491 | ||
|
|
cc5f9fe224 | ||
|
|
cb1aa919c6 | ||
|
|
8a805c9f41 | ||
|
|
d6b57bc73c | ||
|
|
d329d5aa52 | ||
|
|
a6ddec4212 | ||
|
|
4c2ed3d141 | ||
|
|
4bb70681e0 | ||
|
|
54cdd2b307 | ||
|
|
846e500945 | ||
|
|
5236788545 | ||
|
|
d34be4f321 | ||
|
|
f5cd704007 | ||
|
|
ff380b05fe | ||
|
|
ddac1a2b98 | ||
|
|
568a4d27a5 | ||
|
|
e7eede965d | ||
|
|
7a272c6b0d | ||
|
|
b96444c0ea | ||
|
|
b8c73bcafc | ||
|
|
0e8a52d67d | ||
|
|
db5b7e2cdf | ||
|
|
a9a7328240 | ||
|
|
c8a40c1936 | ||
|
|
5d7849ad7f | ||
|
|
c5f64b7598 | ||
|
|
0e77d33686 | ||
|
|
b6912ff3a5 | ||
|
|
d302a620e0 | ||
|
|
708ebf710e | ||
|
|
4144efb390 | ||
|
|
092d8d701d | ||
|
|
999be987b8 | ||
|
|
e250e9a4cf | ||
|
|
cc620f9fdb | ||
|
|
9076806d8b | ||
|
|
3836f447ee | ||
|
|
e3de0d3aad | ||
|
|
47323be2af | ||
|
|
b770eae51e | ||
|
|
d2c115f913 | ||
|
|
542b74bec7 | ||
|
|
e36b9ac8fd | ||
|
|
f030c71500 | ||
|
|
14f5485d1d | ||
|
|
b0e0a30968 | ||
|
|
a8a268bb81 | ||
|
|
1e18f761a7 | ||
|
|
d76bbb6c40 | ||
|
|
be63967070 | ||
|
|
089f456eb3 | ||
|
|
f20f19de19 | ||
|
|
b7296c802f | ||
|
|
ab381c1e22 | ||
|
|
4f732afd9f | ||
|
|
9f4f6472f9 | ||
|
|
9af3aa4881 | ||
|
|
f87803be34 | ||
|
|
12e4b8f53f | ||
|
|
b1b0dca146 | ||
|
|
89d64b1a47 | ||
|
|
cda7c783c3 | ||
|
|
65e9adc0e8 | ||
|
|
7f69908ff8 | ||
|
|
f60f4a412c | ||
|
|
b5c6266263 | ||
|
|
8ee776c51b | ||
|
|
a9f215a87e | ||
|
|
92d603dee6 | ||
|
|
cc0f37ba17 | ||
|
|
6274516032 | ||
|
|
603cf17f33 | ||
|
|
c725b1099d | ||
|
|
f3ed132d3e | ||
|
|
af2e2f5ed7 | ||
|
|
3e132fc2dd | ||
|
|
3dc1cb7e96 | ||
|
|
e53dc99784 | ||
|
|
b9636a8e43 | ||
|
|
324ee987c2 | ||
|
|
00c8156b24 | ||
|
|
743fcc320a | ||
|
|
6e988470c5 | ||
|
|
7f798dd711 | ||
|
|
6726b1b9ae | ||
|
|
2eb62acc96 | ||
|
|
b98552bc41 | ||
|
|
2967621174 | ||
|
|
b30361923f | ||
|
|
3143f3898a | ||
|
|
cd456aadac | ||
|
|
784d4017da | ||
|
|
f36bdaf5a7 | ||
|
|
83a781a5cb | ||
|
|
64e161a7f7 | ||
|
|
9384dc16a1 | ||
|
|
cbf7f1435f | ||
|
|
6b9728dde7 | ||
|
|
8c5482b3ea | ||
|
|
a2b615f7e8 | ||
|
|
3af7cd2661 | ||
|
|
8e3d340655 | ||
|
|
bf02e7fc0e | ||
|
|
94b66c797a | ||
|
|
f2e6839b8a | ||
|
|
906e5d9a44 | ||
|
|
72dbc7216a | ||
|
|
3586ef316a | ||
|
|
ca23cf7e28 | ||
|
|
ea21c734ff | ||
|
|
06ae29048d | ||
|
|
c0bb9cf185 | ||
|
|
ebf8257047 | ||
|
|
caf3ffe905 | ||
|
|
7c409af694 | ||
|
|
52bf46a127 | ||
|
|
a142972ea9 | ||
|
|
50b107e596 | ||
|
|
d0e7c8712f | ||
|
|
56708c6fb4 | ||
|
|
74f4bfde4a | ||
|
|
b1dc6282fe | ||
|
|
3f8be559f0 | ||
|
|
436100336e | ||
|
|
ed4475f3f5 | ||
|
|
874d2a93ca | ||
|
|
b98225ff8a | ||
|
|
2919fef5d1 | ||
|
|
510f19039b | ||
|
|
cab3e375b7 | ||
|
|
8ba94ff0c4 | ||
|
|
780bc6eec5 | ||
|
|
7a7a44400d | ||
|
|
62ac086e89 | ||
|
|
2464bd58eb | ||
|
|
71255518a1 | ||
|
|
0df8ead472 | ||
|
|
209e3656f4 | ||
|
|
f3627d1297 | ||
|
|
7808280b34 | ||
|
|
e422b84c73 | ||
|
|
29bc980c42 | ||
|
|
97fa54f9ce | ||
|
|
d36d62e4bd | ||
|
|
f605647060 | ||
|
|
0072e4bb3c | ||
|
|
3d3088c228 | ||
|
|
3cb679d7eb | ||
|
|
e61db954bf | ||
|
|
1559511ada | ||
|
|
88d24b4a1f | ||
|
|
247ec13dca | ||
|
|
3a30493983 | ||
|
|
ffcd068f87 | ||
|
|
6201345ba9 | ||
|
|
620508359f | ||
|
|
919c99b7a4 | ||
|
|
cd83ba4484 | ||
|
|
b3ea72e4d1 | ||
|
|
d36ba0f0ca | ||
|
|
bd537d750f | ||
|
|
4f91bcae43 | ||
|
|
d76a60502e | ||
|
|
6c6a121295 | ||
|
|
190bfdeebf | ||
|
|
ca42dcc068 | ||
|
|
dfa3ca995c | ||
|
|
0accbaef11 | ||
|
|
279b38bba7 | ||
|
|
98b2be76fc | ||
|
|
c5daf291bc | ||
|
|
1cac6c196f | ||
|
|
fa49fa674f | ||
|
|
56fe846d21 | ||
|
|
f9bb7d0c54 | ||
|
|
82494242f6 | ||
|
|
05c162292f | ||
|
|
b7e19163d0 | ||
|
|
d55bdffe2f | ||
|
|
c4e5249157 | ||
|
|
3e63c43386 | ||
|
|
e050a037cb | ||
|
|
bfe0517fdc | ||
|
|
2cfac8b1fd | ||
|
|
76ff26a403 | ||
|
|
549e34bbf4 | ||
|
|
92e4603c55 | ||
|
|
59b277af9d | ||
|
|
e4c6491bbf | ||
|
|
9c6a5d1f22 | ||
|
|
8e7dd3dc3b | ||
|
|
499fa72075 | ||
|
|
522d25b296 | ||
|
|
7a2c4df881 | ||
|
|
29066a4d86 | ||
|
|
967a70944d | ||
|
|
58d9e9169e | ||
|
|
2e91ce87e4 | ||
|
|
71a509772b | ||
|
|
3464fafb9f | ||
|
|
8f8c46ede4 | ||
|
|
a1ad6695ed | ||
|
|
1f5ace14ac | ||
|
|
5e2291fbe5 | ||
|
|
e039fe38ac | ||
|
|
66af559a53 | ||
|
|
9cd4b3f809 | ||
|
|
acf4e79711 | ||
|
|
1d88d93a9f | ||
|
|
09b12d15aa | ||
|
|
01eb8e213b | ||
|
|
5176eed72b | ||
|
|
0190c262f9 | ||
|
|
af9b016643 | ||
|
|
143b2be8af | ||
|
|
337bd0b9a6 | ||
|
|
cdcd52e680 | ||
|
|
e438f713c6 | ||
|
|
5594690d41 | ||
|
|
8a632dc62e | ||
|
|
4bf9fe787e | ||
|
|
2eafec42b4 | ||
|
|
d0db3c262b | ||
|
|
87a58323be | ||
|
|
8f2f39c7de | ||
|
|
2bb3422dc6 | ||
|
|
202cfcbd68 | ||
|
|
6db1357c34 | ||
|
|
9e83f50fd6 | ||
|
|
f8aafe8286 | ||
|
|
d53cade6ae | ||
|
|
4e94f97dc3 | ||
|
|
1b7dd640e8 | ||
|
|
3ce45a6410 | ||
|
|
0f39e477c5 | ||
|
|
389d1c1cb9 | ||
|
|
f0071326b6 | ||
|
|
55e03fc547 | ||
|
|
a69894ef8d | ||
|
|
10e074b823 | ||
|
|
fd6e014c51 | ||
|
|
9c19f7fb52 | ||
|
|
803bf59371 | ||
|
|
e48608e085 | ||
|
|
eab2fb739e | ||
|
|
3b14986bdf | ||
|
|
52dec6996a | ||
|
|
bf33eb0b52 | ||
|
|
b996c77e49 | ||
|
|
96713299d0 | ||
|
|
28258cb820 | ||
|
|
8f196ee82b | ||
|
|
fd8c0286c1 | ||
|
|
f52d07f49d | ||
|
|
6fbeed7f8f | ||
|
|
6c3042c1c1 | ||
|
|
56907aff69 | ||
|
|
5c4a9f33ca | ||
|
|
e502b133d6 | ||
|
|
d3268fd41d | ||
|
|
19f6ed9078 | ||
|
|
1f67b99159 | ||
|
|
4225f61923 | ||
|
|
54917c2337 | ||
|
|
598da901ab | ||
|
|
cac4576405 | ||
|
|
d68222d82d | ||
|
|
7d211b458f | ||
|
|
76da0b0d88 | ||
|
|
d2ef5b3c5c | ||
|
|
5afab04e30 | ||
|
|
45c3c12ed3 | ||
|
|
b783a1581b | ||
|
|
692ce6c313 | ||
|
|
158f643b1b | ||
|
|
0807f596b5 | ||
|
|
bbdbde5fa0 | ||
|
|
73f5b98c6a | ||
|
|
ce0fd07045 | ||
|
|
42bbd88053 | ||
|
|
e3dba335d6 | ||
|
|
6cf047f100 | ||
|
|
dd0adce112 | ||
|
|
869d896a81 | ||
|
|
0429fc942e | ||
|
|
eeebfdd21a | ||
|
|
b7a0ded96e | ||
|
|
ff176a9e4f | ||
|
|
60380305f5 | ||
|
|
d64c82f27f | ||
|
|
b663e99af6 | ||
|
|
5f5a505905 | ||
|
|
b20d2886be | ||
|
|
b5297573c9 | ||
|
|
6c12ffeaea | ||
|
|
d7d2a7fbad | ||
|
|
2c72343b44 | ||
|
|
ee620d5bd0 | ||
|
|
b172529021 | ||
|
|
49d33b4bc7 | ||
|
|
77d90dc2b5 | ||
|
|
d7a7065fd5 | ||
|
|
4af0003c79 | ||
|
|
3915248ed4 | ||
|
|
13b0ed0b27 | ||
|
|
dcbf2a0562 | ||
|
|
53f0234c3e | ||
|
|
5f164676bf | ||
|
|
b4cebdb6cc | ||
|
|
191ccd4002 | ||
|
|
7558bd3e38 | ||
|
|
c1d7e0562f | ||
|
|
ddca7275b2 | ||
|
|
8c76e41fde | ||
|
|
72628d3a5e | ||
|
|
2e8e9ee1c6 | ||
|
|
c520b0f616 | ||
|
|
67f4b01f01 | ||
|
|
b7e3a3f29f | ||
|
|
334a4fd338 | ||
|
|
924fdffe5e | ||
|
|
ba576cf8e7 | ||
|
|
7a9d9a7ba7 | ||
|
|
0b580e05ae | ||
|
|
b28493b383 | ||
|
|
5d0984f4fd | ||
|
|
d784df90b6 | ||
|
|
c349441d7e | ||
|
|
0b1ac9b978 | ||
|
|
370c55dfcd | ||
|
|
46af69f123 | ||
|
|
cfe4fac9dd | ||
|
|
d715750881 | ||
|
|
70f292a50f | ||
|
|
91cf1000ac | ||
|
|
8ae3bbdd86 | ||
|
|
4f65b92f3e | ||
|
|
870a748bae | ||
|
|
f19e6ef1eb | ||
|
|
8b835581b4 | ||
|
|
c95fad6e63 | ||
|
|
bbf7c3fd96 | ||
|
|
a6aa7dd5b9 | ||
|
|
23b633ec92 | ||
|
|
68123db906 | ||
|
|
46d48a2f5c | ||
|
|
14810640b7 | ||
|
|
53cd44e716 | ||
|
|
44f2aedc24 | ||
|
|
e80b693272 | ||
|
|
4d8d8cde8e | ||
|
|
eba7320df5 | ||
|
|
bad4b4d751 | ||
|
|
4e9f851074 | ||
|
|
1b69320c14 | ||
|
|
809350646f | ||
|
|
e5d447be8c | ||
|
|
957babcb24 | ||
|
|
03ff5c04b8 | ||
|
|
8c55d10d43 | ||
|
|
c06bf2ff5c | ||
|
|
063a4dc0ca | ||
|
|
2a238ee552 | ||
|
|
c82bb6a709 | ||
|
|
1f129d7363 | ||
|
|
c821eb7048 | ||
|
|
39a8abdb83 | ||
|
|
0ce87e5749 | ||
|
|
2ec317aee9 | ||
|
|
248ce5c8f9 | ||
|
|
f895c5b042 | ||
|
|
d9059b0c38 | ||
|
|
3bed8e9913 | ||
|
|
31848f6338 | ||
|
|
fe45df681a | ||
|
|
7f94f65f95 | ||
|
|
35c4a601b6 | ||
|
|
71da3b1939 | ||
|
|
0cee7fdce3 | ||
|
|
6bcb646fd1 | ||
|
|
3319413a67 | ||
|
|
9bfde0aa2f | ||
|
|
a26b22914b | ||
|
|
d838cbc2b6 | ||
|
|
99772d76b0 | ||
|
|
f148f53794 | ||
|
|
7cf5baf22e | ||
|
|
00f8377316 | ||
|
|
b9ff1fe73f | ||
|
|
83b86f3936 | ||
|
|
601c1908d0 | ||
|
|
10e8f96abe | ||
|
|
31b7a2fed6 | ||
|
|
9fbbfb5757 | ||
|
|
d60212e03f | ||
|
|
80faf15888 | ||
|
|
f9f11eb54b | ||
|
|
5567f54834 | ||
|
|
5418be142c | ||
|
|
ed4efb0805 | ||
|
|
7b18de7428 | ||
|
|
029d4e2e96 | ||
|
|
13f4bdc9b4 | ||
|
|
3e712d3702 | ||
|
|
3efa3f07d5 | ||
|
|
2fd97723b2 | ||
|
|
0f06d0d648 | ||
|
|
56c67310f2 | ||
|
|
85587a04e6 | ||
|
|
254b0113c3 | ||
|
|
914eeb3314 | ||
|
|
9a14f870dd | ||
|
|
99b63ca8e5 | ||
|
|
faa406d25d | ||
|
|
41b0f3c45e | ||
|
|
d7900926bf | ||
|
|
98cc7e7c59 | ||
|
|
9b899a5758 | ||
|
|
55c63a0a2a | ||
|
|
56c373a01a | ||
|
|
a05abc1767 | ||
|
|
1016f2638f | ||
|
|
3b8b44559a | ||
|
|
23af793acb | ||
|
|
d362465c77 | ||
|
|
0ef59d2288 | ||
|
|
59528addd7 | ||
|
|
b65746833b | ||
|
|
09eaa8e309 | ||
|
|
708383382f | ||
|
|
a344069fe8 | ||
|
|
bdfaef63f5 | ||
|
|
47b7dfffe5 | ||
|
|
584848087f | ||
|
|
340804cbdb | ||
|
|
a7e3a86619 | ||
|
|
08d44d4510 | ||
|
|
7d6d9c2240 | ||
|
|
45b4efd07f | ||
|
|
3678015d3f | ||
|
|
d18d8da1fe | ||
|
|
b9d4899121 | ||
|
|
7f1785d0de | ||
|
|
d2a94a51a1 | ||
|
|
482b24c9a4 | ||
|
|
287910778c | ||
|
|
06d145cbf8 | ||
|
|
86e018c2bc | ||
|
|
a9435a8871 | ||
|
|
db874a7b5c | ||
|
|
45fb3c75ed | ||
|
|
323a9f3430 | ||
|
|
8e1fc63570 | ||
|
|
f0bd4d6a2c | ||
|
|
4e59e2e59b | ||
|
|
03faa7804e | ||
|
|
69a03ffca0 | ||
|
|
009a0837d5 | ||
|
|
8425487239 | ||
|
|
27c469af58 | ||
|
|
fa7ef31685 | ||
|
|
d6acbaf5b4 | ||
|
|
0ff24367a6 | ||
|
|
f0abe76652 | ||
|
|
75b70a68ae | ||
|
|
fc2991c7ef | ||
|
|
211eca413e | ||
|
|
492df05874 | ||
|
|
651daefa44 | ||
|
|
a8673c536b | ||
|
|
bc4bc3579b | ||
|
|
0ddeab91cf | ||
|
|
9e0d0a279b | ||
|
|
cce4e4dfd1 | ||
|
|
7f94d9a816 | ||
|
|
c41d48e594 | ||
|
|
4f4dbfb95a | ||
|
|
616b4544d0 | ||
|
|
45821672b8 | ||
|
|
7781f25078 | ||
|
|
2cc6eb92f9 | ||
|
|
41ffa5503c | ||
|
|
0d394c0384 | ||
|
|
6a534776e0 | ||
|
|
f2a67f7a06 | ||
|
|
1fdd2470b6 | ||
|
|
d7845fc5ba | ||
|
|
eb38c046c2 | ||
|
|
bc0a53583d | ||
|
|
a99459476b | ||
|
|
8bdbeeb578 | ||
|
|
609f86163a | ||
|
|
0cfbb9285a | ||
|
|
c0ea6ba330 | ||
|
|
885f475768 | ||
|
|
37f6a3aa4a | ||
|
|
24857eb4d7 | ||
|
|
55a6083be3 | ||
|
|
1879dbe0d9 | ||
|
|
0f5bed2b20 | ||
|
|
b393e55a76 | ||
|
|
738f50a3ea | ||
|
|
fada3ef8b4 | ||
|
|
41329de6d2 | ||
|
|
5569e7de51 | ||
|
|
1ff98661fd | ||
|
|
71bd43eebd | ||
|
|
aa581ebea2 | ||
|
|
3dd871586f | ||
|
|
3fb1637c92 | ||
|
|
66ca4808dc | ||
|
|
4b5c0b2f7f | ||
|
|
cc0287243b | ||
|
|
77ba4437d2 | ||
|
|
7170458302 | ||
|
|
a944881a26 | ||
|
|
e7e864a4f7 | ||
|
|
726d737626 | ||
|
|
5b66b31816 | ||
|
|
d7e2f1d572 | ||
|
|
e8fea68e5e | ||
|
|
82a9f3af05 | ||
|
|
7c3694f7e5 | ||
|
|
efc3d7a002 | ||
|
|
52cee51063 | ||
|
|
51bcc7d768 | ||
|
|
ddb35cf2f3 | ||
|
|
8b07cdbf50 | ||
|
|
a48b15f7b5 | ||
|
|
4aa174ddd5 | ||
|
|
df6663c900 | ||
|
|
edc82c63e0 | ||
|
|
476de6f156 | ||
|
|
d28b2fe160 | ||
|
|
09d7358c48 | ||
|
|
c6b65dff51 | ||
|
|
a900e4f99f | ||
|
|
10a6f640ed | ||
|
|
96eeb9496c | ||
|
|
c0b771f683 | ||
|
|
1ee054ca44 | ||
|
|
7f65860391 | ||
|
|
cb30636abd | ||
|
|
a4cd1c315a | ||
|
|
b1faf7c293 | ||
|
|
cdd2498994 | ||
|
|
2040cb5d03 | ||
|
|
5c55176815 | ||
|
|
fe80a4909b | ||
|
|
96ec50549a | ||
|
|
22c656d70e | ||
|
|
c7006f0e70 | ||
|
|
8f7c2b2005 | ||
|
|
8bf0c05627 | ||
|
|
733dea75ad | ||
|
|
76bf8f52a3 | ||
|
|
96465858fa | ||
|
|
24450ad58d | ||
|
|
a4f1719ff3 | ||
|
|
47d89fcd4f | ||
|
|
a5746c4ec1 | ||
|
|
575f111831 | ||
|
|
a8a8e73121 | ||
|
|
e07e0b2f56 | ||
|
|
5f0be5b5cd | ||
|
|
b06e034906 | ||
|
|
8684cd3a6f | ||
|
|
c636f4796b | ||
|
|
92241b04f1 | ||
|
|
43c68170fe | ||
|
|
8c9921ab10 | ||
|
|
772e290caa | ||
|
|
e4cd6dbd56 | ||
|
|
baf58aadc7 | ||
|
|
69f0cf898e | ||
|
|
5938a4d682 | ||
|
|
9908cbc06f | ||
|
|
2e61d171bc | ||
|
|
76fe07917f | ||
|
|
0339c8af8c | ||
|
|
d3d1cf19e0 | ||
|
|
e8b033871d | ||
|
|
3d4e5a200f | ||
|
|
d8fc8514b1 | ||
|
|
fc8e82904a | ||
|
|
f8f8a5b3a3 | ||
|
|
90ff38a0d8 | ||
|
|
318570ecb3 | ||
|
|
04ec5b376d | ||
|
|
d5518bf5bc | ||
|
|
c4c6e5094b | ||
|
|
36c12f1bb4 | ||
|
|
9935447b51 | ||
|
|
07e2d9518d | ||
|
|
ce1d07a80f | ||
|
|
175a8bd2b7 | ||
|
|
46018d5d23 | ||
|
|
14b7618e88 | ||
|
|
9f2b98b844 | ||
|
|
b795291f8e | ||
|
|
81c63d0e9f | ||
|
|
719045b68e | ||
|
|
47d9a2bec1 | ||
|
|
fe3f310e2e | ||
|
|
8d460bed78 | ||
|
|
1f426f426e | ||
|
|
a9638b6e89 | ||
|
|
9019569316 | ||
|
|
6f6d3c23f4 | ||
|
|
eb8265942b | ||
|
|
b58d2c6a1c | ||
|
|
515a537cd1 | ||
|
|
9f41ec8010 | ||
|
|
e7ba4d8dc4 | ||
|
|
cb98b2c207 | ||
|
|
a435080fb8 | ||
|
|
61da0da99e | ||
|
|
ac4b736ab2 | ||
|
|
81e5de1741 | ||
|
|
49960a74b5 | ||
|
|
251d306600 | ||
|
|
50df1ec60a | ||
|
|
2628c71479 | ||
|
|
da2d57c8cf | ||
|
|
ef4eed2a2a | ||
|
|
d5be219ff7 | ||
|
|
7d89c53f6e | ||
|
|
cfeaf83e2b | ||
|
|
96b3cb85d3 | ||
|
|
dc143a8f5c | ||
|
|
f1b35969d3 | ||
|
|
ac62b63619 | ||
|
|
6a42ab6427 | ||
|
|
35726c4745 | ||
|
|
f99fd90097 | ||
|
|
ed5da425c8 | ||
|
|
b27ce68bae | ||
|
|
9807318c04 | ||
|
|
723bfc0fc2 | ||
|
|
cf58feee56 | ||
|
|
832fb12cfe | ||
|
|
922312472e | ||
|
|
59a4c9c6b4 | ||
|
|
e17cb80d7c | ||
|
|
582f8b9a8d | ||
|
|
18fa75b694 | ||
|
|
09b45f7b58 | ||
|
|
7f950d7cb7 | ||
|
|
f6f1672b4e | ||
|
|
1f3e0508c2 | ||
|
|
2cada19312 | ||
|
|
0feb9a335e | ||
|
|
cf3f55777b | ||
|
|
280d316c87 | ||
|
|
09416abf2d | ||
|
|
d24116ee54 | ||
|
|
a14aff6984 | ||
|
|
ce895d1f9b | ||
|
|
d4dc53d6b9 | ||
|
|
d9edfd5642 | ||
|
|
8f2dcf7f90 | ||
|
|
7b1a7a098b | ||
|
|
6bc860e956 | ||
|
|
078e9adf8b | ||
|
|
bc3b1dbd69 | ||
|
|
a2fa49cebc | ||
|
|
76bd01263f | ||
|
|
b7909c0bfe | ||
|
|
c19a57667e | ||
|
|
736e6a6709 | ||
|
|
275b170cc4 | ||
|
|
d1ec77294e | ||
|
|
e597f9f376 | ||
|
|
14c86fa67a | ||
|
|
910f7d361f | ||
|
|
9d02618ca6 | ||
|
|
a21884ae7b | ||
|
|
ccc383f3a7 | ||
|
|
39e00fac53 | ||
|
|
ff2c81060f | ||
|
|
d63cfbfbf9 | ||
|
|
86ee7433b3 | ||
|
|
b76b4be572 | ||
|
|
712389a015 | ||
|
|
06a230fe9f | ||
|
|
be40453080 | ||
|
|
7eda3642ee | ||
|
|
6d54a6fc18 | ||
|
|
ee02a035c9 | ||
|
|
7ca0cdd7ec | ||
|
|
7cc9019283 | ||
|
|
831fb092e8 | ||
|
|
455ada05af | ||
|
|
4ac81dfb30 | ||
|
|
96117a5679 | ||
|
|
ff30270d6c | ||
|
|
0d444dc136 | ||
|
|
e1a1e86485 | ||
|
|
1acf72525e | ||
|
|
68f69e179f | ||
|
|
4e9775118d | ||
|
|
9c3f335b04 | ||
|
|
cd3ee12f1d | ||
|
|
35378bcc6a | ||
|
|
b05585dcfe | ||
|
|
1f030ca8a3 | ||
|
|
ba6c56b358 | ||
|
|
698a4dcc8a | ||
|
|
703027d266 | ||
|
|
f6a3a85c77 | ||
|
|
dc91524e4b | ||
|
|
87ecfd734c | ||
|
|
3c5dffc581 | ||
|
|
3ebe550f15 | ||
|
|
88674be665 | ||
|
|
f2d09cd90d | ||
|
|
394c1ac533 | ||
|
|
4aee922977 | ||
|
|
b018450b0e | ||
|
|
7318a964ec | ||
|
|
24a56e15f7 | ||
|
|
7ca1016560 | ||
|
|
c6c78f699b | ||
|
|
c19d353c58 | ||
|
|
20256cbc15 | ||
|
|
d7896edb4e | ||
|
|
733531b6d5 | ||
|
|
e164806329 | ||
|
|
e2a24b6e79 | ||
|
|
1c09d68dfd | ||
|
|
0db6bf459f | ||
|
|
e4782ca3bf | ||
|
|
99a522dad7 | ||
|
|
a68a82e4e5 | ||
|
|
95de316a5d | ||
|
|
b49958b502 | ||
|
|
d4f032db53 | ||
|
|
8d68bae542 | ||
|
|
0142fd71e0 | ||
|
|
e6c5224571 | ||
|
|
61d7ab455f | ||
|
|
b90d59882c | ||
|
|
cd6555930b | ||
|
|
f8e61212a1 | ||
|
|
614a39f897 | ||
|
|
8b1cba45ad | ||
|
|
c5ead8c25b | ||
|
|
369e148f30 | ||
|
|
c644959444 | ||
|
|
2be6798f93 | ||
|
|
cdbb3d2774 | ||
|
|
647a14a1eb | ||
|
|
b0bf1ad5b0 | ||
|
|
106360491a | ||
|
|
6edc665a3d | ||
|
|
dd14c953a8 | ||
|
|
01b18d4c7c | ||
|
|
711f3ea3e3 | ||
|
|
fd49218f63 | ||
|
|
22d44896ad | ||
|
|
9f87cfb633 | ||
|
|
38417cbfb1 | ||
|
|
9a57aa45b0 | ||
|
|
bfcb5fae68 | ||
|
|
8a377fbd29 | ||
|
|
822df94949 | ||
|
|
731cc132f2 | ||
|
|
86e0a671ed | ||
|
|
8b8192cfa4 | ||
|
|
bcfb2cead5 | ||
|
|
f3d3ab8e05 | ||
|
|
7d5d6647dd | ||
|
|
75a4ad0829 | ||
|
|
3398334b3a | ||
|
|
7af91d15b2 | ||
|
|
eab4a5c29d | ||
|
|
e101739d76 | ||
|
|
203e146e5e | ||
|
|
21d493fc39 | ||
|
|
5737b74d34 | ||
|
|
13fb52f8ff | ||
|
|
19e4588ed7 | ||
|
|
25814aef23 | ||
|
|
7b67cfadd0 | ||
|
|
54b444720d | ||
|
|
48a866144e | ||
|
|
f66ac0c858 | ||
|
|
143852efc0 | ||
|
|
1c627fbd0a | ||
|
|
6cdaeb94d4 | ||
|
|
6e2871232f | ||
|
|
6098d364b6 | ||
|
|
931cb604b1 | ||
|
|
6915797fa8 | ||
|
|
11dbf2fc38 | ||
|
|
824f38c031 | ||
|
|
bb53eb76af | ||
|
|
eeaa2277ea | ||
|
|
cfef379926 | ||
|
|
ce688d6594 | ||
|
|
c6c09f77f8 | ||
|
|
1de4dea98c | ||
|
|
e616b6361e | ||
|
|
670ce73a78 | ||
|
|
467e6fd167 | ||
|
|
896f88361e | ||
|
|
6011ef0f4d | ||
|
|
ce24920229 | ||
|
|
5ce9206eb9 | ||
|
|
e80f661db8 | ||
|
|
5a0f94e585 | ||
|
|
691f1f7731 | ||
|
|
94f69ca430 | ||
|
|
c76dce9677 | ||
|
|
8760bb9e0c | ||
|
|
593bb64646 | ||
|
|
b247f77228 | ||
|
|
aeadcd6319 | ||
|
|
39548f001a | ||
|
|
d43b815145 | ||
|
|
3eeefd54b1 | ||
|
|
befa40a9dc | ||
|
|
e2c97aef51 | ||
|
|
59847bba27 | ||
|
|
ac3d398b56 | ||
|
|
24119ac6bd | ||
|
|
612045f8e1 | ||
|
|
62e67fd6c0 | ||
|
|
922cb29cfe | ||
|
|
327070c7e5 | ||
|
|
ed9ca23065 | ||
|
|
12eb8057cb | ||
|
|
ab834d21f1 | ||
|
|
2f88444e9a | ||
|
|
8343d55b3d | ||
|
|
66d720025d | ||
|
|
739240a9d1 | ||
|
|
7e52028a83 | ||
|
|
efc8a6ba16 | ||
|
|
1d77be00c4 | ||
|
|
ab31c5b251 | ||
|
|
4a71c59d2b | ||
|
|
baeed3c40f | ||
|
|
8306e43fcb | ||
|
|
175e89dac5 | ||
|
|
d8aa1541f0 | ||
|
|
ed1251fa35 | ||
|
|
0eeaaaf0ae | ||
|
|
f5662f41e7 | ||
|
|
a4037b279b | ||
|
|
36440d1ec6 | ||
|
|
470212919f | ||
|
|
5d4460c9b5 | ||
|
|
6ebd91a0c7 | ||
|
|
f0ecd0e64f | ||
|
|
66bb4938ea | ||
|
|
e72c1e7e46 | ||
|
|
3857cb6fca |
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 1996-2003 Internet Software Consortium.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
$Id: COPYRIGHT,v 1.14 2008/01/02 23:47:01 tbox Exp $
|
||||
$Id: COPYRIGHT,v 1.14.176.2 2010/01/07 23:47:36 tbox Exp $
|
||||
|
||||
Portions Copyright (C) 1996-2001 Nominum, Inc.
|
||||
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
2796. [bug] Missing dns_rdataset_disassociate() call in
|
||||
dns_nsec3_delnsec3sx(). [RT #20681]
|
||||
|
||||
2795. [cleanup] Add text to differentiate "update with no effect"
|
||||
log messages. [RT #18889]
|
||||
|
||||
2794. [bug] Install <isc/namespace.h>. [RT #20677]
|
||||
|
||||
2791. [bug] The installation of isc-config.sh was broken.
|
||||
[RT #20667]
|
||||
|
||||
2788. [bug] dnssec-signzone could sign with keys that were
|
||||
not requested [RT #20625]
|
||||
|
||||
2787. [bug] Spurious log message when zone keys were
|
||||
dynamically reconfigured. [RT #20659]
|
||||
|
||||
2785. [bug] Revoked keys could fail to self-sign [RT #20652]
|
||||
|
||||
2781. [bug] Inactive keys could be used for signing. [RT #20649]
|
||||
|
||||
2780. [bug] dnssec-keygen -A none didn't properly unset the
|
||||
activation date in all cases. [RT #20648]
|
||||
|
||||
2779. [bug] Dynamic key revokation could fail. [RT #20644]
|
||||
|
||||
2778. [bug] dnssec-signzone could fail when a key was revoked
|
||||
without deleting the unrevoked version. [RT #20638]
|
||||
|
||||
2763. [bug] "rndc sign" didn't create an NSEC chain. [RT #20591]
|
||||
|
||||
2761. [cleanup] Enable internal symbol table for backtrace only for
|
||||
systems that are known to work. Currently, BSD
|
||||
variants, Linux and Solaris are supported. [RT# 20202]
|
||||
|
||||
2775. [bug] Accept RSASHA256 and RSASHA512 as NSEC3 compatible
|
||||
in dnssec-keyfromlabel. [RT #20643]
|
||||
|
||||
2773. [bug] In autosigned zones, the SOA could be signed
|
||||
with the KSK. [RT #20628]
|
||||
|
||||
2771. [bug] dnssec-signzone: DNSKEY records could be
|
||||
corrupted when importing from key files [RT #20624]
|
||||
|
||||
2770. [cleanup] Add log messages to resolver.c to indicate events
|
||||
causing FORMERR responses. [RT #20526]
|
||||
|
||||
2769. [cleanup] Change #2742 was incomplete. [RT #19589]
|
||||
|
||||
2768. [bug] dnssec-signzone: -S no longer implies -g [RT #20568]
|
||||
|
||||
2767. [bug] named could crash on startup if a zone was
|
||||
configured with auto-dnssec and there was no
|
||||
key-directory. [RT #20615]
|
||||
|
||||
2766. [bug] isc_socket_fdwatchpoke() should only update the
|
||||
socketmgr state if the socket is not pending on a
|
||||
read or write. [RT #20603]
|
||||
|
||||
2764. [bug] "rndc-confgen -a" could trigger a REQUIRE. [RT #20610]
|
||||
|
||||
2756. [bug] Fixed corrupt logfile message in update.c. [RT# 20597]
|
||||
|
||||
2753. [bug] Removed an unnecessary warning that could appear when
|
||||
building an NSEC chain. [RT #20589]
|
||||
|
||||
2752. [bug] Locking violation. [RT #20587]
|
||||
|
||||
2751. [bug] Fixed a memory leak in dnssec-keyfromlabel. [RT #20588]
|
||||
|
||||
2746. [port] hpux: address signed/unsigned expansion mismatch of
|
||||
dns_rbtnode_t.nsec. [RT #20542]
|
||||
|
||||
2745. [bug] configure script didn't probe the return type of
|
||||
gai_strerror(3) correctly. [RT #20573]
|
||||
|
||||
2774. [bug] Existing cache DB wasn't being reused after
|
||||
reconfiguration. [RT #20629]
|
||||
|
||||
2742. [cleanup] Clarify some DNSSEC-related log messages in
|
||||
validator.c. [RT #19589]
|
||||
|
||||
2739. [cleanup] Clean up API for initializing and clearing trust
|
||||
anchors for a view. [RT #20211]
|
||||
|
||||
2735. [bug] dnssec-signzone could fail to read keys
|
||||
that were specified on the command line with
|
||||
full paths, but weren't in the current
|
||||
directory. [RT #20421]
|
||||
|
||||
2734. [port] cygwin: arpaname did not compile. [RT #20473]
|
||||
|
||||
2733. [cleanup] Clean up coding style in pkcs11-* tools. [RT #20355]
|
||||
|
||||
2728. [bug] dssec-keygen, dnssec-keyfromlabel and
|
||||
dnssec-signzone now warn immediately if asked to
|
||||
write into a nonexistent directory. [RT #20278]
|
||||
|
||||
2725. [doc] Added information about the file "managed-keys.bind"
|
||||
to the ARM. [RT #20235]
|
||||
|
||||
2724. [bug] Updates to a existing node in secure zone using NSEC
|
||||
were failing. [RT #20448]
|
||||
|
||||
2720. [bug] RFC 5011 trust anchor updates could trigger an
|
||||
assert if the DNSKEY record was unsigned. [RT #20406]
|
||||
|
||||
2717. [bug] named failed to update the NSEC/NSEC3 record when
|
||||
the last private type record was removed as a result
|
||||
of completing the signing the zone with a key.
|
||||
[RT #20399]
|
||||
|
||||
2711. [port] win32: Add the bin/pkcs11 tools into the full
|
||||
build. [RT #20372]
|
||||
|
||||
2694. [bug] Reduce default NSEC3 iterations from 100 to 10.
|
||||
[RT #19970]
|
||||
|
||||
2693. [port] Add some noreturn attributes. [RT #20257]
|
||||
|
||||
2687. [bug] Fixed dnssec-signzone -S handling of revoked keys.
|
||||
Also, added warnings when revoking a ZSK, as this is
|
||||
not defined by protocol (but is legal). [RT #19943]
|
||||
|
||||
2684. [cleanup] dig: formalize +ad and +cd as synonyms for
|
||||
+adflag and +cdflag. [RT #19305]
|
||||
|
||||
2682. [bug] "configure --enable-symtable=all" failed to
|
||||
build. [RT #20282]
|
||||
|
||||
2676. [bug] --with-export-installdir should have been
|
||||
--with-export-includedir. [RT #20252]
|
||||
|
||||
2675. [bug] dnssec-signzone could crash if the key directory
|
||||
did not exist. [RT #20232]
|
||||
|
||||
2674. [bug] "dnssec-lookaside auto;" crashed if named was built
|
||||
without openssl. [RT #20231]
|
||||
|
||||
2673. [bug] The managed-keys.bind zone file could fail to
|
||||
load due to a spurious result from sync_keyzone()
|
||||
[RT #20045]
|
||||
|
||||
2671. [bug] Add support for PKCS#11 providers not returning
|
||||
the public exponent in RSA private keys
|
||||
(OpenCryptoki for instance) in
|
||||
dnssec-keyfromlabel. [RT #19294]
|
||||
|
||||
2664. [bug] create_keydata() and minimal_update() in zone.c
|
||||
didn't properly check return values for some
|
||||
functions. [RT #19956]
|
||||
|
||||
2658. [bug] dnssec-settime and dnssec-revoke didn't process
|
||||
key file paths correctly. [RT #20078]
|
||||
|
||||
2657. [cleanup] Lower "journal file <path> does not exist, creating it"
|
||||
log level to debug 1. [RT #20058]
|
||||
|
||||
2654. [bug] Improve error reporting on duplicated names for
|
||||
deny-answer-xxx. [RT #20164]
|
||||
|
||||
2651. [bug] Dates could print incorrectly in K*.key files on
|
||||
64-bit systems. [RT #20076]
|
||||
|
||||
2650. [bug] Assertion failure in dnssec-signzone when trying
|
||||
to read keyset-* files. [RT #20075]
|
||||
|
||||
2644. [bug] Change #2628 caused a regression on some systems;
|
||||
named was unable to write the PID file and would
|
||||
fail on startup. [RT #20001]
|
||||
|
||||
2641. [bug] Fixed an error in parsing update-policy syntax,
|
||||
added a regression test to check it. [RT #20007]
|
||||
|
||||
2638. [bug] Install arpaname. [RT #19957]
|
||||
|
||||
2634. [port] win32: Add support for libxml2, enable
|
||||
statschannel. [RT #19773]
|
||||
|
||||
2631. [bug] Handle "//", "/./" and "/../" in mkdirpath().
|
||||
[RT #19926 ]
|
||||
|
||||
2629. [port] Check for seteuid()/setegid(), use setresuid()/
|
||||
setresgid() if not present. [RT #19932]
|
||||
|
||||
2628. [port] linux: Allow /var/run/named/named.pid to be opened
|
||||
at startup with reduced capabilities in operation.
|
||||
[RT #19884]
|
||||
|
||||
2627. [bug] Named aborted if the same key was included in
|
||||
trusted-keys more than once. [RT #19918]
|
||||
|
||||
2626. [bug] Multiple trusted-keys could trigger an assertion
|
||||
failure. [RT #19914]
|
||||
|
||||
2622. [bug] Printing of named.conf grammar was broken. [RT #19919]
|
||||
|
||||
2600. [doc] ARM: miscellaneous reformatting for different
|
||||
page widths. [RT #19574]
|
||||
|
||||
2566. [cleanup] Clarify logged message when an insecure DNSSEC
|
||||
response arrives from a zone thought to be secure:
|
||||
"insecurity proof failed" instead of "not
|
||||
insecure". [RT #19400]
|
||||
@@ -1,6 +1,6 @@
|
||||
Frequently Asked Questions about BIND 9
|
||||
|
||||
Copyright © 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright © 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
Copyright © 2000-2003 Internet Software Consortium.
|
||||
|
||||
@@ -153,24 +153,29 @@ A: BIND 9.3 and later: Use TSIG to select the appropriate view.
|
||||
|
||||
Master 10.0.1.1:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
view "internal" {
|
||||
match-clients { !key external; 10.0.1/24; };
|
||||
match-clients { !key external; // reject message ment for the
|
||||
// external view.
|
||||
10.0.1/24; }; // accept from these addresses.
|
||||
...
|
||||
};
|
||||
view "external" {
|
||||
match-clients { key external; any; };
|
||||
server 10.0.1.2 { keys external; };
|
||||
server 10.0.1.2 { keys external; }; // tag messages from the
|
||||
// external view to the
|
||||
// other servers for the
|
||||
// view.
|
||||
recursion no;
|
||||
...
|
||||
};
|
||||
|
||||
Slave 10.0.1.2:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
view "internal" {
|
||||
match-clients { !key external; 10.0.1/24; };
|
||||
@@ -220,13 +225,13 @@ A: You choose one view to be master and the second a slave and transfer
|
||||
|
||||
Master 10.0.1.1:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
|
||||
key "mykey" {
|
||||
algorithm hmac-md5;
|
||||
secret "yyyyyyyy";
|
||||
algorithm hmac-sha256;
|
||||
secret "yyyyyyyyyyyyyyyyyyyyyyyy";
|
||||
};
|
||||
|
||||
view "internal" {
|
||||
@@ -239,7 +244,7 @@ A: You choose one view to be master and the second a slave and transfer
|
||||
type master;
|
||||
file "internal/example.db";
|
||||
allow-update { key mykey; };
|
||||
notify-also { 10.0.1.1; };
|
||||
also-notify { 10.0.1.1; };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -249,7 +254,7 @@ A: You choose one view to be master and the second a slave and transfer
|
||||
type slave;
|
||||
file "external/example.db";
|
||||
masters { 10.0.1.1; };
|
||||
transfer-source { 10.0.1.1; };
|
||||
transfer-source 10.0.1.1;
|
||||
// allow-update-forwarding { any; };
|
||||
// allow-notify { ... };
|
||||
};
|
||||
@@ -596,6 +601,13 @@ A: No. The BIND 9 bug database is kept closed for a number of reasons.
|
||||
that have been fixed post release. That is as close as we can get to
|
||||
providing a bug database.
|
||||
|
||||
Q: Why do queries for NSEC3 records fail to return the NSEC3 record?
|
||||
|
||||
A: NSEC3 records are strictly meta data and can only be returned in the
|
||||
authority section. This is done so that signing the zone using NSEC3
|
||||
records does not bring names into existence that do not exist in the
|
||||
unsigned version of the zone.
|
||||
|
||||
5. Operating-System Specific Questions
|
||||
|
||||
5.1. HPUX
|
||||
@@ -772,6 +784,22 @@ A: Red Hat Security Enhanced Linux (SELinux) policy security protections :
|
||||
See these man-pages for more information : selinux(8), named_selinux
|
||||
(8), chcon(1), setsebool(8)
|
||||
|
||||
Q: I'm running BIND on Ubuntu -
|
||||
|
||||
Why can't named update slave zone database files?
|
||||
|
||||
Why can't named create DDNS journal files or update the master zones
|
||||
from journals?
|
||||
|
||||
Why can't named create custom log files?
|
||||
|
||||
A: Ubuntu uses AppArmor <http://en.wikipedia.org/wiki/AppArmor> in
|
||||
addition to normal file system permissions to protect the system.
|
||||
|
||||
Adjust the paths to use those specified in /etc/apparmor.d/
|
||||
usr.sbin.named or adjust /etc/apparmor.d/usr.sbin.named to allow named
|
||||
to write at the location specified in named.conf.
|
||||
|
||||
Q: Listening on individual IPv6 interfaces does not work.
|
||||
|
||||
A: This is usually due to "/proc/net/if_inet6" not being available in the
|
||||
@@ -818,7 +846,6 @@ A: /dev/random is not configured. Use rndcontrol(8) to tell the kernel to
|
||||
use certain interrupts as a source of random events. You can make this
|
||||
permanent by setting rand_irqs in /etc/rc.conf.
|
||||
|
||||
/etc/rc.conf
|
||||
rand_irqs="3 14 15"
|
||||
|
||||
See also <http://people.freebsd.org/~dougb/randomness.html>.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: FAQ.xml,v 1.44 2008/08/27 02:34:48 marka Exp $ -->
|
||||
<!-- $Id: FAQ.xml,v 1.46.56.9 2010/01/20 23:47:43 tbox Exp $ -->
|
||||
|
||||
<article class="faq">
|
||||
<title>Frequently Asked Questions about BIND 9</title>
|
||||
@@ -28,6 +28,8 @@
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -318,24 +320,29 @@ Slave: 10.0.1.3 (internal), 10.0.1.4 (external, IP alias)
|
||||
<programlisting>
|
||||
Master 10.0.1.1:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
view "internal" {
|
||||
match-clients { !key external; 10.0.1/24; };
|
||||
match-clients { !key external; // reject message ment for the
|
||||
// external view.
|
||||
10.0.1/24; }; // accept from these addresses.
|
||||
...
|
||||
};
|
||||
view "external" {
|
||||
match-clients { key external; any; };
|
||||
server 10.0.1.2 { keys external; };
|
||||
server 10.0.1.2 { keys external; }; // tag messages from the
|
||||
// external view to the
|
||||
// other servers for the
|
||||
// view.
|
||||
recursion no;
|
||||
...
|
||||
};
|
||||
|
||||
Slave 10.0.1.2:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
view "internal" {
|
||||
match-clients { !key external; 10.0.1/24; };
|
||||
@@ -423,13 +430,13 @@ named-checkzone example.com tmp</programlisting>
|
||||
<programlisting>
|
||||
Master 10.0.1.1:
|
||||
key "external" {
|
||||
algorithm hmac-md5;
|
||||
secret "xxxxxxxx";
|
||||
algorithm hmac-sha256;
|
||||
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
};
|
||||
|
||||
key "mykey" {
|
||||
algorithm hmac-md5;
|
||||
secret "yyyyyyyy";
|
||||
algorithm hmac-sha256;
|
||||
secret "yyyyyyyyyyyyyyyyyyyyyyyy";
|
||||
};
|
||||
|
||||
view "internal" {
|
||||
@@ -442,7 +449,7 @@ Master 10.0.1.1:
|
||||
type master;
|
||||
file "internal/example.db";
|
||||
allow-update { key mykey; };
|
||||
notify-also { 10.0.1.1; };
|
||||
also-notify { 10.0.1.1; };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -452,7 +459,7 @@ Master 10.0.1.1:
|
||||
type slave;
|
||||
file "external/example.db";
|
||||
masters { 10.0.1.1; };
|
||||
transfer-source { 10.0.1.1; };
|
||||
transfer-source 10.0.1.1;
|
||||
// allow-update-forwarding { any; };
|
||||
// allow-notify { ... };
|
||||
};
|
||||
@@ -1056,6 +1063,23 @@ empty:
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>
|
||||
Why do queries for NSEC3 records fail to return the NSEC3 record?
|
||||
</para>
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
NSEC3 records are strictly meta data and can only be
|
||||
returned in the authority section. This is done so that
|
||||
signing the zone using NSEC3 records does not bring names
|
||||
into existence that do not exist in the unsigned version
|
||||
of the zone.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
</qandadiv> <!-- General Questions -->
|
||||
|
||||
<qandadiv><title>Operating-System Specific Questions</title>
|
||||
@@ -1359,6 +1383,36 @@ named_cache_t: for files modifiable by named - $ROOTDIR/var/{tmp,named/{slaves,d
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>
|
||||
I'm running BIND on Ubuntu -
|
||||
</para>
|
||||
<para>
|
||||
Why can't named update slave zone database files?
|
||||
</para>
|
||||
<para>
|
||||
Why can't named create DDNS journal files or update
|
||||
the master zones from journals?
|
||||
</para>
|
||||
<para>
|
||||
Why can't named create custom log files?
|
||||
</para>
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Ubuntu uses AppArmor <ulink url="http://en.wikipedia.org/wiki/AppArmor">
|
||||
<http://en.wikipedia.org/wiki/AppArmor></ulink> in
|
||||
addition to normal file system permissions to protect the system.
|
||||
</para>
|
||||
<para>
|
||||
Adjust the paths to use those specified in /etc/apparmor.d/usr.sbin.named
|
||||
or adjust /etc/apparmor.d/usr.sbin.named to allow named to write at the
|
||||
location specified in named.conf.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>
|
||||
@@ -1453,7 +1507,6 @@ options {
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
/etc/rc.conf
|
||||
rand_irqs="3 14 15"</programlisting>
|
||||
</informalexample>
|
||||
<para>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
dnssec-signzone was designed so that it could sign a zone partially, using
|
||||
only a subset of the DNSSEC keys needed to produce a fully-signed zone.
|
||||
This permits a zone administrator, for example, to sign a zone with one
|
||||
key on one machine, move the resulting partially-signed zone to a second
|
||||
machine, and sign it again with a second key.
|
||||
|
||||
An unfortunate side-effect of this flexibility is that dnssec-signzone
|
||||
does not check to make sure it's signing a zone with any valid keys at
|
||||
all. An attempt to sign a zone without any keys will appear to succeed,
|
||||
producing a "signed" zone with no signatures. There is no warning issued
|
||||
when a zone is not signed.
|
||||
|
||||
This will be corrected in a future release. In the meantime, ISC
|
||||
recommends examining the output of dnssec-signzone to confirm that
|
||||
the zone is properly signed by all keys before using it.
|
||||
+16
-10
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 1998-2002 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.50 2007/09/03 00:36:53 marka Exp $
|
||||
# $Id: Makefile.in,v 1.52.48.2 2009/02/20 23:47:23 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -21,17 +21,16 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_VERSION@
|
||||
|
||||
SUBDIRS = make lib bin doc @LIBBIND@
|
||||
SUBDIRS = make lib bin doc
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
MANPAGES = isc-config.sh.1
|
||||
|
||||
HTMLPAGES = isc-config.sh.html
|
||||
|
||||
MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
distclean::
|
||||
@if [ "X@LIBBIND@" = "X" ] ; then \
|
||||
i=lib/bind; \
|
||||
echo "making $@ in `pwd`/$$i"; \
|
||||
(cd $$i; ${MAKE} ${MAKEDEFS} $@) || exit 1; \
|
||||
fi
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
distclean::
|
||||
rm -f config.cache config.h config.log config.status TAGS
|
||||
@@ -43,12 +42,19 @@ distclean::
|
||||
maintainer-clean::
|
||||
rm -f configure
|
||||
|
||||
docclean manclean maintainer-clean::
|
||||
rm -f ${MANOBJS}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
installdirs:
|
||||
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
|
||||
${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
|
||||
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
|
||||
|
||||
install:: isc-config.sh installdirs
|
||||
${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}
|
||||
${INSTALL_DATA} ${srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
|
||||
|
||||
tags:
|
||||
rm -f TAGS
|
||||
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
|
||||
DNSSEC and UPDATE
|
||||
|
||||
Converting from insecure to secure
|
||||
|
||||
As of BIND 9.6.0 it is possible to move a zone between being insecure
|
||||
to secure and back again. A secure zone can be using NSEC or NSEC3.
|
||||
|
||||
To move a zone from insecure to secure you need to configure named
|
||||
so that it can see the K* files which contain the public and private
|
||||
parts of the keys that will be used to sign the zone. These files
|
||||
will have been generated by dnssec-keygen. You can do this by
|
||||
placing them in the key-directory as specified in named.conf.
|
||||
|
||||
zone example.net {
|
||||
type master;
|
||||
allow-update { .... };
|
||||
file "dynamic/example.net/example.net";
|
||||
key-directory "dynamic/example.net";
|
||||
};
|
||||
|
||||
Assuming one KSK and one ZSK DNSKEY key have been generated. Then
|
||||
this will cause the zone to be signed with the ZSK and the DNSKEY
|
||||
RRset to be signed with the KSK DNSKEY. A NSEC chain will also be
|
||||
generated as part of the initial signing process.
|
||||
|
||||
% nsupdate
|
||||
> ttl 3600
|
||||
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
|
||||
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
|
||||
> send
|
||||
|
||||
While the update request will complete almost immediately the zone
|
||||
will not be completely signed until named has had time to walk the
|
||||
zone and generate the NSEC and RRSIG records. Initially the NSEC
|
||||
record at the zone apex will have the OPT bit set. When the NSEC
|
||||
chain is complete the OPT bit will be cleared. Additionally when
|
||||
the zone is fully signed the private type (default TYPE65534) records
|
||||
will have a non zero value for the final octet.
|
||||
|
||||
The private type record has 5 octets.
|
||||
algorithm (octet 1)
|
||||
key id in network order (octet 2 and 3)
|
||||
removal flag (octet 4)
|
||||
complete flag (octet 5)
|
||||
|
||||
If you wish to go straight to a secure zone using NSEC3 you should
|
||||
also add a NSEC3PARAM record to the update request with the flags
|
||||
field set to indicate whether the NSEC3 chain will have the OPTOUT
|
||||
bit set or not.
|
||||
|
||||
% nsupdate
|
||||
> ttl 3600
|
||||
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
|
||||
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
|
||||
> update add example.net NSEC3PARAM 1 1 100 1234567890
|
||||
> send
|
||||
|
||||
Again the update request will complete almost immediately however the
|
||||
NSEC3PARAM record will have additional flag bits set indicating that the
|
||||
NSEC3 chain is under construction. When the NSEC3 chain is complete the
|
||||
flags field will be set to zero.
|
||||
|
||||
While the initial signing and NSEC/NSEC3 chain generation is happening
|
||||
other updates are possible.
|
||||
|
||||
DNSKEY roll overs via UPDATE
|
||||
|
||||
It is possible to perform key rollovers via update. You need to
|
||||
add the K* files for the new keys so that named can find them. You
|
||||
can then add the new DNSKEY RRs via update. Named will then cause
|
||||
the zone to be signed with the new keys. When the signing is
|
||||
complete the private type records will be updated so that the last
|
||||
octet is non zero.
|
||||
|
||||
If this is for a KSK you need to inform the parent and any trust
|
||||
anchor repositories of the new KSK.
|
||||
|
||||
You should then wait for the maximum TLL in the zone before removing the
|
||||
old DNSKEY. If it is a KSK that is being updated you also need to wait
|
||||
for the DS RRset in the parent to be updated and its TTL to expire.
|
||||
This ensures that all clients will be able to verify at least a signature
|
||||
when you remove the old DNSKEY.
|
||||
|
||||
The old DNSKEY can be removed via UPDATE. Take care to specify
|
||||
the correct key. Named will clean out any signatures generated by
|
||||
the old key after the update completes.
|
||||
|
||||
NSEC3PARAM rollovers via UPDATE.
|
||||
|
||||
Add the new NSEC3PARAM record via update. When the new NSEC3 chain
|
||||
has been generated the NSEC3PARAM flag field will be zero. At this
|
||||
point you can remove the old NSEC3PARAM record. The old chain will
|
||||
be removed after the update request completes.
|
||||
|
||||
Converting from NSEC to NSEC3
|
||||
|
||||
To do this you just need to add a NSEC3PARAM record. When the
|
||||
conversion is complete the NSEC chain will have been removed and
|
||||
the NSEC3PARAM record will have a zero flag field. The NSEC3 chain
|
||||
will be generated before the NSEC chain is destroyed.
|
||||
|
||||
Converting from NSEC3 to NSEC
|
||||
|
||||
To do this remove all NSEC3PARAM records with a zero flag field. The
|
||||
NSEC chain will be generated before the NSEC3 chain is removed.
|
||||
|
||||
Converting from secure to insecure
|
||||
|
||||
To do this remove all the DNSKEY records. Any NSEC or NSEC3 chains
|
||||
will be removed as well as associated NSEC3PARAM records. This will
|
||||
take place after the update requests completes.
|
||||
|
||||
Periodic re-signing.
|
||||
|
||||
Named will periodically re-sign RRsets which have not been re-signed
|
||||
as a result of some update action. The signature lifetimes will
|
||||
be adjusted so as to spread the re-sign load over time rather than
|
||||
all at once.
|
||||
|
||||
NSEC3 and OPTOUT
|
||||
|
||||
Named only supports creating new NSEC3 chains where all the NSEC3
|
||||
records in the zone have the same OPTOUT state. Named supports
|
||||
UPDATES to zones where the NSEC3 records in the chain have mixed
|
||||
OPTOUT state. Named does not support changing the OPTOUT state of
|
||||
an individual NSEC3 record, the entire chain needs to be changed if
|
||||
the OPTOUT state of an individual NSEC3 needs to be changed.
|
||||
@@ -42,6 +42,51 @@ BIND 9
|
||||
Stichting NLnet - NLnet Foundation
|
||||
Nominum, Inc.
|
||||
|
||||
BIND 9.6-ESV (Extended Support Version)
|
||||
|
||||
BIND 9.6-ESV will be supported until March 31, 2013, at
|
||||
which time you will need to upgrade to the current release
|
||||
of BIND.
|
||||
|
||||
BIND 9.6.2
|
||||
|
||||
BIND 9.6.2 is a maintenance release, fixing bugs in 9.6.1.
|
||||
It also introduces support for the SHA-2 DNSSEC algorithms,
|
||||
RSASHA256 and RSASHA512.
|
||||
|
||||
Known issues in this release:
|
||||
|
||||
- A validating resolver that has been incorrectly configured with
|
||||
an invalid trust anchor will be unable to resolve names covered
|
||||
by that trust anchor. In all current versions of BIND 9, such a
|
||||
resolver will also generate significant unnecessary DNS traffic
|
||||
while trying to validate. The latter problem will be addressed
|
||||
in future BIND 9 releases. In the meantime, to avoid these
|
||||
problems, exercise caution when configuring "trusted-keys":
|
||||
make sure all keys are correct and current when you add them,
|
||||
and update your configuration in a timely manner when keys
|
||||
roll over.
|
||||
|
||||
BIND 9.6.1
|
||||
|
||||
BIND 9.6.1 is a maintenance release, fixing bugs in 9.6.0.
|
||||
|
||||
BIND 9.6.0
|
||||
|
||||
BIND 9.6.0 includes a number of changes from BIND 9.5 and earlier
|
||||
releases, including:
|
||||
|
||||
Full NSEC3 support
|
||||
|
||||
Automatic zone re-signing
|
||||
|
||||
New update-policy methods tcp-self and 6to4-self
|
||||
|
||||
The BIND 8 resolver library, libbind, has been removed from the
|
||||
BIND 9 distribution and is now available as a separate download.
|
||||
|
||||
Change the default pid file location from /var/run to
|
||||
/var/run/{named,lwresd} for improved chroot/setuid support.
|
||||
|
||||
BIND 9.5.0
|
||||
|
||||
@@ -81,13 +126,14 @@ BIND 9.4.0
|
||||
|
||||
rndc now allows addresses to be set in the server clauses.
|
||||
|
||||
New option "allow-query-cache". This lets allow-query be
|
||||
used to specify the default zone access level rather than
|
||||
having to have every zone override the global value.
|
||||
allow-query-cache can be set at both the options and view
|
||||
levels. If allow-query-cache is not set then allow-recursion
|
||||
is used if set, otherwise allow-query is used if set, otherwise
|
||||
the default (localhost; localnets;) is used.
|
||||
New option "allow-query-cache". This lets "allow-query"
|
||||
be used to specify the default zone access level rather
|
||||
than having to have every zone override the global value.
|
||||
"allow-query-cache" can be set at both the options and view
|
||||
levels. If "allow-query-cache" is not set then "allow-recursion"
|
||||
is used if set, otherwise "allow-query" is used if set
|
||||
unless "recursion no;" is set in which case "none;" is used,
|
||||
otherwise the default (localhost; localnets;) is used.
|
||||
|
||||
rndc: the source address can now be specified.
|
||||
|
||||
@@ -304,7 +350,7 @@ BIND 9.2.0
|
||||
This does not apply to the use of TSIG, which does not
|
||||
require OpenSSL.
|
||||
|
||||
- The source distribution now builds on Windows NT/2000.
|
||||
- The source distribution now builds on Windows.
|
||||
See win32utils/readme1.txt and win32utils/win32-build.txt
|
||||
for details.
|
||||
|
||||
@@ -353,8 +399,8 @@ BIND 9.2.0
|
||||
|
||||
--with-libtool does not work on AIX.
|
||||
|
||||
A bug in the Windows 2000 DNS server can cause zone transfers
|
||||
from a BIND 9 server to a W2K server to fail. For details,
|
||||
A bug in some versions of the Microsoft DNS server can cause zone
|
||||
transfers from a BIND 9 server to a W2K server to fail. For details,
|
||||
see the "Zone Transfers" section in doc/misc/migration.
|
||||
|
||||
For a detailed list of user-visible changes from
|
||||
@@ -377,7 +423,11 @@ Building
|
||||
OpenBSD 3.3 and up
|
||||
Solaris 8, 9, 9 (x86), 10
|
||||
Ubuntu 7.04, 7.10
|
||||
Windows NT/2000/XP/2003
|
||||
Windows XP/2003/2008
|
||||
|
||||
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
|
||||
Windows, including Windows NT and Windows 2000, are no longer
|
||||
supported.
|
||||
|
||||
We have recent reports from the user community that a supported
|
||||
version of BIND will build and run on the following systems:
|
||||
@@ -430,6 +480,17 @@ Building
|
||||
-DDIG_SIGCHASE_BU=1)
|
||||
Disable dropping queries from particular well known ports.
|
||||
-DNS_CLIENT_DROPPORT=0
|
||||
Sibling glue checking in named-checkzone is enabled by default.
|
||||
To disable the default check set. -DCHECK_SIBLING=0
|
||||
named-checkzone checks out-of-zone addresses by default.
|
||||
To disable this default set. -DCHECK_LOCAL=0
|
||||
To create the default pid files in ${localstatedir}/run rather
|
||||
than ${localstatedir}/run/{named,lwresd}/ set.
|
||||
-DNS_RUN_PID_DIR=0
|
||||
Enable workaround for Solaris kernel bug about /dev/poll
|
||||
-DISC_SOCKET_USE_POLLWATCH=1
|
||||
The watch timeout is also configurable, e.g.,
|
||||
-DISC_SOCKET_POLLWATCH_TIMEOUT=20
|
||||
|
||||
LDFLAGS
|
||||
Linker flags. Defaults to empty string.
|
||||
@@ -455,8 +516,9 @@ Building
|
||||
a nonstandard prefix, you can tell configure where to
|
||||
look for it using "--with-openssl=/prefix".
|
||||
|
||||
To build libbind (the BIND 8 resolver library), specify
|
||||
"--enable-libbind" on the configure command line.
|
||||
On some platforms it is necessary to explictly request large
|
||||
file support to handle files bigger than 2GB. This can be
|
||||
done by "--enable-largefile" on the configure command line.
|
||||
|
||||
On some platforms, BIND 9 can be built with multithreading
|
||||
support, allowing it to take advantage of multiple CPUs.
|
||||
|
||||
+4
-4
@@ -55,7 +55,7 @@ at least specify `--with-idn' option to enable IDN support.
|
||||
|
||||
`--with-libiconv' assumes that your C compiler has `-R'
|
||||
option, and that the option adds the specified run-time path
|
||||
to an exacutable binary. If `-R' option of your compiler has
|
||||
to an executable binary. If `-R' option of your compiler has
|
||||
different meaning, or your compiler lacks the option, you
|
||||
should use `--with-iconv' option instead. Binary command
|
||||
without run-time path information might be unexecutable.
|
||||
@@ -68,7 +68,7 @@ at least specify `--with-idn' option to enable IDN support.
|
||||
specified, `--with-iconv' is prior to `--with-libiconv'.
|
||||
|
||||
--with-iconv=ICONV_LIBSPEC
|
||||
If your libc doens't provide iconv(), you need to specify the
|
||||
If your libc doesn't provide iconv(), you need to specify the
|
||||
library containing iconv() with this option. `ICONV_LIBSPEC'
|
||||
is the argument(s) to `cc' or `ld' to link the library, for
|
||||
example, `--with-iconv="-L/usr/local/lib -liconv"'.
|
||||
@@ -82,7 +82,7 @@ at least specify `--with-idn' option to enable IDN support.
|
||||
this option is not specified, `-L${PREFIX}/lib -lidnkit' is
|
||||
assumed, where ${PREFIX} is the installation prefix specified
|
||||
with `--with-idn' option above. You may need to use this
|
||||
option to specify extra argments, for example,
|
||||
option to specify extra arguments, for example,
|
||||
`--with-idnlib="-L/usr/local/lib -R/usr/local/lib -lidnkit"'.
|
||||
|
||||
Please consult `README' for other configuration options.
|
||||
@@ -109,4 +109,4 @@ about idnkit and this patch.
|
||||
Bug reports and comments on this kit should be sent to
|
||||
mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively.
|
||||
|
||||
; $Id: README.idnkit,v 1.2 2005/09/09 06:13:57 marka Exp $
|
||||
; $Id: README.idnkit,v 1.2.762.1 2009/01/18 23:25:14 marka Exp $
|
||||
|
||||
+3
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: acconfig.h,v 1.51 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: acconfig.h,v 1.51.334.2 2009/02/16 23:47:15 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -25,9 +25,6 @@
|
||||
***/
|
||||
@TOP@
|
||||
|
||||
/** define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef ssize_t
|
||||
|
||||
/** define on DEC OSF to enable 4.4BSD style sa_len support */
|
||||
#undef _SOCKADDR_LEN
|
||||
|
||||
@@ -61,9 +58,6 @@
|
||||
/** define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
|
||||
#undef HAVE_IFLIST_SYSCTL
|
||||
|
||||
/** define if chroot() is available */
|
||||
#undef HAVE_CHROOT
|
||||
|
||||
/** define if tzset() is available */
|
||||
#undef HAVE_TZSET
|
||||
|
||||
@@ -115,7 +109,7 @@ int sigwait(const unsigned int *set, int *sig);
|
||||
* The silly continuation line is to keep configure from
|
||||
* commenting out the #undef.
|
||||
*/
|
||||
|
||||
|
||||
#undef \
|
||||
va_start
|
||||
#define va_start(ap, last) \
|
||||
|
||||
+22
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.c,v 1.34 2008/01/18 23:46:57 tbox Exp $ */
|
||||
/* $Id: check-tool.c,v 1.35.36.3 2009/01/20 02:03:18 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -47,6 +47,14 @@
|
||||
|
||||
#include <isccfg/log.h>
|
||||
|
||||
#ifndef CHECK_SIBLING
|
||||
#define CHECK_SIBLING 1
|
||||
#endif
|
||||
|
||||
#ifndef CHECK_LOCAL
|
||||
#define CHECK_LOCAL 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ADDRINFO
|
||||
#ifdef HAVE_GETADDRINFO
|
||||
#ifdef HAVE_GAISTRERROR
|
||||
@@ -75,14 +83,23 @@ static const char *dbtype[] = { "rbt" };
|
||||
|
||||
int debug = 0;
|
||||
isc_boolean_t nomerge = ISC_TRUE;
|
||||
#if CHECK_LOCAL
|
||||
isc_boolean_t docheckmx = ISC_TRUE;
|
||||
isc_boolean_t dochecksrv = ISC_TRUE;
|
||||
isc_boolean_t docheckns = ISC_TRUE;
|
||||
#else
|
||||
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 |
|
||||
#if CHECK_SIBLING
|
||||
DNS_ZONEOPT_CHECKSIBLING |
|
||||
#endif
|
||||
DNS_ZONEOPT_CHECKWILDCARD |
|
||||
DNS_ZONEOPT_WARNMXCNAME |
|
||||
DNS_ZONEOPT_WARNSRVCNAME;
|
||||
@@ -98,6 +115,7 @@ static isc_logcategory_t categories[] = {
|
||||
{ "queries", 0 },
|
||||
{ "unmatched", 0 },
|
||||
{ "update-security", 0 },
|
||||
{ "query-errors", 0 },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
@@ -200,8 +218,8 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
|
||||
while (cur != NULL && cur->ai_canonname == NULL &&
|
||||
cur->ai_next != NULL)
|
||||
cur = cur->ai_next;
|
||||
if (ai != NULL && cur->ai_canonname != NULL &&
|
||||
strcasecmp(ai->ai_canonname, namebuf) != 0 &&
|
||||
if (cur != NULL && cur->ai_canonname != NULL &&
|
||||
strcasecmp(cur->ai_canonname, namebuf) != 0 &&
|
||||
!logged(namebuf, ERR_IS_CNAME)) {
|
||||
dns_zone_log(zone, ISC_LOG_ERROR,
|
||||
"%s/NS '%s' (out of zone) "
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named-checkconf.8,v 1.30 2007/06/20 02:27:32 marka Exp $
|
||||
.\" $Id: named-checkconf.8,v 1.30.334.1 2009/07/11 01:55:20 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+13
-19
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkconf.c,v 1.46 2007/11/26 02:12:45 marka Exp $ */
|
||||
/* $Id: named-checkconf.c,v 1.46.222.2 2009/02/16 23:47:15 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -61,9 +61,9 @@ isc_log_t *logc = NULL;
|
||||
/*% usage */
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "usage: %s [-h] [-j] [-v] [-z] [-t directory] "
|
||||
fprintf(stderr, "usage: %s [-h] [-j] [-v] [-z] [-t directory] "
|
||||
"[named.conf]\n", program);
|
||||
exit(1);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*% directory callback */
|
||||
@@ -173,9 +173,9 @@ configure_zone(const char *vclass, const char *view,
|
||||
|
||||
zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
|
||||
classobj = cfg_tuple_get(zconfig, "class");
|
||||
if (!cfg_obj_isstring(classobj))
|
||||
zclass = vclass;
|
||||
else
|
||||
if (!cfg_obj_isstring(classobj))
|
||||
zclass = vclass;
|
||||
else
|
||||
zclass = cfg_obj_asstring(classobj);
|
||||
|
||||
zoptions = cfg_tuple_get(zconfig, "options");
|
||||
@@ -194,9 +194,9 @@ configure_zone(const char *vclass, const char *view,
|
||||
return (ISC_R_FAILURE);
|
||||
if (strcasecmp(cfg_obj_asstring(typeobj), "master") != 0)
|
||||
return (ISC_R_SUCCESS);
|
||||
cfg_map_get(zoptions, "database", &dbobj);
|
||||
if (dbobj != NULL)
|
||||
return (ISC_R_SUCCESS);
|
||||
cfg_map_get(zoptions, "database", &dbobj);
|
||||
if (dbobj != NULL)
|
||||
return (ISC_R_SUCCESS);
|
||||
cfg_map_get(zoptions, "file", &fileobj);
|
||||
if (fileobj == NULL)
|
||||
return (ISC_R_FAILURE);
|
||||
@@ -287,8 +287,8 @@ configure_zone(const char *vclass, const char *view,
|
||||
} else
|
||||
INSIST(0);
|
||||
} else {
|
||||
zone_options |= DNS_ZONEOPT_CHECKNAMES;
|
||||
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
|
||||
zone_options |= DNS_ZONEOPT_CHECKNAMES;
|
||||
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
|
||||
}
|
||||
|
||||
masterformat = dns_masterformat_text;
|
||||
@@ -399,7 +399,7 @@ main(int argc, char **argv) {
|
||||
int exit_status = 0;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
isc_boolean_t load_zones = ISC_FALSE;
|
||||
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((c = isc_commandline_parse(argc, argv, "dhjt:vz")) != EOF) {
|
||||
@@ -419,12 +419,6 @@ main(int argc, char **argv) {
|
||||
isc_result_totext(result));
|
||||
exit(1);
|
||||
}
|
||||
result = isc_dir_chdir("/");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fprintf(stderr, "isc_dir_chdir: %s\n",
|
||||
isc_result_totext(result));
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named-checkconf.html,v 1.30 2007/06/20 02:27:32 marka Exp $ -->
|
||||
<!-- $Id: named-checkconf.html,v 1.30.334.1 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named-checkzone.8,v 1.42 2007/06/20 02:27:32 marka Exp $
|
||||
.\" $Id: named-checkzone.8,v 1.42.334.3 2009/11/11 01:56:22 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -33,9 +33,9 @@
|
||||
named\-checkzone, named\-compilezone \- zone file validity checking or converting tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 16
|
||||
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
|
||||
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
|
||||
.HP 18
|
||||
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
|
||||
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnamed\-checkzone\fR
|
||||
@@ -82,7 +82,7 @@ When loading the zone file read the journal if it exists.
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Specify the class of the zone. If not specified "IN" is assumed.
|
||||
Specify the class of the zone. If not specified, "IN" is assumed.
|
||||
.RE
|
||||
.PP
|
||||
\-i \fImode\fR
|
||||
@@ -272,7 +272,7 @@ BIND 9 Administrator Reference Manual.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004\-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2002 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
+17
-16
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkzone.c,v 1.49 2007/06/18 23:47:17 tbox Exp $ */
|
||||
/* $Id: named-checkzone.c,v 1.51.34.4 2009/11/10 20:01:41 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -73,13 +73,16 @@ static enum { progmode_check, progmode_compile } progmode;
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr,
|
||||
"usage: %s [-djqvD] [-c class] [-o output] "
|
||||
"usage: %s [-djqvD] [-c class] "
|
||||
"[-f inputformat] [-F outputformat] "
|
||||
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
|
||||
"[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
|
||||
"[-i (full|local|none)] [-M (ignore|warn|fail)] "
|
||||
"[-S (ignore|warn|fail)] [-W (ignore|warn)] "
|
||||
"zonename filename\n", prog_name);
|
||||
"[-i (full|full-sibling|local|local-sibling|none)] "
|
||||
"[-M (ignore|warn|fail)] [-S (ignore|warn|fail)] "
|
||||
"[-W (ignore|warn)] "
|
||||
"%s zonename filename\n",
|
||||
prog_name,
|
||||
progmode == progmode_check ? "[-o filename]" : "{-o filename}");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -122,9 +125,13 @@ main(int argc, char **argv) {
|
||||
*/
|
||||
if (strncmp(prog_name, "lt-", 3) == 0)
|
||||
prog_name += 3;
|
||||
if (strcmp(prog_name, "named-checkzone") == 0)
|
||||
|
||||
#define PROGCMP(X) \
|
||||
(strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0)
|
||||
|
||||
if (PROGCMP("named-checkzone"))
|
||||
progmode = progmode_check;
|
||||
else if (strcmp(prog_name, "named-compilezone") == 0)
|
||||
else if (PROGCMP("named-compilezone"))
|
||||
progmode = progmode_compile;
|
||||
else
|
||||
INSIST(0);
|
||||
@@ -230,7 +237,7 @@ main(int argc, char **argv) {
|
||||
zone_options &= ~DNS_ZONEOPT_FATALNS;
|
||||
} else if (ARGCMP("fail")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKNS|
|
||||
DNS_ZONEOPT_FATALNS;
|
||||
DNS_ZONEOPT_FATALNS;
|
||||
} else {
|
||||
fprintf(stderr, "invalid argument to -n: %s\n",
|
||||
isc_commandline_argument);
|
||||
@@ -267,12 +274,6 @@ main(int argc, char **argv) {
|
||||
isc_result_totext(result));
|
||||
exit(1);
|
||||
}
|
||||
result = isc_dir_chdir("/");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fprintf(stderr, "isc_dir_chdir: %s\n",
|
||||
isc_result_totext(result));
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 's':
|
||||
@@ -354,7 +355,7 @@ main(int argc, char **argv) {
|
||||
|
||||
default:
|
||||
fprintf(stderr, "%s: unhandled option -%c\n",
|
||||
prog_name, isc_commandline_option);
|
||||
prog_name, isc_commandline_option);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: named-checkzone.docbook,v 1.34 2007/06/19 06:58:03 marka Exp $ -->
|
||||
<!-- $Id: named-checkzone.docbook,v 1.34.334.3 2009/11/10 20:01:41 each Exp $ -->
|
||||
<refentry id="man.named-checkzone">
|
||||
<refentryinfo>
|
||||
<date>June 13, 2000</date>
|
||||
@@ -36,6 +36,7 @@
|
||||
<year>2005</year>
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -68,7 +69,6 @@
|
||||
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
|
||||
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
|
||||
<arg><option>-S <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
@@ -98,6 +98,7 @@
|
||||
<arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-D</option></arg>
|
||||
<arg><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg choice="req"><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
|
||||
<arg choice="req">zonename</arg>
|
||||
<arg choice="req">filename</arg>
|
||||
</cmdsynopsis>
|
||||
@@ -178,7 +179,7 @@
|
||||
<term>-c <replaceable class="parameter">class</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the class of the zone. If not specified "IN" is assumed.
|
||||
Specify the class of the zone. If not specified, "IN" is assumed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named-checkzone.html,v 1.42 2007/06/20 02:27:32 marka Exp $ -->
|
||||
<!-- $Id: named-checkzone.html,v 1.42.334.3 2009/11/11 01:56:22 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,11 +29,11 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543669"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543674"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
checks the syntax and integrity of a zone file. It performs the
|
||||
same checks as <span><strong class="command">named</strong></span> does when loading a
|
||||
@@ -53,7 +53,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543704"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543709"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-d</span></dt>
|
||||
<dd><p>
|
||||
@@ -78,7 +78,7 @@
|
||||
</p></dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specify the class of the zone. If not specified "IN" is assumed.
|
||||
Specify the class of the zone. If not specified, "IN" is assumed.
|
||||
</p></dd>
|
||||
<dt><span class="term">-i <em class="replaceable"><code>mode</code></em></span></dt>
|
||||
<dd>
|
||||
@@ -239,14 +239,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544325"></a><h2>RETURN VALUES</h2>
|
||||
<a name="id2544330"></a><h2>RETURN VALUES</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
returns an exit status of 1 if
|
||||
errors were detected and 0 otherwise.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544337"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544342"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -254,7 +254,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544370"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544375"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+16
-10
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dig.1,v 1.48 2008/05/15 01:12:20 tbox Exp $
|
||||
.\" $Id: dig.1,v 1.50.44.3 2009/07/11 01:55:20 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -33,7 +33,7 @@
|
||||
dig \- DNS lookup utility
|
||||
.SH "SYNOPSIS"
|
||||
.HP 4
|
||||
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
|
||||
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
|
||||
.HP 4
|
||||
\fBdig\fR [\fB\-h\fR]
|
||||
.HP 4
|
||||
@@ -59,7 +59,9 @@ Unless it is told to query a specific name server,
|
||||
will try each of the servers listed in
|
||||
\fI/etc/resolv.conf\fR.
|
||||
.PP
|
||||
When no command line arguments or options are given, will perform an NS query for "." (the root).
|
||||
When no command line arguments or options are given,
|
||||
\fBdig\fR
|
||||
will perform an NS query for "." (the root).
|
||||
.PP
|
||||
It is possible to set per\-user defaults for
|
||||
\fBdig\fR
|
||||
@@ -70,9 +72,9 @@ The IN and CH class names overlap with the IN and CH top level domains names. Ei
|
||||
\fB\-t\fR
|
||||
and
|
||||
\fB\-c\fR
|
||||
options to specify the type and class or use the
|
||||
options to specify the type and class, use the
|
||||
\fB\-q\fR
|
||||
the specify the domain name or use "IN." and "CH." when looking up these top level domains.
|
||||
the specify the domain name, or use "IN." and "CH." when looking up these top level domains.
|
||||
.SH "SIMPLE USAGE"
|
||||
.PP
|
||||
A typical invocation of
|
||||
@@ -139,6 +141,10 @@ operate in batch mode by reading a list of lookup requests to process from the f
|
||||
\fBdig\fR
|
||||
using the command\-line interface.
|
||||
.PP
|
||||
The
|
||||
\fB\-m\fR
|
||||
option enables memory usage debugging.
|
||||
.PP
|
||||
If a non\-standard port number is to be queried, the
|
||||
\fB\-p\fR
|
||||
option is used.
|
||||
@@ -285,7 +291,7 @@ A synonym for
|
||||
.PP
|
||||
\fB+[no]adflag\fR
|
||||
.RS 4
|
||||
Set [do not set] the AD (authentic data) bit in the query. The AD bit currently has a standard meaning only in responses, not in queries, but the ability to set the bit in the query is provided for completeness.
|
||||
Set [do not set] the AD (authentic data) bit in the query. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range. AD=0 indicate that some part of the answer was insecure or not validated.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]cdflag\fR
|
||||
@@ -474,7 +480,7 @@ Chase DNSSEC signature chains. Requires dig be compiled with \-DDIG_SIGCHASE.
|
||||
Specifies a file containing trusted keys to be used with
|
||||
\fB+sigchase\fR. Each DNSKEY record must be on its own line.
|
||||
.sp
|
||||
If not specified
|
||||
If not specified,
|
||||
\fBdig\fR
|
||||
will look for
|
||||
\fI/etc/trusted\-key.key\fR
|
||||
@@ -556,7 +562,7 @@ RFC1035.
|
||||
.PP
|
||||
There are probably too many query options.
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2003 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
+40
-13
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dig.c,v 1.221 2008/04/03 02:01:08 marka Exp $ */
|
||||
/* $Id: dig.c,v 1.225.26.4 2009/05/06 10:18:33 fdupont Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -71,7 +71,7 @@ static isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
|
||||
multiline = ISC_FALSE, nottl = ISC_FALSE, noclass = ISC_FALSE;
|
||||
|
||||
/*% opcode text */
|
||||
static const char *opcodetext[] = {
|
||||
static const char * const opcodetext[] = {
|
||||
"QUERY",
|
||||
"IQUERY",
|
||||
"STATUS",
|
||||
@@ -91,7 +91,7 @@ static const char *opcodetext[] = {
|
||||
};
|
||||
|
||||
/*% return code text */
|
||||
static const char *rcodetext[] = {
|
||||
static const char * const rcodetext[] = {
|
||||
"NOERROR",
|
||||
"FORMERR",
|
||||
"SERVFAIL",
|
||||
@@ -111,6 +111,24 @@ static const char *rcodetext[] = {
|
||||
"BADVERS"
|
||||
};
|
||||
|
||||
/*% safe rcodetext[] */
|
||||
static char *
|
||||
rcode_totext(dns_rcode_t rcode)
|
||||
{
|
||||
static char buf[sizeof("?65535")];
|
||||
union {
|
||||
const char *consttext;
|
||||
char *deconsttext;
|
||||
} totext;
|
||||
|
||||
if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) {
|
||||
snprintf(buf, sizeof(buf), "?%u", rcode);
|
||||
totext.deconsttext = buf;
|
||||
} else
|
||||
totext.consttext = rcodetext[rcode];
|
||||
return totext.deconsttext;
|
||||
}
|
||||
|
||||
/*% print usage */
|
||||
static void
|
||||
print_usage(FILE *fp) {
|
||||
@@ -156,6 +174,7 @@ help(void) {
|
||||
" -y [hmac:]name:key (specify named base64 tsig key)\n"
|
||||
" -4 (use IPv4 query transport only)\n"
|
||||
" -6 (use IPv6 query transport only)\n"
|
||||
" -m (enable memory usage debugging)\n"
|
||||
" d-opt is of the form +keyword[=value], where keyword is:\n"
|
||||
" +[no]vc (TCP mode)\n"
|
||||
" +[no]tcp (TCP mode, alternate syntax)\n"
|
||||
@@ -468,7 +487,8 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
if (headers) {
|
||||
printf(";; ->>HEADER<<- opcode: %s, status: %s, "
|
||||
"id: %u\n",
|
||||
opcodetext[msg->opcode], rcodetext[msg->rcode],
|
||||
opcodetext[msg->opcode],
|
||||
rcode_totext(msg->rcode),
|
||||
msg->id);
|
||||
printf(";; flags:");
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0)
|
||||
@@ -640,9 +660,9 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
|
||||
}
|
||||
if (first) {
|
||||
snprintf(append, sizeof(append),
|
||||
";; global options: %s %s\n",
|
||||
short_form ? "short_form" : "",
|
||||
printcmd ? "printcmd" : "");
|
||||
";; global options:%s%s\n",
|
||||
short_form ? " +short" : "",
|
||||
printcmd ? " +cmd" : "");
|
||||
first = ISC_FALSE;
|
||||
remaining = sizeof(lookup->cmdline) -
|
||||
strlen(lookup->cmdline) - 1;
|
||||
@@ -800,7 +820,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
switch (cmd[1]) {
|
||||
case 'e': /* defname */
|
||||
FULLCHECK("defname");
|
||||
usesearch = state;
|
||||
if (!lookup->trace) {
|
||||
usesearch = state;
|
||||
}
|
||||
break;
|
||||
case 'n': /* dnssec */
|
||||
FULLCHECK("dnssec");
|
||||
@@ -842,7 +864,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
lookup->identify = state;
|
||||
break;
|
||||
case 'g': /* ignore */
|
||||
default: /* Inherets default for compatibility */
|
||||
default: /* Inherits default for compatibility */
|
||||
FULLCHECK("ignore");
|
||||
lookup->ignore = ISC_TRUE;
|
||||
}
|
||||
@@ -940,7 +962,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
switch (cmd[1]) {
|
||||
case 'e': /* search */
|
||||
FULLCHECK("search");
|
||||
usesearch = state;
|
||||
if (!lookup->trace) {
|
||||
usesearch = state;
|
||||
}
|
||||
break;
|
||||
case 'h':
|
||||
if (cmd[2] != 'o')
|
||||
@@ -961,8 +985,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
break;
|
||||
case 'w': /* showsearch */
|
||||
FULLCHECK("showsearch");
|
||||
showsearch = state;
|
||||
usesearch = state;
|
||||
if (!lookup->trace) {
|
||||
showsearch = state;
|
||||
usesearch = state;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1021,6 +1047,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
lookup->section_additional = ISC_FALSE;
|
||||
lookup->section_authority = ISC_TRUE;
|
||||
lookup->section_question = ISC_FALSE;
|
||||
usesearch = ISC_FALSE;
|
||||
}
|
||||
break;
|
||||
case 'i': /* tries */
|
||||
|
||||
+28
-18
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dig.docbook,v 1.40 2008/05/14 23:47:03 tbox Exp $ -->
|
||||
<!-- $Id: dig.docbook,v 1.42.44.3 2009/02/02 04:42:48 marka Exp $ -->
|
||||
<refentry id="man.dig">
|
||||
|
||||
<refentryinfo>
|
||||
@@ -43,6 +43,7 @@
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -62,6 +63,7 @@
|
||||
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg><option>-f <replaceable class="parameter">filename</replaceable></option></arg>
|
||||
<arg><option>-k <replaceable class="parameter">filename</replaceable></option></arg>
|
||||
<arg><option>-m</option></arg>
|
||||
<arg><option>-p <replaceable class="parameter">port#</replaceable></option></arg>
|
||||
<arg><option>-q <replaceable class="parameter">name</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
|
||||
@@ -119,8 +121,8 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When no command line arguments or options are given, will perform an
|
||||
NS query for "." (the root).
|
||||
When no command line arguments or options are given,
|
||||
<command>dig</command> will perform an NS query for "." (the root).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -133,8 +135,8 @@
|
||||
<para>
|
||||
The IN and CH class names overlap with the IN and CH top level
|
||||
domains names. Either use the <option>-t</option> and
|
||||
<option>-c</option> options to specify the type and class or
|
||||
use the <option>-q</option> the specify the domain name or
|
||||
<option>-c</option> options to specify the type and class,
|
||||
use the <option>-q</option> the specify the domain name, or
|
||||
use "IN." and "CH." when looking up these top level domains.
|
||||
</para>
|
||||
|
||||
@@ -231,6 +233,12 @@
|
||||
<command>dig</command> using the command-line interface.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <option>-m</option> option enables memory usage debugging.
|
||||
<!-- It enables ISC_MEM_DEBUGTRACE and ISC_MEM_DEBUGRECORD
|
||||
documented in include/isc/mem.h -->
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a non-standard port number is to be queried, the
|
||||
<option>-p</option> option is used. <parameter>port#</parameter> is
|
||||
@@ -442,17 +450,19 @@
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]adflag</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the AD (authentic data) bit in the query. The
|
||||
AD bit
|
||||
currently has a standard meaning only in responses, not in
|
||||
queries,
|
||||
but the ability to set the bit in the query is provided for
|
||||
completeness.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the AD (authentic data) bit in the
|
||||
query. This requests the server to return whether
|
||||
all of the answer and authority sections have all
|
||||
been validated as secure according to the security
|
||||
policy of the server. AD=1 indicates that all records
|
||||
have been validated as secure and the answer is not
|
||||
from a OPT-OUT range. AD=0 indicate that some part
|
||||
of the answer was insecure or not validated.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]cdflag</option></term>
|
||||
@@ -809,7 +819,7 @@
|
||||
on its own line.
|
||||
</para>
|
||||
<para>
|
||||
If not specified <command>dig</command> will look for
|
||||
If not specified, <command>dig</command> will look for
|
||||
<filename>/etc/trusted-key.key</filename> then
|
||||
<filename>trusted-key.key</filename> in the current directory.
|
||||
</para>
|
||||
|
||||
+31
-25
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dig.html,v 1.43 2008/05/15 01:12:20 tbox Exp $ -->
|
||||
<!-- $Id: dig.html,v 1.45.44.3 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,12 +29,12 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543511"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543518"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
(domain information groper) is a flexible tool
|
||||
for interrogating DNS name servers. It performs DNS lookups and
|
||||
@@ -62,8 +62,8 @@
|
||||
<code class="filename">/etc/resolv.conf</code>.
|
||||
</p>
|
||||
<p>
|
||||
When no command line arguments or options are given, will perform an
|
||||
NS query for "." (the root).
|
||||
When no command line arguments or options are given,
|
||||
<span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
|
||||
</p>
|
||||
<p>
|
||||
It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
|
||||
@@ -74,13 +74,13 @@
|
||||
<p>
|
||||
The IN and CH class names overlap with the IN and CH top level
|
||||
domains names. Either use the <code class="option">-t</code> and
|
||||
<code class="option">-c</code> options to specify the type and class or
|
||||
use the <code class="option">-q</code> the specify the domain name or
|
||||
<code class="option">-c</code> options to specify the type and class,
|
||||
use the <code class="option">-q</code> the specify the domain name, or
|
||||
use "IN." and "CH." when looking up these top level domains.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543580"></a><h2>SIMPLE USAGE</h2>
|
||||
<a name="id2543592"></a><h2>SIMPLE USAGE</h2>
|
||||
<p>
|
||||
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
|
||||
</p>
|
||||
@@ -126,7 +126,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543671"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543683"></a><h2>OPTIONS</h2>
|
||||
<p>
|
||||
The <code class="option">-b</code> option sets the source IP address of the query
|
||||
to <em class="parameter"><code>address</code></em>. This must be a valid
|
||||
@@ -151,6 +151,10 @@
|
||||
the same way they would be presented as queries to
|
||||
<span><strong class="command">dig</strong></span> using the command-line interface.
|
||||
</p>
|
||||
<p>
|
||||
The <code class="option">-m</code> option enables memory usage debugging.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
If a non-standard port number is to be queried, the
|
||||
<code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
|
||||
@@ -226,7 +230,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543942"></a><h2>QUERY OPTIONS</h2>
|
||||
<a name="id2544032"></a><h2>QUERY OPTIONS</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
provides a number of query options which affect
|
||||
the way in which lookups are made and the results displayed. Some of
|
||||
@@ -304,13 +308,15 @@
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
|
||||
<dd><p>
|
||||
Set [do not set] the AD (authentic data) bit in the query. The
|
||||
AD bit
|
||||
currently has a standard meaning only in responses, not in
|
||||
queries,
|
||||
but the ability to set the bit in the query is provided for
|
||||
completeness.
|
||||
</p></dd>
|
||||
Set [do not set] the AD (authentic data) bit in the
|
||||
query. This requests the server to return whether
|
||||
all of the answer and authority sections have all
|
||||
been validated as secure according to the security
|
||||
policy of the server. AD=1 indicates that all records
|
||||
have been validated as secure and the answer is not
|
||||
from a OPT-OUT range. AD=0 indicate that some part
|
||||
of the answer was insecure or not validated.
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
|
||||
<dd><p>
|
||||
Set [do not set] the CD (checking disabled) bit in the query.
|
||||
@@ -525,7 +531,7 @@
|
||||
on its own line.
|
||||
</p>
|
||||
<p>
|
||||
If not specified <span><strong class="command">dig</strong></span> will look for
|
||||
If not specified, <span><strong class="command">dig</strong></span> will look for
|
||||
<code class="filename">/etc/trusted-key.key</code> then
|
||||
<code class="filename">trusted-key.key</code> in the current directory.
|
||||
</p>
|
||||
@@ -549,7 +555,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545145"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<a name="id2545166"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<p>
|
||||
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
|
||||
supports
|
||||
@@ -595,7 +601,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545275"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2545228"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -609,14 +615,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545298"></a><h2>FILES</h2>
|
||||
<a name="id2545251"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
<p><code class="filename">${HOME}/.digrc</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545315"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2545336"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
@@ -624,7 +630,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545352"></a><h2>BUGS</h2>
|
||||
<a name="id2545373"></a><h2>BUGS</h2>
|
||||
<p>
|
||||
There are probably too many query options.
|
||||
</p>
|
||||
|
||||
+149
-49
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dighost.c,v 1.311 2008/07/23 23:27:54 marka Exp $ */
|
||||
/* $Id: dighost.c,v 1.311.70.11 2009/11/10 17:27:13 each Exp $ */
|
||||
|
||||
/*! \file
|
||||
* \note
|
||||
@@ -583,6 +583,11 @@ copy_server_list(lwres_conf_t *confdata, dig_serverlist_t *dest) {
|
||||
for (i = 0; i < confdata->nsnext; i++) {
|
||||
af = addr2af(confdata->nameservers[i].family);
|
||||
|
||||
if (af == AF_INET && !have_ipv4)
|
||||
continue;
|
||||
if (af == AF_INET6 && !have_ipv6)
|
||||
continue;
|
||||
|
||||
lwres_net_ntop(af, confdata->nameservers[i].address,
|
||||
tmp, sizeof(tmp));
|
||||
newsrv = make_server(tmp, tmp);
|
||||
@@ -771,7 +776,7 @@ make_empty_lookup(void) {
|
||||
* the query list, since it will be regenerated by the setup_lookup()
|
||||
* function, nor does it queue up the new lookup for processing.
|
||||
* Caution: If you don't clone the servers, you MUST clone the server
|
||||
* list seperately from somewhere else, or construct it by hand.
|
||||
* list separately from somewhere else, or construct it by hand.
|
||||
*/
|
||||
dig_lookup_t *
|
||||
clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
|
||||
@@ -1006,10 +1011,18 @@ void
|
||||
setup_system(void) {
|
||||
dig_searchlist_t *domain = NULL;
|
||||
lwres_result_t lwresult;
|
||||
unsigned int lwresflags;
|
||||
|
||||
debug("setup_system()");
|
||||
|
||||
lwresult = lwres_context_create(&lwctx, mctx, mem_alloc, mem_free, 1);
|
||||
lwresflags = LWRES_CONTEXT_SERVERMODE;
|
||||
if (have_ipv4)
|
||||
lwresflags |= LWRES_CONTEXT_USEIPV4;
|
||||
if (have_ipv6)
|
||||
lwresflags |= LWRES_CONTEXT_USEIPV6;
|
||||
|
||||
lwresult = lwres_context_create(&lwctx, mctx, mem_alloc, mem_free,
|
||||
lwresflags);
|
||||
if (lwresult != LWRES_R_SUCCESS)
|
||||
fatal("lwres_context_create failed");
|
||||
|
||||
@@ -1035,8 +1048,12 @@ setup_system(void) {
|
||||
debug("ndots is %d.", ndots);
|
||||
}
|
||||
|
||||
/* If user doesn't specify server use nameservers from resolv.conf. */
|
||||
if (ISC_LIST_EMPTY(server_list))
|
||||
copy_server_list(lwconf, &server_list);
|
||||
|
||||
/* If we don't find a nameserver fall back to localhost */
|
||||
if (lwconf->nsnext == 0) {
|
||||
if (ISC_LIST_EMPTY(server_list)) {
|
||||
if (have_ipv4) {
|
||||
lwresult = add_nameserver(lwconf, "127.0.0.1", AF_INET);
|
||||
if (lwresult != ISC_R_SUCCESS)
|
||||
@@ -1047,10 +1064,9 @@ setup_system(void) {
|
||||
if (lwresult != ISC_R_SUCCESS)
|
||||
fatal("add_nameserver failed");
|
||||
}
|
||||
}
|
||||
|
||||
if (ISC_LIST_EMPTY(server_list))
|
||||
copy_server_list(lwconf, &server_list);
|
||||
}
|
||||
|
||||
#ifdef WITH_IDN
|
||||
initialize_idn();
|
||||
@@ -1400,7 +1416,7 @@ start_lookup(void) {
|
||||
key_name) == ISC_TRUE)
|
||||
trustedkey = tk_list.key[i];
|
||||
/*
|
||||
* Verifier que la temp est bien la plus basse
|
||||
* Verify temp is really the lowest
|
||||
* WARNING
|
||||
*/
|
||||
}
|
||||
@@ -2190,6 +2206,21 @@ bringup_timer(dig_query_t *query, unsigned int default_timeout) {
|
||||
check_result(result, "isc_timer_create");
|
||||
}
|
||||
|
||||
static void
|
||||
force_timeout(dig_lookup_t *l, dig_query_t *query) {
|
||||
isc_event_t *event;
|
||||
|
||||
event = isc_event_allocate(mctx, query, ISC_TIMEREVENT_IDLE,
|
||||
connect_timeout, l,
|
||||
sizeof(isc_event_t));
|
||||
if (event == NULL) {
|
||||
fatal("isc_event_allocate: %s",
|
||||
isc_result_totext(ISC_R_NOMEMORY));
|
||||
}
|
||||
isc_task_send(global_task, &event);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
connect_done(isc_task_t *task, isc_event_t *event);
|
||||
|
||||
@@ -2209,7 +2240,16 @@ send_tcp_connect(dig_query_t *query) {
|
||||
l = query->lookup;
|
||||
query->waiting_connect = ISC_TRUE;
|
||||
query->lookup->current_query = query;
|
||||
get_address(query->servname, port, &query->sockaddr);
|
||||
result = get_address(query->servname, port, &query->sockaddr);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
/*
|
||||
* This servname doesn't have an address. Try the next server
|
||||
* by triggering an immediate 'timeout' (we lie, but the effect
|
||||
* is the same).
|
||||
*/
|
||||
force_timeout(l, query);
|
||||
return;
|
||||
}
|
||||
|
||||
if (specified_source &&
|
||||
(isc_sockaddr_pf(&query->sockaddr) !=
|
||||
@@ -2282,7 +2322,12 @@ send_udp(dig_query_t *query) {
|
||||
if (!query->recv_made) {
|
||||
/* XXX Check the sense of this, need assertion? */
|
||||
query->waiting_connect = ISC_FALSE;
|
||||
get_address(query->servname, port, &query->sockaddr);
|
||||
result = get_address(query->servname, port, &query->sockaddr);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
/* This servname doesn't have an address. */
|
||||
force_timeout(l, query);
|
||||
return;
|
||||
}
|
||||
|
||||
result = isc_socket_create(socketmgr,
|
||||
isc_sockaddr_pf(&query->sockaddr),
|
||||
@@ -2353,8 +2398,12 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
|
||||
cq = query->lookup->current_query;
|
||||
if (!l->tcp_mode)
|
||||
send_udp(ISC_LIST_NEXT(cq, link));
|
||||
else
|
||||
else {
|
||||
if (query->sock != NULL)
|
||||
isc_socket_cancel(query->sock, NULL,
|
||||
ISC_SOCKCANCEL_ALL);
|
||||
send_tcp_connect(ISC_LIST_NEXT(cq, link));
|
||||
}
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
}
|
||||
@@ -2556,8 +2605,8 @@ connect_done(isc_task_t *task, isc_event_t *event) {
|
||||
if (sevent->result == ISC_R_CANCELED) {
|
||||
debug("in cancel handler");
|
||||
isc_socket_detach(&query->sock);
|
||||
INSIST(sockcount > 0);
|
||||
sockcount--;
|
||||
INSIST(sockcount >= 0);
|
||||
debug("sockcount=%d", sockcount);
|
||||
query->waiting_connect = ISC_FALSE;
|
||||
isc_event_free(&event);
|
||||
@@ -2908,18 +2957,8 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
if (result == ISC_R_SUCCESS && (msgflags & DNS_MESSAGEFLAG_QR) == 0)
|
||||
printf(";; Warning: query response not set\n");
|
||||
|
||||
if (!match) {
|
||||
isc_buffer_invalidate(&query->recvbuf);
|
||||
isc_buffer_init(&query->recvbuf, query->recvspace, COMMSIZE);
|
||||
ISC_LIST_ENQUEUE(query->recvlist, &query->recvbuf, link);
|
||||
result = isc_socket_recvv(query->sock, &query->recvlist, 1,
|
||||
global_task, recv_done, query);
|
||||
check_result(result, "isc_socket_recvv");
|
||||
recvcount++;
|
||||
isc_event_free(&event);
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
}
|
||||
if (!match)
|
||||
goto udp_mismatch;
|
||||
|
||||
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
|
||||
check_result(result, "dns_message_create");
|
||||
@@ -2974,6 +3013,52 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
}
|
||||
if (msg->counts[DNS_SECTION_QUESTION] != 0) {
|
||||
match = ISC_TRUE;
|
||||
for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION);
|
||||
result == ISC_R_SUCCESS && match;
|
||||
result = dns_message_nextname(msg, DNS_SECTION_QUESTION)) {
|
||||
dns_name_t *name = NULL;
|
||||
dns_rdataset_t *rdataset;
|
||||
|
||||
dns_message_currentname(msg, DNS_SECTION_QUESTION,
|
||||
&name);
|
||||
for (rdataset = ISC_LIST_HEAD(name->list);
|
||||
rdataset != NULL;
|
||||
rdataset = ISC_LIST_NEXT(rdataset, link)) {
|
||||
if (l->rdtype != rdataset->type ||
|
||||
l->rdclass != rdataset->rdclass ||
|
||||
!dns_name_equal(l->name, name)) {
|
||||
char namestr[DNS_NAME_FORMATSIZE];
|
||||
char typebuf[DNS_RDATATYPE_FORMATSIZE];
|
||||
char classbuf[DNS_RDATACLASS_FORMATSIZE];
|
||||
dns_name_format(name, namestr,
|
||||
sizeof(namestr));
|
||||
dns_rdatatype_format(rdataset->type,
|
||||
typebuf,
|
||||
sizeof(typebuf));
|
||||
dns_rdataclass_format(rdataset->rdclass,
|
||||
classbuf,
|
||||
sizeof(classbuf));
|
||||
printf(";; Question section mismatch: "
|
||||
"got %s/%s/%s\n",
|
||||
namestr, typebuf, classbuf);
|
||||
match = ISC_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!match) {
|
||||
dns_message_destroy(&msg);
|
||||
if (l->tcp_mode) {
|
||||
isc_event_free(&event);
|
||||
clear_query(query);
|
||||
check_next_lookup(l);
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
} else
|
||||
goto udp_mismatch;
|
||||
}
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0 &&
|
||||
!l->ignore && !l->tcp_mode) {
|
||||
printf(";; Truncated, retrying in TCP mode.\n");
|
||||
@@ -3228,6 +3313,19 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
}
|
||||
isc_event_free(&event);
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
|
||||
udp_mismatch:
|
||||
isc_buffer_invalidate(&query->recvbuf);
|
||||
isc_buffer_init(&query->recvbuf, query->recvspace, COMMSIZE);
|
||||
ISC_LIST_ENQUEUE(query->recvlist, &query->recvbuf, link);
|
||||
result = isc_socket_recvv(query->sock, &query->recvlist, 1,
|
||||
global_task, recv_done, query);
|
||||
check_result(result, "isc_socket_recvv");
|
||||
recvcount++;
|
||||
isc_event_free(&event);
|
||||
UNLOCK_LOOKUP;
|
||||
return;
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -3235,7 +3333,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
* used in looking up server names, etc... and needs to use system-supplied
|
||||
* routines, since they may be using a non-DNS system for these lookups.
|
||||
*/
|
||||
void
|
||||
isc_result_t
|
||||
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr) {
|
||||
int count;
|
||||
isc_result_t result;
|
||||
@@ -3244,9 +3342,11 @@ get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr) {
|
||||
result = bind9_getaddresses(host, port, sockaddr, 1, &count);
|
||||
isc_app_unblock();
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("couldn't get address for '%s': %s",
|
||||
host, isc_result_totext(result));
|
||||
return (result);
|
||||
|
||||
INSIST(count == 1);
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -3300,7 +3400,7 @@ cancel_all(void) {
|
||||
isc_timer_detach(¤t_lookup->timer);
|
||||
q = ISC_LIST_HEAD(current_lookup->q);
|
||||
while (q != NULL) {
|
||||
debug("cancelling query %p, belonging to %p",
|
||||
debug("canceling query %p, belonging to %p",
|
||||
q, current_lookup);
|
||||
nq = ISC_LIST_NEXT(q, link);
|
||||
if (q->sock != NULL) {
|
||||
@@ -3616,7 +3716,7 @@ dns_rdataset_t *
|
||||
search_type(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers) {
|
||||
dns_rdataset_t *rdataset;
|
||||
dns_rdata_sig_t siginfo;
|
||||
dns_rdata_t sigrdata;
|
||||
dns_rdata_t sigrdata = DNS_RDATA_INIT;
|
||||
isc_result_t result;
|
||||
|
||||
for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL;
|
||||
@@ -3626,7 +3726,6 @@ search_type(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers) {
|
||||
return (rdataset);
|
||||
} else if ((type == dns_rdatatype_rrsig) &&
|
||||
(rdataset->type == dns_rdatatype_rrsig)) {
|
||||
dns_rdata_init(&sigrdata);
|
||||
result = dns_rdataset_first(rdataset);
|
||||
check_result(result, "empty rdataset");
|
||||
dns_rdataset_current(rdataset, &sigrdata);
|
||||
@@ -4149,7 +4248,7 @@ isc_result_t
|
||||
grandfather_pb_test(dns_name_t *zone_name, dns_rdataset_t *sigrdataset)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rdata_t sigrdata;
|
||||
dns_rdata_t sigrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_sig_t siginfo;
|
||||
|
||||
result = dns_rdataset_first(sigrdataset);
|
||||
@@ -4169,6 +4268,7 @@ grandfather_pb_test(dns_name_t *zone_name, dns_rdataset_t *sigrdataset)
|
||||
}
|
||||
|
||||
dns_rdata_freestruct(&siginfo);
|
||||
dns_rdata_reset(&sigrdata);
|
||||
|
||||
} while (dns_rdataset_next(chase_sigkeyrdataset) == ISC_R_SUCCESS);
|
||||
|
||||
@@ -4255,7 +4355,7 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
isc_mem_t *mctx)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rdata_t rdata;
|
||||
dns_rdata_t rdata = DNS_RDATA_INIT;
|
||||
dst_key_t *trustedKey = NULL;
|
||||
dst_key_t *dnsseckey = NULL;
|
||||
int i;
|
||||
@@ -4265,7 +4365,6 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
|
||||
result = dns_rdataset_first(rdataset);
|
||||
check_result(result, "empty rdataset");
|
||||
dns_rdata_init(&rdata);
|
||||
|
||||
do {
|
||||
dns_rdataset_current(rdataset, &rdata);
|
||||
@@ -4315,7 +4414,7 @@ sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
isc_mem_t *mctx)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rdata_t keyrdata;
|
||||
dns_rdata_t keyrdata = DNS_RDATA_INIT;
|
||||
dst_key_t *dnsseckey = NULL;
|
||||
|
||||
result = dns_rdataset_first(keyrdataset);
|
||||
@@ -4338,6 +4437,7 @@ sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
dst_key_free(&dnsseckey);
|
||||
dns_rdata_reset(&keyrdata);
|
||||
} while (dns_rdataset_next(chase_keyrdataset) == ISC_R_SUCCESS);
|
||||
|
||||
dns_rdata_reset(&keyrdata);
|
||||
@@ -4351,7 +4451,7 @@ sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
isc_mem_t *mctx)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rdata_t sigrdata;
|
||||
dns_rdata_t sigrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_sig_t siginfo;
|
||||
|
||||
result = dns_rdataset_first(sigrdataset);
|
||||
@@ -4389,6 +4489,7 @@ sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
|
||||
}
|
||||
}
|
||||
dns_rdata_freestruct(&siginfo);
|
||||
dns_rdata_reset(&sigrdata);
|
||||
|
||||
} while (dns_rdataset_next(chase_sigkeyrdataset) == ISC_R_SUCCESS);
|
||||
|
||||
@@ -4403,25 +4504,23 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
|
||||
dns_rdataset_t *dsrdataset, isc_mem_t *mctx)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rdata_t keyrdata;
|
||||
dns_rdata_t newdsrdata;
|
||||
dns_rdata_t dsrdata;
|
||||
dns_rdata_t keyrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_t newdsrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_t dsrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_ds_t dsinfo;
|
||||
dst_key_t *dnsseckey = NULL;
|
||||
unsigned char dsbuf[DNS_DS_BUFFERSIZE];
|
||||
|
||||
result = dns_rdataset_first(dsrdataset);
|
||||
check_result(result, "empty DSset dataset");
|
||||
dns_rdata_init(&dsrdata);
|
||||
do {
|
||||
dns_rdataset_current(dsrdataset, &dsrdata);
|
||||
|
||||
result = dns_rdata_tostruct(&dsrdata, &dsinfo, NULL);
|
||||
check_result(result, "dns_rdata_tostruct for DS");
|
||||
check_result(result, "dns_rdata_tostruct for DS");
|
||||
|
||||
result = dns_rdataset_first(keyrdataset);
|
||||
check_result(result, "empty KEY dataset");
|
||||
dns_rdata_init(&keyrdata);
|
||||
|
||||
do {
|
||||
dns_rdataset_current(keyrdataset, &keyrdata);
|
||||
@@ -4436,7 +4535,6 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
|
||||
* id of DNSKEY referenced by the DS
|
||||
*/
|
||||
if (dsinfo.key_tag == dst_key_id(dnsseckey)) {
|
||||
dns_rdata_init(&newdsrdata);
|
||||
|
||||
result = dns_ds_buildrdata(name, &keyrdata,
|
||||
dsinfo.digest_type,
|
||||
@@ -4484,14 +4582,16 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
|
||||
dns_rdata_reset(&newdsrdata);
|
||||
}
|
||||
dst_key_free(&dnsseckey);
|
||||
dns_rdata_reset(&keyrdata);
|
||||
dnsseckey = NULL;
|
||||
} while (dns_rdataset_next(chase_keyrdataset) == ISC_R_SUCCESS);
|
||||
dns_rdata_reset(&keyrdata);
|
||||
dns_rdata_reset(&dsrdata);
|
||||
|
||||
} while (dns_rdataset_next(chase_dsrdataset) == ISC_R_SUCCESS);
|
||||
#if 0
|
||||
dns_rdata_reset(&dsrdata); WARNING
|
||||
#endif
|
||||
|
||||
dns_rdata_reset(&keyrdata);
|
||||
dns_rdata_reset(&newdsrdata);
|
||||
dns_rdata_reset(&dsrdata);
|
||||
|
||||
return (ISC_R_NOTFOUND);
|
||||
}
|
||||
@@ -4884,7 +4984,7 @@ getneededrr(dns_message_t *msg)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_name_t *name = NULL;
|
||||
dns_rdata_t sigrdata;
|
||||
dns_rdata_t sigrdata = DNS_RDATA_INIT;
|
||||
dns_rdata_sig_t siginfo;
|
||||
isc_boolean_t true = ISC_TRUE;
|
||||
|
||||
@@ -4938,7 +5038,6 @@ getneededrr(dns_message_t *msg)
|
||||
/* first find the DNSKEY name */
|
||||
result = dns_rdataset_first(chase_sigrdataset);
|
||||
check_result(result, "empty RRSIG dataset");
|
||||
dns_rdata_init(&sigrdata);
|
||||
dns_rdataset_current(chase_sigrdataset, &sigrdata);
|
||||
result = dns_rdata_tostruct(&sigrdata, &siginfo, NULL);
|
||||
check_result(result, "sigrdata tostruct siginfo");
|
||||
@@ -5316,6 +5415,7 @@ prove_nx_domain(dns_message_t *msg,
|
||||
}
|
||||
|
||||
dns_rdata_freestruct(&nsecstruct);
|
||||
dns_rdata_reset(&nsec);
|
||||
}
|
||||
} while (dns_message_nextname(msg, DNS_SECTION_AUTHORITY)
|
||||
== ISC_R_SUCCESS);
|
||||
@@ -5383,7 +5483,7 @@ prove_nx(dns_message_t *msg, dns_name_t *name, dns_rdataclass_t class,
|
||||
isc_result_t ret;
|
||||
dns_rdataset_t *nsecset = NULL;
|
||||
|
||||
printf("We want to prove the non-existance of a type of rdata %d"
|
||||
printf("We want to prove the non-existence of a type of rdata %d"
|
||||
" or of the zone: \n", type);
|
||||
|
||||
if ((ret = dns_message_firstname(msg, DNS_SECTION_AUTHORITY))
|
||||
|
||||
+6
-6
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: host.1,v 1.29 2008/04/05 01:09:34 tbox Exp $
|
||||
.\" $Id: host.1,v 1.29.114.2 2009/07/11 01:55:20 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -132,7 +132,7 @@ option enables
|
||||
\fBhost\fR
|
||||
to mimic the behavior of a name server by making non\-recursive queries and expecting to receive answers to those queries that are usually referrals to other name servers.
|
||||
.PP
|
||||
By default
|
||||
By default,
|
||||
\fBhost\fR
|
||||
uses UDP when making queries. The
|
||||
\fB\-T\fR
|
||||
@@ -154,7 +154,7 @@ option is used to select the query type.
|
||||
\fItype\fR
|
||||
can be any recognized query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
|
||||
\fBhost\fR
|
||||
automatically selects an appropriate query type. By default it looks for A, AAAA, and MX records, but if the
|
||||
automatically selects an appropriate query type. By default, it looks for A, AAAA, and MX records, but if the
|
||||
\fB\-C\fR
|
||||
option was given, queries will be made for SOA records, and if
|
||||
\fIname\fR
|
||||
@@ -213,7 +213,7 @@ runs.
|
||||
\fBdig\fR(1),
|
||||
\fBnamed\fR(8).
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004, 2005, 2007\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2002 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
+28
-12
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: host.c,v 1.116 2007/12/03 00:21:48 marka Exp $ */
|
||||
/* $Id: host.c,v 1.116.216.3 2009/09/08 23:28:20 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -124,6 +124,23 @@ struct rtype rtypes[] = {
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static char *
|
||||
rcode_totext(dns_rcode_t rcode)
|
||||
{
|
||||
static char buf[sizeof("?65535")];
|
||||
union {
|
||||
const char *consttext;
|
||||
char *deconsttext;
|
||||
} totext;
|
||||
|
||||
if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) {
|
||||
snprintf(buf, sizeof(buf), "?%u", rcode);
|
||||
totext.deconsttext = buf;
|
||||
} else
|
||||
totext.consttext = rcodetext[rcode];
|
||||
return totext.deconsttext;
|
||||
}
|
||||
|
||||
static void
|
||||
show_usage(void) {
|
||||
fputs(
|
||||
@@ -270,10 +287,10 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
if (query->lookup->rdtype == dns_rdatatype_axfr &&
|
||||
!((!list_addresses &&
|
||||
(list_type == dns_rdatatype_any ||
|
||||
rdataset->type == list_type)) ||
|
||||
rdataset->type == list_type)) ||
|
||||
(list_addresses &&
|
||||
(rdataset->type == dns_rdatatype_a ||
|
||||
rdataset->type == dns_rdatatype_aaaa ||
|
||||
rdataset->type == dns_rdatatype_aaaa ||
|
||||
rdataset->type == dns_rdatatype_ns ||
|
||||
rdataset->type == dns_rdatatype_ptr))))
|
||||
continue;
|
||||
@@ -377,7 +394,7 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
|
||||
dns_rdata_t rdata = DNS_RDATA_INIT;
|
||||
unsigned int i = msg->counts[DNS_SECTION_ANSWER];
|
||||
|
||||
while (i-- > 0) {
|
||||
while (i-- > 0) {
|
||||
rdataset = NULL;
|
||||
result = dns_message_findname(msg, DNS_SECTION_ANSWER, qname,
|
||||
dns_rdatatype_cname, 0, NULL,
|
||||
@@ -429,7 +446,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
printf("Host %s not found: %d(%s)\n",
|
||||
(msg->rcode != dns_rcode_nxdomain) ? namestr :
|
||||
query->lookup->textname, msg->rcode,
|
||||
rcodetext[msg->rcode]);
|
||||
rcode_totext(msg->rcode));
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -451,7 +468,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_aaaa;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
@@ -462,7 +479,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_mx;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
@@ -471,7 +488,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
|
||||
if (!short_form) {
|
||||
printf(";; ->>HEADER<<- opcode: %s, status: %s, id: %u\n",
|
||||
opcodetext[msg->opcode], rcodetext[msg->rcode],
|
||||
opcodetext[msg->opcode], rcode_totext(msg->rcode),
|
||||
msg->id);
|
||||
printf(";; flags: ");
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
|
||||
@@ -822,11 +839,10 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
} else {
|
||||
strncpy(lookup->textname, hostname, sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1]=0;
|
||||
usesearch = ISC_TRUE;
|
||||
}
|
||||
lookup->new_search = ISC_TRUE;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
|
||||
usesearch = ISC_TRUE;
|
||||
}
|
||||
|
||||
int
|
||||
@@ -838,7 +854,7 @@ main(int argc, char **argv) {
|
||||
ISC_LIST_INIT(lookup_list);
|
||||
ISC_LIST_INIT(server_list);
|
||||
ISC_LIST_INIT(search_list);
|
||||
|
||||
|
||||
fatalexit = 1;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = IDN_ASCCHECK;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: host.docbook,v 1.18 2008/04/04 23:47:01 tbox Exp $ -->
|
||||
<!-- $Id: host.docbook,v 1.18.114.2 2009/01/22 23:47:05 tbox Exp $ -->
|
||||
<refentry id="man.host">
|
||||
|
||||
<refentryinfo>
|
||||
@@ -42,6 +42,7 @@
|
||||
<year>2005</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -180,7 +181,7 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
By default <command>host</command> uses UDP when making
|
||||
By default, <command>host</command> uses UDP when making
|
||||
queries. The
|
||||
<option>-T</option> option makes it use a TCP connection when querying
|
||||
the name server. TCP will be automatically selected for queries that
|
||||
@@ -200,7 +201,7 @@
|
||||
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
|
||||
<command>host</command> automatically selects an appropriate
|
||||
query
|
||||
type. By default it looks for A, AAAA, and MX records, but if the
|
||||
type. By default, it looks for A, AAAA, and MX records, but if the
|
||||
<option>-C</option> option was given, queries will be made for SOA
|
||||
records, and if <parameter>name</parameter> is a
|
||||
dotted-decimal IPv4
|
||||
|
||||
+9
-9
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: host.html,v 1.28 2008/04/05 01:09:34 tbox Exp $ -->
|
||||
<!-- $Id: host.html,v 1.28.114.2 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543431"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543434"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">host</strong></span>
|
||||
is a simple utility for performing DNS lookups.
|
||||
It is normally used to convert names to IP addresses and vice versa.
|
||||
@@ -130,7 +130,7 @@
|
||||
referrals to other name servers.
|
||||
</p>
|
||||
<p>
|
||||
By default <span><strong class="command">host</strong></span> uses UDP when making
|
||||
By default, <span><strong class="command">host</strong></span> uses UDP when making
|
||||
queries. The
|
||||
<code class="option">-T</code> option makes it use a TCP connection when querying
|
||||
the name server. TCP will be automatically selected for queries that
|
||||
@@ -148,7 +148,7 @@
|
||||
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
|
||||
<span><strong class="command">host</strong></span> automatically selects an appropriate
|
||||
query
|
||||
type. By default it looks for A, AAAA, and MX records, but if the
|
||||
type. By default, it looks for A, AAAA, and MX records, but if the
|
||||
<code class="option">-C</code> option was given, queries will be made for SOA
|
||||
records, and if <em class="parameter"><code>name</code></em> is a
|
||||
dotted-decimal IPv4
|
||||
@@ -184,7 +184,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543797"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2543800"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -198,12 +198,12 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543819"></a><h2>FILES</h2>
|
||||
<a name="id2543822"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543831"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543834"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
|
||||
</p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dig.h,v 1.107 2008/04/03 06:09:04 tbox Exp $ */
|
||||
/* $Id: dig.h,v 1.107.120.2 2009/01/06 23:47:26 tbox Exp $ */
|
||||
|
||||
#ifndef DIG_H
|
||||
#define DIG_H
|
||||
@@ -285,7 +285,7 @@ extern int idnoptions;
|
||||
/*
|
||||
* Routines in dighost.c.
|
||||
*/
|
||||
void
|
||||
isc_result_t
|
||||
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
|
||||
|
||||
isc_result_t
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: nslookup.1,v 1.14 2007/05/16 06:12:01 marka Exp $
|
||||
.\" $Id: nslookup.1,v 1.14.354.1 2009/07/11 01:55:20 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+35
-13
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: nslookup.c,v 1.117 2007/06/18 23:47:17 tbox Exp $ */
|
||||
/* $Id: nslookup.c,v 1.117.334.5 2009/10/20 01:11:22 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/event.h>
|
||||
#include <isc/parseint.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/timer.h>
|
||||
#include <isc/util.h>
|
||||
@@ -129,6 +130,23 @@ static const char *rtypetext[] = {
|
||||
static void flush_lookup_list(void);
|
||||
static void getinput(isc_task_t *task, isc_event_t *event);
|
||||
|
||||
static char *
|
||||
rcode_totext(dns_rcode_t rcode)
|
||||
{
|
||||
static char buf[sizeof("?65535")];
|
||||
union {
|
||||
const char *consttext;
|
||||
char *deconsttext;
|
||||
} totext;
|
||||
|
||||
if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) {
|
||||
snprintf(buf, sizeof(buf), "?%u", rcode);
|
||||
totext.deconsttext = buf;
|
||||
} else
|
||||
totext.consttext = rcodetext[rcode];
|
||||
return totext.deconsttext;
|
||||
}
|
||||
|
||||
void
|
||||
dighost_shutdown(void) {
|
||||
isc_event_t *event = global_event;
|
||||
@@ -355,6 +373,7 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
||||
printrdata(&rdata);
|
||||
}
|
||||
dns_rdata_reset(&rdata);
|
||||
printf("\tttl = %u\n", rdataset->ttl);
|
||||
loopresult = dns_rdataset_next(rdataset);
|
||||
}
|
||||
}
|
||||
@@ -385,14 +404,14 @@ trying(char *frm, dig_lookup_t *lookup) {
|
||||
|
||||
isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
char servtext[ISC_SOCKADDR_FORMATSIZE];
|
||||
char servtext[ISC_SOCKADDR_FORMATSIZE];
|
||||
|
||||
debug("printmessage()");
|
||||
|
||||
isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext));
|
||||
printf("Server:\t\t%s\n", query->userarg);
|
||||
printf("Address:\t%s\n", servtext);
|
||||
|
||||
|
||||
puts("");
|
||||
|
||||
if (!short_form) {
|
||||
@@ -412,7 +431,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
nametext, sizeof(nametext));
|
||||
printf("** server can't find %s: %s\n",
|
||||
(msg->rcode != dns_rcode_nxdomain) ? nametext :
|
||||
query->lookup->textname, rcodetext[msg->rcode]);
|
||||
query->lookup->textname, rcode_totext(msg->rcode));
|
||||
debug("returning with rcode == 0");
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
@@ -441,13 +460,16 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
|
||||
dig_server_t *srv;
|
||||
isc_sockaddr_t sockaddr;
|
||||
dig_searchlist_t *listent;
|
||||
isc_result_t result;
|
||||
|
||||
srv = ISC_LIST_HEAD(server_list);
|
||||
|
||||
while (srv != NULL) {
|
||||
char sockstr[ISC_SOCKADDR_FORMATSIZE];
|
||||
|
||||
get_address(srv->servername, port, &sockaddr);
|
||||
result = get_address(srv->servername, port, &sockaddr);
|
||||
check_result(result, "get_address");
|
||||
|
||||
isc_sockaddr_format(&sockaddr, sockstr, sizeof(sockstr));
|
||||
printf("Default server: %s\nAddress: %s\n",
|
||||
srv->userarg, sockstr);
|
||||
@@ -505,7 +527,7 @@ testclass(char *typetext) {
|
||||
tr.base = typetext;
|
||||
tr.length = strlen(typetext);
|
||||
result = dns_rdataclass_fromtext(&rdclass, &tr);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return (ISC_TRUE);
|
||||
else {
|
||||
printf("unknown query class: %s\n", typetext);
|
||||
@@ -603,7 +625,7 @@ setoption(char *opt) {
|
||||
set_timeout(&opt[8]);
|
||||
} else if (strncasecmp(opt, "t=", 2) == 0) {
|
||||
set_timeout(&opt[2]);
|
||||
} else if (strncasecmp(opt, "rec", 3) == 0) {
|
||||
} else if (strncasecmp(opt, "rec", 3) == 0) {
|
||||
recurse = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "norec", 5) == 0) {
|
||||
recurse = ISC_FALSE;
|
||||
@@ -611,21 +633,21 @@ setoption(char *opt) {
|
||||
set_tries(&opt[6]);
|
||||
} else if (strncasecmp(opt, "ret=", 4) == 0) {
|
||||
set_tries(&opt[4]);
|
||||
} else if (strncasecmp(opt, "def", 3) == 0) {
|
||||
} else if (strncasecmp(opt, "def", 3) == 0) {
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "nodef", 5) == 0) {
|
||||
usesearch = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "vc", 3) == 0) {
|
||||
} else if (strncasecmp(opt, "vc", 3) == 0) {
|
||||
tcpmode = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "novc", 5) == 0) {
|
||||
tcpmode = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "deb", 3) == 0) {
|
||||
} else if (strncasecmp(opt, "deb", 3) == 0) {
|
||||
short_form = ISC_FALSE;
|
||||
showsearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "nodeb", 5) == 0) {
|
||||
short_form = ISC_TRUE;
|
||||
showsearch = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "d2", 2) == 0) {
|
||||
} else if (strncasecmp(opt, "d2", 2) == 0) {
|
||||
debugging = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "nod2", 4) == 0) {
|
||||
debugging = ISC_FALSE;
|
||||
@@ -640,7 +662,7 @@ setoption(char *opt) {
|
||||
} else if (strncasecmp(opt, "nofail", 3) == 0) {
|
||||
nofail=ISC_TRUE;
|
||||
} else {
|
||||
printf("*** Invalid option: %s\n", opt);
|
||||
printf("*** Invalid option: %s\n", opt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: nslookup.html,v 1.21 2007/05/16 06:12:01 marka Exp $ -->
|
||||
<!-- $Id: nslookup.html,v 1.21.354.1 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
Makefile
|
||||
dnssec-dsfromkey
|
||||
dnssec-keyfromlabel
|
||||
dnssec-keygen
|
||||
dnssec-makekeyset
|
||||
dnssec-signkey
|
||||
dnssec-signzone
|
||||
dnssec-keyfromlabel
|
||||
*.lo
|
||||
.libs
|
||||
|
||||
+12
-7
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.34 2008/04/01 23:47:10 tbox Exp $
|
||||
# $Id: Makefile.in,v 1.35 2008/11/07 02:28:49 marka Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -40,22 +40,27 @@ LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
|
||||
|
||||
# Alphabetically
|
||||
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ \
|
||||
dnssec-keyfromlabel@EXEEXT@
|
||||
dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@
|
||||
|
||||
OBJS = dnssectool.@O@
|
||||
|
||||
SRCS = dnssec-keyfromlabel.c dnssec-keygen.c dnssec-signzone.c \
|
||||
dnssectool.c
|
||||
SRCS = dnssec-dsfromkey.c dnssec-keyfromlabel.c dnssec-keygen.c \
|
||||
dnssec-signzone.c dnssectool.c
|
||||
|
||||
MANPAGES = dnssec-keyfromlabel.8 dnssec-keygen.8 dnssec-signzone.8
|
||||
MANPAGES = dnssec-dsfromkey.8 dnssec-keyfromlabel.8 dnssec-keygen.8 \
|
||||
dnssec-signzone.8
|
||||
|
||||
HTMLPAGES = dnssec-keyfromlabel.html dnssec-keygen.html \
|
||||
dnssec-signzone.html
|
||||
HTMLPAGES = dnssec-dsfromkey.html dnssec-keyfromlabel.html \
|
||||
dnssec-keygen.html dnssec-signzone.html
|
||||
|
||||
MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
dnssec-dsfromkey@EXEEXT@: dnssec-dsfromkey.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-dsfromkey.@O@ ${OBJS} ${LIBS}
|
||||
|
||||
dnssec-keyfromlabel@EXEEXT@: dnssec-keyfromlabel.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-keyfromlabel.@O@ ${OBJS} ${LIBS}
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
.\" Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-dsfromkey.8,v 1.5 2008/11/08 01:11:47 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: dnssec\-dsfromkey
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: November 29, 2008
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DNSSEC\-DSFROMKEY" "8" "November 29, 2008" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.SH "NAME"
|
||||
dnssec\-dsfromkey \- DNSSEC DS RR generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 17
|
||||
\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] {keyfile}
|
||||
.HP 17
|
||||
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdir\fR\fR] {dnsname}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-dsfromkey\fR
|
||||
outputs the Delegation Signer (DS) resource record (RR), as defined in RFC 3658 and RFC 4509, for the given key(s).
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-1
|
||||
.RS 4
|
||||
Use SHA\-1 as the digest algorithm (the default is to use both SHA\-1 and SHA\-256).
|
||||
.RE
|
||||
.PP
|
||||
\-2
|
||||
.RS 4
|
||||
Use SHA\-256 as the digest algorithm.
|
||||
.RE
|
||||
.PP
|
||||
\-a \fIalgorithm\fR
|
||||
.RS 4
|
||||
Select the digest algorithm. The value of
|
||||
\fBalgorithm\fR
|
||||
must be one of SHA\-1 (SHA1) or SHA\-256 (SHA256). These values are case insensitive.
|
||||
.RE
|
||||
.PP
|
||||
\-v \fIlevel\fR
|
||||
.RS 4
|
||||
Sets the debugging level.
|
||||
.RE
|
||||
.PP
|
||||
\-s
|
||||
.RS 4
|
||||
Keyset mode: in place of the keyfile name, the argument is the DNS domain name of a keyset file. Following options make sense only in this mode.
|
||||
.RE
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Specifies the DNS class (default is IN), useful only in the keyset mode.
|
||||
.RE
|
||||
.PP
|
||||
\-d \fIdirectory\fR
|
||||
.RS 4
|
||||
Look for
|
||||
\fIkeyset\fR
|
||||
files in
|
||||
\fBdirectory\fR
|
||||
as the directory, ignored when not in the keyset mode.
|
||||
.RE
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
To build the SHA\-256 DS RR from the
|
||||
\fBKexample.com.+003+26160\fR
|
||||
keyfile name, the following command would be issued:
|
||||
.PP
|
||||
\fBdnssec\-dsfromkey \-2 Kexample.com.+003+26160\fR
|
||||
.PP
|
||||
The command would print something like:
|
||||
.PP
|
||||
\fBexample.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94\fR
|
||||
.SH "FILES"
|
||||
.PP
|
||||
The keyfile can be designed by the key identification
|
||||
\fIKnnnn.+aaa+iiiii\fR
|
||||
or the full file name
|
||||
\fIKnnnn.+aaa+iiiii.key\fR
|
||||
as generated by
|
||||
dnssec\-keygen(8).
|
||||
.PP
|
||||
The keyset file name is built from the
|
||||
\fBdirectory\fR, the string
|
||||
\fIkeyset\-\fR
|
||||
and the
|
||||
\fBdnsname\fR.
|
||||
.SH "CAVEAT"
|
||||
.PP
|
||||
A keyfile error can give a "file not found" even if the file exists.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR(8),
|
||||
\fBdnssec\-signzone\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 3658,
|
||||
RFC 4509.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
@@ -0,0 +1,404 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-dsfromkey.c,v 1.2.14.6 2010/01/11 23:47:22 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/hash.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <dns/db.h>
|
||||
#include <dns/dbiterator.h>
|
||||
#include <dns/ds.h>
|
||||
#include <dns/fixedname.h>
|
||||
#include <dns/log.h>
|
||||
#include <dns/name.h>
|
||||
#include <dns/rdata.h>
|
||||
#include <dns/rdataclass.h>
|
||||
#include <dns/rdataset.h>
|
||||
#include <dns/rdatasetiter.h>
|
||||
#include <dns/rdatatype.h>
|
||||
#include <dns/result.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
|
||||
#include "dnssectool.h"
|
||||
|
||||
const char *program = "dnssec-dsfromkey";
|
||||
int verbose;
|
||||
|
||||
static dns_rdataclass_t rdclass;
|
||||
static dns_fixedname_t fixed;
|
||||
static dns_name_t *name = NULL;
|
||||
static dns_db_t *db = NULL;
|
||||
static dns_dbnode_t *node = NULL;
|
||||
static dns_rdataset_t keyset;
|
||||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
static void
|
||||
loadkeys(char *dirname, char *setname)
|
||||
{
|
||||
isc_result_t result;
|
||||
char filename[1024];
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_rdataset_init(&keyset);
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
|
||||
isc_buffer_init(&buf, setname, strlen(setname));
|
||||
isc_buffer_add(&buf, strlen(setname));
|
||||
result = dns_name_fromtext(name, &buf, dns_rootname, ISC_FALSE, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't convert DNS name %s", setname);
|
||||
|
||||
isc_buffer_init(&buf, filename, sizeof(filename));
|
||||
if (dirname != NULL) {
|
||||
if (isc_buffer_availablelength(&buf) < strlen(dirname))
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, dirname);
|
||||
if (dirname[strlen(dirname) - 1] != '/') {
|
||||
if (isc_buffer_availablelength(&buf) < 1)
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, "/");
|
||||
}
|
||||
}
|
||||
|
||||
if (isc_buffer_availablelength(&buf) < strlen("keyset-"))
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, "keyset-");
|
||||
result = dns_name_tofilenametext(name, ISC_FALSE, &buf);
|
||||
check_result(result, "dns_name_tofilenametext()");
|
||||
if (isc_buffer_availablelength(&buf) == 0)
|
||||
fatal("name %s too long", setname);
|
||||
isc_buffer_putuint8(&buf, 0);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone,
|
||||
rdclass, 0, NULL, &db);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't create database");
|
||||
|
||||
result = dns_db_load(db, filename);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||
fatal("can't load %s: %s", filename, isc_result_totext(result));
|
||||
|
||||
result = dns_db_findnode(db, name, ISC_FALSE, &node);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't find %s node in %s", setname, filename);
|
||||
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey,
|
||||
0, 0, &keyset, NULL);
|
||||
if (result == ISC_R_NOTFOUND)
|
||||
fatal("no DNSKEY RR for %s in %s", setname, filename);
|
||||
else if (result != ISC_R_SUCCESS)
|
||||
fatal("dns_db_findrdataset");
|
||||
}
|
||||
|
||||
static void
|
||||
loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
|
||||
dns_rdata_t *rdata)
|
||||
{
|
||||
isc_result_t result;
|
||||
dst_key_t *key = NULL;
|
||||
isc_buffer_t keyb;
|
||||
isc_region_t r;
|
||||
|
||||
dns_rdataset_init(&keyset);
|
||||
dns_rdata_init(rdata);
|
||||
|
||||
isc_buffer_init(&keyb, key_buf, key_buf_size);
|
||||
|
||||
result = dst_key_fromnamedfile(filename, DST_TYPE_PUBLIC, mctx, &key);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("invalid keyfile name %s: %s",
|
||||
filename, isc_result_totext(result));
|
||||
|
||||
if (verbose > 2) {
|
||||
char keystr[KEY_FORMATSIZE];
|
||||
|
||||
key_format(key, keystr, sizeof(keystr));
|
||||
fprintf(stderr, "%s: %s\n", program, keystr);
|
||||
}
|
||||
|
||||
result = dst_key_todns(key, &keyb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't decode key");
|
||||
|
||||
isc_buffer_usedregion(&keyb, &r);
|
||||
dns_rdata_fromregion(rdata, dst_key_class(key),
|
||||
dns_rdatatype_dnskey, &r);
|
||||
|
||||
rdclass = dst_key_class(key);
|
||||
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
result = dns_name_copy(dst_key_name(key), name, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't copy name");
|
||||
|
||||
dst_key_free(&key);
|
||||
}
|
||||
|
||||
static void
|
||||
logkey(dns_rdata_t *rdata)
|
||||
{
|
||||
isc_result_t result;
|
||||
dst_key_t *key = NULL;
|
||||
isc_buffer_t buf;
|
||||
char keystr[KEY_FORMATSIZE];
|
||||
|
||||
isc_buffer_init(&buf, rdata->data, rdata->length);
|
||||
isc_buffer_add(&buf, rdata->length);
|
||||
result = dst_key_fromdns(name, rdclass, &buf, mctx, &key);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return;
|
||||
|
||||
key_format(key, keystr, sizeof(keystr));
|
||||
fprintf(stderr, "%s: %s\n", program, keystr);
|
||||
|
||||
dst_key_free(&key);
|
||||
}
|
||||
|
||||
static void
|
||||
emitds(unsigned int dtype, dns_rdata_t *rdata)
|
||||
{
|
||||
isc_result_t result;
|
||||
unsigned char buf[DNS_DS_BUFFERSIZE];
|
||||
char text_buf[DST_KEY_MAXTEXTSIZE];
|
||||
char class_buf[10];
|
||||
isc_buffer_t textb, classb;
|
||||
isc_region_t r;
|
||||
dns_rdata_t ds;
|
||||
|
||||
isc_buffer_init(&textb, text_buf, sizeof(text_buf));
|
||||
isc_buffer_init(&classb, class_buf, sizeof(class_buf));
|
||||
|
||||
dns_rdata_init(&ds);
|
||||
|
||||
result = dns_ds_buildrdata(name, rdata, dtype, buf, &ds);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't build DS");
|
||||
|
||||
result = dns_rdata_totext(&ds, (dns_name_t *) NULL, &textb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS rdata");
|
||||
|
||||
result = dns_rdataclass_totext(rdclass, &classb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS class");
|
||||
|
||||
result = dns_name_print(name, stdout);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS name");
|
||||
|
||||
putchar(' ');
|
||||
|
||||
isc_buffer_usedregion(&classb, &r);
|
||||
isc_util_fwrite(r.base, 1, r.length, stdout);
|
||||
|
||||
printf(" DS ");
|
||||
|
||||
isc_buffer_usedregion(&textb, &r);
|
||||
isc_util_fwrite(r.base, 1, r.length, stdout);
|
||||
putchar('\n');
|
||||
}
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s options keyfile\n\n", program);
|
||||
fprintf(stderr, " %s options [-c class] [-d dir] -s dnsname\n\n",
|
||||
program);
|
||||
fprintf(stderr, "Version: %s\n", VERSION);
|
||||
fprintf(stderr, "Options:\n");
|
||||
fprintf(stderr, " -v <verbose level>\n");
|
||||
fprintf(stderr, " -1: use SHA-1\n");
|
||||
fprintf(stderr, " -2: use SHA-256\n");
|
||||
fprintf(stderr, " -a algorithm: use algorithm\n");
|
||||
fprintf(stderr, "Keyset options:\n");
|
||||
fprintf(stderr, " -s: keyset mode\n");
|
||||
fprintf(stderr, " -c class\n");
|
||||
fprintf(stderr, " -d directory\n");
|
||||
fprintf(stderr, "Output: DS RRs\n");
|
||||
|
||||
exit (-1);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
char *algname = NULL, *classname = NULL, *dirname = NULL;
|
||||
char *endp;
|
||||
int ch;
|
||||
unsigned int dtype = DNS_DSDIGEST_SHA1;
|
||||
isc_boolean_t both = ISC_TRUE;
|
||||
isc_boolean_t usekeyset = ISC_FALSE;
|
||||
isc_result_t result;
|
||||
isc_log_t *log = NULL;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
dns_rdata_t rdata;
|
||||
|
||||
dns_rdata_init(&rdata);
|
||||
|
||||
if (argc == 1)
|
||||
usage();
|
||||
|
||||
result = isc_mem_create(0, 0, &mctx);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("out of memory");
|
||||
|
||||
dns_result_register();
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"12a:c:d:sv:h")) != -1) {
|
||||
switch (ch) {
|
||||
case '1':
|
||||
dtype = DNS_DSDIGEST_SHA1;
|
||||
both = ISC_FALSE;
|
||||
break;
|
||||
case '2':
|
||||
dtype = DNS_DSDIGEST_SHA256;
|
||||
both = ISC_FALSE;
|
||||
break;
|
||||
case 'a':
|
||||
algname = isc_commandline_argument;
|
||||
both = ISC_FALSE;
|
||||
break;
|
||||
case 'c':
|
||||
classname = isc_commandline_argument;
|
||||
break;
|
||||
case 'd':
|
||||
dirname = isc_commandline_argument;
|
||||
break;
|
||||
case 's':
|
||||
usekeyset = ISC_TRUE;
|
||||
break;
|
||||
case 'v':
|
||||
verbose = strtol(isc_commandline_argument, &endp, 0);
|
||||
if (*endp != '\0')
|
||||
fatal("-v must be followed by a number");
|
||||
break;
|
||||
case '?':
|
||||
if (isc_commandline_option != '?')
|
||||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
/* Falls into */
|
||||
case 'h':
|
||||
usage();
|
||||
|
||||
default:
|
||||
fprintf(stderr, "%s: unhandled option -%c\n",
|
||||
program, isc_commandline_option);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
if (algname != NULL) {
|
||||
if (strcasecmp(algname, "SHA1") == 0 ||
|
||||
strcasecmp(algname, "SHA-1") == 0)
|
||||
dtype = DNS_DSDIGEST_SHA1;
|
||||
else if (strcasecmp(algname, "SHA256") == 0 ||
|
||||
strcasecmp(algname, "SHA-256") == 0)
|
||||
dtype = DNS_DSDIGEST_SHA256;
|
||||
else
|
||||
fatal("unknown algorithm %s", algname);
|
||||
}
|
||||
|
||||
rdclass = strtoclass(classname);
|
||||
|
||||
if (argc < isc_commandline_index + 1)
|
||||
fatal("the key file name was not specified");
|
||||
if (argc > isc_commandline_index + 1)
|
||||
fatal("extraneous arguments");
|
||||
|
||||
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,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst");
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
setup_logging(verbose, mctx, &log);
|
||||
|
||||
if (usekeyset) {
|
||||
loadkeys(dirname, argv[isc_commandline_index]);
|
||||
|
||||
for (result = dns_rdataset_first(&keyset);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_rdataset_next(&keyset)) {
|
||||
dns_rdata_init(&rdata);
|
||||
dns_rdataset_current(&keyset, &rdata);
|
||||
|
||||
if (verbose > 2)
|
||||
logkey(&rdata);
|
||||
|
||||
if (both) {
|
||||
emitds(DNS_DSDIGEST_SHA1, &rdata);
|
||||
emitds(DNS_DSDIGEST_SHA256, &rdata);
|
||||
} else
|
||||
emitds(dtype, &rdata);
|
||||
}
|
||||
} else {
|
||||
unsigned char key_buf[DST_KEY_MAXSIZE];
|
||||
|
||||
loadkey(argv[isc_commandline_index], key_buf,
|
||||
DST_KEY_MAXSIZE, &rdata);
|
||||
|
||||
if (both) {
|
||||
emitds(DNS_DSDIGEST_SHA1, &rdata);
|
||||
emitds(DNS_DSDIGEST_SHA256, &rdata);
|
||||
} else
|
||||
emitds(dtype, &rdata);
|
||||
}
|
||||
|
||||
if (dns_rdataset_isassociated(&keyset))
|
||||
dns_rdataset_disassociate(&keyset);
|
||||
if (node != NULL)
|
||||
dns_db_detachnode(db, &node);
|
||||
if (db != NULL)
|
||||
dns_db_detach(&db);
|
||||
cleanup_logging(&log);
|
||||
dst_lib_destroy();
|
||||
isc_hash_destroy();
|
||||
cleanup_entropy(&ectx);
|
||||
dns_name_destroy();
|
||||
if (verbose > 10)
|
||||
isc_mem_stats(mctx, stdout);
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
fflush(stdout);
|
||||
if (ferror(stdout)) {
|
||||
fprintf(stderr, "write error\n");
|
||||
return (1);
|
||||
} else
|
||||
return (0);
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-dsfromkey.docbook,v 1.6 2008/11/07 13:54:11 jreed Exp $ -->
|
||||
<refentry id="man.dnssec-dsfromkey">
|
||||
<refentryinfo>
|
||||
<date>November 29, 2008</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle><application>dnssec-dsfromkey</application></refentrytitle>
|
||||
<manvolnum>8</manvolnum>
|
||||
<refmiscinfo>BIND9</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname><application>dnssec-dsfromkey</application></refname>
|
||||
<refpurpose>DNSSEC DS RR generation tool</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>dnssec-dsfromkey</command>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-1</option></arg>
|
||||
<arg><option>-2</option></arg>
|
||||
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
|
||||
<arg choice="req">keyfile</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>dnssec-dsfromkey</command>
|
||||
<arg choice="req">-s</arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-1</option></arg>
|
||||
<arg><option>-2</option></arg>
|
||||
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
|
||||
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg><option>-d <replaceable class="parameter">dir</replaceable></option></arg>
|
||||
<arg choice="req">dnsname</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>DESCRIPTION</title>
|
||||
<para><command>dnssec-dsfromkey</command>
|
||||
outputs the Delegation Signer (DS) resource record (RR), as defined in
|
||||
RFC 3658 and RFC 4509, for the given key(s).
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>OPTIONS</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-1</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Use SHA-1 as the digest algorithm (the default is to use
|
||||
both SHA-1 and SHA-256).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-2</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Use SHA-256 as the digest algorithm.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-a <replaceable class="parameter">algorithm</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Select the digest algorithm. The value of
|
||||
<option>algorithm</option> must be one of SHA-1 (SHA1) or
|
||||
SHA-256 (SHA256). These values are case insensitive.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-v <replaceable class="parameter">level</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the debugging level.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Keyset mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a keyset file. Following options make sense
|
||||
only in this mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-c <replaceable class="parameter">class</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the DNS class (default is IN), useful only
|
||||
in the keyset mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-d <replaceable class="parameter">directory</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Look for <filename>keyset</filename> files in
|
||||
<option>directory</option> as the directory, ignored when
|
||||
not in the keyset mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>EXAMPLE</title>
|
||||
<para>
|
||||
To build the SHA-256 DS RR from the
|
||||
<userinput>Kexample.com.+003+26160</userinput>
|
||||
keyfile name, the following command would be issued:
|
||||
</para>
|
||||
<para><userinput>dnssec-dsfromkey -2 Kexample.com.+003+26160</userinput>
|
||||
</para>
|
||||
<para>
|
||||
The command would print something like:
|
||||
</para>
|
||||
<para><userinput>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94</userinput>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>FILES</title>
|
||||
<para>
|
||||
The keyfile can be designed by the key identification
|
||||
<filename>Knnnn.+aaa+iiiii</filename> or the full file name
|
||||
<filename>Knnnn.+aaa+iiiii.key</filename> as generated by
|
||||
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>.
|
||||
</para>
|
||||
<para>
|
||||
The keyset file name is built from the <option>directory</option>,
|
||||
the string <filename>keyset-</filename> and the
|
||||
<option>dnsname</option>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>CAVEAT</title>
|
||||
<para>
|
||||
A keyfile error can give a "file not found" even if the file exists.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>SEE ALSO</title>
|
||||
<para><citerefentry>
|
||||
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
|
||||
<citetitle>RFC 3658</citetitle>,
|
||||
<citetitle>RFC 4509</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>AUTHOR</title>
|
||||
<para><corpauthor>Internet Systems Consortium</corpauthor>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry><!--
|
||||
- Local variables:
|
||||
- mode: sgml
|
||||
- End:
|
||||
-->
|
||||
@@ -0,0 +1,133 @@
|
||||
<!--
|
||||
- Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-dsfromkey.html,v 1.5.110.2 2010/03/03 23:32:17 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>dnssec-dsfromkey</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
|
||||
<a name="man.dnssec-dsfromkey"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2>Name</h2>
|
||||
<p><span class="application">dnssec-dsfromkey</span> — DNSSEC DS RR generation tool</p>
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] {keyfile}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>dir</code></em></code>] {dnsname}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543421"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-dsfromkey</strong></span>
|
||||
outputs the Delegation Signer (DS) resource record (RR), as defined in
|
||||
RFC 3658 and RFC 4509, for the given key(s).
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543433"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-1</span></dt>
|
||||
<dd><p>
|
||||
Use SHA-1 as the digest algorithm (the default is to use
|
||||
both SHA-1 and SHA-256).
|
||||
</p></dd>
|
||||
<dt><span class="term">-2</span></dt>
|
||||
<dd><p>
|
||||
Use SHA-256 as the digest algorithm.
|
||||
</p></dd>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd><p>
|
||||
Select the digest algorithm. The value of
|
||||
<code class="option">algorithm</code> must be one of SHA-1 (SHA1) or
|
||||
SHA-256 (SHA256). These values are case insensitive.
|
||||
</p></dd>
|
||||
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the debugging level.
|
||||
</p></dd>
|
||||
<dt><span class="term">-s</span></dt>
|
||||
<dd><p>
|
||||
Keyset mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a keyset file. Following options make sense
|
||||
only in this mode.
|
||||
</p></dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the DNS class (default is IN), useful only
|
||||
in the keyset mode.
|
||||
</p></dd>
|
||||
<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
Look for <code class="filename">keyset</code> files in
|
||||
<code class="option">directory</code> as the directory, ignored when
|
||||
not in the keyset mode.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543561"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
To build the SHA-256 DS RR from the
|
||||
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
|
||||
keyfile name, the following command would be issued:
|
||||
</p>
|
||||
<p><strong class="userinput"><code>dnssec-dsfromkey -2 Kexample.com.+003+26160</code></strong>
|
||||
</p>
|
||||
<p>
|
||||
The command would print something like:
|
||||
</p>
|
||||
<p><strong class="userinput"><code>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94</code></strong>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543591"></a><h2>FILES</h2>
|
||||
<p>
|
||||
The keyfile can be designed by the key identification
|
||||
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
|
||||
<code class="filename">Knnnn.+aaa+iiiii.key</code> as generated by
|
||||
<span class="refentrytitle">dnssec-keygen</span>(8).
|
||||
</p>
|
||||
<p>
|
||||
The keyset file name is built from the <code class="option">directory</code>,
|
||||
the string <code class="filename">keyset-</code> and the
|
||||
<code class="option">dnsname</code>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543626"></a><h2>CAVEAT</h2>
|
||||
<p>
|
||||
A keyfile error can give a "file not found" even if the file exists.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543636"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 3658</em>,
|
||||
<em class="citetitle">RFC 4509</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543672"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
</div></body>
|
||||
</html>
|
||||
@@ -1,6 +1,6 @@
|
||||
.\" Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -12,18 +12,18 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-keyfromlabel.8,v 1.3 2008/04/01 01:11:50 tbox Exp $
|
||||
.\" $Id: dnssec-keyfromlabel.8,v 1.6.14.3 2010/01/16 01:55:32 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: dnssec\-keyfromlabel
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: february 8, 2008
|
||||
.\" Date: February 8, 2008
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DNSSEC\-KEYFROMLABEL" "8" "february 8, 2008" "BIND9" "BIND9"
|
||||
.TH "DNSSEC\-KEYFROMLABEL" "8" "February 8, 2008" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
@@ -43,7 +43,13 @@ gets keys with the given label from a crypto hardware and builds key files for D
|
||||
.RS 4
|
||||
Selects the cryptographic algorithm. The value of
|
||||
\fBalgorithm\fR
|
||||
must be one of RSAMD5 (RSA) or RSASHA1, DSA or DH (Diffie Hellman). These values are case insensitive.
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or DH (Diffie Hellman). These values are case insensitive.
|
||||
.sp
|
||||
If no algorithm is specified, then RSASHA1 will be used by default, unless the
|
||||
\fB\-3\fR
|
||||
option is specified, in which case NSEC3RSASHA1 will be used instead. (If
|
||||
\fB\-3\fR
|
||||
is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3.)
|
||||
.sp
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended.
|
||||
.sp
|
||||
@@ -138,12 +144,10 @@ file contains algorithm specific fields. For obvious security reasons, this file
|
||||
\fBdnssec\-keygen\fR(8),
|
||||
\fBdnssec\-signzone\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 2535,
|
||||
RFC 2845,
|
||||
RFC 2539.
|
||||
RFC 4034.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2007, 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.3 2008/03/31 23:47:11 tbox Exp $ */
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.4.50.2 2010/01/15 23:47:31 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -47,7 +47,9 @@
|
||||
const char *program = "dnssec-keyfromlabel";
|
||||
int verbose;
|
||||
|
||||
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1";
|
||||
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
|
||||
" NSEC3DSA | NSEC3RSASHA1 |"
|
||||
" RSASHA256 | RSASHA512";
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -17,10 +17,10 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.3 2008/03/31 23:47:11 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.6.14.2 2010/01/15 23:47:31 tbox Exp $ -->
|
||||
<refentry id="man.dnssec-keyfromlabel">
|
||||
<refentryinfo>
|
||||
<date>february 8, 2008</date>
|
||||
<date>February 8, 2008</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
@@ -37,6 +37,7 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<year>2010</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -75,10 +76,18 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<option>algorithm</option> must be one of RSAMD5 (RSA)
|
||||
or RSASHA1, DSA or DH (Diffie Hellman). These values
|
||||
are case insensitive.
|
||||
<option>algorithm</option> must be one of RSAMD5,
|
||||
RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256,
|
||||
RSASHA512 or DH (Diffie Hellman).
|
||||
These values are case insensitive.
|
||||
</para>
|
||||
<para>
|
||||
If no algorithm is specified, then RSASHA1 will be used by
|
||||
default, unless the <option>-3</option> option is specified,
|
||||
in which case NSEC3RSASHA1 will be used instead. (If
|
||||
<option>-3</option> is used and an algorithm is specified,
|
||||
that algorithm will be checked for compatibility with NSEC3.)
|
||||
</para>
|
||||
<para>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm, and DSA is recommended.
|
||||
@@ -246,9 +255,7 @@
|
||||
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
|
||||
<citetitle>RFC 2535</citetitle>,
|
||||
<citetitle>RFC 2845</citetitle>,
|
||||
<citetitle>RFC 2539</citetitle>.
|
||||
<citetitle>RFC 4034</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
- Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-keyfromlabel.html,v 1.3 2008/04/01 01:11:50 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-keyfromlabel.html,v 1.5.44.3.4.1 2010/03/03 22:19:19 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -31,7 +31,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-k</code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543413"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543414"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
|
||||
gets keys with the given label from a crypto hardware and builds
|
||||
key files for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
@@ -39,16 +39,24 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543425"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543426"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<code class="option">algorithm</code> must be one of RSAMD5 (RSA)
|
||||
or RSASHA1, DSA or DH (Diffie Hellman). These values
|
||||
are case insensitive.
|
||||
<code class="option">algorithm</code> must be one of RSAMD5,
|
||||
RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256,
|
||||
RSASHA512 or DH (Diffie Hellman).
|
||||
These values are case insensitive.
|
||||
</p>
|
||||
<p>
|
||||
If no algorithm is specified, then RSASHA1 will be used by
|
||||
default, unless the <code class="option">-3</code> option is specified,
|
||||
in which case NSEC3RSASHA1 will be used instead. (If
|
||||
<code class="option">-3</code> is used and an algorithm is specified,
|
||||
that algorithm will be checked for compatibility with NSEC3.)
|
||||
</p>
|
||||
<p>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm, and DSA is recommended.
|
||||
@@ -112,7 +120,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543619"></a><h2>GENERATED KEY FILES</h2>
|
||||
<a name="id2543629"></a><h2>GENERATED KEY FILES</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
|
||||
successfully,
|
||||
@@ -153,17 +161,15 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543691"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543702"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2535</em>,
|
||||
<em class="citetitle">RFC 2845</em>,
|
||||
<em class="citetitle">RFC 2539</em>.
|
||||
<em class="citetitle">RFC 4034</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543731"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543735"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-keygen.8,v 1.38 2007/06/18 23:37:19 marka Exp $
|
||||
.\" $Id: dnssec-keygen.8,v 1.40.44.4 2010/01/16 01:55:32 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -38,13 +38,17 @@ dnssec\-keygen \- DNSSEC key generation tool
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
.PP
|
||||
The
|
||||
\fBname\fR
|
||||
of the key is specified on the command line. For DNSSEC keys, this must match the name of the zone for which the key is being generated.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-a \fIalgorithm\fR
|
||||
.RS 4
|
||||
Selects the cryptographic algorithm. The value of
|
||||
Selects the cryptographic algorithm. For DNSSEC keys, the value of
|
||||
\fBalgorithm\fR
|
||||
must be one of RSAMD5 (RSA) or RSASHA1, DSA, DH (Diffie Hellman), or HMAC\-MD5. These values are case insensitive.
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
|
||||
.sp
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended. For TSIG, HMAC\-MD5 is mandatory.
|
||||
.sp
|
||||
@@ -53,7 +57,7 @@ Note 2: HMAC\-MD5 and DH automatically set the \-k flag.
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
.RS 4
|
||||
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC\-MD5 keys must be between 1 and 512 bits.
|
||||
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits.
|
||||
.RE
|
||||
.PP
|
||||
\-n \fInametype\fR
|
||||
@@ -187,14 +191,14 @@ and
|
||||
.PP
|
||||
\fBdnssec\-signzone\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 2535,
|
||||
RFC 2539,
|
||||
RFC 2845,
|
||||
RFC 2539.
|
||||
RFC 4034.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004, 2005, 2007\-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2003 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Portions Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 2004-2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -29,7 +29,7 @@
|
||||
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-keygen.c,v 1.79 2007/08/28 07:20:42 tbox Exp $ */
|
||||
/* $Id: dnssec-keygen.c,v 1.81.48.2 2010/01/15 23:47:31 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -62,8 +62,9 @@
|
||||
const char *program = "dnssec-keygen";
|
||||
int verbose;
|
||||
|
||||
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 | HMAC-MD5 |"
|
||||
" HMAC-SHA1 | HMAC-SHA224 | HMAC-SHA256 | "
|
||||
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 | RSASHA256 |"
|
||||
" RSASHA512 | NSEC3DSA | NSEC3RSASHA1 | HMAC-MD5 |"
|
||||
" HMAC-SHA1 | HMAC-SHA224 | HMAC-SHA256 |"
|
||||
" HMAC-SHA384 | HMAC-SHA512";
|
||||
|
||||
static isc_boolean_t
|
||||
@@ -82,8 +83,12 @@ usage(void) {
|
||||
fprintf(stderr, " -b key size, in bits:\n");
|
||||
fprintf(stderr, " RSAMD5:\t\t[512..%d]\n", MAX_RSA);
|
||||
fprintf(stderr, " RSASHA1:\t\t[512..%d]\n", MAX_RSA);
|
||||
fprintf(stderr, " NSEC3RSASHA1:\t\t[512..%d]\n", MAX_RSA);
|
||||
fprintf(stderr, " RSASHA256:\t[512..%d]\n", MAX_RSA);
|
||||
fprintf(stderr, " RSASHA512:\t[1024..%d]\n", MAX_RSA);
|
||||
fprintf(stderr, " DH:\t\t[128..4096]\n");
|
||||
fprintf(stderr, " DSA:\t\t[512..1024] and divisible by 64\n");
|
||||
fprintf(stderr, " NSEC3DSA:\t\t[512..1024] and divisible by 64\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");
|
||||
@@ -303,14 +308,21 @@ main(int argc, char **argv) {
|
||||
switch (alg) {
|
||||
case DNS_KEYALG_RSAMD5:
|
||||
case DNS_KEYALG_RSASHA1:
|
||||
case DNS_KEYALG_NSEC3RSASHA1:
|
||||
case DNS_KEYALG_RSASHA256:
|
||||
if (size != 0 && (size < 512 || size > MAX_RSA))
|
||||
fatal("RSA key size %d out of range", size);
|
||||
break;
|
||||
case DNS_KEYALG_RSASHA512:
|
||||
if (size != 0 && (size < 1024 || size > MAX_RSA))
|
||||
fatal("RSA key size %d out of range", size);
|
||||
break;
|
||||
case DNS_KEYALG_DH:
|
||||
if (size != 0 && (size < 128 || size > 4096))
|
||||
fatal("DH key size %d out of range", size);
|
||||
break;
|
||||
case DNS_KEYALG_DSA:
|
||||
case DNS_KEYALG_NSEC3DSA:
|
||||
if (size != 0 && !dsa_size_ok(size))
|
||||
fatal("invalid DSS key size: %d", size);
|
||||
break;
|
||||
@@ -370,8 +382,9 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1) &&
|
||||
rsa_exp != 0)
|
||||
if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1 ||
|
||||
alg == DNS_KEYALG_NSEC3RSASHA1 || alg == DNS_KEYALG_RSASHA256 ||
|
||||
alg == DNS_KEYALG_RSASHA512) && rsa_exp != 0)
|
||||
fatal("specified RSA exponent for a non-RSA key");
|
||||
|
||||
if (alg != DNS_KEYALG_DH && generator != 0)
|
||||
@@ -435,12 +448,16 @@ main(int argc, char **argv) {
|
||||
switch(alg) {
|
||||
case DNS_KEYALG_RSAMD5:
|
||||
case DNS_KEYALG_RSASHA1:
|
||||
case DNS_KEYALG_NSEC3RSASHA1:
|
||||
case DNS_KEYALG_RSASHA256:
|
||||
case DNS_KEYALG_RSASHA512:
|
||||
param = rsa_exp;
|
||||
break;
|
||||
case DNS_KEYALG_DH:
|
||||
param = generator;
|
||||
break;
|
||||
case DNS_KEYALG_DSA:
|
||||
case DNS_KEYALG_NSEC3DSA:
|
||||
case DST_ALG_HMACMD5:
|
||||
case DST_ALG_HMACSHA1:
|
||||
case DST_ALG_HMACSHA224:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-keygen.docbook,v 1.19 2007/06/18 23:47:17 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-keygen.docbook,v 1.22.44.4 2010/01/15 23:47:33 tbox Exp $ -->
|
||||
<refentry id="man.dnssec-keygen">
|
||||
<refentryinfo>
|
||||
<date>June 30, 2000</date>
|
||||
@@ -40,6 +40,9 @@
|
||||
<year>2004</year>
|
||||
<year>2005</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -79,6 +82,11 @@
|
||||
and RFC 4034. It can also generate keys for use with
|
||||
TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
</para>
|
||||
<para>
|
||||
The <option>name</option> of the key is specified on the command
|
||||
line. For DNSSEC keys, this must match the name of the zone for
|
||||
which the key is being generated.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@@ -89,15 +97,18 @@
|
||||
<term>-a <replaceable class="parameter">algorithm</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<option>algorithm</option> must be one of RSAMD5 (RSA) or RSASHA1,
|
||||
DSA, DH (Diffie Hellman), or HMAC-MD5. These values
|
||||
are case insensitive.
|
||||
Selects the cryptographic algorithm. For DNSSEC keys, the value
|
||||
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
|
||||
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
|
||||
case insensitive.
|
||||
</para>
|
||||
<para>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm,
|
||||
and DSA is recommended. For TSIG, HMAC-MD5 is mandatory.
|
||||
algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
|
||||
mandatory.
|
||||
</para>
|
||||
<para>
|
||||
Note 2: HMAC-MD5 and DH automatically set the -k flag.
|
||||
@@ -110,11 +121,10 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of bits in the key. The choice of key
|
||||
size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be
|
||||
between
|
||||
512 and 2048 bits. Diffie Hellman keys must be between
|
||||
size depends on the algorithm used. RSA keys must be
|
||||
between 512 and 2048 bits. Diffie Hellman keys must be between
|
||||
128 and 4096 bits. DSA keys must be between 512 and 1024
|
||||
bits and an exact multiple of 64. HMAC-MD5 keys must be
|
||||
bits and an exact multiple of 64. HMAC keys must be
|
||||
between 1 and 512 bits.
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -340,9 +350,9 @@
|
||||
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
|
||||
<citetitle>RFC 2535</citetitle>,
|
||||
<citetitle>RFC 2539</citetitle>,
|
||||
<citetitle>RFC 2845</citetitle>,
|
||||
<citetitle>RFC 2539</citetitle>.
|
||||
<citetitle>RFC 4034</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-keygen.html,v 1.30 2007/06/18 23:37:19 marka Exp $ -->
|
||||
<!-- $Id: dnssec-keygen.html,v 1.32.44.4.4.1 2010/03/03 22:19:19 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,28 +32,36 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543474"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543481"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-keygen</strong></span>
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034. It can also generate keys for use with
|
||||
TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
</p>
|
||||
<p>
|
||||
The <code class="option">name</code> of the key is specified on the command
|
||||
line. For DNSSEC keys, this must match the name of the zone for
|
||||
which the key is being generated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543485"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543499"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<code class="option">algorithm</code> must be one of RSAMD5 (RSA) or RSASHA1,
|
||||
DSA, DH (Diffie Hellman), or HMAC-MD5. These values
|
||||
are case insensitive.
|
||||
Selects the cryptographic algorithm. For DNSSEC keys, the value
|
||||
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
|
||||
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
|
||||
case insensitive.
|
||||
</p>
|
||||
<p>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm,
|
||||
and DSA is recommended. For TSIG, HMAC-MD5 is mandatory.
|
||||
algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
|
||||
mandatory.
|
||||
</p>
|
||||
<p>
|
||||
Note 2: HMAC-MD5 and DH automatically set the -k flag.
|
||||
@@ -62,11 +70,10 @@
|
||||
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the number of bits in the key. The choice of key
|
||||
size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be
|
||||
between
|
||||
512 and 2048 bits. Diffie Hellman keys must be between
|
||||
size depends on the algorithm used. RSA keys must be
|
||||
between 512 and 2048 bits. Diffie Hellman keys must be between
|
||||
128 and 4096 bits. DSA keys must be between 512 and 1024
|
||||
bits and an exact multiple of 64. HMAC-MD5 keys must be
|
||||
bits and an exact multiple of 64. HMAC keys must be
|
||||
between 1 and 512 bits.
|
||||
</p></dd>
|
||||
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
|
||||
@@ -148,7 +155,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543820"></a><h2>GENERATED KEYS</h2>
|
||||
<a name="id2543834"></a><h2>GENERATED KEYS</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keygen</strong></span> completes
|
||||
successfully,
|
||||
@@ -194,7 +201,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543902"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2543916"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
To generate a 768-bit DSA key for the domain
|
||||
<strong class="userinput"><code>example.com</code></strong>, the following command would be
|
||||
@@ -215,16 +222,16 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543946"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544028"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2535</em>,
|
||||
<em class="citetitle">RFC 2539</em>,
|
||||
<em class="citetitle">RFC 2845</em>,
|
||||
<em class="citetitle">RFC 2539</em>.
|
||||
<em class="citetitle">RFC 4034</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544045"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544059"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,18 +13,18 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-signzone.8,v 1.45 2007/05/09 03:33:50 marka Exp $
|
||||
.\" $Id: dnssec-signzone.8,v 1.47.44.8 2009/11/07 01:56:11 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: dnssec\-signzone
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: June 30, 2000
|
||||
.\" Date: June 08, 2009
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9"
|
||||
.TH "DNSSEC\-SIGNZONE" "8" "June 08, 2009" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
@@ -33,13 +33,15 @@
|
||||
dnssec\-signzone \- DNSSEC zone signing tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 16
|
||||
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {zonefile} [key...]
|
||||
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-P\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-signzone\fR
|
||||
signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a
|
||||
\fIkeyset\fR
|
||||
file for each child zone.
|
||||
signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. It also generates a
|
||||
\fIkeyset\-\fR
|
||||
file containing the key\-signing keys for the zone, and if signing a zone which contains delegations, it can optionally generate DS records for the child zones from their
|
||||
\fIkeyset\-\fR
|
||||
files.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-a
|
||||
@@ -73,7 +75,9 @@ as the directory
|
||||
.PP
|
||||
\-g
|
||||
.RS 4
|
||||
Generate DS records for child zones from keyset files. Existing DS records will be removed.
|
||||
If the zone contains any delegations, and there are
|
||||
\fIkeyset\-\fR
|
||||
files for any of the child zones, then DS records for the child zones will be generated from the keys in those files. Existing DS records will be removed.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIstart\-time\fR
|
||||
@@ -186,6 +190,13 @@ The format of the output file containing the signed zone. Possible formats are
|
||||
Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited.
|
||||
.RE
|
||||
.PP
|
||||
\-P
|
||||
.RS 4
|
||||
Disable post sign verification tests.
|
||||
.sp
|
||||
The post sign verification test ensures that for each algorithm in use there is at least one non revoked self signed KSK key, that all revoked KSK keys are self signed, and that all records in the zone are signed by the algorithm. This option skips these tests.
|
||||
.RE
|
||||
.PP
|
||||
\-r \fIrandomdev\fR
|
||||
.RS 4
|
||||
Specifies the source of randomness. If the operating system does not provide a
|
||||
@@ -212,6 +223,21 @@ Sets the debugging level.
|
||||
Ignore KSK flag on key when determining what to sign.
|
||||
.RE
|
||||
.PP
|
||||
\-3 \fIsalt\fR
|
||||
.RS 4
|
||||
Generate a NSEC3 chain with the given hex encoded salt. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain.
|
||||
.RE
|
||||
.PP
|
||||
\-H \fIiterations\fR
|
||||
.RS 4
|
||||
When generating a NSEC3 chain use this many interations. The default is 100.
|
||||
.RE
|
||||
.PP
|
||||
\-A
|
||||
.RS 4
|
||||
When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations.
|
||||
.RE
|
||||
.PP
|
||||
zonefile
|
||||
.RS 4
|
||||
The file containing the zone to be signed.
|
||||
@@ -257,16 +283,28 @@ db.example.com.signed
|
||||
%
|
||||
.fi
|
||||
.RE
|
||||
.SH "KNOWN BUGS"
|
||||
.PP
|
||||
\fBdnssec\-signzone\fR
|
||||
was designed so that it could sign a zone partially, using only a subset of the DNSSEC keys needed to produce a fully\-signed zone. This permits a zone administrator, for example, to sign a zone with one key on one machine, move the resulting partially\-signed zone to a second machine, and sign it again with a second key.
|
||||
.PP
|
||||
An unfortunate side\-effect of this flexibility is that
|
||||
\fBdnssec\-signzone\fR
|
||||
does not check to make sure it's signing a zone with any valid keys at all. An attempt to sign a zone without any keys will appear to succeed, producing a "signed" zone with no signatures. There is no warning issued when a zone is not fully signed.
|
||||
.PP
|
||||
This will be corrected in a future release. In the meantime, ISC recommends examining the output of
|
||||
\fBdnssec\-signzone\fR
|
||||
to confirm that the zone is properly signed by all keys before using it.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 2535.
|
||||
RFC 4033.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2003 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
+1511
-279
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,10 +18,10 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-signzone.docbook,v 1.27 2007/06/18 23:47:18 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-signzone.docbook,v 1.31.44.8 2009/11/06 21:36:22 each Exp $ -->
|
||||
<refentry id="man.dnssec-signzone">
|
||||
<refentryinfo>
|
||||
<date>June 30, 2000</date>
|
||||
<date>June 08, 2009</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
@@ -41,6 +41,8 @@
|
||||
<year>2005</year>
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -71,11 +73,15 @@
|
||||
<arg><option>-o <replaceable class="parameter">origin</replaceable></option></arg>
|
||||
<arg><option>-O <replaceable class="parameter">output-format</replaceable></option></arg>
|
||||
<arg><option>-p</option></arg>
|
||||
<arg><option>-P</option></arg>
|
||||
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
|
||||
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
|
||||
<arg><option>-t</option></arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-z</option></arg>
|
||||
<arg><option>-3 <replaceable class="parameter">salt</replaceable></option></arg>
|
||||
<arg><option>-H <replaceable class="parameter">iterations</replaceable></option></arg>
|
||||
<arg><option>-A</option></arg>
|
||||
<arg choice="req">zonefile</arg>
|
||||
<arg rep="repeat">key</arg>
|
||||
</cmdsynopsis>
|
||||
@@ -86,10 +92,10 @@
|
||||
<para><command>dnssec-signzone</command>
|
||||
signs a zone. It generates
|
||||
NSEC and RRSIG records and produces a signed version of the
|
||||
zone. The security status of delegations from the signed zone
|
||||
(that is, whether the child zones are secure or not) is
|
||||
determined by the presence or absence of a
|
||||
<filename>keyset</filename> file for each child zone.
|
||||
zone. It also generates a <filename>keyset-</filename> file containing
|
||||
the key-signing keys for the zone, and if signing a zone which
|
||||
contains delegations, it can optionally generate DS records for
|
||||
the child zones from their <filename>keyset-</filename> files.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -149,8 +155,10 @@
|
||||
<term>-g</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate DS records for child zones from keyset files.
|
||||
Existing DS records will be removed.
|
||||
If the zone contains any delegations, and there are
|
||||
<filename>keyset-</filename> files for any of the child zones,
|
||||
then DS records for the child zones will be generated from the
|
||||
keys in those files. Existing DS records will be removed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -354,6 +362,22 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-P</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Disable post sign verification tests.
|
||||
</para>
|
||||
<para>
|
||||
The post sign verification test ensures that for each algorithm
|
||||
in use there is at least one non revoked self signed KSK key,
|
||||
that all revoked KSK keys are self signed, and that all records
|
||||
in the zone are signed by the algorithm.
|
||||
This option skips these tests.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
|
||||
<listitem>
|
||||
@@ -398,6 +422,38 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-3 <replaceable class="parameter">salt</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate a NSEC3 chain with the given hex encoded salt.
|
||||
A dash (<replaceable class="parameter">salt</replaceable>) can
|
||||
be used to indicate that no salt is to be used when generating the NSEC3 chain.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-H <replaceable class="parameter">iterations</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
When generating a NSEC3 chain use this many interations. The
|
||||
default is 100.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-A</term>
|
||||
<listitem>
|
||||
<para>
|
||||
When generating a NSEC3 chain set the OPTOUT flag on all
|
||||
NSEC3 records and do not generate NSEC3 records for insecure
|
||||
delegations.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>zonefile</term>
|
||||
<listitem>
|
||||
@@ -453,13 +509,40 @@ db.example.com.signed
|
||||
%</programlisting>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>KNOWN BUGS</title>
|
||||
<para>
|
||||
<command>dnssec-signzone</command> was designed so that it could
|
||||
sign a zone partially, using only a subset of the DNSSEC keys
|
||||
needed to produce a fully-signed zone. This permits a zone
|
||||
administrator, for example, to sign a zone with one key on one
|
||||
machine, move the resulting partially-signed zone to a second
|
||||
machine, and sign it again with a second key.
|
||||
</para>
|
||||
<para>
|
||||
An unfortunate side-effect of this flexibility is that
|
||||
<command>dnssec-signzone</command> does not check to make sure
|
||||
it's signing a zone with any valid keys at all. An attempt to
|
||||
sign a zone without any keys will appear to succeed, producing
|
||||
a "signed" zone with no signatures. There is no warning issued
|
||||
when a zone is not fully signed.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This will be corrected in a future release. In the meantime, ISC
|
||||
recommends examining the output of <command>dnssec-signzone</command>
|
||||
to confirm that the zone is properly signed by all keys before
|
||||
using it.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>SEE ALSO</title>
|
||||
<para><citerefentry>
|
||||
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
|
||||
<citetitle>RFC 2535</citetitle>.
|
||||
<citetitle>RFC 4033</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-signzone.html,v 1.31 2007/05/09 03:33:50 marka Exp $ -->
|
||||
<!-- $Id: dnssec-signzone.html,v 1.33.44.8.10.1 2010/03/03 22:19:19 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,21 +29,21 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-P</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543526"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543556"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-signzone</strong></span>
|
||||
signs a zone. It generates
|
||||
NSEC and RRSIG records and produces a signed version of the
|
||||
zone. The security status of delegations from the signed zone
|
||||
(that is, whether the child zones are secure or not) is
|
||||
determined by the presence or absence of a
|
||||
<code class="filename">keyset</code> file for each child zone.
|
||||
zone. It also generates a <code class="filename">keyset-</code> file containing
|
||||
the key-signing keys for the zone, and if signing a zone which
|
||||
contains delegations, it can optionally generate DS records for
|
||||
the child zones from their <code class="filename">keyset-</code> files.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543541"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543574"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a</span></dt>
|
||||
<dd><p>
|
||||
@@ -70,8 +70,10 @@
|
||||
</p></dd>
|
||||
<dt><span class="term">-g</span></dt>
|
||||
<dd><p>
|
||||
Generate DS records for child zones from keyset files.
|
||||
Existing DS records will be removed.
|
||||
If the zone contains any delegations, and there are
|
||||
<code class="filename">keyset-</code> files for any of the child zones,
|
||||
then DS records for the child zones will be generated from the
|
||||
keys in those files. Existing DS records will be removed.
|
||||
</p></dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -202,6 +204,19 @@
|
||||
may be useful when signing large zones or when the entropy
|
||||
source is limited.
|
||||
</p></dd>
|
||||
<dt><span class="term">-P</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Disable post sign verification tests.
|
||||
</p>
|
||||
<p>
|
||||
The post sign verification test ensures that for each algorithm
|
||||
in use there is at least one non revoked self signed KSK key,
|
||||
that all revoked KSK keys are self signed, and that all records
|
||||
in the zone are signed by the algorithm.
|
||||
This option skips these tests.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the source of randomness. If the operating
|
||||
@@ -226,6 +241,23 @@
|
||||
<dd><p>
|
||||
Ignore KSK flag on key when determining what to sign.
|
||||
</p></dd>
|
||||
<dt><span class="term">-3 <em class="replaceable"><code>salt</code></em></span></dt>
|
||||
<dd><p>
|
||||
Generate a NSEC3 chain with the given hex encoded salt.
|
||||
A dash (<em class="replaceable"><code>salt</code></em>) can
|
||||
be used to indicate that no salt is to be used when generating the NSEC3 chain.
|
||||
</p></dd>
|
||||
<dt><span class="term">-H <em class="replaceable"><code>iterations</code></em></span></dt>
|
||||
<dd><p>
|
||||
When generating a NSEC3 chain use this many interations. The
|
||||
default is 100.
|
||||
</p></dd>
|
||||
<dt><span class="term">-A</span></dt>
|
||||
<dd><p>
|
||||
When generating a NSEC3 chain set the OPTOUT flag on all
|
||||
NSEC3 records and do not generate NSEC3 records for insecure
|
||||
delegations.
|
||||
</p></dd>
|
||||
<dt><span class="term">zonefile</span></dt>
|
||||
<dd><p>
|
||||
The file containing the zone to be signed.
|
||||
@@ -241,7 +273,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544327"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2544433"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
The following command signs the <strong class="userinput"><code>example.com</code></strong>
|
||||
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
|
||||
@@ -270,14 +302,39 @@ db.example.com.signed
|
||||
%</pre>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544378"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2535</em>.
|
||||
<a name="id2544552"></a><h2>KNOWN BUGS</h2>
|
||||
<p>
|
||||
<span><strong class="command">dnssec-signzone</strong></span> was designed so that it could
|
||||
sign a zone partially, using only a subset of the DNSSEC keys
|
||||
needed to produce a fully-signed zone. This permits a zone
|
||||
administrator, for example, to sign a zone with one key on one
|
||||
machine, move the resulting partially-signed zone to a second
|
||||
machine, and sign it again with a second key.
|
||||
</p>
|
||||
<p>
|
||||
An unfortunate side-effect of this flexibility is that
|
||||
<span><strong class="command">dnssec-signzone</strong></span> does not check to make sure
|
||||
it's signing a zone with any valid keys at all. An attempt to
|
||||
sign a zone without any keys will appear to succeed, producing
|
||||
a "signed" zone with no signatures. There is no warning issued
|
||||
when a zone is not fully signed.
|
||||
</p>
|
||||
<p>
|
||||
This will be corrected in a future release. In the meantime, ISC
|
||||
recommends examining the output of <span><strong class="command">dnssec-signzone</strong></span>
|
||||
to confirm that the zone is properly signed by all keys before
|
||||
using it.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544403"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544714"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 4033</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544739"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssectool.c,v 1.45 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: dnssectool.c,v 1.45.334.5 2009/06/22 05:05:00 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -65,7 +65,7 @@ void
|
||||
fatal(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fprintf(stderr, "%s: ", program);
|
||||
fprintf(stderr, "%s: fatal: ", program);
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
@@ -222,7 +222,7 @@ setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
|
||||
int usekeyboard = ISC_ENTROPY_KEYBOARDMAYBE;
|
||||
|
||||
REQUIRE(ectx != NULL);
|
||||
|
||||
|
||||
if (*ectx == NULL) {
|
||||
result = isc_entropy_create(mctx, ectx);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssectool.h,v 1.20 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: dnssectool.h,v 1.22.48.2 2009/09/04 23:46:58 tbox Exp $ */
|
||||
|
||||
#ifndef DNSSECTOOL_H
|
||||
#define DNSSECTOOL_H 1
|
||||
@@ -41,11 +41,11 @@ vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
|
||||
|
||||
void
|
||||
type_format(const dns_rdatatype_t type, char *cp, unsigned int size);
|
||||
#define TYPE_FORMATSIZE 10
|
||||
#define TYPE_FORMATSIZE 20
|
||||
|
||||
void
|
||||
alg_format(const dns_secalg_t alg, char *cp, unsigned int size);
|
||||
#define ALG_FORMATSIZE 10
|
||||
#define ALG_FORMATSIZE 20
|
||||
|
||||
void
|
||||
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size);
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
# Microsoft Developer Studio Project File - Name="dsfromkey" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=dsfromkey - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "dsfromkey.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "dsfromkey.mak" CFG="dsfromkey - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "dsfromkey - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "dsfromkey - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-dsfromkey.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dsfromkey - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-dsfromkey.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "dsfromkey - Win32 Release"
|
||||
# Name "dsfromkey - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\dnssec-dsfromkey.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "dsfromkey"=".\dsfromkey.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -0,0 +1,324 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on dsfromkey.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=dsfromkey - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to dsfromkey - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "dsfromkey - Win32 Release" && "$(CFG)" != "dsfromkey - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "dsfromkey.mak" CFG="dsfromkey - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "dsfromkey - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "dsfromkey - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release"
|
||||
_VC_MANIFEST_INC=0
|
||||
_VC_MANIFEST_BASENAME=__VC80
|
||||
!ELSE
|
||||
_VC_MANIFEST_INC=1
|
||||
_VC_MANIFEST_BASENAME=__VC80.Debug
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
# Specifying name of temporary resource file used only in incremental builds:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
|
||||
!else
|
||||
_VC_MANIFEST_AUTO_RES=
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
|
||||
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
|
||||
|
||||
!endif
|
||||
####################################################
|
||||
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
|
||||
$(_VC_MANIFEST_BASENAME).auto.rc \
|
||||
$(_VC_MANIFEST_BASENAME).auto.manifest
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_CLEAN=
|
||||
|
||||
!endif
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "..\..\..\Build\Release\dnssec-dsfromkey.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\dnssec-dsfromkey.obj"
|
||||
-@erase "$(INTDIR)\dnssectool.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\dnssec-dsfromkey.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dsfromkey.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
RSC=rc.exe
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dsfromkey.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dnssec-dsfromkey.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-dsfromkey.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dnssec-dsfromkey.obj" \
|
||||
"$(INTDIR)\dnssectool.obj"
|
||||
|
||||
"..\..\..\Build\Release\dnssec-dsfromkey.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "dsfromkey - Win32 Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "..\..\..\Build\Debug\dnssec-dsfromkey.exe" "$(OUTDIR)\dsfromkey.bsc"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\dnssec-dsfromkey.obj"
|
||||
-@erase "$(INTDIR)\dnssec-dsfromkey.sbr"
|
||||
-@erase "$(INTDIR)\dnssectool.obj"
|
||||
-@erase "$(INTDIR)\dnssectool.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\dnssec-dsfromkey.pdb"
|
||||
-@erase "$(OUTDIR)\dsfromkey.bsc"
|
||||
-@erase "..\..\..\Build\Debug\dnssec-dsfromkey.exe"
|
||||
-@erase "..\..\..\Build\Debug\dnssec-dsfromkey.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
RSC=rc.exe
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dsfromkey.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\dnssec-dsfromkey.sbr" \
|
||||
"$(INTDIR)\dnssectool.sbr"
|
||||
|
||||
"$(OUTDIR)\dsfromkey.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dnssec-dsfromkey.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-dsfromkey.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dnssec-dsfromkey.obj" \
|
||||
"$(INTDIR)\dnssectool.obj"
|
||||
|
||||
"..\..\..\Build\Debug\dnssec-dsfromkey.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("dsfromkey.dep")
|
||||
!INCLUDE "dsfromkey.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "dsfromkey.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release" || "$(CFG)" == "dsfromkey - Win32 Debug"
|
||||
SOURCE="..\dnssec-dsfromkey.c"
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssec-dsfromkey.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "dsfromkey - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssec-dsfromkey.obj" "$(INTDIR)\dnssec-dsfromkey.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\dnssectool.c
|
||||
|
||||
!IF "$(CFG)" == "dsfromkey - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "dsfromkey - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
# Commands to generate initial empty manifest file and the RC file
|
||||
# that references it, and for generating the .res file:
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
|
||||
type <<$@
|
||||
#include <winuser.h>
|
||||
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
|
||||
<< KEEP
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.manifest :
|
||||
type <<$@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||
</assembly>
|
||||
<< KEEP
|
||||
@@ -0,0 +1,103 @@
|
||||
# Microsoft Developer Studio Project File - Name="keyfromlabel" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=keyfromlabel - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "keyfromlabel.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "keyfromlabel.mak" CFG="keyfromlabel - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "keyfromlabel - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "keyfromlabel - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-keyfromlabel.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "keyfromlabel - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keyfromlabel.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "keyfromlabel - Win32 Release"
|
||||
# Name "keyfromlabel - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\dnssec-keyfromlabel.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "keyfromlabel"=".\keyfromlabel.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -0,0 +1,324 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on keyfromlabel.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=keyfromlabel - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to keyfromlabel - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "keyfromlabel - Win32 Release" && "$(CFG)" != "keyfromlabel - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "keyfromlabel.mak" CFG="keyfromlabel - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "keyfromlabel - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "keyfromlabel - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release"
|
||||
_VC_MANIFEST_INC=0
|
||||
_VC_MANIFEST_BASENAME=__VC80
|
||||
!ELSE
|
||||
_VC_MANIFEST_INC=1
|
||||
_VC_MANIFEST_BASENAME=__VC80.Debug
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
# Specifying name of temporary resource file used only in incremental builds:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
|
||||
!else
|
||||
_VC_MANIFEST_AUTO_RES=
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
|
||||
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
|
||||
|
||||
!endif
|
||||
####################################################
|
||||
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
|
||||
$(_VC_MANIFEST_BASENAME).auto.rc \
|
||||
$(_VC_MANIFEST_BASENAME).auto.manifest
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_CLEAN=
|
||||
|
||||
!endif
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "..\..\..\Build\Release\dnssec-keyfromlabel.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\dnssec-keyfromlabel.obj"
|
||||
-@erase "$(INTDIR)\dnssectool.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\dnssec-keyfromlabel.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\keyfromlabel.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
RSC=rc.exe
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\keyfromlabel.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dnssec-keyfromlabel.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-keyfromlabel.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dnssec-keyfromlabel.obj" \
|
||||
"$(INTDIR)\dnssectool.obj"
|
||||
|
||||
"..\..\..\Build\Release\dnssec-keyfromlabel.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "keyfromlabel - Win32 Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "..\..\..\Build\Debug\dnssec-keyfromlabel.exe" "$(OUTDIR)\keyfromlabel.bsc"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\dnssec-keyfromlabel.obj"
|
||||
-@erase "$(INTDIR)\dnssec-keyfromlabel.sbr"
|
||||
-@erase "$(INTDIR)\dnssectool.obj"
|
||||
-@erase "$(INTDIR)\dnssectool.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\dnssec-keyfromlabel.pdb"
|
||||
-@erase "$(OUTDIR)\keyfromlabel.bsc"
|
||||
-@erase "..\..\..\Build\Debug\dnssec-keyfromlabel.exe"
|
||||
-@erase "..\..\..\Build\Debug\dnssec-keyfromlabel.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
RSC=rc.exe
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\keyfromlabel.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\dnssec-keyfromlabel.sbr" \
|
||||
"$(INTDIR)\dnssectool.sbr"
|
||||
|
||||
"$(OUTDIR)\keyfromlabel.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dnssec-keyfromlabel.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keyfromlabel.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dnssec-keyfromlabel.obj" \
|
||||
"$(INTDIR)\dnssectool.obj"
|
||||
|
||||
"..\..\..\Build\Debug\dnssec-keyfromlabel.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("keyfromlabel.dep")
|
||||
!INCLUDE "keyfromlabel.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "keyfromlabel.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release" || "$(CFG)" == "keyfromlabel - Win32 Debug"
|
||||
SOURCE="..\dnssec-keyfromlabel.c"
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssec-keyfromlabel.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "keyfromlabel - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssec-keyfromlabel.obj" "$(INTDIR)\dnssec-keyfromlabel.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\dnssectool.c
|
||||
|
||||
!IF "$(CFG)" == "keyfromlabel - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "keyfromlabel - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
# Commands to generate initial empty manifest file and the RC file
|
||||
# that references it, and for generating the .res file:
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
|
||||
type <<$@
|
||||
#include <winuser.h>
|
||||
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
|
||||
<< KEEP
|
||||
|
||||
$(_VC_MANIFEST_BASENAME).auto.manifest :
|
||||
type <<$@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||
</assembly>
|
||||
<< KEEP
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.100 2008/03/31 05:00:29 marka Exp $
|
||||
# $Id: Makefile.in,v 1.101 2008/09/23 17:25:47 jinmei Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -21,6 +21,8 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_VERSION@
|
||||
|
||||
@BIND9_CONFIGARGS@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
#
|
||||
@@ -105,6 +107,7 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
main.@O@: main.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
|
||||
-DVERSION=\"${VERSION}\" \
|
||||
-DCONFIGARGS="\"${CONFIGARGS}\"" \
|
||||
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
|
||||
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
|
||||
|
||||
|
||||
+13
-2
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
- Copyright (C) 2006-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2006-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -15,7 +15,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: bind9.xsl,v 1.19 2008/07/17 23:43:26 jinmei Exp $ -->
|
||||
<!-- $Id: bind9.xsl,v 1.19.82.2 2009/01/29 23:47:43 tbox Exp $ -->
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
@@ -248,6 +248,17 @@ div.statcounter br {
|
||||
<br/>
|
||||
</xsl:for-each>
|
||||
|
||||
<div class="statcounter">
|
||||
<h2>Socket I/O Statistics</h2>
|
||||
<xsl:for-each select="server/sockstat">
|
||||
<dl>
|
||||
<dt><xsl:value-of select="name"/></dt>
|
||||
<dd><xsl:value-of select="counter"/></dd>
|
||||
</dl>
|
||||
</xsl:for-each>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<xsl:for-each select="views/view">
|
||||
|
||||
+14
-3
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
* Generated by convertxsl.pl 1.14 2008/07/17 23:43:26 jinmei Exp
|
||||
* From bind9.xsl 1.19 2008/07/17 23:43:26 jinmei Exp
|
||||
* From bind9.xsl 1.19.82.2 2009/01/29 23:47:43 tbox Exp
|
||||
*/
|
||||
static char xslmsg[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||
"<!--\n"
|
||||
" - Copyright (C) 2006-2008 Internet Systems Consortium, Inc. (\"ISC\")\n"
|
||||
" - Copyright (C) 2006-2009 Internet Systems Consortium, Inc. (\"ISC\")\n"
|
||||
" -\n"
|
||||
" - Permission to use, copy, modify, and/or distribute this software for any\n"
|
||||
" - purpose with or without fee is hereby granted, provided that the above\n"
|
||||
@@ -20,7 +20,7 @@ static char xslmsg[] =
|
||||
" - PERFORMANCE OF THIS SOFTWARE.\n"
|
||||
"-->\n"
|
||||
"\n"
|
||||
"<!-- \045Id: bind9.xsl,v 1.19 2008/07/17 23:43:26 jinmei Exp \045 -->\n"
|
||||
"<!-- \045Id: bind9.xsl,v 1.19.82.2 2009/01/29 23:47:43 tbox Exp \045 -->\n"
|
||||
"\n"
|
||||
"<xsl:stylesheet version=\"1.0\"\n"
|
||||
" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n"
|
||||
@@ -253,6 +253,17 @@ static char xslmsg[] =
|
||||
" <br/>\n"
|
||||
" </xsl:for-each>\n"
|
||||
"\n"
|
||||
" <div class=\"statcounter\">\n"
|
||||
" <h2>Socket I/O Statistics</h2>\n"
|
||||
" <xsl:for-each select=\"server/sockstat\">\n"
|
||||
" <dl>\n"
|
||||
" <dt><xsl:value-of select=\"name\"/></dt>\n"
|
||||
" <dd><xsl:value-of select=\"counter\"/></dd>\n"
|
||||
" </dl>\n"
|
||||
" </xsl:for-each>\n"
|
||||
" <br/>\n"
|
||||
" </div>\n"
|
||||
"\n"
|
||||
" <br/>\n"
|
||||
"\n"
|
||||
" <xsl:for-each select=\"views/view\">\n"
|
||||
|
||||
+37
-37
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: client.c,v 1.258 2008/06/23 19:41:18 jinmei Exp $ */
|
||||
/* $Id: client.c,v 1.259.12.3 2009/01/29 22:40:33 jinmei Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <isc/once.h>
|
||||
#include <isc/platform.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/stats.h>
|
||||
#include <isc/stdio.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/task.h>
|
||||
@@ -1018,23 +1019,22 @@ ns_client_send(ns_client_t *client) {
|
||||
result = client_sendpkg(client, &buffer);
|
||||
|
||||
/* update statistics (XXXJT: is it okay to access message->xxxkey?) */
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_response);
|
||||
isc_stats_increment(ns_g_server->nsstats, dns_nsstatscounter_response);
|
||||
if (opt_included) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_edns0out);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_edns0out);
|
||||
}
|
||||
if (client->message->tsigkey != NULL) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tsigout);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tsigout);
|
||||
}
|
||||
if (client->message->sig0key != NULL) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_sig0out);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_sig0out);
|
||||
}
|
||||
if ((client->message->flags & DNS_MESSAGEFLAG_TC) != 0)
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_truncatedresp);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_truncatedresp);
|
||||
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return;
|
||||
@@ -1222,7 +1222,7 @@ client_addopt(ns_client_t *client) {
|
||||
* + 2 bytes for NSID length
|
||||
* + NSID itself
|
||||
*/
|
||||
char nsid[BUFSIZ];
|
||||
char nsid[BUFSIZ], *nsidp;
|
||||
isc_buffer_t *buffer = NULL;
|
||||
|
||||
if (ns_g_server->server_usehostname) {
|
||||
@@ -1231,19 +1231,19 @@ client_addopt(ns_client_t *client) {
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
goto no_nsid;
|
||||
}
|
||||
} else {
|
||||
strncpy(nsid, ns_g_server->server_id, sizeof(nsid));
|
||||
}
|
||||
nsidp = nsid;
|
||||
} else
|
||||
nsidp = ns_g_server->server_id;
|
||||
|
||||
rdata->length = strlen(nsid) + 4;
|
||||
rdata->length = strlen(nsidp) + 4;
|
||||
result = isc_buffer_allocate(client->mctx, &buffer,
|
||||
rdata->length);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto no_nsid;
|
||||
|
||||
isc_buffer_putuint16(buffer, DNS_OPT_NSID);
|
||||
isc_buffer_putuint16(buffer, strlen(nsid));
|
||||
isc_buffer_putstr(buffer, nsid);
|
||||
isc_buffer_putuint16(buffer, strlen(nsidp));
|
||||
isc_buffer_putstr(buffer, nsidp);
|
||||
rdata->data = buffer->base;
|
||||
dns_message_takebuffer(client->message, &buffer);
|
||||
} else {
|
||||
@@ -1286,7 +1286,7 @@ allowed(isc_netaddr_t *addr, dns_name_t *signer, dns_acl_t *acl) {
|
||||
* delivered to 'myview'.
|
||||
*
|
||||
* We run this unlocked as both the view list and the interface list
|
||||
* are updated when the approprite task has exclusivity.
|
||||
* are updated when the appropriate task has exclusivity.
|
||||
*/
|
||||
isc_boolean_t
|
||||
ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
|
||||
@@ -1514,15 +1514,15 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
||||
* Update some statistics counters. Don't count responses.
|
||||
*/
|
||||
if (isc_sockaddr_pf(&client->peeraddr) == PF_INET) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_requestv4);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_requestv4);
|
||||
} else {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_requestv6);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_requestv6);
|
||||
}
|
||||
if (TCP_CLIENT(client))
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tcp);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tcp);
|
||||
|
||||
/*
|
||||
* It's a request. Parse it.
|
||||
@@ -1586,8 +1586,8 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
client->ednsversion = (opt->ttl & 0x00FF0000) >> 16;
|
||||
if (client->ednsversion > 0) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_badednsver);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_badednsver);
|
||||
result = client_addopt(client);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
result = DNS_R_BADVERS;
|
||||
@@ -1612,8 +1612,8 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
||||
}
|
||||
}
|
||||
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_edns0in);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_edns0in);
|
||||
|
||||
/*
|
||||
* Create an OPT for our reply.
|
||||
@@ -1762,11 +1762,11 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
||||
if (result != ISC_R_NOTFOUND) {
|
||||
signame = NULL;
|
||||
if (dns_message_gettsig(client->message, &signame) != NULL) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tsigin);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_tsigin);
|
||||
} else {
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_sig0in);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_sig0in);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1790,8 +1790,8 @@ client_request(isc_task_t *task, isc_event_t *event) {
|
||||
isc_result_t tresult;
|
||||
|
||||
/* There is a signature, but it is bad. */
|
||||
dns_generalstats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_invalidsig);
|
||||
isc_stats_increment(ns_g_server->nsstats,
|
||||
dns_nsstatscounter_invalidsig);
|
||||
signame = NULL;
|
||||
if (dns_message_gettsig(client->message, &signame) != NULL) {
|
||||
char namebuf[DNS_NAME_FORMATSIZE];
|
||||
@@ -2271,7 +2271,7 @@ client_newconn(isc_task_t *task, isc_event_t *event) {
|
||||
* Let a new client take our place immediately, before
|
||||
* we wait for a request packet. If we don't,
|
||||
* telnetting to port 53 (once per CPU) will
|
||||
* deny service to legititmate TCP clients.
|
||||
* deny service to legitimate TCP clients.
|
||||
*/
|
||||
result = isc_quota_attach(&ns_g_server->tcpquota,
|
||||
&client->tcpquota);
|
||||
|
||||
+7
-5
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: config.c,v 1.89 2008/07/20 09:29:52 fdupont Exp $ */
|
||||
/* $Id: config.c,v 1.93.14.2 2009/03/17 23:47:28 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -69,7 +69,7 @@ options {\n\
|
||||
memstatistics-file \"named.memstats\";\n\
|
||||
multiple-cnames no;\n\
|
||||
# named-xfer <obsolete>;\n\
|
||||
# pid-file \"" NS_LOCALSTATEDIR "/named.pid\"; /* or /lwresd.pid */\n\
|
||||
# pid-file \"" NS_LOCALSTATEDIR "/run/named/named.pid\"; /* or /lwresd.pid */\n\
|
||||
port 53;\n\
|
||||
recursing-file \"named.recursing\";\n\
|
||||
"
|
||||
@@ -100,6 +100,7 @@ options {\n\
|
||||
edns-udp-size 4096;\n\
|
||||
max-udp-size 4096;\n\
|
||||
request-nsid false;\n\
|
||||
reserved-sockets 512;\n\
|
||||
\n\
|
||||
/* view */\n\
|
||||
allow-notify {none;};\n\
|
||||
@@ -130,7 +131,7 @@ options {\n\
|
||||
max-ncache-ttl 10800; /* 3 hours */\n\
|
||||
max-cache-ttl 604800; /* 1 week */\n\
|
||||
transfer-format many-answers;\n\
|
||||
# max-cache-size default; /* set default in server.c */\n\
|
||||
max-cache-size 0;\n\
|
||||
check-names master fail;\n\
|
||||
check-names slave warn;\n\
|
||||
check-names response ignore;\n\
|
||||
@@ -144,6 +145,7 @@ options {\n\
|
||||
clients-per-query 10;\n\
|
||||
max-clients-per-query 100;\n\
|
||||
zero-no-soa-ttl-cache no;\n\
|
||||
nsec3-test-zone no;\n\
|
||||
"
|
||||
|
||||
" /* zone */\n\
|
||||
@@ -175,7 +177,7 @@ options {\n\
|
||||
sig-validity-interval 30; /* days */\n\
|
||||
sig-signing-nodes 100;\n\
|
||||
sig-signing-signatures 10;\n\
|
||||
sig-signing-type 65535;\n\
|
||||
sig-signing-type 65534;\n\
|
||||
zone-statistics false;\n\
|
||||
max-journal-size unlimited;\n\
|
||||
ixfr-from-differences false;\n\
|
||||
|
||||
+7
-5
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: control.c,v 1.33 2007/09/13 04:45:18 each Exp $ */
|
||||
/* $Id: control.c,v 1.33.266.2 2009/07/11 23:47:17 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -56,7 +56,7 @@ command_compare(const char *text, const char *command) {
|
||||
|
||||
/*%
|
||||
* This function is called to process the incoming command
|
||||
* when a control channel message is received.
|
||||
* when a control channel message is received.
|
||||
*/
|
||||
isc_result_t
|
||||
ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
|
||||
@@ -170,10 +170,12 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
|
||||
} else if (command_compare(command, NS_COMMAND_TSIGDELETE)) {
|
||||
result = ns_server_tsigdelete(ns_g_server, command, text);
|
||||
} else if (command_compare(command, NS_COMMAND_FREEZE)) {
|
||||
result = ns_server_freeze(ns_g_server, ISC_TRUE, command);
|
||||
result = ns_server_freeze(ns_g_server, ISC_TRUE, command,
|
||||
text);
|
||||
} else if (command_compare(command, NS_COMMAND_UNFREEZE) ||
|
||||
command_compare(command, NS_COMMAND_THAW)) {
|
||||
result = ns_server_freeze(ns_g_server, ISC_FALSE, command);
|
||||
result = ns_server_freeze(ns_g_server, ISC_FALSE, command,
|
||||
text);
|
||||
} else if (command_compare(command, NS_COMMAND_RECURSING)) {
|
||||
result = ns_server_dumprecursing(ns_g_server);
|
||||
} else if (command_compare(command, NS_COMMAND_TIMERPOKE)) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: client.h,v 1.86 2008/04/03 02:01:08 marka Exp $ */
|
||||
/* $Id: client.h,v 1.86.120.2 2009/01/18 23:47:34 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_CLIENT_H
|
||||
#define NAMED_CLIENT_H 1
|
||||
@@ -162,7 +162,7 @@ struct ns_client {
|
||||
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
|
||||
|
||||
#define NS_CLIENTATTR_TCP 0x01
|
||||
#define NS_CLIENTATTR_RA 0x02 /*%< Client gets recusive service */
|
||||
#define NS_CLIENTATTR_RA 0x02 /*%< Client gets recursive service */
|
||||
#define NS_CLIENTATTR_PKTINFO 0x04 /*%< pktinfo is valid */
|
||||
#define NS_CLIENTATTR_MULTICAST 0x08 /*%< recv'd from multicast */
|
||||
#define NS_CLIENTATTR_WANTDNSSEC 0x10 /*%< include dnssec records */
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: globals.h,v 1.75 2008/01/02 23:47:01 tbox Exp $ */
|
||||
/* $Id: globals.h,v 1.80 2008/11/16 22:49:18 marka Exp $ */
|
||||
|
||||
#ifndef NAMED_GLOBALS_H
|
||||
#define NAMED_GLOBALS_H 1
|
||||
@@ -42,12 +42,17 @@
|
||||
#define INIT(v)
|
||||
#endif
|
||||
|
||||
#ifndef NS_RUN_PID_DIR
|
||||
#define NS_RUN_PID_DIR 1
|
||||
#endif
|
||||
|
||||
EXTERN isc_mem_t * ns_g_mctx INIT(NULL);
|
||||
EXTERN unsigned int ns_g_cpus INIT(0);
|
||||
EXTERN isc_taskmgr_t * ns_g_taskmgr INIT(NULL);
|
||||
EXTERN dns_dispatchmgr_t * ns_g_dispatchmgr INIT(NULL);
|
||||
EXTERN isc_entropy_t * ns_g_entropy INIT(NULL);
|
||||
EXTERN isc_entropy_t * ns_g_fallbackentropy INIT(NULL);
|
||||
EXTERN unsigned int ns_g_cpus_detected INIT(1);
|
||||
|
||||
/*
|
||||
* XXXRTH We're going to want multiple timer managers eventually. One
|
||||
@@ -58,6 +63,7 @@ EXTERN isc_timermgr_t * ns_g_timermgr INIT(NULL);
|
||||
EXTERN isc_socketmgr_t * ns_g_socketmgr INIT(NULL);
|
||||
EXTERN cfg_parser_t * ns_g_parser INIT(NULL);
|
||||
EXTERN const char * ns_g_version INIT(VERSION);
|
||||
EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
|
||||
EXTERN in_port_t ns_g_port INIT(0);
|
||||
EXTERN in_port_t lwresd_g_listenport INIT(0);
|
||||
|
||||
@@ -106,10 +112,20 @@ EXTERN const char * ns_g_chrootdir INIT(NULL);
|
||||
EXTERN isc_boolean_t ns_g_foreground INIT(ISC_FALSE);
|
||||
EXTERN isc_boolean_t ns_g_logstderr INIT(ISC_FALSE);
|
||||
|
||||
#if NS_RUN_PID_DIR
|
||||
EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
|
||||
"/run/named/"
|
||||
"named.pid");
|
||||
EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
|
||||
"/run/lwresd/"
|
||||
"lwresd.pid");
|
||||
#else
|
||||
EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
|
||||
"/run/named.pid");
|
||||
EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
|
||||
"/run/lwresd.pid");
|
||||
"/run/lwresd.pid");
|
||||
#endif
|
||||
|
||||
EXTERN const char * ns_g_username INIT(NULL);
|
||||
|
||||
EXTERN int ns_g_listen INIT(3);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: log.h,v 1.25 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: log.h,v 1.25.332.2 2009/01/07 23:47:16 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_LOG_H
|
||||
#define NAMED_LOG_H 1
|
||||
@@ -36,6 +36,7 @@
|
||||
#define NS_LOGCATEGORY_QUERIES (&ns_g_categories[4])
|
||||
#define NS_LOGCATEGORY_UNMATCHED (&ns_g_categories[5])
|
||||
#define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_g_categories[6])
|
||||
#define NS_LOGCATEGORY_QUERY_EERRORS (&ns_g_categories[7])
|
||||
|
||||
/*
|
||||
* Backwards compatibility.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: lwdclient.h,v 1.18 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: lwdclient.h,v 1.18.332.2 2009/01/18 23:47:34 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_LWDCLIENT_H
|
||||
#define NAMED_LWDCLIENT_H 1
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
#define LWRD_SHUTDOWN (LWRD_EVENTCLASS + 0x0001)
|
||||
|
||||
/*% Lighweight Resolver Daemon Client */
|
||||
/*% Lightweight Resolver Daemon Client */
|
||||
struct ns_lwdclient {
|
||||
isc_sockaddr_t address; /*%< where to reply */
|
||||
struct in6_pktinfo pktinfo;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: notify.h,v 1.14 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: notify.h,v 1.14.332.2 2009/01/18 23:47:34 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_NOTIFY_H
|
||||
#define NAMED_NOTIFY_H 1
|
||||
@@ -41,7 +41,7 @@ void
|
||||
ns_notify_start(ns_client_t *client);
|
||||
|
||||
/*%<
|
||||
* Examines the incoming message to determine apporiate zone.
|
||||
* Examines the incoming message to determine appropriate zone.
|
||||
* Returns FORMERR if there is not exactly one question.
|
||||
* Returns REFUSED if we do not serve the listed zone.
|
||||
* Pass the message to the zone module for processing
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: server.h,v 1.93 2008/04/03 05:55:51 marka Exp $ */
|
||||
/* $Id: server.h,v 1.93.120.3 2009/07/11 04:23:53 marka Exp $ */
|
||||
|
||||
#ifndef NAMED_SERVER_H
|
||||
#define NAMED_SERVER_H 1
|
||||
@@ -91,12 +91,13 @@ struct ns_server {
|
||||
isc_boolean_t flushonshutdown;
|
||||
isc_boolean_t log_queries; /*%< For BIND 8 compatibility */
|
||||
|
||||
dns_stats_t * nsstats; /*%< Server statistics */
|
||||
isc_stats_t * nsstats; /*%< Server statistics */
|
||||
dns_stats_t * rcvquerystats; /*% Incoming query statistics */
|
||||
dns_stats_t * opcodestats; /*%< Incoming message statistics */
|
||||
dns_stats_t * zonestats; /*% Zone management statistics */
|
||||
dns_stats_t * resolverstats; /*% Resolver statistics */
|
||||
isc_stats_t * zonestats; /*% Zone management statistics */
|
||||
isc_stats_t * resolverstats; /*% Resolver statistics */
|
||||
|
||||
isc_stats_t * sockstats; /*%< Socket statistics */
|
||||
ns_controls_t * controls; /*%< Control channels */
|
||||
unsigned int dispatchgen;
|
||||
ns_dispatchlist_t dispatches;
|
||||
@@ -110,7 +111,7 @@ struct ns_server {
|
||||
#define NS_SERVER_VALID(s) ISC_MAGIC_VALID(s, NS_SERVER_MAGIC)
|
||||
|
||||
/*%
|
||||
* Server statistics counters. Used as dns_statscounter_t values.
|
||||
* Server statistics counters. Used as isc_statscounter_t values.
|
||||
*/
|
||||
enum {
|
||||
dns_nsstatscounter_requestv4 = 0,
|
||||
@@ -275,7 +276,8 @@ ns_server_tsigdelete(ns_server_t *server, char *command, isc_buffer_t *text);
|
||||
* Enable or disable updates for a zone.
|
||||
*/
|
||||
isc_result_t
|
||||
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args);
|
||||
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args,
|
||||
isc_buffer_t *text);
|
||||
|
||||
/*%
|
||||
* Dump the current recursive queries.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: interfacemgr.c,v 1.93 2008/07/23 23:27:54 marka Exp $ */
|
||||
/* $Id: interfacemgr.c,v 1.93.70.2 2009/01/18 23:47:34 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -518,7 +518,7 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) {
|
||||
result = isc_netaddr_masktoprefixlen(&interface->netmask,
|
||||
&prefixlen);
|
||||
|
||||
/* Non contigious netmasks not allowed by IPv6 arch. */
|
||||
/* Non contiguous netmasks not allowed by IPv6 arch. */
|
||||
if (result != ISC_R_SUCCESS && netaddr->family == AF_INET6)
|
||||
return (result);
|
||||
|
||||
|
||||
+4
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: log.c,v 1.46 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: log.c,v 1.46.334.3 2009/01/07 01:50:14 jinmei Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -44,6 +44,7 @@ static isc_logcategory_t categories[] = {
|
||||
{ "queries", 0 },
|
||||
{ "unmatched", 0 },
|
||||
{ "update-security", 0 },
|
||||
{ "query-errors", 0 },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
@@ -120,7 +121,7 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
|
||||
/*
|
||||
* By default, the logging library makes "default_debug" log to
|
||||
* stderr. In BIND, we want to override this and log to named.run
|
||||
* instead, unless the the -g option was given.
|
||||
* instead, unless the -g option was given.
|
||||
*/
|
||||
if (! ns_g_logstderr) {
|
||||
destination.file.stream = NULL;
|
||||
|
||||
+10
-10
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: lwresd.8,v 1.27 2007/05/16 06:12:01 marka Exp $
|
||||
.\" $Id: lwresd.8,v 1.29.14.2 2009/07/11 01:55:21 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -42,7 +42,7 @@ is the daemon providing name lookup services to clients that use the BIND 9 ligh
|
||||
\fBlwresd\fR
|
||||
listens for resolver queries on a UDP port on the IPv4 loopback interface, 127.0.0.1. This means that
|
||||
\fBlwresd\fR
|
||||
can only be used by processes running on the local machine. By default UDP port number 921 is used for lightweight resolver requests and responses.
|
||||
can only be used by processes running on the local machine. By default, UDP port number 921 is used for lightweight resolver requests and responses.
|
||||
.PP
|
||||
Incoming lightweight resolver requests are decoded by the server which then resolves them using the DNS protocol. When the DNS lookup completes,
|
||||
\fBlwresd\fR
|
||||
@@ -85,9 +85,9 @@ Use
|
||||
\fIconfig\-file\fR
|
||||
as the configuration file instead of the default,
|
||||
\fI/etc/lwresd.conf\fR.
|
||||
<term>\-c</term>
|
||||
\fB\-c\fR
|
||||
can not be used with
|
||||
<term>\-C</term>.
|
||||
\fB\-C\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-C \fIconfig\-file\fR
|
||||
@@ -96,9 +96,9 @@ Use
|
||||
\fIconfig\-file\fR
|
||||
as the configuration file instead of the default,
|
||||
\fI/etc/resolv.conf\fR.
|
||||
<term>\-C</term>
|
||||
\fB\-C\fR
|
||||
can not be used with
|
||||
<term>\-c</term>.
|
||||
\fB\-c\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-d \fIdebug\-level\fR
|
||||
@@ -125,7 +125,7 @@ Run the server in the foreground and force all logging to
|
||||
Use
|
||||
\fIpid\-file\fR
|
||||
as the PID file instead of the default,
|
||||
\fI/var/run/lwresd.pid\fR.
|
||||
\fI/var/run/lwresd/lwresd.pid\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-m \fIflag\fR
|
||||
@@ -217,7 +217,7 @@ The default process\-id file.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004, 2005, 2007\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000, 2001 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwresd.docbook,v 1.15 2007/06/18 23:47:18 tbox Exp $ -->
|
||||
<!-- $Id: lwresd.docbook,v 1.18.14.2 2009/01/22 23:47:05 tbox Exp $ -->
|
||||
<refentry>
|
||||
<refentryinfo>
|
||||
<date>June 30, 2000</date>
|
||||
@@ -40,6 +40,8 @@
|
||||
<year>2004</year>
|
||||
<year>2005</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -86,7 +88,7 @@
|
||||
listens for resolver queries on a
|
||||
UDP port on the IPv4 loopback interface, 127.0.0.1. This
|
||||
means that <command>lwresd</command> can only be used by
|
||||
processes running on the local machine. By default UDP port
|
||||
processes running on the local machine. By default, UDP port
|
||||
number 921 is used for lightweight resolver requests and
|
||||
responses.
|
||||
</para>
|
||||
@@ -145,7 +147,7 @@
|
||||
configuration file instead of the default,
|
||||
<filename>/etc/lwresd.conf</filename>.
|
||||
<!-- Should this be an absolute path name? -->
|
||||
<term>-c</term> can not be used with <term>-C</term>.
|
||||
<option>-c</option> can not be used with <option>-C</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -157,7 +159,7 @@
|
||||
Use <replaceable class="parameter">config-file</replaceable> as the
|
||||
configuration file instead of the default,
|
||||
<filename>/etc/resolv.conf</filename>.
|
||||
<term>-C</term> can not be used with <term>-c</term>.
|
||||
<option>-C</option> can not be used with <option>-c</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -198,7 +200,7 @@
|
||||
<para>
|
||||
Use <replaceable class="parameter">pid-file</replaceable> as the
|
||||
PID file instead of the default,
|
||||
<filename>/var/run/lwresd.pid</filename>.
|
||||
<filename>/var/run/lwresd/lwresd.pid</filename>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
+12
-12
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: lwresd.html,v 1.23 2007/05/16 06:12:01 marka Exp $ -->
|
||||
<!-- $Id: lwresd.html,v 1.25.14.2 2009/07/11 01:55:21 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-4</code>] [<code class="option">-6</code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543461"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543467"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">lwresd</strong></span>
|
||||
is the daemon providing name lookup
|
||||
services to clients that use the BIND 9 lightweight resolver
|
||||
@@ -44,7 +44,7 @@
|
||||
listens for resolver queries on a
|
||||
UDP port on the IPv4 loopback interface, 127.0.0.1. This
|
||||
means that <span><strong class="command">lwresd</strong></span> can only be used by
|
||||
processes running on the local machine. By default UDP port
|
||||
processes running on the local machine. By default, UDP port
|
||||
number 921 is used for lightweight resolver requests and
|
||||
responses.
|
||||
</p>
|
||||
@@ -67,7 +67,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543508"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543514"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-4</span></dt>
|
||||
<dd><p>
|
||||
@@ -87,14 +87,14 @@
|
||||
configuration file instead of the default,
|
||||
<code class="filename">/etc/lwresd.conf</code>.
|
||||
|
||||
<font color="red"><term>-c</term></font> can not be used with <font color="red"><term>-C</term></font>.
|
||||
<code class="option">-c</code> can not be used with <code class="option">-C</code>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt>
|
||||
<dd><p>
|
||||
Use <em class="replaceable"><code>config-file</code></em> as the
|
||||
configuration file instead of the default,
|
||||
<code class="filename">/etc/resolv.conf</code>.
|
||||
<font color="red"><term>-C</term></font> can not be used with <font color="red"><term>-c</term></font>.
|
||||
<code class="option">-C</code> can not be used with <code class="option">-c</code>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -115,7 +115,7 @@
|
||||
<dd><p>
|
||||
Use <em class="replaceable"><code>pid-file</code></em> as the
|
||||
PID file instead of the default,
|
||||
<code class="filename">/var/run/lwresd.pid</code>.
|
||||
<code class="filename">/var/run/lwresd/lwresd.pid</code>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -197,7 +197,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543925"></a><h2>FILES</h2>
|
||||
<a name="id2543931"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -210,14 +210,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543964"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543971"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543998"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544005"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+43
-14
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: main.c,v 1.163 2008/08/20 23:57:59 jinmei Exp $ */
|
||||
/* $Id: main.c,v 1.166.34.3 2009/04/03 20:18:59 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <isc/hash.h>
|
||||
#include <isc/os.h>
|
||||
#include <isc/platform.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/resource.h>
|
||||
#include <isc/stdio.h>
|
||||
#include <isc/string.h>
|
||||
@@ -138,7 +139,7 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type,
|
||||
|
||||
if (ns_g_lctx != NULL) {
|
||||
/*
|
||||
* Reset the assetion callback in case it is the log
|
||||
* Reset the assertion callback in case it is the log
|
||||
* routines causing the assertion.
|
||||
*/
|
||||
isc_assertion_setcallback(NULL);
|
||||
@@ -358,7 +359,7 @@ parse_command_line(int argc, char *argv[]) {
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"46c:C:d:fgi:lm:n:N:p:P:"
|
||||
"sS:t:T:u:vx:")) != -1) {
|
||||
"sS:t:T:u:vVx:")) != -1) {
|
||||
switch (ch) {
|
||||
case '4':
|
||||
if (disable4)
|
||||
@@ -462,6 +463,10 @@ parse_command_line(int argc, char *argv[]) {
|
||||
case 'v':
|
||||
printf("BIND %s\n", ns_g_version);
|
||||
exit(0);
|
||||
case 'V':
|
||||
printf("BIND %s built with %s\n", ns_g_version,
|
||||
ns_g_configargs);
|
||||
exit(0);
|
||||
case '?':
|
||||
usage();
|
||||
if (isc_commandline_option == '?')
|
||||
@@ -486,17 +491,13 @@ static isc_result_t
|
||||
create_managers(void) {
|
||||
isc_result_t result;
|
||||
unsigned int socks;
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
unsigned int cpus_detected;
|
||||
#endif
|
||||
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
cpus_detected = isc_os_ncpus();
|
||||
if (ns_g_cpus == 0)
|
||||
ns_g_cpus = cpus_detected;
|
||||
ns_g_cpus = ns_g_cpus_detected;
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
|
||||
ISC_LOG_INFO, "found %u CPU%s, using %u worker thread%s",
|
||||
cpus_detected, cpus_detected == 1 ? "" : "s",
|
||||
ns_g_cpus_detected, ns_g_cpus_detected == 1 ? "" : "s",
|
||||
ns_g_cpus, ns_g_cpus == 1 ? "" : "s");
|
||||
#else
|
||||
ns_g_cpus = 1;
|
||||
@@ -576,6 +577,7 @@ destroy_managers(void) {
|
||||
static void
|
||||
setup(void) {
|
||||
isc_result_t result;
|
||||
isc_resourcevalue_t old_openfiles;
|
||||
#ifdef HAVE_LIBSCF
|
||||
char *instance = NULL;
|
||||
#endif
|
||||
@@ -629,6 +631,13 @@ setup(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
/*
|
||||
* Check for the number of cpu's before ns_os_chroot().
|
||||
*/
|
||||
ns_g_cpus_detected = isc_os_ncpus();
|
||||
#endif
|
||||
|
||||
ns_os_chroot(ns_g_chrootdir);
|
||||
|
||||
/*
|
||||
@@ -669,6 +678,9 @@ setup(void) {
|
||||
ISC_LOG_NOTICE, "starting BIND %s%s", ns_g_version,
|
||||
saved_command_line);
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
|
||||
|
||||
/*
|
||||
* Get the initial resource limits.
|
||||
*/
|
||||
@@ -681,6 +693,23 @@ setup(void) {
|
||||
(void)isc_resource_getlimit(isc_resource_openfiles,
|
||||
&ns_g_initopenfiles);
|
||||
|
||||
/*
|
||||
* System resources cannot effectively be tuned on some systems.
|
||||
* Raise the limit in such cases for safety.
|
||||
*/
|
||||
old_openfiles = ns_g_initopenfiles;
|
||||
ns_os_adjustnofile();
|
||||
(void)isc_resource_getlimit(isc_resource_openfiles,
|
||||
&ns_g_initopenfiles);
|
||||
if (old_openfiles != ns_g_initopenfiles) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_MAIN, ISC_LOG_NOTICE,
|
||||
"adjusted limit on open files from "
|
||||
"%" ISC_PRINT_QUADFORMAT "u to "
|
||||
"%" ISC_PRINT_QUADFORMAT "u",
|
||||
old_openfiles, ns_g_initopenfiles);
|
||||
}
|
||||
|
||||
/*
|
||||
* If the named configuration filename is relative, prepend the current
|
||||
* directory's name before possibly changing to another directory.
|
||||
@@ -718,7 +747,7 @@ setup(void) {
|
||||
|
||||
#ifdef DLZ
|
||||
/*
|
||||
* Registyer any DLZ drivers.
|
||||
* Register any DLZ drivers.
|
||||
*/
|
||||
result = dlz_drivers_init();
|
||||
if (result != ISC_R_SUCCESS)
|
||||
@@ -850,10 +879,10 @@ main(int argc, char *argv[]) {
|
||||
* strings named.core | grep "named version:"
|
||||
*/
|
||||
strlcat(version,
|
||||
#ifdef __DATE__
|
||||
"named version: BIND " VERSION " (" __DATE__ ")",
|
||||
#else
|
||||
#if defined(NO_VERSION_DATE) || !defined(__DATE__)
|
||||
"named version: BIND " VERSION,
|
||||
#else
|
||||
"named version: BIND " VERSION " (" __DATE__ ")",
|
||||
#endif
|
||||
sizeof(version));
|
||||
result = isc_file_progname(*argv, program_name, sizeof(program_name));
|
||||
|
||||
+23
-8
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,18 +13,18 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named.8,v 1.36 2008/08/22 01:12:14 tbox Exp $
|
||||
.\" $Id: named.8,v 1.38.14.2 2009/12/03 05:06:38 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: named
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: June 30, 2000
|
||||
.\" Date: May 21, 2009
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "NAMED" "8" "June 30, 2000" "BIND9" "BIND9"
|
||||
.TH "NAMED" "8" "May 21, 2009" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
@@ -33,7 +33,7 @@
|
||||
named \- Internet domain name server
|
||||
.SH "SYNOPSIS"
|
||||
.HP 6
|
||||
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
|
||||
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnamed\fR
|
||||
@@ -186,6 +186,11 @@ is run on kernel 2.2.18 or later, or kernel 2.3.99\-pre3 or later, since previou
|
||||
Report the version number and exit.
|
||||
.RE
|
||||
.PP
|
||||
\-V
|
||||
.RS 4
|
||||
Report the version number and build options, and exit.
|
||||
.RE
|
||||
.PP
|
||||
\-x \fIcache\-file\fR
|
||||
.RS 4
|
||||
Load data from
|
||||
@@ -219,6 +224,16 @@ The
|
||||
\fBnamed\fR
|
||||
configuration file is too complex to describe in detail here. A complete description is provided in the
|
||||
BIND 9 Administrator Reference Manual.
|
||||
.PP
|
||||
\fBnamed\fR
|
||||
inherits the
|
||||
\fBumask\fR
|
||||
(file creation mode mask) from the parent process. If files created by
|
||||
\fBnamed\fR, such as journal files, need to have custom permissions, the
|
||||
\fBumask\fR
|
||||
should be set explicitly in the script used to start the
|
||||
\fBnamed\fR
|
||||
process.
|
||||
.SH "FILES"
|
||||
.PP
|
||||
\fI/etc/named.conf\fR
|
||||
@@ -226,7 +241,7 @@ BIND 9 Administrator Reference Manual.
|
||||
The default configuration file.
|
||||
.RE
|
||||
.PP
|
||||
\fI/var/run/named.pid\fR
|
||||
\fI/var/run/named/named.pid\fR
|
||||
.RS 4
|
||||
The default process\-id file.
|
||||
.RE
|
||||
@@ -245,7 +260,7 @@ BIND 9 Administrator Reference Manual.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named.conf.5,v 1.34 2008/04/03 01:09:59 tbox Exp $
|
||||
.\" $Id: named.conf.5,v 1.36.48.1 2009/07/11 01:55:21 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -174,6 +174,7 @@ options {
|
||||
port \fIinteger\fR;
|
||||
querylog \fIboolean\fR;
|
||||
recursing\-file \fIquoted_string\fR;
|
||||
reserved\-sockets \fIinteger\fR;
|
||||
random\-device \fIquoted_string\fR;
|
||||
recursive\-clients \fIinteger\fR;
|
||||
serial\-query\-rate \fIinteger\fR;
|
||||
@@ -301,6 +302,7 @@ options {
|
||||
try\-tcp\-refresh \fIboolean\fR;
|
||||
zero\-no\-soa\-ttl \fIboolean\fR;
|
||||
zero\-no\-soa\-ttl\-cache \fIboolean\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // testing only
|
||||
allow\-v6\-synthesis { \fIaddress_match_element\fR; ... }; // obsolete
|
||||
deallocate\-on\-exit \fIboolean\fR; // obsolete
|
||||
fake\-iquery \fIboolean\fR; // obsolete
|
||||
@@ -523,6 +525,7 @@ zone \fIstring\fR \fIoptional_class\fR {
|
||||
zone\-statistics \fIboolean\fR;
|
||||
try\-tcp\-refresh \fIboolean\fR;
|
||||
key\-directory \fIquoted_string\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // testing only
|
||||
ixfr\-base \fIquoted_string\fR; // obsolete
|
||||
ixfr\-tmp\-file \fIquoted_string\fR; // obsolete
|
||||
maintain\-ixfr\-base \fIboolean\fR; // obsolete
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: named.conf.docbook,v 1.37 2008/04/02 02:37:41 marka Exp $ -->
|
||||
<!-- $Id: named.conf.docbook,v 1.39 2008/09/24 02:46:21 marka Exp $ -->
|
||||
<refentry>
|
||||
<refentryinfo>
|
||||
<date>Aug 13, 2004</date>
|
||||
@@ -202,6 +202,7 @@ options {
|
||||
port <replaceable>integer</replaceable>;
|
||||
querylog <replaceable>boolean</replaceable>;
|
||||
recursing-file <replaceable>quoted_string</replaceable>;
|
||||
reserved-sockets <replaceable>integer</replaceable>;
|
||||
random-device <replaceable>quoted_string</replaceable>;
|
||||
recursive-clients <replaceable>integer</replaceable>;
|
||||
serial-query-rate <replaceable>integer</replaceable>;
|
||||
@@ -340,6 +341,8 @@ options {
|
||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
|
||||
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // testing only
|
||||
|
||||
allow-v6-synthesis { <replaceable>address_match_element</replaceable>; ... }; // obsolete
|
||||
deallocate-on-exit <replaceable>boolean</replaceable>; // obsolete
|
||||
fake-iquery <replaceable>boolean</replaceable>; // obsolete
|
||||
@@ -587,6 +590,8 @@ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
|
||||
try-tcp-refresh <replaceable>boolean</replaceable>;
|
||||
key-directory <replaceable>quoted_string</replaceable>;
|
||||
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // testing only
|
||||
|
||||
ixfr-base <replaceable>quoted_string</replaceable>; // obsolete
|
||||
ixfr-tmp-file <replaceable>quoted_string</replaceable>; // obsolete
|
||||
maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named.conf.html,v 1.43 2008/04/03 01:09:59 tbox Exp $ -->
|
||||
<!-- $Id: named.conf.html,v 1.45.48.1 2009/07/11 01:55:21 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -172,6 +172,7 @@ options
|
||||
port <em class="replaceable"><code>integer</code></em>;<br>
|
||||
querylog <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
recursing-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
reserved-sockets <em class="replaceable"><code>integer</code></em>;<br>
|
||||
random-device <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
recursive-clients <em class="replaceable"><code>integer</code></em>;<br>
|
||||
serial-query-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -309,6 +310,8 @@ options
|
||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zero-no-soa-ttl-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // testing only<br>
|
||||
<br>
|
||||
allow-v6-synthesis { <em class="replaceable"><code>address_match_element</code></em>; ... }; // obsolete<br>
|
||||
deallocate-on-exit <em class="replaceable"><code>boolean</code></em>; // obsolete<br>
|
||||
@@ -326,7 +329,7 @@ options
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544444"></a><h2>VIEW</h2>
|
||||
<a name="id2544452"></a><h2>VIEW</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
view <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
|
||||
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
@@ -474,7 +477,7 @@ view
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545106"></a><h2>ZONE</h2>
|
||||
<a name="id2545113"></a><h2>ZONE</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
zone <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
|
||||
type ( master | slave | stub | hint |<br>
|
||||
@@ -554,6 +557,8 @@ zone
|
||||
zone-statistics <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // testing only<br>
|
||||
<br>
|
||||
ixfr-base <em class="replaceable"><code>quoted_string</code></em>; // obsolete<br>
|
||||
ixfr-tmp-file <em class="replaceable"><code>quoted_string</code></em>; // obsolete<br>
|
||||
@@ -564,12 +569,12 @@ zone
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545399"></a><h2>FILES</h2>
|
||||
<a name="id2545410"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/named.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545411"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2545421"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
|
||||
+25
-4
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,10 +18,10 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: named.docbook,v 1.21 2008/08/21 23:47:18 tbox Exp $ -->
|
||||
<!-- $Id: named.docbook,v 1.23.14.2 2009/12/03 04:49:32 tbox Exp $ -->
|
||||
<refentry id="man.named">
|
||||
<refentryinfo>
|
||||
<date>June 30, 2000</date>
|
||||
<date>May 21, 2009</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
@@ -42,6 +42,7 @@
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -69,6 +70,7 @@
|
||||
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-u <replaceable class="parameter">user</replaceable></option></arg>
|
||||
<arg><option>-v</option></arg>
|
||||
<arg><option>-V</option></arg>
|
||||
<arg><option>-x <replaceable class="parameter">cache-file</replaceable></option></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -299,6 +301,15 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-V</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Report the version number and build options, and exit.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-x <replaceable class="parameter">cache-file</replaceable></term>
|
||||
<listitem>
|
||||
@@ -364,6 +375,16 @@
|
||||
in the
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>named</command> inherits the <function>umask</function>
|
||||
(file creation mode mask) from the parent process. If files
|
||||
created by <command>named</command>, such as journal files,
|
||||
need to have custom permissions, the <function>umask</function>
|
||||
should be set explicitly in the script used to start the
|
||||
<command>named</command> process.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@@ -381,7 +402,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><filename>/var/run/named.pid</filename></term>
|
||||
<term><filename>/var/run/named/named.pid</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The default process-id file.
|
||||
|
||||
+24
-12
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named.html,v 1.28 2008/08/22 01:12:14 tbox Exp $ -->
|
||||
<!-- $Id: named.html,v 1.30.14.2 2009/12/03 05:06:38 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,10 +29,10 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543464"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543472"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named</strong></span>
|
||||
is a Domain Name System (DNS) server,
|
||||
part of the BIND 9 distribution from ISC. For more
|
||||
@@ -47,7 +47,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543489"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543496"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-4</span></dt>
|
||||
<dd><p>
|
||||
@@ -198,6 +198,10 @@
|
||||
<dd><p>
|
||||
Report the version number and exit.
|
||||
</p></dd>
|
||||
<dt><span class="term">-V</span></dt>
|
||||
<dd><p>
|
||||
Report the version number and build options, and exit.
|
||||
</p></dd>
|
||||
<dt><span class="term">-x <em class="replaceable"><code>cache-file</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -216,7 +220,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543911"></a><h2>SIGNALS</h2>
|
||||
<a name="id2543931"></a><h2>SIGNALS</h2>
|
||||
<p>
|
||||
In routine operation, signals should not be used to control
|
||||
the nameserver; <span><strong class="command">rndc</strong></span> should be used
|
||||
@@ -237,29 +241,37 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543959"></a><h2>CONFIGURATION</h2>
|
||||
<a name="id2543979"></a><h2>CONFIGURATION</h2>
|
||||
<p>
|
||||
The <span><strong class="command">named</strong></span> configuration file is too complex
|
||||
to describe in detail here. A complete description is provided
|
||||
in the
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
|
||||
</p>
|
||||
<p>
|
||||
<span><strong class="command">named</strong></span> inherits the <code class="function">umask</code>
|
||||
(file creation mode mask) from the parent process. If files
|
||||
created by <span><strong class="command">named</strong></span>, such as journal files,
|
||||
need to have custom permissions, the <code class="function">umask</code>
|
||||
should be set explicitly in the script used to start the
|
||||
<span><strong class="command">named</strong></span> process.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543976"></a><h2>FILES</h2>
|
||||
<a name="id2544016"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
|
||||
<dd><p>
|
||||
The default configuration file.
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="filename">/var/run/named.pid</code></span></dt>
|
||||
<dt><span class="term"><code class="filename">/var/run/named/named.pid</code></span></dt>
|
||||
<dd><p>
|
||||
The default process-id file.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544016"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544123"></a><h2>SEE ALSO</h2>
|
||||
<p><em class="citetitle">RFC 1033</em>,
|
||||
<em class="citetitle">RFC 1034</em>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -272,7 +284,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544086"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544194"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+633
-111
File diff suppressed because it is too large
Load Diff
+241
-148
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: server.c,v 1.513 2008/07/18 01:26:20 marka Exp $ */
|
||||
/* $Id: server.c,v 1.520.12.11.10.1 2010/03/03 22:06:36 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#include <isc/portset.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/resource.h>
|
||||
#include <isc/socket.h>
|
||||
#include <isc/stats.h>
|
||||
#include <isc/stdio.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/task.h>
|
||||
@@ -213,7 +215,7 @@ static const struct {
|
||||
/* Local IPv6 Unicast Addresses */
|
||||
{ "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA", ISC_FALSE },
|
||||
{ "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA", ISC_FALSE },
|
||||
/* LOCALLY ASSIGNED LOCAL ADDRES S SCOPE */
|
||||
/* LOCALLY ASSIGNED LOCAL ADDRESS SCOPE */
|
||||
{ "D.F.IP6.ARPA", ISC_FALSE },
|
||||
{ "8.E.F.IP6.ARPA", ISC_FALSE }, /* LINK LOCAL */
|
||||
{ "9.E.F.IP6.ARPA", ISC_FALSE }, /* LINK LOCAL */
|
||||
@@ -223,11 +225,6 @@ static const struct {
|
||||
{ NULL, ISC_FALSE }
|
||||
};
|
||||
|
||||
/*%
|
||||
* The default max-cache-size
|
||||
*/
|
||||
#define NS_MAXCACHESIZE_DEFAULT 33554432 /*%< Bytes. 33554432 = 32MB */
|
||||
|
||||
static void
|
||||
fatal(const char *msg, isc_result_t result);
|
||||
|
||||
@@ -260,9 +257,8 @@ static void
|
||||
end_reserved_dispatches(ns_server_t *server, isc_boolean_t all);
|
||||
|
||||
/*%
|
||||
* Configure a single view ACL at '*aclp'. Get its configuration by
|
||||
* calling 'getvcacl' (for per-view configuration) and maybe 'getscacl'
|
||||
* (for a global default).
|
||||
* Configure a single view ACL at '*aclp'. Get its configuration from
|
||||
* 'vconfig' (for per-view configuration) and maybe from 'config'
|
||||
*/
|
||||
static isc_result_t
|
||||
configure_view_acl(const cfg_obj_t *vconfig, const cfg_obj_t *config,
|
||||
@@ -962,22 +958,39 @@ check_dbtype(dns_zone_t **zonep, unsigned int dbtypec, const char **dbargv,
|
||||
static isc_result_t
|
||||
setquerystats(dns_zone_t *zone, isc_mem_t *mctx, isc_boolean_t on) {
|
||||
isc_result_t result;
|
||||
dns_stats_t *zoneqrystats;
|
||||
isc_stats_t *zoneqrystats;
|
||||
|
||||
zoneqrystats = NULL;
|
||||
if (on) {
|
||||
result = dns_generalstats_create(mctx, &zoneqrystats,
|
||||
dns_nsstatscounter_max);
|
||||
result = isc_stats_create(mctx, &zoneqrystats,
|
||||
dns_nsstatscounter_max);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
dns_zone_setrequeststats(zone, zoneqrystats);
|
||||
if (zoneqrystats != NULL)
|
||||
dns_stats_detach(&zoneqrystats);
|
||||
isc_stats_detach(&zoneqrystats);
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static isc_boolean_t
|
||||
cache_reusable(dns_view_t *originview, dns_view_t *view,
|
||||
isc_boolean_t new_zero_no_soattl)
|
||||
{
|
||||
if (originview->checknames != view->checknames ||
|
||||
dns_resolver_getzeronosoattl(originview->resolver) !=
|
||||
new_zero_no_soattl ||
|
||||
originview->acceptexpired != view->acceptexpired ||
|
||||
originview->enablevalidation != view->enablevalidation ||
|
||||
originview->maxcachettl != view->maxcachettl ||
|
||||
originview->maxncachettl != view->maxncachettl) {
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Configure 'view' according to 'vconfig', taking defaults from 'config'
|
||||
* where values are missing in 'vconfig'.
|
||||
@@ -1032,8 +1045,9 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
isc_boolean_t rfc1918;
|
||||
isc_boolean_t empty_zones_enable;
|
||||
const cfg_obj_t *disablelist = NULL;
|
||||
dns_stats_t *resstats = NULL;
|
||||
isc_stats_t *resstats = NULL;
|
||||
dns_stats_t *resquerystats = NULL;
|
||||
isc_boolean_t zero_no_soattl;
|
||||
|
||||
REQUIRE(DNS_VIEW_VALID(view));
|
||||
|
||||
@@ -1174,6 +1188,55 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Obtain configuration parameters that affect the decision of whether
|
||||
* we can reuse/share an existing cache.
|
||||
*/
|
||||
/* Check-names. */
|
||||
obj = NULL;
|
||||
result = ns_checknames_get(maps, "response", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
|
||||
str = cfg_obj_asstring(obj);
|
||||
if (strcasecmp(str, "fail") == 0) {
|
||||
resopts |= DNS_RESOLVER_CHECKNAMES |
|
||||
DNS_RESOLVER_CHECKNAMESFAIL;
|
||||
view->checknames = ISC_TRUE;
|
||||
} else if (strcasecmp(str, "warn") == 0) {
|
||||
resopts |= DNS_RESOLVER_CHECKNAMES;
|
||||
view->checknames = ISC_FALSE;
|
||||
} else if (strcasecmp(str, "ignore") == 0) {
|
||||
view->checknames = ISC_FALSE;
|
||||
} else
|
||||
INSIST(0);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "zero-no-soa-ttl-cache", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
zero_no_soattl = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-accept-expired", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->acceptexpired = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-validation", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->enablevalidation = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-cache-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->maxcachettl = cfg_obj_asuint32(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-ncache-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->maxncachettl = cfg_obj_asuint32(obj);
|
||||
if (view->maxncachettl > 7 * 24 * 3600)
|
||||
view->maxncachettl = 7 * 24 * 3600;
|
||||
|
||||
/*
|
||||
* Configure the view's cache. Try to reuse an existing
|
||||
* cache if possible, otherwise create a new cache.
|
||||
@@ -1181,13 +1244,15 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
* When a matching view is found, the associated statistics are
|
||||
* also retrieved and reused.
|
||||
*
|
||||
* XXX Determining when it is safe to reuse a cache is
|
||||
* tricky. When the view's configuration changes, the cached
|
||||
* data may become invalid because it reflects our old
|
||||
* view of the world. As more view attributes become
|
||||
* configurable, we will have to add code here to check
|
||||
* whether they have changed in ways that could
|
||||
* invalidate the cache.
|
||||
* XXX Determining when it is safe to reuse a cache is tricky.
|
||||
* When the view's configuration changes, the cached data may become
|
||||
* invalid because it reflects our old view of the world. We check
|
||||
* some of the configuration parameters that could invalidate the cache,
|
||||
* but there are other configuration options that should be checked.
|
||||
* For example, if a view uses a forwarder, changes in the forwarder
|
||||
* configuration may invalidate the cache. At the moment, it's the
|
||||
* administrator's responsibility to ensure these configuration options
|
||||
* don't invalidate reusing.
|
||||
*/
|
||||
result = dns_viewlist_find(&ns_g_server->viewlist,
|
||||
view->name, view->rdclass,
|
||||
@@ -1195,16 +1260,25 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
if (pview != NULL) {
|
||||
INSIST(pview->cache != NULL);
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_DEBUG(3),
|
||||
"reusing existing cache");
|
||||
reused_cache = ISC_TRUE;
|
||||
dns_cache_attach(pview->cache, &cache);
|
||||
if (cache_reusable(pview, view, zero_no_soattl)) {
|
||||
INSIST(pview->cache != NULL);
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_DEBUG(3),
|
||||
"reusing existing cache");
|
||||
reused_cache = ISC_TRUE;
|
||||
dns_cache_attach(pview->cache, &cache);
|
||||
} else {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
|
||||
"cache cannot be reused for view %s "
|
||||
"due to configuration parameter mismatch",
|
||||
view->name);
|
||||
}
|
||||
dns_view_getresstats(pview, &resstats);
|
||||
dns_view_getresquerystats(pview, &resquerystats);
|
||||
dns_view_detach(&pview);
|
||||
} else {
|
||||
}
|
||||
if (cache == NULL) {
|
||||
CHECK(isc_mem_create(0, 0, &cmctx));
|
||||
CHECK(dns_cache_create(cmctx, ns_g_taskmgr, ns_g_timermgr,
|
||||
view->rdclass, "rbt", 0, NULL, &cache));
|
||||
@@ -1231,21 +1305,11 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-cache-size", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS || result == ISC_R_NOTFOUND);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
max_cache_size = NS_MAXCACHESIZE_DEFAULT;
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||
"default max-cache-size (%u) applies%s%s",
|
||||
max_cache_size, sep, viewname);
|
||||
} else if (cfg_obj_isstring(obj)) {
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
if (cfg_obj_isstring(obj)) {
|
||||
str = cfg_obj_asstring(obj);
|
||||
INSIST(strcasecmp(str, "unlimited") == 0 ||
|
||||
strcasecmp(str, "default") == 0);
|
||||
if (strcasecmp(str, "unlimited") == 0)
|
||||
max_cache_size = ISC_UINT32_MAX;
|
||||
else
|
||||
max_cache_size = NS_MAXCACHESIZE_DEFAULT;
|
||||
INSIST(strcasecmp(str, "unlimited") == 0);
|
||||
max_cache_size = ISC_UINT32_MAX;
|
||||
} else {
|
||||
isc_resourcevalue_t value;
|
||||
value = cfg_obj_asuint64(obj);
|
||||
@@ -1263,26 +1327,6 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
|
||||
dns_cache_detach(&cache);
|
||||
|
||||
/*
|
||||
* Check-names.
|
||||
*/
|
||||
obj = NULL;
|
||||
result = ns_checknames_get(maps, "response", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
|
||||
str = cfg_obj_asstring(obj);
|
||||
if (strcasecmp(str, "fail") == 0) {
|
||||
resopts |= DNS_RESOLVER_CHECKNAMES |
|
||||
DNS_RESOLVER_CHECKNAMESFAIL;
|
||||
view->checknames = ISC_TRUE;
|
||||
} else if (strcasecmp(str, "warn") == 0) {
|
||||
resopts |= DNS_RESOLVER_CHECKNAMES;
|
||||
view->checknames = ISC_FALSE;
|
||||
} else if (strcasecmp(str, "ignore") == 0) {
|
||||
view->checknames = ISC_FALSE;
|
||||
} else
|
||||
INSIST(0);
|
||||
|
||||
/*
|
||||
* Resolver.
|
||||
*
|
||||
@@ -1307,8 +1351,8 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
dispatch4, dispatch6));
|
||||
|
||||
if (resstats == NULL) {
|
||||
CHECK(dns_generalstats_create(mctx, &resstats,
|
||||
dns_resstatscounter_max));
|
||||
CHECK(isc_stats_create(mctx, &resstats,
|
||||
dns_resstatscounter_max));
|
||||
}
|
||||
dns_view_setresstats(view, resstats);
|
||||
if (resquerystats == NULL)
|
||||
@@ -1337,11 +1381,6 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
lame_ttl = 1800;
|
||||
dns_resolver_setlamettl(view->resolver, lame_ttl);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "zero-no-soa-ttl-cache", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
dns_resolver_setzeronosoattl(view->resolver, cfg_obj_asboolean(obj));
|
||||
|
||||
/*
|
||||
* Set the resolver's EDNS UDP size.
|
||||
*/
|
||||
@@ -1591,10 +1630,11 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
*/
|
||||
if (view->queryacl == NULL && view->recursionacl != NULL)
|
||||
dns_acl_attach(view->recursionacl, &view->queryacl);
|
||||
if (view->queryacl == NULL)
|
||||
if (view->queryacl == NULL && view->recursion)
|
||||
CHECK(configure_view_acl(vconfig, config, "allow-query",
|
||||
actx, ns_g_mctx, &view->queryacl));
|
||||
if (view->recursionacl == NULL && view->queryacl != NULL)
|
||||
if (view->recursion &&
|
||||
view->recursionacl == NULL && view->queryacl != NULL)
|
||||
dns_acl_attach(view->queryacl, &view->recursionacl);
|
||||
|
||||
/*
|
||||
@@ -1611,10 +1651,17 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
"allow-recursion-on",
|
||||
actx, ns_g_mctx,
|
||||
&view->recursiononacl));
|
||||
if (view->queryacl == NULL)
|
||||
CHECK(configure_view_acl(NULL, ns_g_config,
|
||||
"allow-query-cache", actx,
|
||||
ns_g_mctx, &view->queryacl));
|
||||
if (view->queryacl == NULL) {
|
||||
if (view->recursion)
|
||||
CHECK(configure_view_acl(NULL, ns_g_config,
|
||||
"allow-query-cache", actx,
|
||||
ns_g_mctx, &view->queryacl));
|
||||
else {
|
||||
if (view->queryacl != NULL)
|
||||
dns_acl_detach(&view->queryacl);
|
||||
CHECK(dns_acl_none(ns_g_mctx, &view->queryacl));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Configure sortlist, if set
|
||||
@@ -1676,16 +1723,6 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->enablednssec = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-accept-expired", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->acceptexpired = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-validation", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->enablevalidation = cfg_obj_asboolean(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-lookaside", &obj);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
@@ -1740,18 +1777,6 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
if (result == ISC_R_SUCCESS)
|
||||
CHECK(mustbesecure(obj, view->resolver));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-cache-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->maxcachettl = cfg_obj_asuint32(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-ncache-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->maxncachettl = cfg_obj_asuint32(obj);
|
||||
if (view->maxncachettl > 7 * 24 * 3600)
|
||||
view->maxncachettl = 7 * 24 * 3600;
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "preferred-glue", &obj);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
@@ -1987,7 +2012,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
|
||||
if (dispatch6 != NULL)
|
||||
dns_dispatch_detach(&dispatch6);
|
||||
if (resstats != NULL)
|
||||
dns_stats_detach(&resstats);
|
||||
isc_stats_detach(&resstats);
|
||||
if (resquerystats != NULL)
|
||||
dns_stats_detach(&resquerystats);
|
||||
if (order != NULL)
|
||||
@@ -2114,6 +2139,8 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
|
||||
isc_result_t result;
|
||||
in_port_t port;
|
||||
|
||||
ISC_LIST_INIT(addresses);
|
||||
|
||||
/*
|
||||
* Determine which port to send forwarded requests to.
|
||||
*/
|
||||
@@ -2139,8 +2166,6 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
|
||||
if (forwarders != NULL)
|
||||
faddresses = cfg_tuple_get(forwarders, "addresses");
|
||||
|
||||
ISC_LIST_INIT(addresses);
|
||||
|
||||
for (element = cfg_list_first(faddresses);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
@@ -2801,7 +2826,7 @@ set_limit(const cfg_obj_t **maps, const char *configname,
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
|
||||
result == ISC_R_SUCCESS ?
|
||||
ISC_LOG_DEBUG(3) : ISC_LOG_WARNING,
|
||||
"set maximum %s to %" ISC_PRINT_QUADFORMAT "d: %s",
|
||||
"set maximum %s to %" ISC_PRINT_QUADFORMAT "u: %s",
|
||||
description, value, isc_result_totext(result));
|
||||
}
|
||||
|
||||
@@ -2883,30 +2908,32 @@ static isc_result_t
|
||||
load_configuration(const char *filename, ns_server_t *server,
|
||||
isc_boolean_t first_time)
|
||||
{
|
||||
isc_result_t result;
|
||||
isc_interval_t interval;
|
||||
cfg_parser_t *parser = NULL;
|
||||
cfg_aclconfctx_t aclconfctx;
|
||||
cfg_obj_t *config;
|
||||
const cfg_obj_t *options;
|
||||
const cfg_obj_t *views;
|
||||
const cfg_obj_t *obj;
|
||||
const cfg_obj_t *usev4ports, *avoidv4ports, *usev6ports, *avoidv6ports;
|
||||
const cfg_obj_t *maps[3];
|
||||
const cfg_obj_t *builtin_views;
|
||||
cfg_parser_t *parser = NULL;
|
||||
const cfg_listelt_t *element;
|
||||
const cfg_obj_t *builtin_views;
|
||||
const cfg_obj_t *maps[3];
|
||||
const cfg_obj_t *obj;
|
||||
const cfg_obj_t *options;
|
||||
const cfg_obj_t *usev4ports, *avoidv4ports, *usev6ports, *avoidv6ports;
|
||||
const cfg_obj_t *views;
|
||||
dns_view_t *view = NULL;
|
||||
dns_view_t *view_next;
|
||||
dns_viewlist_t viewlist;
|
||||
dns_viewlist_t tmpviewlist;
|
||||
cfg_aclconfctx_t aclconfctx;
|
||||
isc_uint32_t interface_interval;
|
||||
isc_uint32_t heartbeat_interval;
|
||||
isc_uint32_t udpsize;
|
||||
dns_viewlist_t viewlist;
|
||||
in_port_t listen_port, udpport_low, udpport_high;
|
||||
int i;
|
||||
isc_interval_t interval;
|
||||
isc_portset_t *v4portset = NULL;
|
||||
isc_portset_t *v6portset = NULL;
|
||||
isc_resourcevalue_t nfiles;
|
||||
int i;
|
||||
isc_result_t result;
|
||||
isc_uint32_t heartbeat_interval;
|
||||
isc_uint32_t interface_interval;
|
||||
isc_uint32_t reserved;
|
||||
isc_uint32_t udpsize;
|
||||
unsigned int maxsocks;
|
||||
|
||||
cfg_aclconfctx_init(&aclconfctx);
|
||||
ISC_LIST_INIT(viewlist);
|
||||
@@ -2992,22 +3019,42 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
* but may cause subsequent runtime failures for a busy recursive
|
||||
* server.
|
||||
*/
|
||||
result = isc_socketmgr_getmaxsockets(ns_g_socketmgr, &maxsocks);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
maxsocks = 0;
|
||||
result = isc_resource_getcurlimit(isc_resource_openfiles, &nfiles);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
unsigned int maxsocks;
|
||||
|
||||
result = isc_socketmgr_getmaxsockets(ns_g_socketmgr, &maxsocks);
|
||||
if (result == ISC_R_SUCCESS &&
|
||||
(isc_resourcevalue_t)maxsocks > nfiles) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"max open files "
|
||||
"(%" ISC_PRINT_QUADFORMAT "u)"
|
||||
" is smaller than max sockets (%u)",
|
||||
nfiles, maxsocks);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS && (isc_resourcevalue_t)maxsocks > nfiles) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"max open files (%" ISC_PRINT_QUADFORMAT "u)"
|
||||
" is smaller than max sockets (%u)",
|
||||
nfiles, maxsocks);
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the number of socket reserved for TCP, stdio etc.
|
||||
*/
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "reserved-sockets", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
reserved = cfg_obj_asuint32(obj);
|
||||
if (maxsocks != 0) {
|
||||
if (maxsocks < 128U) /* Prevent underflow. */
|
||||
reserved = 0;
|
||||
else if (reserved > maxsocks - 128U) /* Minimum UDP space. */
|
||||
reserved = maxsocks - 128;
|
||||
}
|
||||
/* Minimum TCP/stdio space. */
|
||||
if (reserved < 128U)
|
||||
reserved = 128;
|
||||
if (reserved + 128U > maxsocks && maxsocks != 0) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"less than 128 UDP sockets available after "
|
||||
"applying 'reserved-sockets' and 'maxsockets'");
|
||||
}
|
||||
isc__socketmgr_setreserved(ns_g_socketmgr, reserved);
|
||||
|
||||
/*
|
||||
* Configure various server options.
|
||||
*/
|
||||
@@ -3900,6 +3947,11 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
|
||||
server->opcodestats = NULL;
|
||||
server->zonestats = NULL;
|
||||
server->resolverstats = NULL;
|
||||
server->sockstats = NULL;
|
||||
CHECKFATAL(isc_stats_create(server->mctx, &server->sockstats,
|
||||
isc_sockstatscounter_max),
|
||||
"isc_stats_create");
|
||||
isc_socketmgr_setstats(ns_g_socketmgr, server->sockstats);
|
||||
|
||||
server->dumpfile = isc_mem_strdup(server->mctx, "named_dump.db");
|
||||
CHECKFATAL(server->dumpfile == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS,
|
||||
@@ -3916,8 +3968,8 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
|
||||
server->server_usehostname = ISC_FALSE;
|
||||
server->server_id = NULL;
|
||||
|
||||
CHECKFATAL(dns_generalstats_create(ns_g_mctx, &server->nsstats,
|
||||
dns_nsstatscounter_max),
|
||||
CHECKFATAL(isc_stats_create(ns_g_mctx, &server->nsstats,
|
||||
dns_nsstatscounter_max),
|
||||
"dns_stats_create (server)");
|
||||
|
||||
CHECKFATAL(dns_rdatatypestats_create(ns_g_mctx,
|
||||
@@ -3927,12 +3979,12 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
|
||||
CHECKFATAL(dns_opcodestats_create(ns_g_mctx, &server->opcodestats),
|
||||
"dns_stats_create (opcode)");
|
||||
|
||||
CHECKFATAL(dns_generalstats_create(ns_g_mctx, &server->zonestats,
|
||||
dns_zonestatscounter_max),
|
||||
CHECKFATAL(isc_stats_create(ns_g_mctx, &server->zonestats,
|
||||
dns_zonestatscounter_max),
|
||||
"dns_stats_create (zone)");
|
||||
|
||||
CHECKFATAL(dns_generalstats_create(ns_g_mctx, &server->resolverstats,
|
||||
dns_resstatscounter_max),
|
||||
CHECKFATAL(isc_stats_create(ns_g_mctx, &server->resolverstats,
|
||||
dns_resstatscounter_max),
|
||||
"dns_stats_create (resolver)");
|
||||
|
||||
server->flushonshutdown = ISC_FALSE;
|
||||
@@ -3957,11 +4009,12 @@ ns_server_destroy(ns_server_t **serverp) {
|
||||
|
||||
ns_controls_destroy(&server->controls);
|
||||
|
||||
dns_stats_detach(&server->nsstats);
|
||||
isc_stats_detach(&server->nsstats);
|
||||
dns_stats_detach(&server->rcvquerystats);
|
||||
dns_stats_detach(&server->opcodestats);
|
||||
dns_stats_detach(&server->zonestats);
|
||||
dns_stats_detach(&server->resolverstats);
|
||||
isc_stats_detach(&server->zonestats);
|
||||
isc_stats_detach(&server->resolverstats);
|
||||
isc_stats_detach(&server->sockstats);
|
||||
|
||||
isc_mem_free(server->mctx, server->statsfile);
|
||||
isc_mem_free(server->mctx, server->dumpfile);
|
||||
@@ -4284,6 +4337,8 @@ zone_from_args(ns_server_t *server, char *args, dns_zone_t **zonep) {
|
||||
/* Partial match? */
|
||||
if (result != ISC_R_SUCCESS && *zonep != NULL)
|
||||
dns_zone_detach(zonep);
|
||||
if (result == DNS_R_PARTIALMATCH)
|
||||
result = ISC_R_NOTFOUND;
|
||||
fail1:
|
||||
return (result);
|
||||
}
|
||||
@@ -4671,6 +4726,8 @@ dumpdone(void *arg, isc_result_t result) {
|
||||
}
|
||||
if (dctx->cache != NULL) {
|
||||
dns_adb_dump(dctx->view->view->adb, dctx->fp);
|
||||
dns_resolver_printbadcache(dctx->view->view->resolver,
|
||||
dctx->fp);
|
||||
dns_db_detach(&dctx->cache);
|
||||
}
|
||||
if (dctx->dumpzones) {
|
||||
@@ -5083,9 +5140,14 @@ ns_server_status(ns_server_t *server, isc_buffer_t *text) {
|
||||
DNS_ZONESTATE_XFERDEFERRED);
|
||||
soaqueries = dns_zonemgr_getcount(server->zonemgr,
|
||||
DNS_ZONESTATE_SOAQUERY);
|
||||
|
||||
n = snprintf((char *)isc_buffer_used(text),
|
||||
isc_buffer_availablelength(text),
|
||||
"version: %s%s%s%s\n"
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
"CPUs found: %u\n"
|
||||
"worker threads: %u\n"
|
||||
#endif
|
||||
"number of zones: %u\n"
|
||||
"debug level: %d\n"
|
||||
"xfers running: %u\n"
|
||||
@@ -5096,6 +5158,9 @@ ns_server_status(ns_server_t *server, isc_buffer_t *text) {
|
||||
"tcp clients: %d/%d\n"
|
||||
"server is up and running",
|
||||
ns_g_version, ob, alt, cb,
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
ns_g_cpus_detected, ns_g_cpus,
|
||||
#endif
|
||||
zonecount, ns_g_debuglevel, xferrunning, xferdeferred,
|
||||
soaqueries, server->log_queries ? "ON" : "OFF",
|
||||
server->recursionquota.used, server->recursionquota.soft,
|
||||
@@ -5340,7 +5405,9 @@ ns_server_tsiglist(ns_server_t *server, isc_buffer_t *text) {
|
||||
* Act on a "freeze" or "thaw" command from the command channel.
|
||||
*/
|
||||
isc_result_t
|
||||
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args) {
|
||||
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args,
|
||||
isc_buffer_t *text)
|
||||
{
|
||||
isc_result_t result, tresult;
|
||||
dns_zone_t *zone = NULL;
|
||||
dns_zonetype_t type;
|
||||
@@ -5350,6 +5417,7 @@ ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args) {
|
||||
char *journal;
|
||||
const char *vname, *sep;
|
||||
isc_boolean_t frozen;
|
||||
const char *msg = NULL;
|
||||
|
||||
result = zone_from_args(server, args, &zone);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
@@ -5380,27 +5448,52 @@ ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args) {
|
||||
return (ISC_R_NOTFOUND);
|
||||
}
|
||||
|
||||
result = isc_task_beginexclusive(server->task);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
frozen = dns_zone_getupdatedisabled(zone);
|
||||
if (freeze) {
|
||||
if (frozen)
|
||||
if (frozen) {
|
||||
msg = "WARNING: The zone was already frozen.\n"
|
||||
"Someone else may be editing it or "
|
||||
"it may still be re-loading.";
|
||||
result = DNS_R_FROZEN;
|
||||
if (result == ISC_R_SUCCESS)
|
||||
}
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = dns_zone_flush(zone);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
msg = "Flushing the zone updates to "
|
||||
"disk failed.";
|
||||
}
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
journal = dns_zone_getjournal(zone);
|
||||
if (journal != NULL)
|
||||
(void)isc_file_remove(journal);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS)
|
||||
dns_zone_setupdatedisabled(zone, freeze);
|
||||
} else {
|
||||
if (frozen) {
|
||||
result = dns_zone_load(zone);
|
||||
if (result == DNS_R_CONTINUE ||
|
||||
result == DNS_R_UPTODATE)
|
||||
result = dns_zone_loadandthaw(zone);
|
||||
switch (result) {
|
||||
case ISC_R_SUCCESS:
|
||||
case DNS_R_UPTODATE:
|
||||
msg = "The zone reload and thaw was "
|
||||
"successful.";
|
||||
result = ISC_R_SUCCESS;
|
||||
break;
|
||||
case DNS_R_CONTINUE:
|
||||
msg = "A zone reload and thaw was started.\n"
|
||||
"Check the logs to see the result.";
|
||||
result = ISC_R_SUCCESS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result == ISC_R_SUCCESS)
|
||||
dns_zone_setupdatedisabled(zone, freeze);
|
||||
isc_task_endexclusive(server->task);
|
||||
|
||||
if (msg != NULL && strlen(msg) < isc_buffer_availablelength(text))
|
||||
isc_buffer_putmem(text, (const unsigned char *)msg,
|
||||
strlen(msg) + 1);
|
||||
|
||||
view = dns_zone_getview(zone);
|
||||
if (strcmp(view->name, "_bind") == 0 ||
|
||||
|
||||
+575
-385
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.27 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: os.h,v 1.29 2008/10/24 01:44:48 tbox Exp $ */
|
||||
|
||||
#ifndef NS_OS_H
|
||||
#define NS_OS_H 1
|
||||
@@ -45,12 +45,14 @@ ns_os_inituserinfo(const char *username);
|
||||
void
|
||||
ns_os_changeuser(void);
|
||||
|
||||
void
|
||||
ns_os_adjustnofile(void);
|
||||
|
||||
void
|
||||
ns_os_minprivs(void);
|
||||
|
||||
void
|
||||
ns_os_writepidfile(const char *filename, isc_boolean_t first_time);
|
||||
|
||||
void
|
||||
ns_os_shutdown(void);
|
||||
|
||||
|
||||
+119
-18
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.84 2008/05/06 01:30:26 each Exp $ */
|
||||
/* $Id: os.c,v 1.89.12.5 2009/03/02 03:03:54 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/resource.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/strerror.h>
|
||||
#include <isc/string.h>
|
||||
@@ -194,16 +195,20 @@ linux_setcaps(cap_t caps) {
|
||||
#define SET_CAP(flag) \
|
||||
do { \
|
||||
capval = (flag); \
|
||||
err = cap_set_flag(caps, CAP_EFFECTIVE, 1, &capval, CAP_SET); \
|
||||
if (err == -1) { \
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_set_proc failed: %s", strbuf); \
|
||||
} \
|
||||
\
|
||||
err = cap_set_flag(caps, CAP_PERMITTED, 1, &capval, CAP_SET); \
|
||||
if (err == -1) { \
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_set_proc failed: %s", strbuf); \
|
||||
cap_flag_value_t curval; \
|
||||
err = cap_get_flag(curcaps, capval, CAP_PERMITTED, &curval); \
|
||||
if (err != -1 && curval) { \
|
||||
err = cap_set_flag(caps, CAP_EFFECTIVE, 1, &capval, CAP_SET); \
|
||||
if (err == -1) { \
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_set_proc failed: %s", strbuf); \
|
||||
} \
|
||||
\
|
||||
err = cap_set_flag(caps, CAP_PERMITTED, 1, &capval, CAP_SET); \
|
||||
if (err == -1) { \
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_set_proc failed: %s", strbuf); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
#define INIT_CAP \
|
||||
@@ -213,16 +218,27 @@ linux_setcaps(cap_t caps) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_init failed: %s", strbuf); \
|
||||
} \
|
||||
curcaps = cap_get_proc(); \
|
||||
if (curcaps == NULL) { \
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf)); \
|
||||
ns_main_earlyfatal("cap_get_proc failed: %s", strbuf); \
|
||||
} \
|
||||
} while (0)
|
||||
#define FREE_CAP \
|
||||
{ \
|
||||
cap_free(caps); \
|
||||
cap_free(curcaps); \
|
||||
} while (0)
|
||||
#else
|
||||
#define SET_CAP(flag) { caps |= (1 << (flag)); }
|
||||
#define INIT_CAP { caps = 0; }
|
||||
#define SET_CAP(flag) do { caps |= (1 << (flag)); } while (0)
|
||||
#define INIT_CAP do { caps = 0; } while (0)
|
||||
#endif /* HAVE_LIBCAP */
|
||||
|
||||
static void
|
||||
linux_initialprivs(void) {
|
||||
cap_t caps;
|
||||
#ifdef HAVE_LIBCAP
|
||||
cap_t curcaps;
|
||||
cap_value_t capval;
|
||||
char strbuf[ISC_STRERRORSIZE];
|
||||
int err;
|
||||
@@ -276,12 +292,17 @@ linux_initialprivs(void) {
|
||||
SET_CAP(CAP_SYS_RESOURCE);
|
||||
|
||||
linux_setcaps(caps);
|
||||
|
||||
#ifdef HAVE_LIBCAP
|
||||
FREE_CAP;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
linux_minprivs(void) {
|
||||
cap_t caps;
|
||||
#ifdef HAVE_LIBCAP
|
||||
cap_t curcaps;
|
||||
cap_value_t capval;
|
||||
char strbuf[ISC_STRERRORSIZE];
|
||||
int err;
|
||||
@@ -308,6 +329,10 @@ linux_minprivs(void) {
|
||||
SET_CAP(CAP_SYS_RESOURCE);
|
||||
|
||||
linux_setcaps(caps);
|
||||
|
||||
#ifdef HAVE_LIBCAP
|
||||
FREE_CAP;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
@@ -437,10 +462,12 @@ ns_os_started(void) {
|
||||
char buf = 0;
|
||||
|
||||
/*
|
||||
* Signal to the parent that we stated successfully.
|
||||
* Signal to the parent that we started successfully.
|
||||
*/
|
||||
if (dfd[0] != -1 && dfd[1] != -1) {
|
||||
write(dfd[1], &buf, 1);
|
||||
if (write(dfd[1], &buf, 1) != 1)
|
||||
ns_main_earlyfatal("unable to signal parent that we "
|
||||
"otherwise started successfully.");
|
||||
close(dfd[1]);
|
||||
dfd[0] = dfd[1] = -1;
|
||||
}
|
||||
@@ -480,10 +507,14 @@ ns_os_chroot(const char *root) {
|
||||
ns_smf_chroot = 0;
|
||||
#endif
|
||||
if (root != NULL) {
|
||||
#ifdef HAVE_CHROOT
|
||||
if (chroot(root) < 0) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
ns_main_earlyfatal("chroot(): %s", strbuf);
|
||||
}
|
||||
#else
|
||||
ns_main_earlyfatal("chroot(): disabled");
|
||||
#endif
|
||||
if (chdir("/") < 0) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
ns_main_earlyfatal("chdir(/): %s", strbuf);
|
||||
@@ -566,6 +597,24 @@ ns_os_changeuser(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
ns_os_adjustnofile() {
|
||||
#ifdef HAVE_LINUXTHREADS
|
||||
isc_result_t result;
|
||||
isc_resourcevalue_t newvalue;
|
||||
|
||||
/*
|
||||
* Linux: max number of open files specified by one thread doesn't seem
|
||||
* to apply to other threads on Linux.
|
||||
*/
|
||||
newvalue = ISC_RESOURCE_UNLIMITED;
|
||||
|
||||
result = isc_resource_setlimit(isc_resource_openfiles, newvalue);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
ns_main_earlywarning("couldn't adjust limit on open files");
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
ns_os_minprivs(void) {
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
@@ -598,7 +647,8 @@ safe_open(const char *filename, isc_boolean_t append) {
|
||||
fd = open(filename, O_WRONLY|O_CREAT|O_APPEND,
|
||||
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
|
||||
else {
|
||||
(void)unlink(filename);
|
||||
if (unlink(filename) < 0 && errno != ENOENT)
|
||||
return (-1);
|
||||
fd = open(filename, O_WRONLY|O_CREAT|O_EXCL,
|
||||
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
|
||||
}
|
||||
@@ -607,13 +657,54 @@ safe_open(const char *filename, isc_boolean_t append) {
|
||||
|
||||
static void
|
||||
cleanup_pidfile(void) {
|
||||
int n;
|
||||
if (pidfile != NULL) {
|
||||
(void)unlink(pidfile);
|
||||
n = unlink(pidfile);
|
||||
if (n == -1 && errno != ENOENT)
|
||||
ns_main_earlywarning("unlink '%s': failed", pidfile);
|
||||
free(pidfile);
|
||||
}
|
||||
pidfile = NULL;
|
||||
}
|
||||
|
||||
static int
|
||||
mkdirpath(char *filename, void (*report)(const char *, ...)) {
|
||||
char *slash = strrchr(filename, '/');
|
||||
char strbuf[ISC_STRERRORSIZE];
|
||||
unsigned int mode;
|
||||
|
||||
if (slash != NULL && slash != filename) {
|
||||
struct stat sb;
|
||||
*slash = '\0';
|
||||
|
||||
if (stat(filename, &sb) == -1) {
|
||||
if (errno != ENOENT) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
(*report)("couldn't stat '%s': %s", filename,
|
||||
strbuf);
|
||||
goto error;
|
||||
}
|
||||
if (mkdirpath(filename, report) == -1)
|
||||
goto error;
|
||||
mode = S_IRUSR | S_IWUSR | S_IXUSR; /* u=rwx */
|
||||
mode |= S_IRGRP | S_IXGRP; /* g=rx */
|
||||
mode |= S_IROTH | S_IXOTH; /* o=rx */
|
||||
if (mkdir(filename, mode) == -1) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
(*report)("couldn't mkdir '%s': %s", filename,
|
||||
strbuf);
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
*slash = '/';
|
||||
}
|
||||
return (0);
|
||||
|
||||
error:
|
||||
*slash = '/';
|
||||
return (-1);
|
||||
}
|
||||
|
||||
void
|
||||
ns_os_writepidfile(const char *filename, isc_boolean_t first_time) {
|
||||
int fd;
|
||||
@@ -641,9 +732,19 @@ ns_os_writepidfile(const char *filename, isc_boolean_t first_time) {
|
||||
(*report)("couldn't malloc '%s': %s", filename, strbuf);
|
||||
return;
|
||||
}
|
||||
|
||||
/* This is safe. */
|
||||
strcpy(pidfile, filename);
|
||||
|
||||
/*
|
||||
* Make the containing directory if it doesn't exist.
|
||||
*/
|
||||
if (mkdirpath(pidfile, report) == -1) {
|
||||
free(pidfile);
|
||||
pidfile = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
fd = safe_open(filename, ISC_FALSE);
|
||||
if (fd < 0) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
|
||||
+1001
-96
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.12 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: os.h,v 1.14 2008/10/24 01:44:48 tbox Exp $ */
|
||||
|
||||
#ifndef NS_OS_H
|
||||
#define NS_OS_H 1
|
||||
@@ -43,6 +43,9 @@ ns_os_inituserinfo(const char *username);
|
||||
void
|
||||
ns_os_changeuser(void);
|
||||
|
||||
void
|
||||
ns_os_adjustnofile(void);
|
||||
|
||||
void
|
||||
ns_os_minprivs(void);
|
||||
|
||||
|
||||
+16
-13
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2006, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: ntservice.c,v 1.12 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: ntservice.c,v 1.12.332.2 2009/06/23 23:47:11 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
#include <stdio.h>
|
||||
@@ -47,7 +47,7 @@ int main(int, char *[], char *[]); /* From ns_main.c */
|
||||
#pragma comment(linker, "/entry:bindmain")
|
||||
|
||||
/*
|
||||
* This is the entry point for the executable
|
||||
* This is the entry point for the executable
|
||||
* We can now call main() explicitly or via StartServiceCtrlDispatcher()
|
||||
* as we need to.
|
||||
*/
|
||||
@@ -65,9 +65,12 @@ int bindmain()
|
||||
*/
|
||||
GetArgs(&argc, &argv, &envp);
|
||||
|
||||
/* Command line users should put -f in the options */
|
||||
/* Command line users should put -f in the options. */
|
||||
/* XXXMPA should use isc_commandline_parse() here. */
|
||||
while (argv[i]) {
|
||||
if (!strcmp(argv[i], "-f") || !strcmp(argv[i], "-g")) {
|
||||
if (!strcmp(argv[i], "-f") ||
|
||||
!strcmp(argv[i], "-g") ||
|
||||
!strcmp(argv[i], "-v")) {
|
||||
foreground = TRUE;
|
||||
break;
|
||||
}
|
||||
@@ -129,7 +132,7 @@ BOOL
|
||||
ntservice_isservice() {
|
||||
return(!foreground);
|
||||
}
|
||||
/*
|
||||
/*
|
||||
* ServiceControl(): Handles requests from the SCM and passes them on
|
||||
* to named.
|
||||
*/
|
||||
@@ -137,17 +140,17 @@ void
|
||||
ServiceControl(DWORD dwCtrlCode) {
|
||||
/* Handle the requested control code */
|
||||
switch(dwCtrlCode) {
|
||||
case SERVICE_CONTROL_INTERROGATE:
|
||||
case SERVICE_CONTROL_INTERROGATE:
|
||||
UpdateSCM(0);
|
||||
break;
|
||||
|
||||
case SERVICE_CONTROL_SHUTDOWN:
|
||||
case SERVICE_CONTROL_STOP:
|
||||
case SERVICE_CONTROL_SHUTDOWN:
|
||||
case SERVICE_CONTROL_STOP:
|
||||
ns_server_flushonshutdown(ns_g_server, ISC_TRUE);
|
||||
isc_app_shutdown();
|
||||
UpdateSCM(SERVICE_STOPPED);
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -185,7 +188,7 @@ void UpdateSCM(DWORD state) {
|
||||
* get argv, argc, envp.
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
typedef struct
|
||||
{
|
||||
int newmode;
|
||||
} _startupinfo;
|
||||
@@ -218,13 +221,13 @@ extern _CRTIMP char **__initenv;
|
||||
void GetArgs(int *argc, char ***argv, char ***envp)
|
||||
{
|
||||
_startupinfo startinfo;
|
||||
|
||||
|
||||
/*
|
||||
* Set the app type to Console (check CRT/SRC/INTERNAL.H:
|
||||
* \#define _CONSOLE_APP 1)
|
||||
*/
|
||||
__set_app_type(1);
|
||||
|
||||
|
||||
/* Mark this module as an EXE file */
|
||||
__onexitbegin = __onexitend = (_PVFV *)(-1);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.28 2008/01/18 23:46:57 tbox Exp $ */
|
||||
/* $Id: os.c,v 1.31 2008/11/17 05:41:10 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
#include <stdarg.h>
|
||||
@@ -155,6 +155,8 @@ ns_os_closedevnull(void) {
|
||||
|
||||
void
|
||||
ns_os_chroot(const char *root) {
|
||||
if (root != NULL)
|
||||
ns_main_earlyfatal("chroot(): isn't supported by Win32 API");
|
||||
}
|
||||
|
||||
void
|
||||
@@ -165,6 +167,10 @@ void
|
||||
ns_os_changeuser(void) {
|
||||
}
|
||||
|
||||
void
|
||||
ns_os_adjustnofile(void) {
|
||||
}
|
||||
|
||||
void
|
||||
ns_os_minprivs(void) {
|
||||
}
|
||||
|
||||
+20
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: xfrout.c,v 1.129 2008/08/15 19:36:49 jinmei Exp $ */
|
||||
/* $Id: xfrout.c,v 1.131.26.4 2009/01/29 22:40:34 jinmei Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <isc/mem.h>
|
||||
#include <isc/timer.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/stats.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <dns/db.h>
|
||||
@@ -150,12 +151,12 @@ static void
|
||||
db_rr_iterator_destroy(db_rr_iterator_t *it);
|
||||
|
||||
static inline void
|
||||
inc_stats(dns_zone_t *zone, dns_statscounter_t counter) {
|
||||
dns_generalstats_increment(ns_g_server->nsstats, counter);
|
||||
inc_stats(dns_zone_t *zone, isc_statscounter_t counter) {
|
||||
isc_stats_increment(ns_g_server->nsstats, counter);
|
||||
if (zone != NULL) {
|
||||
dns_stats_t *zonestats = dns_zone_getrequeststats(zone);
|
||||
isc_stats_t *zonestats = dns_zone_getrequeststats(zone);
|
||||
if (zonestats != NULL)
|
||||
dns_generalstats_increment(zonestats, counter);
|
||||
isc_stats_increment(zonestats, counter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +170,7 @@ db_rr_iterator_init(db_rr_iterator_t *it, dns_db_t *db, dns_dbversion_t *ver,
|
||||
it->ver = ver;
|
||||
it->now = now;
|
||||
it->node = NULL;
|
||||
result = dns_db_createiterator(it->db, ISC_FALSE, &it->dbit);
|
||||
result = dns_db_createiterator(it->db, 0, &it->dbit);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
it->rdatasetit = NULL;
|
||||
@@ -314,6 +315,11 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, isc_uint32_t ttl) {
|
||||
rdl.type = rdata->type;
|
||||
rdl.rdclass = rdata->rdclass;
|
||||
rdl.ttl = ttl;
|
||||
if (rdata->type == dns_rdatatype_sig ||
|
||||
rdata->type == dns_rdatatype_rrsig)
|
||||
rdl.covers = dns_rdata_covers(rdata);
|
||||
else
|
||||
rdl.covers = dns_rdatatype_none;
|
||||
ISC_LIST_INIT(rdl.rdata);
|
||||
ISC_LINK_INIT(&rdl, link);
|
||||
dns_rdataset_init(&rds);
|
||||
@@ -1203,7 +1209,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
|
||||
}
|
||||
|
||||
/*
|
||||
* Bracket the the data stream with SOAs.
|
||||
* Bracket the data stream with SOAs.
|
||||
*/
|
||||
CHECK(soa_rrstream_create(mctx, db, ver, &soa_stream));
|
||||
CHECK(compound_rrstream_create(mctx, &soa_stream, &data_stream,
|
||||
@@ -1418,7 +1424,7 @@ failure:
|
||||
*
|
||||
* Requires:
|
||||
* The stream iterator is initialized and points at an RR,
|
||||
* or possiby at the end of the stream (that is, the
|
||||
* or possibly at the end of the stream (that is, the
|
||||
* _first method of the iterator has been called).
|
||||
*/
|
||||
static void
|
||||
@@ -1592,6 +1598,11 @@ sendstream(xfrout_ctx_t *xfr) {
|
||||
msgrdl->type = rdata->type;
|
||||
msgrdl->rdclass = rdata->rdclass;
|
||||
msgrdl->ttl = ttl;
|
||||
if (rdata->type == dns_rdatatype_sig ||
|
||||
rdata->type == dns_rdatatype_rrsig)
|
||||
msgrdl->covers = dns_rdata_covers(rdata);
|
||||
else
|
||||
msgrdl->covers = dns_rdatatype_none;
|
||||
ISC_LINK_INIT(msgrdl, link);
|
||||
ISC_LIST_INIT(msgrdl->rdata);
|
||||
ISC_LIST_APPEND(msgrdl->rdata, msgrdata, link);
|
||||
|
||||
+13
-6
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zoneconf.c,v 1.146 2008/05/21 23:47:00 tbox Exp $ */
|
||||
/* $Id: zoneconf.c,v 1.147.50.2 2009/01/29 23:47:44 tbox Exp $ */
|
||||
|
||||
/*% */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <isc/file.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/stats.h>
|
||||
#include <isc/string.h> /* Required for HP/UX (and others?) */
|
||||
#include <isc/util.h>
|
||||
|
||||
@@ -431,7 +432,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
isc_boolean_t warn = ISC_FALSE, ignore = ISC_FALSE;
|
||||
isc_boolean_t ixfrdiff;
|
||||
dns_masterformat_t masterformat;
|
||||
dns_stats_t *zoneqrystats;
|
||||
isc_stats_t *zoneqrystats;
|
||||
isc_boolean_t zonestats_on;
|
||||
int seconds;
|
||||
|
||||
@@ -564,12 +565,12 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
zonestats_on = cfg_obj_asboolean(obj);
|
||||
zoneqrystats = NULL;
|
||||
if (zonestats_on) {
|
||||
RETERR(dns_generalstats_create(mctx, &zoneqrystats,
|
||||
dns_nsstatscounter_max));
|
||||
RETERR(isc_stats_create(mctx, &zoneqrystats,
|
||||
dns_nsstatscounter_max));
|
||||
}
|
||||
dns_zone_setrequeststats(zone, zoneqrystats);
|
||||
if (zoneqrystats != NULL)
|
||||
dns_stats_detach(&zoneqrystats);
|
||||
isc_stats_detach(&zoneqrystats);
|
||||
|
||||
/*
|
||||
* Configure master functionality. This applies
|
||||
@@ -716,6 +717,12 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
result = ns_config_get(maps, "zero-no-soa-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
dns_zone_setzeronosoattl(zone, cfg_obj_asboolean(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "nsec3-test-zone", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_NSEC3TESTZONE,
|
||||
cfg_obj_asboolean(obj));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004, 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2006-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.28 2008/08/29 03:16:14 marka Exp $
|
||||
# $Id: Makefile.in,v 1.29 2008/08/29 23:47:22 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
+123
-285
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,325 +13,191 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: nsupdate.1,v 1.1 2008/08/29 03:16:14 marka Exp $
|
||||
.\" $Id: nsupdate.1,v 1.3.48.3 2009/07/11 01:55:21 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: nsupdate
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/>
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: Jun 30, 2000
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NSUPDATE" "1" "Jun 30, 2000" "BIND9" "BIND9"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * (re)Define some macros
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" toupper - uppercase a string (locale-aware)
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de toupper
|
||||
.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
|
||||
\\$*
|
||||
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH-xref - format a cross-reference to an SH section
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de SH-xref
|
||||
.ie n \{\
|
||||
.\}
|
||||
.toupper \\$*
|
||||
.el \{\
|
||||
\\$*
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SH - level-one heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SH
|
||||
.\" put an extra blank line of space above the head in non-TTY output
|
||||
.if t \{\
|
||||
.sp 1
|
||||
.\}
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.HTML-TAG ".NH \\n[an-level]"
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
\." make the size of the head bigger
|
||||
.ps +3
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.ie n \{\
|
||||
.\" if n (TTY output), use uppercase
|
||||
.toupper \\$*
|
||||
.\}
|
||||
.el \{\
|
||||
.nr an-break-flag 0
|
||||
.\" if not n (not TTY), use normal case (not uppercase)
|
||||
\\$1
|
||||
.in \\n[an-margin]u
|
||||
.ti 0
|
||||
.\" if not n (not TTY), put a border/line under subheading
|
||||
.sp -.6
|
||||
\l'\n(.lu'
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" SS - level-two heading that works better for non-TTY output
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de1 SS
|
||||
.sp \\n[PD]u
|
||||
.nr an-level 1
|
||||
.set-an-margin
|
||||
.nr an-prevailing-indent \\n[IN]
|
||||
.fi
|
||||
.in \\n[IN]u
|
||||
.ti \\n[SN]u
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
.ps \\n[PS-SS]u
|
||||
\." make the size of the head bigger
|
||||
.ps +2
|
||||
.ft B
|
||||
.ne (2v + 1u)
|
||||
.if \\n[.$] \&\\$*
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BB/BE - put background/screen (filled box) around block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BB
|
||||
.if t \{\
|
||||
.sp -.5
|
||||
.br
|
||||
.in +2n
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EB
|
||||
.if t \{\
|
||||
.if "\\$2"adjust-for-leading-newline" \{\
|
||||
.sp -1
|
||||
.\}
|
||||
.br
|
||||
.di
|
||||
.in
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BW \\n(.lu-\\n(.i
|
||||
.nr BH \\n(dn+.5v
|
||||
.ne \\n(BHu+.5v
|
||||
.ie "\\$2"adjust-for-leading-newline" \{\
|
||||
\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.el \{\
|
||||
\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
|
||||
.\}
|
||||
.in 0
|
||||
.sp -.5v
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.sp .5v
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" BM/EM - put colored marker in margin next to block of text
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.de BM
|
||||
.if t \{\
|
||||
.br
|
||||
.ll -2n
|
||||
.gcolor red
|
||||
.di BX
|
||||
.\}
|
||||
..
|
||||
.de EM
|
||||
.if t \{\
|
||||
.br
|
||||
.di
|
||||
.ll
|
||||
.gcolor
|
||||
.nr BH \\n(dn
|
||||
.ne \\n(BHu
|
||||
\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
|
||||
.in 0
|
||||
.nf
|
||||
.BX
|
||||
.in
|
||||
.fi
|
||||
.\}
|
||||
..
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "Name"
|
||||
.SH "NAME"
|
||||
nsupdate \- Dynamic DNS update utility
|
||||
.SH "Synopsis"
|
||||
.SH "SYNOPSIS"
|
||||
.HP 9
|
||||
\fBnsupdate\fR [\fB\-d\fR] [[\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [filename]
|
||||
\fBnsupdate\fR [\fB\-d\fR] [\fB\-D\fR] [[\fB\-g\fR] | [\fB\-o\fR] | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [filename]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnsupdate\fR
|
||||
is used to submit Dynamic DNS Update requests as defined in RFC2136 to a name server\&. This allows resource records to be added or removed from a zone without manually editing the zone file\&. A single update request can contain requests to add or remove more than one resource record\&.
|
||||
is used to submit Dynamic DNS Update requests as defined in RFC2136 to a name server. This allows resource records to be added or removed from a zone without manually editing the zone file. A single update request can contain requests to add or remove more than one resource record.
|
||||
.PP
|
||||
Zones that are under dynamic control via
|
||||
\fBnsupdate\fR
|
||||
or a DHCP server should not be edited by hand\&. Manual edits could conflict with dynamic updates and cause data to be lost\&.
|
||||
or a DHCP server should not be edited by hand. Manual edits could conflict with dynamic updates and cause data to be lost.
|
||||
.PP
|
||||
The resource records that are dynamically added or removed with
|
||||
\fBnsupdate\fR
|
||||
have to be in the same zone\&. Requests are sent to the zone\'s master server\&. This is identified by the MNAME field of the zone\'s SOA record\&.
|
||||
have to be in the same zone. Requests are sent to the zone's master server. This is identified by the MNAME field of the zone's SOA record.
|
||||
.PP
|
||||
The
|
||||
\fB\-d\fR
|
||||
option makes
|
||||
\fBnsupdate\fR
|
||||
operate in debug mode\&. This provides tracing information about the update requests that are made and the replies received from the name server\&.
|
||||
operate in debug mode. This provides tracing information about the update requests that are made and the replies received from the name server.
|
||||
.PP
|
||||
Transaction signatures can be used to authenticate the Dynamic DNS updates\&. These use the TSIG resource record type described in RFC2845 or the SIG(0) record described in RFC3535 and RFC2931\&. TSIG relies on a shared secret that should only be known to
|
||||
The
|
||||
\fB\-D\fR
|
||||
option makes
|
||||
\fBnsupdate\fR
|
||||
and the name server\&. Currently, the only supported encryption algorithm for TSIG is HMAC\-MD5, which is defined in RFC 2104\&. Once other algorithms are defined for TSIG, applications will need to ensure they select the appropriate algorithm as well as the key when authenticating each other\&. For instance, suitable
|
||||
report additional debugging information to
|
||||
\fB\-d\fR.
|
||||
.PP
|
||||
Transaction signatures can be used to authenticate the Dynamic DNS updates. These use the TSIG resource record type described in RFC2845 or the SIG(0) record described in RFC3535 and RFC2931 or GSS\-TSIG as described in RFC3645. TSIG relies on a shared secret that should only be known to
|
||||
\fBnsupdate\fR
|
||||
and the name server. Currently, the only supported encryption algorithm for TSIG is HMAC\-MD5, which is defined in RFC 2104. Once other algorithms are defined for TSIG, applications will need to ensure they select the appropriate algorithm as well as the key when authenticating each other. For instance, suitable
|
||||
\fBkey\fR
|
||||
and
|
||||
\fBserver\fR
|
||||
statements would be added to
|
||||
\FC/etc/named\&.conf\F[]
|
||||
so that the name server can associate the appropriate secret key and algorithm with the IP address of the client application that will be using TSIG authentication\&. SIG(0) uses public key cryptography\&. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server\&.
|
||||
\fI/etc/named.conf\fR
|
||||
so that the name server can associate the appropriate secret key and algorithm with the IP address of the client application that will be using TSIG authentication. SIG(0) uses public key cryptography. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server.
|
||||
\fBnsupdate\fR
|
||||
does not read
|
||||
\FC/etc/named\&.conf\F[]\&.
|
||||
\fI/etc/named.conf\fR. GSS\-TSIG uses Kerberos credentials.
|
||||
.PP
|
||||
\fBnsupdate\fR
|
||||
uses the
|
||||
\fB\-y\fR
|
||||
or
|
||||
\fB\-k\fR
|
||||
option to provide the shared secret needed to generate a TSIG record for authenticating Dynamic DNS update requests, default type HMAC\-MD5\&. These options are mutually exclusive\&. With the
|
||||
option to provide the shared secret needed to generate a TSIG record for authenticating Dynamic DNS update requests, default type HMAC\-MD5. These options are mutually exclusive. With the
|
||||
\fB\-k\fR
|
||||
option,
|
||||
\fBnsupdate\fR
|
||||
reads the shared secret from the file
|
||||
\fIkeyfile\fR, whose name is of the form
|
||||
\FCK{name}\&.+157\&.+{random}\&.private\F[]\&. For historical reasons, the file
|
||||
\FCK{name}\&.+157\&.+{random}\&.key\F[]
|
||||
must also be present\&. When the
|
||||
\fIK{name}.+157.+{random}.private\fR. For historical reasons, the file
|
||||
\fIK{name}.+157.+{random}.key\fR
|
||||
must also be present. When the
|
||||
\fB\-y\fR
|
||||
option is used, a signature is generated from
|
||||
[\fIhmac:\fR]\fIkeyname:secret\&.\fR
|
||||
[\fIhmac:\fR]\fIkeyname:secret.\fR
|
||||
\fIkeyname\fR
|
||||
is the name of the key, and
|
||||
\fIsecret\fR
|
||||
is the base64 encoded shared secret\&. Use of the
|
||||
is the base64 encoded shared secret. Use of the
|
||||
\fB\-y\fR
|
||||
option is discouraged because the shared secret is supplied as a command line argument in clear text\&. This may be visible in the output from
|
||||
option is discouraged because the shared secret is supplied as a command line argument in clear text. This may be visible in the output from
|
||||
\fBps\fR(1)
|
||||
or in a history file maintained by the user\'s shell\&.
|
||||
or in a history file maintained by the user's shell.
|
||||
.PP
|
||||
The
|
||||
\fB\-k\fR
|
||||
may also be used to specify a SIG(0) key used to authenticate Dynamic DNS update requests\&. In this case, the key specified is not an HMAC\-MD5 key\&.
|
||||
may also be used to specify a SIG(0) key used to authenticate Dynamic DNS update requests. In this case, the key specified is not an HMAC\-MD5 key.
|
||||
.PP
|
||||
By default
|
||||
The
|
||||
\fB\-g\fR
|
||||
and
|
||||
\fB\-o\fR
|
||||
specify that GSS\-TSIG is to be used. The
|
||||
\fB\-o\fR
|
||||
should only be used with old Microsoft Windows 2000 servers.
|
||||
.PP
|
||||
By default,
|
||||
\fBnsupdate\fR
|
||||
uses UDP to send update requests to the name server unless they are too large to fit in a UDP request in which case TCP will be used\&. The
|
||||
uses UDP to send update requests to the name server unless they are too large to fit in a UDP request in which case TCP will be used. The
|
||||
\fB\-v\fR
|
||||
option makes
|
||||
\fBnsupdate\fR
|
||||
use a TCP connection\&. This may be preferable when a batch of update requests is made\&.
|
||||
use a TCP connection. This may be preferable when a batch of update requests is made.
|
||||
.PP
|
||||
The
|
||||
\fB\-t\fR
|
||||
option sets the maximum time an update request can take before it is aborted\&. The default is 300 seconds\&. Zero can be used to disable the timeout\&.
|
||||
option sets the maximum time an update request can take before it is aborted. The default is 300 seconds. Zero can be used to disable the timeout.
|
||||
.PP
|
||||
The
|
||||
\fB\-u\fR
|
||||
option sets the UDP retry interval\&. The default is 3 seconds\&. If zero, the interval will be computed from the timeout interval and number of UDP retries\&.
|
||||
option sets the UDP retry interval. The default is 3 seconds. If zero, the interval will be computed from the timeout interval and number of UDP retries.
|
||||
.PP
|
||||
The
|
||||
\fB\-r\fR
|
||||
option sets the number of UDP retries\&. The default is 3\&. If zero, only one update request will be made\&.
|
||||
option sets the number of UDP retries. The default is 3. If zero, only one update request will be made.
|
||||
.PP
|
||||
The
|
||||
\fB\-R \fR\fB\fIrandomdev\fR\fR
|
||||
option specifies a source of randomness\&. If the operating system does not provide a
|
||||
\FC/dev/random\F[]
|
||||
or equivalent device, the default source of randomness is keyboard input\&.
|
||||
\FCrandomdev\F[]
|
||||
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
|
||||
\FCkeyboard\F[]
|
||||
indicates that keyboard input should be used\&. This option may be specified multiple times\&.
|
||||
option specifies a source of randomness. If the operating system does not provide a
|
||||
\fI/dev/random\fR
|
||||
or equivalent device, the default source of randomness is keyboard input.
|
||||
\fIrandomdev\fR
|
||||
specifies the name of a character device or file containing random data to be used instead of the default. The special value
|
||||
\fIkeyboard\fR
|
||||
indicates that keyboard input should be used. This option may be specified multiple times.
|
||||
.SH "INPUT FORMAT"
|
||||
.PP
|
||||
\fBnsupdate\fR
|
||||
reads input from
|
||||
\fIfilename\fR
|
||||
or standard input\&. Each command is supplied on exactly one line of input\&. Some commands are for administrative purposes\&. The others are either update instructions or prerequisite checks on the contents of the zone\&. These checks set conditions that some name or set of resource records (RRset) either exists or is absent from the zone\&. These conditions must be met if the entire update request is to succeed\&. Updates will be rejected if the tests for the prerequisite conditions fail\&.
|
||||
or standard input. Each command is supplied on exactly one line of input. Some commands are for administrative purposes. The others are either update instructions or prerequisite checks on the contents of the zone. These checks set conditions that some name or set of resource records (RRset) either exists or is absent from the zone. These conditions must be met if the entire update request is to succeed. Updates will be rejected if the tests for the prerequisite conditions fail.
|
||||
.PP
|
||||
Every update request consists of zero or more prerequisites and zero or more updates\&. This allows a suitably authenticated update request to proceed if some specified resource records are present or missing from the zone\&. A blank input line (or the
|
||||
Every update request consists of zero or more prerequisites and zero or more updates. This allows a suitably authenticated update request to proceed if some specified resource records are present or missing from the zone. A blank input line (or the
|
||||
\fBsend\fR
|
||||
command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server\&.
|
||||
command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server.
|
||||
.PP
|
||||
The command formats and their meaning are as follows:
|
||||
.PP
|
||||
\fBserver\fR {servername} [port]
|
||||
.RS 4
|
||||
Sends all dynamic update requests to the name server
|
||||
\fIservername\fR\&. When no server statement is provided,
|
||||
\fIservername\fR. When no server statement is provided,
|
||||
\fBnsupdate\fR
|
||||
will send updates to the master server of the correct zone\&. The MNAME field of that zone\'s SOA record will identify the master server for that zone\&.
|
||||
will send updates to the master server of the correct zone. The MNAME field of that zone's SOA record will identify the master server for that zone.
|
||||
\fIport\fR
|
||||
is the port number on
|
||||
\fIservername\fR
|
||||
where the dynamic update requests get sent\&. If no port number is specified, the default DNS port number of 53 is used\&.
|
||||
where the dynamic update requests get sent. If no port number is specified, the default DNS port number of 53 is used.
|
||||
.RE
|
||||
.PP
|
||||
\fBlocal\fR {address} [port]
|
||||
.RS 4
|
||||
Sends all dynamic update requests using the local
|
||||
\fIaddress\fR\&. When no local statement is provided,
|
||||
\fIaddress\fR. When no local statement is provided,
|
||||
\fBnsupdate\fR
|
||||
will send updates using an address and port chosen by the system\&.
|
||||
will send updates using an address and port chosen by the system.
|
||||
\fIport\fR
|
||||
can additionally be used to make requests come from a specific port\&. If no port number is specified, the system will assign one\&.
|
||||
can additionally be used to make requests come from a specific port. If no port number is specified, the system will assign one.
|
||||
.RE
|
||||
.PP
|
||||
\fBzone\fR {zonename}
|
||||
.RS 4
|
||||
Specifies that all updates are to be made to the zone
|
||||
\fIzonename\fR\&. If no
|
||||
\fIzonename\fR. If no
|
||||
\fIzone\fR
|
||||
statement is provided,
|
||||
\fBnsupdate\fR
|
||||
will attempt determine the correct zone to update based on the rest of the input\&.
|
||||
will attempt determine the correct zone to update based on the rest of the input.
|
||||
.RE
|
||||
.PP
|
||||
\fBclass\fR {classname}
|
||||
.RS 4
|
||||
Specify the default class\&. If no
|
||||
Specify the default class. If no
|
||||
\fIclass\fR
|
||||
is specified, the default class is
|
||||
\fIIN\fR\&.
|
||||
\fIIN\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fBttl\fR {seconds}
|
||||
.RS 4
|
||||
Specify the default time to live for records to be added. The value
|
||||
\fInone\fR
|
||||
will clear the default ttl.
|
||||
.RE
|
||||
.PP
|
||||
\fBkey\fR {name} {secret}
|
||||
@@ -339,25 +205,25 @@ is specified, the default class is
|
||||
Specifies that all updates are to be TSIG\-signed using the
|
||||
\fIkeyname\fR
|
||||
\fIkeysecret\fR
|
||||
pair\&. The
|
||||
pair. The
|
||||
\fBkey\fR
|
||||
command overrides any key specified on the command line via
|
||||
\fB\-y\fR
|
||||
or
|
||||
\fB\-k\fR\&.
|
||||
\fB\-k\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fBprereq nxdomain\fR {domain\-name}
|
||||
.RS 4
|
||||
Requires that no resource record of any type exists with name
|
||||
\fIdomain\-name\fR\&.
|
||||
\fIdomain\-name\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fBprereq yxdomain\fR {domain\-name}
|
||||
.RS 4
|
||||
Requires that
|
||||
\fIdomain\-name\fR
|
||||
exists (has as at least one resource record, of any type)\&.
|
||||
exists (has as at least one resource record, of any type).
|
||||
.RE
|
||||
.PP
|
||||
\fBprereq nxrrset\fR {domain\-name} [class] {type}
|
||||
@@ -366,9 +232,9 @@ Requires that no resource record exists of the specified
|
||||
\fItype\fR,
|
||||
\fIclass\fR
|
||||
and
|
||||
\fIdomain\-name\fR\&. If
|
||||
\fIdomain\-name\fR. If
|
||||
\fIclass\fR
|
||||
is omitted, IN (internet) is assumed\&.
|
||||
is omitted, IN (internet) is assumed.
|
||||
.RE
|
||||
.PP
|
||||
\fBprereq yxrrset\fR {domain\-name} [class] {type}
|
||||
@@ -378,9 +244,9 @@ This requires that a resource record of the specified
|
||||
\fIclass\fR
|
||||
and
|
||||
\fIdomain\-name\fR
|
||||
must exist\&. If
|
||||
must exist. If
|
||||
\fIclass\fR
|
||||
is omitted, IN (internet) is assumed\&.
|
||||
is omitted, IN (internet) is assumed.
|
||||
.RE
|
||||
.PP
|
||||
\fBprereq yxrrset\fR {domain\-name} [class] {type} {data...}
|
||||
@@ -391,26 +257,26 @@ from each set of prerequisites of this form sharing a common
|
||||
\fItype\fR,
|
||||
\fIclass\fR, and
|
||||
\fIdomain\-name\fR
|
||||
are combined to form a set of RRs\&. This set of RRs must exactly match the set of RRs existing in the zone at the given
|
||||
are combined to form a set of RRs. This set of RRs must exactly match the set of RRs existing in the zone at the given
|
||||
\fItype\fR,
|
||||
\fIclass\fR, and
|
||||
\fIdomain\-name\fR\&. The
|
||||
\fIdomain\-name\fR. The
|
||||
\fIdata\fR
|
||||
are written in the standard text representation of the resource record\'s RDATA\&.
|
||||
are written in the standard text representation of the resource record's RDATA.
|
||||
.RE
|
||||
.PP
|
||||
\fBupdate delete\fR {domain\-name} [ttl] [class] [type\ [data...]]
|
||||
.RS 4
|
||||
Deletes any resource records named
|
||||
\fIdomain\-name\fR\&. If
|
||||
\fIdomain\-name\fR. If
|
||||
\fItype\fR
|
||||
and
|
||||
\fIdata\fR
|
||||
is provided, only matching resource records will be removed\&. The internet class is assumed if
|
||||
is provided, only matching resource records will be removed. The internet class is assumed if
|
||||
\fIclass\fR
|
||||
is not supplied\&. The
|
||||
is not supplied. The
|
||||
\fIttl\fR
|
||||
is ignored, and is only allowed for compatibility\&.
|
||||
is ignored, and is only allowed for compatibility.
|
||||
.RE
|
||||
.PP
|
||||
\fBupdate add\fR {domain\-name} {ttl} [class] {type} {data...}
|
||||
@@ -419,111 +285,84 @@ Adds a new resource record with the specified
|
||||
\fIttl\fR,
|
||||
\fIclass\fR
|
||||
and
|
||||
\fIdata\fR\&.
|
||||
\fIdata\fR.
|
||||
.RE
|
||||
.PP
|
||||
\fBshow\fR
|
||||
.RS 4
|
||||
Displays the current message, containing all of the prerequisites and updates specified since the last send\&.
|
||||
Displays the current message, containing all of the prerequisites and updates specified since the last send.
|
||||
.RE
|
||||
.PP
|
||||
\fBsend\fR
|
||||
.RS 4
|
||||
Sends the current message\&. This is equivalent to entering a blank line\&.
|
||||
Sends the current message. This is equivalent to entering a blank line.
|
||||
.RE
|
||||
.PP
|
||||
\fBanswer\fR
|
||||
.RS 4
|
||||
Displays the answer\&.
|
||||
Displays the answer.
|
||||
.RE
|
||||
.PP
|
||||
Lines beginning with a semicolon are comments and are ignored\&.
|
||||
\fBdebug\fR
|
||||
.RS 4
|
||||
Turn on debugging.
|
||||
.RE
|
||||
.PP
|
||||
Lines beginning with a semicolon are comments and are ignored.
|
||||
.SH "EXAMPLES"
|
||||
.PP
|
||||
The examples below show how
|
||||
\fBnsupdate\fR
|
||||
could be used to insert and delete resource records from the
|
||||
\fBexample\&.com\fR
|
||||
zone\&. Notice that the input in each example contains a trailing blank line so that a group of commands are sent as one dynamic update request to the master name server for
|
||||
\fBexample\&.com\fR\&.
|
||||
\fBexample.com\fR
|
||||
zone. Notice that the input in each example contains a trailing blank line so that a group of commands are sent as one dynamic update request to the master name server for
|
||||
\fBexample.com\fR.
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.fam C
|
||||
.ps -1
|
||||
.nf
|
||||
.if t \{\
|
||||
.sp -1
|
||||
.\}
|
||||
.BB lightgray adjust-for-leading-newline
|
||||
.sp -1
|
||||
# nsupdate
|
||||
> update delete oldhost\&.example\&.com A
|
||||
> update add newhost\&.example\&.com 86400 A 172\&.16\&.1\&.1
|
||||
> update delete oldhost.example.com A
|
||||
> update add newhost.example.com 86400 A 172.16.1.1
|
||||
> send
|
||||
.EB lightgray adjust-for-leading-newline
|
||||
.if t \{\
|
||||
.sp 1
|
||||
.\}
|
||||
.fi
|
||||
.fam
|
||||
.ps +1
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.PP
|
||||
Any A records for
|
||||
\fBoldhost\&.example\&.com\fR
|
||||
are deleted\&. And an A record for
|
||||
\fBnewhost\&.example\&.com\fR
|
||||
with IP address 172\&.16\&.1\&.1 is added\&. The newly\-added record has a 1 day TTL (86400 seconds)\&.
|
||||
\fBoldhost.example.com\fR
|
||||
are deleted. And an A record for
|
||||
\fBnewhost.example.com\fR
|
||||
with IP address 172.16.1.1 is added. The newly\-added record has a 1 day TTL (86400 seconds).
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.fam C
|
||||
.ps -1
|
||||
.nf
|
||||
.if t \{\
|
||||
.sp -1
|
||||
.\}
|
||||
.BB lightgray adjust-for-leading-newline
|
||||
.sp -1
|
||||
# nsupdate
|
||||
> prereq nxdomain nickname\&.example\&.com
|
||||
> update add nickname\&.example\&.com 86400 CNAME somehost\&.example\&.com
|
||||
> prereq nxdomain nickname.example.com
|
||||
> update add nickname.example.com 86400 CNAME somehost.example.com
|
||||
> send
|
||||
.EB lightgray adjust-for-leading-newline
|
||||
.if t \{\
|
||||
.sp 1
|
||||
.\}
|
||||
.fi
|
||||
.fam
|
||||
.ps +1
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.PP
|
||||
The prerequisite condition gets the name server to check that there are no resource records of any type for
|
||||
\fBnickname\&.example\&.com\fR\&. If there are, the update request fails\&. If this name does not exist, a CNAME for it is added\&. This ensures that when the CNAME is added, it cannot conflict with the long\-standing rule in RFC1034 that a name must not exist as any other record type if it exists as a CNAME\&. (The rule has been updated for DNSSEC in RFC2535 to allow CNAMEs to have RRSIG, DNSKEY and NSEC records\&.)
|
||||
\fBnickname.example.com\fR. If there are, the update request fails. If this name does not exist, a CNAME for it is added. This ensures that when the CNAME is added, it cannot conflict with the long\-standing rule in RFC1034 that a name must not exist as any other record type if it exists as a CNAME. (The rule has been updated for DNSSEC in RFC2535 to allow CNAMEs to have RRSIG, DNSKEY and NSEC records.)
|
||||
.SH "FILES"
|
||||
.PP
|
||||
\fB/etc/resolv\&.conf\fR
|
||||
\fB/etc/resolv.conf\fR
|
||||
.RS 4
|
||||
used to identify default name server
|
||||
.RE
|
||||
.PP
|
||||
\fBK{name}\&.+157\&.+{random}\&.key\fR
|
||||
\fBK{name}.+157.+{random}.key\fR
|
||||
.RS 4
|
||||
base\-64 encoding of HMAC\-MD5 key created by
|
||||
\fBdnssec-keygen\fR(8)\&.
|
||||
\fBdnssec\-keygen\fR(8).
|
||||
.RE
|
||||
.PP
|
||||
\fBK{name}\&.+157\&.+{random}\&.private\fR
|
||||
\fBK{name}.+157.+{random}.private\fR
|
||||
.RS 4
|
||||
base\-64 encoding of HMAC\-MD5 key created by
|
||||
\fBdnssec-keygen\fR(8)\&.
|
||||
\fBdnssec\-keygen\fR(8).
|
||||
.RE
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
@@ -535,13 +374,12 @@ base\-64 encoding of HMAC\-MD5 key created by
|
||||
\fBRFC2535\fR(),
|
||||
\fBRFC2931\fR(),
|
||||
\fBnamed\fR(8),
|
||||
\fBdnssec-keygen\fR(8)\&.
|
||||
\fBdnssec\-keygen\fR(8).
|
||||
.SH "BUGS"
|
||||
.PP
|
||||
The TSIG key is redundantly stored in two separate files\&. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases\&.
|
||||
.SH "Copyright"
|
||||
The TSIG key is redundantly stored in two separate files. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases.
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000-2003 Internet Software Consortium.
|
||||
Copyright \(co 2000\-2003 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
+52
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: nsupdate.c,v 1.159 2008/04/02 02:37:41 marka Exp $ */
|
||||
/* $Id: nsupdate.c,v 1.163.48.3 2009/04/30 07:12:49 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -162,6 +162,8 @@ static unsigned int udp_retries = 3;
|
||||
static dns_rdataclass_t defaultclass = dns_rdataclass_in;
|
||||
static dns_rdataclass_t zoneclass = dns_rdataclass_none;
|
||||
static dns_message_t *answer = NULL;
|
||||
static isc_uint32_t default_ttl = 0;
|
||||
static isc_boolean_t default_ttl_set = ISC_FALSE;
|
||||
|
||||
typedef struct nsu_requestinfo {
|
||||
dns_message_t *msg;
|
||||
@@ -1386,6 +1388,39 @@ evaluate_zone(char *cmdline) {
|
||||
return (STATUS_MORE);
|
||||
}
|
||||
|
||||
static isc_uint16_t
|
||||
evaluate_ttl(char *cmdline) {
|
||||
char *word;
|
||||
isc_result_t result;
|
||||
isc_uint32_t ttl;
|
||||
|
||||
word = nsu_strsep(&cmdline, " \t\r\n");
|
||||
if (*word == 0) {
|
||||
fprintf(stderr, "could not ttl\n");
|
||||
return (STATUS_SYNTAX);
|
||||
}
|
||||
|
||||
if (!strcasecmp(word, "none")) {
|
||||
default_ttl = 0;
|
||||
default_ttl_set = ISC_FALSE;
|
||||
return (STATUS_MORE);
|
||||
}
|
||||
|
||||
result = isc_parse_uint32(&ttl, word, 10);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (STATUS_SYNTAX);
|
||||
|
||||
if (ttl > TTL_MAX) {
|
||||
fprintf(stderr, "ttl '%s' is out of range (0 to %u)\n",
|
||||
word, TTL_MAX);
|
||||
return (STATUS_SYNTAX);
|
||||
}
|
||||
default_ttl = ttl;
|
||||
default_ttl_set = ISC_TRUE;
|
||||
|
||||
return (STATUS_MORE);
|
||||
}
|
||||
|
||||
static isc_uint16_t
|
||||
evaluate_class(char *cmdline) {
|
||||
char *word;
|
||||
@@ -1470,6 +1505,9 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
|
||||
if (isdelete) {
|
||||
ttl = 0;
|
||||
goto parseclass;
|
||||
} else if (default_ttl_set) {
|
||||
ttl = default_ttl;
|
||||
goto parseclass;
|
||||
} else {
|
||||
fprintf(stderr, "ttl '%s': %s\n", word,
|
||||
isc_result_totext(result));
|
||||
@@ -1503,8 +1541,9 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
|
||||
}
|
||||
region.base = word;
|
||||
region.length = strlen(word);
|
||||
rdataclass = dns_rdataclass_any;
|
||||
result = dns_rdataclass_fromtext(&rdataclass, ®ion);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
if (result == ISC_R_SUCCESS && rdataclass != dns_rdataclass_any) {
|
||||
if (!setzoneclass(rdataclass)) {
|
||||
fprintf(stderr, "class mismatch: %s\n", word);
|
||||
goto failure;
|
||||
@@ -1718,6 +1757,15 @@ get_next_command(void) {
|
||||
return (evaluate_class(cmdline));
|
||||
if (strcasecmp(word, "send") == 0)
|
||||
return (STATUS_SEND);
|
||||
if (strcasecmp(word, "debug") == 0) {
|
||||
if (debugging)
|
||||
ddebugging = ISC_TRUE;
|
||||
else
|
||||
debugging = ISC_TRUE;
|
||||
return (STATUS_MORE);
|
||||
}
|
||||
if (strcasecmp(word, "ttl") == 0)
|
||||
return (evaluate_ttl(cmdline));
|
||||
if (strcasecmp(word, "show") == 0) {
|
||||
show_message(stdout, updatemsg, "Outgoing update query:");
|
||||
return (STATUS_MORE);
|
||||
@@ -2458,7 +2506,7 @@ recvgss(isc_task_t *task, isc_event_t *event) {
|
||||
* not a security issue), and Windows clients don't
|
||||
* seem to work if named complies with the spec and
|
||||
* includes the gratuitous TSIG. So we're in the
|
||||
* bizzare situation of having to choose between
|
||||
* bizarre situation of having to choose between
|
||||
* complying with a useless requirement in the spec
|
||||
* and interoperating. This is nuts. If we can
|
||||
* confirm this behavior, we should ask the WG to
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: nsupdate.docbook,v 1.32 2008/08/29 03:16:14 marka Exp $ -->
|
||||
<!-- $Id: nsupdate.docbook,v 1.34.48.3 2009/03/09 04:21:56 marka Exp $ -->
|
||||
<refentry id="man.nsupdate">
|
||||
<refentryinfo>
|
||||
<date>Jun 30, 2000</date>
|
||||
@@ -40,6 +40,7 @@
|
||||
<year>2006</year>
|
||||
<year>2007</year>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -55,7 +56,10 @@
|
||||
<cmdsynopsis>
|
||||
<command>nsupdate</command>
|
||||
<arg><option>-d</option></arg>
|
||||
<arg><option>-D</option></arg>
|
||||
<group>
|
||||
<arg><option>-g</option></arg>
|
||||
<arg><option>-o</option></arg>
|
||||
<arg><option>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></option></arg>
|
||||
<arg><option>-k <replaceable class="parameter">keyfile</replaceable></option></arg>
|
||||
</group>
|
||||
@@ -103,31 +107,31 @@
|
||||
made and the replies received from the name server.
|
||||
</para>
|
||||
<para>
|
||||
Transaction signatures can be used to authenticate the Dynamic DNS
|
||||
updates.
|
||||
These use the TSIG resource record type described in RFC2845 or the
|
||||
SIG(0) record described in RFC3535 and RFC2931.
|
||||
TSIG relies on a shared secret that should only be known to
|
||||
<command>nsupdate</command> and the name server.
|
||||
Currently, the only supported encryption algorithm for TSIG is
|
||||
HMAC-MD5, which is defined in RFC 2104.
|
||||
Once other algorithms are defined for TSIG, applications will need to
|
||||
ensure they select the appropriate algorithm as well as the key when
|
||||
authenticating each other.
|
||||
For instance, suitable
|
||||
<type>key</type>
|
||||
and
|
||||
<type>server</type>
|
||||
statements would be added to
|
||||
<filename>/etc/named.conf</filename>
|
||||
so that the name server can associate the appropriate secret key
|
||||
and algorithm with the IP address of the
|
||||
client application that will be using TSIG authentication.
|
||||
SIG(0) uses public key cryptography. To use a SIG(0) key, the public
|
||||
key must be stored in a KEY record in a zone served by the name server.
|
||||
<command>nsupdate</command>
|
||||
does not read
|
||||
The <option>-D</option> option makes <command>nsupdate</command>
|
||||
report additional debugging information to <option>-d</option>.
|
||||
</para>
|
||||
<para>
|
||||
Transaction signatures can be used to authenticate the Dynamic
|
||||
DNS updates. These use the TSIG resource record type described
|
||||
in RFC2845 or the SIG(0) record described in RFC3535 and
|
||||
RFC2931 or GSS-TSIG as described in RFC3645. TSIG relies on
|
||||
a shared secret that should only be known to
|
||||
<command>nsupdate</command> and the name server. Currently,
|
||||
the only supported encryption algorithm for TSIG is HMAC-MD5,
|
||||
which is defined in RFC 2104. Once other algorithms are
|
||||
defined for TSIG, applications will need to ensure they select
|
||||
the appropriate algorithm as well as the key when authenticating
|
||||
each other. For instance, suitable <type>key</type> and
|
||||
<type>server</type> statements would be added to
|
||||
<filename>/etc/named.conf</filename> so that the name server
|
||||
can associate the appropriate secret key and algorithm with
|
||||
the IP address of the client application that will be using
|
||||
TSIG authentication. SIG(0) uses public key cryptography.
|
||||
To use a SIG(0) key, the public key must be stored in a KEY
|
||||
record in a zone served by the name server.
|
||||
<command>nsupdate</command> does not read
|
||||
<filename>/etc/named.conf</filename>.
|
||||
GSS-TSIG uses Kerberos credentials.
|
||||
</para>
|
||||
<para><command>nsupdate</command>
|
||||
uses the <option>-y</option> or <option>-k</option> option
|
||||
@@ -160,7 +164,12 @@
|
||||
specified is not an HMAC-MD5 key.
|
||||
</para>
|
||||
<para>
|
||||
By default
|
||||
The <option>-g</option> and <option>-o</option> specify that
|
||||
GSS-TSIG is to be used. The <option>-o</option> should only
|
||||
be used with old Microsoft Windows 2000 servers.
|
||||
</para>
|
||||
<para>
|
||||
By default,
|
||||
<command>nsupdate</command>
|
||||
uses UDP to send update requests to the name server unless they are too
|
||||
large to fit in a UDP request in which case TCP will be used.
|
||||
@@ -318,6 +327,20 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command>ttl</command>
|
||||
<arg choice="req">seconds</arg>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify the default time to live for records to be added.
|
||||
The value <parameter>none</parameter> will clear the default
|
||||
ttl.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command>key</command>
|
||||
@@ -523,6 +546,17 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command>debug</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Turn on debugging.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
|
||||
+55
-35
@@ -1,8 +1,8 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and distribute this software for any
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: nsupdate.html,v 1.38 2008/06/18 01:12:16 tbox Exp $ -->
|
||||
<!-- $Id: nsupdate.html,v 1.40.48.3.10.1 2010/03/03 22:19:19 tbox Exp $ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,10 +29,10 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [[<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [filename]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [filename]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543433"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543447"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">nsupdate</strong></span>
|
||||
is used to submit Dynamic DNS Update requests as defined in RFC2136
|
||||
to a name server.
|
||||
@@ -66,31 +66,31 @@
|
||||
made and the replies received from the name server.
|
||||
</p>
|
||||
<p>
|
||||
Transaction signatures can be used to authenticate the Dynamic DNS
|
||||
updates.
|
||||
These use the TSIG resource record type described in RFC2845 or the
|
||||
SIG(0) record described in RFC3535 and RFC2931.
|
||||
TSIG relies on a shared secret that should only be known to
|
||||
<span><strong class="command">nsupdate</strong></span> and the name server.
|
||||
Currently, the only supported encryption algorithm for TSIG is
|
||||
HMAC-MD5, which is defined in RFC 2104.
|
||||
Once other algorithms are defined for TSIG, applications will need to
|
||||
ensure they select the appropriate algorithm as well as the key when
|
||||
authenticating each other.
|
||||
For instance, suitable
|
||||
<span class="type">key</span>
|
||||
and
|
||||
<span class="type">server</span>
|
||||
statements would be added to
|
||||
<code class="filename">/etc/named.conf</code>
|
||||
so that the name server can associate the appropriate secret key
|
||||
and algorithm with the IP address of the
|
||||
client application that will be using TSIG authentication.
|
||||
SIG(0) uses public key cryptography. To use a SIG(0) key, the public
|
||||
key must be stored in a KEY record in a zone served by the name server.
|
||||
<span><strong class="command">nsupdate</strong></span>
|
||||
does not read
|
||||
The <code class="option">-D</code> option makes <span><strong class="command">nsupdate</strong></span>
|
||||
report additional debugging information to <code class="option">-d</code>.
|
||||
</p>
|
||||
<p>
|
||||
Transaction signatures can be used to authenticate the Dynamic
|
||||
DNS updates. These use the TSIG resource record type described
|
||||
in RFC2845 or the SIG(0) record described in RFC3535 and
|
||||
RFC2931 or GSS-TSIG as described in RFC3645. TSIG relies on
|
||||
a shared secret that should only be known to
|
||||
<span><strong class="command">nsupdate</strong></span> and the name server. Currently,
|
||||
the only supported encryption algorithm for TSIG is HMAC-MD5,
|
||||
which is defined in RFC 2104. Once other algorithms are
|
||||
defined for TSIG, applications will need to ensure they select
|
||||
the appropriate algorithm as well as the key when authenticating
|
||||
each other. For instance, suitable <span class="type">key</span> and
|
||||
<span class="type">server</span> statements would be added to
|
||||
<code class="filename">/etc/named.conf</code> so that the name server
|
||||
can associate the appropriate secret key and algorithm with
|
||||
the IP address of the client application that will be using
|
||||
TSIG authentication. SIG(0) uses public key cryptography.
|
||||
To use a SIG(0) key, the public key must be stored in a KEY
|
||||
record in a zone served by the name server.
|
||||
<span><strong class="command">nsupdate</strong></span> does not read
|
||||
<code class="filename">/etc/named.conf</code>.
|
||||
GSS-TSIG uses Kerberos credentials.
|
||||
</p>
|
||||
<p><span><strong class="command">nsupdate</strong></span>
|
||||
uses the <code class="option">-y</code> or <code class="option">-k</code> option
|
||||
@@ -121,7 +121,12 @@
|
||||
specified is not an HMAC-MD5 key.
|
||||
</p>
|
||||
<p>
|
||||
By default
|
||||
The <code class="option">-g</code> and <code class="option">-o</code> specify that
|
||||
GSS-TSIG is to be used. The <code class="option">-o</code> should only
|
||||
be used with old Microsoft Windows 2000 servers.
|
||||
</p>
|
||||
<p>
|
||||
By default,
|
||||
<span><strong class="command">nsupdate</strong></span>
|
||||
uses UDP to send update requests to the name server unless they are too
|
||||
large to fit in a UDP request in which case TCP will be used.
|
||||
@@ -164,7 +169,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543682"></a><h2>INPUT FORMAT</h2>
|
||||
<a name="id2543724"></a><h2>INPUT FORMAT</h2>
|
||||
<p><span><strong class="command">nsupdate</strong></span>
|
||||
reads input from
|
||||
<em class="parameter"><code>filename</code></em>
|
||||
@@ -257,6 +262,15 @@
|
||||
default class is
|
||||
<em class="parameter"><code>IN</code></em>.
|
||||
</p></dd>
|
||||
<dt><span class="term">
|
||||
<span><strong class="command">ttl</strong></span>
|
||||
{seconds}
|
||||
</span></dt>
|
||||
<dd><p>
|
||||
Specify the default time to live for records to be added.
|
||||
The value <em class="parameter"><code>none</code></em> will clear the default
|
||||
ttl.
|
||||
</p></dd>
|
||||
<dt><span class="term">
|
||||
<span><strong class="command">key</strong></span>
|
||||
{name}
|
||||
@@ -405,6 +419,12 @@
|
||||
<dd><p>
|
||||
Displays the answer.
|
||||
</p></dd>
|
||||
<dt><span class="term">
|
||||
<span><strong class="command">debug</strong></span>
|
||||
</span></dt>
|
||||
<dd><p>
|
||||
Turn on debugging.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
<p>
|
||||
</p>
|
||||
@@ -413,7 +433,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544684"></a><h2>EXAMPLES</h2>
|
||||
<a name="id2544565"></a><h2>EXAMPLES</h2>
|
||||
<p>
|
||||
The examples below show how
|
||||
<span><strong class="command">nsupdate</strong></span>
|
||||
@@ -467,7 +487,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544728"></a><h2>FILES</h2>
|
||||
<a name="id2544609"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -486,7 +506,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544797"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544678"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">RFC2136</span></span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">RFC3007</span></span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">RFC2104</span></span>,
|
||||
@@ -499,7 +519,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544868"></a><h2>BUGS</h2>
|
||||
<a name="id2542154"></a><h2>BUGS</h2>
|
||||
<p>
|
||||
The TSIG key is redundantly stored in two separate files.
|
||||
This is a consequence of nsupdate using the DST library
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.9 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: os.h,v 1.9.332.2 2009/01/18 23:47:35 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -35,7 +35,7 @@ FILE *safe_create(const char *filename);
|
||||
|
||||
int set_user(FILE *fd, const char *user);
|
||||
/*%<
|
||||
* Set the owner of the file refernced by 'fd' to 'user'.
|
||||
* Set the owner of the file referenced by 'fd' to 'user'.
|
||||
* Returns:
|
||||
* 0 success
|
||||
* -1 insufficient permissions, or 'user' does not exist.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2001, 2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and distribute this software for any
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: rndc-confgen.8,v 1.20 2007/01/30 00:24:59 marka Exp $
|
||||
.\" $Id: rndc-confgen.8,v 1.20.418.1 2009/07/11 01:55:21 tbox Exp $
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user