Compare commits
701 Commits
NG-network
...
v9.11.2b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35255451d4 | ||
|
|
68bdc7fbc4 | ||
|
|
550d3276d0 | ||
|
|
710a238dfe | ||
|
|
384e37a497 | ||
|
|
52f38b35e7 | ||
|
|
a03f4b1ea4 | ||
|
|
d315545e6d | ||
|
|
ba9e87b35e | ||
|
|
f8ceab59ea | ||
|
|
8008316c9f | ||
|
|
613fa3ce9d | ||
|
|
ccf9f42c76 | ||
|
|
a7af229766 | ||
|
|
15471a63a2 | ||
|
|
a785bf2c39 | ||
|
|
00f1312935 | ||
|
|
b2e7185306 | ||
|
|
42c1acfa47 | ||
|
|
236a983ca3 | ||
|
|
0c71e48c9c | ||
|
|
0d2c3b6048 | ||
|
|
421ba11f3f | ||
|
|
6431922cb2 | ||
|
|
076e51f1ff | ||
|
|
503809a8e1 | ||
|
|
214b53880b | ||
|
|
dd5375de0a | ||
|
|
3a58e1fefb | ||
|
|
55affca0c4 | ||
|
|
7c67b8c2b0 | ||
|
|
fa0173af87 | ||
|
|
83a7197872 | ||
|
|
5aed5dc329 | ||
|
|
387f5e872d | ||
|
|
51da15c886 | ||
|
|
8664a1bd40 | ||
|
|
80eaeb6c6f | ||
|
|
c28e44f3f8 | ||
|
|
3440cf9c60 | ||
|
|
9270a14461 | ||
|
|
541ce84ff2 | ||
|
|
032d2134a4 | ||
|
|
29656aa09c | ||
|
|
127d2b350e | ||
|
|
fb9ef31fed | ||
|
|
ab44851860 | ||
|
|
62323c1ba2 | ||
|
|
2c893f16d8 | ||
|
|
efdfbc256c | ||
|
|
5228a39457 | ||
|
|
6f1632aedf | ||
|
|
d786bb0f8b | ||
|
|
823ccd1f02 | ||
|
|
c15e906adf | ||
|
|
39c56dd2b8 | ||
|
|
adedbbbcfb | ||
|
|
f00c53aafe | ||
|
|
0725e28e47 | ||
|
|
abe69df9a7 | ||
|
|
4745777284 | ||
|
|
4cd01ec68f | ||
|
|
403e7b4512 | ||
|
|
b6fa637fc8 | ||
|
|
74e2f78492 | ||
|
|
1ddabe157c | ||
|
|
ace5680c12 | ||
|
|
99b30e26a6 | ||
|
|
613cdc91fe | ||
|
|
59d940391c | ||
|
|
9a006fe9a0 | ||
|
|
f549a65f4c | ||
|
|
6b432e1149 | ||
|
|
cb9345c996 | ||
|
|
c935952ede | ||
|
|
9604a49da0 | ||
|
|
638068f7e7 | ||
|
|
4cf9718549 | ||
|
|
9ff905d267 | ||
|
|
da5b569ddb | ||
|
|
3b15473ced | ||
|
|
14f4347139 | ||
|
|
662620c15c | ||
|
|
c83a306155 | ||
|
|
75713d8c37 | ||
|
|
c88b4680d9 | ||
|
|
632a81d453 | ||
|
|
ac9072210c | ||
|
|
0b18154e45 | ||
|
|
512765ba1e | ||
|
|
a24c7e850d | ||
|
|
35eb1a5f07 | ||
|
|
27a262bc4d | ||
|
|
6cb8389877 | ||
|
|
9b84e4edd6 | ||
|
|
43d2e7a905 | ||
|
|
adeafa4320 | ||
|
|
59663800d2 | ||
|
|
d079dc1d27 | ||
|
|
9df7c100a7 | ||
|
|
e5f454626c | ||
|
|
3a015a84bc | ||
|
|
790345ffa3 | ||
|
|
32098293b7 | ||
|
|
91ccb395a9 | ||
|
|
af0d9b7705 | ||
|
|
5b3dd19d81 | ||
|
|
0fc4b96b2b | ||
|
|
f7d2161e55 | ||
|
|
3b38e4b834 | ||
|
|
b5f1f8f06e | ||
|
|
40f40073d3 | ||
|
|
b06265857b | ||
|
|
5d52a1fe1b | ||
|
|
20648865f1 | ||
|
|
0d24df5c0b | ||
|
|
7c1c9b4dcd | ||
|
|
9689922a0d | ||
|
|
9b9b0d5962 | ||
|
|
1ca2cf0243 | ||
|
|
8d59536d7c | ||
|
|
1f9754245c | ||
|
|
164ade1482 | ||
|
|
5fb7dd046e | ||
|
|
02989eceef | ||
|
|
0532602218 | ||
|
|
d0c3b241e5 | ||
|
|
34f649fa22 | ||
|
|
8b9c4592ed | ||
|
|
c03cca4629 | ||
|
|
32ceffe2d8 | ||
|
|
264e17e739 | ||
|
|
9a8b2b3ab3 | ||
|
|
eeb16584fb | ||
|
|
9540b42695 | ||
|
|
fec9247b8f | ||
|
|
0d7548ee34 | ||
|
|
c32570b319 | ||
|
|
2883bbaef3 | ||
|
|
527163f0e5 | ||
|
|
62a6147e51 | ||
|
|
4c432aae90 | ||
|
|
d63ae51ba3 | ||
|
|
9218b940fe | ||
|
|
bf053e878c | ||
|
|
3195754154 | ||
|
|
9115769563 | ||
|
|
7863128078 | ||
|
|
fd0d60b3a0 | ||
|
|
3001a1b4e6 | ||
|
|
1bce43adcc | ||
|
|
52cae869e0 | ||
|
|
da4823c08a | ||
|
|
d15af1c3c2 | ||
|
|
dc524b82fc | ||
|
|
5aebd7e7af | ||
|
|
e2ab8249c4 | ||
|
|
e3dc2e7b99 | ||
|
|
67794b68b2 | ||
|
|
62b5dd5b09 | ||
|
|
90d71c30af | ||
|
|
869cb92bab | ||
|
|
c52dde9229 | ||
|
|
5a0fe4f483 | ||
|
|
66317da170 | ||
|
|
672c06580e | ||
|
|
f2c50d7dd2 | ||
|
|
19a1241d2f | ||
|
|
33cc2edb8e | ||
|
|
48900a8f62 | ||
|
|
7d169212b4 | ||
|
|
551e6d2414 | ||
|
|
cf710c81ae | ||
|
|
003e956a96 | ||
|
|
3718b6ecfc | ||
|
|
8c31a25f3f | ||
|
|
3be4330b77 | ||
|
|
c317b09bf1 | ||
|
|
8bcd80824c | ||
|
|
975ff35d85 | ||
|
|
7fcbbd6fa9 | ||
|
|
457de041a9 | ||
|
|
d81a3ca82c | ||
|
|
0e5fbd523a | ||
|
|
f9ecaf8a4a | ||
|
|
d1bc66f4df | ||
|
|
eab4f224b5 | ||
|
|
c006cfc5a2 | ||
|
|
cb9582623e | ||
|
|
32eb4cec6f | ||
|
|
cfeb569d54 | ||
|
|
168c82cb5d | ||
|
|
8dcec3cf25 | ||
|
|
559cbe04e7 | ||
|
|
fd71f5a87f | ||
|
|
4acedf9e13 | ||
|
|
0f863f054c | ||
|
|
1d0815a2b5 | ||
|
|
c75bf330fc | ||
|
|
6ef61e7645 | ||
|
|
ab92948efa | ||
|
|
6afd7f9c56 | ||
|
|
42f4ea6317 | ||
|
|
94a94fca24 | ||
|
|
b81977ae70 | ||
|
|
4d4242b744 | ||
|
|
6043c4453d | ||
|
|
d64eb56a2d | ||
|
|
8e69860942 | ||
|
|
ece26dd7d7 | ||
|
|
9ecedaea58 | ||
|
|
0726d872f6 | ||
|
|
105a34268c | ||
|
|
33c9436ef1 | ||
|
|
43769594c0 | ||
|
|
59f34c1fc7 | ||
|
|
1a6f02ce4a | ||
|
|
1617002c78 | ||
|
|
dc7e5458bb | ||
|
|
fc8c8966c9 | ||
|
|
f3497a3cb4 | ||
|
|
07b7a3eade | ||
|
|
8c22550776 | ||
|
|
85a26f938e | ||
|
|
48ba8af30c | ||
|
|
4e40289129 | ||
|
|
a09e49f3f4 | ||
|
|
a4240242cd | ||
|
|
4ed920490a | ||
|
|
4901f2c10b | ||
|
|
0ce865f8b2 | ||
|
|
e2ec0753ce | ||
|
|
edd791fb53 | ||
|
|
8e9dbb6222 | ||
|
|
6ec6741fe7 | ||
|
|
d9788e03ad | ||
|
|
c4cd9250fe | ||
|
|
51b0319696 | ||
|
|
b04e009f8b | ||
|
|
b5ad091624 | ||
|
|
da23e32e41 | ||
|
|
486f8e6644 | ||
|
|
18ab9a0a34 | ||
|
|
217ccfa85b | ||
|
|
f3a6bb528f | ||
|
|
4269c36906 | ||
|
|
11ebeaa09e | ||
|
|
2acf9aa8ff | ||
|
|
05fce8cfff | ||
|
|
c2c386119e | ||
|
|
781f6daa74 | ||
|
|
1520c6474f | ||
|
|
adabefa84c | ||
|
|
5688a47c15 | ||
|
|
abe52cd988 | ||
|
|
c742ef745e | ||
|
|
8ce73e5c8c | ||
|
|
832f5803f6 | ||
|
|
4441328a1d | ||
|
|
2f70ce448a | ||
|
|
f2e8131f50 | ||
|
|
801d3c8888 | ||
|
|
22e3ffcf2c | ||
|
|
2f4e3e45d6 | ||
|
|
2ca9cf1582 | ||
|
|
eb032a17ef | ||
|
|
9b2743294c | ||
|
|
a778b94bdb | ||
|
|
7bcba68b95 | ||
|
|
00860eece0 | ||
|
|
08b7d06946 | ||
|
|
1de3115e8c | ||
|
|
88840c01be | ||
|
|
fb2e132c5c | ||
|
|
f6b9092741 | ||
|
|
e1ebc476b0 | ||
|
|
c2687b0594 | ||
|
|
445b0e72d7 | ||
|
|
2cee8eadec | ||
|
|
9e4e871392 | ||
|
|
81df1363fb | ||
|
|
800cfc8a5c | ||
|
|
0de20c29f3 | ||
|
|
3b6e750bb7 | ||
|
|
08397f5b6c | ||
|
|
3b7f610bec | ||
|
|
4c721f0e45 | ||
|
|
e63d63dc85 | ||
|
|
de2cc8b872 | ||
|
|
36b7137e99 | ||
|
|
231d6c83c3 | ||
|
|
2728d0618e | ||
|
|
c7fd128f8e | ||
|
|
5e013c280f | ||
|
|
f5c17a057f | ||
|
|
e7f06a8535 | ||
|
|
4266303103 | ||
|
|
5f135a3198 | ||
|
|
1992e14919 | ||
|
|
b3d1215c49 | ||
|
|
f7f5220b95 | ||
|
|
d6b834c98c | ||
|
|
0da02c26a6 | ||
|
|
971d346eae | ||
|
|
ac424b61bb | ||
|
|
7fa388dac3 | ||
|
|
d6080de9be | ||
|
|
b1ab6766f7 | ||
|
|
701aa95d96 | ||
|
|
b243aa40f9 | ||
|
|
2a2618356e | ||
|
|
2595d1da35 | ||
|
|
bf19cffa72 | ||
|
|
9609899255 | ||
|
|
58f15381f7 | ||
|
|
544e2b48ec | ||
|
|
6649db1ca4 | ||
|
|
397b24d008 | ||
|
|
b1866070ef | ||
|
|
6b45fd062b | ||
|
|
72cae054ad | ||
|
|
ffe29868b4 | ||
|
|
d438157f7e | ||
|
|
cec9fddbaf | ||
|
|
4b568c8873 | ||
|
|
f1e3dd087b | ||
|
|
23ac7e6634 | ||
|
|
458e816ed0 | ||
|
|
641dede12a | ||
|
|
b8e7abc50e | ||
|
|
d84a356d4b | ||
|
|
8852646542 | ||
|
|
bc2510a6a5 | ||
|
|
1160ea4c28 | ||
|
|
edfc6f05ea | ||
|
|
348d80fb84 | ||
|
|
47071b7310 | ||
|
|
45f206e6c1 | ||
|
|
3bab13a6df | ||
|
|
dfc3a0fffd | ||
|
|
1b63e3c2fd | ||
|
|
f6f3264d8c | ||
|
|
d77cab69bf | ||
|
|
f1b29d8428 | ||
|
|
d0c5ff7f65 | ||
|
|
7911e6f9de | ||
|
|
83a28ca274 | ||
|
|
9a4743fca8 | ||
|
|
65a8034126 | ||
|
|
d983757c61 | ||
|
|
a9ba09c109 | ||
|
|
1585a9f239 | ||
|
|
b00d77e4f2 | ||
|
|
2fb4184d9d | ||
|
|
5be93f5dff | ||
|
|
52254f7526 | ||
|
|
6ae22c4119 | ||
|
|
0d22fc8758 | ||
|
|
ac946c1f16 | ||
|
|
74d98566ed | ||
|
|
2a2335a013 | ||
|
|
1c89e89eaf | ||
|
|
0c2d891abe | ||
|
|
fd017eea63 | ||
|
|
f0aad53417 | ||
|
|
ae07f624ff | ||
|
|
50cdb3af69 | ||
|
|
6ef1cdec9a | ||
|
|
1008577c67 | ||
|
|
294ef74e5a | ||
|
|
e3db607c92 | ||
|
|
42a79fde4c | ||
|
|
32f4f500a5 | ||
|
|
0bd3042bb3 | ||
|
|
fe6557e590 | ||
|
|
21e5f9c5cd | ||
|
|
9eb4bce9e1 | ||
|
|
e0f1907562 | ||
|
|
704f73353d | ||
|
|
a135cb62d3 | ||
|
|
0fdb1e5cb7 | ||
|
|
4df43743ab | ||
|
|
60c47284e4 | ||
|
|
fb87feb6e7 | ||
|
|
34996e0aa5 | ||
|
|
7a3d063847 | ||
|
|
7802f7d3a9 | ||
|
|
45571e7374 | ||
|
|
9ab989b88c | ||
|
|
5382b244c3 | ||
|
|
68770381db | ||
|
|
744c1db635 | ||
|
|
b7ae121eff | ||
|
|
2b8679cf0f | ||
|
|
66f169daf5 | ||
|
|
2ea4ed1726 | ||
|
|
6db55b4ff9 | ||
|
|
2ac8829a8a | ||
|
|
e1477f467f | ||
|
|
d9b96d0a42 | ||
|
|
8a5809527e | ||
|
|
bd19cef223 | ||
|
|
8d72b87657 | ||
|
|
31ad8218cc | ||
|
|
620745a4c7 | ||
|
|
2c629a1b84 | ||
|
|
a0e34c90ea | ||
|
|
669e108d67 | ||
|
|
4b48e6a89e | ||
|
|
0b0c74d199 | ||
|
|
6552f33198 | ||
|
|
fd44151797 | ||
|
|
880fce6a74 | ||
|
|
395fe33465 | ||
|
|
48e1d4823c | ||
|
|
45fd95544c | ||
|
|
83baacd8ff | ||
|
|
e356a7622a | ||
|
|
76af83c9ad | ||
|
|
9e0cd8be9a | ||
|
|
c29c3e51b1 | ||
|
|
fb9cdee4af | ||
|
|
afa016c3c1 | ||
|
|
2a1860ad83 | ||
|
|
de6469b663 | ||
|
|
d389069a39 | ||
|
|
fd2f4551d9 | ||
|
|
8d0f8e8c2e | ||
|
|
54ee0b0eef | ||
|
|
c5e8808e35 | ||
|
|
7c66fc9700 | ||
|
|
415d630b63 | ||
|
|
2a80bc0153 | ||
|
|
cc51cd2d20 | ||
|
|
17697000bc | ||
|
|
2e0d02503c | ||
|
|
3fe7c625ff | ||
|
|
01387de5a7 | ||
|
|
452a97a23d | ||
|
|
bd7a552249 | ||
|
|
a7dff3d9b0 | ||
|
|
d2605df7e9 | ||
|
|
321f87f8ea | ||
|
|
2bbab60f50 | ||
|
|
0b612b420d | ||
|
|
802e0662ef | ||
|
|
af9b975ccc | ||
|
|
94694e720a | ||
|
|
99811850b4 | ||
|
|
67a42ef55c | ||
|
|
538c6bd3f1 | ||
|
|
ea640e04ea | ||
|
|
b9e0ed731a | ||
|
|
ef1e2f7906 | ||
|
|
e8fab79146 | ||
|
|
c034b72ba1 | ||
|
|
7d238ed0c7 | ||
|
|
82a50a619a | ||
|
|
2f1c460bea | ||
|
|
9ee66e3a5b | ||
|
|
62f3453730 | ||
|
|
6f2752da7a | ||
|
|
b4e6d4c724 | ||
|
|
1477c19dd9 | ||
|
|
1ca759b3f5 | ||
|
|
8b2b41ba4f | ||
|
|
19977879ca | ||
|
|
11d37bfa8d | ||
|
|
c54d7ba815 | ||
|
|
3cdd0f1bc9 | ||
|
|
fcadf0b320 | ||
|
|
6d631f32e2 | ||
|
|
e21a6f5ec6 | ||
|
|
47f8b47b8d | ||
|
|
d9a7138196 | ||
|
|
31c7bf574e | ||
|
|
c5eabd6d9e | ||
|
|
cfbd5fb444 | ||
|
|
db9781d4a2 | ||
|
|
9035967309 | ||
|
|
8269f06a0f | ||
|
|
c4626e20fd | ||
|
|
63d4f7ac56 | ||
|
|
61349d96c0 | ||
|
|
cdf97b41dc | ||
|
|
97222baa4e | ||
|
|
6cc63451da | ||
|
|
700d3cb789 | ||
|
|
f024476161 | ||
|
|
48ec547968 | ||
|
|
095c47be54 | ||
|
|
178dc0e1d6 | ||
|
|
6aaf3d01a1 | ||
|
|
086454217d | ||
|
|
cb5446c260 | ||
|
|
143526179e | ||
|
|
e51ba26500 | ||
|
|
f71fa687c4 | ||
|
|
98546bb432 | ||
|
|
637cef10a9 | ||
|
|
e615ecb7a5 | ||
|
|
3711866d8b | ||
|
|
052969f1f1 | ||
|
|
e0815f8120 | ||
|
|
f51c0bba70 | ||
|
|
15bee593e7 | ||
|
|
7100602261 | ||
|
|
4d506ae0d1 | ||
|
|
af326c2e3f | ||
|
|
ce78690029 | ||
|
|
301458d3d5 | ||
|
|
d102ab1b84 | ||
|
|
d6fa26d0ad | ||
|
|
1ea64ac3e5 | ||
|
|
1f65db3778 | ||
|
|
f503aa345b | ||
|
|
d3e2a34ffb | ||
|
|
a3253fb44c | ||
|
|
6b9225c4be | ||
|
|
6dd849c866 | ||
|
|
99e64ce41f | ||
|
|
6f36f2f7b8 | ||
|
|
7e71f05d86 | ||
|
|
7df3f06c0b | ||
|
|
d1cacbb374 | ||
|
|
2be9d18ee9 | ||
|
|
65a3f63297 | ||
|
|
de2c04f82e | ||
|
|
756b54c8ff | ||
|
|
8b82b4982c | ||
|
|
28a4d32b05 | ||
|
|
cb927f08d9 | ||
|
|
fdcfc6bae7 | ||
|
|
a8cfd15880 | ||
|
|
0b756d60e5 | ||
|
|
22913d088f | ||
|
|
5026ac37c1 | ||
|
|
50a8f5f9b8 | ||
|
|
5cde7b189e | ||
|
|
892f238ace | ||
|
|
c2258eedf2 | ||
|
|
7e89f3c9f8 | ||
|
|
12b4d2a75e | ||
|
|
8425f3717a | ||
|
|
32431c79c7 | ||
|
|
7e09576b77 | ||
|
|
5c80172c5f | ||
|
|
428fc1a50e | ||
|
|
d4bcb6ee58 | ||
|
|
281ed127e3 | ||
|
|
77997fab4b | ||
|
|
11435e83c6 | ||
|
|
c40906dfad | ||
|
|
f9e49fd80e | ||
|
|
0350f56110 | ||
|
|
e8c70b0c35 | ||
|
|
e722a7f2eb | ||
|
|
7204d08a31 | ||
|
|
a0c1ad17ab | ||
|
|
903fcd6a60 | ||
|
|
6ce5279d0f | ||
|
|
f5898cf348 | ||
|
|
ab598428c8 | ||
|
|
a5c76d926c | ||
|
|
d621f10ebe | ||
|
|
f4e993861d | ||
|
|
c27c710939 | ||
|
|
4d09627fde | ||
|
|
4e9a1ad226 | ||
|
|
d6a0e00dc3 | ||
|
|
555469af35 | ||
|
|
dde130e859 | ||
|
|
911c11bf4b | ||
|
|
c5342425ea | ||
|
|
b4bbf49418 | ||
|
|
bd01b96d11 | ||
|
|
f3a4a5f8db | ||
|
|
0cfa9af7ed | ||
|
|
2fb6d3782b | ||
|
|
bc09fd1365 | ||
|
|
ecd229e44c | ||
|
|
36be0aad8e | ||
|
|
33f91e248b | ||
|
|
51227d6f16 | ||
|
|
175a8414a7 | ||
|
|
770fe3dcab | ||
|
|
9e4811dc90 | ||
|
|
b0cd1a7a63 | ||
|
|
4c3d55cb2d | ||
|
|
12b791ae20 | ||
|
|
080582dc47 | ||
|
|
3a71cd8ca3 | ||
|
|
02ceed9f83 | ||
|
|
ba800567a3 | ||
|
|
9bff99379e | ||
|
|
a23f742c3d | ||
|
|
e381c9c48e | ||
|
|
3f72dac411 | ||
|
|
8db83c1e90 | ||
|
|
ba340e4469 | ||
|
|
1e9517ea21 | ||
|
|
bd9e956e03 | ||
|
|
b8f9413618 | ||
|
|
3783f45e68 | ||
|
|
c70fb599b9 | ||
|
|
17d4581ce9 | ||
|
|
0ff8d59a07 | ||
|
|
b62db16a58 | ||
|
|
72cc860dd2 | ||
|
|
52d94378a0 | ||
|
|
5f0c46ca5f | ||
|
|
4a6f729845 | ||
|
|
a6d873b8bc | ||
|
|
a548226d23 | ||
|
|
14d7597167 | ||
|
|
c42fe4bf07 | ||
|
|
3953cc1d49 | ||
|
|
b7161f9898 | ||
|
|
2fee8782a6 | ||
|
|
6d609c3cbe | ||
|
|
eb2a5f51bd | ||
|
|
adb0ac475d | ||
|
|
b83e886b30 | ||
|
|
2c9f6f236f | ||
|
|
ee9982dbd9 | ||
|
|
12c8dec44b | ||
|
|
801707fe19 | ||
|
|
529d8a7cf1 | ||
|
|
d9d7b2657e | ||
|
|
1fe29e5d65 | ||
|
|
02d54949f0 | ||
|
|
a1ddbcb37a | ||
|
|
e79ed99510 | ||
|
|
cb1d847607 | ||
|
|
5347c0fcb0 | ||
|
|
194e2dfffa | ||
|
|
a809c57ab2 | ||
|
|
704e6c8876 | ||
|
|
bd5040035c | ||
|
|
b05ccd39b3 | ||
|
|
6ce3705502 | ||
|
|
d907426f0f | ||
|
|
f0fe1930a2 | ||
|
|
a78396e652 | ||
|
|
181125e682 | ||
|
|
7bc7cdd947 | ||
|
|
55d61515ec | ||
|
|
111ec860a8 | ||
|
|
1ac74a984d | ||
|
|
1700442a77 | ||
|
|
1ddde9710e | ||
|
|
a217937e59 | ||
|
|
0ad430bda9 | ||
|
|
61b1075ddb | ||
|
|
47ed813864 | ||
|
|
2d5581de6e | ||
|
|
3525200d9f | ||
|
|
28303a06ce | ||
|
|
576bce9d73 | ||
|
|
d23a531fde | ||
|
|
967c2a93ac | ||
|
|
64196d78c8 | ||
|
|
8a659aae94 | ||
|
|
f8ef82e475 | ||
|
|
35c014cb1d | ||
|
|
e191be096c | ||
|
|
ebb8a69f33 | ||
|
|
b740318a42 | ||
|
|
a16f42441a | ||
|
|
4d8940486c | ||
|
|
e2f974003e | ||
|
|
8760668acc | ||
|
|
da984e8fc5 | ||
|
|
f555b59e36 | ||
|
|
8a48b6b9b6 | ||
|
|
2be74962e4 | ||
|
|
1105cecdc2 | ||
|
|
1e07acce90 | ||
|
|
d2647cd5fd | ||
|
|
988c13928a | ||
|
|
6af971acc0 | ||
|
|
8d9a134fe7 | ||
|
|
4695e981ba | ||
|
|
f2af4484a8 | ||
|
|
0c9a909262 | ||
|
|
c2a6e9d347 | ||
|
|
1ffe3f29e3 | ||
|
|
f0e7471845 | ||
|
|
bcfc5188be | ||
|
|
680c1ba73d | ||
|
|
e96a2a2b89 | ||
|
|
27330b0e55 | ||
|
|
cccfafa311 | ||
|
|
e8555412f1 | ||
|
|
9904949098 | ||
|
|
dca6957b62 | ||
|
|
a1ff871f78 | ||
|
|
4ab08a8117 | ||
|
|
448e23ed61 | ||
|
|
a77f86b6ca | ||
|
|
f5b0ad3c8d |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,3 +1,2 @@
|
||||
*.sln.in eol=crlf
|
||||
*.vcxproj.in eol=crlf
|
||||
*.vcxproj.filters.in eol=crlf
|
||||
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -7,8 +7,6 @@ libtool
|
||||
/isc-config.sh
|
||||
/configure.lineno
|
||||
autom4te.cache/
|
||||
*.rej
|
||||
*.orig
|
||||
*.o
|
||||
*.lo
|
||||
*.so
|
||||
@@ -20,13 +18,13 @@ autom4te.cache/
|
||||
*-symtbl.c
|
||||
timestamp
|
||||
ans.run
|
||||
lwresd.run
|
||||
named.run
|
||||
named.memstats
|
||||
gen.dSYM/
|
||||
.ccache/
|
||||
.libs/
|
||||
.deps/
|
||||
.dirstamp
|
||||
.libs/
|
||||
unit/atf-src/atf-c++/atf-c++.pc
|
||||
unit/atf-src/atf-c/atf-c.pc
|
||||
unit/atf-src/atf-c/defs.h
|
||||
|
||||
359
.gitlab-ci.yml
359
.gitlab-ci.yml
@@ -1,359 +0,0 @@
|
||||
variables:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
LC_ALL: C
|
||||
DOCKER_DRIVER: overlay2
|
||||
CI_REGISTRY_IMAGE: registry.gitlab.isc.org/isc-projects/images/bind9
|
||||
CCACHE_DIR: "/ccache"
|
||||
|
||||
stages:
|
||||
- precheck
|
||||
- build
|
||||
- test
|
||||
|
||||
.centos-centos6-amd64: ¢os_centos6_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:centos-centos6-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.centos-centos7-amd64: ¢os_centos7_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:centos-centos7-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-jessie-amd64: &debian_jessie_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-jessie-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-jessie-i386: &debian_jessie_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-jessie-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-stretch-amd64: &debian_stretch_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-stretch-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-stretch-i386:: &debian_stretch_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-stretch-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-buster-amd64: &debian_buster_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-buster-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-buster-i386:: &debian_buster_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-buster-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.debian-sid-amd64: &debian_sid_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-sid-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.debian-sid-i386: &debian_sid_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:debian-sid-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.ubuntu-trusty-amd64: &ubuntu_trusty_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.ubuntu-trusty-i386: &ubuntu_trusty_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- amd64
|
||||
|
||||
.ubuntu-xenial-i386: &ubuntu_xenial_i386_image
|
||||
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-i386"
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- i386
|
||||
|
||||
.build: &build_job
|
||||
stage: build
|
||||
before_script:
|
||||
- test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
|
||||
# - ./autogen.sh
|
||||
script:
|
||||
- ./configure --enable-developer --with-libtool --disable-static --with-atf=/usr $EXTRA_CONFIGURE
|
||||
- make -j${PARALLEL_JOBS_BUILD:-1} -k all V=1
|
||||
artifacts:
|
||||
expire_in: '1 hour'
|
||||
untracked: true
|
||||
|
||||
.system_test: &system_test_job
|
||||
stage: test
|
||||
before_script:
|
||||
- rm -rf .ccache
|
||||
- bash -x bin/tests/system/ifconfig.sh up
|
||||
- export SOFTHSM_CONF="/tmp/softhsm.conf"
|
||||
- echo "0:/tmp/softhsm.db" > $SOFTHSM_CONF
|
||||
- if command -v softhsm2-util >/dev/null; then softhsm2-util --init-token --free --pin 0000 --so-pin 0000 --label "softhsm"; fi
|
||||
script:
|
||||
- ( cd bin/tests && make -j${TEST_PARALLEL_JOBS:-1} -k test V=1 )
|
||||
- test -s bin/tests/system/systests.output
|
||||
artifacts:
|
||||
untracked: true
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
.unit_test: &unit_test_job
|
||||
stage: test
|
||||
before_script:
|
||||
- export KYUA_RESULT="$CI_PROJECT_DIR/kyua.results"
|
||||
- export SOFTHSM_CONF="/tmp/softhsm.conf"
|
||||
- echo "0:/tmp/softhsm.db" > $SOFTHSM_CONF
|
||||
- if command -v softhsm2-util >/dev/null; then softhsm2-util --init-token --free --pin 0000 --so-pin 0000 --label "softhsm"; fi
|
||||
script:
|
||||
- make unit
|
||||
after_script:
|
||||
- kyua report-html --force --results-file kyua.results --results-filter "" --output kyua_html
|
||||
artifacts:
|
||||
paths:
|
||||
- atf.out
|
||||
- kyua.log
|
||||
- kyua.results
|
||||
- kyua_html/
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
precheck:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
stage: precheck
|
||||
script:
|
||||
- sh util/checklibs.sh > checklibs.out
|
||||
- perl util/check-changes CHANGES
|
||||
- perl -w util/merge_copyrights
|
||||
- diff -urNap util/copyrights util/newcopyrights
|
||||
- rm util/newcopyrights
|
||||
- xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'`
|
||||
- xmllint --noout --nonet --html `git ls-files '*.html'`
|
||||
artifacts:
|
||||
paths:
|
||||
- util/newcopyrights
|
||||
- checklibs.out
|
||||
expire_in: '1 week'
|
||||
when: on_failure
|
||||
|
||||
#build:debian:jessie:amd64:
|
||||
# <<: *debian_jessie_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:jessie:i386:
|
||||
# <<: *debian_jessie_i386_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:stretch:amd64:
|
||||
# <<: *debian_stretch_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:debian:buster:i386:
|
||||
# <<: *debian_buster_i386_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:ubuntu:trusty:amd64:
|
||||
# <<: *ubuntu_trusty_amd64_image
|
||||
# <<: *build_job
|
||||
#
|
||||
#build:ubuntu:xenial:i386:
|
||||
# <<: *ubuntu_xenial_i386_image
|
||||
# <<: *build_job
|
||||
|
||||
build:centos:centos6:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2 --disable-warn-error"
|
||||
<<: *centos_centos6_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:centos:centos7:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
<<: *centos_centos7_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:clang:debian:sid:amd64:
|
||||
variables:
|
||||
CC: clang-6.0
|
||||
CFLAGS: "-Wall -Wextra -Wenum-conversion -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:jessie:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
<<: *debian_jessie_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:stretch:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
<<: *debian_stretch_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:sid:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
build:clang:debian:sid:i386:
|
||||
variables:
|
||||
CC: clang-6.0
|
||||
CFLAGS: "-Wall -Wextra -Wenum-conversion -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *build_job
|
||||
|
||||
build:debian:sid:i386:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *build_job
|
||||
|
||||
unittest:centos:centos6:amd64:
|
||||
<<: *centos_centos6_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:centos:centos6:amd64
|
||||
|
||||
unittest:centos:centos7:amd64:
|
||||
<<: *centos_centos7_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:centos:centos7:amd64
|
||||
|
||||
unittest:debian:jessie:amd64:
|
||||
<<: *debian_jessie_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:jessie:amd64
|
||||
|
||||
unittest:debian:stretch:amd64:
|
||||
<<: *debian_stretch_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:stretch:amd64
|
||||
|
||||
unittest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:amd64
|
||||
|
||||
unittest:clang:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:clang:debian:sid:amd64
|
||||
|
||||
unittest:debian:sid:i386:
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:i386
|
||||
|
||||
systemtest:centos:centos6:amd64:
|
||||
<<: *centos_centos6_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:centos:centos6:amd64
|
||||
|
||||
systemtest:centos:centos7:amd64:
|
||||
<<: *centos_centos7_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:centos:centos7:amd64
|
||||
|
||||
systemtest:debian:jessie:amd64:
|
||||
<<: *debian_jessie_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:jessie:amd64
|
||||
|
||||
systemtest:debian:stretch:amd64:
|
||||
<<: *debian_stretch_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:stretch:amd64
|
||||
|
||||
systemtest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:amd64
|
||||
|
||||
systemtest:debian:sid:i386:
|
||||
<<: *debian_sid_i386_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- build:debian:sid:i386
|
||||
|
||||
pkcs11:build:debian:sid:amd64:
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "-Wall -Wextra -O2 -g"
|
||||
EXTRA_CONFIGURE: "--enable-native-pkcs11 --with-pkcs11=/usr/lib/softhsm/libsofthsm2.so"
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *build_job
|
||||
|
||||
pkcs11:unittest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *unit_test_job
|
||||
dependencies:
|
||||
- pkcs11:build:debian:sid:amd64
|
||||
|
||||
pkcs11:systemtest:debian:sid:amd64:
|
||||
<<: *debian_sid_amd64_image
|
||||
<<: *system_test_job
|
||||
dependencies:
|
||||
- pkcs11:build:debian:sid:amd64
|
||||
@@ -1,42 +0,0 @@
|
||||
<!--
|
||||
If the bug you are reporting is potentially security-related - for example,
|
||||
if it involves an assertion failure or other crash in `named` that can be
|
||||
triggered repeatedly - then please do *NOT* report it here, but send an
|
||||
email to [security-officer@isc.org](security-officer@isc.org).
|
||||
-->
|
||||
|
||||
### Summary
|
||||
|
||||
(Summarize the bug encountered concisely.)
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
(How one can reproduce the issue - this is very important.)
|
||||
|
||||
### What is the current *bug* behavior?
|
||||
|
||||
(What actually happens.)
|
||||
|
||||
### What is the expected *correct* behavior?
|
||||
|
||||
(What you should see instead.)
|
||||
|
||||
### Relevant configuration files
|
||||
|
||||
(Paste any relevant configuration files - please use code blocks (```)
|
||||
to format console output. If submitting the contents of your
|
||||
configuration file in a non-confidential Issue, it is advisable to
|
||||
obscure key secrets: this can be done automatically by using
|
||||
`named-checkconf -px`.)
|
||||
|
||||
### Relevant logs and/or screenshots
|
||||
|
||||
(Paste any relevant logs - please use code blocks (```) to format console
|
||||
output, logs, and code, as it's very hard to read otherwise.)
|
||||
|
||||
### Possible fixes
|
||||
|
||||
(If you can, link to the line of code that might be responsible for the
|
||||
problem.)
|
||||
|
||||
/label ~bug
|
||||
@@ -1,11 +0,0 @@
|
||||
### Description
|
||||
|
||||
(Describe the problem, use cases, benefits, and/or goals.)
|
||||
|
||||
### Request
|
||||
|
||||
(Describe the solution you'd like to see.)
|
||||
|
||||
### Links / references
|
||||
|
||||
/label ~"feature request"
|
||||
186
CONTRIBUTING
186
CONTRIBUTING
@@ -1,186 +0,0 @@
|
||||
BIND Source Access and Contributor Guidelines
|
||||
|
||||
Feb 22, 2018
|
||||
|
||||
Contents
|
||||
|
||||
1. Access to source code
|
||||
2. Reporting bugs
|
||||
3. Contributing code
|
||||
|
||||
Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be used
|
||||
and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the Internet Systems Consortium, a public-benefit
|
||||
501(c)(3) nonprofit, using a "managed open source" approach: anyone can
|
||||
see the source, but only ISC employees have commit access. Until recently,
|
||||
the source could only be seen once ISC had published a release: read
|
||||
access to the source repository was restricted just as commit access was.
|
||||
That's now changing, with the opening of a public git mirror to the BIND
|
||||
source tree (see below).
|
||||
|
||||
Access to source code
|
||||
|
||||
Public BIND releases are always available from the ISC FTP site.
|
||||
|
||||
A public-access GIT repository is also available at https://gitlab.isc.org
|
||||
. This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does not contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via https://gitlab.isc.org/isc-projects/
|
||||
bind9
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
$ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form v9_X, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
$ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form v9_X_Y. The 9.12.0 release, for instance, is tagged as v9_12_0.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
master.
|
||||
|
||||
Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors in
|
||||
the documentation, missing files in the tarball, suggested changes or
|
||||
requests for new features, etc, can be filed using https://gitlab.isc.org/
|
||||
isc-projects/bind9/issues.
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or low in
|
||||
priority, but we will try at least to acknowledge legitimate bug reports
|
||||
within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have an
|
||||
account to file a new issue. You can either register locally or use
|
||||
credentials from an existing account at GitHub, GitLab, Google, Twitter,
|
||||
or Facebook.
|
||||
|
||||
Reporting possible security issues
|
||||
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the ISC Security Officer public key.
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing
|
||||
list. ISC has a long history of handling reported vulnerabilities promptly
|
||||
and effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at https://
|
||||
kb.isc.org/article/AA-00861/0.
|
||||
|
||||
If you have a crash, you may want to consult ?What to do if your BIND or
|
||||
DHCP server has crashed.?
|
||||
|
||||
Contributing code
|
||||
|
||||
BIND is licensed under the Mozilla Public License 2.0. Earier versions
|
||||
(BIND 9.10 and earlier) were licensed under the ISC License
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in ISC's
|
||||
Gitlab source repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of BIND
|
||||
-- preferably the current top of the master branch. Diffs may be generated
|
||||
using either git format-patch or git diff.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the developer
|
||||
information page, which includes information about BIND design and coding
|
||||
practices, including discussion of internal APIs and overall system
|
||||
architecture. (This is a work in progress, and still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our code
|
||||
review process before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the BIND 9 coding style.
|
||||
* Run make check to ensure your change hasn't caused any functional
|
||||
regressions.
|
||||
* Document your work, both in the patch itself and in the accompanying
|
||||
email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See Testing for more information.
|
||||
|
||||
Changes to configure
|
||||
|
||||
If you need to make changes to configure, you should not edit it directly;
|
||||
instead, edit configure.in, then run autoconf. Similarly, instead of
|
||||
editing config.h.in directly, edit configure.in and run autoheader.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the configure diffs
|
||||
to save space. Just send the configure.in diffs and we'll generate the new
|
||||
configure during the review process.
|
||||
|
||||
Documentation
|
||||
|
||||
All functional changes should be documented. There are three types of
|
||||
documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands they
|
||||
document, in files ending in .docbook; for example, the named man page
|
||||
is bin/named/named.docbook.
|
||||
* The BIND 9 Administrator Reference Manual is mostly in doc/arm/
|
||||
Bv9ARM-book.xml, plus a few other XML files that are included in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these; all
|
||||
PDF, HTML, and nroff-format man page files will be updated automatically
|
||||
from the docbook and XML files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test
|
||||
coverage. Please see the 'Testing' section of doc/dev/dev.md for more
|
||||
information.
|
||||
|
||||
Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development of
|
||||
BIND.
|
||||
201
CONTRIBUTING.md
201
CONTRIBUTING.md
@@ -1,201 +0,0 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
## BIND Source Access and Contributor Guidelines
|
||||
*Feb 22, 2018*
|
||||
|
||||
### Contents
|
||||
|
||||
1. [Access to source code](#access)
|
||||
1. [Reporting bugs](#bugs)
|
||||
1. [Contributing code](#contrib)
|
||||
|
||||
### Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be
|
||||
used and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the [Internet Systems Consortium](https://www.isc.org),
|
||||
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
|
||||
anyone can see the source, but only ISC employees have commit access.
|
||||
Until recently, the source could only be seen once ISC had published
|
||||
a release: read access to the source repository was restricted just
|
||||
as commit access was. That's now changing, with the opening of a
|
||||
public git mirror to the BIND source tree (see below).
|
||||
|
||||
### <a name="access"></a>Access to source code
|
||||
|
||||
Public BIND releases are always available from the
|
||||
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
|
||||
|
||||
A public-access GIT repository is also available at
|
||||
[https://gitlab.isc.org](https://gitlab.isc.org).
|
||||
This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does *not* contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form `v9_X`, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
> $ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
`master`.
|
||||
|
||||
### <a name="bugs"></a>Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors
|
||||
in the documentation, missing files in the tarball, suggested changes
|
||||
or requests for new features, etc, can be filed using
|
||||
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or
|
||||
low in priority, but we will try at least to acknowledge legitimate
|
||||
bug reports within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have
|
||||
an account to file a new issue. You can either register locally or
|
||||
use credentials from an existing account at GitHub, GitLab, Google,
|
||||
Twitter, or Facebook.
|
||||
|
||||
### Reporting possible security issues
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing list.
|
||||
ISC has a long history of handling reported vulnerabilities promptly and
|
||||
effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0).
|
||||
|
||||
If you have a crash, you may want to consult
|
||||
[‘What to do if your BIND or DHCP server has crashed.’](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
|
||||
|
||||
### <a name="bugs"></a>Contributing code
|
||||
|
||||
BIND is licensed under the
|
||||
[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||
Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/)
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
#### <a name="bind"></a>BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in
|
||||
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
|
||||
repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of
|
||||
BIND -- preferably the current top of the `master` branch. Diffs may
|
||||
be generated using either `git format-patch` or `git diff`.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the
|
||||
[developer information](doc/dev/dev.md) page, which includes information
|
||||
about BIND design and coding practices, including discussion of internal
|
||||
APIs and overall system architecture. (This is a work in progress, and
|
||||
still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our
|
||||
[code review process](doc/dev/dev.md#reviews) before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
|
||||
* Run `make` `check` to ensure your change hasn't caused any
|
||||
functional regressions.
|
||||
* Document your work, both in the patch itself and in the
|
||||
accompanying email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See [Testing](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
##### Changes to `configure`
|
||||
|
||||
If you need to make changes to `configure`, you should not edit it
|
||||
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
|
||||
instead of editing `config.h.in` directly, edit `configure.in` and run
|
||||
`autoheader`.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the `configure`
|
||||
diffs to save space. Just send the `configure.in` diffs and we'll
|
||||
generate the new `configure` during the review process.
|
||||
|
||||
##### Documentation
|
||||
|
||||
All functional changes should be documented. There are three types
|
||||
of documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands
|
||||
they document, in files ending in `.docbook`; for example, the
|
||||
`named` man page is `bin/named/named.docbook`.
|
||||
* The *BIND 9 Administrator Reference Manual* is mostly in
|
||||
`doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included
|
||||
in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these;
|
||||
all PDF, HTML, and `nroff`-format man page files will be updated
|
||||
automatically from the `docbook` and `XML` files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
##### Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test coverage.
|
||||
Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
#### Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development
|
||||
of BIND.
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 1996-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
|
||||
18
EXCLUDED
Normal file
18
EXCLUDED
Normal file
@@ -0,0 +1,18 @@
|
||||
4607. [bug] The memory context's malloced and maxmalloced counters
|
||||
were being updated without the appropriate lock being
|
||||
held. [RT #44869]
|
||||
|
||||
4605. [performance] Improve performance for delegation heavy answers
|
||||
and also general query performance. Removes the
|
||||
acache feature that didn't significantly improve
|
||||
performance. Adds a glue cache. Removes
|
||||
additional-from-cache and additional-from-auth
|
||||
features. Enables minimal-responses by
|
||||
default. Improves performance of compression
|
||||
code, owner case restoration, hash function,
|
||||
etc. Uses inline buffer implementation by
|
||||
default. Many other performance changes and fixes.
|
||||
[RT #44029]
|
||||
|
||||
4556. [bug] Sending an EDNS Padding option using "dig
|
||||
+ednsopt" could cause a crash in dig. [RT #44462]
|
||||
129
HISTORY
129
HISTORY
@@ -1,133 +1,5 @@
|
||||
Functional enhancements from prior major releases of BIND 9
|
||||
|
||||
BIND 9.11
|
||||
|
||||
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
|
||||
releases. New features include:
|
||||
|
||||
* Added support for Catalog Zones, a new method for provisioning
|
||||
servers: a list of zones to be served is stored in a DNS zone, along
|
||||
with their configuration parameters. Changes to the catalog zone are
|
||||
propagated to slaves via normal AXFR/IXFR, whereupon the zones that
|
||||
are listed in it are automatically added, deleted or reconfigured.
|
||||
* Added support for "dnstap", a fast and flexible method of capturing
|
||||
and logging DNS traffic.
|
||||
* Added support for "dyndb", a new API for loading zone data from an
|
||||
external database, developed by Red Hat for the FreeIPA project.
|
||||
* "fetchlimit" quotas are now compiled in by default. These are for the
|
||||
use of recursive resolvers that are are under high query load for
|
||||
domains whose authoritative servers are nonresponsive or are
|
||||
experiencing a denial of service attack:
|
||||
+ "fetches-per-server" limits the number of simultaneous queries
|
||||
that can be sent to any single authoritative server. The
|
||||
configured value is a starting point; it is automatically adjusted
|
||||
downward if the server is partially or completely non-responsive.
|
||||
The algorithm used to adjust the quota can be configured via the
|
||||
"fetch-quota-params" option.
|
||||
+ "fetches-per-zone" limits the number of simultaneous queries that
|
||||
can be sent for names within a single domain. (Note: Unlike
|
||||
"fetches-per-server", this value is not self-tuning.)
|
||||
+ New stats counters have been added to count queries spilled due to
|
||||
these quotas.
|
||||
* Added a new "dnssec-keymgr" key mainenance utility, which can generate
|
||||
or update keys as needed to ensure that a zone's keys match a defined
|
||||
DNSSEC policy.
|
||||
* The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE"
|
||||
and is no longer optional. EDNS COOKIE is a mechanism enabling clients
|
||||
to detect off-path spoofed responses, and servers to detect
|
||||
spoofed-source queries. Clients that identify themselves using COOKIE
|
||||
options are not subject to response rate limiting (RRL) and can
|
||||
receive larger UDP responses.
|
||||
* SERVFAIL responses can now be cached for a limited time (defaulting to
|
||||
1 second, with an upper limit of 30). This can reduce the frequency of
|
||||
retries when a query is persistently failing.
|
||||
* Added an "nsip-wait-recurse" switch to RPZ. This causes NSIP rules to
|
||||
be skipped if a name server IP address isn't in the cache yet; the
|
||||
address will be looked up and the rule will be applied on future
|
||||
queries.
|
||||
* Added a Python RNDC module. This allows multiple commands to sent over
|
||||
a persistent RNDC channel, which saves time.
|
||||
* The "controls" block in named.conf can now grant read-only "rndc"
|
||||
access to specified clients or keys. Read-only clients could, for
|
||||
example, check "rndc status" but could not reconfigure or shut down
|
||||
the server.
|
||||
* "rndc" commands can now return arbitrarily large amounts of text to
|
||||
the caller.
|
||||
* The zone serial number of a dynamically updatable zone can now be set
|
||||
via "rndc signing -serial ". This allows inline-signing zones to be
|
||||
set to a specific serial number.
|
||||
* The new "rndc nta" command can be used to set a Negative Trust Anchor
|
||||
(NTA), disabling DNSSEC validation for a specific domain; this can be
|
||||
used when responses from a domain are known to be failing validation
|
||||
due to administrative error rather than because of a spoofing attack.
|
||||
Negative trust anchors are strictly temporary; by default they expire
|
||||
after one hour, but can be configured to last up to one week.
|
||||
* "rndc delzone" can now be used on zones that were not originally
|
||||
created by "rndc addzone".
|
||||
* "rndc modzone" reconfigures a single zone, without requiring the
|
||||
entire server to be reconfigured.
|
||||
* "rndc showzone" displays the current configuration of a zone.
|
||||
* "rndc managed-keys" can be used to check the status of RFC 5001
|
||||
managed trust anchors, or to force trust anchors to be refreshed.
|
||||
* "max-cache-size" can now be set to a percentage of available memory.
|
||||
The default is 90%.
|
||||
* Update forwarding performance has been improved by allowing a single
|
||||
TCP connection to be shared by multiple updates.
|
||||
* The EDNS Client Subnet (ECS) option is now supported for authoritative
|
||||
servers; if a query contains an ECS option then ACLs containing
|
||||
"geoip" or "ecs" elements can match against the the address encoded in
|
||||
the option. This can be used to select a view for a query, so that
|
||||
different answers can be provided depending on the client network.
|
||||
* The EDNS EXPIRE option has been implemented on the client side,
|
||||
allowing a slave server to set the expiration timer correctly when
|
||||
transferring zone data from another slave server.
|
||||
* The key generation and manipulation tools (dnssec-keygen,
|
||||
dnssec-settime, dnssec-importkey, dnssec-keyfromlabel) now take
|
||||
"-Psync" and "-Dsync" options to set the publication and deletion
|
||||
times of CDS and CDNSKEY parent-synchronization records. Both named
|
||||
and dnssec-signzone can now publish and remove these records at the
|
||||
scheduled times.
|
||||
* A new "minimal-any" option reduces the size of UDP responses for query
|
||||
type ANY by returning a single arbitrarily selected RRset instead of
|
||||
all RRsets.
|
||||
* A new "masterfile-style" zone option controls the formatting of text
|
||||
zone files: When set to "full", a zone file is dumped in
|
||||
single-line-per-record format.
|
||||
* "serial-update-method" can now be set to "date". On update, the serial
|
||||
number will be set to the current date in YYYYMMDDNN format.
|
||||
* "dnssec-signzone -N date" sets the serial number to YYYYMMDDNN.
|
||||
* "named -L " causes named to send log messages to the specified file by
|
||||
default instead of to the system log.
|
||||
* "dig +ttlunits" prints TTL values with time-unit suffixes: w, d, h, m,
|
||||
s for weeks, days, hours, minutes, and seconds.
|
||||
* "dig +unknownformat" prints dig output in RFC 3597 "unknown record"
|
||||
presentation format.
|
||||
* "dig +ednsopt" allows dig to set arbitrary EDNS options on requests.
|
||||
* "dig +ednsflags" allows dig to set yet-to-be-defined EDNS flags on
|
||||
requests.
|
||||
* "mdig" is an alternate version of dig which sends multiple pipelined
|
||||
TCP queries to a server. Instead of waiting for a response after
|
||||
sending a query, it sends all queries immediately and displays
|
||||
responses in the order received.
|
||||
* "serial-query-rate" no longer controls NOTIFY messages. These are
|
||||
separately controlled by "notify-rate" and "startup-notify-rate".
|
||||
* "nsupdate" now performs "check-names" processing by default on records
|
||||
to be added. This can be disabled with "check-names no".
|
||||
* The statistics channel now supports DEFLATE compression, reducing the
|
||||
size of the data sent over the network when querying statistics.
|
||||
* New counters have been added to the statistics channel to track the
|
||||
sizes of incoming queries and outgoing responses in histogram buckets,
|
||||
as specified in RSSAC002.
|
||||
* A new NXDOMAIN redirect method (option "nxdomain-redirect") has been
|
||||
added, allowing redirection to a specified DNS namespace instead of a
|
||||
single redirect zone.
|
||||
* When starting up, named now ensures that no other named process is
|
||||
already running.
|
||||
* Files created by named to store information, including "mkeys" and
|
||||
"nzf" files, are now named after their corresponding views unless the
|
||||
view name contains characters incompatible with use as a filename. Old
|
||||
style filenames (based on the hash of the view name) will still work.
|
||||
|
||||
BIND 9.10.0
|
||||
|
||||
BIND 9.10.0 includes a number of changes from BIND 9.9 and earlier
|
||||
@@ -522,3 +394,4 @@ BIND 9.2.0
|
||||
DNSSEC implementation is still considered experimental. For detailed
|
||||
information about the state of the DNSSEC implementation, see the file
|
||||
doc/misc/dnssec.
|
||||
|
||||
|
||||
130
HISTORY.md
130
HISTORY.md
@@ -1,140 +1,12 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
### Functional enhancements from prior major releases of BIND 9
|
||||
|
||||
#### BIND 9.11
|
||||
|
||||
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
|
||||
releases. New features include:
|
||||
|
||||
- Added support for Catalog Zones, a new method for provisioning servers: a
|
||||
list of zones to be served is stored in a DNS zone, along with their
|
||||
configuration parameters. Changes to the catalog zone are propagated to
|
||||
slaves via normal AXFR/IXFR, whereupon the zones that are listed in it
|
||||
are automatically added, deleted or reconfigured.
|
||||
- Added support for "dnstap", a fast and flexible method of capturing and
|
||||
logging DNS traffic.
|
||||
- Added support for "dyndb", a new API for loading zone data from an
|
||||
external database, developed by Red Hat for the FreeIPA project.
|
||||
- "fetchlimit" quotas are now compiled in by default. These are for the
|
||||
use of recursive resolvers that are are under high query load for domains
|
||||
whose authoritative servers are nonresponsive or are experiencing a
|
||||
denial of service attack:
|
||||
- "fetches-per-server" limits the number of simultaneous queries that
|
||||
can be sent to any single authoritative server. The configured value
|
||||
is a starting point; it is automatically adjusted downward if the
|
||||
server is partially or completely non-responsive. The algorithm used
|
||||
to adjust the quota can be configured via the "fetch-quota-params"
|
||||
option.
|
||||
- "fetches-per-zone" limits the number of simultaneous queries that can
|
||||
be sent for names within a single domain. (Note: Unlike
|
||||
"fetches-per-server", this value is not self-tuning.)
|
||||
- New stats counters have been added to count queries spilled due to
|
||||
these quotas.
|
||||
- Added a new "dnssec-keymgr" key mainenance utility, which can generate or
|
||||
update keys as needed to ensure that a zone's keys match a defined DNSSEC
|
||||
policy.
|
||||
- The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE" and
|
||||
is no longer optional. EDNS COOKIE is a mechanism enabling clients to
|
||||
detect off-path spoofed responses, and servers to detect spoofed-source
|
||||
queries. Clients that identify themselves using COOKIE options are not
|
||||
subject to response rate limiting (RRL) and can receive larger UDP
|
||||
responses.
|
||||
- SERVFAIL responses can now be cached for a limited time (defaulting to 1
|
||||
second, with an upper limit of 30). This can reduce the frequency of
|
||||
retries when a query is persistently failing.
|
||||
- Added an "nsip-wait-recurse" switch to RPZ. This causes NSIP rules to be
|
||||
skipped if a name server IP address isn't in the cache yet; the address
|
||||
will be looked up and the rule will be applied on future queries.
|
||||
- Added a Python RNDC module. This allows multiple commands to sent over a
|
||||
persistent RNDC channel, which saves time.
|
||||
- The "controls" block in named.conf can now grant read-only "rndc" access
|
||||
to specified clients or keys. Read-only clients could, for example, check
|
||||
"rndc status" but could not reconfigure or shut down the server.
|
||||
- "rndc" commands can now return arbitrarily large amounts of text to the
|
||||
caller.
|
||||
- The zone serial number of a dynamically updatable zone can now be set via
|
||||
"rndc signing -serial <number> <zonename>". This allows inline-signing
|
||||
zones to be set to a specific serial number.
|
||||
- The new "rndc nta" command can be used to set a Negative Trust Anchor
|
||||
(NTA), disabling DNSSEC validation for a specific domain; this can be
|
||||
used when responses from a domain are known to be failing validation due
|
||||
to administrative error rather than because of a spoofing attack.
|
||||
Negative trust anchors are strictly temporary; by default they expire
|
||||
after one hour, but can be configured to last up to one week.
|
||||
- "rndc delzone" can now be used on zones that were not originally created
|
||||
by "rndc addzone".
|
||||
- "rndc modzone" reconfigures a single zone, without requiring the entire
|
||||
server to be reconfigured.
|
||||
- "rndc showzone" displays the current configuration of a zone.
|
||||
- "rndc managed-keys" can be used to check the status of RFC 5001 managed
|
||||
trust anchors, or to force trust anchors to be refreshed.
|
||||
- "max-cache-size" can now be set to a percentage of available memory. The
|
||||
default is 90%.
|
||||
- Update forwarding performance has been improved by allowing a single TCP
|
||||
connection to be shared by multiple updates.
|
||||
- The EDNS Client Subnet (ECS) option is now supported for authoritative
|
||||
servers; if a query contains an ECS option then ACLs containing "geoip"
|
||||
or "ecs" elements can match against the the address encoded in the
|
||||
option. This can be used to select a view for a query, so that different
|
||||
answers can be provided depending on the client network.
|
||||
- The EDNS EXPIRE option has been implemented on the client side, allowing
|
||||
a slave server to set the expiration timer correctly when transferring
|
||||
zone data from another slave server.
|
||||
- The key generation and manipulation tools (dnssec-keygen, dnssec-settime,
|
||||
dnssec-importkey, dnssec-keyfromlabel) now take "-Psync" and "-Dsync"
|
||||
options to set the publication and deletion times of CDS and CDNSKEY
|
||||
parent-synchronization records. Both named and dnssec-signzone can now
|
||||
publish and remove these records at the scheduled times.
|
||||
- A new "minimal-any" option reduces the size of UDP responses for query
|
||||
type ANY by returning a single arbitrarily selected RRset instead of all
|
||||
RRsets.
|
||||
- A new "masterfile-style" zone option controls the formatting of text zone
|
||||
files: When set to "full", a zone file is dumped in
|
||||
single-line-per-record format.
|
||||
- "serial-update-method" can now be set to "date". On update, the serial
|
||||
number will be set to the current date in YYYYMMDDNN format.
|
||||
- "dnssec-signzone -N date" sets the serial number to YYYYMMDDNN.
|
||||
- "named -L <filename>" causes named to send log messages to the specified
|
||||
file by default instead of to the system log.
|
||||
- "dig +ttlunits" prints TTL values with time-unit suffixes: w, d, h, m, s
|
||||
for weeks, days, hours, minutes, and seconds.
|
||||
- "dig +unknownformat" prints dig output in RFC 3597 "unknown record"
|
||||
presentation format.
|
||||
- "dig +ednsopt" allows dig to set arbitrary EDNS options on requests.
|
||||
- "dig +ednsflags" allows dig to set yet-to-be-defined EDNS flags on
|
||||
requests.
|
||||
- "mdig" is an alternate version of dig which sends multiple pipelined TCP
|
||||
queries to a server. Instead of waiting for a response after sending a
|
||||
query, it sends all queries immediately and displays responses in the
|
||||
order received.
|
||||
- "serial-query-rate" no longer controls NOTIFY messages. These are
|
||||
separately controlled by "notify-rate" and "startup-notify-rate".
|
||||
- "nsupdate" now performs "check-names" processing by default on records to
|
||||
be added. This can be disabled with "check-names no".
|
||||
- The statistics channel now supports DEFLATE compression, reducing the
|
||||
size of the data sent over the network when querying statistics.
|
||||
- New counters have been added to the statistics channel to track the sizes
|
||||
of incoming queries and outgoing responses in histogram buckets, as
|
||||
specified in RSSAC002.
|
||||
- A new NXDOMAIN redirect method (option "nxdomain-redirect") has been
|
||||
added, allowing redirection to a specified DNS namespace instead of a
|
||||
single redirect zone.
|
||||
- When starting up, named now ensures that no other named process is
|
||||
already running.
|
||||
- Files created by named to store information, including "mkeys" and "nzf"
|
||||
files, are now named after their corresponding views unless the view name
|
||||
contains characters incompatible with use as a filename. Old style
|
||||
filenames (based on the hash of the view name) will still work.
|
||||
|
||||
#### BIND 9.10.0
|
||||
|
||||
BIND 9.10.0 includes a number of changes from BIND 9.9 and earlier
|
||||
|
||||
35
Makefile.in
35
Makefile.in
@@ -1,16 +1,12 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 1998-2002, 2004-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@@ -22,8 +18,7 @@ MANPAGES = isc-config.sh.1
|
||||
|
||||
HTMLPAGES = isc-config.sh.html
|
||||
|
||||
MANOBJS = README HISTORY OPTIONS CONTRIBUTING PLATFORMS \
|
||||
${MANPAGES} ${HTMLPAGES}
|
||||
MANOBJS = README HISTORY OPTIONS ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
@@ -75,7 +70,7 @@ tags:
|
||||
find lib bin -name "*.[ch]" -print | @ETAGS@ -
|
||||
|
||||
test check:
|
||||
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>/dev/null || echo fail`"; then \
|
||||
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>&- || echo fail`"; then \
|
||||
echo I: NOTE: The tests were not run because they require that; \
|
||||
echo I: the IP addresses 10.53.0.1 through 10.53.0.8 are configured; \
|
||||
echo I: as alias addresses on the loopback interface. Please run; \
|
||||
@@ -91,36 +86,22 @@ force-test: test-force
|
||||
test-force:
|
||||
status=0; \
|
||||
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
|
||||
(test -f ${top_builddir}/unit/unittest.sh && \
|
||||
$(SHELL) ${top_builddir}/unit/unittest.sh) || status=1; \
|
||||
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
|
||||
exit $$status
|
||||
|
||||
README: README.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html README.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
HISTORY: HISTORY.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
OPTIONS: OPTIONS.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
CONTRIBUTING: CONTRIBUTING.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
PLATFORMS: PLATFORMS.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html PLATFORMS.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
unit::
|
||||
sh ${top_builddir}/unit/unittest.sh
|
||||
sh ${top_srcdir}/unit/unittest.sh
|
||||
|
||||
clean::
|
||||
|
||||
17
OPTIONS
17
OPTIONS
@@ -5,9 +5,9 @@ defined in configure.
|
||||
Some of these settings are:
|
||||
|
||||
Setting Description
|
||||
Overwrite memory with tag values when allocating
|
||||
-DISC_MEM_DEFAULTFILL=1 or freeing it; this impairs performance but
|
||||
makes debugging of memory problems easier.
|
||||
Don't ovewrite memory when allocating or freeing
|
||||
-DISC_MEM_FILL=0 it; this improves performance but makes
|
||||
debugging more difficult.
|
||||
Don't track memory allocations by file and line
|
||||
-DISC_MEM_TRACKLINES=0 number; this improves performance but makes
|
||||
debugging more difficult.
|
||||
@@ -18,9 +18,8 @@ Setting Description
|
||||
-DCHECK_LOCAL=0 Don't check out-of-zone addresses in
|
||||
named-checkzone
|
||||
-DNS_RUN_PID_DIR=0 Create default PID files in ${localstatedir}/run
|
||||
rather than ${localstatedir}/run/named/
|
||||
Disable the use of inline functions to implement
|
||||
-DISC_BUFFER_USEINLINE=0 the isc_buffer API: this reduces performance but
|
||||
may be useful when debugging
|
||||
-DISC_HEAP_CHECK Test heap consistency after every heap
|
||||
operation; used when debugging
|
||||
rather than ${localstatedir}/run/{named,lwresd}/
|
||||
Enable DNSSEC signature chasing support in dig.
|
||||
-DDIG_SIGCHASE=1 (Note: This feature is deprecated. Use delv
|
||||
instead.)
|
||||
|
||||
|
||||
13
OPTIONS.md
13
OPTIONS.md
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
Setting the `STD_CDEFINES` environment variable before running `configure`
|
||||
can be used to enable certain compile-time options that are not explicitly
|
||||
@@ -16,12 +13,12 @@ Some of these settings are:
|
||||
|
||||
|Setting |Description |
|
||||
|-----------------------------------|----------------------------------------|
|
||||
|`-DISC_MEM_DEFAULTFILL=1`|Overwrite memory with tag values when allocating or freeing it; this impairs performance but makes debugging of memory problems easier.|
|
||||
|`-DISC_MEM_FILL=0`|Don't ovewrite memory when allocating or freeing it; this improves performance but makes debugging more difficult.|
|
||||
|`-DISC_MEM_TRACKLINES=0`|Don't track memory allocations by file and line number; this improves performance but makes debugging more difficult.|
|
||||
|<nobr>`-DISC_FACILITY=LOG_LOCAL0`</nobr>|Change the default syslog facility for `named`|
|
||||
|`-DNS_CLIENT_DROPPORT=0`|Disable dropping queries from particular well-known ports:|
|
||||
|`-DCHECK_SIBLING=0`|Don't check sibling glue in `named-checkzone`|
|
||||
|`-DCHECK_LOCAL=0`|Don't check out-of-zone addresses in `named-checkzone`|
|
||||
|`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/`|
|
||||
|`-DISC_BUFFER_USEINLINE=0`|Disable the use of inline functions to implement the `isc_buffer` API: this reduces performance but may be useful when debugging |
|
||||
|`-DISC_HEAP_CHECK`|Test heap consistency after every heap operation; used when debugging|
|
||||
|`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/{named,lwresd}/`|
|
||||
|`-DDIG_SIGCHASE=1`|Enable DNSSEC signature chasing support in `dig`. (Note: This feature is deprecated. Use `delv` instead.)|
|
||||
|
||||
|
||||
56
PLATFORMS
56
PLATFORMS
@@ -1,56 +0,0 @@
|
||||
Supported platforms
|
||||
|
||||
In general, this version of BIND will build and run on any POSIX-compliant
|
||||
system with a C99-compliant C compiler, BSD-style sockets, and the OpenSSL
|
||||
cryptography library. To build with multiprocessing support, a
|
||||
C11-compliant C compiler will be needed for standard atomics.
|
||||
|
||||
ISC regularly tests BIND on many operating systems and architectures, but
|
||||
lacks the resources to test all of them. Consequently, ISC is only able to
|
||||
offer support on a "best effort" basis for some.
|
||||
|
||||
Regularly tested platforms
|
||||
|
||||
As of May 2018, BIND 9.13 is tested on the following systems:
|
||||
|
||||
* Debian 8, 9
|
||||
* Ubuntu 16.04, 18.04
|
||||
* Fedora 27, 28
|
||||
* Red Hat/CentOS 6, 7
|
||||
* FreeBSD 10.x, 11.x
|
||||
* OpenBSD 6.3
|
||||
|
||||
The amd64, i386, armhf and arm64 CPU architectures are all fully
|
||||
supported.
|
||||
|
||||
Best effort
|
||||
|
||||
The following are platforms on which BIND is known to build and run, but
|
||||
on which it is not routinely tested. ISC makes every effort to fix bugs on
|
||||
these platforms, but may be unable to do so quickly due to lack of
|
||||
hardware, less familiarity on the part of engineering staff, and other
|
||||
constraints.
|
||||
|
||||
* Windows 10 / x64
|
||||
* Windows Server 2012 R2, 2016 / x64
|
||||
* macOS 10.12+
|
||||
* Solaris 10
|
||||
* FreeBSD 12+
|
||||
* OpenBSD 6.2
|
||||
* NetBSD
|
||||
* Older or less popular Linux distributions still supported by their
|
||||
vendors, such as:
|
||||
+ Ubuntu 14.04, 18.10+
|
||||
+ Gentoo
|
||||
+ ArchLinux
|
||||
+ Alpine Linux
|
||||
* OpenWRT/LEDE 17.0
|
||||
* Other CPU architectures (mips, mipsel, sparc, ...)
|
||||
|
||||
Unsupported platforms
|
||||
|
||||
These are platforms on which BIND is known not to build or run:
|
||||
|
||||
* Platforms without at least OpenSSL 1.0.2
|
||||
* Windows 10 / x86
|
||||
* Windows Server 2012
|
||||
64
PLATFORMS.md
64
PLATFORMS.md
@@ -1,64 +0,0 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
## Supported platforms
|
||||
|
||||
In general, this version of BIND will build and run on any POSIX-compliant
|
||||
system with a C99-compliant C compiler, BSD-style sockets, and the OpenSSL
|
||||
cryptography library. To build with multiprocessing support, a
|
||||
C11-compliant C compiler will be needed for standard atomics.
|
||||
|
||||
ISC regularly tests BIND on many operating systems and architectures, but
|
||||
lacks the resources to test all of them. Consequently, ISC is only able to
|
||||
offer support on a "best effort" basis for some.
|
||||
|
||||
### Regularly tested platforms
|
||||
|
||||
As of May 2018, BIND 9.13 is tested on the following systems:
|
||||
|
||||
* Debian 8, 9
|
||||
* Ubuntu 16.04, 18.04
|
||||
* Fedora 27, 28
|
||||
* Red Hat/CentOS 6, 7
|
||||
* FreeBSD 10.x, 11.x
|
||||
* OpenBSD 6.3
|
||||
|
||||
The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
|
||||
|
||||
### Best effort
|
||||
|
||||
The following are platforms on which BIND is known to build and run,
|
||||
but on which it is not routinely tested. ISC makes every effort to fix bugs
|
||||
on these platforms, but may be unable to do so quickly due to lack of
|
||||
hardware, less familiarity on the part of engineering staff, and other
|
||||
constraints.
|
||||
|
||||
* Windows 10 / x64
|
||||
* Windows Server 2012 R2, 2016 / x64
|
||||
* macOS 10.12+
|
||||
* Solaris 10
|
||||
* FreeBSD 12+
|
||||
* OpenBSD 6.2
|
||||
* NetBSD
|
||||
* Older or less popular Linux distributions still supported by their vendors, such as:
|
||||
* Ubuntu 14.04, 18.10+
|
||||
* Gentoo
|
||||
* ArchLinux
|
||||
* Alpine Linux
|
||||
* OpenWRT/LEDE 17.0
|
||||
* Other CPU architectures (mips, mipsel, sparc, ...)
|
||||
|
||||
## Unsupported platforms
|
||||
|
||||
These are platforms on which BIND is known *not* to build or run:
|
||||
|
||||
* Platforms without at least OpenSSL 1.0.2
|
||||
* Windows 10 / x86
|
||||
* Windows Server 2012
|
||||
283
README
283
README
@@ -5,14 +5,13 @@ Contents
|
||||
1. Introduction
|
||||
2. Reporting bugs and getting help
|
||||
3. Contributing to BIND
|
||||
4. BIND 9.13 features
|
||||
4. BIND 9.11 features
|
||||
5. Building BIND
|
||||
6. macOS
|
||||
7. Compile-time options
|
||||
8. Automated testing
|
||||
9. Documentation
|
||||
10. Change log
|
||||
11. Acknowledgments
|
||||
6. Compile-time options
|
||||
7. Automated testing
|
||||
8. Documentation
|
||||
9. Change log
|
||||
10. Acknowledgments
|
||||
|
||||
Introduction
|
||||
|
||||
@@ -31,9 +30,9 @@ administrative tools, including the dig and delv DNS lookup tools,
|
||||
nsupdate for dynamic DNS zone updates, rndc for remote name server
|
||||
administration, and more.
|
||||
|
||||
BIND 9 began as a complete re-write of the BIND architecture that was used
|
||||
in versions 4 and 8. Internet Systems Consortium (https://www.isc.org), a
|
||||
501(c)(3) public benefit corporation dedicated to providing software and
|
||||
BIND 9 is a complete re-write of the BIND architecture that was used in
|
||||
versions 4 and 8. Internet Systems Consortium (https://www.isc.org), a 501
|
||||
(c)(3) public benefit corporation dedicated to providing software and
|
||||
services in support of the Internet infrastructure, developed BIND 9 and
|
||||
is responsible for its ongoing maintenance and improvement. BIND is open
|
||||
source software licenced under the terms of the Mozilla Public License,
|
||||
@@ -48,26 +47,22 @@ the file CHANGES. See below for details on the CHANGES file format.
|
||||
For up-to-date release notes and errata, see http://www.isc.org/software/
|
||||
bind9/releasenotes
|
||||
|
||||
For information about supported platforms, see PLATFORMS.
|
||||
|
||||
Reporting bugs and getting help
|
||||
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the ISC GitLab server at https://
|
||||
gitlab.isc.org/isc-projects/bind9.
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
security-officer@isc.org.
|
||||
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless the
|
||||
issue has been marked as such. In particular, if submitting the contents
|
||||
of your configuration file in a non-confidential Issue, it is advisable to
|
||||
obscure key secrets: this can be done automatically by using
|
||||
General bug reports can be sent to bind9-bugs@isc.org.
|
||||
|
||||
Feature requests can be sent to bind-suggest@isc.org.
|
||||
|
||||
Please note that, while ISC's ticketing system is not currently publicly
|
||||
readable, this may change in the future. Please do not include information
|
||||
in bug reports that you consider to be confidential. For example, when
|
||||
sending the contents of your configuration file, it is advisable to
|
||||
obscure key secrets; this can be done automatically by using
|
||||
named-checkconf -px.
|
||||
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in named, please do NOT use GitLab to
|
||||
report it. Instead, please send mail to security-officer@isc.org.
|
||||
|
||||
Professional support and training for BIND are available from ISC at
|
||||
https://www.isc.org/support.
|
||||
|
||||
@@ -80,64 +75,171 @@ mailman/listinfo/bind-workers.
|
||||
|
||||
Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found at
|
||||
http://www.isc.org/git/.
|
||||
A public git repository for BIND is maintained at http://www.isc.org/git/,
|
||||
and also on Github at https://github.com/isc-projects.
|
||||
|
||||
Information for BIND contributors can be found in the following files: -
|
||||
General information: CONTRIBUTING.md - BIND 9 code style: doc/dev/style.md
|
||||
- BIND architecture and developer guide: doc/dev/dev.md
|
||||
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
|
||||
style.md - BIND architecture and developer guide: doc/dev/dev.md
|
||||
|
||||
Patches for BIND may be submitted as Merge Requests in the ISC GitLab
|
||||
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
|
||||
Patches for BIND may be submitted either as Github pull requests or via
|
||||
email. When submitting a patch via email, please prepend the subject
|
||||
header with "[PATCH]" so it will be easier for us to find. If your patch
|
||||
introduces a new feature in BIND, please submit it to bind-suggest@isc.org
|
||||
; if it fixes a bug, please submit it to bind9-bugs@isc.org.
|
||||
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
BIND 9.11 features
|
||||
|
||||
If you prefer, you may also submit code by opening a GitLab Issue and
|
||||
including your patch as an attachment, preferably generated by git
|
||||
format-patch.
|
||||
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
|
||||
releases. New features include:
|
||||
|
||||
BIND 9.13 features
|
||||
* Added support for Catalog Zones, a new method for provisioning
|
||||
servers: a list of zones to be served is stored in a DNS zone, along
|
||||
with their configuration parameters. Changes to the catalog zone are
|
||||
propagated to slaves via normal AXFR/IXFR, whereupon the zones that
|
||||
are listed in it are automatically added, deleted or reconfigured.
|
||||
* Added support for "dnstap", a fast and flexible method of capturing
|
||||
and logging DNS traffic.
|
||||
* Added support for "dyndb", a new API for loading zone data from an
|
||||
external database, developed by Red Hat for the FreeIPA project.
|
||||
* "fetchlimit" quotas are now compiled in by default. These are for the
|
||||
use of recursive resolvers that are are under high query load for
|
||||
domains whose authoritative servers are nonresponsive or are
|
||||
experiencing a denial of service attack:
|
||||
+ fetches-per-server limits the number of simultaneous queries that
|
||||
can be sent to any single authoritative server. The configured
|
||||
value is a starting point; it is automatically adjusted downward
|
||||
if the server is partially or completely non-responsive. The
|
||||
algorithm used to adjust the quota can be configured via the
|
||||
"fetch-quota-params" option.
|
||||
+ fetches-per-zone limits the number of simultaneous queries that
|
||||
can be sent for names within a single domain. (Note: Unlike
|
||||
fetches-per-server, this value is not self-tuning.)
|
||||
+ New stats counters have been added to count queries spilled due to
|
||||
these quotas.
|
||||
* Added a new dnssec-keymgr key mainenance utility, which can generate
|
||||
or update keys as needed to ensure that a zone's keys match a defined
|
||||
DNSSEC policy.
|
||||
* The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE"
|
||||
and is no longer optional. EDNS COOKIE is a mechanism enabling clients
|
||||
to detect off-path spoofed responses, and servers to detect
|
||||
spoofed-source queries. Clients that identify themselves using COOKIE
|
||||
options are not subject to response rate limiting (RRL) and can
|
||||
receive larger UDP responses.
|
||||
* SERVFAIL responses can now be cached for a limited time (defaulting to
|
||||
1 second, with an upper limit of 30). This can reduce the frequency of
|
||||
retries when a query is persistently failing.
|
||||
* Added an nsip-wait-recurse switch to RPZ. This causes NSIP rules to be
|
||||
skipped if a name server IP address isn't in the cache yet; the
|
||||
address will be looked up and the rule will be applied on future
|
||||
queries.
|
||||
* Added a Python RNDC module. This allows multiple commands to sent over
|
||||
a persistent RNDC channel, which saves time.
|
||||
* The controls block in named.conf can now grant read-only rndc access
|
||||
to specified clients or keys. Read-only clients could, for example,
|
||||
check rndc status but could not reconfigure or shut down the server.
|
||||
* rndc commands can now return arbitrarily large amounts of text to the
|
||||
caller.
|
||||
* The zone serial number of a dynamically updatable zone can now be set
|
||||
via rndc signing -serial <number> <zonename>. This allows
|
||||
inline-signing zones to be set to a specific serial number.
|
||||
* The new rndc nta command can be used to set a Negative Trust Anchor
|
||||
(NTA), disabling DNSSEC validation for a specific domain; this can be
|
||||
used when responses from a domain are known to be failing validation
|
||||
due to administrative error rather than because of a spoofing attack.
|
||||
Negative trust anchors are strictly temporary; by default they expire
|
||||
after one hour, but can be configured to last up to one week.
|
||||
* rndc delzone can now be used on zones that were not originally created
|
||||
by "rndc addzone".
|
||||
* rndc modzone reconfigures a single zone, without requiring the entire
|
||||
server to be reconfigured.
|
||||
* rndc showzone displays the current configuration of a zone.
|
||||
* rndc managed-keys can be used to check the status of RFC 5001 managed
|
||||
trust anchors, or to force trust anchors to be refreshed.
|
||||
* max-cache-size can now be set to a percentage of available memory. The
|
||||
default is 90%.
|
||||
* Update forwarding performance has been improved by allowing a single
|
||||
TCP connection to be shared by multiple updates.
|
||||
* The EDNS Client Subnet (ECS) option is now supported for authoritative
|
||||
servers; if a query contains an ECS option then ACLs containing geoip
|
||||
or ecs elements can match against the the address encoded in the
|
||||
option. This can be used to select a view for a query, so that
|
||||
different answers can be provided depending on the client network.
|
||||
* The EDNS EXPIRE option has been implemented on the client side,
|
||||
allowing a slave server to set the expiration timer correctly when
|
||||
transferring zone data from another slave server.
|
||||
* The key generation and manipulation tools (dnssec-keygen,
|
||||
dnssec-settime, dnssec-importkey, dnssec-keyfromlabel) now take -Psync
|
||||
and -Dsync options to set the publication and deletion times of CDS
|
||||
and CDNSKEY parent-synchronization records. Both named and
|
||||
dnssec-signzone can now publish and remove these records at the
|
||||
scheduled times.
|
||||
* A new minimal-any option reduces the size of UDP responses for query
|
||||
type ANY by returning a single arbitrarily selected RRset instead of
|
||||
all RRsets.
|
||||
* A new masterfile-style zone option controls the formatting of text
|
||||
zone files: When set to full, a zone file is dumped in
|
||||
single-line-per-record format.
|
||||
* serial-update-method can now be set to date. On update, the serial
|
||||
number will be set to the current date in YYYYMMDDNN format.
|
||||
* dnssec-signzone -N date sets the serial number to YYYYMMDDNN.
|
||||
* named -L <filename> causes named to send log messages to the specified
|
||||
file by default instead of to the system log.
|
||||
* dig +ttlunits prints TTL values with time-unit suffixes: w, d, h, m, s
|
||||
for weeks, days, hours, minutes, and seconds.
|
||||
* dig +unknownformat prints dig output in RFC 3597 "unknown record"
|
||||
presentation format.
|
||||
* dig +ednsopt allows dig to set arbitrary EDNS options on requests.
|
||||
* dig +ednsflags allows dig to set yet-to-be-defined EDNS flags on
|
||||
requests.
|
||||
* mdig is an alternate version of dig which sends multiple pipelined TCP
|
||||
queries to a server. Instead of waiting for a response after sending a
|
||||
query, it sends all queries immediately and displays responses in the
|
||||
order received.
|
||||
* serial-query-rate no longer controls NOTIFY messages. These are
|
||||
separately controlled by notify-rate and startup-notify-rate.
|
||||
* nsupdate now performs check-names processing by default on records to
|
||||
be added. This can be disabled with check-names no.
|
||||
* The statistics channel now supports DEFLATE compression, reducing the
|
||||
size of the data sent over the network when querying statistics.
|
||||
* New counters have been added to the statistics channel to track the
|
||||
sizes of incoming queries and outgoing responses in histogram buckets,
|
||||
as specified in RSSAC002.
|
||||
* A new NXDOMAIN redirect method (option nxdomain-redirect) has been
|
||||
added, allowing redirection to a specified DNS namespace instead of a
|
||||
single redirect zone.
|
||||
* When starting up, named now ensures that no other named process is
|
||||
already running.
|
||||
* Files created by named to store information, including mkeys and nzf
|
||||
files, are now named after their corresponding views unless the view
|
||||
name contains characters incompatible with use as a filename. Old
|
||||
style filenames (based on the hash of the view name) will still work.
|
||||
|
||||
BIND 9.13 is the newest development branch of BIND 9. It includes a number
|
||||
of changes from BIND 9.12 and earlier releases. New features include:
|
||||
BIND 9.11.1
|
||||
|
||||
* The default value of "dnssec-validation" is now "auto".
|
||||
* Support for IDNA2008 when linking with libidn2.
|
||||
* "Root key sentinel" support, enabling validating resolvers to indicate
|
||||
via a special query which trust anchors are configured for the root
|
||||
zone.
|
||||
* Secondary zones can now be configured as "mirror" zones; their
|
||||
contents are transferred in as with traditional slave zones, but are
|
||||
subject to DNSSEC validation and are not treated as authoritative data
|
||||
when answering. This makes it easier to configure a local copy of the
|
||||
root zone as described in RFC 7706.
|
||||
BIND 9.11.1 is a maintenance release, and addresses the security flaws
|
||||
disclosed in CVE-2016-6170, CVE-2016-8864, CVE-2016-9131, CVE-2016-9147,
|
||||
CVE-2016-9444, CVE-2016-9778, CVE-2017-3135, CVE-2017-3136, CVE-2017-3137
|
||||
and CVE-2017-3138.
|
||||
|
||||
In addition, cryptographic support has been modernized. BIND now uses the
|
||||
best available pseudo-random number generator for the platform on which
|
||||
it's built. Very old versions of OpenSSL are no longer supported.
|
||||
Cryptography is now mandatory; building BIND without DNSSEC is now longer
|
||||
supported.
|
||||
BIND 9.11.2
|
||||
|
||||
BIND 9.11.2 is a maintenance release, and addresses the security flaws
|
||||
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and
|
||||
CVE-2017-3143. It also addresses several bugs related to the use of an
|
||||
LMDB database to store data related to zones added via rndc addzone or
|
||||
catalog zones.
|
||||
|
||||
Building BIND
|
||||
|
||||
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
|
||||
basic POSIX support, and a 64-bit integer type. Successful builds have
|
||||
been observed on many versions of Linux and UNIX, including RedHat,
|
||||
Fedora, Debian, Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS
|
||||
X, Solaris, HP-UX, AIX, SCO OpenServer, and OpenWRT.
|
||||
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
||||
support, and a 64-bit integer type. Successful builds have been observed
|
||||
on many versions of Linux and UNIX, including RedHat, Fedora, Debian,
|
||||
Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris,
|
||||
HP-UX, AIX, SCO OpenServer, and OpenWRT.
|
||||
|
||||
BIND requires a cryptography provider library such as OpenSSL or a
|
||||
hardware service module supporting PKCS#11. On Linux, BIND requires the
|
||||
libcap library to set process privileges, though this requirement can be
|
||||
overridden by disabling capability support at compile time. See
|
||||
Compile-time options below for details on other libraries that may be
|
||||
required to support optional features.
|
||||
|
||||
BIND is also available for Windows 2008 and higher. See win32utils/
|
||||
readme1st.txt for details on building for Windows systems.
|
||||
BIND is also available for Windows XP, 2003, 2008, and higher. See
|
||||
win32utils/readme1st.txt for details on building for Windows systems.
|
||||
|
||||
To build on a UNIX or Linux system, use:
|
||||
|
||||
@@ -170,14 +272,6 @@ BUILD_CPPFLAGS
|
||||
BUILD_LDFLAGS
|
||||
BUILD_LIBS
|
||||
|
||||
macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/ or
|
||||
if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and
|
||||
other tools so that they can be easily found.
|
||||
|
||||
Compile-time options
|
||||
|
||||
To see a full list of configuration options, run configure --help.
|
||||
@@ -205,10 +299,10 @@ smaller systems.
|
||||
For the server to support DNSSEC, you need to build it with crypto
|
||||
support. To use OpenSSL, you should have OpenSSL 1.0.2e or newer
|
||||
installed. If the OpenSSL library is installed in a nonstandard location,
|
||||
specify the prefix using --with-openssl=<PREFIX> on the configure command
|
||||
specify the prefix using "--with-openssl=/prefix" on the configure command
|
||||
line. To use a PKCS#11 hardware service module for cryptographic
|
||||
operations, specify the path to the PKCS#11 provider library using
|
||||
--with-pkcs11=<PREFIX>, and configure BIND with --enable-native-pkcs11.
|
||||
"--with-pkcs11=/prefix", and configure BIND with "--enable-native-pkcs11".
|
||||
|
||||
To support the HTTP statistics channel, the server must be linked with at
|
||||
least one of the following: libxml2 http://xmlsoft.org or json-c https://
|
||||
@@ -221,28 +315,20 @@ specify the prefix using --with-zlib=/prefix.
|
||||
|
||||
To support storing configuration data for runtime-added zones in an LMDB
|
||||
database, the server must be linked with liblmdb. If this is installed in
|
||||
a nonstandard location, specify the prefix using with-lmdb=/prefix.
|
||||
a nonstandard location, specify the prefix using "with-lmdb=/prefix".
|
||||
|
||||
To support GeoIP location-based ACLs, the server must be linked with
|
||||
libGeoIP. This is not turned on by default; BIND must be configured with
|
||||
--with-geoip. If the library is installed in a nonstandard location,
|
||||
specify the prefix using --with-geoip=/prefix.
|
||||
"--with-geoip". If the library is installed in a nonstandard location, use
|
||||
specify the prefix using "--with-geoip=/prefix".
|
||||
|
||||
For DNSTAP packet logging, you must have installed libfstrm https://
|
||||
github.com/farsightsec/fstrm and libprotobuf-c https://
|
||||
developers.google.com/protocol-buffers, and BIND must be configured with
|
||||
--enable-dnstap.
|
||||
For DNSTAP packet logging, you must have libfstrm https://github.com/
|
||||
farsightsec/fstrm and libprotobuf-c https://developers.google.com/
|
||||
protocol-buffers, and BIND must be configured with "--enable-dnstap".
|
||||
|
||||
On Linux, process capabilities are managed in user space using the libcap
|
||||
library, which can be installed on most Linux systems via the libcap-dev
|
||||
or libcap-devel module. Process capability support can also be disabled by
|
||||
configuring with --disable-linux-caps.
|
||||
|
||||
Portions of BIND that are written in Python, including dnssec-keymgr,
|
||||
dnssec-coverage, dnssec-checkds, and some of the system tests, require the
|
||||
'argparse' and 'ply' modules to be available. 'argparse' is a standard
|
||||
module as of Python 2.7 and Python 3.2. 'ply' is available from https://
|
||||
pypi.python.org/pypi/ply.
|
||||
Python requires the 'argparse' and 'ply' modules to be available.
|
||||
'argparse' is a standard module as of Python 2.7 and Python 3.2. 'ply' is
|
||||
available from https://pypi.python.org/pypi/ply.
|
||||
|
||||
On some platforms it is necessary to explicitly request large file support
|
||||
to handle files bigger than 2GB. This can be done by using
|
||||
@@ -274,7 +360,7 @@ Automated testing
|
||||
A system test suite can be run with make test. The system tests require
|
||||
you to configure a set of virtual IP addresses on your system (this allows
|
||||
multiple servers to run locally and communicate with one another). These
|
||||
IP addresses can be configured by running the command bin/tests/system/
|
||||
IP addresses can be configured by by running the script bin/tests/system/
|
||||
ifconfig.sh up as root.
|
||||
|
||||
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
|
||||
@@ -359,3 +445,4 @@ Acknowledgments
|
||||
(eay@cryptsoft.com)
|
||||
* This product includes software written by Tim Hudson
|
||||
(tjh@cryptsoft.com)
|
||||
|
||||
|
||||
279
README.md
279
README.md
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
# BIND 9
|
||||
|
||||
@@ -15,9 +12,8 @@
|
||||
1. [Introduction](#intro)
|
||||
1. [Reporting bugs and getting help](#help)
|
||||
1. [Contributing to BIND](#contrib)
|
||||
1. [BIND 9.13 features](#features)
|
||||
1. [BIND 9.11 features](#features)
|
||||
1. [Building BIND](#build)
|
||||
1. [macOS](#macos)
|
||||
1. [Compile-time options](#opts)
|
||||
1. [Automated testing](#testing)
|
||||
1. [Documentation](#doc)
|
||||
@@ -41,8 +37,8 @@ administrative tools, including the `dig` and `delv` DNS lookup tools,
|
||||
`nsupdate` for dynamic DNS zone updates, `rndc` for remote name server
|
||||
administration, and more.
|
||||
|
||||
BIND 9 began as a complete re-write of the BIND architecture that was
|
||||
used in versions 4 and 8. Internet Systems Consortium
|
||||
BIND 9 is a complete re-write of the BIND architecture that was used in
|
||||
versions 4 and 8. Internet Systems Consortium
|
||||
([https://www.isc.org](https://www.isc.org)), a 501(c)(3) public benefit
|
||||
corporation dedicated to providing software and services in support of the
|
||||
Internet infrastructure, developed BIND 9 and is responsible for its
|
||||
@@ -59,28 +55,24 @@ CHANGES file format.
|
||||
For up-to-date release notes and errata, see
|
||||
[http://www.isc.org/software/bind9/releasenotes](http://www.isc.org/software/bind9/releasenotes)
|
||||
|
||||
For information about supported platforms, see [PLATFORMS](PLATFORMS.md).
|
||||
|
||||
### <a name="help"/> Reporting bugs and getting help
|
||||
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the
|
||||
[ISC GitLab server](https://gitlab.isc.org) at
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9).
|
||||
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless
|
||||
the issue has been marked as such. In particular, if submitting the
|
||||
contents of your configuration file in a non-confidential Issue, it is
|
||||
advisable to obscure key secrets: this can be done automatically by
|
||||
using `named-checkconf -px`.
|
||||
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in `named`, please do *NOT* use GitLab to
|
||||
report it. Instead, please send mail to
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
[security-officer@isc.org](mailto:security-officer@isc.org).
|
||||
|
||||
General bug reports can be sent to
|
||||
[bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
|
||||
Feature requests can be sent to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org).
|
||||
|
||||
Please note that, while ISC's ticketing system is not currently publicly
|
||||
readable, this may change in the future. Please do not include information
|
||||
in bug reports that you consider to be confidential. For example, when
|
||||
sending the contents of your configuration file, it is advisable to obscure
|
||||
key secrets; this can be done automatically by using `named-checkconf
|
||||
-px`.
|
||||
|
||||
Professional support and training for BIND are available from
|
||||
ISC at [https://www.isc.org/support](https://www.isc.org/support).
|
||||
|
||||
@@ -93,69 +85,172 @@ may also want to join the __BIND Workers__ mailing list, at
|
||||
|
||||
### <a name="contrib"/> Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found
|
||||
at [http://www.isc.org/git/](http://www.isc.org/git/).
|
||||
A public git repository for BIND is maintained at
|
||||
[http://www.isc.org/git/](http://www.isc.org/git/), and also on Github
|
||||
at [https://github.com/isc-projects](https://github.com/isc-projects).
|
||||
|
||||
Information for BIND contributors can be found in the following files:
|
||||
- General information: [CONTRIBUTING.md](CONTRIBUTING)
|
||||
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
|
||||
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
|
||||
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
|
||||
|
||||
Patches for BIND may be submitted as
|
||||
[Merge Requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
|
||||
in the [ISC GitLab server](https://gitlab.isc.org) at
|
||||
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
|
||||
Patches for BIND may be submitted either as Github pull requests
|
||||
or via email. When submitting a patch via email, please prepend the
|
||||
subject header with "`[PATCH]`" so it will be easier for us to find.
|
||||
If your patch introduces a new feature in BIND, please submit it to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org); if it fixes a bug,
|
||||
please submit it to [bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
### <a name="features"/> BIND 9.11 features
|
||||
|
||||
If you prefer, you may also submit code by opening a
|
||||
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
|
||||
including your patch as an attachment, preferably generated by
|
||||
`git format-patch`.
|
||||
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
|
||||
releases. New features include:
|
||||
|
||||
### <a name="features"/> BIND 9.13 features
|
||||
* Added support for Catalog Zones, a new method for provisioning servers: a
|
||||
list of zones to be served is stored in a DNS zone, along with their
|
||||
configuration parameters. Changes to the catalog zone are propagated to
|
||||
slaves via normal AXFR/IXFR, whereupon the zones that are listed in it
|
||||
are automatically added, deleted or reconfigured.
|
||||
* Added support for "dnstap", a fast and flexible method of capturing and
|
||||
logging DNS traffic.
|
||||
* Added support for "dyndb", a new API for loading zone data from an
|
||||
external database, developed by Red Hat for the FreeIPA project.
|
||||
* "fetchlimit" quotas are now compiled in by default. These are for the
|
||||
use of recursive resolvers that are are under high query load for domains
|
||||
whose authoritative servers are nonresponsive or are experiencing a
|
||||
denial of service attack:
|
||||
* `fetches-per-server` limits the number of simultaneous queries that
|
||||
can be sent to any single authoritative server. The configured value
|
||||
is a starting point; it is automatically adjusted downward if the
|
||||
server is partially or completely non-responsive. The algorithm used
|
||||
to adjust the quota can be configured via the "fetch-quota-params"
|
||||
option.
|
||||
* `fetches-per-zone` limits the number of simultaneous queries that can
|
||||
be sent for names within a single domain. (Note: Unlike
|
||||
`fetches-per-server`, this value is not self-tuning.)
|
||||
* New stats counters have been added to count queries spilled due to
|
||||
these quotas.
|
||||
* Added a new `dnssec-keymgr` key mainenance utility, which can generate or
|
||||
update keys as needed to ensure that a zone's keys match a defined DNSSEC
|
||||
policy.
|
||||
* The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE" and
|
||||
is no longer optional. EDNS COOKIE is a mechanism enabling clients to
|
||||
detect off-path spoofed responses, and servers to detect spoofed-source
|
||||
queries. Clients that identify themselves using COOKIE options are not
|
||||
subject to response rate limiting (RRL) and can receive larger UDP
|
||||
responses.
|
||||
* SERVFAIL responses can now be cached for a limited time (defaulting to 1
|
||||
second, with an upper limit of 30). This can reduce the frequency of
|
||||
retries when a query is persistently failing.
|
||||
* Added an `nsip-wait-recurse` switch to RPZ. This causes NSIP rules to be
|
||||
skipped if a name server IP address isn't in the cache yet; the address
|
||||
will be looked up and the rule will be applied on future queries.
|
||||
* Added a Python RNDC module. This allows multiple commands to sent over a
|
||||
persistent RNDC channel, which saves time.
|
||||
* The `controls` block in named.conf can now grant read-only `rndc` access
|
||||
to specified clients or keys. Read-only clients could, for example, check
|
||||
`rndc status` but could not reconfigure or shut down the server.
|
||||
* `rndc` commands can now return arbitrarily large amounts of text to the
|
||||
caller.
|
||||
* The zone serial number of a dynamically updatable zone can now be set via
|
||||
`rndc signing -serial <number> <zonename>`. This allows inline-signing
|
||||
zones to be set to a specific serial number.
|
||||
* The new `rndc nta` command can be used to set a Negative Trust Anchor
|
||||
(NTA), disabling DNSSEC validation for a specific domain; this can be
|
||||
used when responses from a domain are known to be failing validation due
|
||||
to administrative error rather than because of a spoofing attack.
|
||||
Negative trust anchors are strictly temporary; by default they expire
|
||||
after one hour, but can be configured to last up to one week.
|
||||
* `rndc delzone` can now be used on zones that were not originally created
|
||||
by "rndc addzone".
|
||||
* `rndc modzone` reconfigures a single zone, without requiring the entire
|
||||
server to be reconfigured.
|
||||
* `rndc showzone` displays the current configuration of a zone.
|
||||
* `rndc managed-keys` can be used to check the status of RFC 5001 managed
|
||||
trust anchors, or to force trust anchors to be refreshed.
|
||||
* `max-cache-size` can now be set to a percentage of available memory. The
|
||||
default is 90%.
|
||||
* Update forwarding performance has been improved by allowing a single TCP
|
||||
connection to be shared by multiple updates.
|
||||
* The EDNS Client Subnet (ECS) option is now supported for authoritative
|
||||
servers; if a query contains an ECS option then ACLs containing `geoip`
|
||||
or `ecs` elements can match against the the address encoded in the
|
||||
option. This can be used to select a view for a query, so that different
|
||||
answers can be provided depending on the client network.
|
||||
* The EDNS EXPIRE option has been implemented on the client side, allowing
|
||||
a slave server to set the expiration timer correctly when transferring
|
||||
zone data from another slave server.
|
||||
* The key generation and manipulation tools (`dnssec-keygen`,
|
||||
`dnssec-settime`, `dnssec-importkey`, `dnssec-keyfromlabel`) now take
|
||||
`-Psync` and `-Dsync` options to set the publication and deletion times
|
||||
of CDS and CDNSKEY parent-synchronization records. Both `named` and
|
||||
`dnssec-signzone` can now publish and remove these records at the
|
||||
scheduled times.
|
||||
* A new `minimal-any` option reduces the size of UDP responses for query
|
||||
type ANY by returning a single arbitrarily selected RRset instead of all
|
||||
RRsets.
|
||||
* A new `masterfile-style` zone option controls the formatting of text zone
|
||||
files: When set to `full`, a zone file is dumped in
|
||||
single-line-per-record format.
|
||||
* `serial-update-method` can now be set to `date`. On update, the serial
|
||||
number will be set to the current date in YYYYMMDDNN format.
|
||||
* `dnssec-signzone -N date` sets the serial number to YYYYMMDDNN.
|
||||
* `named -L <filename>` causes named to send log messages to the specified
|
||||
file by default instead of to the system log.
|
||||
* `dig +ttlunits` prints TTL values with time-unit suffixes: w, d, h, m, s
|
||||
for weeks, days, hours, minutes, and seconds.
|
||||
* `dig +unknownformat` prints dig output in RFC 3597 "unknown record"
|
||||
presentation format.
|
||||
* `dig +ednsopt` allows dig to set arbitrary EDNS options on requests.
|
||||
* `dig +ednsflags` allows dig to set yet-to-be-defined EDNS flags on
|
||||
requests.
|
||||
* `mdig` is an alternate version of dig which sends multiple pipelined TCP
|
||||
queries to a server. Instead of waiting for a response after sending a
|
||||
query, it sends all queries immediately and displays responses in the
|
||||
order received.
|
||||
* `serial-query-rate` no longer controls NOTIFY messages. These are
|
||||
separately controlled by `notify-rate` and `startup-notify-rate`.
|
||||
* `nsupdate` now performs `check-names` processing by default on records to
|
||||
be added. This can be disabled with `check-names no`.
|
||||
* The statistics channel now supports DEFLATE compression, reducing the
|
||||
size of the data sent over the network when querying statistics.
|
||||
* New counters have been added to the statistics channel to track the sizes
|
||||
of incoming queries and outgoing responses in histogram buckets, as
|
||||
specified in RSSAC002.
|
||||
* A new NXDOMAIN redirect method (option `nxdomain-redirect`) has been
|
||||
added, allowing redirection to a specified DNS namespace instead of a
|
||||
single redirect zone.
|
||||
* When starting up, named now ensures that no other named process is
|
||||
already running.
|
||||
* Files created by named to store information, including `mkeys` and `nzf`
|
||||
files, are now named after their corresponding views unless the view name
|
||||
contains characters incompatible with use as a filename. Old style
|
||||
filenames (based on the hash of the view name) will still work.
|
||||
|
||||
BIND 9.13 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.12 and earlier releases. New features
|
||||
include:
|
||||
#### BIND 9.11.1
|
||||
|
||||
BIND 9.11.1 is a maintenance release, and addresses the security
|
||||
flaws disclosed in CVE-2016-6170, CVE-2016-8864, CVE-2016-9131,
|
||||
CVE-2016-9147, CVE-2016-9444, CVE-2016-9778, CVE-2017-3135,
|
||||
CVE-2017-3136, CVE-2017-3137 and CVE-2017-3138.
|
||||
|
||||
* The default value of "dnssec-validation" is now "auto".
|
||||
* Support for IDNA2008 when linking with `libidn2`.
|
||||
* "Root key sentinel" support, enabling validating resolvers to indicate
|
||||
via a special query which trust anchors are configured for the root zone.
|
||||
* Secondary zones can now be configured as "mirror" zones; their contents
|
||||
are transferred in as with traditional slave zones, but are subject to
|
||||
DNSSEC validation and are not treated as authoritative data when
|
||||
answering. This makes it easier to configure a local copy of the root
|
||||
zone as described in RFC 7706.
|
||||
#### BIND 9.11.2
|
||||
|
||||
In addition, cryptographic support has been modernized. BIND now uses the
|
||||
best available pseudo-random number generator for the platform on which
|
||||
it's built. Very old versions of OpenSSL are no longer supported.
|
||||
Cryptography is now mandatory; building BIND without DNSSEC is now
|
||||
longer supported.
|
||||
BIND 9.11.2 is a maintenance release, and addresses the security flaws
|
||||
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and CVE-2017-3143.
|
||||
It also addresses several bugs related to the use of an LMDB database to
|
||||
store data related to zones added via `rndc addzone` or catalog zones.
|
||||
|
||||
### <a name="build"/> Building BIND
|
||||
|
||||
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
|
||||
basic POSIX support, and a 64-bit integer type. Successful builds have been
|
||||
observed on many versions of Linux and UNIX, including RedHat, Fedora,
|
||||
Debian, Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X,
|
||||
Solaris, HP-UX, AIX, SCO OpenServer, and OpenWRT.
|
||||
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
||||
support, and a 64-bit integer type. Successful builds have been observed on
|
||||
many versions of Linux and UNIX, including RedHat, Fedora, Debian, Ubuntu,
|
||||
SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, HP-UX, AIX,
|
||||
SCO OpenServer, and OpenWRT.
|
||||
|
||||
BIND requires a cryptography provider library such as OpenSSL or a
|
||||
hardware service module supporting PKCS#11. On Linux, BIND requires
|
||||
the `libcap` library to set process privileges, though this requirement
|
||||
can be overridden by disabling capability support at compile time.
|
||||
See [Compile-time options](#opts) below for details on other libraries
|
||||
that may be required to support optional features.
|
||||
|
||||
BIND is also available for Windows 2008 and higher. See
|
||||
`win32utils/readme1st.txt` for details on building for Windows
|
||||
systems.
|
||||
BIND is also available for Windows XP, 2003, 2008, and higher. See
|
||||
`win32utils/readme1st.txt` for details on building for Windows systems.
|
||||
|
||||
To build on a UNIX or Linux system, use:
|
||||
|
||||
@@ -181,15 +276,6 @@ affect compilation:
|
||||
|`BUILD_LDFLAGS`||
|
||||
|`BUILD_LIBS`||
|
||||
|
||||
#### <a name="macos"> macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/
|
||||
or if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and other
|
||||
tools so that they can be easily found.
|
||||
|
||||
|
||||
#### <a name="opts"/> Compile-time options
|
||||
|
||||
To see a full list of configuration options, run `configure --help`.
|
||||
@@ -217,10 +303,10 @@ performance on smaller systems.
|
||||
For the server to support DNSSEC, you need to build it with crypto support.
|
||||
To use OpenSSL, you should have OpenSSL 1.0.2e or newer installed. If the
|
||||
OpenSSL library is installed in a nonstandard location, specify the prefix
|
||||
using `--with-openssl=<PREFIX>` on the configure command line. To use a
|
||||
using "--with-openssl=/prefix" on the configure command line. To use a
|
||||
PKCS#11 hardware service module for cryptographic operations, specify the
|
||||
path to the PKCS#11 provider library using `--with-pkcs11=<PREFIX>`, and
|
||||
configure BIND with `--enable-native-pkcs11`.
|
||||
path to the PKCS#11 provider library using "--with-pkcs11=/prefix", and
|
||||
configure BIND with "--enable-native-pkcs11".
|
||||
|
||||
To support the HTTP statistics channel, the server must be linked with at
|
||||
least one of the following: libxml2
|
||||
@@ -235,27 +321,20 @@ specify the prefix using `--with-zlib=/prefix`.
|
||||
|
||||
To support storing configuration data for runtime-added zones in an LMDB
|
||||
database, the server must be linked with liblmdb. If this is installed in a
|
||||
nonstandard location, specify the prefix using `with-lmdb=/prefix`.
|
||||
nonstandard location, specify the prefix using "with-lmdb=/prefix".
|
||||
|
||||
To support GeoIP location-based ACLs, the server must be linked with
|
||||
libGeoIP. This is not turned on by default; BIND must be configured with
|
||||
`--with-geoip`. If the library is installed in a nonstandard location,
|
||||
specify the prefix using `--with-geoip=/prefix`.
|
||||
"--with-geoip". If the library is installed in a nonstandard location, use
|
||||
specify the prefix using "--with-geoip=/prefix".
|
||||
|
||||
For DNSTAP packet logging, you must have installed libfstrm
|
||||
For DNSTAP packet logging, you must have libfstrm
|
||||
[https://github.com/farsightsec/fstrm](https://github.com/farsightsec/fstrm)
|
||||
and libprotobuf-c
|
||||
[https://developers.google.com/protocol-buffers](https://developers.google.com/protocol-buffers),
|
||||
and BIND must be configured with `--enable-dnstap`.
|
||||
and BIND must be configured with "--enable-dnstap".
|
||||
|
||||
On Linux, process capabilities are managed in user space using
|
||||
the `libcap` library, which can be installed on most Linux systems via
|
||||
the `libcap-dev` or `libcap-devel` module. Process capability support can
|
||||
also be disabled by configuring with `--disable-linux-caps`.
|
||||
|
||||
Portions of BIND that are written in Python, including
|
||||
`dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the
|
||||
system tests, require the 'argparse' and 'ply' modules to be available.
|
||||
Python requires the 'argparse' and 'ply' modules to be available.
|
||||
'argparse' is a standard module as of Python 2.7 and Python 3.2.
|
||||
'ply' is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply).
|
||||
|
||||
@@ -289,7 +368,7 @@ localstatedir defaults to `$prefix/var`.
|
||||
A system test suite can be run with `make test`. The system tests require
|
||||
you to configure a set of virtual IP addresses on your system (this allows
|
||||
multiple servers to run locally and communicate with one another). These
|
||||
IP addresses can be configured by running the command
|
||||
IP addresses can be configured by by running the script
|
||||
`bin/tests/system/ifconfig.sh up` as root.
|
||||
|
||||
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
|
||||
|
||||
13
acconfig.h
13
acconfig.h
@@ -1,14 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2005, 2007, 2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/***
|
||||
@@ -121,6 +120,12 @@ int sigwait(const unsigned int *set, int *sig);
|
||||
/** define if you have strerror in the C library. */
|
||||
#undef HAVE_STRERROR
|
||||
|
||||
/* Define if OpenSSL includes DSA support */
|
||||
#undef HAVE_OPENSSL_DSA
|
||||
|
||||
/* Define if you have getpassphrase in the C library. */
|
||||
#undef HAVE_GETPASSPHRASE
|
||||
|
||||
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
|
||||
#undef ISC_SOCKADDR_LEN_T
|
||||
|
||||
|
||||
309
aclocal.m4
vendored
309
aclocal.m4
vendored
@@ -1,296 +1,17 @@
|
||||
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
||||
sinclude(libtool.m4/libtool.m4)dnl
|
||||
sinclude(libtool.m4/ltoptions.m4)dnl
|
||||
sinclude(libtool.m4/ltsugar.m4)dnl
|
||||
sinclude(libtool.m4/ltversion.m4)dnl
|
||||
sinclude(libtool.m4/lt~obsolete.m4)dnl
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
m4_divert_text(HELP_CANON, [[
|
||||
NOTE: If PREFIX is not set, then the default values for --sysconfdir
|
||||
and --localstatedir are /etc and /var, respectively.]])
|
||||
m4_divert_text(HELP_END, [[
|
||||
Professional support for BIND is provided by Internet Systems Consortium,
|
||||
Inc. Information about paid support and training options is available at
|
||||
https://www.isc.org/support.
|
||||
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
||||
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
dnl serial 11 (pkg-config-0.29.1)
|
||||
dnl
|
||||
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation; either version 2 of the License, or
|
||||
dnl (at your option) any later version.
|
||||
dnl
|
||||
dnl This program is distributed in the hope that it will be useful, but
|
||||
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with this program; if not, write to the Free Software
|
||||
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
dnl 02111-1307, USA.
|
||||
dnl
|
||||
dnl As a special exception to the GNU General Public License, if you
|
||||
dnl distribute this file as part of a program that contains a
|
||||
dnl configuration script generated by Autoconf, you may include it under
|
||||
dnl the same distribution terms that you use for the rest of that
|
||||
dnl program.
|
||||
|
||||
dnl PKG_PREREQ(MIN-VERSION)
|
||||
dnl -----------------------
|
||||
dnl Since: 0.29
|
||||
dnl
|
||||
dnl Verify that the version of the pkg-config macros are at least
|
||||
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
|
||||
dnl installed version of pkg-config, this checks the developer's version
|
||||
dnl of pkg.m4 when generating configure.
|
||||
dnl
|
||||
dnl To ensure that this macro is defined, also add:
|
||||
dnl m4_ifndef([PKG_PREREQ],
|
||||
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
|
||||
dnl
|
||||
dnl See the "Since" comment for each macro you use to see what version
|
||||
dnl of the macros you require.
|
||||
m4_defun([PKG_PREREQ],
|
||||
[m4_define([PKG_MACROS_VERSION], [0.29.1])
|
||||
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
|
||||
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
|
||||
])dnl PKG_PREREQ
|
||||
|
||||
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||
dnl ----------------------------------
|
||||
dnl Since: 0.16
|
||||
dnl
|
||||
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
|
||||
dnl first found in the path. Checks that the version of pkg-config found
|
||||
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
|
||||
dnl used since that's the first version where most current features of
|
||||
dnl pkg-config existed.
|
||||
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
|
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
|
||||
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
|
||||
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
|
||||
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=m4_default([$1], [0.9.0])
|
||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
fi[]dnl
|
||||
])dnl PKG_PROG_PKG_CONFIG
|
||||
|
||||
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
dnl -------------------------------------------------------------------
|
||||
dnl Since: 0.18
|
||||
dnl
|
||||
dnl Check to see whether a particular set of modules exists. Similar to
|
||||
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
dnl
|
||||
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
dnl only at the first occurence in configure.ac, so if the first place
|
||||
dnl it's called might be skipped (such as if it is within an "if", you
|
||||
dnl have to call PKG_CHECK_EXISTS manually
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
m4_default([$2], [:])
|
||||
m4_ifvaln([$3], [else
|
||||
$3])dnl
|
||||
fi])
|
||||
|
||||
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
dnl ---------------------------------------------
|
||||
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
|
||||
dnl pkg_failed based on the result.
|
||||
m4_define([_PKG_CONFIG],
|
||||
[if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes ],
|
||||
[pkg_failed=yes])
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi[]dnl
|
||||
])dnl _PKG_CONFIG
|
||||
|
||||
dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
dnl ---------------------------
|
||||
dnl Internal check to see if pkg-config supports short errors.
|
||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi[]dnl
|
||||
])dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
|
||||
|
||||
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
dnl [ACTION-IF-NOT-FOUND])
|
||||
dnl --------------------------------------------------------------
|
||||
dnl Since: 0.4.0
|
||||
dnl
|
||||
dnl Note that if there is a possibility the first call to
|
||||
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||
AC_DEFUN([PKG_CHECK_MODULES],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||
|
||||
pkg_failed=no
|
||||
AC_MSG_CHECKING([for $1])
|
||||
|
||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||
|
||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||
and $1[]_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.])
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
AC_MSG_RESULT([no])
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||
else
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
m4_default([$4], [AC_MSG_ERROR(
|
||||
[Package requirements ($2) were not met:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
_PKG_TEXT])[]dnl
|
||||
])
|
||||
elif test $pkg_failed = untried; then
|
||||
AC_MSG_RESULT([no])
|
||||
m4_default([$4], [AC_MSG_FAILURE(
|
||||
[The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
|
||||
])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
$3
|
||||
fi[]dnl
|
||||
])dnl PKG_CHECK_MODULES
|
||||
|
||||
|
||||
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
dnl [ACTION-IF-NOT-FOUND])
|
||||
dnl ---------------------------------------------------------------------
|
||||
dnl Since: 0.29
|
||||
dnl
|
||||
dnl Checks for existence of MODULES and gathers its build flags with
|
||||
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
|
||||
dnl and VARIABLE-PREFIX_LIBS from --libs.
|
||||
dnl
|
||||
dnl Note that if there is a possibility the first call to
|
||||
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
|
||||
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
|
||||
dnl configure.ac.
|
||||
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
_save_PKG_CONFIG=$PKG_CONFIG
|
||||
PKG_CONFIG="$PKG_CONFIG --static"
|
||||
PKG_CHECK_MODULES($@)
|
||||
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
|
||||
])dnl PKG_CHECK_MODULES_STATIC
|
||||
|
||||
|
||||
dnl PKG_INSTALLDIR([DIRECTORY])
|
||||
dnl -------------------------
|
||||
dnl Since: 0.27
|
||||
dnl
|
||||
dnl Substitutes the variable pkgconfigdir as the location where a module
|
||||
dnl should install pkg-config .pc files. By default the directory is
|
||||
dnl $libdir/pkgconfig, but the default can be changed by passing
|
||||
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
|
||||
dnl parameter.
|
||||
AC_DEFUN([PKG_INSTALLDIR],
|
||||
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
|
||||
m4_pushdef([pkg_description],
|
||||
[pkg-config installation directory @<:@]pkg_default[@:>@])
|
||||
AC_ARG_WITH([pkgconfigdir],
|
||||
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
|
||||
[with_pkgconfigdir=]pkg_default)
|
||||
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
|
||||
m4_popdef([pkg_default])
|
||||
m4_popdef([pkg_description])
|
||||
])dnl PKG_INSTALLDIR
|
||||
|
||||
|
||||
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
|
||||
dnl --------------------------------
|
||||
dnl Since: 0.27
|
||||
dnl
|
||||
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
|
||||
dnl module should install arch-independent pkg-config .pc files. By
|
||||
dnl default the directory is $datadir/pkgconfig, but the default can be
|
||||
dnl changed by passing DIRECTORY. The user can override through the
|
||||
dnl --with-noarch-pkgconfigdir parameter.
|
||||
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
|
||||
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
|
||||
m4_pushdef([pkg_description],
|
||||
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
|
||||
AC_ARG_WITH([noarch-pkgconfigdir],
|
||||
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
|
||||
[with_noarch_pkgconfigdir=]pkg_default)
|
||||
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
|
||||
m4_popdef([pkg_default])
|
||||
m4_popdef([pkg_description])
|
||||
])dnl PKG_NOARCH_INSTALLDIR
|
||||
|
||||
|
||||
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
|
||||
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
dnl -------------------------------------------
|
||||
dnl Since: 0.28
|
||||
dnl
|
||||
dnl Retrieves the value of the pkg-config variable for the given module.
|
||||
AC_DEFUN([PKG_CHECK_VAR],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
|
||||
|
||||
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
|
||||
AS_VAR_COPY([$1], [pkg_cv_][$1])
|
||||
|
||||
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||
])dnl PKG_CHECK_VAR
|
||||
|
||||
m4_include([m4/ax_check_openssl.m4])
|
||||
m4_include([m4/libtool.m4])
|
||||
m4_include([m4/ltoptions.m4])
|
||||
m4_include([m4/ltsugar.m4])
|
||||
m4_include([m4/ltversion.m4])
|
||||
m4_include([m4/lt~obsolete.m4])
|
||||
Help can also often be found on the BIND Users mailing list
|
||||
(https://lists.isc.org/mailman/listinfo/bind-users) or in the #bind
|
||||
channel of the Freenode IRC service.]])
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# Run this script after modifying configure.in to generate configure
|
||||
autoreconf -f -i
|
||||
autoreconf -i
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 1998-2001, 2004, 2007, 2009, 2012-2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# $Id: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen \
|
||||
@NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
|
||||
SUBDIRS = named rndc dig delv dnssec tools tests nsupdate \
|
||||
check confgen @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2007, 2009, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# $Id: Makefile.in,v 1.36 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -15,24 +14,22 @@ VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
CINCLUDES = ${NS_INCLUDES} ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
|
||||
${ISC_INCLUDES} @OPENSSL_INCLUDES@
|
||||
CINCLUDES = ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
|
||||
${ISC_INCLUDES} @DST_OPENSSL_INC@
|
||||
|
||||
CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
|
||||
CDEFINES = @CRYPTO@ -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
|
||||
CWARNINGS =
|
||||
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
NSLIBS = ../../lib/ns/libns.@A@
|
||||
|
||||
DNSDEPLIBS = ../../lib/dns/libdns.@A@
|
||||
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
|
||||
NSDEPENDLIBS = ../../lib/ns/libns.@A@
|
||||
|
||||
LIBS = ${ISCLIBS} @LIBS@
|
||||
NOSYMLIBS = ${ISCNOSYMLIBS} @LIBS@
|
||||
@@ -64,15 +61,14 @@ named-checkzone.@O@: named-checkzone.c
|
||||
-c ${srcdir}/named-checkzone.c
|
||||
|
||||
named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
|
||||
${NSDEPENDLIBS} ${DNSDEPLIBS} ${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
|
||||
${DNSDEPLIBS} ${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
|
||||
export BASEOBJS="named-checkconf.@O@ check-tool.@O@"; \
|
||||
export LIBS0="${NSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
export LIBS0="${BIND9LIBS} ${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} \
|
||||
${NSDEPENDLIBS} ${DNSDEPLIBS}
|
||||
named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
|
||||
export BASEOBJS="named-checkzone.@O@ check-tool.@O@"; \
|
||||
export LIBS0="${NSLIBS} ${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
export LIBS0="${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
@@ -1,22 +1,18 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2002, 2004-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.c,v 1.44 2011/12/22 07:32:39 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <Winsock2.h>
|
||||
@@ -52,8 +48,6 @@
|
||||
|
||||
#include <isccfg/log.h>
|
||||
|
||||
#include <ns/log.h>
|
||||
|
||||
#ifndef CHECK_SIBLING
|
||||
#define CHECK_SIBLING 1
|
||||
#endif
|
||||
@@ -90,34 +84,41 @@ static const char *dbtype[] = { "rbt" };
|
||||
|
||||
int debug = 0;
|
||||
const char *journal = NULL;
|
||||
bool nomerge = true;
|
||||
isc_boolean_t nomerge = ISC_TRUE;
|
||||
#if CHECK_LOCAL
|
||||
bool docheckmx = true;
|
||||
bool dochecksrv = true;
|
||||
bool docheckns = true;
|
||||
isc_boolean_t docheckmx = ISC_TRUE;
|
||||
isc_boolean_t dochecksrv = ISC_TRUE;
|
||||
isc_boolean_t docheckns = ISC_TRUE;
|
||||
#else
|
||||
bool docheckmx = false;
|
||||
bool dochecksrv = false;
|
||||
bool docheckns = false;
|
||||
isc_boolean_t docheckmx = ISC_FALSE;
|
||||
isc_boolean_t dochecksrv = ISC_FALSE;
|
||||
isc_boolean_t docheckns = ISC_FALSE;
|
||||
#endif
|
||||
dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS |
|
||||
DNS_ZONEOPT_CHECKMX |
|
||||
DNS_ZONEOPT_MANYERRORS |
|
||||
DNS_ZONEOPT_CHECKNAMES |
|
||||
DNS_ZONEOPT_CHECKINTEGRITY |
|
||||
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 |
|
||||
DNS_ZONEOPT_CHECKSIBLING |
|
||||
#endif
|
||||
DNS_ZONEOPT_CHECKWILDCARD |
|
||||
DNS_ZONEOPT_WARNMXCNAME |
|
||||
DNS_ZONEOPT_WARNSRVCNAME;
|
||||
DNS_ZONEOPT_CHECKWILDCARD |
|
||||
DNS_ZONEOPT_WARNMXCNAME |
|
||||
DNS_ZONEOPT_WARNSRVCNAME;
|
||||
unsigned int zone_options2 = 0;
|
||||
|
||||
/*
|
||||
* This needs to match the list in bin/named/log.c.
|
||||
*/
|
||||
static isc_logcategory_t categories[] = {
|
||||
{ "", 0 },
|
||||
{ "client", 0 },
|
||||
{ "network", 0 },
|
||||
{ "update", 0 },
|
||||
{ "queries", 0 },
|
||||
{ "unmatched", 0 },
|
||||
{ "update-security", 0 },
|
||||
{ "query-errors", 0 },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
@@ -144,7 +145,7 @@ add(char *key, int value) {
|
||||
|
||||
if (symtab == NULL) {
|
||||
result = isc_symtab_create(sym_mctx, 100, freekey, sym_mctx,
|
||||
false, &symtab);
|
||||
ISC_FALSE, &symtab);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return;
|
||||
}
|
||||
@@ -160,21 +161,21 @@ add(char *key, int value) {
|
||||
isc_mem_free(sym_mctx, key);
|
||||
}
|
||||
|
||||
static bool
|
||||
static isc_boolean_t
|
||||
logged(char *key, int value) {
|
||||
isc_result_t result;
|
||||
|
||||
if (symtab == NULL)
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
|
||||
result = isc_symtab_lookup(symtab, key, value, NULL);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return (true);
|
||||
return (false);
|
||||
return (ISC_TRUE);
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
static bool
|
||||
checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
static isc_boolean_t
|
||||
checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
|
||||
dns_rdataset_t *a, dns_rdataset_t *aaaa)
|
||||
{
|
||||
#ifdef USE_GETADDRINFO
|
||||
@@ -184,8 +185,8 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
char namebuf[DNS_NAME_FORMATSIZE + 1];
|
||||
char ownerbuf[DNS_NAME_FORMATSIZE];
|
||||
char addrbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")];
|
||||
bool answer = true;
|
||||
bool match;
|
||||
isc_boolean_t answer = ISC_TRUE;
|
||||
isc_boolean_t match;
|
||||
const char *type;
|
||||
void *ptr = NULL;
|
||||
int result;
|
||||
@@ -208,9 +209,8 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
/*
|
||||
* Turn off search.
|
||||
*/
|
||||
if (dns_name_countlabels(name) > 1U) {
|
||||
strlcat(namebuf, ".", sizeof(namebuf));
|
||||
}
|
||||
if (dns_name_countlabels(name) > 1U)
|
||||
strcat(namebuf, ".");
|
||||
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
|
||||
|
||||
result = getaddrinfo(namebuf, NULL, &hints, &ai);
|
||||
@@ -234,7 +234,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
ownerbuf, namebuf,
|
||||
cur->ai_canonname);
|
||||
/* XXX950 make fatal for 9.5.0 */
|
||||
/* answer = false; */
|
||||
/* answer = ISC_FALSE; */
|
||||
add(namebuf, ERR_IS_CNAME);
|
||||
}
|
||||
break;
|
||||
@@ -250,7 +250,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
add(namebuf, ERR_NO_ADDRESSES);
|
||||
}
|
||||
/* XXX950 make fatal for 9.5.0 */
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
|
||||
default:
|
||||
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
|
||||
@@ -259,7 +259,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
namebuf, gai_strerror(result));
|
||||
add(namebuf, ERR_LOOKUP_FAILURE);
|
||||
}
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -270,13 +270,13 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
result = dns_rdataset_first(a);
|
||||
while (result == ISC_R_SUCCESS) {
|
||||
dns_rdataset_current(a, &rdata);
|
||||
match = false;
|
||||
match = ISC_FALSE;
|
||||
for (cur = ai; cur != NULL; cur = cur->ai_next) {
|
||||
if (cur->ai_family != AF_INET)
|
||||
continue;
|
||||
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
|
||||
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
|
||||
match = true;
|
||||
match = ISC_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -288,7 +288,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
addrbuf, sizeof(addrbuf)));
|
||||
add(namebuf, ERR_EXTRA_A);
|
||||
/* XXX950 make fatal for 9.5.0 */
|
||||
/* answer = false; */
|
||||
/* answer = ISC_FALSE; */
|
||||
}
|
||||
dns_rdata_reset(&rdata);
|
||||
result = dns_rdataset_next(a);
|
||||
@@ -300,13 +300,13 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
result = dns_rdataset_first(aaaa);
|
||||
while (result == ISC_R_SUCCESS) {
|
||||
dns_rdataset_current(aaaa, &rdata);
|
||||
match = false;
|
||||
match = ISC_FALSE;
|
||||
for (cur = ai; cur != NULL; cur = cur->ai_next) {
|
||||
if (cur->ai_family != AF_INET6)
|
||||
continue;
|
||||
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
|
||||
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
|
||||
match = true;
|
||||
match = ISC_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -318,7 +318,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
addrbuf, sizeof(addrbuf)));
|
||||
add(namebuf, ERR_EXTRA_AAAA);
|
||||
/* XXX950 make fatal for 9.5.0. */
|
||||
/* answer = false; */
|
||||
/* answer = ISC_FALSE; */
|
||||
}
|
||||
dns_rdata_reset(&rdata);
|
||||
result = dns_rdataset_next(aaaa);
|
||||
@@ -329,7 +329,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
* Check that all addresses appear in the glue.
|
||||
*/
|
||||
if (!logged(namebuf, ERR_MISSING_GLUE)) {
|
||||
bool missing_glue = false;
|
||||
isc_boolean_t missing_glue = ISC_FALSE;
|
||||
for (cur = ai; cur != NULL; cur = cur->ai_next) {
|
||||
switch (cur->ai_family) {
|
||||
case AF_INET:
|
||||
@@ -345,7 +345,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
match = false;
|
||||
match = ISC_FALSE;
|
||||
if (dns_rdataset_isassociated(rdataset))
|
||||
result = dns_rdataset_first(rdataset);
|
||||
else
|
||||
@@ -353,7 +353,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
while (result == ISC_R_SUCCESS && !match) {
|
||||
dns_rdataset_current(rdataset, &rdata);
|
||||
if (memcmp(ptr, rdata.data, rdata.length) == 0)
|
||||
match = true;
|
||||
match = ISC_TRUE;
|
||||
dns_rdata_reset(&rdata);
|
||||
result = dns_rdataset_next(rdataset);
|
||||
}
|
||||
@@ -364,8 +364,8 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
inet_ntop(cur->ai_family, ptr,
|
||||
addrbuf, sizeof(addrbuf)));
|
||||
/* XXX950 make fatal for 9.5.0. */
|
||||
/* answer = false; */
|
||||
missing_glue = true;
|
||||
/* answer = ISC_FALSE; */
|
||||
missing_glue = ISC_TRUE;
|
||||
}
|
||||
}
|
||||
if (missing_glue)
|
||||
@@ -374,19 +374,19 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
|
||||
freeaddrinfo(ai);
|
||||
return (answer);
|
||||
#else
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool
|
||||
checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
static isc_boolean_t
|
||||
checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
|
||||
#ifdef USE_GETADDRINFO
|
||||
struct addrinfo hints, *ai, *cur;
|
||||
char namebuf[DNS_NAME_FORMATSIZE + 1];
|
||||
char ownerbuf[DNS_NAME_FORMATSIZE];
|
||||
int result;
|
||||
int level = ISC_LOG_ERROR;
|
||||
bool answer = true;
|
||||
isc_boolean_t answer = ISC_TRUE;
|
||||
|
||||
memset(&hints, 0, sizeof(hints));
|
||||
hints.ai_flags = AI_CANONNAME;
|
||||
@@ -398,9 +398,8 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
/*
|
||||
* Turn off search.
|
||||
*/
|
||||
if (dns_name_countlabels(name) > 1U) {
|
||||
strlcat(namebuf, ".", sizeof(namebuf));
|
||||
}
|
||||
if (dns_name_countlabels(name) > 1U)
|
||||
strcat(namebuf, ".");
|
||||
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
|
||||
|
||||
result = getaddrinfo(namebuf, NULL, &hints, &ai);
|
||||
@@ -430,7 +429,7 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
add(namebuf, ERR_IS_MXCNAME);
|
||||
}
|
||||
if (level == ISC_LOG_ERROR)
|
||||
answer = false;
|
||||
answer = ISC_FALSE;
|
||||
}
|
||||
}
|
||||
freeaddrinfo(ai);
|
||||
@@ -448,7 +447,7 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
add(namebuf, ERR_NO_ADDRESSES);
|
||||
}
|
||||
/* XXX950 make fatal for 9.5.0. */
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
|
||||
default:
|
||||
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
|
||||
@@ -457,22 +456,22 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
namebuf, gai_strerror(result));
|
||||
add(namebuf, ERR_LOOKUP_FAILURE);
|
||||
}
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
#else
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool
|
||||
checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
static isc_boolean_t
|
||||
checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
|
||||
#ifdef USE_GETADDRINFO
|
||||
struct addrinfo hints, *ai, *cur;
|
||||
char namebuf[DNS_NAME_FORMATSIZE + 1];
|
||||
char ownerbuf[DNS_NAME_FORMATSIZE];
|
||||
int result;
|
||||
int level = ISC_LOG_ERROR;
|
||||
bool answer = true;
|
||||
isc_boolean_t answer = ISC_TRUE;
|
||||
|
||||
memset(&hints, 0, sizeof(hints));
|
||||
hints.ai_flags = AI_CANONNAME;
|
||||
@@ -484,9 +483,8 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
/*
|
||||
* Turn off search.
|
||||
*/
|
||||
if (dns_name_countlabels(name) > 1U) {
|
||||
strlcat(namebuf, ".", sizeof(namebuf));
|
||||
}
|
||||
if (dns_name_countlabels(name) > 1U)
|
||||
strcat(namebuf, ".");
|
||||
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
|
||||
|
||||
result = getaddrinfo(namebuf, NULL, &hints, &ai);
|
||||
@@ -515,7 +513,7 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
add(namebuf, ERR_IS_SRVCNAME);
|
||||
}
|
||||
if (level == ISC_LOG_ERROR)
|
||||
answer = false;
|
||||
answer = ISC_FALSE;
|
||||
}
|
||||
}
|
||||
freeaddrinfo(ai);
|
||||
@@ -533,7 +531,7 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
add(namebuf, ERR_NO_ADDRESSES);
|
||||
}
|
||||
/* XXX950 make fatal for 9.5.0. */
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
|
||||
default:
|
||||
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
|
||||
@@ -542,10 +540,10 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
|
||||
namebuf, gai_strerror(result));
|
||||
add(namebuf, ERR_LOOKUP_FAILURE);
|
||||
}
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
#else
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -561,7 +559,6 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) {
|
||||
dns_log_init(log);
|
||||
dns_log_setcontext(log);
|
||||
cfg_log_init(log);
|
||||
ns_log_init(log);
|
||||
|
||||
destination.file.stream = errout;
|
||||
destination.file.name = NULL;
|
||||
@@ -590,7 +587,8 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
|
||||
dns_rdataset_t rdataset;
|
||||
dns_fixedname_t fname;
|
||||
dns_name_t *name;
|
||||
name = dns_fixedname_initname(&fname);
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
CHECK(dns_zone_getdb(zone, &db));
|
||||
@@ -652,7 +650,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
|
||||
if (dbiter != NULL)
|
||||
dns_dbiterator_destroy(&dbiter);
|
||||
if (version != NULL)
|
||||
dns_db_closeversion(db, &version, false);
|
||||
dns_db_closeversion(db, &version, ISC_FALSE);
|
||||
if (db != NULL)
|
||||
dns_db_detach(&db);
|
||||
|
||||
@@ -685,12 +683,12 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
|
||||
isc_buffer_constinit(&buffer, zonename, strlen(zonename));
|
||||
isc_buffer_add(&buffer, strlen(zonename));
|
||||
origin = dns_fixedname_initname(&fixorigin);
|
||||
dns_fixedname_init(&fixorigin);
|
||||
origin = dns_fixedname_name(&fixorigin);
|
||||
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
|
||||
CHECK(dns_zone_setorigin(zone, origin));
|
||||
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
|
||||
CHECK(dns_zone_setfile(zone, filename, fileformat,
|
||||
&dns_master_style_default));
|
||||
CHECK(dns_zone_setfile2(zone, filename, fileformat));
|
||||
if (journal != NULL)
|
||||
CHECK(dns_zone_setjournal(zone, journal));
|
||||
|
||||
@@ -699,7 +697,8 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
CHECK(dns_rdataclass_fromtext(&rdclass, ®ion));
|
||||
|
||||
dns_zone_setclass(zone, rdclass);
|
||||
dns_zone_setoption(zone, zone_options, true);
|
||||
dns_zone_setoption(zone, zone_options, ISC_TRUE);
|
||||
dns_zone_setoption2(zone, zone_options2, ISC_TRUE);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
|
||||
|
||||
dns_zone_setmaxttl(zone, maxttl);
|
||||
@@ -736,7 +735,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
isc_result_t
|
||||
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
|
||||
dns_masterformat_t fileformat, const dns_master_style_t *style,
|
||||
const uint32_t rawversion)
|
||||
const isc_uint32_t rawversion)
|
||||
{
|
||||
isc_result_t result;
|
||||
FILE *output = stdout;
|
||||
@@ -762,8 +761,8 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
|
||||
}
|
||||
}
|
||||
|
||||
result = dns_zone_dumptostream(zone, output, fileformat, style,
|
||||
rawversion);
|
||||
result = dns_zone_dumptostream3(zone, output, fileformat, style,
|
||||
rawversion);
|
||||
if (output != stdout)
|
||||
(void)isc_stdio_close(output);
|
||||
|
||||
|
||||
@@ -1,30 +1,24 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2002, 2004, 2005, 2007, 2010, 2011, 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.h,v 1.18 2011/12/09 23:47:02 tbox Exp $ */
|
||||
|
||||
#ifndef CHECK_TOOL_H
|
||||
#define CHECK_TOOL_H
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <isc/lang.h>
|
||||
#include <isc/stdio.h>
|
||||
#include <isc/types.h>
|
||||
|
||||
#include <dns/masterdump.h>
|
||||
#include <dns/types.h>
|
||||
#include <dns/zone.h>
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
@@ -39,7 +33,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
isc_result_t
|
||||
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
|
||||
dns_masterformat_t fileformat, const dns_master_style_t *style,
|
||||
const uint32_t rawversion);
|
||||
const isc_uint32_t rawversion);
|
||||
|
||||
#ifdef _WIN32
|
||||
void InitSockets(void);
|
||||
@@ -48,11 +42,12 @@ void DestroySockets(void);
|
||||
|
||||
extern int debug;
|
||||
extern const char *journal;
|
||||
extern bool nomerge;
|
||||
extern bool docheckmx;
|
||||
extern bool docheckns;
|
||||
extern bool dochecksrv;
|
||||
extern dns_zoneopt_t zone_options;
|
||||
extern isc_boolean_t nomerge;
|
||||
extern isc_boolean_t docheckmx;
|
||||
extern isc_boolean_t docheckns;
|
||||
extern isc_boolean_t dochecksrv;
|
||||
extern unsigned int zone_options;
|
||||
extern unsigned int zone_options2;
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
named-checkconf \- named configuration file syntax checking tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBnamed\-checkconf\fR\ 'u
|
||||
\fBnamed\-checkconf\fR [\fB\-hjlvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
|
||||
\fBnamed\-checkconf\fR [\fB\-hjvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnamed\-checkconf\fR
|
||||
@@ -74,11 +74,6 @@ Print the usage summary and exit\&.
|
||||
When loading a zonefile read the journal if it exists\&.
|
||||
.RE
|
||||
.PP
|
||||
\-l
|
||||
.RS 4
|
||||
List all the configured zones\&. Each line of output contains the zone name, class (e\&.g\&. IN), view, and type (e\&.g\&. master or slave)\&.
|
||||
.RE
|
||||
.PP
|
||||
\-p
|
||||
.RS 4
|
||||
Print out the
|
||||
@@ -136,5 +131,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkconf.c,v 1.56 2011/03/12 04:59:46 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/dir.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/hash.h>
|
||||
#include <isc/log.h>
|
||||
#include <isc/mem.h>
|
||||
@@ -61,7 +59,7 @@ usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "usage: %s [-hjlvz] [-p [-x]] [-t directory] "
|
||||
fprintf(stderr, "usage: %s [-hjvz] [-p [-x]] [-t directory] "
|
||||
"[named.conf]\n", program);
|
||||
exit(1);
|
||||
}
|
||||
@@ -92,18 +90,18 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static bool
|
||||
static isc_boolean_t
|
||||
get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
|
||||
int i;
|
||||
for (i = 0;; i++) {
|
||||
if (maps[i] == NULL)
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
static isc_boolean_t
|
||||
get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
|
||||
const cfg_listelt_t *element;
|
||||
const cfg_obj_t *checknames;
|
||||
@@ -114,29 +112,24 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
|
||||
|
||||
for (i = 0;; i++) {
|
||||
if (maps[i] == NULL)
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
checknames = NULL;
|
||||
result = cfg_map_get(maps[i], "check-names", &checknames);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
continue;
|
||||
if (checknames != NULL && !cfg_obj_islist(checknames)) {
|
||||
*obj = checknames;
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
for (element = cfg_list_first(checknames);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element)) {
|
||||
value = cfg_listelt_value(element);
|
||||
type = cfg_tuple_get(value, "type");
|
||||
if ((strcasecmp(cfg_obj_asstring(type),
|
||||
"primary") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(type),
|
||||
"master") != 0))
|
||||
{
|
||||
if (strcasecmp(cfg_obj_asstring(type), "master") != 0)
|
||||
continue;
|
||||
}
|
||||
*obj = cfg_tuple_get(value, "mode");
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -169,7 +162,7 @@ configure_hint(const char *zfile, const char *zclass, isc_mem_t *mctx) {
|
||||
static isc_result_t
|
||||
configure_zone(const char *vclass, const char *view,
|
||||
const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
|
||||
const cfg_obj_t *config, isc_mem_t *mctx, bool list)
|
||||
const cfg_obj_t *config, isc_mem_t *mctx)
|
||||
{
|
||||
int i = 0;
|
||||
isc_result_t result;
|
||||
@@ -211,10 +204,6 @@ configure_zone(const char *vclass, const char *view,
|
||||
maps[i] = NULL;
|
||||
|
||||
cfg_map_get(zoptions, "in-view", &inviewobj);
|
||||
if (inviewobj != NULL && list) {
|
||||
const char *inview = cfg_obj_asstring(inviewobj);
|
||||
printf("%s %s %s in-view %s\n", zname, zclass, view, inview);
|
||||
}
|
||||
if (inviewobj != NULL)
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
@@ -222,12 +211,6 @@ configure_zone(const char *vclass, const char *view,
|
||||
if (typeobj == NULL)
|
||||
return (ISC_R_FAILURE);
|
||||
|
||||
if (list) {
|
||||
const char *ztype = cfg_obj_asstring(typeobj);
|
||||
printf("%s %s %s %s\n", zname, zclass, view, ztype);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Skip checks when using an alternate data source.
|
||||
*/
|
||||
@@ -250,14 +233,11 @@ configure_zone(const char *vclass, const char *view,
|
||||
* Skip loading checks for any type other than
|
||||
* master and redirect
|
||||
*/
|
||||
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0) {
|
||||
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0)
|
||||
return (configure_hint(zfile, zclass, mctx));
|
||||
} else if ((strcasecmp(cfg_obj_asstring(typeobj), "primary") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
|
||||
{
|
||||
else if ((strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
|
||||
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Is the redirect zone configured as a slave?
|
||||
@@ -407,7 +387,7 @@ configure_zone(const char *vclass, const char *view,
|
||||
obj = NULL;
|
||||
if (get_maps(maps, "max-zone-ttl", &obj)) {
|
||||
maxttl = cfg_obj_asuint32(obj);
|
||||
zone_options |= DNS_ZONEOPT_CHECKTTL;
|
||||
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
|
||||
}
|
||||
|
||||
result = load_zone(mctx, zname, zfile, masterformat,
|
||||
@@ -421,7 +401,7 @@ configure_zone(const char *vclass, const char *view,
|
||||
/*% configure a view */
|
||||
static isc_result_t
|
||||
configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
|
||||
const cfg_obj_t *vconfig, isc_mem_t *mctx, bool list)
|
||||
const cfg_obj_t *vconfig, isc_mem_t *mctx)
|
||||
{
|
||||
const cfg_listelt_t *element;
|
||||
const cfg_obj_t *voptions;
|
||||
@@ -445,7 +425,7 @@ configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
|
||||
{
|
||||
const cfg_obj_t *zconfig = cfg_listelt_value(element);
|
||||
tresult = configure_zone(vclass, view, zconfig, vconfig,
|
||||
config, mctx, list);
|
||||
config, mctx);
|
||||
if (tresult != ISC_R_SUCCESS)
|
||||
result = tresult;
|
||||
}
|
||||
@@ -469,9 +449,7 @@ config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
|
||||
|
||||
/*% load zones from the configuration */
|
||||
static isc_result_t
|
||||
load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx,
|
||||
bool list_zones)
|
||||
{
|
||||
load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx) {
|
||||
const cfg_listelt_t *element;
|
||||
const cfg_obj_t *views;
|
||||
const cfg_obj_t *vconfig;
|
||||
@@ -502,15 +480,13 @@ load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx,
|
||||
|
||||
dns_rdataclass_format(viewclass, buf, sizeof(buf));
|
||||
vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name"));
|
||||
tresult = configure_view(buf, vname, config, vconfig, mctx,
|
||||
list_zones);
|
||||
tresult = configure_view(buf, vname, config, vconfig, mctx);
|
||||
if (tresult != ISC_R_SUCCESS)
|
||||
result = tresult;
|
||||
}
|
||||
|
||||
if (views == NULL) {
|
||||
tresult = configure_view("IN", "_default", config, NULL, mctx,
|
||||
list_zones);
|
||||
tresult = configure_view("IN", "_default", config, NULL, mctx);
|
||||
if (tresult != ISC_R_SUCCESS)
|
||||
result = tresult;
|
||||
}
|
||||
@@ -538,17 +514,17 @@ main(int argc, char **argv) {
|
||||
isc_mem_t *mctx = NULL;
|
||||
isc_result_t result;
|
||||
int exit_status = 0;
|
||||
bool load_zones = false;
|
||||
bool list_zones = false;
|
||||
bool print = false;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
isc_boolean_t load_zones = ISC_FALSE;
|
||||
isc_boolean_t print = ISC_FALSE;
|
||||
unsigned int flags = 0;
|
||||
|
||||
isc_commandline_errprint = false;
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
/*
|
||||
* Process memory debugging argument first.
|
||||
*/
|
||||
#define CMDLINE_FLAGS "dhjlm:t:pvxz"
|
||||
#define CMDLINE_FLAGS "dhjm:t:pvxz"
|
||||
while ((c = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
|
||||
switch (c) {
|
||||
case 'm':
|
||||
@@ -567,7 +543,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
isc_commandline_reset = true;
|
||||
isc_commandline_reset = ISC_TRUE;
|
||||
|
||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
||||
|
||||
@@ -578,11 +554,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'j':
|
||||
nomerge = false;
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
list_zones = true;
|
||||
nomerge = ISC_FALSE;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
@@ -598,7 +570,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
print = true;
|
||||
print = ISC_TRUE;
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
@@ -610,10 +582,10 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'z':
|
||||
load_zones = true;
|
||||
docheckmx = false;
|
||||
docheckns = false;
|
||||
dochecksrv = false;
|
||||
load_zones = ISC_TRUE;
|
||||
docheckmx = ISC_FALSE;
|
||||
docheckns = ISC_FALSE;
|
||||
dochecksrv = ISC_FALSE;
|
||||
break;
|
||||
|
||||
case '?':
|
||||
@@ -635,10 +607,6 @@ main(int argc, char **argv) {
|
||||
fprintf(stderr, "%s: -x cannot be used without -p\n", program);
|
||||
exit(1);
|
||||
}
|
||||
if (print && list_zones) {
|
||||
fprintf(stderr, "%s: -l cannot be used with -p\n", program);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (isc_commandline_index + 1 < argc)
|
||||
usage();
|
||||
@@ -653,6 +621,10 @@ main(int argc, char **argv) {
|
||||
|
||||
RUNTIME_CHECK(setup_logging(mctx, stdout, &logc) == ISC_R_SUCCESS);
|
||||
|
||||
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
|
||||
== ISC_R_SUCCESS);
|
||||
|
||||
dns_result_register();
|
||||
|
||||
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
|
||||
@@ -667,8 +639,8 @@ main(int argc, char **argv) {
|
||||
if (result != ISC_R_SUCCESS)
|
||||
exit_status = 1;
|
||||
|
||||
if (result == ISC_R_SUCCESS && (load_zones || list_zones)) {
|
||||
result = load_zones_fromconfig(config, mctx, list_zones);
|
||||
if (result == ISC_R_SUCCESS && load_zones) {
|
||||
result = load_zones_fromconfig(config, mctx);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
exit_status = 1;
|
||||
}
|
||||
@@ -683,6 +655,9 @@ main(int argc, char **argv) {
|
||||
|
||||
isc_log_destroy(&logc);
|
||||
|
||||
isc_hash_destroy();
|
||||
isc_entropy_detach(&ectx);
|
||||
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -39,7 +36,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -52,7 +48,7 @@
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>named-checkconf</command>
|
||||
<arg choice="opt" rep="norepeat"><option>-hjlvz</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-hjvz</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-p</option>
|
||||
<arg choice="opt" rep="norepeat"><option>-x</option>
|
||||
</arg></arg>
|
||||
@@ -103,17 +99,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-l</term>
|
||||
<listitem>
|
||||
<para>
|
||||
List all the configured zones. Each line of output
|
||||
contains the zone name, class (e.g. IN), view, and type
|
||||
(e.g. master or slave).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-p</term>
|
||||
<listitem>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -33,7 +33,7 @@
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p>
|
||||
<code class="command">named-checkconf</code>
|
||||
[<code class="option">-hjlvz</code>]
|
||||
[<code class="option">-hjvz</code>]
|
||||
[<code class="option">-p</code>
|
||||
[<code class="option">-x</code>
|
||||
]]
|
||||
@@ -80,14 +80,6 @@
|
||||
When loading a zonefile read the journal if it exists.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-l</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
List all the configured zones. Each line of output
|
||||
contains the zone name, class (e.g. IN), view, and type
|
||||
(e.g. master or slave).
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-p</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -325,5 +325,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,26 +1,23 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkzone.c,v 1.65.32.2 2012/02/07 02:45:21 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/dir.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/hash.h>
|
||||
#include <isc/log.h>
|
||||
#include <isc/mem.h>
|
||||
@@ -47,6 +44,7 @@
|
||||
|
||||
static int quiet = 0;
|
||||
static isc_mem_t *mctx = NULL;
|
||||
static isc_entropy_t *ectx = NULL;
|
||||
dns_zone_t *zone = NULL;
|
||||
dns_zonetype_t zonetype = dns_zone_master;
|
||||
static int dumpzone = 0;
|
||||
@@ -108,10 +106,10 @@ main(int argc, char **argv) {
|
||||
dns_masterformat_t inputformat = dns_masterformat_text;
|
||||
dns_masterformat_t outputformat = dns_masterformat_text;
|
||||
dns_masterrawheader_t header;
|
||||
uint32_t rawversion = 1, serialnum = 0;
|
||||
isc_uint32_t rawversion = 1, serialnum = 0;
|
||||
dns_ttl_t maxttl = 0;
|
||||
bool snset = false;
|
||||
bool logdump = false;
|
||||
isc_boolean_t snset = ISC_FALSE;
|
||||
isc_boolean_t logdump = ISC_FALSE;
|
||||
FILE *errout = stdout;
|
||||
char *endp;
|
||||
|
||||
@@ -161,7 +159,7 @@ main(int argc, char **argv) {
|
||||
|
||||
#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
|
||||
|
||||
isc_commandline_errprint = false;
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((c = isc_commandline_parse(argc, argv,
|
||||
"c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:DF:M:S:T:W:"))
|
||||
@@ -179,33 +177,33 @@ main(int argc, char **argv) {
|
||||
if (ARGCMP("full")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY |
|
||||
DNS_ZONEOPT_CHECKSIBLING;
|
||||
docheckmx = true;
|
||||
docheckns = true;
|
||||
dochecksrv = true;
|
||||
docheckmx = ISC_TRUE;
|
||||
docheckns = ISC_TRUE;
|
||||
dochecksrv = ISC_TRUE;
|
||||
} else if (ARGCMP("full-sibling")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
|
||||
docheckmx = true;
|
||||
docheckns = true;
|
||||
dochecksrv = true;
|
||||
docheckmx = ISC_TRUE;
|
||||
docheckns = ISC_TRUE;
|
||||
dochecksrv = ISC_TRUE;
|
||||
} else if (ARGCMP("local")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
|
||||
docheckmx = false;
|
||||
docheckns = false;
|
||||
dochecksrv = false;
|
||||
docheckmx = ISC_FALSE;
|
||||
docheckns = ISC_FALSE;
|
||||
dochecksrv = ISC_FALSE;
|
||||
} else if (ARGCMP("local-sibling")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
|
||||
docheckmx = false;
|
||||
docheckns = false;
|
||||
dochecksrv = false;
|
||||
docheckmx = ISC_FALSE;
|
||||
docheckns = ISC_FALSE;
|
||||
dochecksrv = ISC_FALSE;
|
||||
} else if (ARGCMP("none")) {
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
|
||||
docheckmx = false;
|
||||
docheckns = false;
|
||||
dochecksrv = false;
|
||||
docheckmx = ISC_FALSE;
|
||||
docheckns = ISC_FALSE;
|
||||
dochecksrv = ISC_FALSE;
|
||||
} else {
|
||||
fprintf(stderr, "invalid argument to -i: %s\n",
|
||||
isc_commandline_argument);
|
||||
@@ -222,12 +220,12 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'j':
|
||||
nomerge = false;
|
||||
nomerge = ISC_FALSE;
|
||||
break;
|
||||
|
||||
case 'J':
|
||||
journal = isc_commandline_argument;
|
||||
nomerge = false;
|
||||
nomerge = ISC_FALSE;
|
||||
break;
|
||||
|
||||
case 'k':
|
||||
@@ -248,7 +246,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
snset = true;
|
||||
snset = ISC_TRUE;
|
||||
endp = NULL;
|
||||
serialnum = strtol(isc_commandline_argument, &endp, 0);
|
||||
if (*endp != '\0') {
|
||||
@@ -259,7 +257,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
zone_options |= DNS_ZONEOPT_CHECKTTL;
|
||||
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
|
||||
endp = NULL;
|
||||
maxttl = strtol(isc_commandline_argument, &endp, 0);
|
||||
if (*endp != '\0') {
|
||||
@@ -507,7 +505,7 @@ main(int argc, char **argv) {
|
||||
strcmp(output_filename, "/dev/fd/1") == 0 ||
|
||||
strcmp(output_filename, "/dev/stdout") == 0)) {
|
||||
errout = stderr;
|
||||
logdump = false;
|
||||
logdump = ISC_FALSE;
|
||||
}
|
||||
|
||||
if (isc_commandline_index + 2 != argc)
|
||||
@@ -521,6 +519,9 @@ main(int argc, char **argv) {
|
||||
if (!quiet)
|
||||
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx)
|
||||
== ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
|
||||
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
|
||||
== ISC_R_SUCCESS);
|
||||
|
||||
dns_result_register();
|
||||
|
||||
@@ -552,6 +553,8 @@ main(int argc, char **argv) {
|
||||
destroy();
|
||||
if (lctx != NULL)
|
||||
isc_log_destroy(&lctx);
|
||||
isc_hash_destroy();
|
||||
isc_entropy_detach(&ectx);
|
||||
isc_mem_destroy(&mctx);
|
||||
#ifdef _WIN32
|
||||
DestroySockets();
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -42,7 +39,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
|
||||
107
bin/check/win32/checkconf.dsp.in
Normal file
107
bin/check/win32/checkconf.dsp.in
Normal file
@@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="checkconf" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=checkconf - @PLATFORM@ 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 "checkconf.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 "checkconf.mak" CFG="checkconf - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "checkconf - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "checkconf - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR @COPTY@ /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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/named-checkconf.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "checkconf - @PLATFORM@ Release"
|
||||
# Name "checkconf - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\named-checkconf.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\check-tool.h"
|
||||
# End Source File
|
||||
# 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
|
||||
29
bin/check/win32/checkconf.dsw
Normal file
29
bin/check/win32/checkconf.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "checkconf"=".\checkconf.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
404
bin/check/win32/checkconf.mak.in
Normal file
404
bin/check/win32/checkconf.mak.in
Normal file
@@ -0,0 +1,404 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on checkconf.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=checkconf - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to checkconf - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "checkconf - @PLATFORM@ Release" && "$(CFG)" != "checkconf - @PLATFORM@ 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 "checkconf.mak" CFG="checkconf - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "checkconf - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "checkconf - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ 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)" == "checkconf - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Release
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "libdns - @PLATFORM@ Release" "libisccfg - @PLATFORM@ Release" "libisc - @PLATFORM@ Release" "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libisc - @PLATFORM@ ReleaseCLEAN" "libisccfg - @PLATFORM@ ReleaseCLEAN" "libdns - @PLATFORM@ ReleaseCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\check-tool.obj"
|
||||
-@erase "$(INTDIR)\check-tool.sbr"
|
||||
-@erase "$(INTDIR)\named-checkconf.obj"
|
||||
-@erase "$(INTDIR)\named-checkconf.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(OUTDIR)\checkconf.bsc"
|
||||
-@erase "..\..\..\Build\Release\named-checkconf.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\checkconf.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkconf.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\check-tool.sbr" \
|
||||
"$(INTDIR)\named-checkconf.sbr"
|
||||
|
||||
"$(OUTDIR)\checkconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkconf.pdb" @MACHINE@ /out:"../../../Build/Release/named-checkconf.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\check-tool.obj" \
|
||||
"$(INTDIR)\named-checkconf.obj" \
|
||||
"..\..\..\lib\isc\win32\Release\libisc.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
|
||||
"..\..\..\lib\dns\win32\Release\libdns.lib"
|
||||
|
||||
"..\..\..\Build\Release\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "libdns - @PLATFORM@ Debug" "libisccfg - @PLATFORM@ Debug" "libisc - @PLATFORM@ Debug" "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libisc - @PLATFORM@ DebugCLEAN" "libisccfg - @PLATFORM@ DebugCLEAN" "libdns - @PLATFORM@ DebugCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\check-tool.obj"
|
||||
-@erase "$(INTDIR)\check-tool.sbr"
|
||||
-@erase "$(INTDIR)\named-checkconf.obj"
|
||||
-@erase "$(INTDIR)\named-checkconf.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\named-checkconf.pdb"
|
||||
-@erase "$(OUTDIR)\checkconf.bsc"
|
||||
-@erase "..\..\..\Build\Debug\named-checkconf.exe"
|
||||
-@erase "..\..\..\Build\Debug\named-checkconf.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkconf.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\check-tool.sbr" \
|
||||
"$(INTDIR)\named-checkconf.sbr"
|
||||
|
||||
"$(OUTDIR)\checkconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkconf.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\check-tool.obj" \
|
||||
"$(INTDIR)\named-checkconf.obj" \
|
||||
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
|
||||
"..\..\..\lib\dns\win32\Debug\libdns.lib"
|
||||
|
||||
"..\..\..\Build\Debug\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
.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) $<
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("checkconf.dep")
|
||||
!INCLUDE "checkconf.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "checkconf.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release" || "$(CFG)" == "checkconf - @PLATFORM@ Debug"
|
||||
SOURCE="..\check-tool.c"
|
||||
|
||||
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE="..\named-checkconf.c"
|
||||
|
||||
"$(INTDIR)\named-checkconf.obj" "$(INTDIR)\named-checkconf.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
|
||||
|
||||
"libisc - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisc - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
|
||||
|
||||
"libisc - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisc - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
|
||||
|
||||
"libisccfg - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\isccfg\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisccfg - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\isccfg\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
|
||||
|
||||
"libisccfg - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\isccfg\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisccfg - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\isccfg\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
|
||||
|
||||
"libdns - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libdns - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
|
||||
|
||||
"libdns - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libdns - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!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
|
||||
####################################################
|
||||
# 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
|
||||
@@ -55,7 +55,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
@@ -69,8 +69,8 @@
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||
@@ -81,7 +81,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
@@ -98,8 +98,8 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
113
bin/check/win32/checktool.dsp.in
Normal file
113
bin/check/win32/checktool.dsp.in
Normal file
@@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="checktool" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Static-Link Library" 0x0104
|
||||
|
||||
CFG=checktool - @PLATFORM@ 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 "checktool.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 "checktool.mak" CFG="checktool - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "checktool - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE "checktool - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "checktool - @PLATFORM@ 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 /MT /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" @COPTY@ /FD /c /Fdchecktool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /out:"Release/checktool.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checktool - @PLATFORM@ 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 /MTd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" @CRYPTO@ /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR @COPTY@ /FD /GZ /c /Fdchecktool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /debug out:"Debug/checktool.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "checktool - @PLATFORM@ Release"
|
||||
# Name "checktool - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# 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
|
||||
# Begin Group "Main Dns Lib"
|
||||
|
||||
# PROP Default_Filter "c"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\check-tool.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
29
bin/check/win32/checktool.dsw
Normal file
29
bin/check/win32/checktool.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "checktool"=".\checktool.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -58,14 +58,14 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\ns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
@@ -80,7 +80,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
@@ -88,7 +88,7 @@
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\ns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
|
||||
108
bin/check/win32/checkzone.dsp.in
Normal file
108
bin/check/win32/checkzone.dsp.in
Normal file
@@ -0,0 +1,108 @@
|
||||
# Microsoft Developer Studio Project File - Name="checkzone" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=checkzone - @PLATFORM@ 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 "checkzone.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 "checkzone.mak" CFG="checkzone - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "checkzone - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "checkzone - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" @COPTY@ /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
# 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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/named-checkzone.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "checkzone - @PLATFORM@ Release"
|
||||
# Name "checkzone - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\named-checkzone.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\check-tool.h"
|
||||
# End Source File
|
||||
# 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
|
||||
29
bin/check/win32/checkzone.dsw
Normal file
29
bin/check/win32/checkzone.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "checkzone"=".\checkzone.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
404
bin/check/win32/checkzone.mak.in
Normal file
404
bin/check/win32/checkzone.mak.in
Normal file
@@ -0,0 +1,404 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on checkzone.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=checkzone - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to checkzone - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "checkzone - @PLATFORM@ Release" && "$(CFG)" != "checkzone - @PLATFORM@ 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 "checkzone.mak" CFG="checkzone - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "checkzone - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "checkzone - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ 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)" == "checkzone - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Release\named-checkzone.exe"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "libisc - @PLATFORM@ Release" "libdns - @PLATFORM@ Release" "..\..\..\Build\Release\named-checkzone.exe"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libdns - @PLATFORM@ ReleaseCLEAN" "libisc - @PLATFORM@ ReleaseCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\check-tool.obj"
|
||||
-@erase "$(INTDIR)\named-checkzone.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\named-checkzone.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /Fp"$(INTDIR)\checkzone.pch" @COPTY@ /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)\checkzone.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkzone.pdb" @MACHINE@ /out:"../../../Build/Release/named-checkzone.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\check-tool.obj" \
|
||||
"$(INTDIR)\named-checkzone.obj" \
|
||||
"..\..\..\lib\dns\win32\Release\libdns.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
|
||||
"..\..\..\lib\isc\win32\Release\libisc.lib"
|
||||
|
||||
"..\..\..\Build\Release\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\checkzone.bsc"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "libisc - @PLATFORM@ Debug" "libdns - @PLATFORM@ Debug" "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\checkzone.bsc"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libdns - @PLATFORM@ DebugCLEAN" "libisc - @PLATFORM@ DebugCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\check-tool.obj"
|
||||
-@erase "$(INTDIR)\check-tool.sbr"
|
||||
-@erase "$(INTDIR)\named-checkzone.obj"
|
||||
-@erase "$(INTDIR)\named-checkzone.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\named-checkzone.pdb"
|
||||
-@erase "$(OUTDIR)\checkzone.bsc"
|
||||
-@erase "..\..\..\Build\Debug\named-checkzone.exe"
|
||||
-@erase "..\..\..\Build\Debug\named-checkzone.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /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)\checkzone.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\check-tool.sbr" \
|
||||
"$(INTDIR)\named-checkzone.sbr"
|
||||
|
||||
"$(OUTDIR)\checkzone.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkzone.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\check-tool.obj" \
|
||||
"$(INTDIR)\named-checkzone.obj" \
|
||||
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
|
||||
"..\..\..\lib\isc\win32\Debug\libisc.lib"
|
||||
|
||||
"..\..\..\Build\Debug\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("checkzone.dep")
|
||||
!INCLUDE "checkzone.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "checkzone.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release" || "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
SOURCE="..\check-tool.c"
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\check-tool.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE="..\named-checkzone.c"
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\named-checkzone.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\named-checkzone.obj" "$(INTDIR)\named-checkzone.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
|
||||
|
||||
"libdns - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libdns - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
|
||||
"libdns - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libdns - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
|
||||
|
||||
"libisc - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisc - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
|
||||
|
||||
"libisc - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
"libisc - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\check\win32"
|
||||
|
||||
!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
|
||||
@@ -55,7 +55,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
@@ -69,8 +69,8 @@
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>cd ..\..\..\Build\$(Configuration)
|
||||
@@ -87,7 +87,7 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
@@ -104,8 +104,8 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2009, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# $Id: Makefile.in,v 1.8 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
@@ -27,8 +22,8 @@ CWARNINGS =
|
||||
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
|
||||
@@ -71,11 +66,11 @@ rndc-confgen.@O@: rndc-confgen.c
|
||||
ddns-confgen.@O@: ddns-confgen.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c
|
||||
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
ddns-confgen \- ddns key generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBtsig\-keygen\fR\ 'u
|
||||
\fBtsig\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [name]
|
||||
\fBtsig\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [name]
|
||||
.HP \w'\fBddns\-confgen\fR\ 'u
|
||||
\fBddns\-confgen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-q\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\-s\ \fIname\fR | \-z\ \fIzone\fR]
|
||||
.SH "DESCRIPTION"
|
||||
@@ -109,6 +109,17 @@ only\&.) Quiet mode: Print only the key, with no explanatory text or usage examp
|
||||
\fBtsig\-keygen\fR\&.
|
||||
.RE
|
||||
.PP
|
||||
\-r \fIrandomfile\fR
|
||||
.RS 4
|
||||
Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
|
||||
/dev/random
|
||||
or equivalent device, the default source of randomness is keyboard input\&.
|
||||
randomdev
|
||||
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
|
||||
keyboard
|
||||
indicates that keyboard input should be used\&.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIname\fR
|
||||
.RS 4
|
||||
(\fBddns\-confgen\fR
|
||||
@@ -144,5 +155,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2011, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
@@ -19,14 +16,14 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <isc/assertions.h>
|
||||
#include <isc/base64.h>
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/keyboard.h>
|
||||
#include <isc/mem.h>
|
||||
@@ -37,7 +34,7 @@
|
||||
#include <isc/time.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#if USE_PKCS11
|
||||
#ifdef PKCS11CRYPTO
|
||||
#include <pk11/result.h>
|
||||
#endif
|
||||
|
||||
@@ -57,7 +54,7 @@
|
||||
static char program[256];
|
||||
const char *progname;
|
||||
static enum { progmode_keygen, progmode_confgen} progmode;
|
||||
bool verbose = false; /* needed by util.c but not used here */
|
||||
isc_boolean_t verbose = ISC_FALSE; /* needed by util.c but not used here */
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(int status) ISC_PLATFORM_NORETURN_POST;
|
||||
@@ -67,9 +64,10 @@ usage(int status) {
|
||||
if (progmode == progmode_confgen) {
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a alg] [-k keyname] [-q] [-s name | -z zone]\n\
|
||||
%s [-a alg] [-k keyname] [-r randomfile] [-q] [-s name | -z zone]\n\
|
||||
-a alg: algorithm (default hmac-sha256)\n\
|
||||
-k keyname: name of the key as it will be used in named.conf\n\
|
||||
-r randomfile: source of random data (use \"keyboard\" for key timing)\n\
|
||||
-s name: domain name to be updated using the created key\n\
|
||||
-z zone: name of the zone as it will be used in named.conf\n\
|
||||
-q: quiet mode: print the key, with no explanatory text\n",
|
||||
@@ -77,8 +75,9 @@ Usage:\n\
|
||||
} else {
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a alg] [keyname]\n\
|
||||
-a alg: algorithm (default hmac-sha256)\n\n",
|
||||
%s [-a alg] [-r randomfile] [keyname]\n\
|
||||
-a alg: algorithm (default hmac-sha256)\n\
|
||||
-r randomfile: source of random data (use \"keyboard\" for key timing)\n",
|
||||
progname);
|
||||
}
|
||||
|
||||
@@ -88,11 +87,12 @@ Usage:\n\
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
bool show_final_mem = false;
|
||||
bool quiet = false;
|
||||
isc_boolean_t show_final_mem = ISC_FALSE;
|
||||
isc_boolean_t quiet = ISC_FALSE;
|
||||
isc_buffer_t key_txtbuffer;
|
||||
char key_txtsecret[256];
|
||||
isc_mem_t *mctx = NULL;
|
||||
const char *randomfile = NULL;
|
||||
const char *keyname = NULL;
|
||||
const char *zone = NULL;
|
||||
const char *self_domain = NULL;
|
||||
@@ -103,7 +103,7 @@ main(int argc, char **argv) {
|
||||
int len = 0;
|
||||
int ch;
|
||||
|
||||
#if USE_PKCS11
|
||||
#ifdef PKCS11CRYPTO
|
||||
pk11_result_register();
|
||||
#endif
|
||||
dns_result_register();
|
||||
@@ -125,13 +125,13 @@ main(int argc, char **argv) {
|
||||
|
||||
if (PROGCMP("tsig-keygen")) {
|
||||
progmode = progmode_keygen;
|
||||
quiet = true;
|
||||
quiet = ISC_TRUE;
|
||||
} else if (PROGCMP("ddns-confgen"))
|
||||
progmode = progmode_confgen;
|
||||
else
|
||||
INSIST(0);
|
||||
|
||||
isc_commandline_errprint = false;
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"a:hk:Mmr:qs:y:z:")) != -1) {
|
||||
@@ -156,16 +156,16 @@ main(int argc, char **argv) {
|
||||
isc_mem_debugging = ISC_MEM_DEBUGTRACE;
|
||||
break;
|
||||
case 'm':
|
||||
show_final_mem = true;
|
||||
show_final_mem = ISC_TRUE;
|
||||
break;
|
||||
case 'q':
|
||||
if (progmode == progmode_confgen)
|
||||
quiet = true;
|
||||
quiet = ISC_TRUE;
|
||||
else
|
||||
usage(1);
|
||||
break;
|
||||
case 'r':
|
||||
fatal("The -r option has been deprecated.");
|
||||
randomfile = isc_commandline_argument;
|
||||
break;
|
||||
case 's':
|
||||
if (progmode == progmode_confgen)
|
||||
@@ -232,7 +232,7 @@ main(int argc, char **argv) {
|
||||
|
||||
isc_buffer_init(&key_txtbuffer, &key_txtsecret, sizeof(key_txtsecret));
|
||||
|
||||
generate_key(mctx, alg, keysize, &key_txtbuffer);
|
||||
generate_key(mctx, randomfile, alg, keysize, &key_txtbuffer);
|
||||
|
||||
|
||||
if (!quiet)
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -36,7 +33,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -46,6 +42,7 @@
|
||||
<command>tsig-keygen</command>
|
||||
<arg choice="opt" rep="norepeat"><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-h</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-r <replaceable class="parameter">randomfile</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat">name</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
@@ -156,6 +153,23 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-r <replaceable class="parameter">randomfile</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a source of random data for generating the
|
||||
authorization. If the operating system does not provide a
|
||||
<filename>/dev/random</filename> or equivalent device, the
|
||||
default source of randomness is keyboard input.
|
||||
<filename>randomdev</filename> specifies the name of a
|
||||
character device or file containing random data to be used
|
||||
instead of the default. The special value
|
||||
<filename>keyboard</filename> indicates that keyboard input
|
||||
should be used.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s <replaceable class="parameter">name</replaceable></term>
|
||||
<listitem>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -35,6 +35,7 @@
|
||||
<code class="command">tsig-keygen</code>
|
||||
[<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>]
|
||||
[<code class="option">-h</code>]
|
||||
[<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>]
|
||||
[name]
|
||||
</p></div>
|
||||
<div class="cmdsynopsis"><p>
|
||||
@@ -135,6 +136,20 @@
|
||||
This is essentially identical to <span class="command"><strong>tsig-keygen</strong></span>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-r <em class="replaceable"><code>randomfile</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Specifies a source of random data for generating the
|
||||
authorization. If the operating system does not provide a
|
||||
<code class="filename">/dev/random</code> or equivalent device, the
|
||||
default source of randomness is keyboard input.
|
||||
<code class="filename">randomdev</code> specifies the name of a
|
||||
character device or file containing random data to be used
|
||||
instead of the default. The special value
|
||||
<code class="filename">keyboard</code> indicates that keyboard input
|
||||
should be used.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>name</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.c,v 1.4 2009/11/12 14:02:38 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -19,6 +17,7 @@
|
||||
|
||||
#include <isc/base64.h>
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/keyboard.h>
|
||||
#include <isc/mem.h>
|
||||
@@ -43,8 +42,10 @@
|
||||
const char *
|
||||
alg_totext(dns_secalg_t alg) {
|
||||
switch (alg) {
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
case DST_ALG_HMACMD5:
|
||||
return "hmac-md5";
|
||||
#endif
|
||||
case DST_ALG_HMACSHA1:
|
||||
return "hmac-sha1";
|
||||
case DST_ALG_HMACSHA224:
|
||||
@@ -69,8 +70,10 @@ alg_fromtext(const char *name) {
|
||||
if (strncasecmp(p, "hmac-", 5) == 0)
|
||||
p = &name[5];
|
||||
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
if (strcasecmp(p, "md5") == 0)
|
||||
return DST_ALG_HMACMD5;
|
||||
#endif
|
||||
if (strcasecmp(p, "sha1") == 0)
|
||||
return DST_ALG_HMACSHA1;
|
||||
if (strcasecmp(p, "sha224") == 0)
|
||||
@@ -108,19 +111,26 @@ alg_bits(dns_secalg_t alg) {
|
||||
}
|
||||
|
||||
/*%
|
||||
* Generate a key of size 'keysize' and place it in 'key_txtbuffer'
|
||||
* Generate a key of size 'keysize' using entropy source 'randomfile',
|
||||
* and place it in 'key_txtbuffer'
|
||||
*/
|
||||
void
|
||||
generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize,
|
||||
isc_buffer_t *key_txtbuffer) {
|
||||
generate_key(isc_mem_t *mctx, const char *randomfile, dns_secalg_t alg,
|
||||
int keysize, isc_buffer_t *key_txtbuffer) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_entropysource_t *entropy_source = NULL;
|
||||
int open_keyboard = ISC_ENTROPY_KEYBOARDMAYBE;
|
||||
int entropy_flags = 0;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
isc_buffer_t key_rawbuffer;
|
||||
isc_region_t key_rawregion;
|
||||
char key_rawsecret[64];
|
||||
dst_key_t *key = NULL;
|
||||
|
||||
switch (alg) {
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
case DST_ALG_HMACMD5:
|
||||
#endif
|
||||
case DST_ALG_HMACSHA1:
|
||||
case DST_ALG_HMACSHA224:
|
||||
case DST_ALG_HMACSHA256:
|
||||
@@ -138,12 +148,26 @@ generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize,
|
||||
fatal("unsupported algorithm %d\n", alg);
|
||||
}
|
||||
|
||||
DO("initialize dst library", dst_lib_init(mctx, NULL));
|
||||
|
||||
DO("create entropy context", isc_entropy_create(mctx, &ectx));
|
||||
|
||||
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
|
||||
randomfile = NULL;
|
||||
open_keyboard = ISC_ENTROPY_KEYBOARDYES;
|
||||
}
|
||||
DO("start entropy source", isc_entropy_usebestsource(ectx,
|
||||
&entropy_source,
|
||||
randomfile,
|
||||
open_keyboard));
|
||||
|
||||
entropy_flags = ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY;
|
||||
|
||||
DO("initialize dst library", dst_lib_init(mctx, ectx, entropy_flags));
|
||||
|
||||
DO("generate key", dst_key_generate(dns_rootname, alg,
|
||||
keysize, 0, 0, DNS_KEYPROTO_ANY,
|
||||
dns_rdataclass_in, mctx, &key,
|
||||
NULL));
|
||||
keysize, 0, 0,
|
||||
DNS_KEYPROTO_ANY,
|
||||
dns_rdataclass_in, mctx, &key));
|
||||
|
||||
isc_buffer_init(&key_rawbuffer, &key_rawsecret, sizeof(key_rawsecret));
|
||||
|
||||
@@ -154,9 +178,17 @@ generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize,
|
||||
DO("bsse64 encode secret", isc_base64_totext(&key_rawregion, -1, "",
|
||||
key_txtbuffer));
|
||||
|
||||
/*
|
||||
* Shut down the entropy source now so the "stop typing" message
|
||||
* does not muck with the output.
|
||||
*/
|
||||
if (entropy_source != NULL)
|
||||
isc_entropy_destroysource(&entropy_source);
|
||||
|
||||
if (key != NULL)
|
||||
dst_key_free(&key);
|
||||
|
||||
isc_entropy_detach(&ectx);
|
||||
dst_lib_destroy();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#ifndef RNDC_KEYGEN_H
|
||||
#define RNDC_KEYGEN_H 1
|
||||
@@ -19,8 +17,8 @@
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
void generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize,
|
||||
isc_buffer_t *key_txtbuffer);
|
||||
void generate_key(isc_mem_t *mctx, const char *randomfile, dns_secalg_t alg,
|
||||
int keysize, isc_buffer_t *key_txtbuffer);
|
||||
|
||||
void write_key_file(const char *keyfile, const char *user,
|
||||
const char *keyname, isc_buffer_t *secret,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
rndc-confgen \- rndc key generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBrndc\-confgen\fR\ 'u
|
||||
\fBrndc\-confgen\fR [\fB\-a\fR] [\fB\-A\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-c\ \fR\fB\fIkeyfile\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\ \fR\fB\fIaddress\fR\fR] [\fB\-t\ \fR\fB\fIchrootdir\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR]
|
||||
\fBrndc\-confgen\fR [\fB\-a\fR] [\fB\-A\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-c\ \fR\fB\fIkeyfile\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\fB\-s\ \fR\fB\fIaddress\fR\fR] [\fB\-t\ \fR\fB\fIchrootdir\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBrndc\-confgen\fR
|
||||
@@ -111,7 +111,7 @@ as directed\&.
|
||||
.PP
|
||||
\-A \fIalgorithm\fR
|
||||
.RS 4
|
||||
Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-sha256\&.
|
||||
Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-md5 or if MD5 was disabled hmac\-sha256\&.
|
||||
.RE
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
@@ -147,6 +147,17 @@ listens for connections from
|
||||
\fBrndc\fR\&. The default is 953\&.
|
||||
.RE
|
||||
.PP
|
||||
\-r \fIrandomfile\fR
|
||||
.RS 4
|
||||
Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
|
||||
/dev/random
|
||||
or equivalent device, the default source of randomness is keyboard input\&.
|
||||
randomdev
|
||||
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
|
||||
keyboard
|
||||
indicates that keyboard input should be used\&.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIaddress\fR
|
||||
.RS 4
|
||||
Specifies the IP address where
|
||||
@@ -206,5 +217,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001, 2003-2005, 2007-2009, 2011, 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: rndc-confgen.c,v 1.7 2011/03/12 04:59:46 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/**
|
||||
@@ -22,14 +21,14 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <isc/assertions.h>
|
||||
#include <isc/base64.h>
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/keyboard.h>
|
||||
#include <isc/mem.h>
|
||||
@@ -58,7 +57,7 @@
|
||||
static char program[256];
|
||||
const char *progname;
|
||||
|
||||
bool verbose = false;
|
||||
isc_boolean_t verbose = ISC_FALSE;
|
||||
|
||||
const char *keyfile, *keydef;
|
||||
|
||||
@@ -68,9 +67,26 @@ usage(int status) ISC_PLATFORM_NORETURN_POST;
|
||||
static void
|
||||
usage(int status) {
|
||||
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] \
|
||||
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] \
|
||||
[-s addr] [-t chrootdir] [-u user]\n\
|
||||
-a: generate just the key clause and write it to keyfile (%s)\n\
|
||||
-A alg: algorithm (default hmac-md5)\n\
|
||||
-b bits: from 1 through 512, default 256; total length of the secret\n\
|
||||
-c keyfile: specify an alternate key file (requires -a)\n\
|
||||
-k keyname: the name as it will be used in named.conf and rndc.conf\n\
|
||||
-p port: the port named will listen on and rndc will connect to\n\
|
||||
-r randomfile: source of random data (use \"keyboard\" for key timing)\n\
|
||||
-s addr: the address to which rndc should connect\n\
|
||||
-t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\
|
||||
-u user: set the keyfile owner to \"user\" (requires -a)\n",
|
||||
progname, keydef);
|
||||
#else
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] \
|
||||
[-s addr] [-t chrootdir] [-u user]\n\
|
||||
-a: generate just the key clause and write it to keyfile (%s)\n\
|
||||
-A alg: algorithm (default hmac-sha256)\n\
|
||||
@@ -78,22 +94,25 @@ Usage:\n\
|
||||
-c keyfile: specify an alternate key file (requires -a)\n\
|
||||
-k keyname: the name as it will be used in named.conf and rndc.conf\n\
|
||||
-p port: the port named will listen on and rndc will connect to\n\
|
||||
-r randomfile: source of random data (use \"keyboard\" for key timing)\n\
|
||||
-s addr: the address to which rndc should connect\n\
|
||||
-t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\
|
||||
-u user: set the keyfile owner to \"user\" (requires -a)\n",
|
||||
progname, keydef);
|
||||
#endif
|
||||
|
||||
exit (status);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
bool show_final_mem = false;
|
||||
isc_boolean_t show_final_mem = ISC_FALSE;
|
||||
isc_buffer_t key_txtbuffer;
|
||||
char key_txtsecret[256];
|
||||
isc_mem_t *mctx = NULL;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
const char *keyname = NULL;
|
||||
const char *randomfile = NULL;
|
||||
const char *serveraddr = NULL;
|
||||
dns_secalg_t alg;
|
||||
const char *algname;
|
||||
@@ -105,7 +124,7 @@ main(int argc, char **argv) {
|
||||
struct in6_addr addr6_dummy;
|
||||
char *chrootdir = NULL;
|
||||
char *user = NULL;
|
||||
bool keyonly = false;
|
||||
isc_boolean_t keyonly = ISC_FALSE;
|
||||
int len;
|
||||
|
||||
keydef = keyfile = RNDC_KEYFILE;
|
||||
@@ -116,18 +135,22 @@ main(int argc, char **argv) {
|
||||
progname = program;
|
||||
|
||||
keyname = DEFAULT_KEYNAME;
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
alg = DST_ALG_HMACMD5;
|
||||
#else
|
||||
alg = DST_ALG_HMACSHA256;
|
||||
#endif
|
||||
serveraddr = DEFAULT_SERVER;
|
||||
port = DEFAULT_PORT;
|
||||
|
||||
isc_commandline_errprint = false;
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"aA:b:c:hk:Mmp:r:s:t:u:Vy")) != -1)
|
||||
{
|
||||
switch (ch) {
|
||||
case 'a':
|
||||
keyonly = true;
|
||||
keyonly = ISC_TRUE;
|
||||
break;
|
||||
case 'A':
|
||||
algname = isc_commandline_argument;
|
||||
@@ -154,7 +177,7 @@ main(int argc, char **argv) {
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
show_final_mem = true;
|
||||
show_final_mem = ISC_TRUE;
|
||||
break;
|
||||
case 'p':
|
||||
port = strtol(isc_commandline_argument, &p, 10);
|
||||
@@ -163,7 +186,7 @@ main(int argc, char **argv) {
|
||||
isc_commandline_argument);
|
||||
break;
|
||||
case 'r':
|
||||
fatal("The -r option has been deprecated.");
|
||||
randomfile = isc_commandline_argument;
|
||||
break;
|
||||
case 's':
|
||||
serveraddr = isc_commandline_argument;
|
||||
@@ -178,7 +201,7 @@ main(int argc, char **argv) {
|
||||
user = isc_commandline_argument;
|
||||
break;
|
||||
case 'V':
|
||||
verbose = true;
|
||||
verbose = ISC_TRUE;
|
||||
break;
|
||||
case '?':
|
||||
if (isc_commandline_option != '?') {
|
||||
@@ -202,12 +225,6 @@ main(int argc, char **argv) {
|
||||
if (argc > 0)
|
||||
usage(1);
|
||||
|
||||
if (alg == DST_ALG_HMACMD5) {
|
||||
fprintf(stderr,
|
||||
"warning: use of hmac-md5 for RNDC keys "
|
||||
"is deprecated; hmac-sha256 is now recommended.\n");
|
||||
}
|
||||
|
||||
if (keysize < 0)
|
||||
keysize = alg_bits(alg);
|
||||
algname = alg_totext(alg);
|
||||
@@ -215,7 +232,7 @@ main(int argc, char **argv) {
|
||||
DO("create memory context", isc_mem_create(0, 0, &mctx));
|
||||
isc_buffer_init(&key_txtbuffer, &key_txtsecret, sizeof(key_txtsecret));
|
||||
|
||||
generate_key(mctx, alg, keysize, &key_txtbuffer);
|
||||
generate_key(mctx, randomfile, alg, keysize, &key_txtbuffer);
|
||||
|
||||
if (keyonly) {
|
||||
write_key_file(keyfile, chrootdir == NULL ? user : NULL,
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -42,8 +39,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -58,6 +53,7 @@
|
||||
<arg choice="opt" rep="norepeat"><option>-h</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-k <replaceable class="parameter">keyname</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">port</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-r <replaceable class="parameter">randomfile</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-s <replaceable class="parameter">address</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">chrootdir</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-u <replaceable class="parameter">user</replaceable></option></arg>
|
||||
@@ -132,7 +128,8 @@
|
||||
<para>
|
||||
Specifies the algorithm to use for the TSIG key. Available
|
||||
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-sha256.
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-md5 or
|
||||
if MD5 was disabled hmac-sha256.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -190,6 +187,24 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-r <replaceable class="parameter">randomfile</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a source of random data for generating the
|
||||
authorization. If the operating
|
||||
system does not provide a <filename>/dev/random</filename>
|
||||
or equivalent device, the default source of randomness
|
||||
is keyboard input. <filename>randomdev</filename>
|
||||
specifies
|
||||
the name of a character device or file containing random
|
||||
data to be used instead of the default. The special value
|
||||
<filename>keyboard</filename> indicates that keyboard
|
||||
input should be used.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s <replaceable class="parameter">address</replaceable></term>
|
||||
<listitem>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -40,6 +40,7 @@
|
||||
[<code class="option">-h</code>]
|
||||
[<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>]
|
||||
[<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
|
||||
[<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>]
|
||||
[<code class="option">-s <em class="replaceable"><code>address</code></em></code>]
|
||||
[<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>]
|
||||
[<code class="option">-u <em class="replaceable"><code>user</code></em></code>]
|
||||
@@ -112,7 +113,8 @@
|
||||
<p>
|
||||
Specifies the algorithm to use for the TSIG key. Available
|
||||
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-sha256.
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-md5 or
|
||||
if MD5 was disabled hmac-sha256.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
|
||||
@@ -153,6 +155,21 @@
|
||||
The default is 953.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-r <em class="replaceable"><code>randomfile</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Specifies a source of random data for generating the
|
||||
authorization. If the operating
|
||||
system does not provide a <code class="filename">/dev/random</code>
|
||||
or equivalent device, the default source of randomness
|
||||
is keyboard input. <code class="filename">randomdev</code>
|
||||
specifies
|
||||
the name of a character device or file containing random
|
||||
data to be used instead of the default. The special value
|
||||
<code class="filename">keyboard</code> indicates that keyboard
|
||||
input should be used.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>address</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2009, 2012, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# $Id: Makefile.in,v 1.3 2009/06/11 23:47:55 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: util.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <isc/boolean.h>
|
||||
#include <isc/print.h>
|
||||
|
||||
#include "util.h"
|
||||
|
||||
extern bool verbose;
|
||||
extern isc_boolean_t verbose;
|
||||
extern const char *progname;
|
||||
|
||||
void
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: util.h,v 1.4 2009/09/29 15:06:05 fdupont Exp $ */
|
||||
|
||||
#ifndef RNDC_UTIL_H
|
||||
#define RNDC_UTIL_H 1
|
||||
|
||||
135
bin/confgen/win32/confgentool.dsp.in
Normal file
135
bin/confgen/win32/confgentool.dsp.in
Normal file
@@ -0,0 +1,135 @@
|
||||
# Microsoft Developer Studio Project File - Name="confgentool" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Static-Link Library" 0x0104
|
||||
|
||||
CFG=confgentool - @PLATFORM@ 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 "confgentool.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 "confgentool.mak" CFG="confgentool - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "confgentool - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE "confgentool - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "confgentool - @PLATFORM@ 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 /MT /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" @COPTY@ /FD /c /Fdconfgentool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /out:"Release/confgentool.lib"
|
||||
LIB32=lib.exe
|
||||
# ADD BASE LIB32
|
||||
# ADD LIB32 /out:"Release/confgentool.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "confgentool - @PLATFORM@ 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 /MTd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR @COPTY@ /FD /GZ /c /Fdconfgentool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /debug /out:"Debug/confgentool.lib"
|
||||
LIB32=lib.exe
|
||||
# ADD BASE LIB32
|
||||
# ADD LIB32 /out:"Debug/confgentool.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "confgentool - @PLATFORM@ Release"
|
||||
# Name "confgentool - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\keygen.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\util.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# Begin Group "Main Dns Lib"
|
||||
|
||||
# PROP Default_Filter "c"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\keygen.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\util.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\os.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
29
bin/confgen/win32/confgentool.dsw
Normal file
29
bin/confgen/win32/confgentool.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "confgentool"=".\confgentool.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
103
bin/confgen/win32/ddnsconfgen.dsp.in
Normal file
103
bin/confgen/win32/ddnsconfgen.dsp.in
Normal file
@@ -0,0 +1,103 @@
|
||||
# Microsoft Developer Studio Project File - Name="ddnsconfgen" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=ddnsconfgen - @PLATFORM@ 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 "ddnsconfgen.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 "ddnsconfgen.mak" CFG="ddnsconfgen - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "ddnsconfgen - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "ddnsconfgen - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" @COPTY@ /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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/confgentool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/isccc/win32/Release/libisccc.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/ddns-confgen.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/confgentool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/isccc/win32/Debug/libisccc.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/ddns-confgen.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "ddnsconfgen - @PLATFORM@ Release"
|
||||
# Name "ddnsconfgen - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\ddns-confgen.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
|
||||
29
bin/confgen/win32/ddnsconfgen.dsw
Normal file
29
bin/confgen/win32/ddnsconfgen.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "ddnsconfgen"=".\ddnsconfgen.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
337
bin/confgen/win32/ddnsconfgen.mak.in
Normal file
337
bin/confgen/win32/ddnsconfgen.mak.in
Normal file
@@ -0,0 +1,337 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on ddnsconfgen.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=ddnsconfgen - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to ddnsconfgen - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "ddnsconfgen - @PLATFORM@ Release" && "$(CFG)" != "ddnsconfgen - @PLATFORM@ 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 "ddnsconfgen.mak" CFG="ddnsconfgen - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "ddnsconfgen - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "ddnsconfgen - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ 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)" == "ddnsconfgen - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "..\..\..\Build\Release\ddns-confgen.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\os.obj"
|
||||
-@erase "$(INTDIR)\ddns-confgen.obj"
|
||||
-@erase "$(INTDIR)\keygen.obj"
|
||||
-@erase "$(INTDIR)\util.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\ddns-confgen.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\ddnsconfgen.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\ddnsconfgen.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/isccc/win32/Release/libisccc.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\ddns-confgen.pdb" @MACHINE@ /out:"../../../Build/Release/ddns-confgen.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\os.obj" \
|
||||
"$(INTDIR)\ddns-confgen.obj" \
|
||||
"$(INTDIR)\keygen.obj" \
|
||||
"$(INTDIR)\util.obj"
|
||||
|
||||
"..\..\..\Build\Release\ddns-confgen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "..\..\..\Build\Debug\ddns-confgen.exe" "$(OUTDIR)\ddnsconfgen.bsc"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\os.obj"
|
||||
-@erase "$(INTDIR)\os.sbr"
|
||||
-@erase "$(INTDIR)\ddns-confgen.obj"
|
||||
-@erase "$(INTDIR)\ddns-confgen.sbr"
|
||||
-@erase "$(INTDIR)\keygen.obj"
|
||||
-@erase "$(INTDIR)\keygen.sbr"
|
||||
-@erase "$(INTDIR)\util.obj"
|
||||
-@erase "$(INTDIR)\util.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\ddnsconfgen.bsc"
|
||||
-@erase "$(OUTDIR)\ddns-confgen.pdb"
|
||||
-@erase "..\..\..\Build\Debug\ddns-confgen.exe"
|
||||
-@erase "..\..\..\Build\Debug\ddns-confgen.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\ddnsconfgen.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\os.sbr" \
|
||||
"$(INTDIR)\ddns-confgen.sbr" \
|
||||
"$(INTDIR)\keygen.sbr" \
|
||||
"$(INTDIR)\util.sbr"
|
||||
|
||||
"$(OUTDIR)\ddnsconfgen.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/isccc/win32/Debug/libisccc.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\ddns-confgen.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/ddns-confgen.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\os.obj" \
|
||||
"$(INTDIR)\ddns-confgen.obj" \
|
||||
"$(INTDIR)\keygen.obj" \
|
||||
"$(INTDIR)\util.obj"
|
||||
|
||||
"..\..\..\Build\Debug\ddns-confgen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
.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) $<
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("ddnsconfgen.dep")
|
||||
!INCLUDE "ddnsconfgen.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "ddnsconfgen.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Release" || "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
SOURCE=.\os.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE="..\ddns-confgen.c"
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\ddns-confgen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\ddns-confgen.obj" "$(INTDIR)\ddns-confgen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\keygen.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" "$(INTDIR)\keygen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\util.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\util.obj" "$(INTDIR)\util.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
|
||||
@@ -1,14 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
||||
103
bin/confgen/win32/rndcconfgen.dsp.in
Normal file
103
bin/confgen/win32/rndcconfgen.dsp.in
Normal file
@@ -0,0 +1,103 @@
|
||||
# Microsoft Developer Studio Project File - Name="rndcconfgen" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=rndcconfgen - @PLATFORM@ 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 "rndcconfgen.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 "rndcconfgen.mak" CFG="rndcconfgen - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "rndcconfgen - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "rndcconfgen - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" @COPTY@ /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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/confgentool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/isccc/win32/Release/libisccc.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/rndc-confgen.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/confgentool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/isccc/win32/Debug/libisccc.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/rndc-confgen.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "rndcconfgen - @PLATFORM@ Release"
|
||||
# Name "rndcconfgen - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\rndc-confgen.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
|
||||
29
bin/confgen/win32/rndcconfgen.dsw
Normal file
29
bin/confgen/win32/rndcconfgen.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "rndconfgen"=".\rndconfgen.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
336
bin/confgen/win32/rndcconfgen.mak.in
Normal file
336
bin/confgen/win32/rndcconfgen.mak.in
Normal file
@@ -0,0 +1,336 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on confgen.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=rndcconfgen - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to rndcconfgen - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "rndcconfgen - @PLATFORM@ Release" && "$(CFG)" != "rndcconfgen - @PLATFORM@ 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 "rndcconfgen.mak" CFG="rndcconfgen - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "rndcconfgen - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "rndcconfgen - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ 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)" == "rndcconfgen - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "..\..\..\Build\Release\rndc-confgen.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\os.obj"
|
||||
-@erase "$(INTDIR)\rndc-confgen.obj"
|
||||
-@erase "$(INTDIR)\keygen.obj"
|
||||
-@erase "$(INTDIR)\util.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\rndc-confgen.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\confgen.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\confgen.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/isccc/win32/Release/libisccc.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\rndc-confgen.pdb" @MACHINE@ /out:"../../../Build/Release/rndc-confgen.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\os.obj" \
|
||||
"$(INTDIR)\rndc-confgen.obj" \
|
||||
"$(INTDIR)\keygen.obj" \
|
||||
"$(INTDIR)\util.obj"
|
||||
|
||||
"..\..\..\Build\Release\rndc-confgen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "..\..\..\Build\Debug\rndc-confgen.exe" "$(OUTDIR)\confgen.bsc"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\os.obj"
|
||||
-@erase "$(INTDIR)\os.sbr"
|
||||
-@erase "$(INTDIR)\rndc-confgen.obj"
|
||||
-@erase "$(INTDIR)\rndc-confgen.sbr"
|
||||
-@erase "$(INTDIR)\keygen.obj"
|
||||
-@erase "$(INTDIR)\keygen.sbr"
|
||||
-@erase "$(INTDIR)\util.obj"
|
||||
-@erase "$(INTDIR)\util.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\confgen.bsc"
|
||||
-@erase "$(OUTDIR)\rndc-confgen.pdb"
|
||||
-@erase "..\..\..\Build\Debug\rndc-confgen.exe"
|
||||
-@erase "..\..\..\Build\Debug\rndc-confgen.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/isccc/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\confgen.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\os.sbr" \
|
||||
"$(INTDIR)\rndc-confgen.sbr" \
|
||||
"$(INTDIR)\keygen.sbr" \
|
||||
"$(INTDIR)\util.sbr"
|
||||
|
||||
"$(OUTDIR)\confgen.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/isccc/win32/Debug/libisccc.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\rndc-confgen.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/rndc-confgen.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\os.obj" \
|
||||
"$(INTDIR)\rndc-confgen.obj" \
|
||||
"$(INTDIR)\keygen.obj" \
|
||||
"$(INTDIR)\util.obj"
|
||||
|
||||
"..\..\..\Build\Debug\rndc-confgen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
.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) $<
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("confgen.dep")
|
||||
!INCLUDE "confgen.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "confgen.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ Release" || "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
SOURCE=.\os.c
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE="..\rndc-confgen.c"
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\rndc-confgen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\rndc-confgen.obj" "$(INTDIR)\rndc-confgen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\keygen.c
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" "$(INTDIR)\keygen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\util.c
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\util.obj" "$(INTDIR)\util.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
|
||||
@@ -1,11 +1,8 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -16,16 +13,16 @@ VERSION=@BIND9_VERSION@
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${ISC_INCLUDES} \
|
||||
${IRS_INCLUDES} ${ISCCFG_INCLUDES} @OPENSSL_INCLUDES@
|
||||
@DST_OPENSSL_INC@ ${IRS_INCLUDES} ${ISCCFG_INCLUDES}
|
||||
|
||||
CDEFINES = -DVERSION=\"${VERSION}\" \
|
||||
CDEFINES = @CRYPTO@ -DVERSION=\"${VERSION}\" \
|
||||
-DSYSCONFDIR=\"${sysconfdir}\"
|
||||
CWARNINGS =
|
||||
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
IRSLIBS = ../../lib/irs/libirs.@A@
|
||||
|
||||
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
delv \- DNS lookup and validation utility
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBdelv\fR\ 'u
|
||||
\fBdelv\fR [@server] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIlevel\fR\fR] [\fB\-i\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] [name] [type] [class] [queryopt...]
|
||||
\fBdelv\fR [@server] [\fB\-4\fR] [\fB\-6\fR] [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIlevel\fR\fR] [\fB\-i\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] [name] [type] [class] [queryopt...]
|
||||
.HP \w'\fBdelv\fR\ 'u
|
||||
\fBdelv\fR [\fB\-h\fR]
|
||||
.HP \w'\fBdelv\fR\ 'u
|
||||
@@ -49,13 +49,13 @@ delv \- DNS lookup and validation utility
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdelv\fR
|
||||
is a tool for sending DNS queries and validating the results, using the same internal resolver and validator logic as
|
||||
(Domain Entity Lookup & Validation) is a tool for sending DNS queries and validating the results, using the same internal resolver and validator logic as
|
||||
\fBnamed\fR\&.
|
||||
.PP
|
||||
\fBdelv\fR
|
||||
will send to a specified name server all queries needed to fetch and validate the requested data; this includes the original requested query, subsequent queries to follow CNAME or DNAME chains, and queries for DNSKEY, DS and DLV records to establish a chain of trust for DNSSEC validation\&. It does not perform iterative resolution, but simulates the behavior of a name server configured for DNSSEC validating and forwarding\&.
|
||||
.PP
|
||||
By default, responses are validated using built\-in DNSSEC trust anchor for the root zone ("\&.")\&. Records returned by
|
||||
By default, responses are validated using built\-in DNSSEC trust anchors for the root zone ("\&.") and for the ISC DNSSEC lookaside validation zone ("dlv\&.isc\&.org")\&. Records returned by
|
||||
\fBdelv\fR
|
||||
are either fully validated or were not signed\&. If validation fails, an explanation of the failure is included in the output; the validation process can be traced in detail\&. Because
|
||||
\fBdelv\fR
|
||||
@@ -135,13 +135,13 @@ will perform a lookup for an A record\&.
|
||||
Specifies a file from which to read DNSSEC trust anchors\&. The default is
|
||||
/etc/bind\&.keys, which is included with
|
||||
BIND
|
||||
9 and contains one or more trust anchors for the root zone ("\&.")\&.
|
||||
9 and contains trust anchors for the root zone ("\&.") and for the ISC DNSSEC lookaside validation zone ("dlv\&.isc\&.org")\&.
|
||||
.sp
|
||||
Keys that do not match the root zone name are ignored\&. An alternate key name can be specified using the
|
||||
\fB+root=NAME\fR
|
||||
options\&. DNSSEC Lookaside Validation can also be turned on by using the
|
||||
Keys that do not match the root or DLV trust\-anchor names are ignored; these key names can be overridden using the
|
||||
\fB+dlv=NAME\fR
|
||||
to specify the name of a zone containing DLV records\&.
|
||||
or
|
||||
\fB+root=NAME\fR
|
||||
options\&.
|
||||
.sp
|
||||
Note: When reading the trust anchor file,
|
||||
\fBdelv\fR
|
||||
@@ -404,9 +404,9 @@ must be used to specify a file containing the key\&.
|
||||
.PP
|
||||
\fB+[no]dlv[=DLV]\fR
|
||||
.RS 4
|
||||
Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The
|
||||
Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The default is to perform lookaside validation using a trust anchor of "dlv\&.isc\&.org", for which there is a built\-in key\&. If specifying a different name, then
|
||||
\fB\-a\fR
|
||||
option must also be used to specify a file containing the DLV key\&.
|
||||
must be used to specify a file containing the DLV key\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]tcp\fR
|
||||
@@ -437,5 +437,5 @@ RFC5155\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
254
bin/delv/delv.c
254
bin/delv/delv.c
@@ -1,12 +1,9 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -24,9 +21,7 @@
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
@@ -96,40 +91,40 @@ static const char *port = "53";
|
||||
static isc_sockaddr_t *srcaddr4 = NULL, *srcaddr6 = NULL;
|
||||
static isc_sockaddr_t a4, a6;
|
||||
static char *curqname = NULL, *qname = NULL;
|
||||
static bool classset = false;
|
||||
static isc_boolean_t classset = ISC_FALSE;
|
||||
static dns_rdatatype_t qtype = dns_rdatatype_none;
|
||||
static bool typeset = false;
|
||||
static isc_boolean_t typeset = ISC_FALSE;
|
||||
|
||||
static unsigned int styleflags = 0;
|
||||
static uint32_t splitwidth = 0xffffffff;
|
||||
static bool
|
||||
showcomments = true,
|
||||
showdnssec = true,
|
||||
showtrust = true,
|
||||
rrcomments = true,
|
||||
noclass = false,
|
||||
nocrypto = false,
|
||||
nottl = false,
|
||||
multiline = false,
|
||||
short_form = false,
|
||||
print_unknown_format = false;
|
||||
static isc_uint32_t splitwidth = 0xffffffff;
|
||||
static isc_boolean_t
|
||||
showcomments = ISC_TRUE,
|
||||
showdnssec = ISC_TRUE,
|
||||
showtrust = ISC_TRUE,
|
||||
rrcomments = ISC_TRUE,
|
||||
noclass = ISC_FALSE,
|
||||
nocrypto = ISC_FALSE,
|
||||
nottl = ISC_FALSE,
|
||||
multiline = ISC_FALSE,
|
||||
short_form = ISC_FALSE,
|
||||
print_unknown_format = ISC_FALSE;
|
||||
|
||||
static bool
|
||||
resolve_trace = false,
|
||||
validator_trace = false,
|
||||
message_trace = false;
|
||||
static isc_boolean_t
|
||||
resolve_trace = ISC_FALSE,
|
||||
validator_trace = ISC_FALSE,
|
||||
message_trace = ISC_FALSE;
|
||||
|
||||
static bool
|
||||
use_ipv4 = true,
|
||||
use_ipv6 = true;
|
||||
static isc_boolean_t
|
||||
use_ipv4 = ISC_TRUE,
|
||||
use_ipv6 = ISC_TRUE;
|
||||
|
||||
static bool
|
||||
cdflag = false,
|
||||
no_sigs = false,
|
||||
root_validation = true,
|
||||
dlv_validation = true;
|
||||
static isc_boolean_t
|
||||
cdflag = ISC_FALSE,
|
||||
no_sigs = ISC_FALSE,
|
||||
root_validation = ISC_TRUE,
|
||||
dlv_validation = ISC_TRUE;
|
||||
|
||||
static bool use_tcp = false;
|
||||
static isc_boolean_t use_tcp = ISC_FALSE;
|
||||
|
||||
static char *anchorfile = NULL;
|
||||
static char *trust_anchor = NULL;
|
||||
@@ -146,10 +141,10 @@ static char anchortext[] = MANAGED_KEYS;
|
||||
* Static function prototypes
|
||||
*/
|
||||
static isc_result_t
|
||||
get_reverse(char *reverse, size_t len, char *value, bool strict);
|
||||
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict);
|
||||
|
||||
static isc_result_t
|
||||
parse_uint(uint32_t *uip, const char *value, uint32_t max,
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc);
|
||||
|
||||
static void
|
||||
@@ -410,7 +405,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
|
||||
{
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
static dns_trust_t trust;
|
||||
static bool first = true;
|
||||
static isc_boolean_t first = ISC_TRUE;
|
||||
isc_buffer_t target;
|
||||
isc_region_t r;
|
||||
char *t = NULL;
|
||||
@@ -432,7 +427,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
|
||||
putchar('\n');
|
||||
print_status(rdataset);
|
||||
trust = rdataset->trust;
|
||||
first = false;
|
||||
first = ISC_FALSE;
|
||||
}
|
||||
|
||||
do {
|
||||
@@ -523,17 +518,17 @@ setup_style(dns_master_style_t **stylep) {
|
||||
}
|
||||
|
||||
if (multiline || (nottl && noclass))
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 24, 32, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else if (nottl || noclass)
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 24, 32, 40, 80, 8,
|
||||
splitwidth, mctx);
|
||||
else
|
||||
result = dns_master_stylecreate(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
result = dns_master_stylecreate2(&style, styleflags,
|
||||
24, 32, 40, 48, 80, 8,
|
||||
splitwidth, mctx);
|
||||
|
||||
if (result == ISC_R_SUCCESS)
|
||||
*stylep = style;
|
||||
@@ -552,7 +547,8 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) {
|
||||
|
||||
isc_buffer_constinit(&b, text, len);
|
||||
isc_buffer_add(&b, len);
|
||||
n = dns_fixedname_initname(fn);
|
||||
dns_fixedname_init(fn);
|
||||
n = dns_fixedname_name(fn);
|
||||
|
||||
result = dns_name_fromtext(n, &b, dns_rootname, 0, NULL);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -568,7 +564,7 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) {
|
||||
static isc_result_t
|
||||
key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
||||
dns_rdata_dnskey_t keystruct;
|
||||
uint32_t flags, proto, alg;
|
||||
isc_uint32_t flags, proto, alg;
|
||||
const char *keystr, *keynamestr;
|
||||
unsigned char keydata[4096];
|
||||
isc_buffer_t keydatabuf;
|
||||
@@ -578,7 +574,7 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
||||
dns_fixedname_t fkeyname;
|
||||
dns_name_t *keyname;
|
||||
isc_result_t result;
|
||||
bool match_root = false, match_dlv = false;
|
||||
isc_boolean_t match_root, match_dlv;
|
||||
|
||||
keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name"));
|
||||
CHECK(convert_name(&fkeyname, &keyname, keynamestr));
|
||||
@@ -586,10 +582,8 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
||||
if (!root_validation && !dlv_validation)
|
||||
return (ISC_R_SUCCESS);
|
||||
|
||||
if (anchor_name)
|
||||
match_root = dns_name_equal(keyname, anchor_name);
|
||||
if (dlv_name)
|
||||
match_dlv = dns_name_equal(keyname, dlv_name);
|
||||
match_root = dns_name_equal(keyname, anchor_name);
|
||||
match_dlv = dns_name_equal(keyname, dlv_name);
|
||||
|
||||
if (!match_root && !match_dlv)
|
||||
return (ISC_R_SUCCESS);
|
||||
@@ -623,9 +617,9 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
||||
if (alg > 0xff)
|
||||
CHECK(ISC_R_RANGE);
|
||||
|
||||
keystruct.flags = (uint16_t)flags;
|
||||
keystruct.protocol = (uint8_t)proto;
|
||||
keystruct.algorithm = (uint8_t)alg;
|
||||
keystruct.flags = (isc_uint16_t)flags;
|
||||
keystruct.protocol = (isc_uint8_t)proto;
|
||||
keystruct.algorithm = (isc_uint8_t)alg;
|
||||
|
||||
isc_buffer_init(&keydatabuf, keydata, sizeof(keydata));
|
||||
isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata));
|
||||
@@ -719,10 +713,14 @@ setup_dnsseckeys(dns_client_t *client) {
|
||||
fatal("out of memory");
|
||||
}
|
||||
|
||||
if (trust_anchor != NULL)
|
||||
CHECK(convert_name(&afn, &anchor_name, trust_anchor));
|
||||
if (dlv_anchor != NULL)
|
||||
CHECK(convert_name(&dfn, &dlv_name, dlv_anchor));
|
||||
if (dlv_anchor == NULL) {
|
||||
dlv_anchor = isc_mem_strdup(mctx, "dlv.isc.org");
|
||||
if (dlv_anchor == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
|
||||
CHECK(convert_name(&afn, &anchor_name, trust_anchor));
|
||||
CHECK(convert_name(&dfn, &dlv_name, dlv_anchor));
|
||||
|
||||
CHECK(cfg_parser_create(mctx, dns_lctx, &parser));
|
||||
|
||||
@@ -780,7 +778,7 @@ addserver(dns_client_t *client) {
|
||||
struct in6_addr in6;
|
||||
isc_sockaddr_t *sa;
|
||||
isc_sockaddrlist_t servers;
|
||||
uint32_t destport;
|
||||
isc_uint32_t destport;
|
||||
isc_result_t result;
|
||||
dns_name_t *name = NULL;
|
||||
|
||||
@@ -790,20 +788,14 @@ addserver(dns_client_t *client) {
|
||||
|
||||
ISC_LIST_INIT(servers);
|
||||
|
||||
if (inet_pton(AF_INET, server, &in4) == 1) {
|
||||
if (!use_ipv4) {
|
||||
fatal("Use of IPv4 disabled by -6");
|
||||
}
|
||||
if (use_ipv4 && inet_pton(AF_INET, server, &in4) == 1) {
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
ISC_LINK_INIT(sa, link);
|
||||
isc_sockaddr_fromin(sa, &in4, destport);
|
||||
ISC_LIST_APPEND(servers, sa, link);
|
||||
} else if (inet_pton(AF_INET6, server, &in6) == 1) {
|
||||
if (!use_ipv6) {
|
||||
fatal("Use of IPv6 disabled by -4");
|
||||
}
|
||||
} else if (use_ipv6 && inet_pton(AF_INET6, server, &in6) == 1) {
|
||||
sa = isc_mem_get(mctx, sizeof(*sa));
|
||||
if (sa == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
@@ -871,7 +863,7 @@ findserver(dns_client_t *client) {
|
||||
irs_resconf_t *resconf = NULL;
|
||||
isc_sockaddrlist_t *nameservers;
|
||||
isc_sockaddr_t *sa, *next;
|
||||
uint32_t destport;
|
||||
isc_uint32_t destport;
|
||||
|
||||
result = parse_uint(&destport, port, 0xffff, "port");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
@@ -945,10 +937,22 @@ cleanup:
|
||||
return (result);
|
||||
}
|
||||
|
||||
static char *
|
||||
next_token(char **stringp, const char *delim) {
|
||||
char *res;
|
||||
|
||||
do {
|
||||
res = strsep(stringp, delim);
|
||||
if (res == NULL)
|
||||
break;
|
||||
} while (*res == '\0');
|
||||
return (res);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
parse_uint(uint32_t *uip, const char *value, uint32_t max,
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc) {
|
||||
uint32_t n;
|
||||
isc_uint32_t n;
|
||||
isc_result_t result = isc_parse_uint32(&n, value, 10);
|
||||
if (result == ISC_R_SUCCESS && n > max)
|
||||
result = ISC_R_RANGE;
|
||||
@@ -964,23 +968,24 @@ parse_uint(uint32_t *uip, const char *value, uint32_t max,
|
||||
static void
|
||||
plus_option(char *option) {
|
||||
isc_result_t result;
|
||||
char *cmd, *value, *last = NULL;
|
||||
bool state = true;
|
||||
char option_store[256];
|
||||
char *cmd, *value, *ptr;
|
||||
isc_boolean_t state = ISC_TRUE;
|
||||
|
||||
INSIST(option != NULL);
|
||||
|
||||
cmd = strtok_r(option, "=", &last);
|
||||
strncpy(option_store, option, sizeof(option_store));
|
||||
option_store[sizeof(option_store)-1]=0;
|
||||
ptr = option_store;
|
||||
cmd = next_token(&ptr,"=");
|
||||
if (cmd == NULL) {
|
||||
printf(";; Invalid option %s\n", option);
|
||||
printf(";; Invalid option %s\n", option_store);
|
||||
return;
|
||||
}
|
||||
value = ptr;
|
||||
if (strncasecmp(cmd, "no", 2)==0) {
|
||||
cmd += 2;
|
||||
state = false;
|
||||
state = ISC_FALSE;
|
||||
}
|
||||
|
||||
value = strtok_r(NULL, "\0", &last);
|
||||
|
||||
#define FULLCHECK(A) \
|
||||
do { \
|
||||
size_t _l = strlen(cmd); \
|
||||
@@ -1003,7 +1008,7 @@ plus_option(char *option) {
|
||||
break;
|
||||
case 'l': /* class */
|
||||
FULLCHECK("class");
|
||||
noclass = !state;
|
||||
noclass = ISC_TF(!state);
|
||||
break;
|
||||
case 'o': /* comments */
|
||||
FULLCHECK("comments");
|
||||
@@ -1011,7 +1016,7 @@ plus_option(char *option) {
|
||||
break;
|
||||
case 'r': /* crypto */
|
||||
FULLCHECK("crypto");
|
||||
nocrypto = !state;
|
||||
nocrypto = ISC_TF(!state);
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1084,10 +1089,10 @@ plus_option(char *option) {
|
||||
FULLCHECK("short");
|
||||
short_form = state;
|
||||
if (short_form) {
|
||||
multiline = false;
|
||||
showcomments = false;
|
||||
showtrust = false;
|
||||
showdnssec = false;
|
||||
multiline = ISC_FALSE;
|
||||
showcomments = ISC_FALSE;
|
||||
showtrust = ISC_FALSE;
|
||||
showdnssec = ISC_FALSE;
|
||||
}
|
||||
break;
|
||||
case 'p': /* split */
|
||||
@@ -1139,7 +1144,7 @@ plus_option(char *option) {
|
||||
break;
|
||||
case 't': /* ttl */
|
||||
FULLCHECK("ttl");
|
||||
nottl = !state;
|
||||
nottl = ISC_TF(!state);
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1167,11 +1172,11 @@ plus_option(char *option) {
|
||||
* options: "46a:b:c:d:himp:q:t:vx:";
|
||||
*/
|
||||
static const char *single_dash_opts = "46himv";
|
||||
static bool
|
||||
dash_option(char *option, char *next, bool *open_type_class) {
|
||||
static isc_boolean_t
|
||||
dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
|
||||
char opt, *value;
|
||||
isc_result_t result;
|
||||
bool value_from_next;
|
||||
isc_boolean_t value_from_next;
|
||||
isc_textregion_t tr;
|
||||
dns_rdatatype_t rdtype;
|
||||
dns_rdataclass_t rdclass;
|
||||
@@ -1179,7 +1184,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
struct in_addr in4;
|
||||
struct in6_addr in6;
|
||||
in_port_t srcport;
|
||||
uint32_t num;
|
||||
isc_uint32_t num;
|
||||
char *hash;
|
||||
|
||||
while (strpbrk(option, single_dash_opts) == &option[0]) {
|
||||
@@ -1195,7 +1200,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
fatal("IPv4 networking not available");
|
||||
if (use_ipv6) {
|
||||
isc_net_disableipv6();
|
||||
use_ipv6 = false;
|
||||
use_ipv6 = ISC_FALSE;
|
||||
}
|
||||
break;
|
||||
case '6':
|
||||
@@ -1203,7 +1208,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
fatal("IPv6 networking not available");
|
||||
if (use_ipv4) {
|
||||
isc_net_disableipv4();
|
||||
use_ipv4 = false;
|
||||
use_ipv4 = ISC_FALSE;
|
||||
}
|
||||
break;
|
||||
case 'h':
|
||||
@@ -1211,9 +1216,9 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
exit(0);
|
||||
/* NOTREACHED */
|
||||
case 'i':
|
||||
no_sigs = true;
|
||||
dlv_validation = false;
|
||||
root_validation = false;
|
||||
no_sigs = ISC_TRUE;
|
||||
dlv_validation = ISC_FALSE;
|
||||
root_validation = ISC_FALSE;
|
||||
break;
|
||||
case 'm':
|
||||
/* handled in preparse_args() */
|
||||
@@ -1228,14 +1233,14 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
if (strlen(option) > 1U)
|
||||
option = &option[1];
|
||||
else
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
opt = option[0];
|
||||
if (strlen(option) > 1U) {
|
||||
value_from_next = false;
|
||||
value_from_next = ISC_FALSE;
|
||||
value = &option[1];
|
||||
} else {
|
||||
value_from_next = true;
|
||||
value_from_next = ISC_TRUE;
|
||||
value = next;
|
||||
}
|
||||
if (value == NULL)
|
||||
@@ -1281,13 +1286,13 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
if (classset)
|
||||
warn("extra query class");
|
||||
|
||||
*open_type_class = false;
|
||||
*open_type_class = ISC_FALSE;
|
||||
tr.base = value;
|
||||
tr.length = strlen(value);
|
||||
result = dns_rdataclass_fromtext(&rdclass,
|
||||
(isc_textregion_t *)&tr);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
classset = true;
|
||||
classset = ISC_TRUE;
|
||||
else if (rdclass != dns_rdataclass_in)
|
||||
warn("ignoring non-IN query class");
|
||||
else
|
||||
@@ -1312,7 +1317,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
fatal("out of memory");
|
||||
return (value_from_next);
|
||||
case 't':
|
||||
*open_type_class = false;
|
||||
*open_type_class = ISC_FALSE;
|
||||
tr.base = value;
|
||||
tr.length = strlen(value);
|
||||
result = dns_rdatatype_fromtext(&rdtype,
|
||||
@@ -1324,13 +1329,13 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
rdtype == dns_rdatatype_axfr)
|
||||
fatal("Transfer not supported");
|
||||
qtype = rdtype;
|
||||
typeset = true;
|
||||
typeset = ISC_TRUE;
|
||||
} else
|
||||
warn("ignoring invalid type");
|
||||
return (value_from_next);
|
||||
case 'x':
|
||||
result = get_reverse(textname, sizeof(textname), value,
|
||||
false);
|
||||
ISC_FALSE);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
if (curqname != NULL) {
|
||||
isc_mem_free(mctx, curqname);
|
||||
@@ -1342,7 +1347,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
if (typeset)
|
||||
warn("extra query type");
|
||||
qtype = dns_rdatatype_ptr;
|
||||
typeset = true;
|
||||
typeset = ISC_TRUE;
|
||||
} else {
|
||||
fprintf(stderr, "Invalid IP address %s\n", value);
|
||||
exit(1);
|
||||
@@ -1354,7 +1359,7 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
usage();
|
||||
}
|
||||
/* NOTREACHED */
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1363,7 +1368,6 @@ dash_option(char *option, char *next, bool *open_type_class) {
|
||||
*/
|
||||
static void
|
||||
preparse_args(int argc, char **argv) {
|
||||
bool ipv4only = false, ipv6only = false;
|
||||
char *option;
|
||||
|
||||
for (argc--, argv++; argc > 0; argc--, argv++) {
|
||||
@@ -1371,23 +1375,10 @@ preparse_args(int argc, char **argv) {
|
||||
continue;
|
||||
option = &argv[0][1];
|
||||
while (strpbrk(option, single_dash_opts) == &option[0]) {
|
||||
switch (option[0]) {
|
||||
case 'm':
|
||||
if (option[0] == 'm') {
|
||||
isc_mem_debugging = ISC_MEM_DEBUGTRACE |
|
||||
ISC_MEM_DEBUGRECORD;
|
||||
break;
|
||||
case '4':
|
||||
if (ipv6only) {
|
||||
fatal("only one of -4 and -6 allowed");
|
||||
}
|
||||
ipv4only = true;
|
||||
break;
|
||||
case '6':
|
||||
if (ipv4only) {
|
||||
fatal("only one of -4 and -6 allowed");
|
||||
}
|
||||
ipv6only = true;
|
||||
break;
|
||||
return;
|
||||
}
|
||||
option = &option[1];
|
||||
}
|
||||
@@ -1406,7 +1397,7 @@ parse_args(int argc, char **argv) {
|
||||
isc_textregion_t tr;
|
||||
dns_rdatatype_t rdtype;
|
||||
dns_rdataclass_t rdclass;
|
||||
bool open_type_class = true;
|
||||
isc_boolean_t open_type_class = ISC_TRUE;
|
||||
|
||||
for (; argc > 0; argc--, argv++) {
|
||||
if (argv[0][0] == '@') {
|
||||
@@ -1445,7 +1436,7 @@ parse_args(int argc, char **argv) {
|
||||
rdtype == dns_rdatatype_axfr)
|
||||
fatal("Transfer not supported");
|
||||
qtype = rdtype;
|
||||
typeset = true;
|
||||
typeset = ISC_TRUE;
|
||||
continue;
|
||||
}
|
||||
result = dns_rdataclass_fromtext(&rdclass,
|
||||
@@ -1514,7 +1505,7 @@ reverse_octets(const char *in, char **p, char *end) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
get_reverse(char *reverse, size_t len, char *value, bool strict) {
|
||||
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict) {
|
||||
int r;
|
||||
isc_result_t result;
|
||||
isc_netaddr_t addr;
|
||||
@@ -1527,8 +1518,9 @@ get_reverse(char *reverse, size_t len, char *value, bool strict) {
|
||||
dns_name_t *name;
|
||||
unsigned int options = 0;
|
||||
|
||||
name = dns_fixedname_initname(&fname);
|
||||
result = dns_byaddr_createptrname(&addr, options, name);
|
||||
dns_fixedname_init(&fname);
|
||||
name = dns_fixedname_name(&fname);
|
||||
result = dns_byaddr_createptrname2(&addr, options, name);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
dns_name_format(name, reverse, (unsigned int)len);
|
||||
@@ -1574,8 +1566,8 @@ main(int argc, char *argv[]) {
|
||||
struct sigaction sa;
|
||||
#endif
|
||||
|
||||
progname = argv[0];
|
||||
preparse_args(argc, argv);
|
||||
progname = argv[0];
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
@@ -1612,8 +1604,8 @@ main(int argc, char *argv[]) {
|
||||
|
||||
/* Create client */
|
||||
clopt = DNS_CLIENTCREATEOPT_USECACHE;
|
||||
result = dns_client_createx(mctx, actx, taskmgr, socketmgr, timermgr,
|
||||
clopt, &client, srcaddr4, srcaddr6);
|
||||
result = dns_client_createx2(mctx, actx, taskmgr, socketmgr, timermgr,
|
||||
clopt, &client, srcaddr4, srcaddr6);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
delv_log(ISC_LOG_ERROR, "dns_client_create: %s",
|
||||
isc_result_totext(result));
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -37,8 +34,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -47,10 +42,8 @@
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>delv</command>
|
||||
<arg choice="opt" rep="norepeat">@server</arg>
|
||||
<group choice="opt" rep="norepeat">
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
</group>
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-a <replaceable class="parameter">anchor-file</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-b <replaceable class="parameter">address</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
@@ -87,7 +80,7 @@
|
||||
<refsection><info><title>DESCRIPTION</title></info>
|
||||
|
||||
<para><command>delv</command>
|
||||
is a tool for sending
|
||||
(Domain Entity Lookup & Validation) is a tool for sending
|
||||
DNS queries and validating the results, using the same internal
|
||||
resolver and validator logic as <command>named</command>.
|
||||
</para>
|
||||
@@ -103,7 +96,8 @@
|
||||
</para>
|
||||
<para>
|
||||
By default, responses are validated using built-in DNSSEC trust
|
||||
anchor for the root zone ("."). Records returned by
|
||||
anchors for the root zone (".") and for the ISC DNSSEC lookaside
|
||||
validation zone ("dlv.isc.org"). Records returned by
|
||||
<command>delv</command> are either fully validated or
|
||||
were not signed. If validation fails, an explanation of
|
||||
the failure is included in the output; the validation process
|
||||
@@ -205,15 +199,14 @@
|
||||
Specifies a file from which to read DNSSEC trust anchors.
|
||||
The default is <filename>/etc/bind.keys</filename>, which
|
||||
is included with <acronym>BIND</acronym> 9 and contains
|
||||
one or more trust anchors for the root zone (".").
|
||||
trust anchors for the root zone (".") and for the ISC
|
||||
DNSSEC lookaside validation zone ("dlv.isc.org").
|
||||
</para>
|
||||
<para>
|
||||
Keys that do not match the root zone name are ignored.
|
||||
An alternate key name can be specified using the
|
||||
<option>+root=NAME</option> options. DNSSEC Lookaside
|
||||
Validation can also be turned on by using the
|
||||
<option>+dlv=NAME</option> to specify the name of a
|
||||
zone containing DLV records.
|
||||
Keys that do not match the root or DLV trust-anchor
|
||||
names are ignored; these key names can be overridden
|
||||
using the <option>+dlv=NAME</option> or
|
||||
<option>+root=NAME</option> options.
|
||||
</para>
|
||||
<para>
|
||||
Note: When reading the trust anchor file,
|
||||
@@ -643,8 +636,11 @@
|
||||
<para>
|
||||
Indicates whether to perform DNSSEC lookaside validation,
|
||||
and if so, specifies the name of the DLV trust anchor.
|
||||
The <option>-a</option> option must also be used to specify
|
||||
a file containing the DLV key.
|
||||
The default is to perform lookaside validation using
|
||||
a trust anchor of "dlv.isc.org", for which there is a
|
||||
built-in key. If specifying a different name, then
|
||||
<option>-a</option> must be used to specify a file
|
||||
containing the DLV key.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -34,10 +34,8 @@
|
||||
<div class="cmdsynopsis"><p>
|
||||
<code class="command">delv</code>
|
||||
[@server]
|
||||
[
|
||||
[<code class="option">-4</code>]
|
||||
| [<code class="option">-6</code>]
|
||||
]
|
||||
[<code class="option">-4</code>]
|
||||
[<code class="option">-6</code>]
|
||||
[<code class="option">-a <em class="replaceable"><code>anchor-file</code></em></code>]
|
||||
[<code class="option">-b <em class="replaceable"><code>address</code></em></code>]
|
||||
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
|
||||
@@ -75,7 +73,7 @@
|
||||
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
|
||||
|
||||
<p><span class="command"><strong>delv</strong></span>
|
||||
is a tool for sending
|
||||
(Domain Entity Lookup & Validation) is a tool for sending
|
||||
DNS queries and validating the results, using the same internal
|
||||
resolver and validator logic as <span class="command"><strong>named</strong></span>.
|
||||
</p>
|
||||
@@ -91,7 +89,8 @@
|
||||
</p>
|
||||
<p>
|
||||
By default, responses are validated using built-in DNSSEC trust
|
||||
anchor for the root zone ("."). Records returned by
|
||||
anchors for the root zone (".") and for the ISC DNSSEC lookaside
|
||||
validation zone ("dlv.isc.org"). Records returned by
|
||||
<span class="command"><strong>delv</strong></span> are either fully validated or
|
||||
were not signed. If validation fails, an explanation of
|
||||
the failure is included in the output; the validation process
|
||||
@@ -188,15 +187,14 @@
|
||||
Specifies a file from which to read DNSSEC trust anchors.
|
||||
The default is <code class="filename">/etc/bind.keys</code>, which
|
||||
is included with <acronym class="acronym">BIND</acronym> 9 and contains
|
||||
one or more trust anchors for the root zone (".").
|
||||
trust anchors for the root zone (".") and for the ISC
|
||||
DNSSEC lookaside validation zone ("dlv.isc.org").
|
||||
</p>
|
||||
<p>
|
||||
Keys that do not match the root zone name are ignored.
|
||||
An alternate key name can be specified using the
|
||||
<code class="option">+root=NAME</code> options. DNSSEC Lookaside
|
||||
Validation can also be turned on by using the
|
||||
<code class="option">+dlv=NAME</code> to specify the name of a
|
||||
zone containing DLV records.
|
||||
Keys that do not match the root or DLV trust-anchor
|
||||
names are ignored; these key names can be overridden
|
||||
using the <code class="option">+dlv=NAME</code> or
|
||||
<code class="option">+root=NAME</code> options.
|
||||
</p>
|
||||
<p>
|
||||
Note: When reading the trust anchor file,
|
||||
@@ -538,8 +536,11 @@
|
||||
<p>
|
||||
Indicates whether to perform DNSSEC lookaside validation,
|
||||
and if so, specifies the name of the DLV trust anchor.
|
||||
The <code class="option">-a</code> option must also be used to specify
|
||||
a file containing the DLV key.
|
||||
The default is to perform lookaside validation using
|
||||
a trust anchor of "dlv.isc.org", for which there is a
|
||||
built-in key. If specifying a different name, then
|
||||
<code class="option">-a</code> must be used to specify a file
|
||||
containing the DLV key.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
|
||||
|
||||
103
bin/delv/win32/delv.dsp.in
Normal file
103
bin/delv/win32/delv.dsp.in
Normal file
@@ -0,0 +1,103 @@
|
||||
# Microsoft Developer Studio Project File - Name="delv" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=delv - @PLATFORM@ 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 "delv.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 "delv.mak" CFG="delv - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "delv - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "delv - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "delv - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/irs/win32/include" /I "../../../lib/irs/include" @CRYPTO@ /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" @COPTY@ /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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/irs/win32/Release/libirs.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/delv.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "delv - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/irs/win32/include" /I "../../../lib/irs/include" @CRYPTO@ /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/irs/win32/Debug/libirs.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/delv.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "delv - @PLATFORM@ Release"
|
||||
# Name "delv - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\delv.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
|
||||
29
bin/delv/win32/delv.dsw
Normal file
29
bin/delv/win32/delv.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "delv"=".\delv.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
299
bin/delv/win32/delv.mak.in
Normal file
299
bin/delv/win32/delv.mak.in
Normal file
@@ -0,0 +1,299 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on delv.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=delv - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to delv - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "delv - @PLATFORM@ Release" && "$(CFG)" != "delv - @PLATFORM@ 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 "delv.mak" CFG="delv - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "delv - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "delv - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "delv - @PLATFORM@ 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)" == "delv - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "..\..\..\Build\Release\delv.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\delv.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\delv.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/irs/win32/include" /I "../../../lib/irs/include" @CRYPTO@ /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\delv.pch" @COPTY@ /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)\delv.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/irs/win32/Release/libirs.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\delv.pdb" @MACHINE@ /out:"../../../Build/Release/delv.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\delv.obj"
|
||||
|
||||
"..\..\..\Build\Release\delv.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "delv - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "..\..\..\Build\Debug\delv.exe" "$(OUTDIR)\delv.bsc"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\delv.obj"
|
||||
-@erase "$(INTDIR)\delv.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\delv.pdb"
|
||||
-@erase "$(OUTDIR)\delv.bsc"
|
||||
-@erase "..\..\..\Build\Debug\delv.exe"
|
||||
-@erase "..\..\..\Build\Debug\delv.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/irs/win32/include" /I "../../../lib/irs/include" @CRYPTO@ /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)\delv.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\delv.sbr"
|
||||
|
||||
"$(OUTDIR)\delv.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/irs/win32/Debug/libirs.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\delv.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/delv.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\delv.obj"
|
||||
|
||||
"..\..\..\Build\Debug\delv.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("delv.dep")
|
||||
!INCLUDE "delv.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "delv.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "delv - @PLATFORM@ Release" || "$(CFG)" == "delv - @PLATFORM@ Debug"
|
||||
SOURCE="..\delv.c"
|
||||
|
||||
!IF "$(CFG)" == "delv - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\delv.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "delv - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\delv.obj" "$(INTDIR)\delv.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
|
||||
@@ -53,7 +53,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
@@ -79,7 +79,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -17,34 +14,34 @@ VERSION=@BIND9_VERSION@
|
||||
|
||||
READLINE_LIB = @READLINE_LIB@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} \
|
||||
${BIND9_INCLUDES} ${ISC_INCLUDES} \
|
||||
${IRS_INCLUDES} ${ISCCFG_INCLUDES} @LIBIDN2_CFLAGS@ @OPENSSL_INCLUDES@
|
||||
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
|
||||
${ISC_INCLUDES} @DST_OPENSSL_INC@ \
|
||||
${LWRES_INCLUDES} ${ISCCFG_INCLUDES}
|
||||
|
||||
CDEFINES = -DVERSION=\"${VERSION}\"
|
||||
CDEFINES = -DVERSION=\"${VERSION}\" @CRYPTO@
|
||||
CWARNINGS =
|
||||
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
|
||||
IRSLIBS = ../../lib/irs/libirs.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
LWRESLIBS = ../../lib/lwres/liblwres.@A@
|
||||
|
||||
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
DNSDEPLIBS = ../../lib/dns/libdns.@A@
|
||||
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
IRSDEPLIBS = ../../lib/irs/libirs.@A@
|
||||
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
|
||||
|
||||
DEPLIBS = ${DNSDEPLIBS} ${IRSDEPLIBS} ${BIND9DEPLIBS} \
|
||||
${ISCDEPLIBS} ${ISCCFGDEPLIBS}
|
||||
DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} \
|
||||
${ISCCFGDEPLIBS} ${LWRESDEPLIBS}
|
||||
|
||||
LIBS = ${DNSLIBS} ${IRSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCLIBS} @LIBIDN2_LIBS@ @LIBS@
|
||||
LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCLIBS} @IDNLIBS@ @LIBS@
|
||||
|
||||
NOSYMLIBS = ${DNSLIBS} ${IRSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCNOSYMLIBS} @LIBIDN2_LIBS@ @LIBS@
|
||||
NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
@@ -64,21 +61,19 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
LDFLAGS = @LDFLAGS@ @LIBIDN2_LDFLAGS@
|
||||
|
||||
dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
export BASEOBJS="dig.@O@ dighost.@O@ ${UOBJS}"; \
|
||||
export LIBS0="${DNSLIBS} ${IRSLIBS}"; \
|
||||
export LIBS0="${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
host@EXEEXT@: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
export BASEOBJS="host.@O@ dighost.@O@ ${UOBJS}"; \
|
||||
export LIBS0="${DNSLIBS} ${IRSLIBS}"; \
|
||||
export LIBS0="${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
nslookup@EXEEXT@: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
export BASEOBJS="nslookup.@O@ dighost.@O@ ${READLINE_LIB} ${UOBJS}"; \
|
||||
export LIBS0="${DNSLIBS} ${IRSLIBS}"; \
|
||||
export LIBS0="${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
dig \- DNS lookup utility
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBdig\fR\ 'u
|
||||
\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\-v\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\-v\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 \w'\fBdig\fR\ 'u
|
||||
\fBdig\fR [\fB\-h\fR]
|
||||
.HP \w'\fBdig\fR\ 'u
|
||||
@@ -47,7 +47,7 @@ dig \- DNS lookup utility
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdig\fR
|
||||
is a flexible tool for interrogating DNS name servers\&. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried\&. Most DNS administrators use
|
||||
(domain information groper) is a flexible tool for interrogating DNS name servers\&. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried\&. Most DNS administrators use
|
||||
\fBdig\fR
|
||||
to troubleshoot DNS problems because of its flexibility, ease of use and clarity of output\&. Other lookup tools tend to have less functionality than
|
||||
\fBdig\fR\&.
|
||||
@@ -176,7 +176,7 @@ using the command\-line interface\&.
|
||||
.PP
|
||||
\-i
|
||||
.RS 4
|
||||
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC 2874) are not attempted\&.
|
||||
Do reverse IPv6 lookups using the obsolete RFC1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC2874) are not attempted\&.
|
||||
.RE
|
||||
.PP
|
||||
\-k \fIkeyfile\fR
|
||||
@@ -210,20 +210,13 @@ from other arguments\&.
|
||||
.PP
|
||||
\-t \fItype\fR
|
||||
.RS 4
|
||||
The resource record type to query\&. It can be any valid query type\&. If it is a resource record type supported in BIND 9, it can be given by the type mnemonic (such as "NS" or "AAAA")\&. The default query type is "A", unless the
|
||||
The resource record type to query\&. It can be any valid query type which is supported in BIND 9\&. The default query type is "A", unless the
|
||||
\fB\-x\fR
|
||||
option is supplied to indicate a reverse lookup\&. A zone transfer can be requested by specifying a type of AXFR\&. When an incremental zone transfer (IXFR) is required, set the
|
||||
\fItype\fR
|
||||
to
|
||||
ixfr=N\&. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone\*(Aqs SOA record was
|
||||
\fIN\fR\&.
|
||||
.sp
|
||||
All resource record types can be expressed as "TYPEnn", where "nn" is the number of the type\&. If the resource record type is not supported in BIND 9, the result will be displayed as described in RFC 3597\&.
|
||||
.RE
|
||||
.PP
|
||||
\-u
|
||||
.RS 4
|
||||
Print query times in microseconds instead of milliseconds\&.
|
||||
.RE
|
||||
.PP
|
||||
\-v
|
||||
@@ -466,11 +459,6 @@ Show [or do not show] the IP address and port number that supplied the answer wh
|
||||
option is enabled\&. If short form answers are requested, the default is not to show the source address and port number of the server that provided the answer\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]idnin\fR
|
||||
.RS 4
|
||||
Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&. The default is to process IDN input\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]idnout\fR
|
||||
.RS 4
|
||||
Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&. The default is to convert output\&.
|
||||
@@ -481,11 +469,6 @@ Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to hav
|
||||
Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]keepalive\fR
|
||||
.RS 4
|
||||
Send [or do not send] an EDNS Keepalive option\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]keepopen\fR
|
||||
.RS 4
|
||||
Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is
|
||||
@@ -532,7 +515,7 @@ Include an EDNS name server ID request when sending a query\&.
|
||||
.RS 4
|
||||
When this option is set,
|
||||
\fBdig\fR
|
||||
attempts to find the authoritative name servers for the zone containing the name being looked up and display the SOA record that each name server has for the zone\&. Addresses of servers that that did not respond are also printed\&.
|
||||
attempts to find the authoritative name servers for the zone containing the name being looked up and display the SOA record that each name server has for the zone\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]onesoa\fR
|
||||
@@ -545,15 +528,6 @@ Print only one (starting) SOA record when performing an AXFR\&. The default is t
|
||||
Set [restore] the DNS message opcode to the specified value\&. The default value is QUERY (0)\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+padding=value\fR
|
||||
.RS 4
|
||||
Pad the size of the query packet using the EDNS Padding option to blocks of
|
||||
\fIvalue\fR
|
||||
bytes\&. For example,
|
||||
\fB+padding=32\fR
|
||||
would cause a 48\-byte query to be padded to 64 bytes\&. The default block size is 0, which disables padding\&. The maximum is 512\&. Values are ordinarily expected to be powers of two, such as 128; however, this is not mandatory\&. Responses to padded queries may also be padded, but only if the query uses TCP or DNS COOKIE\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]qr\fR
|
||||
.RS 4
|
||||
Print [do not print] the query as it is sent\&. By default, the query is not printed\&.
|
||||
@@ -564,11 +538,6 @@ Print [do not print] the query as it is sent\&. By default, the query is not pri
|
||||
Print [do not print] the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]raflag\fR
|
||||
.RS 4
|
||||
Set [do not set] the RA (Recursion Available) bit in the query\&. The default is +noraflag\&. This bit should be ignored by the server for QUERY\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]rdflag\fR
|
||||
.RS 4
|
||||
A synonym for
|
||||
@@ -624,7 +593,7 @@ Perform [do not perform] a search showing intermediate results\&.
|
||||
.PP
|
||||
\fB+[no]sigchase\fR
|
||||
.RS 4
|
||||
This feature is now obsolete and has been removed; use
|
||||
Chase DNSSEC signature chains\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
|
||||
\fBdelv\fR
|
||||
instead\&.
|
||||
.RE
|
||||
@@ -658,11 +627,6 @@ for short, sends an EDNS CLIENT\-SUBNET option with an empty address and a sourc
|
||||
be used when resolving this query\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]tcflag\fR
|
||||
.RS 4
|
||||
Set [do not set] the TC (TrunCation) bit in the query\&. The default is +notcflag\&. This bit should be ignored by the server for QUERY\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]tcp\fR
|
||||
.RS 4
|
||||
Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP unless a type
|
||||
@@ -683,8 +647,7 @@ to less than 1 will result in a query timeout of 1 second being applied\&.
|
||||
.PP
|
||||
\fB+[no]topdown\fR
|
||||
.RS 4
|
||||
This feature is related to
|
||||
\fBdig +sigchase\fR, which is obsolete and has been removed\&. Use
|
||||
When chasing DNSSEC signature chains perform a top\-down validation\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
|
||||
\fBdelv\fR
|
||||
instead\&.
|
||||
.RE
|
||||
@@ -712,8 +675,18 @@ is less than or equal to zero, the number of tries is silently rounded up to 1\&
|
||||
.PP
|
||||
\fB+trusted\-key=####\fR
|
||||
.RS 4
|
||||
Formerly specified trusted keys for use with
|
||||
\fBdig +sigchase\fR\&. This feature is now obsolete and has been removed; use
|
||||
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,
|
||||
\fBdig\fR
|
||||
will look for
|
||||
/etc/trusted\-key\&.key
|
||||
then
|
||||
trusted\-key\&.key
|
||||
in the current directory\&.
|
||||
.sp
|
||||
Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
|
||||
\fBdelv\fR
|
||||
instead\&.
|
||||
.RE
|
||||
@@ -756,11 +729,9 @@ In this case, each
|
||||
\fIquery\fR
|
||||
argument represent an individual query in the command\-line syntax described above\&. Each consists of any of the standard options and flags, the name to be looked up, an optional query type and class and any query options that should be applied to that query\&.
|
||||
.PP
|
||||
A global set of query options, which should be applied to all queries, can also be supplied\&. These global query options must precede the first tuple of name, class, type, options, flags, and query options supplied on the command line\&. Any global query options (except
|
||||
A global set of query options, which should be applied to all queries, can also be supplied\&. These global query options must precede the first tuple of name, class, type, options, flags, and query options supplied on the command line\&. Any global query options (except the
|
||||
\fB+[no]cmd\fR
|
||||
and
|
||||
\fB+[no]short\fR
|
||||
options) can be overridden by a query\-specific set of query options\&. For example:
|
||||
option) can be overridden by a query\-specific set of query options\&. For example:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
@@ -792,10 +763,11 @@ If
|
||||
\fBdig\fR
|
||||
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&.
|
||||
\fBdig\fR
|
||||
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server\&. If you\*(Aqd like to turn off the IDN support for some reason, use parameters
|
||||
\fI+noidnin\fR
|
||||
and
|
||||
\fI+noidnout\fR\&.
|
||||
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server\&. If you\*(Aqd like to turn off the IDN support for some reason, defines the
|
||||
\fBIDN_DISABLE\fR
|
||||
environment variable\&. The IDN support is disabled if the variable is set when
|
||||
\fBdig\fR
|
||||
runs\&.
|
||||
.SH "FILES"
|
||||
.PP
|
||||
/etc/resolv\&.conf
|
||||
@@ -807,7 +779,7 @@ ${HOME}/\&.digrc
|
||||
\fBhost\fR(1),
|
||||
\fBnamed\fR(8),
|
||||
\fBdnssec-keygen\fR(8),
|
||||
RFC 1035\&.
|
||||
RFC1035\&.
|
||||
.SH "BUGS"
|
||||
.PP
|
||||
There are probably too many query options\&.
|
||||
@@ -816,5 +788,5 @@ There are probably too many query options\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
914
bin/dig/dig.c
914
bin/dig/dig.c
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,11 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -51,7 +48,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -71,10 +67,8 @@
|
||||
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-x <replaceable class="parameter">addr</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-y <replaceable class="parameter"><optional>hmac:</optional>name:key</replaceable></option></arg>
|
||||
<group choice="opt" rep="norepeat">
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
</group>
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
<arg choice="opt" rep="norepeat">name</arg>
|
||||
<arg choice="opt" rep="norepeat">type</arg>
|
||||
<arg choice="opt" rep="norepeat">class</arg>
|
||||
@@ -95,7 +89,8 @@
|
||||
|
||||
<refsection><info><title>DESCRIPTION</title></info>
|
||||
|
||||
<para><command>dig</command> is a flexible tool
|
||||
<para><command>dig</command>
|
||||
(domain information groper) is a flexible tool
|
||||
for interrogating DNS name servers. It performs DNS lookups and
|
||||
displays the answers that are returned from the name server(s) that
|
||||
were queried. Most DNS administrators use <command>dig</command> to
|
||||
@@ -275,9 +270,9 @@
|
||||
<term>-i</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
|
||||
Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
|
||||
domain, which is no longer in use. Obsolete bit string
|
||||
label queries (RFC 2874) are not attempted.
|
||||
label queries (RFC2874) are not attempted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -338,12 +333,11 @@
|
||||
<term>-t <replaceable class="parameter">type</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The resource record type to query. It can be any valid query
|
||||
type. If it is a resource record type supported in BIND 9, it
|
||||
can be given by the type mnemonic (such as "NS" or "AAAA").
|
||||
The default query type is "A", unless the <option>-x</option>
|
||||
option is supplied to indicate a reverse lookup. A zone
|
||||
transfer can be requested by specifying a type of AXFR. When
|
||||
The resource record type to query. It can be any valid query type
|
||||
which is
|
||||
supported in BIND 9. The default query type is "A", unless the
|
||||
<option>-x</option> option is supplied to indicate a reverse lookup.
|
||||
A zone transfer can be requested by specifying a type of AXFR. When
|
||||
an incremental zone transfer (IXFR) is required, set the
|
||||
<parameter>type</parameter> to <literal>ixfr=N</literal>.
|
||||
The incremental zone transfer will contain the changes
|
||||
@@ -351,21 +345,6 @@
|
||||
record was
|
||||
<parameter>N</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
All resource record types can be expressed as "TYPEnn", where
|
||||
"nn" is the number of the type. If the resource record type is
|
||||
not supported in BIND 9, the result will be displayed as
|
||||
described in RFC 3597.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-u</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -783,17 +762,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]idnin</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Process [do not process] IDN domain names on input.
|
||||
This requires IDN SUPPORT to have been enabled at
|
||||
compile time. The default is to process IDN input.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]idnout</option></term>
|
||||
<listitem>
|
||||
@@ -815,15 +783,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]keepalive</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Send [or do not send] an EDNS Keepalive option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]keepopen</option></term>
|
||||
<listitem>
|
||||
@@ -895,8 +854,7 @@
|
||||
attempts to find the authoritative name servers for
|
||||
the zone containing the name being looked up and
|
||||
display the SOA record that each name server has for
|
||||
the zone. Addresses of servers that that did not
|
||||
respond are also printed.
|
||||
the zone.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -922,23 +880,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+padding=value</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Pad the size of the query packet using the EDNS Padding option
|
||||
to blocks of <parameter>value</parameter> bytes. For example,
|
||||
<option>+padding=32</option> would cause a 48-byte query to
|
||||
be padded to 64 bytes. The default block size is 0, which
|
||||
disables padding. The maximum is 512. Values are
|
||||
ordinarily expected to be powers of two, such as 128;
|
||||
however, this is not mandatory. Responses to
|
||||
padded queries may also be padded, but only if the query
|
||||
uses TCP or DNS COOKIE.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]qr</option></term>
|
||||
<listitem>
|
||||
@@ -960,17 +901,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]raflag</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the RA (Recursion Available) bit in
|
||||
the query. The default is +noraflag. This bit should
|
||||
be ignored by the server for QUERY.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]rdflag</option></term>
|
||||
<listitem>
|
||||
@@ -1061,8 +991,9 @@
|
||||
<term><option>+[no]sigchase</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
This feature is now obsolete and has been removed;
|
||||
use <command>delv</command> instead.
|
||||
Chase DNSSEC signature chains. Requires dig be compiled
|
||||
with -DDIG_SIGCHASE. This feature is deprecated.
|
||||
Use <command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1103,24 +1034,13 @@
|
||||
specified IP address or network prefix.
|
||||
</para>
|
||||
<para>
|
||||
<command>dig +subnet=0.0.0.0/0</command>, or simply
|
||||
<command>dig +subnet=0</command> for short, sends an EDNS
|
||||
CLIENT-SUBNET option with an empty address and a source
|
||||
prefix-length of zero, which signals a resolver that
|
||||
the client's address information must
|
||||
<emphasis>not</emphasis> be used when resolving
|
||||
this query.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]tcflag</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Set [do not set] the TC (TrunCation) bit in the query.
|
||||
The default is +notcflag. This bit should be ignored
|
||||
by the server for QUERY.
|
||||
<command>dig +subnet=0.0.0.0/0</command>, or simply
|
||||
<command>dig +subnet=0</command> for short, sends an EDNS
|
||||
CLIENT-SUBNET option with an empty address and a source
|
||||
prefix-length of zero, which signals a resolver that
|
||||
the client's address information must
|
||||
<emphasis>not</emphasis> be used when resolving
|
||||
this query.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1157,9 +1077,9 @@
|
||||
<term><option>+[no]topdown</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
This feature is related to <command>dig +sigchase</command>,
|
||||
which is obsolete and has been removed. Use
|
||||
<command>delv</command> instead.
|
||||
When chasing DNSSEC signature chains perform a top-down
|
||||
validation. Requires dig be compiled with -DDIG_SIGCHASE.
|
||||
This feature is deprecated. Use <command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1203,10 +1123,17 @@
|
||||
<term><option>+trusted-key=####</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Formerly specified trusted keys for use with
|
||||
<command>dig +sigchase</command>. This feature is now
|
||||
obsolete and has been removed; use
|
||||
<command>delv</command> instead.
|
||||
Specifies a file containing trusted keys to be used
|
||||
with <option>+sigchase</option>. Each DNSKEY record
|
||||
must be on its own line.
|
||||
</para> <para>
|
||||
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> <para>
|
||||
Requires dig be compiled with -DDIG_SIGCHASE.
|
||||
This feature is deprecated. Use <command>delv</command> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1296,9 +1223,8 @@
|
||||
can also be supplied. These global query options must precede the
|
||||
first tuple of name, class, type, options, flags, and query options
|
||||
supplied on the command line. Any global query options (except
|
||||
<option>+[no]cmd</option> and <option>+[no]short</option> options)
|
||||
can be overridden by a query-specific set of query options.
|
||||
For example:
|
||||
the <option>+[no]cmd</option> option) can be
|
||||
overridden by a query-specific set of query options. For example:
|
||||
<programlisting>
|
||||
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</programlisting>
|
||||
@@ -1328,9 +1254,10 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<command>dig</command> appropriately converts character encoding of
|
||||
domain name before sending a request to DNS server or displaying a
|
||||
reply from the server.
|
||||
If you'd like to turn off the IDN support for some reason, use
|
||||
parameters <parameter>+noidnin</parameter> and
|
||||
<parameter>+noidnout</parameter>.
|
||||
If you'd like to turn off the IDN support for some reason, defines
|
||||
the <envar>IDN_DISABLE</envar> environment variable.
|
||||
The IDN support is disabled if the variable is set when
|
||||
<command>dig</command> runs.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
@@ -1356,7 +1283,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<citerefentry>
|
||||
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>RFC 1035</citetitle>.
|
||||
<citetitle>RFC1035</citetitle>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
139
bin/dig/dig.html
139
bin/dig/dig.html
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -45,10 +45,8 @@
|
||||
[<code class="option">-v</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>]
|
||||
]
|
||||
[<code class="option">-4</code>]
|
||||
[<code class="option">-6</code>]
|
||||
[name]
|
||||
[type]
|
||||
[class]
|
||||
@@ -70,7 +68,8 @@
|
||||
<div class="refsection">
|
||||
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
|
||||
|
||||
<p><span class="command"><strong>dig</strong></span> is a flexible tool
|
||||
<p><span class="command"><strong>dig</strong></span>
|
||||
(domain information groper) is a flexible tool
|
||||
for interrogating DNS name servers. It performs DNS lookups and
|
||||
displays the answers that are returned from the name server(s) that
|
||||
were queried. Most DNS administrators use <span class="command"><strong>dig</strong></span> to
|
||||
@@ -230,9 +229,9 @@
|
||||
<dt><span class="term">-i</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
|
||||
Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
|
||||
domain, which is no longer in use. Obsolete bit string
|
||||
label queries (RFC 2874) are not attempted.
|
||||
label queries (RFC2874) are not attempted.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
|
||||
@@ -277,12 +276,11 @@
|
||||
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
The resource record type to query. It can be any valid query
|
||||
type. If it is a resource record type supported in BIND 9, it
|
||||
can be given by the type mnemonic (such as "NS" or "AAAA").
|
||||
The default query type is "A", unless the <code class="option">-x</code>
|
||||
option is supplied to indicate a reverse lookup. A zone
|
||||
transfer can be requested by specifying a type of AXFR. When
|
||||
The resource record type to query. It can be any valid query type
|
||||
which is
|
||||
supported in BIND 9. The default query type is "A", unless the
|
||||
<code class="option">-x</code> option is supplied to indicate a reverse lookup.
|
||||
A zone transfer can be requested by specifying a type of AXFR. When
|
||||
an incremental zone transfer (IXFR) is required, set the
|
||||
<em class="parameter"><code>type</code></em> to <code class="literal">ixfr=N</code>.
|
||||
The incremental zone transfer will contain the changes
|
||||
@@ -290,18 +288,6 @@
|
||||
record was
|
||||
<em class="parameter"><code>N</code></em>.
|
||||
</p>
|
||||
<p>
|
||||
All resource record types can be expressed as "TYPEnn", where
|
||||
"nn" is the number of the type. If the resource record type is
|
||||
not supported in BIND 9, the result will be displayed as
|
||||
described in RFC 3597.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-u</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-v</span></dt>
|
||||
<dd>
|
||||
@@ -626,14 +612,6 @@
|
||||
server that provided the answer.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]idnin</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Process [do not process] IDN domain names on input.
|
||||
This requires IDN SUPPORT to have been enabled at
|
||||
compile time. The default is to process IDN input.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]idnout</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -649,12 +627,6 @@
|
||||
with TCP. By default, TCP retries are performed.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]keepalive</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Send [or do not send] an EDNS Keepalive option.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -710,8 +682,7 @@
|
||||
attempts to find the authoritative name servers for
|
||||
the zone containing the name being looked up and
|
||||
display the SOA record that each name server has for
|
||||
the zone. Addresses of servers that that did not
|
||||
respond are also printed.
|
||||
the zone.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]onesoa</code></span></dt>
|
||||
@@ -729,20 +700,6 @@
|
||||
value. The default value is QUERY (0).
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+padding=value</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Pad the size of the query packet using the EDNS Padding option
|
||||
to blocks of <em class="parameter"><code>value</code></em> bytes. For example,
|
||||
<code class="option">+padding=32</code> would cause a 48-byte query to
|
||||
be padded to 64 bytes. The default block size is 0, which
|
||||
disables padding. The maximum is 512. Values are
|
||||
ordinarily expected to be powers of two, such as 128;
|
||||
however, this is not mandatory. Responses to
|
||||
padded queries may also be padded, but only if the query
|
||||
uses TCP or DNS COOKIE.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]qr</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -758,14 +715,6 @@
|
||||
the question section as a comment.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]raflag</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Set [do not set] the RA (Recursion Available) bit in
|
||||
the query. The default is +noraflag. This bit should
|
||||
be ignored by the server for QUERY.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]rdflag</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -834,8 +783,9 @@
|
||||
<dt><span class="term"><code class="option">+[no]sigchase</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This feature is now obsolete and has been removed;
|
||||
use <span class="command"><strong>delv</strong></span> instead.
|
||||
Chase DNSSEC signature chains. Requires dig be compiled
|
||||
with -DDIG_SIGCHASE. This feature is deprecated.
|
||||
Use <span class="command"><strong>delv</strong></span> instead.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+split=W</code></span></dt>
|
||||
@@ -867,21 +817,13 @@
|
||||
specified IP address or network prefix.
|
||||
</p>
|
||||
<p>
|
||||
<span class="command"><strong>dig +subnet=0.0.0.0/0</strong></span>, or simply
|
||||
<span class="command"><strong>dig +subnet=0</strong></span> for short, sends an EDNS
|
||||
CLIENT-SUBNET option with an empty address and a source
|
||||
prefix-length of zero, which signals a resolver that
|
||||
the client's address information must
|
||||
<span class="emphasis"><em>not</em></span> be used when resolving
|
||||
this query.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]tcflag</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Set [do not set] the TC (TrunCation) bit in the query.
|
||||
The default is +notcflag. This bit should be ignored
|
||||
by the server for QUERY.
|
||||
<span class="command"><strong>dig +subnet=0.0.0.0/0</strong></span>, or simply
|
||||
<span class="command"><strong>dig +subnet=0</strong></span> for short, sends an EDNS
|
||||
CLIENT-SUBNET option with an empty address and a source
|
||||
prefix-length of zero, which signals a resolver that
|
||||
the client's address information must
|
||||
<span class="emphasis"><em>not</em></span> be used when resolving
|
||||
this query.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
|
||||
@@ -909,9 +851,9 @@
|
||||
<dt><span class="term"><code class="option">+[no]topdown</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This feature is related to <span class="command"><strong>dig +sigchase</strong></span>,
|
||||
which is obsolete and has been removed. Use
|
||||
<span class="command"><strong>delv</strong></span> instead.
|
||||
When chasing DNSSEC signature chains perform a top-down
|
||||
validation. Requires dig be compiled with -DDIG_SIGCHASE.
|
||||
This feature is deprecated. Use <span class="command"><strong>delv</strong></span> instead.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]trace</code></span></dt>
|
||||
@@ -946,10 +888,17 @@
|
||||
<dt><span class="term"><code class="option">+trusted-key=####</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Formerly specified trusted keys for use with
|
||||
<span class="command"><strong>dig +sigchase</strong></span>. This feature is now
|
||||
obsolete and has been removed; use
|
||||
<span class="command"><strong>delv</strong></span> instead.
|
||||
Specifies a file containing trusted keys to be used
|
||||
with <code class="option">+sigchase</code>. Each DNSKEY record
|
||||
must be on its own line.
|
||||
</p> <p>
|
||||
If not specified, <span class="command"><strong>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> <p>
|
||||
Requires dig be compiled with -DDIG_SIGCHASE.
|
||||
This feature is deprecated. Use <span class="command"><strong>delv</strong></span> instead.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
|
||||
@@ -1024,9 +973,8 @@
|
||||
can also be supplied. These global query options must precede the
|
||||
first tuple of name, class, type, options, flags, and query options
|
||||
supplied on the command line. Any global query options (except
|
||||
<code class="option">+[no]cmd</code> and <code class="option">+[no]short</code> options)
|
||||
can be overridden by a query-specific set of query options.
|
||||
For example:
|
||||
the <code class="option">+[no]cmd</code> option) can be
|
||||
overridden by a query-specific set of query options. For example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
@@ -1059,9 +1007,10 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<span class="command"><strong>dig</strong></span> appropriately converts character encoding of
|
||||
domain name before sending a request to DNS server or displaying a
|
||||
reply from the server.
|
||||
If you'd like to turn off the IDN support for some reason, use
|
||||
parameters <em class="parameter"><code>+noidnin</code></em> and
|
||||
<em class="parameter"><code>+noidnout</code></em>.
|
||||
If you'd like to turn off the IDN support for some reason, defines
|
||||
the <code class="envar">IDN_DISABLE</code> environment variable.
|
||||
The IDN support is disabled if the variable is set when
|
||||
<span class="command"><strong>dig</strong></span> runs.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1089,7 +1038,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
<span class="citerefentry">
|
||||
<span class="refentrytitle">dnssec-keygen</span>(8)
|
||||
</span>,
|
||||
<em class="citetitle">RFC 1035</em>.
|
||||
<em class="citetitle">RFC1035</em>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
3596
bin/dig/dighost.c
3596
bin/dig/dighost.c
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@
|
||||
host \- DNS lookup utility
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBhost\fR\ 'u
|
||||
\fBhost\fR [\fB\-aACdlnrsTUwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
|
||||
\fBhost\fR [\fB\-aCdlnrsTUwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBhost\fR
|
||||
@@ -82,15 +82,6 @@ option is normally equivalent to
|
||||
list zone option\&.
|
||||
.RE
|
||||
.PP
|
||||
\-A
|
||||
.RS 4
|
||||
"Almost all"\&. The
|
||||
\fB\-A\fR
|
||||
option is equivalent to
|
||||
\fB\-a\fR
|
||||
except RRSIG, NSEC, and NSEC3 records are omitted from the output\&.
|
||||
.RE
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records\&. The default class is IN (Internet)\&.
|
||||
@@ -274,5 +265,5 @@ runs\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
261
bin/dig/host.c
261
bin/dig/host.c
@@ -1,20 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
|
||||
@@ -22,6 +16,13 @@
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
#ifdef WITH_IDN
|
||||
#include <idn/result.h>
|
||||
#include <idn/log.h>
|
||||
#include <idn/resconf.h>
|
||||
#include <idn/api.h>
|
||||
#endif
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/commandline.h>
|
||||
#include <isc/netaddr.h>
|
||||
@@ -43,14 +44,13 @@
|
||||
|
||||
#include <dig/dig.h>
|
||||
|
||||
static bool short_form = true, listed_server = false;
|
||||
static bool default_lookups = true;
|
||||
static isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
|
||||
static isc_boolean_t default_lookups = ISC_TRUE;
|
||||
static int seen_error = -1;
|
||||
static bool list_addresses = true;
|
||||
static bool list_almost_all = false;
|
||||
static isc_boolean_t list_addresses = ISC_TRUE;
|
||||
static dns_rdatatype_t list_type = dns_rdatatype_a;
|
||||
static bool printed_server = false;
|
||||
static bool ipv4only = false, ipv6only = false;
|
||||
static isc_boolean_t printed_server = ISC_FALSE;
|
||||
static isc_boolean_t ipv4only = ISC_FALSE, ipv6only = ISC_FALSE;
|
||||
|
||||
static const char *opcodetext[] = {
|
||||
"QUERY",
|
||||
@@ -140,7 +140,6 @@ show_usage(void) {
|
||||
"Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]\n"
|
||||
" [-R number] [-m flag] hostname [server]\n"
|
||||
" -a is equivalent to -v -t ANY\n"
|
||||
" -A is like -a but omits RRSIG, NSEC, NSEC3\n"
|
||||
" -c specifies query class for non-IN data\n"
|
||||
" -C compares SOA records on authoritative nameservers\n"
|
||||
" -d is equivalent to -v\n"
|
||||
@@ -162,13 +161,13 @@ show_usage(void) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static void
|
||||
host_shutdown(void) {
|
||||
(void) isc_app_shutdown();
|
||||
void
|
||||
dighost_shutdown(void) {
|
||||
isc_app_shutdown();
|
||||
}
|
||||
|
||||
static void
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
isc_time_t now;
|
||||
int diff;
|
||||
|
||||
@@ -182,7 +181,7 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
trying(char *frm, dig_lookup_t *lookup) {
|
||||
UNUSED(lookup);
|
||||
|
||||
@@ -224,10 +223,21 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,
|
||||
printf("\n");
|
||||
isc_buffer_free(&b);
|
||||
}
|
||||
|
||||
#ifdef DIG_SIGCHASE
|
||||
/* Just for compatibility : not use in host program */
|
||||
isc_result_t
|
||||
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
|
||||
isc_buffer_t *target)
|
||||
{
|
||||
UNUSED(owner_name);
|
||||
UNUSED(rdataset);
|
||||
UNUSED(target);
|
||||
return(ISC_FALSE);
|
||||
}
|
||||
#endif
|
||||
static isc_result_t
|
||||
printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
const char *section_name, bool headers,
|
||||
const char *section_name, isc_boolean_t headers,
|
||||
dig_query_t *query)
|
||||
{
|
||||
dns_name_t *name, *print_name;
|
||||
@@ -238,13 +248,13 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
isc_region_t r;
|
||||
dns_name_t empty_name;
|
||||
char tbuf[4096];
|
||||
bool first;
|
||||
bool no_rdata;
|
||||
isc_boolean_t first;
|
||||
isc_boolean_t no_rdata;
|
||||
|
||||
if (sectionid == DNS_SECTION_QUESTION)
|
||||
no_rdata = true;
|
||||
no_rdata = ISC_TRUE;
|
||||
else
|
||||
no_rdata = false;
|
||||
no_rdata = ISC_FALSE;
|
||||
|
||||
if (headers)
|
||||
printf(";; %s SECTION:\n", section_name);
|
||||
@@ -262,7 +272,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
dns_message_currentname(msg, sectionid, &name);
|
||||
|
||||
isc_buffer_init(&target, tbuf, sizeof(tbuf));
|
||||
first = true;
|
||||
first = ISC_TRUE;
|
||||
print_name = name;
|
||||
|
||||
for (rdataset = ISC_LIST_HEAD(name->list);
|
||||
@@ -278,15 +288,10 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
rdataset->type == dns_rdatatype_ns ||
|
||||
rdataset->type == dns_rdatatype_ptr))))
|
||||
continue;
|
||||
if (list_almost_all &&
|
||||
(rdataset->type == dns_rdatatype_rrsig ||
|
||||
rdataset->type == dns_rdatatype_nsec ||
|
||||
rdataset->type == dns_rdatatype_nsec3))
|
||||
continue;
|
||||
if (!short_form) {
|
||||
result = dns_rdataset_totext(rdataset,
|
||||
print_name,
|
||||
false,
|
||||
ISC_FALSE,
|
||||
no_rdata,
|
||||
&target);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
@@ -294,7 +299,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
#ifdef USEINITALWS
|
||||
if (first) {
|
||||
print_name = &empty_name;
|
||||
first = false;
|
||||
first = ISC_FALSE;
|
||||
}
|
||||
#else
|
||||
UNUSED(first); /* Shut up compiler. */
|
||||
@@ -351,9 +356,8 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
printrdata(dns_message_t *msg, dns_rdataset_t *rdataset,
|
||||
const dns_name_t *owner, const char *set_name,
|
||||
bool headers)
|
||||
printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
|
||||
const char *set_name, isc_boolean_t headers)
|
||||
{
|
||||
isc_buffer_t target;
|
||||
isc_result_t result;
|
||||
@@ -366,7 +370,7 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset,
|
||||
|
||||
isc_buffer_init(&target, tbuf, sizeof(tbuf));
|
||||
|
||||
result = dns_rdataset_totext(rdataset, owner, false, false,
|
||||
result = dns_rdataset_totext(rdataset, owner, ISC_FALSE, ISC_FALSE,
|
||||
&target);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
@@ -402,11 +406,11 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
|
||||
}
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
bool did_flag = false;
|
||||
isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
isc_boolean_t did_flag = ISC_FALSE;
|
||||
dns_rdataset_t *opt, *tsig = NULL;
|
||||
const dns_name_t *tsigname;
|
||||
dns_name_t *tsigname;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
int force_error;
|
||||
|
||||
@@ -427,7 +431,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
sizeof(sockstr));
|
||||
printf("Address: %s\n", sockstr);
|
||||
printf("Aliases: \n\n");
|
||||
printed_server = true;
|
||||
printed_server = ISC_TRUE;
|
||||
}
|
||||
|
||||
if (msg->rcode != 0) {
|
||||
@@ -455,26 +459,29 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
dns_name_t *name;
|
||||
|
||||
/* Add AAAA and MX lookups. */
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
dns_name_copy(query->lookup->name, name, NULL);
|
||||
chase_cnamechain(msg, name);
|
||||
dns_name_format(name, namestr, sizeof(namestr));
|
||||
lookup = clone_lookup(query->lookup, false);
|
||||
lookup = clone_lookup(query->lookup, ISC_FALSE);
|
||||
if (lookup != NULL) {
|
||||
strlcpy(lookup->textname, namestr,
|
||||
strncpy(lookup->textname, namestr,
|
||||
sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_aaaa;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
}
|
||||
lookup = clone_lookup(query->lookup, false);
|
||||
lookup = clone_lookup(query->lookup, ISC_FALSE);
|
||||
if (lookup != NULL) {
|
||||
strlcpy(lookup->textname, namestr,
|
||||
strncpy(lookup->textname, namestr,
|
||||
sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_mx;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
@@ -488,31 +495,31 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
printf(";; flags: ");
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
|
||||
printf("qr");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0) {
|
||||
printf("%saa", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
|
||||
printf("%stc", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
|
||||
printf("%srd", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0) {
|
||||
printf("%sra", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0) {
|
||||
printf("%sad", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
}
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
|
||||
printf("%scd", did_flag ? " " : "");
|
||||
did_flag = true;
|
||||
did_flag = ISC_TRUE;
|
||||
POST(did_flag);
|
||||
}
|
||||
printf("; QUERY: %u, ANSWER: %u, "
|
||||
@@ -535,7 +542,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
!short_form) {
|
||||
printf("\n");
|
||||
result = printsection(msg, DNS_SECTION_QUESTION, "QUESTION",
|
||||
true, query);
|
||||
ISC_TRUE, query);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
@@ -543,7 +550,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
if (!short_form)
|
||||
printf("\n");
|
||||
result = printsection(msg, DNS_SECTION_ANSWER, "ANSWER",
|
||||
!short_form, query);
|
||||
ISC_TF(!short_form), query);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
@@ -552,7 +559,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
!short_form) {
|
||||
printf("\n");
|
||||
result = printsection(msg, DNS_SECTION_AUTHORITY, "AUTHORITY",
|
||||
true, query);
|
||||
ISC_TRUE, query);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
@@ -560,14 +567,14 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
!short_form) {
|
||||
printf("\n");
|
||||
result = printsection(msg, DNS_SECTION_ADDITIONAL,
|
||||
"ADDITIONAL", true, query);
|
||||
"ADDITIONAL", ISC_TRUE, query);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
if ((tsig != NULL) && !short_form) {
|
||||
printf("\n");
|
||||
result = printrdata(msg, tsig, tsigname,
|
||||
"PSEUDOSECTION TSIG", true);
|
||||
"PSEUDOSECTION TSIG", ISC_TRUE);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
}
|
||||
@@ -587,7 +594,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
return (result);
|
||||
}
|
||||
|
||||
static const char * optstring = "46aAc:dilnm:rst:vVwCDN:R:TUW:";
|
||||
static const char * optstring = "46ac:dilnm:rst:vVwCDN:R:TUW:";
|
||||
|
||||
/*% version */
|
||||
static void
|
||||
@@ -602,7 +609,7 @@ pre_parse_args(int argc, char **argv) {
|
||||
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
|
||||
switch (c) {
|
||||
case 'm':
|
||||
memdebugging = true;
|
||||
memdebugging = ISC_TRUE;
|
||||
if (strcasecmp("trace", isc_commandline_argument) == 0)
|
||||
isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
|
||||
else if (strcasecmp("record",
|
||||
@@ -616,15 +623,14 @@ pre_parse_args(int argc, char **argv) {
|
||||
case '4':
|
||||
if (ipv6only)
|
||||
fatal("only one of -4 and -6 allowed");
|
||||
ipv4only = true;
|
||||
ipv4only = ISC_TRUE;
|
||||
break;
|
||||
case '6':
|
||||
if (ipv4only)
|
||||
fatal("only one of -4 and -6 allowed");
|
||||
ipv6only = true;
|
||||
ipv6only = ISC_TRUE;
|
||||
break;
|
||||
case 'a': break;
|
||||
case 'A': break;
|
||||
case 'c': break;
|
||||
case 'd': break;
|
||||
case 'i': break;
|
||||
@@ -642,8 +648,8 @@ pre_parse_args(int argc, char **argv) {
|
||||
case 'C': break;
|
||||
case 'D':
|
||||
if (debugging)
|
||||
debugtiming = true;
|
||||
debugging = true;
|
||||
debugtiming = ISC_TRUE;
|
||||
debugging = ISC_TRUE;
|
||||
break;
|
||||
case 'N': break;
|
||||
case 'R': break;
|
||||
@@ -653,12 +659,12 @@ pre_parse_args(int argc, char **argv) {
|
||||
show_usage();
|
||||
}
|
||||
}
|
||||
isc_commandline_reset = true;
|
||||
isc_commandline_reset = ISC_TRUE;
|
||||
isc_commandline_index = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
char hostname[MXNAME];
|
||||
dig_lookup_t *lookup;
|
||||
int c;
|
||||
@@ -667,30 +673,30 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
dns_rdatatype_t rdtype;
|
||||
dns_rdataclass_t rdclass;
|
||||
uint32_t serial = 0;
|
||||
isc_uint32_t serial = 0;
|
||||
|
||||
UNUSED(is_batchfile);
|
||||
|
||||
lookup = make_empty_lookup();
|
||||
|
||||
lookup->servfail_stops = false;
|
||||
lookup->comments = false;
|
||||
lookup->servfail_stops = ISC_FALSE;
|
||||
lookup->comments = ISC_FALSE;
|
||||
short_form = !verbose;
|
||||
|
||||
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
|
||||
switch (c) {
|
||||
case 'l':
|
||||
lookup->tcp_mode = true;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
lookup->rdtype = dns_rdatatype_axfr;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
fatalexit = 3;
|
||||
break;
|
||||
case 'v':
|
||||
case 'd':
|
||||
short_form = false;
|
||||
short_form = ISC_FALSE;
|
||||
break;
|
||||
case 'r':
|
||||
lookup->recurse = false;
|
||||
lookup->recurse = ISC_FALSE;
|
||||
break;
|
||||
case 't':
|
||||
if (strncasecmp(isc_commandline_argument,
|
||||
@@ -715,23 +721,33 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
if (!lookup->rdtypeset ||
|
||||
lookup->rdtype != dns_rdatatype_axfr)
|
||||
lookup->rdtype = rdtype;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = 0;
|
||||
#endif
|
||||
if (rdtype == dns_rdatatype_axfr) {
|
||||
/* -l -t any -v */
|
||||
list_type = dns_rdatatype_any;
|
||||
short_form = false;
|
||||
lookup->tcp_mode = true;
|
||||
short_form = ISC_FALSE;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
} else if (rdtype == dns_rdatatype_ixfr) {
|
||||
lookup->ixfr_serial = serial;
|
||||
lookup->tcp_mode = true;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
list_type = rdtype;
|
||||
} else if (rdtype == dns_rdatatype_any) {
|
||||
if (!lookup->tcp_mode_set)
|
||||
lookup->tcp_mode = true;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
#ifdef WITH_IDN
|
||||
} else if (rdtype == dns_rdatatype_a ||
|
||||
rdtype == dns_rdatatype_aaaa ||
|
||||
rdtype == dns_rdatatype_mx) {
|
||||
idnoptions = IDN_ASCCHECK;
|
||||
list_type = rdtype;
|
||||
#endif
|
||||
} else
|
||||
list_type = rdtype;
|
||||
list_addresses = false;
|
||||
default_lookups = false;
|
||||
list_addresses = ISC_FALSE;
|
||||
default_lookups = ISC_FALSE;
|
||||
break;
|
||||
case 'c':
|
||||
tr.base = isc_commandline_argument;
|
||||
@@ -745,25 +761,25 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
isc_commandline_argument);
|
||||
} else {
|
||||
lookup->rdclass = rdclass;
|
||||
lookup->rdclassset = true;
|
||||
lookup->rdclassset = ISC_TRUE;
|
||||
}
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
break;
|
||||
case 'A':
|
||||
list_almost_all = true;
|
||||
/* FALL THROUGH */
|
||||
case 'a':
|
||||
if (!lookup->rdtypeset ||
|
||||
lookup->rdtype != dns_rdatatype_axfr)
|
||||
lookup->rdtype = dns_rdatatype_any;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = 0;
|
||||
#endif
|
||||
list_type = dns_rdatatype_any;
|
||||
list_addresses = false;
|
||||
lookup->rdtypeset = true;
|
||||
short_form = false;
|
||||
default_lookups = false;
|
||||
list_addresses = ISC_FALSE;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
short_form = ISC_FALSE;
|
||||
default_lookups = ISC_FALSE;
|
||||
break;
|
||||
case 'i':
|
||||
lookup->ip6_int = true;
|
||||
lookup->ip6_int = ISC_TRUE;
|
||||
break;
|
||||
case 'n':
|
||||
/* deprecated */
|
||||
@@ -789,23 +805,23 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
tries = 2;
|
||||
break;
|
||||
case 'T':
|
||||
lookup->tcp_mode = true;
|
||||
lookup->tcp_mode_set = true;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
lookup->tcp_mode_set = ISC_TRUE;
|
||||
break;
|
||||
case 'U':
|
||||
lookup->tcp_mode = false;
|
||||
lookup->tcp_mode_set = true;
|
||||
lookup->tcp_mode = ISC_FALSE;
|
||||
lookup->tcp_mode_set = ISC_TRUE;
|
||||
break;
|
||||
case 'C':
|
||||
debug("showing all SOAs");
|
||||
lookup->rdtype = dns_rdatatype_ns;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->rdclass = dns_rdataclass_in;
|
||||
lookup->rdclassset = true;
|
||||
lookup->ns_search_only = true;
|
||||
lookup->trace_root = true;
|
||||
lookup->identify_previous_line = true;
|
||||
default_lookups = false;
|
||||
lookup->rdclassset = ISC_TRUE;
|
||||
lookup->ns_search_only = ISC_TRUE;
|
||||
lookup->trace_root = ISC_TRUE;
|
||||
lookup->identify_previous_line = ISC_TRUE;
|
||||
default_lookups = ISC_FALSE;
|
||||
break;
|
||||
case 'N':
|
||||
debug("setting NDOTS to %s",
|
||||
@@ -822,7 +838,7 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
/* Handled by pre_parse_args(). */
|
||||
break;
|
||||
case 's':
|
||||
lookup->servfail_stops = true;
|
||||
lookup->servfail_stops = ISC_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -837,22 +853,24 @@ parse_args(bool is_batchfile, int argc, char **argv) {
|
||||
if (argc > isc_commandline_index + 1) {
|
||||
set_nameserver(argv[isc_commandline_index+1]);
|
||||
debug("server is %s", argv[isc_commandline_index+1]);
|
||||
listed_server = true;
|
||||
listed_server = ISC_TRUE;
|
||||
} else
|
||||
check_ra = true;
|
||||
check_ra = ISC_TRUE;
|
||||
|
||||
lookup->pending = false;
|
||||
lookup->pending = ISC_FALSE;
|
||||
if (get_reverse(store, sizeof(store), hostname,
|
||||
lookup->ip6_int, true) == ISC_R_SUCCESS) {
|
||||
strlcpy(lookup->textname, store, sizeof(lookup->textname));
|
||||
lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS) {
|
||||
strncpy(lookup->textname, store, sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_ptr;
|
||||
lookup->rdtypeset = true;
|
||||
default_lookups = false;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
default_lookups = ISC_FALSE;
|
||||
} else {
|
||||
strlcpy(lookup->textname, hostname, sizeof(lookup->textname));
|
||||
usesearch = true;
|
||||
strncpy(lookup->textname, hostname, sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1]=0;
|
||||
usesearch = ISC_TRUE;
|
||||
}
|
||||
lookup->new_search = true;
|
||||
lookup->new_search = ISC_TRUE;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
}
|
||||
|
||||
@@ -867,12 +885,9 @@ main(int argc, char **argv) {
|
||||
ISC_LIST_INIT(search_list);
|
||||
|
||||
fatalexit = 1;
|
||||
|
||||
/* setup dighost callbacks */
|
||||
dighost_printmessage = printmessage;
|
||||
dighost_received = received;
|
||||
dighost_trying = trying;
|
||||
dighost_shutdown = host_shutdown;
|
||||
#ifdef WITH_IDN
|
||||
idnoptions = IDN_ASCCHECK;
|
||||
#endif
|
||||
|
||||
debug("main()");
|
||||
progname = argv[0];
|
||||
@@ -881,7 +896,7 @@ main(int argc, char **argv) {
|
||||
check_result(result, "isc_app_start");
|
||||
setup_libs();
|
||||
setup_system(ipv4only, ipv6only);
|
||||
parse_args(false, argc, argv);
|
||||
parse_args(ISC_FALSE, argc, argv);
|
||||
if (keyfile[0] != 0)
|
||||
setup_file_key();
|
||||
else if (keysecret[0] != 0)
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
@@ -46,7 +43,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -54,17 +50,15 @@
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>host</command>
|
||||
<arg choice="opt" rep="norepeat"><option>-aACdlnrsTUwv</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-aCdlnrsTUwv</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-N <replaceable class="parameter">ndots</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-R <replaceable class="parameter">number</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">type</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-W <replaceable class="parameter">wait</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-m <replaceable class="parameter">flag</replaceable></option></arg>
|
||||
<group choice="opt" rep="norepeat">
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
</group>
|
||||
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-V</option></arg>
|
||||
<arg choice="req" rep="norepeat">name</arg>
|
||||
@@ -134,17 +128,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-A</term>
|
||||
<listitem>
|
||||
<para>
|
||||
"Almost all". The <option>-A</option> option is equivalent
|
||||
to <option>-a</option> except RRSIG, NSEC, and NSEC3
|
||||
records are omitted from the output.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-c <replaceable class="parameter">class</replaceable></term>
|
||||
<listitem>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -33,17 +33,15 @@
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p>
|
||||
<code class="command">host</code>
|
||||
[<code class="option">-aACdlnrsTUwv</code>]
|
||||
[<code class="option">-aCdlnrsTUwv</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>]
|
||||
]
|
||||
[<code class="option">-4</code>]
|
||||
[<code class="option">-6</code>]
|
||||
[<code class="option">-v</code>]
|
||||
[<code class="option">-V</code>]
|
||||
{name}
|
||||
@@ -105,14 +103,6 @@
|
||||
list zone option.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-A</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
"Almost all". The <code class="option">-A</code> option is equivalent
|
||||
to <code class="option">-a</code> except RRSIG, NSEC, and NSEC3
|
||||
records are omitted from the output.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2009, 2011-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#ifndef DIG_H
|
||||
@@ -14,13 +11,11 @@
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <dns/rdatalist.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
|
||||
#include <isc/boolean.h>
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/bufferlist.h>
|
||||
#include <isc/formatcheck.h>
|
||||
@@ -31,10 +26,6 @@
|
||||
#include <isc/sockaddr.h>
|
||||
#include <isc/socket.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <TargetConditionals.h>
|
||||
#endif
|
||||
|
||||
#define MXSERV 20
|
||||
#define MXNAME (DNS_NAME_MAXTEXT+1)
|
||||
#define MXRD 32
|
||||
@@ -73,17 +64,33 @@
|
||||
* in a tight loop of constant lookups. It's value is arbitrary.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Defaults for the sigchase suboptions. Consolidated here because
|
||||
* these control the layout of dig_lookup_t (among other things).
|
||||
*/
|
||||
#ifdef DIG_SIGCHASE
|
||||
#ifndef DIG_SIGCHASE_BU
|
||||
#define DIG_SIGCHASE_BU 1
|
||||
#endif
|
||||
#ifndef DIG_SIGCHASE_TD
|
||||
#define DIG_SIGCHASE_TD 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
typedef struct dig_lookup dig_lookup_t;
|
||||
typedef struct dig_query dig_query_t;
|
||||
typedef struct dig_server dig_server_t;
|
||||
#ifdef DIG_SIGCHASE
|
||||
typedef struct dig_message dig_message_t;
|
||||
#endif
|
||||
typedef ISC_LIST(dig_server_t) dig_serverlist_t;
|
||||
typedef struct dig_searchlist dig_searchlist_t;
|
||||
|
||||
/*% The dig_lookup structure */
|
||||
struct dig_lookup {
|
||||
bool
|
||||
isc_boolean_t
|
||||
pending, /*%< Pending a successful answer */
|
||||
waiting_connect,
|
||||
doing_xfr,
|
||||
@@ -96,8 +103,6 @@ struct dig_lookup {
|
||||
aaonly,
|
||||
adflag,
|
||||
cdflag,
|
||||
raflag,
|
||||
tcflag,
|
||||
zflag,
|
||||
trace, /*% dig +trace */
|
||||
trace_root, /*% initial query for either +trace or +nssearch */
|
||||
@@ -121,30 +126,37 @@ struct dig_lookup {
|
||||
seenbadcookie,
|
||||
badcookie,
|
||||
nsid, /*% Name Server ID (RFC 5001) */
|
||||
tcp_keepalive,
|
||||
header_only,
|
||||
ednsneg,
|
||||
mapped,
|
||||
print_unknown_format,
|
||||
multiline,
|
||||
nottl,
|
||||
noclass,
|
||||
onesoa,
|
||||
use_usec,
|
||||
nocrypto,
|
||||
ttlunits,
|
||||
idnin,
|
||||
idnout,
|
||||
qr;
|
||||
idnout;
|
||||
#ifdef DIG_SIGCHASE
|
||||
isc_boolean_t sigchase;
|
||||
#if DIG_SIGCHASE_TD
|
||||
isc_boolean_t do_topdown,
|
||||
trace_root_sigchase,
|
||||
rdtype_sigchaseset,
|
||||
rdclass_sigchaseset;
|
||||
/* Name we are going to validate RRset */
|
||||
char textnamesigchase[MXNAME];
|
||||
#endif
|
||||
#endif
|
||||
|
||||
char textname[MXNAME]; /*% Name we're going to be looking up */
|
||||
char cmdline[MXNAME];
|
||||
dns_rdatatype_t rdtype;
|
||||
dns_rdatatype_t qrdtype;
|
||||
#if DIG_SIGCHASE_TD
|
||||
dns_rdatatype_t rdtype_sigchase;
|
||||
dns_rdatatype_t qrdtype_sigchase;
|
||||
dns_rdataclass_t rdclass_sigchase;
|
||||
#endif
|
||||
dns_rdataclass_t rdclass;
|
||||
bool rdtypeset;
|
||||
bool rdclassset;
|
||||
char name_space[BUFSIZE];
|
||||
char oname_space[BUFSIZE];
|
||||
isc_boolean_t rdtypeset;
|
||||
isc_boolean_t rdclassset;
|
||||
char namespace[BUFSIZE];
|
||||
char onamespace[BUFSIZE];
|
||||
isc_buffer_t namebuf;
|
||||
isc_buffer_t onamebuf;
|
||||
isc_buffer_t renderbuf;
|
||||
@@ -160,17 +172,16 @@ struct dig_lookup {
|
||||
dig_serverlist_t my_server_list;
|
||||
dig_searchlist_t *origin;
|
||||
dig_query_t *xfr_q;
|
||||
uint32_t retries;
|
||||
isc_uint32_t retries;
|
||||
int nsfound;
|
||||
uint16_t udpsize;
|
||||
int16_t edns;
|
||||
int16_t padding;
|
||||
uint32_t ixfr_serial;
|
||||
isc_uint16_t udpsize;
|
||||
isc_int16_t edns;
|
||||
isc_uint32_t ixfr_serial;
|
||||
isc_buffer_t rdatabuf;
|
||||
char rdatastore[MXNAME];
|
||||
dst_context_t *tsigctx;
|
||||
isc_buffer_t *querysig;
|
||||
uint32_t msgcounter;
|
||||
isc_uint32_t msgcounter;
|
||||
dns_fixedname_t fdomain;
|
||||
isc_sockaddr_t *ecs_addr;
|
||||
char *cookie;
|
||||
@@ -179,14 +190,12 @@ struct dig_lookup {
|
||||
isc_dscp_t dscp;
|
||||
unsigned int ednsflags;
|
||||
dns_opcode_t opcode;
|
||||
int rrcomments;
|
||||
unsigned int eoferr;
|
||||
};
|
||||
|
||||
/*% The dig_query structure */
|
||||
struct dig_query {
|
||||
dig_lookup_t *lookup;
|
||||
bool waiting_connect,
|
||||
isc_boolean_t waiting_connect,
|
||||
pending_free,
|
||||
waiting_senddone,
|
||||
first_pass,
|
||||
@@ -196,11 +205,11 @@ struct dig_query {
|
||||
recv_made,
|
||||
warn_id,
|
||||
timedout;
|
||||
uint32_t first_rr_serial;
|
||||
uint32_t second_rr_serial;
|
||||
uint32_t msg_count;
|
||||
uint32_t rr_count;
|
||||
bool ixfr_axfr;
|
||||
isc_uint32_t first_rr_serial;
|
||||
isc_uint32_t second_rr_serial;
|
||||
isc_uint32_t msg_count;
|
||||
isc_uint32_t rr_count;
|
||||
isc_boolean_t ixfr_axfr;
|
||||
char *servname;
|
||||
char *userarg;
|
||||
isc_bufferlist_t sendlist,
|
||||
@@ -218,7 +227,7 @@ struct dig_query {
|
||||
isc_sockaddr_t sockaddr;
|
||||
isc_time_t time_sent;
|
||||
isc_time_t time_recv;
|
||||
uint64_t byte_count;
|
||||
isc_uint64_t byte_count;
|
||||
isc_buffer_t sendbuf;
|
||||
isc_timer_t *timer;
|
||||
};
|
||||
@@ -233,6 +242,12 @@ struct dig_searchlist {
|
||||
char origin[MXNAME];
|
||||
ISC_LINK(dig_searchlist_t) link;
|
||||
};
|
||||
#ifdef DIG_SIGCHASE
|
||||
struct dig_message {
|
||||
dns_message_t *msg;
|
||||
ISC_LINK(dig_message_t) link;
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef ISC_LIST(dig_searchlist_t) dig_searchlistlist_t;
|
||||
typedef ISC_LIST(dig_lookup_t) dig_lookuplist_t;
|
||||
@@ -246,8 +261,8 @@ extern dig_serverlist_t server_list;
|
||||
extern dig_searchlistlist_t search_list;
|
||||
extern unsigned int extrabytes;
|
||||
|
||||
extern bool check_ra, have_ipv4, have_ipv6, specified_source,
|
||||
usesearch, showsearch;
|
||||
extern isc_boolean_t check_ra, have_ipv4, have_ipv6, specified_source,
|
||||
usesearch, showsearch, qr;
|
||||
extern in_port_t port;
|
||||
extern unsigned int timeout;
|
||||
extern isc_mem_t *mctx;
|
||||
@@ -259,20 +274,26 @@ extern isc_sockaddr_t bind_address;
|
||||
extern char keynametext[MXNAME];
|
||||
extern char keyfile[MXNAME];
|
||||
extern char keysecret[MXNAME];
|
||||
extern const dns_name_t *hmacname;
|
||||
extern dns_name_t *hmacname;
|
||||
extern unsigned int digestbits;
|
||||
extern dns_tsigkey_t *tsigkey;
|
||||
extern bool validated;
|
||||
#ifdef DIG_SIGCHASE
|
||||
extern char trustedkey[MXNAME];
|
||||
#endif
|
||||
extern dns_tsigkey_t *key;
|
||||
extern isc_boolean_t validated;
|
||||
extern isc_taskmgr_t *taskmgr;
|
||||
extern isc_task_t *global_task;
|
||||
extern bool free_now;
|
||||
extern bool debugging, debugtiming, memdebugging;
|
||||
extern bool keep_open;
|
||||
extern isc_boolean_t free_now;
|
||||
extern isc_boolean_t debugging, debugtiming, memdebugging;
|
||||
extern isc_boolean_t keep_open;
|
||||
|
||||
extern char *progname;
|
||||
extern int tries;
|
||||
extern int fatalexit;
|
||||
extern bool verbose;
|
||||
extern isc_boolean_t verbose;
|
||||
#ifdef WITH_IDN
|
||||
extern int idnoptions;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Routines in dighost.c.
|
||||
@@ -284,27 +305,20 @@ int
|
||||
getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp);
|
||||
|
||||
isc_result_t
|
||||
get_reverse(char *reverse, size_t len, char *value, bool ip6_int,
|
||||
bool strict);
|
||||
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
|
||||
isc_boolean_t strict);
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
fatal(const char *format, ...)
|
||||
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
digexit(void)
|
||||
ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
void
|
||||
check_result(isc_result_t result, const char *msg);
|
||||
|
||||
bool
|
||||
isc_boolean_t
|
||||
setup_lookup(dig_lookup_t *lookup);
|
||||
|
||||
void
|
||||
@@ -326,14 +340,14 @@ void
|
||||
setup_libs(void);
|
||||
|
||||
void
|
||||
setup_system(bool ipv4only, bool ipv6only);
|
||||
setup_system(isc_boolean_t ipv4only, isc_boolean_t ipv6only);
|
||||
|
||||
isc_result_t
|
||||
parse_uint(uint32_t *uip, const char *value, uint32_t max,
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc);
|
||||
|
||||
isc_result_t
|
||||
parse_xint(uint32_t *uip, const char *value, uint32_t max,
|
||||
parse_xint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc);
|
||||
|
||||
isc_result_t
|
||||
@@ -343,13 +357,13 @@ void
|
||||
parse_hmac(const char *hmacstr);
|
||||
|
||||
dig_lookup_t *
|
||||
requeue_lookup(dig_lookup_t *lookold, bool servers);
|
||||
requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
|
||||
|
||||
dig_lookup_t *
|
||||
make_empty_lookup(void);
|
||||
|
||||
dig_lookup_t *
|
||||
clone_lookup(dig_lookup_t *lookold, bool servers);
|
||||
clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
|
||||
|
||||
dig_server_t *
|
||||
make_server(const char *servname, const char *userarg);
|
||||
@@ -373,73 +387,56 @@ destroy_libs(void);
|
||||
void
|
||||
set_search_domain(char *domain);
|
||||
|
||||
#ifdef DIG_SIGCHASE
|
||||
void
|
||||
clean_trustedkey(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Routines to be defined in dig.c, host.c, and nslookup.c. and
|
||||
* then assigned to the appropriate function pointer
|
||||
* Routines to be defined in dig.c, host.c, and nslookup.c.
|
||||
*/
|
||||
extern isc_result_t
|
||||
(*dighost_printmessage)(dig_query_t *query, dns_message_t *msg, bool headers);
|
||||
#ifdef DIG_SIGCHASE
|
||||
isc_result_t
|
||||
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
|
||||
isc_buffer_t *target);
|
||||
#endif
|
||||
|
||||
isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers);
|
||||
/*%<
|
||||
* Print the final result of the lookup.
|
||||
*/
|
||||
|
||||
extern void
|
||||
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
/*%<
|
||||
* Print a message about where and when the response
|
||||
* was received from, like the final comment in the
|
||||
* output of "dig".
|
||||
*/
|
||||
|
||||
extern void
|
||||
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
|
||||
void
|
||||
trying(char *frm, dig_lookup_t *lookup);
|
||||
|
||||
extern void
|
||||
(*dighost_shutdown)(void);
|
||||
void
|
||||
dighost_shutdown(void);
|
||||
|
||||
extern void
|
||||
(*dighost_pre_exit_hook)(void);
|
||||
char *
|
||||
next_token(char **stringp, const char *delim);
|
||||
|
||||
#ifdef DIG_SIGCHASE
|
||||
/* Chasing functions */
|
||||
dns_rdataset_t *
|
||||
chase_scanname(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers);
|
||||
void
|
||||
chase_sig(dns_message_t *msg);
|
||||
#endif
|
||||
|
||||
void save_opt(dig_lookup_t *lookup, char *code, char *value);
|
||||
|
||||
void setup_file_key(void);
|
||||
void setup_text_key(void);
|
||||
|
||||
/*
|
||||
* Routines exported from dig.c for use by dig for iOS
|
||||
*/
|
||||
|
||||
/*%<
|
||||
* Call once only to set up libraries, parse global
|
||||
* parameters and initial command line query parameters
|
||||
*/
|
||||
void
|
||||
dig_setup(int argc, char **argv);
|
||||
|
||||
/*%<
|
||||
* Call to supply new parameters for the next lookup
|
||||
*/
|
||||
void
|
||||
dig_query_setup(bool, bool, int argc, char **argv);
|
||||
|
||||
/*%<
|
||||
* set the main application event cycle running
|
||||
*/
|
||||
void
|
||||
dig_startup(void);
|
||||
|
||||
/*%<
|
||||
* Initiates the next lookup cycle
|
||||
*/
|
||||
void
|
||||
dig_query_start(void);
|
||||
|
||||
/*%<
|
||||
* Cleans up the application
|
||||
*/
|
||||
void
|
||||
dig_shutdown(void);
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
||||
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -290,5 +290,5 @@ returns with an exit status of 1 if any query failed, and 0 otherwise\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -55,18 +50,18 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static bool short_form = true,
|
||||
tcpmode = false, tcpmode_set = false,
|
||||
identify = false, stats = true,
|
||||
comments = true, section_question = true,
|
||||
section_answer = true, section_authority = true,
|
||||
section_additional = true, recurse = true,
|
||||
aaonly = false, nofail = true,
|
||||
default_lookups = true, a_noanswer = false;
|
||||
static isc_boolean_t short_form = ISC_TRUE,
|
||||
tcpmode = ISC_FALSE, tcpmode_set = ISC_FALSE,
|
||||
identify = ISC_FALSE, stats = ISC_TRUE,
|
||||
comments = ISC_TRUE, section_question = ISC_TRUE,
|
||||
section_answer = ISC_TRUE, section_authority = ISC_TRUE,
|
||||
section_additional = ISC_TRUE, recurse = ISC_TRUE,
|
||||
aaonly = ISC_FALSE, nofail = ISC_TRUE,
|
||||
default_lookups = ISC_TRUE, a_noanswer = ISC_FALSE;
|
||||
|
||||
static bool interactive;
|
||||
static isc_boolean_t interactive;
|
||||
|
||||
static bool in_use = false;
|
||||
static isc_boolean_t in_use = ISC_FALSE;
|
||||
static char defclass[MXRD] = "IN";
|
||||
static char deftype[MXRD] = "A";
|
||||
static isc_event_t *global_event = NULL;
|
||||
@@ -161,8 +156,8 @@ rcode_totext(dns_rcode_t rcode)
|
||||
return totext.deconsttext;
|
||||
}
|
||||
|
||||
static void
|
||||
query_finished(void) {
|
||||
void
|
||||
dighost_shutdown(void) {
|
||||
isc_event_t *event = global_event;
|
||||
|
||||
flush_lookup_list();
|
||||
@@ -210,12 +205,24 @@ printaddr(dns_rdata_t *rdata) {
|
||||
(char *)isc_buffer_base(&b));
|
||||
}
|
||||
|
||||
#ifdef DIG_SIGCHASE
|
||||
/* Just for compatibility : not use in host program */
|
||||
isc_result_t
|
||||
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
|
||||
isc_buffer_t *target)
|
||||
{
|
||||
UNUSED(owner_name);
|
||||
UNUSED(rdataset);
|
||||
UNUSED(target);
|
||||
return(ISC_FALSE);
|
||||
}
|
||||
#endif
|
||||
static void
|
||||
printrdata(dns_rdata_t *rdata) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t *b = NULL;
|
||||
unsigned int size = 1024;
|
||||
bool done = false;
|
||||
isc_boolean_t done = ISC_FALSE;
|
||||
|
||||
if (rdata->type < N_KNOWN_RRTYPES)
|
||||
printf("%s", rtypetext[rdata->type]);
|
||||
@@ -230,7 +237,7 @@ printrdata(dns_rdata_t *rdata) {
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
printf("%.*s\n", (int)isc_buffer_usedlength(b),
|
||||
(char *)isc_buffer_base(b));
|
||||
done = true;
|
||||
done = ISC_TRUE;
|
||||
} else if (result != ISC_R_NOSPACE)
|
||||
check_result(result, "dns_rdata_totext");
|
||||
isc_buffer_free(&b);
|
||||
@@ -239,7 +246,7 @@ printrdata(dns_rdata_t *rdata) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
printsection(dig_query_t *query, dns_message_t *msg, bool headers,
|
||||
printsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
||||
dns_section_t section) {
|
||||
isc_result_t result, loopresult;
|
||||
dns_name_t *name;
|
||||
@@ -306,7 +313,7 @@ printsection(dig_query_t *query, dns_message_t *msg, bool headers,
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
detailsection(dig_query_t *query, dns_message_t *msg, bool headers,
|
||||
detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
||||
dns_section_t section) {
|
||||
isc_result_t result, loopresult;
|
||||
dns_name_t *name;
|
||||
@@ -391,18 +398,19 @@ detailsection(dig_query_t *query, dns_message_t *msg, bool headers,
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static void
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
void
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
{
|
||||
UNUSED(bytes);
|
||||
UNUSED(from);
|
||||
UNUSED(query);
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
trying(char *frm, dig_lookup_t *lookup) {
|
||||
UNUSED(frm);
|
||||
UNUSED(lookup);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -430,8 +438,8 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
|
||||
}
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
isc_result_t
|
||||
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
char servtext[ISC_SOCKADDR_FORMATSIZE];
|
||||
|
||||
/* I've we've gotten this far, we've reached a server. */
|
||||
@@ -450,10 +458,10 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
if (!short_form) {
|
||||
puts("------------");
|
||||
/* detailheader(query, msg);*/
|
||||
detailsection(query, msg, true, DNS_SECTION_QUESTION);
|
||||
detailsection(query, msg, true, DNS_SECTION_ANSWER);
|
||||
detailsection(query, msg, true, DNS_SECTION_AUTHORITY);
|
||||
detailsection(query, msg, true, DNS_SECTION_ADDITIONAL);
|
||||
detailsection(query, msg, ISC_TRUE, DNS_SECTION_QUESTION);
|
||||
detailsection(query, msg, ISC_TRUE, DNS_SECTION_ANSWER);
|
||||
detailsection(query, msg, ISC_TRUE, DNS_SECTION_AUTHORITY);
|
||||
detailsection(query, msg, ISC_TRUE, DNS_SECTION_ADDITIONAL);
|
||||
puts("------------");
|
||||
}
|
||||
|
||||
@@ -477,16 +485,18 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
dns_name_t *name;
|
||||
|
||||
/* Add AAAA lookup. */
|
||||
name = dns_fixedname_initname(&fixed);
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
dns_name_copy(query->lookup->name, name, NULL);
|
||||
chase_cnamechain(msg, name);
|
||||
dns_name_format(name, namestr, sizeof(namestr));
|
||||
lookup = clone_lookup(query->lookup, false);
|
||||
lookup = clone_lookup(query->lookup, ISC_FALSE);
|
||||
if (lookup != NULL) {
|
||||
strlcpy(lookup->textname, namestr,
|
||||
strncpy(lookup->textname, namestr,
|
||||
sizeof(lookup->textname));
|
||||
lookup->textname[sizeof(lookup->textname)-1] = 0;
|
||||
lookup->rdtype = dns_rdatatype_aaaa;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
@@ -500,7 +510,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
printsection(query, msg, headers, DNS_SECTION_ANSWER);
|
||||
else {
|
||||
if (default_lookups && query->lookup->rdtype == dns_rdatatype_a)
|
||||
a_noanswer = true;
|
||||
a_noanswer = ISC_TRUE;
|
||||
|
||||
else if (!default_lookups ||
|
||||
(query->lookup->rdtype == dns_rdatatype_aaaa &&
|
||||
@@ -522,7 +532,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
|
||||
}
|
||||
|
||||
static void
|
||||
show_settings(bool full, bool serv_only) {
|
||||
show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
|
||||
dig_server_t *srv;
|
||||
isc_sockaddr_t sockaddr;
|
||||
dig_searchlist_t *listent;
|
||||
@@ -553,7 +563,7 @@ show_settings(bool full, bool serv_only) {
|
||||
printf(" %s\t\t%s\n",
|
||||
usesearch ? "search" : "nosearch",
|
||||
recurse ? "recurse" : "norecurse");
|
||||
printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n",
|
||||
printf(" timeout = %d\t\tretry = %d\tport = %d\tndots = %d\n",
|
||||
timeout, tries, port, ndots);
|
||||
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
|
||||
printf(" srchlist = ");
|
||||
@@ -567,7 +577,7 @@ show_settings(bool full, bool serv_only) {
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
static bool
|
||||
static isc_boolean_t
|
||||
testtype(char *typetext) {
|
||||
isc_result_t result;
|
||||
isc_textregion_t tr;
|
||||
@@ -577,14 +587,14 @@ testtype(char *typetext) {
|
||||
tr.length = strlen(typetext);
|
||||
result = dns_rdatatype_fromtext(&rdtype, &tr);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
else {
|
||||
printf("unknown query type: %s\n", typetext);
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
static isc_boolean_t
|
||||
testclass(char *typetext) {
|
||||
isc_result_t result;
|
||||
isc_textregion_t tr;
|
||||
@@ -594,24 +604,24 @@ testclass(char *typetext) {
|
||||
tr.length = strlen(typetext);
|
||||
result = dns_rdataclass_fromtext(&rdclass, &tr);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return (true);
|
||||
return (ISC_TRUE);
|
||||
else {
|
||||
printf("unknown query class: %s\n", typetext);
|
||||
return (false);
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
set_port(const char *value) {
|
||||
uint32_t n;
|
||||
isc_uint32_t n;
|
||||
isc_result_t result = parse_uint(&n, value, 65535, "port");
|
||||
if (result == ISC_R_SUCCESS)
|
||||
port = (uint16_t) n;
|
||||
port = (isc_uint16_t) n;
|
||||
}
|
||||
|
||||
static void
|
||||
set_timeout(const char *value) {
|
||||
uint32_t n;
|
||||
isc_uint32_t n;
|
||||
isc_result_t result = parse_uint(&n, value, UINT_MAX, "timeout");
|
||||
if (result == ISC_R_SUCCESS)
|
||||
timeout = n;
|
||||
@@ -619,7 +629,7 @@ set_timeout(const char *value) {
|
||||
|
||||
static void
|
||||
set_tries(const char *value) {
|
||||
uint32_t n;
|
||||
isc_uint32_t n;
|
||||
isc_result_t result = parse_uint(&n, value, INT_MAX, "tries");
|
||||
if (result == ISC_R_SUCCESS)
|
||||
tries = n;
|
||||
@@ -627,7 +637,7 @@ set_tries(const char *value) {
|
||||
|
||||
static void
|
||||
set_ndots(const char *value) {
|
||||
uint32_t n;
|
||||
isc_uint32_t n;
|
||||
isc_result_t result = parse_uint(&n, value, 128, "ndots");
|
||||
if (result == ISC_R_SUCCESS)
|
||||
ndots = n;
|
||||
@@ -640,13 +650,8 @@ version(void) {
|
||||
|
||||
static void
|
||||
setoption(char *opt) {
|
||||
size_t l = strlen(opt);
|
||||
|
||||
#define CHECKOPT(A, N) \
|
||||
((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0))
|
||||
|
||||
if (CHECKOPT("all", 3)) {
|
||||
show_settings(true, false);
|
||||
if (strncasecmp(opt, "all", 3) == 0) {
|
||||
show_settings(ISC_TRUE, ISC_FALSE);
|
||||
} else if (strncasecmp(opt, "class=", 6) == 0) {
|
||||
if (testclass(&opt[6]))
|
||||
strlcpy(defclass, &opt[6], sizeof(defclass));
|
||||
@@ -656,41 +661,41 @@ setoption(char *opt) {
|
||||
} else if (strncasecmp(opt, "type=", 5) == 0) {
|
||||
if (testtype(&opt[5])) {
|
||||
strlcpy(deftype, &opt[5], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "ty=", 3) == 0) {
|
||||
if (testtype(&opt[3])) {
|
||||
strlcpy(deftype, &opt[3], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "querytype=", 10) == 0) {
|
||||
if (testtype(&opt[10])) {
|
||||
strlcpy(deftype, &opt[10], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "query=", 6) == 0) {
|
||||
if (testtype(&opt[6])) {
|
||||
strlcpy(deftype, &opt[6], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "qu=", 3) == 0) {
|
||||
if (testtype(&opt[3])) {
|
||||
strlcpy(deftype, &opt[3], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "q=", 2) == 0) {
|
||||
if (testtype(&opt[2])) {
|
||||
strlcpy(deftype, &opt[2], sizeof(deftype));
|
||||
default_lookups = false;
|
||||
default_lookups = ISC_FALSE;
|
||||
}
|
||||
} else if (strncasecmp(opt, "domain=", 7) == 0) {
|
||||
strlcpy(domainopt, &opt[7], sizeof(domainopt));
|
||||
set_search_domain(domainopt);
|
||||
usesearch = true;
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "do=", 3) == 0) {
|
||||
strlcpy(domainopt, &opt[3], sizeof(domainopt));
|
||||
set_search_domain(domainopt);
|
||||
usesearch = true;
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "port=", 5) == 0) {
|
||||
set_port(&opt[5]);
|
||||
} else if (strncasecmp(opt, "po=", 3) == 0) {
|
||||
@@ -699,44 +704,44 @@ setoption(char *opt) {
|
||||
set_timeout(&opt[8]);
|
||||
} else if (strncasecmp(opt, "t=", 2) == 0) {
|
||||
set_timeout(&opt[2]);
|
||||
} else if (CHECKOPT("recurse", 3)) {
|
||||
recurse = true;
|
||||
} else if (CHECKOPT("norecurse", 5)) {
|
||||
recurse = false;
|
||||
} else if (strncasecmp(opt, "rec", 3) == 0) {
|
||||
recurse = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "norec", 5) == 0) {
|
||||
recurse = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "retry=", 6) == 0) {
|
||||
set_tries(&opt[6]);
|
||||
} else if (strncasecmp(opt, "ret=", 4) == 0) {
|
||||
set_tries(&opt[4]);
|
||||
} else if (CHECKOPT("defname", 3)) {
|
||||
usesearch = true;
|
||||
} else if (CHECKOPT("nodefname", 5)) {
|
||||
usesearch = false;
|
||||
} else if (CHECKOPT("vc", 2)) {
|
||||
tcpmode = true;
|
||||
tcpmode_set = true;
|
||||
} else if (CHECKOPT("novc", 4)) {
|
||||
tcpmode = false;
|
||||
tcpmode_set = true;
|
||||
} else if (CHECKOPT("debug", 3)) {
|
||||
short_form = false;
|
||||
showsearch = true;
|
||||
} else if (CHECKOPT("nodebug", 5)) {
|
||||
short_form = true;
|
||||
showsearch = false;
|
||||
} else if (CHECKOPT("d2", 2)) {
|
||||
debugging = true;
|
||||
} else if (CHECKOPT("nod2", 4)) {
|
||||
debugging = false;
|
||||
} else if (CHECKOPT("search", 3)) {
|
||||
usesearch = true;
|
||||
} else if (CHECKOPT("nosearch", 5)) {
|
||||
usesearch = false;
|
||||
} else if (CHECKOPT("sil", 3)) {
|
||||
/* deprecation_msg = false; */
|
||||
} else if (CHECKOPT("fail", 3)) {
|
||||
nofail=false;
|
||||
} else if (CHECKOPT("nofail", 5)) {
|
||||
nofail=true;
|
||||
} 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) {
|
||||
tcpmode = ISC_TRUE;
|
||||
tcpmode_set = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "novc", 5) == 0) {
|
||||
tcpmode = ISC_FALSE;
|
||||
tcpmode_set = ISC_TRUE;
|
||||
} 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) {
|
||||
debugging = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "nod2", 4) == 0) {
|
||||
debugging = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "search", 3) == 0) {
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "nosearch", 5) == 0) {
|
||||
usesearch = ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "sil", 3) == 0) {
|
||||
/* deprecation_msg = ISC_FALSE; */
|
||||
} else if (strncasecmp(opt, "fail", 3) == 0) {
|
||||
nofail=ISC_FALSE;
|
||||
} else if (strncasecmp(opt, "nofail", 3) == 0) {
|
||||
nofail=ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "ndots=", 6) == 0) {
|
||||
set_ndots(&opt[6]);
|
||||
} else {
|
||||
@@ -755,7 +760,7 @@ addlookup(char *opt) {
|
||||
|
||||
debug("addlookup()");
|
||||
|
||||
a_noanswer = false;
|
||||
a_noanswer = ISC_FALSE;
|
||||
|
||||
tr.base = deftype;
|
||||
tr.length = strlen(deftype);
|
||||
@@ -772,21 +777,21 @@ addlookup(char *opt) {
|
||||
rdclass = dns_rdataclass_in;
|
||||
}
|
||||
lookup = make_empty_lookup();
|
||||
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, true)
|
||||
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, ISC_TRUE)
|
||||
== ISC_R_SUCCESS) {
|
||||
strlcpy(lookup->textname, store, sizeof(lookup->textname));
|
||||
lookup->rdtype = dns_rdatatype_ptr;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
} else {
|
||||
strlcpy(lookup->textname, opt, sizeof(lookup->textname));
|
||||
lookup->rdtype = rdtype;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
}
|
||||
lookup->rdclass = rdclass;
|
||||
lookup->rdclassset = true;
|
||||
lookup->trace = false;
|
||||
lookup->rdclassset = ISC_TRUE;
|
||||
lookup->trace = ISC_FALSE;
|
||||
lookup->trace_root = lookup->trace;
|
||||
lookup->ns_search_only = false;
|
||||
lookup->ns_search_only = ISC_FALSE;
|
||||
lookup->identify = identify;
|
||||
lookup->recurse = recurse;
|
||||
lookup->aaonly = aaonly;
|
||||
@@ -794,7 +799,7 @@ addlookup(char *opt) {
|
||||
lookup->udpsize = 0;
|
||||
lookup->comments = comments;
|
||||
if (lookup->rdtype == dns_rdatatype_any && !tcpmode_set)
|
||||
lookup->tcp_mode = true;
|
||||
lookup->tcp_mode = ISC_TRUE;
|
||||
else
|
||||
lookup->tcp_mode = tcpmode;
|
||||
lookup->stats = stats;
|
||||
@@ -802,9 +807,9 @@ addlookup(char *opt) {
|
||||
lookup->section_answer = section_answer;
|
||||
lookup->section_authority = section_authority;
|
||||
lookup->section_additional = section_additional;
|
||||
lookup->new_search = true;
|
||||
lookup->new_search = ISC_TRUE;
|
||||
if (nofail)
|
||||
lookup->servfail_stops = false;
|
||||
lookup->servfail_stops = ISC_FALSE;
|
||||
ISC_LIST_INIT(lookup->q);
|
||||
ISC_LINK_INIT(lookup, link);
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
@@ -815,12 +820,12 @@ addlookup(char *opt) {
|
||||
|
||||
static void
|
||||
do_next_command(char *input) {
|
||||
char *ptr, *arg, *last;
|
||||
char *ptr, *arg;
|
||||
|
||||
if ((ptr = strtok_r(input, " \t\r\n", &last)) == NULL) {
|
||||
ptr = next_token(&input, " \t\r\n");
|
||||
if (ptr == NULL)
|
||||
return;
|
||||
}
|
||||
arg = strtok_r(NULL, " \t\r\n", &last);
|
||||
arg = next_token(&input, " \t\r\n");
|
||||
if ((strcasecmp(ptr, "set") == 0) &&
|
||||
(arg != NULL))
|
||||
setoption(arg);
|
||||
@@ -828,11 +833,11 @@ do_next_command(char *input) {
|
||||
(strcasecmp(ptr, "lserver") == 0)) {
|
||||
isc_app_block();
|
||||
set_nameserver(arg);
|
||||
check_ra = false;
|
||||
check_ra = ISC_FALSE;
|
||||
isc_app_unblock();
|
||||
show_settings(true, true);
|
||||
show_settings(ISC_TRUE, ISC_TRUE);
|
||||
} else if (strcasecmp(ptr, "exit") == 0) {
|
||||
in_use = false;
|
||||
in_use = ISC_FALSE;
|
||||
} else if (strcasecmp(ptr, "help") == 0 ||
|
||||
strcasecmp(ptr, "?") == 0) {
|
||||
printf("The '%s' command is not yet implemented.\n", ptr);
|
||||
@@ -869,7 +874,7 @@ get_next_command(void) {
|
||||
ptr = fgets(buf, COMMSIZE, stdin);
|
||||
isc_app_unblock();
|
||||
if (ptr == NULL) {
|
||||
in_use = false;
|
||||
in_use = ISC_FALSE;
|
||||
} else
|
||||
do_next_command(ptr);
|
||||
#ifdef HAVE_READLINE
|
||||
@@ -881,9 +886,9 @@ get_next_command(void) {
|
||||
|
||||
static void
|
||||
parse_args(int argc, char **argv) {
|
||||
bool have_lookup = false;
|
||||
isc_boolean_t have_lookup = ISC_FALSE;
|
||||
|
||||
usesearch = true;
|
||||
usesearch = ISC_TRUE;
|
||||
for (argc--, argv++; argc > 0; argc--, argv++) {
|
||||
debug("main parsing %s", argv[0]);
|
||||
if (argv[0][0] == '-') {
|
||||
@@ -893,15 +898,15 @@ parse_args(int argc, char **argv) {
|
||||
} else if (argv[0][1] != 0) {
|
||||
setoption(&argv[0][1]);
|
||||
} else
|
||||
have_lookup = true;
|
||||
have_lookup = ISC_TRUE;
|
||||
} else {
|
||||
if (!have_lookup) {
|
||||
have_lookup = true;
|
||||
in_use = true;
|
||||
have_lookup = ISC_TRUE;
|
||||
in_use = ISC_TRUE;
|
||||
addlookup(argv[0]);
|
||||
} else {
|
||||
set_nameserver(argv[0]);
|
||||
check_ra = false;
|
||||
check_ra = ISC_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -972,19 +977,13 @@ int
|
||||
main(int argc, char **argv) {
|
||||
isc_result_t result;
|
||||
|
||||
interactive = isatty(0);
|
||||
interactive = ISC_TF(isatty(0));
|
||||
|
||||
ISC_LIST_INIT(lookup_list);
|
||||
ISC_LIST_INIT(server_list);
|
||||
ISC_LIST_INIT(search_list);
|
||||
|
||||
check_ra = true;
|
||||
|
||||
/* setup dighost callbacks */
|
||||
dighost_printmessage = printmessage;
|
||||
dighost_received = received;
|
||||
dighost_trying = trying;
|
||||
dighost_shutdown = query_finished;
|
||||
check_ra = ISC_TRUE;
|
||||
|
||||
result = isc_app_start();
|
||||
check_result(result, "isc_app_start");
|
||||
@@ -992,7 +991,7 @@ main(int argc, char **argv) {
|
||||
setup_libs();
|
||||
progname = argv[0];
|
||||
|
||||
setup_system(false, false);
|
||||
setup_system(ISC_FALSE, ISC_FALSE);
|
||||
parse_args(argc, argv);
|
||||
if (keyfile[0] != 0)
|
||||
setup_file_key();
|
||||
@@ -1006,7 +1005,7 @@ main(int argc, char **argv) {
|
||||
else
|
||||
result = isc_app_onrun(mctx, global_task, getinput, NULL);
|
||||
check_result(result, "isc_app_onrun");
|
||||
in_use = !in_use;
|
||||
in_use = ISC_TF(!in_use);
|
||||
|
||||
(void)isc_app_run();
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
<!--
|
||||
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
|
||||
<!--
|
||||
@@ -70,7 +67,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
|
||||
107
bin/dig/win32/dig.dsp.in
Normal file
107
bin/dig/win32/dig.dsp.in
Normal file
@@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="dig" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
|
||||
|
||||
CFG=dig - @PLATFORM@ 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 "dig.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 "dig.mak" CFG="dig - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "dig - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "dig - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ 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 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../include" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" @CRYPTO@ /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /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@
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib @IDN_LIB@ /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/dig.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ 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 @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../include" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" @CRYPTO@ /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /u @COPTY@
|
||||
# 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@ /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib @IDN_LIB@ /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "dig - @PLATFORM@ Release"
|
||||
# Name "dig - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\dig.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\dig\dig.h
|
||||
# End Source File
|
||||
# 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
|
||||
29
bin/dig/win32/dig.dsw
Normal file
29
bin/dig/win32/dig.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "dig"=".\dig.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
427
bin/dig/win32/dig.mak.in
Normal file
427
bin/dig/win32/dig.mak.in
Normal file
@@ -0,0 +1,427 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on dig.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=dig - @PLATFORM@ Debug
|
||||
!MESSAGE No configuration specified. Defaulting to dig - @PLATFORM@ Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "dig - @PLATFORM@ Release" && "$(CFG)" != "dig - @PLATFORM@ 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 "dig.mak" CFG="dig - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "dig - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE "dig - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ 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)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Release\dig.exe"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "liblwres - @PLATFORM@ Release" "libbind9 - @PLATFORM@ Release" "libisc - @PLATFORM@ Release" "libdns - @PLATFORM@ Release" "..\..\..\Build\Release\dig.exe"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libdns - @PLATFORM@ ReleaseCLEAN" "libisc - @PLATFORM@ ReleaseCLEAN" "libbind9 - @PLATFORM@ ReleaseCLEAN" "liblwres - @PLATFORM@ ReleaseCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\dig.obj"
|
||||
-@erase "$(INTDIR)\dighost.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "..\..\..\Build\Release\dig.exe"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../include" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" @CRYPTO@ /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib @IDN_LIB@ /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" @MACHINE@ /out:"../../../Build/Release/dig.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dig.obj" \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"..\..\..\lib\dns\win32\Release\libdns.lib" \
|
||||
"..\..\..\lib\isc\win32\Release\libisc.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
|
||||
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
|
||||
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
|
||||
|
||||
"..\..\..\Build\Release\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
!IF "$(RECURSE)" == "0"
|
||||
|
||||
ALL : "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
|
||||
|
||||
!ELSE
|
||||
|
||||
ALL : "liblwres - @PLATFORM@ Debug" "libbind9 - @PLATFORM@ Debug" "libisc - @PLATFORM@ Debug" "libdns - @PLATFORM@ Debug" "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(RECURSE)" == "1"
|
||||
CLEAN :"libdns - @PLATFORM@ DebugCLEAN" "libisc - @PLATFORM@ DebugCLEAN" "libbind9 - @PLATFORM@ DebugCLEAN" "liblwres - @PLATFORM@ DebugCLEAN"
|
||||
!ELSE
|
||||
CLEAN :
|
||||
!ENDIF
|
||||
-@erase "$(INTDIR)\dig.obj"
|
||||
-@erase "$(INTDIR)\dig.sbr"
|
||||
-@erase "$(INTDIR)\dighost.obj"
|
||||
-@erase "$(INTDIR)\dighost.sbr"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\dig.bsc"
|
||||
-@erase "$(OUTDIR)\dig.pdb"
|
||||
-@erase "..\..\..\Build\Debug\dig.exe"
|
||||
-@erase "..\..\..\Build\Debug\dig.ilk"
|
||||
-@$(_VC_MANIFEST_CLEAN)
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../include" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" @CRYPTO@ /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
|
||||
BSC32_SBRS= \
|
||||
"$(INTDIR)\dig.sbr" \
|
||||
"$(INTDIR)\dighost.sbr"
|
||||
|
||||
"$(OUTDIR)\dig.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||
$(BSC32) @<<
|
||||
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||
<<
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib @IDN_LIB@ /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dig.obj" \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
|
||||
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
|
||||
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
|
||||
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
|
||||
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
|
||||
|
||||
"..\..\..\Build\Debug\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
$(_VC_MANIFEST_EMBED_EXE)
|
||||
|
||||
!ENDIF
|
||||
|
||||
.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) $<
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("dig.dep")
|
||||
!INCLUDE "dig.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "dig.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release" || "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
SOURCE=..\dig.c
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dig.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dig.obj" "$(INTDIR)\dig.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\dighost.c
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
|
||||
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
"libdns - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libdns - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
"libdns - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libdns - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\dns\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
"libisc - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libisc - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
"libisc - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libisc - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\isc\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
"libbind9 - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\bind9\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libbind9 - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\bind9\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
"libbind9 - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\bind9\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"libbind9 - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\bind9\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "dig - @PLATFORM@ Release"
|
||||
|
||||
"liblwres - @PLATFORM@ Release" :
|
||||
cd "..\..\..\lib\lwres\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Release"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"liblwres - @PLATFORM@ ReleaseCLEAN" :
|
||||
cd "..\..\..\lib\lwres\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Release" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - @PLATFORM@ Debug"
|
||||
|
||||
"liblwres - @PLATFORM@ Debug" :
|
||||
cd "..\..\..\lib\lwres\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Debug"
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
"liblwres - @PLATFORM@ DebugCLEAN" :
|
||||
cd "..\..\..\lib\lwres\win32"
|
||||
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - @PLATFORM@ Debug" RECURSE=1 CLEAN
|
||||
cd "..\..\..\bin\dig\win32"
|
||||
|
||||
!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
|
||||
@@ -53,22 +53,22 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\lwres\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dighost.lib;libisc.lib;libisccfg.lib;libdns.lib;libbind9.lib;liblwres.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
|
||||
@@ -79,7 +79,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
@@ -87,7 +87,7 @@
|
||||
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@@ -97,8 +97,8 @@
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\lwres\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dighost.lib;libisc.lib;libisccfg.lib;libdns.lib;libbind9.lib;liblwres.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
113
bin/dig/win32/dighost.dsp.in
Normal file
113
bin/dig/win32/dighost.dsp.in
Normal file
@@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="dighost" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "@PLATFORM@ (x86) Static-Link Library" 0x0104
|
||||
|
||||
CFG=dighost - @PLATFORM@ 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 "dighost.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 "dighost.mak" CFG="dighost - @PLATFORM@ Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "dighost - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE "dighost - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Static-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "dighost - @PLATFORM@ 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 /MT /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" @COPTY@ /FD /c
|
||||
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "NDEBUG" @CRYPTO@ /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" @COPTY@ /FD /c /Fddighost
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /out:"Release/dighost.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dighost - @PLATFORM@ 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 /MTd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" @COPTY@ /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ @IDN_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" @CRYPTO@ /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR @COPTY@ /FD /GZ /c /Fddighost
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# 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
|
||||
# ADD LINK32 /debug out:"Debug/dighost.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "dighost - @PLATFORM@ Release"
|
||||
# Name "dighost - @PLATFORM@ Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# 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
|
||||
# Begin Group "Main Dns Lib"
|
||||
|
||||
# PROP Default_Filter "c"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\dighost.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user