Compare commits
2258 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0713c8193 | ||
|
|
6451a2bd14 | ||
|
|
9c103e049f | ||
|
|
9bea888217 | ||
|
|
53dda396ac | ||
|
|
3b9b39fa01 | ||
|
|
cbbcb9014f | ||
|
|
cd58d9797d | ||
|
|
7b54fc89fc | ||
|
|
0b4920b006 | ||
|
|
b1b5fb4fb1 | ||
|
|
085e87e610 | ||
|
|
d02e34a045 | ||
|
|
004c0dd6b5 | ||
|
|
6e9e81453d | ||
|
|
e957d3c530 | ||
|
|
257d5b037f | ||
|
|
87ce2b1060 | ||
|
|
04962afb5b | ||
|
|
7b0791f572 | ||
|
|
50a07c343c | ||
|
|
5eecfba890 | ||
|
|
f981c07ba7 | ||
|
|
8030fbee3f | ||
|
|
eb808158ad | ||
|
|
4719e6364f | ||
|
|
1c642c6c67 | ||
|
|
8ca68065c4 | ||
|
|
9f3756cecb | ||
|
|
40958c0b73 | ||
|
|
f4631471a2 | ||
|
|
8eb07cce40 | ||
|
|
20e8335651 | ||
|
|
7307ca6554 | ||
|
|
533616d860 | ||
|
|
42bbb73b03 | ||
|
|
d9a2c650d9 | ||
|
|
8e94cc841f | ||
|
|
547a22e6f8 | ||
|
|
5c7898c148 | ||
|
|
c22f2e4093 | ||
|
|
67c6ea848a | ||
|
|
f11f15ecee | ||
|
|
dc570048ad | ||
|
|
589e86f99f | ||
|
|
69819d676a | ||
|
|
6c6d0c3ef7 | ||
|
|
d8a403a8be | ||
|
|
ed89ac0465 | ||
|
|
f6911c31f9 | ||
|
|
948776dde0 | ||
|
|
3a03cd5d4e | ||
|
|
0d0e1a21ec | ||
|
|
09e21676fa | ||
|
|
a8b49a7815 | ||
|
|
867247f863 | ||
|
|
df9c39975e | ||
|
|
1314ae3759 | ||
|
|
d63246add2 | ||
|
|
a4bd85a009 | ||
|
|
fd1fe00183 | ||
|
|
f64c09ba65 | ||
|
|
33c841f9fc | ||
|
|
7970ae49a6 | ||
|
|
0ff6113261 | ||
|
|
cce57cf062 | ||
|
|
77142dfe71 | ||
|
|
d0caa3dc46 | ||
|
|
71308f34bf | ||
|
|
0798c610fa | ||
|
|
2de11cf2a1 | ||
|
|
c4cdad183b | ||
|
|
9d3faf1448 | ||
|
|
5ce3bf669f | ||
|
|
f2b12cb713 | ||
|
|
6b720b9fb1 | ||
|
|
872c6c261d | ||
|
|
9b1685861b | ||
|
|
03c6cf9998 | ||
|
|
11354ff372 | ||
|
|
2d713a2aa0 | ||
|
|
15e252ef94 | ||
|
|
c6fca95cd0 | ||
|
|
e0ddc1b3e9 | ||
|
|
bd6f1082ec | ||
|
|
b6da642566 | ||
|
|
5dafbe5013 | ||
|
|
101eba57a3 | ||
|
|
360510a440 | ||
|
|
b9cb28effc | ||
|
|
f0aead1abf | ||
|
|
034a483d14 | ||
|
|
24610e18df | ||
|
|
925f84ce92 | ||
|
|
c43d080209 | ||
|
|
ada21070d2 | ||
|
|
a6be3a184f | ||
|
|
40652dd244 | ||
|
|
763362074e | ||
|
|
27e1e9ff4b | ||
|
|
14bfdd5145 | ||
|
|
fcaa745a42 | ||
|
|
7e96cc4696 | ||
|
|
ca7cb7b53f | ||
|
|
9e16bfe80e | ||
|
|
c8f644fe92 | ||
|
|
09a1be1f01 | ||
|
|
7a5f5ec2af | ||
|
|
b9693520fe | ||
|
|
4b5175c834 | ||
|
|
3981c0af39 | ||
|
|
9bf892ead1 | ||
|
|
1cff9801d1 | ||
|
|
2c67878d34 | ||
|
|
32934cecb0 | ||
|
|
75e452a4d0 | ||
|
|
45c11d8755 | ||
|
|
4e41c936d3 | ||
|
|
ea48b4f38b | ||
|
|
b6a74ff1b1 | ||
|
|
46c442835d | ||
|
|
a8a972cc64 | ||
|
|
37235e8ffd | ||
|
|
64cf48df53 | ||
|
|
d0cdabd43d | ||
|
|
fd13b03113 | ||
|
|
f11290cbd7 | ||
|
|
79a3ae39cc | ||
|
|
cb02609903 | ||
|
|
1e9273edba | ||
|
|
d3f7f61cf9 | ||
|
|
86c4f0e78e | ||
|
|
9526a1e08d | ||
|
|
631c3fc123 | ||
|
|
348a297124 | ||
|
|
45ca673a76 | ||
|
|
3e3cd90fe3 | ||
|
|
e256523bd6 | ||
|
|
5adce2b966 | ||
|
|
cc31c8e443 | ||
|
|
4f101fd179 | ||
|
|
a490cb1c51 | ||
|
|
c2bb6225a9 | ||
|
|
6ec3dfd2af | ||
|
|
f30154be76 | ||
|
|
c586565250 | ||
|
|
d5a9b459de | ||
|
|
7eca2b230a | ||
|
|
b62558ef4f | ||
|
|
f2ee0f85cb | ||
|
|
16be45a7f4 | ||
|
|
70f565b977 | ||
|
|
eba040d9c6 | ||
|
|
558d81f11d | ||
|
|
eaeaf4f46f | ||
|
|
9eee9c6409 | ||
|
|
974dd2e224 | ||
|
|
b1b38b22bc | ||
|
|
e7c7209af8 | ||
|
|
43d8ee6dc4 | ||
|
|
17befb55bd | ||
|
|
534a885953 | ||
|
|
edf805b185 | ||
|
|
2b0333407e | ||
|
|
abbde5e2fe | ||
|
|
23e61654ac | ||
|
|
36b36dc9e5 | ||
|
|
47588cbdf1 | ||
|
|
3f26cd737a | ||
|
|
b9b70d4a4d | ||
|
|
327500822e | ||
|
|
fbeaef0fb0 | ||
|
|
858187ff3b | ||
|
|
75e772b59d | ||
|
|
7b42babfea | ||
|
|
0b21f45431 | ||
|
|
2ad64370fd | ||
|
|
2e9d59dd15 | ||
|
|
beb6f16a99 | ||
|
|
6e6f86392f | ||
|
|
149bd39bf0 | ||
|
|
95bef6b2cf | ||
|
|
6dd3684961 | ||
|
|
1f85102b2a | ||
|
|
d665ddbf70 | ||
|
|
7dd768823b | ||
|
|
8795fecbbe | ||
|
|
c072541ca0 | ||
|
|
a54a5fd60e | ||
|
|
246a5586f1 | ||
|
|
b1f59e4606 | ||
|
|
4a462bd067 | ||
|
|
ec541505fa | ||
|
|
d51b7acff3 | ||
|
|
be93322111 | ||
|
|
9811bf1c7d | ||
|
|
f5d894d721 | ||
|
|
36bee53b91 | ||
|
|
68761692d6 | ||
|
|
bdc16544b1 | ||
|
|
39d9d41200 | ||
|
|
968368a0b5 | ||
|
|
c58246a801 | ||
|
|
72d20be848 | ||
|
|
1632c5931b | ||
|
|
31f782b605 | ||
|
|
6af78d13a0 | ||
|
|
59259b9f38 | ||
|
|
5b7b4fa54b | ||
|
|
70e0923710 | ||
|
|
fb843dc96a | ||
|
|
53ae43cea1 | ||
|
|
b6768c488c | ||
|
|
1c5c9f592a | ||
|
|
ba411bf0c9 | ||
|
|
a0bde96546 | ||
|
|
d84309ef74 | ||
|
|
64e10ec5f6 | ||
|
|
bf6690596b | ||
|
|
4583255b24 | ||
|
|
2082485a73 | ||
|
|
2beec845b4 | ||
|
|
269318dff9 | ||
|
|
9ab048a866 | ||
|
|
e2de4e760c | ||
|
|
6d0a5841ce | ||
|
|
599775372a | ||
|
|
5de3c05b17 | ||
|
|
4c887ecd0e | ||
|
|
a3dbde27f4 | ||
|
|
ac2ac81731 | ||
|
|
ce8cc06b6f | ||
|
|
321e7ff4b8 | ||
|
|
41a085f283 | ||
|
|
2c9698f360 | ||
|
|
1a3632db69 | ||
|
|
5372026f4e | ||
|
|
0dad651086 | ||
|
|
0398af52fa | ||
|
|
a01a37def3 | ||
|
|
b8c4aca1b7 | ||
|
|
03a93e269f | ||
|
|
f8e2c32d29 | ||
|
|
1ec2d7e807 | ||
|
|
65fb9b21f5 | ||
|
|
f310b3dce5 | ||
|
|
cb27330e5c | ||
|
|
f49ff4a82c | ||
|
|
7deeb1a9d2 | ||
|
|
ff15771dee | ||
|
|
665cfabe88 | ||
|
|
2171488708 | ||
|
|
b8072cb4bc | ||
|
|
7f4214fd1a | ||
|
|
42150579ae | ||
|
|
291f63ced1 | ||
|
|
e8c02bdafc | ||
|
|
58a2d0aa43 | ||
|
|
08c44d5e4d | ||
|
|
b6f29c6d01 | ||
|
|
79650d87c6 | ||
|
|
8968554786 | ||
|
|
683a27fd16 | ||
|
|
9de47c3e20 | ||
|
|
0d26ffb398 | ||
|
|
581cbb04c8 | ||
|
|
0b62ea07dd | ||
|
|
a10d82634c | ||
|
|
32ff3f4b78 | ||
|
|
10de7852bd | ||
|
|
398aa77a34 | ||
|
|
24d8da4f0f | ||
|
|
2e28ce5da6 | ||
|
|
9df9ea7daa | ||
|
|
a955cdf5b5 | ||
|
|
c9aab81abd | ||
|
|
3ac569ccdb | ||
|
|
8e3192c38d | ||
|
|
77d4febaa9 | ||
|
|
41c2a7b1e7 | ||
|
|
9788b328d0 | ||
|
|
c23d30fe02 | ||
|
|
33f72fe9f7 | ||
|
|
01e5800d6b | ||
|
|
6365b4eaae | ||
|
|
61877a80eb | ||
|
|
f47f684fb1 | ||
|
|
3dfa0a6ee8 | ||
|
|
9d3085883b | ||
|
|
2cd401dfb6 | ||
|
|
c22f3a66c7 | ||
|
|
c845e4a307 | ||
|
|
7ac2b23c54 | ||
|
|
a0853471cd | ||
|
|
78ffe3652b | ||
|
|
970215fe11 | ||
|
|
df786cc25c | ||
|
|
4c1eb76521 | ||
|
|
42fa16c074 | ||
|
|
f076be3f00 | ||
|
|
652b1e8834 | ||
|
|
f8c31fd158 | ||
|
|
f6a185d135 | ||
|
|
2bf0663118 | ||
|
|
a777002cad | ||
|
|
bb148d6903 | ||
|
|
25ec2a4109 | ||
|
|
081231b5eb | ||
|
|
ca65205b3f | ||
|
|
682db59b71 | ||
|
|
90ee0e12bd | ||
|
|
3a3671332d | ||
|
|
0e1e93c385 | ||
|
|
8c1109d5bf | ||
|
|
d94602779b | ||
|
|
cc8baeb284 | ||
|
|
c682238906 | ||
|
|
7f06b20a83 | ||
|
|
52ca8590dc | ||
|
|
04c34ec06b | ||
|
|
4bbc08f9a8 | ||
|
|
93c19f7621 | ||
|
|
74a0f19645 | ||
|
|
701606a1d0 | ||
|
|
df9b583547 | ||
|
|
8c7ba5a7f8 | ||
|
|
5ffb0573bd | ||
|
|
fc91c2c300 | ||
|
|
601cdb5f7d | ||
|
|
f02f4b6a6f | ||
|
|
3984718a9e | ||
|
|
edc78a0f1b | ||
|
|
b04446fa5f | ||
|
|
2342724b72 | ||
|
|
f36d5f257f | ||
|
|
ac255047aa | ||
|
|
eb2a2f2770 | ||
|
|
6a2bfeed4a | ||
|
|
e8d0069146 | ||
|
|
2d46c5fd9c | ||
|
|
754ddedcfd | ||
|
|
8eb14452d6 | ||
|
|
836e227e8e | ||
|
|
17820c59a5 | ||
|
|
95b0663467 | ||
|
|
2b92da1288 | ||
|
|
a937e32c70 | ||
|
|
0f5d05610e | ||
|
|
673cc90d4b | ||
|
|
c6897c35e4 | ||
|
|
b5b8e9569a | ||
|
|
c285df25e0 | ||
|
|
ab507a4e06 | ||
|
|
fcb7624340 | ||
|
|
4c8de525fa | ||
|
|
977b7ac162 | ||
|
|
b1bb8a9e51 | ||
|
|
dd9e257800 | ||
|
|
62f14d5826 | ||
|
|
76e0ae847a | ||
|
|
81269541d2 | ||
|
|
573eb75e0f | ||
|
|
229892a099 | ||
|
|
962c241c43 | ||
|
|
17271f13a6 | ||
|
|
8fc65d1f05 | ||
|
|
3628f04492 | ||
|
|
51ae34b0c8 | ||
|
|
89af8f9be3 | ||
|
|
3a0ff7fca7 | ||
|
|
0d374582db | ||
|
|
6453c5315b | ||
|
|
2592dc5de7 | ||
|
|
66b64c3fce | ||
|
|
1b5d6c5450 | ||
|
|
e8da1d8078 | ||
|
|
5231c6a26c | ||
|
|
c4d6a78f38 | ||
|
|
ea660b0770 | ||
|
|
4afeb31498 | ||
|
|
cc4569d518 | ||
|
|
8ab3b4e7c7 | ||
|
|
32f6a22e89 | ||
|
|
257b8a080c | ||
|
|
531e809a1d | ||
|
|
b192d13a5a | ||
|
|
db2cb7eaae | ||
|
|
6a8119e46d | ||
|
|
6751efae8d | ||
|
|
40f6436384 | ||
|
|
f06f816ec9 | ||
|
|
f33395b687 | ||
|
|
b5ff9e5b3d | ||
|
|
581d77363d | ||
|
|
3335f10b81 | ||
|
|
929e50bfe0 | ||
|
|
93b52e00f9 | ||
|
|
a790c8d8a6 | ||
|
|
39b1eee8cf | ||
|
|
dedff3528e | ||
|
|
fe5f32b812 | ||
|
|
67c71db8b3 | ||
|
|
db9126fe69 | ||
|
|
2871055d09 | ||
|
|
61c8049230 | ||
|
|
0d7aa181e1 | ||
|
|
1a02cf771e | ||
|
|
71ad25ba17 | ||
|
|
fd1a0b559b | ||
|
|
dd13cbb093 | ||
|
|
c89e5fd4c8 | ||
|
|
9530453877 | ||
|
|
08620bad8a | ||
|
|
039f179f7e | ||
|
|
6f3d8d9dbb | ||
|
|
dda6a063a2 | ||
|
|
95a62b6747 | ||
|
|
3edc4dba34 | ||
|
|
7a14a22434 | ||
|
|
49f4392f32 | ||
|
|
4ed74e6600 | ||
|
|
8feff2ab3c | ||
|
|
134088b1e9 | ||
|
|
ad4090df9e | ||
|
|
d5a4201f36 | ||
|
|
61201a7a3e | ||
|
|
a371376de9 | ||
|
|
a22db1268c | ||
|
|
a6aff319f0 | ||
|
|
fcd518304a | ||
|
|
cf8f0db28b | ||
|
|
cb3ccbe4da | ||
|
|
6fcfecea15 | ||
|
|
74cfe49e38 | ||
|
|
29a9728c08 | ||
|
|
a416e52fb7 | ||
|
|
f0f91dfa7f | ||
|
|
ef1cc6ebd7 | ||
|
|
ce4ea46dd3 | ||
|
|
546c311c66 | ||
|
|
069fa1eb10 | ||
|
|
465e37a68c | ||
|
|
71bebb88b6 | ||
|
|
b4daf94423 | ||
|
|
ea582b291f | ||
|
|
e02ba543db | ||
|
|
bd9aa58852 | ||
|
|
3992adce1d | ||
|
|
a4a309f65b | ||
|
|
83cac3fd35 | ||
|
|
ca7b9f18da | ||
|
|
1692740692 | ||
|
|
5e62f59109 | ||
|
|
67d3024936 | ||
|
|
29cadafdb8 | ||
|
|
4a8ee6dc04 | ||
|
|
1c6a9c6bd8 | ||
|
|
9253108001 | ||
|
|
70c9938c8b | ||
|
|
ce9a9ac5d5 | ||
|
|
8a6f58e42b | ||
|
|
4ee39d50ef | ||
|
|
ef96028e7c | ||
|
|
9781ffef82 | ||
|
|
c580f18a41 | ||
|
|
fd20faa237 | ||
|
|
52ca456df6 | ||
|
|
441bd60bb8 | ||
|
|
4ca55f0eb6 | ||
|
|
6e91d9a41b | ||
|
|
b4f150ede2 | ||
|
|
b0843937e8 | ||
|
|
65fdd59d4c | ||
|
|
82b95385ef | ||
|
|
4503f9e859 | ||
|
|
4c63c71cbb | ||
|
|
a99c7533ee | ||
|
|
8558d6300e | ||
|
|
b29b68213c | ||
|
|
c84b3cfb02 | ||
|
|
dc102ed192 | ||
|
|
b7955c9c28 | ||
|
|
afc268ebb8 | ||
|
|
3f23634f0e | ||
|
|
e2603103fe | ||
|
|
7613e9e7cb | ||
|
|
cf781cc854 | ||
|
|
9a36ef794e | ||
|
|
b51999faf8 | ||
|
|
fd5449f4f8 | ||
|
|
691d1d2c86 | ||
|
|
a8533305a2 | ||
|
|
8c6d81740b | ||
|
|
11a3eab225 | ||
|
|
6595f581bf | ||
|
|
a2b4901925 | ||
|
|
e8cc0e173c | ||
|
|
82b4a7b73e | ||
|
|
32bd2f5d3c | ||
|
|
05e2dd6a15 | ||
|
|
1a3fb98614 | ||
|
|
37e0b1bcbd | ||
|
|
918555fc4a | ||
|
|
81a53300ee | ||
|
|
f240cd7599 | ||
|
|
783468308e | ||
|
|
3ec4216b58 | ||
|
|
a55a9cf494 | ||
|
|
c282d8a75b | ||
|
|
acbd22483c | ||
|
|
d148bf327f | ||
|
|
d0cf4c7802 | ||
|
|
a2b9c707aa | ||
|
|
d3c395f4db | ||
|
|
70a9f173bb | ||
|
|
23dd98b032 | ||
|
|
31ef8a7413 | ||
|
|
f0cc58ba10 | ||
|
|
612e5be76a | ||
|
|
b33c04170d | ||
|
|
c94694bfd7 | ||
|
|
7a6f43b11e | ||
|
|
fbdb4098b0 | ||
|
|
4739c6bad9 | ||
|
|
eb788c2447 | ||
|
|
572d70e02e | ||
|
|
65fec4fa4b | ||
|
|
687bb8ca0e | ||
|
|
5781c9f608 | ||
|
|
a4eea6b1ca | ||
|
|
e86f92fc9f | ||
|
|
38c6b289f9 | ||
|
|
11ab9abc93 | ||
|
|
871e091d33 | ||
|
|
d8674d3810 | ||
|
|
9ba8f65e98 | ||
|
|
5717db8dad | ||
|
|
d38338fd85 | ||
|
|
07a0a4dedb | ||
|
|
8398bf3d13 | ||
|
|
2632325ab1 | ||
|
|
40eaf6ebae | ||
|
|
1e112f85f6 | ||
|
|
9713618f1d | ||
|
|
7ac24b68f7 | ||
|
|
688cf68c1f | ||
|
|
29cc00edb7 | ||
|
|
455fff78cf | ||
|
|
28b603e094 | ||
|
|
62ccc1a14c | ||
|
|
0fda82b42b | ||
|
|
f5965ba439 | ||
|
|
48819570a4 | ||
|
|
e90c12aa1a | ||
|
|
e1389d0fc0 | ||
|
|
7ac50d49b3 | ||
|
|
78b2b685f5 | ||
|
|
8b9ce3a945 | ||
|
|
d2f6d12a22 | ||
|
|
45ed7563d3 | ||
|
|
bb989de483 | ||
|
|
12cc8e4b55 | ||
|
|
494956367e | ||
|
|
3c35c14f4a | ||
|
|
22e3009f38 | ||
|
|
2b3faeab85 | ||
|
|
97f56425ad | ||
|
|
a793e659f5 | ||
|
|
c6825bef82 | ||
|
|
6a24616ccf | ||
|
|
d2262312eb | ||
|
|
d6bc7dc77c | ||
|
|
db68945438 | ||
|
|
dc9823fb8a | ||
|
|
14e26c0959 | ||
|
|
7e2c785e5e | ||
|
|
7f687c254f | ||
|
|
1d445ba9c6 | ||
|
|
d7ae34d839 | ||
|
|
fd4c85061a | ||
|
|
85119d84b9 | ||
|
|
7467b14c0c | ||
|
|
62b55f2813 | ||
|
|
2dccf11e3a | ||
|
|
4c697150a3 | ||
|
|
847cdc2372 | ||
|
|
d34e308213 | ||
|
|
45d403032d | ||
|
|
3f4ba1fa54 | ||
|
|
3169fab89f | ||
|
|
605095f7e0 | ||
|
|
b1fdb5273a | ||
|
|
c29205c329 | ||
|
|
15a75bf608 | ||
|
|
e9dfa90049 | ||
|
|
6fd741539a | ||
|
|
48a46376cc | ||
|
|
3f91210cb6 | ||
|
|
a7af4a545b | ||
|
|
41d335872e | ||
|
|
4dd839d8e2 | ||
|
|
1b5c297c2d | ||
|
|
b6e1726eac | ||
|
|
f5611188f2 | ||
|
|
f25f2b207c | ||
|
|
bf4134c520 | ||
|
|
bd6d1e72b3 | ||
|
|
0fa710047e | ||
|
|
5c17396f5c | ||
|
|
809adc90e9 | ||
|
|
9ecd6ad01d | ||
|
|
063e8ae6cd | ||
|
|
85855bd04a | ||
|
|
f6ce33c392 | ||
|
|
fdcf4e9a88 | ||
|
|
73f6bc3ebb | ||
|
|
915155738e | ||
|
|
2cb9555c26 | ||
|
|
ebd1cb38cb | ||
|
|
5046eb9e1a | ||
|
|
35973584f3 | ||
|
|
20737d23f6 | ||
|
|
674e2cd3c8 | ||
|
|
cad1ee5fde | ||
|
|
c5d451695e | ||
|
|
22fe67981e | ||
|
|
5b5b2e5e6c | ||
|
|
e4b4f2ed77 | ||
|
|
340265ed8a | ||
|
|
da45cf7d9f | ||
|
|
265454279b | ||
|
|
8a57d5e942 | ||
|
|
1b35f8454b | ||
|
|
ded997a823 | ||
|
|
9af7e3b726 | ||
|
|
bf99944cd3 | ||
|
|
bf157cf5f4 | ||
|
|
69a1852134 | ||
|
|
9634848023 | ||
|
|
3365971166 | ||
|
|
cb896a6507 | ||
|
|
83f4f1c61b | ||
|
|
7558285577 | ||
|
|
2533514b8b | ||
|
|
ee34af0d10 | ||
|
|
c935b96e9c | ||
|
|
5b1d5028da | ||
|
|
82b403ea73 | ||
|
|
6a7faae8cc | ||
|
|
0dbb98778e | ||
|
|
2d3535112d | ||
|
|
b99ebe6c92 | ||
|
|
d800ae7802 | ||
|
|
31ed5789d1 | ||
|
|
0cd7b779d3 | ||
|
|
3a41396c3b | ||
|
|
bbd11f9c74 | ||
|
|
c069179cab | ||
|
|
3b444759a8 | ||
|
|
172f4853b7 | ||
|
|
77c23033c8 | ||
|
|
43d6b173bc | ||
|
|
6e3f51505e | ||
|
|
d261593e81 | ||
|
|
9533ace890 | ||
|
|
555d3a5f64 | ||
|
|
785944ebd1 | ||
|
|
b9576c1a55 | ||
|
|
110fd066b2 | ||
|
|
9455840478 | ||
|
|
33412a6755 | ||
|
|
100ceaf76e | ||
|
|
5be5c9dd6c | ||
|
|
c3b1a39f38 | ||
|
|
cbf8f049ea | ||
|
|
48d17ac717 | ||
|
|
4733ef3db6 | ||
|
|
3b9a2e08f8 | ||
|
|
fa79b32d9e | ||
|
|
1a4be1e7c3 | ||
|
|
bddfc920b0 | ||
|
|
0ff5d479be | ||
|
|
82ed23194e | ||
|
|
9ad02d655e | ||
|
|
2b0bbc0f21 | ||
|
|
a9341a82f1 | ||
|
|
d0d0200ad6 | ||
|
|
3bb6385d0e | ||
|
|
621d2e0204 | ||
|
|
15cc67ef12 | ||
|
|
fd15b7aae4 | ||
|
|
e29f472f80 | ||
|
|
99162dd8fa | ||
|
|
c49683433b | ||
|
|
669aed2158 | ||
|
|
f47f63e541 | ||
|
|
1698f6c929 | ||
|
|
65232ec5fa | ||
|
|
b396825615 | ||
|
|
154d3adcbc | ||
|
|
e734a20ff0 | ||
|
|
1addc7c818 | ||
|
|
a60c4bb0c8 | ||
|
|
3b5fbbf5fe | ||
|
|
ef7186adef | ||
|
|
7387ca7a82 | ||
|
|
ca31f9bf14 | ||
|
|
dc6ecfde62 | ||
|
|
adbb626636 | ||
|
|
d865e14494 | ||
|
|
d003a234cf | ||
|
|
991aecda47 | ||
|
|
11fc4e9d94 | ||
|
|
e45d820cf6 | ||
|
|
77351922c5 | ||
|
|
6b1cb71807 | ||
|
|
e4bcbf4a4e | ||
|
|
4120ec8591 | ||
|
|
789547be22 | ||
|
|
1090746b55 | ||
|
|
e15400ccec | ||
|
|
acfc813fe3 | ||
|
|
c0f1383f02 | ||
|
|
2233651298 | ||
|
|
77d878b630 | ||
|
|
b7be8695c2 | ||
|
|
62f4976ba2 | ||
|
|
d78521d0f1 | ||
|
|
7060c33697 | ||
|
|
895e90d967 | ||
|
|
016b20872a | ||
|
|
6185a29b3e | ||
|
|
87ec3cc5e0 | ||
|
|
7e67387531 | ||
|
|
473461077d | ||
|
|
d7ffccecc0 | ||
|
|
78b5fca661 | ||
|
|
8cf8ec5c40 | ||
|
|
a8b440c1a1 | ||
|
|
d762a9808d | ||
|
|
38aa6b80f4 | ||
|
|
0f20ac1514 | ||
|
|
59a1d41ca9 | ||
|
|
7bcd1bf151 | ||
|
|
be69f7e809 | ||
|
|
d814fa446b | ||
|
|
cd8571aa95 | ||
|
|
c1d6d061c1 | ||
|
|
aceb10d783 | ||
|
|
d6b2dca644 | ||
|
|
c8ba3fc75d | ||
|
|
8116f2b24d | ||
|
|
7b4713a02e | ||
|
|
e8f1b1213d | ||
|
|
379e2ac37f | ||
|
|
ed9e1d0fa6 | ||
|
|
bf094b5cca | ||
|
|
c313719d03 | ||
|
|
f246dfbfdf | ||
|
|
dde140cb6f | ||
|
|
b737488df5 | ||
|
|
1999760f5d | ||
|
|
2f809da8bc | ||
|
|
064a2bea35 | ||
|
|
84644c3f38 | ||
|
|
cafd42ef9d | ||
|
|
d96dfb6b2a | ||
|
|
dfefcdbc5d | ||
|
|
1ad60cdae7 | ||
|
|
54b07e13d5 | ||
|
|
2bc71862f6 | ||
|
|
e965f61466 | ||
|
|
4c74c25bf5 | ||
|
|
15641b74aa | ||
|
|
85f91f6416 | ||
|
|
f4064f6488 | ||
|
|
025933687a | ||
|
|
d575c37a64 | ||
|
|
51b7bdb802 | ||
|
|
13ec66ef56 | ||
|
|
8cd861021b | ||
|
|
6d511577b0 | ||
|
|
fc966bc8b7 | ||
|
|
83da3b502c | ||
|
|
d14f0bc8dd | ||
|
|
f463c3611b | ||
|
|
417a6e5ce9 | ||
|
|
8b1aabd2a7 | ||
|
|
06de2249b5 | ||
|
|
7c56a5fa65 | ||
|
|
60383f3479 | ||
|
|
0d16ffbb38 | ||
|
|
376b338da4 | ||
|
|
0b619c6751 | ||
|
|
fba67c8aef | ||
|
|
f79d8d3e0a | ||
|
|
b7ae61a21b | ||
|
|
66040ff693 | ||
|
|
bf31eeeee8 | ||
|
|
19286de949 | ||
|
|
159b4147ae | ||
|
|
2adf1074e4 | ||
|
|
f6ad003ecf | ||
|
|
ff8dbeaea2 | ||
|
|
414b674e7c | ||
|
|
c5548964bf | ||
|
|
e946c1762a | ||
|
|
4d1b079ac6 | ||
|
|
fe3ce1da2b | ||
|
|
41ca3ff801 | ||
|
|
77f4a19e4e | ||
|
|
89645a2265 | ||
|
|
851bccc5a1 | ||
|
|
2b24897c64 | ||
|
|
011f157473 | ||
|
|
b3efdb08bd | ||
|
|
38dfbc0462 | ||
|
|
96936dcdab | ||
|
|
d61efe262b | ||
|
|
b55dbfdc1e | ||
|
|
2327cb8332 | ||
|
|
2c50f32188 | ||
|
|
bc6393b238 | ||
|
|
015872cba9 | ||
|
|
40fa732370 | ||
|
|
37b7f9ed76 | ||
|
|
5773bce67f | ||
|
|
4c0de19d1b | ||
|
|
2358a7881c | ||
|
|
593f1e35d7 | ||
|
|
863a0dbd20 | ||
|
|
0a3856d2c4 | ||
|
|
64a1132d74 | ||
|
|
7a0ca2b0c7 | ||
|
|
c057a9b862 | ||
|
|
6fc5dc883e | ||
|
|
d44cb7d304 | ||
|
|
e51b6ade48 | ||
|
|
babe8e1954 | ||
|
|
b6d8f4bcf7 | ||
|
|
4a2abf6faa | ||
|
|
419ef16980 | ||
|
|
8f9cf97d96 | ||
|
|
6dd373ebab | ||
|
|
fc5f2e310e | ||
|
|
7000688bfc | ||
|
|
35e6e7bfe9 | ||
|
|
5d900d5216 | ||
|
|
0f862dd540 | ||
|
|
5dd7596365 | ||
|
|
1bf261f075 | ||
|
|
63aaf0dba0 | ||
|
|
53f747143d | ||
|
|
ea155b7f8b | ||
|
|
8a2c86ea10 | ||
|
|
c02a729605 | ||
|
|
0b53de22db | ||
|
|
86039977b2 | ||
|
|
62bffa3ef0 | ||
|
|
5f01b84397 | ||
|
|
12f0fa2a6a | ||
|
|
905b16ef04 | ||
|
|
3267c08327 | ||
|
|
4b7c993dc2 | ||
|
|
7a9bb15a3c | ||
|
|
68e2731590 | ||
|
|
3602d7ba6a | ||
|
|
203987b1f6 | ||
|
|
ea2b2d9b49 | ||
|
|
28d84645bb | ||
|
|
94a0e96ade | ||
|
|
480c85c467 | ||
|
|
d9e9d845a5 | ||
|
|
f0903fa41f | ||
|
|
f12b694d74 | ||
|
|
1a035f7c01 | ||
|
|
b8be986508 | ||
|
|
3967e289ce | ||
|
|
1f6eacb5f2 | ||
|
|
fd10c6096f | ||
|
|
a7ff07d136 | ||
|
|
efb73dcab3 | ||
|
|
4621e0afc1 | ||
|
|
4d05c5e4c3 | ||
|
|
b3059b496a | ||
|
|
c5dc89ae15 | ||
|
|
e080b58ad2 | ||
|
|
063f6cb1f6 | ||
|
|
368f38ff7e | ||
|
|
30e201af17 | ||
|
|
7fbd853c14 | ||
|
|
e496dc109f | ||
|
|
47b7602b32 | ||
|
|
52d14ab8a0 | ||
|
|
88cc2316d2 | ||
|
|
932d1ded69 | ||
|
|
dae8f07882 | ||
|
|
d2d4121e41 | ||
|
|
1ba011353f | ||
|
|
d6ed4b9543 | ||
|
|
77e391dcf0 | ||
|
|
7361f7b44e | ||
|
|
a1b85f0dc5 | ||
|
|
d2ec48155a | ||
|
|
032b797c12 | ||
|
|
030c95db8b | ||
|
|
d396fa4d7b | ||
|
|
23a90cc905 | ||
|
|
2a15134ad8 | ||
|
|
49c2c7f047 | ||
|
|
70098b1589 | ||
|
|
4f0ae1f09f | ||
|
|
5bfdeeb223 | ||
|
|
c828da6fd2 | ||
|
|
47181231d7 | ||
|
|
f4bf81792a | ||
|
|
9f0648fcdb | ||
|
|
836542c79d | ||
|
|
a6213e6566 | ||
|
|
5b14ab9dc9 | ||
|
|
50e99b5431 | ||
|
|
a6c4c2e290 | ||
|
|
524fb791e1 | ||
|
|
a680251f6b | ||
|
|
1216351b41 | ||
|
|
c4135d6b8e | ||
|
|
391b853668 | ||
|
|
881c1a4e65 | ||
|
|
eddebea2b4 | ||
|
|
d1e2909418 | ||
|
|
7db4c7b5b5 | ||
|
|
d8c4983127 | ||
|
|
2b6899f41f | ||
|
|
232eb5b99c | ||
|
|
f034123382 | ||
|
|
bbc2f43f5f | ||
|
|
ed6abf57cb | ||
|
|
2f19fa2364 | ||
|
|
745452dd8d | ||
|
|
751e78699c | ||
|
|
6fac8250fe | ||
|
|
882ab80d57 | ||
|
|
e89954332f | ||
|
|
c6b94cea88 | ||
|
|
bd3d28a0e1 | ||
|
|
19ad23141e | ||
|
|
4db1370d72 | ||
|
|
4ebf39bfb0 | ||
|
|
0ac301ced6 | ||
|
|
88633933a0 | ||
|
|
9032c19495 | ||
|
|
c802ba3785 | ||
|
|
89beaff53c | ||
|
|
0fa725f3bf | ||
|
|
4d555ab24a | ||
|
|
91a4d82324 | ||
|
|
1ddd383a5c | ||
|
|
8d21fb1375 | ||
|
|
1dfe15d60e | ||
|
|
05fccbb44f | ||
|
|
452a20766e | ||
|
|
bb4175dc30 | ||
|
|
513eac3fa9 | ||
|
|
a7580c035f | ||
|
|
d9d1c24e08 | ||
|
|
ebd1736e8f | ||
|
|
0ffe6373a5 | ||
|
|
05bec7caf8 | ||
|
|
2fbf06bcc8 | ||
|
|
07fc520149 | ||
|
|
f3b8d1f983 | ||
|
|
a407a2a647 | ||
|
|
ffec7b548a | ||
|
|
2a55bd28af | ||
|
|
7d27e29272 | ||
|
|
0f4fb51b1f | ||
|
|
29c4e473a5 | ||
|
|
659792d80a | ||
|
|
0910a0b9fb | ||
|
|
46da8e1665 | ||
|
|
7cda99b512 | ||
|
|
793c8a025a | ||
|
|
5564fe84c5 | ||
|
|
0b693c3cc3 | ||
|
|
da97d91bbf | ||
|
|
2ac13a1d85 | ||
|
|
aeac83f581 | ||
|
|
c0f4d881ad | ||
|
|
c5f5e28dcd | ||
|
|
00b2212e0d | ||
|
|
08ac7f3da1 | ||
|
|
0a58ce1677 | ||
|
|
874d107342 | ||
|
|
9548421f81 | ||
|
|
d96510b789 | ||
|
|
33e22751d5 | ||
|
|
1c0426be14 | ||
|
|
de9953980e | ||
|
|
a1daec7a10 | ||
|
|
199727a752 | ||
|
|
a5607f268d | ||
|
|
84ddf924f1 | ||
|
|
f9cc7d28c5 | ||
|
|
6b658869ba | ||
|
|
0a2a4750b3 | ||
|
|
a9fb68beb3 | ||
|
|
a9eff2fe00 | ||
|
|
fd4f29edf2 | ||
|
|
22e77ee039 | ||
|
|
2ca671d4d2 | ||
|
|
e3d0f21f53 | ||
|
|
1e98c82a59 | ||
|
|
b0e27f785a | ||
|
|
8850c3eb35 | ||
|
|
04b5e1489a | ||
|
|
a75a475780 | ||
|
|
160d5cb860 | ||
|
|
ad385e3aaa | ||
|
|
585530bce3 | ||
|
|
975203a88d | ||
|
|
9f3efdacd0 | ||
|
|
7a6c7b4622 | ||
|
|
53d275bcf7 | ||
|
|
41810688a1 | ||
|
|
8c6e8dd6c1 | ||
|
|
1151904454 | ||
|
|
abcb1ed6e5 | ||
|
|
ed677aad5b | ||
|
|
44eb0b53da | ||
|
|
b61ea69aa3 | ||
|
|
b8f0ed1a12 | ||
|
|
18103754d2 | ||
|
|
44da510c99 | ||
|
|
3a403b358a | ||
|
|
89a68a7d46 | ||
|
|
9a9a197636 | ||
|
|
19c5764f41 | ||
|
|
f0c059899e | ||
|
|
6605a0132b | ||
|
|
ce1eb06d2a | ||
|
|
aa9637307b | ||
|
|
13f7fc506f | ||
|
|
f48478f001 | ||
|
|
5a4f843d3e | ||
|
|
8a5052e802 | ||
|
|
ed04eeab8a | ||
|
|
9a5a8bc9dd | ||
|
|
db1c68a9c1 | ||
|
|
2faa53af39 | ||
|
|
9a350f520a | ||
|
|
c1b270ae40 | ||
|
|
d6b5a7bd1b | ||
|
|
f54fe6f19c | ||
|
|
f5933d79ca | ||
|
|
b134097b24 | ||
|
|
0e54a77925 | ||
|
|
88a65863a5 | ||
|
|
5675d2de03 | ||
|
|
c071a6581e | ||
|
|
b89e028c05 | ||
|
|
5c15917576 | ||
|
|
3c3d03e138 | ||
|
|
b08b711e2a | ||
|
|
ec9d326340 | ||
|
|
7a178c0287 | ||
|
|
a49c3566a7 | ||
|
|
5b8794da73 | ||
|
|
d29938ee0d | ||
|
|
526b51ec93 | ||
|
|
bbc6cb37ae | ||
|
|
b44a3cb109 | ||
|
|
8e4c7e687f | ||
|
|
0d4ec7d9ac | ||
|
|
d7112a033e | ||
|
|
aa691f6fb4 | ||
|
|
c653b35f51 | ||
|
|
c4f131dce9 | ||
|
|
11941bb7c6 | ||
|
|
857a10c5ac | ||
|
|
7c8c5acdcf | ||
|
|
496d013619 | ||
|
|
c4c7fdf98e | ||
|
|
7a3e203b2d | ||
|
|
c81992af09 | ||
|
|
9285be523f | ||
|
|
1d276ca824 | ||
|
|
9996a31fcb | ||
|
|
20d459121d | ||
|
|
b7601f1e78 | ||
|
|
258b3ae519 | ||
|
|
0b80655d1b | ||
|
|
438e0483b7 | ||
|
|
5d72579040 | ||
|
|
9a99e3c47e | ||
|
|
db11e9d7be | ||
|
|
73027787e1 | ||
|
|
3d0d33a56e | ||
|
|
652333b000 | ||
|
|
29baaada1d | ||
|
|
7c704b42da | ||
|
|
871a3ebc69 | ||
|
|
20a5f2b794 | ||
|
|
d41be7b849 | ||
|
|
1d6b2871c2 | ||
|
|
bcea85a562 | ||
|
|
83032e39d7 | ||
|
|
1105a4fcfc | ||
|
|
ff349e3d68 | ||
|
|
1e9a6f3e14 | ||
|
|
47e040c48e | ||
|
|
4c80eea432 | ||
|
|
607c35a5c1 | ||
|
|
71986a4364 | ||
|
|
f324e5035a | ||
|
|
b5906d8cf0 | ||
|
|
17d466904b | ||
|
|
2e19f9ff58 | ||
|
|
445adcb95d | ||
|
|
e28efdcf09 | ||
|
|
69c1260911 | ||
|
|
d50a91b4b5 | ||
|
|
3db330edf8 | ||
|
|
6c0d104d75 | ||
|
|
538e4f74bf | ||
|
|
d1288b14be | ||
|
|
2d032cd20f | ||
|
|
31474958ea | ||
|
|
c05a5e1d73 | ||
|
|
031da3eb0c | ||
|
|
a45a2e965c | ||
|
|
f00527a575 | ||
|
|
a9a775cdda | ||
|
|
377cb850d2 | ||
|
|
b6effcfad3 | ||
|
|
932edca56d | ||
|
|
2fb9f87ccc | ||
|
|
af8a702ffa | ||
|
|
bed2bf2ec7 | ||
|
|
e385b3f9b9 | ||
|
|
e77ffda2f2 | ||
|
|
453e098b25 | ||
|
|
b05158a67d | ||
|
|
f3214d80cc | ||
|
|
5b4db46db2 | ||
|
|
676ee9185a | ||
|
|
cbf9f32246 | ||
|
|
69dfa864d5 | ||
|
|
6a33380ecf | ||
|
|
98ec74d568 | ||
|
|
3abc7a1f90 | ||
|
|
fc7e537b45 | ||
|
|
ca6dd4b475 | ||
|
|
a8ab505429 | ||
|
|
ef1fd9eb5e | ||
|
|
cf5edf83ec | ||
|
|
c1bf2a2775 | ||
|
|
448e2663ac | ||
|
|
83e6c42cdd | ||
|
|
c177dec7c5 | ||
|
|
cc80af09cd | ||
|
|
fcf1934be8 | ||
|
|
bfdef2abaf | ||
|
|
ecb10f595d | ||
|
|
fb2888c3a5 | ||
|
|
081a9dc448 | ||
|
|
0f1c24fec6 | ||
|
|
3ba7bb9664 | ||
|
|
92fd5d1b25 | ||
|
|
ada7ae72c3 | ||
|
|
cf1ddc33ee | ||
|
|
33cd4d9181 | ||
|
|
743770f874 | ||
|
|
33ae0e092b | ||
|
|
d89c1b9466 | ||
|
|
64bbd43587 | ||
|
|
f560610eff | ||
|
|
e0c92f8713 | ||
|
|
d7372aa85b | ||
|
|
078cef089c | ||
|
|
de3940d1ea | ||
|
|
d63b8ea4d0 | ||
|
|
4e272d5a1c | ||
|
|
720b0c0d51 | ||
|
|
4e3697a06e | ||
|
|
d1828d831e | ||
|
|
35949f9ac8 | ||
|
|
e9755e2570 | ||
|
|
bd27d0df2b | ||
|
|
4ef5f38576 | ||
|
|
e009a9de75 | ||
|
|
d967b49681 | ||
|
|
e0c03c4a8c | ||
|
|
95194a972c | ||
|
|
3617d02264 | ||
|
|
7c290f0115 | ||
|
|
70e4b82cd9 | ||
|
|
d1bd7d654f | ||
|
|
253ed9c697 | ||
|
|
5ce02fb8f5 | ||
|
|
e4cf833007 | ||
|
|
2c352f5b03 | ||
|
|
3184f5e1a8 | ||
|
|
02bf1aae84 | ||
|
|
cbc7936c23 | ||
|
|
5651d4d917 | ||
|
|
65e40464b9 | ||
|
|
f2e926483f | ||
|
|
0d50d3b07f | ||
|
|
d05f92796b | ||
|
|
2cc17e1b1c | ||
|
|
7e1e879d56 | ||
|
|
1fd69a8213 | ||
|
|
7a18159352 | ||
|
|
a364df15a9 | ||
|
|
a9c551e555 | ||
|
|
8572954ead | ||
|
|
9cf990271f | ||
|
|
346b91444e | ||
|
|
87519dfd8f | ||
|
|
0cae8f10b7 | ||
|
|
5936aeafed | ||
|
|
e49d73b94b | ||
|
|
10684df873 | ||
|
|
378dbacd83 | ||
|
|
7b4467366d | ||
|
|
631758bd3a | ||
|
|
2ec8ca31c0 | ||
|
|
c3b2b710be | ||
|
|
5468d7a070 | ||
|
|
4d1a4aadbb | ||
|
|
e754375df7 | ||
|
|
e4dcfc0e1e | ||
|
|
a0e5d39d03 | ||
|
|
6b57edb1ab | ||
|
|
1b2692a5b9 | ||
|
|
8c97518725 | ||
|
|
bf79880554 | ||
|
|
9e1b196510 | ||
|
|
d006ab34d2 | ||
|
|
f02cc38da0 | ||
|
|
21996d3904 | ||
|
|
dace425c59 | ||
|
|
aae4d811bc | ||
|
|
d5e086f492 | ||
|
|
b456d81fba | ||
|
|
7734aca6a1 | ||
|
|
92442341b6 | ||
|
|
44f8595983 | ||
|
|
0321a1fd00 | ||
|
|
17db42659c | ||
|
|
6af1573bdb | ||
|
|
5bf955196b | ||
|
|
3cc252d992 | ||
|
|
ca193080b8 | ||
|
|
8bc362cc47 | ||
|
|
db23bb6075 | ||
|
|
3e277745be | ||
|
|
8e76a261e4 | ||
|
|
efbab336ac | ||
|
|
fa253950d9 | ||
|
|
bc7aed2a6b | ||
|
|
0b034daf8e | ||
|
|
eb19518256 | ||
|
|
efdac14a77 | ||
|
|
af17ccb8e5 | ||
|
|
8b9d13a3c1 | ||
|
|
8ce32752e6 | ||
|
|
7c644b7bf5 | ||
|
|
f2af5e6496 | ||
|
|
5c64e82dd6 | ||
|
|
7644620ee7 | ||
|
|
7c051497fa | ||
|
|
c58e05413c | ||
|
|
94d633f808 | ||
|
|
3524472293 | ||
|
|
2dec8208b9 | ||
|
|
e0cb2d799b | ||
|
|
2e977649df | ||
|
|
e33315f886 | ||
|
|
b628c1221e | ||
|
|
24a73837dd | ||
|
|
d165d9ba2d | ||
|
|
7e10c4f8c5 | ||
|
|
70725073a9 | ||
|
|
690d5cd519 | ||
|
|
f7bf1751e5 | ||
|
|
e638dbf10c | ||
|
|
b0c5373e6c | ||
|
|
e3201af06f | ||
|
|
b4fa6115f0 | ||
|
|
3d2f774d23 | ||
|
|
dbc8f28aa4 | ||
|
|
9937ce8e73 | ||
|
|
50f29e14b4 | ||
|
|
b5251afe9b | ||
|
|
7726fff532 | ||
|
|
955ee4992d | ||
|
|
1fd0d83a38 | ||
|
|
1ac91b4140 | ||
|
|
f5199566db | ||
|
|
a244965075 | ||
|
|
7bc44cccc1 | ||
|
|
bdea0ea015 | ||
|
|
2109456871 | ||
|
|
03fbf41ea8 | ||
|
|
f76bf38ff6 | ||
|
|
8f89bb0c54 | ||
|
|
0fc328e58e | ||
|
|
d97a30ec77 | ||
|
|
f0cd6e4f2c | ||
|
|
ba91cab8d2 | ||
|
|
a14975ce0c | ||
|
|
54a51ed666 | ||
|
|
1e6579f325 | ||
|
|
c74524f856 | ||
|
|
db90edaeaa | ||
|
|
1eacb4b9e4 | ||
|
|
3c2e0ad5b3 | ||
|
|
00e2b9d750 | ||
|
|
032bed7f96 | ||
|
|
9c2f4c2fdc | ||
|
|
6d12a64fe5 | ||
|
|
76be4e69ee | ||
|
|
3f4f076701 | ||
|
|
74d29b18ad | ||
|
|
303fd2fb85 | ||
|
|
b656ab5ead | ||
|
|
3207a16d0d | ||
|
|
c097e59568 | ||
|
|
29e5061922 | ||
|
|
71155af8fc | ||
|
|
a0ad3116d2 | ||
|
|
60774ae636 | ||
|
|
7ee7aa860b | ||
|
|
a94f717d71 | ||
|
|
2bf23735a3 | ||
|
|
b11c4861bb | ||
|
|
3918f862a0 | ||
|
|
ecc25fbd15 | ||
|
|
28f47481cc | ||
|
|
ecb78c1a40 | ||
|
|
7d2b1dfede | ||
|
|
310390c8b8 | ||
|
|
54b0110b75 | ||
|
|
6de9bf2601 | ||
|
|
0f8ca600f1 | ||
|
|
c151a9588b | ||
|
|
4a83846ddd | ||
|
|
83c70e073b | ||
|
|
92f198ef9d | ||
|
|
07b49d7453 | ||
|
|
a8c55a41d5 | ||
|
|
38c6c10ac9 | ||
|
|
23ae36911c | ||
|
|
b7055d7988 | ||
|
|
48e7dcf0d2 | ||
|
|
f4a29a0750 | ||
|
|
6d6a3a820a | ||
|
|
5c82ca42b3 | ||
|
|
465d41bd1c | ||
|
|
7ea5188c2d | ||
|
|
8ab0fa49c7 | ||
|
|
59dbcb0b0a | ||
|
|
774cbd433a | ||
|
|
5addd0b6cd | ||
|
|
87ebc102ad | ||
|
|
093dc899d3 | ||
|
|
b5b9469b27 | ||
|
|
390213c7e4 | ||
|
|
23f81e6d93 | ||
|
|
7035aa0ee2 | ||
|
|
b27e8b331c | ||
|
|
9164ae2297 | ||
|
|
b972f8e3a2 | ||
|
|
388eb181d6 | ||
|
|
93b433d299 | ||
|
|
8f541851f4 | ||
|
|
39ba8c7737 | ||
|
|
3892831333 | ||
|
|
4409333f34 | ||
|
|
e69bed0b94 | ||
|
|
a1c04a4f16 | ||
|
|
4dc228da3d | ||
|
|
f3e8fd8e4a | ||
|
|
4bcdedcf07 | ||
|
|
8a5c01f19e | ||
|
|
e6aee23f88 | ||
|
|
ac84e86dd8 | ||
|
|
e652cd7642 | ||
|
|
b1627aebb8 | ||
|
|
c35cd8f3a0 | ||
|
|
2cb64871bb | ||
|
|
d41b478b81 | ||
|
|
00eb58ff9c | ||
|
|
a783af3e86 | ||
|
|
a4aef00d65 | ||
|
|
6db4de888e | ||
|
|
5480ae18d3 | ||
|
|
853a83725f | ||
|
|
1517558cd3 | ||
|
|
d6b3b3507f | ||
|
|
ffb4d9e0ba | ||
|
|
e7ca8c91ec | ||
|
|
da92bed4d5 | ||
|
|
7f2d8ae5da | ||
|
|
13a08d776f | ||
|
|
14f8d8220c | ||
|
|
3aa81ceb1c | ||
|
|
7a86f936b8 | ||
|
|
f72883c6ae | ||
|
|
e9c45e3dbf | ||
|
|
0c97e821ee | ||
|
|
d27cd59a97 | ||
|
|
9eea2d2964 | ||
|
|
1f897c49f1 | ||
|
|
0676d1377a | ||
|
|
c1a94681f2 | ||
|
|
6539c8dd1b | ||
|
|
2dbcb34643 | ||
|
|
e013e99c1c | ||
|
|
46f6e09b51 | ||
|
|
97c708294d | ||
|
|
d77da4225c | ||
|
|
3e612906f4 | ||
|
|
636785e7eb | ||
|
|
7afdd95114 | ||
|
|
a53c04f050 | ||
|
|
5165085bfb | ||
|
|
2d77ffe6bb | ||
|
|
8f110ca521 | ||
|
|
944f9271ac | ||
|
|
75636f9b01 | ||
|
|
8bdc865433 | ||
|
|
383ca63dee | ||
|
|
5465641352 | ||
|
|
2464e106df | ||
|
|
e8bff09ffb | ||
|
|
ae1a01ff3d | ||
|
|
bc2014dbbe | ||
|
|
feb6270d6f | ||
|
|
c209a20108 | ||
|
|
913562f0d3 | ||
|
|
ebfeba4f78 | ||
|
|
a9a62db641 | ||
|
|
4161a9a0e5 | ||
|
|
795b23217b | ||
|
|
49f7dba060 | ||
|
|
93f3b0ddba | ||
|
|
9822caa29b | ||
|
|
47edbd3c53 | ||
|
|
fd56caffe6 | ||
|
|
76365d5f86 | ||
|
|
409886d852 | ||
|
|
f225d11b53 | ||
|
|
553a2acba8 | ||
|
|
affc5a912e | ||
|
|
309173748f | ||
|
|
a78ef43fe3 | ||
|
|
dc856c0bcf | ||
|
|
b74a3907a5 | ||
|
|
0a2897853b | ||
|
|
444d3d9f97 | ||
|
|
177931360d | ||
|
|
d356572dda | ||
|
|
ce5fc01c92 | ||
|
|
daf3551b86 | ||
|
|
9960be0a54 | ||
|
|
5a16eacf6f | ||
|
|
b1a6907e81 | ||
|
|
9f5cecf887 | ||
|
|
6d7a4c30a2 | ||
|
|
fdf81716b4 | ||
|
|
e69b2928cf | ||
|
|
1872751420 | ||
|
|
355ac59256 | ||
|
|
3f9371b30c | ||
|
|
5557ac8a6f | ||
|
|
311f97e2d4 | ||
|
|
fea199b0ce | ||
|
|
623d40c98e | ||
|
|
d3b9504e44 | ||
|
|
910ceb6004 | ||
|
|
e5052c8526 | ||
|
|
81537dce5b | ||
|
|
933b976829 | ||
|
|
d46865e1e9 | ||
|
|
91f92550dc | ||
|
|
da68f57b1c | ||
|
|
68d2587454 | ||
|
|
738c82a017 | ||
|
|
ff1a145792 | ||
|
|
ad8fd9b034 | ||
|
|
76d886a4e3 | ||
|
|
26c738828f | ||
|
|
6f15e1a200 | ||
|
|
1cbe92ed8c | ||
|
|
430cc35151 | ||
|
|
6ee56d59da | ||
|
|
ed09ec058a | ||
|
|
6b524e41e5 | ||
|
|
dc797e5833 | ||
|
|
dafa96c13e | ||
|
|
448b6882f6 | ||
|
|
14d41c9db7 | ||
|
|
2ba7551844 | ||
|
|
36e7d4808c | ||
|
|
4ebc7953b1 | ||
|
|
5a51c60f58 | ||
|
|
0cdec93645 | ||
|
|
14dfb38385 | ||
|
|
06201ee79d | ||
|
|
67a781e65c | ||
|
|
696be5b2ee | ||
|
|
2ca6b13626 | ||
|
|
845eb1f0ed | ||
|
|
8c19a64364 | ||
|
|
a2f7b8a534 | ||
|
|
63b93f0682 | ||
|
|
cd7d1b6d68 | ||
|
|
bea9285506 | ||
|
|
82580033db | ||
|
|
20990845d8 | ||
|
|
704e4daff8 | ||
|
|
98a3748577 | ||
|
|
4e5d7e4fff | ||
|
|
5db09e69de | ||
|
|
b45ded3b33 | ||
|
|
93472ba538 | ||
|
|
0a583f82eb | ||
|
|
5d98af56f2 | ||
|
|
65f2bd61ae | ||
|
|
91a8c60f0e | ||
|
|
4facc02671 | ||
|
|
05ceebcb1b | ||
|
|
30579c29be | ||
|
|
d7c212118e | ||
|
|
4d5ef757af | ||
|
|
42783352fc | ||
|
|
ff2047b685 | ||
|
|
b16a1e6c07 | ||
|
|
770279e013 | ||
|
|
1ab0c02604 | ||
|
|
61ed35e09c | ||
|
|
fe359f7a21 | ||
|
|
f2080c6915 | ||
|
|
71e5c19636 | ||
|
|
188bd721a5 | ||
|
|
50874e9ec7 | ||
|
|
4eef79de8a | ||
|
|
38113dbdb1 | ||
|
|
db77363f8c | ||
|
|
085c5a5d9b | ||
|
|
97e69e38a6 | ||
|
|
95787a5532 | ||
|
|
289fd68776 | ||
|
|
b1b6267a8a | ||
|
|
50b789e229 | ||
|
|
c0c9f5afd6 | ||
|
|
ed4eee1e51 | ||
|
|
1f802e5618 | ||
|
|
a64888719c | ||
|
|
971a043b47 | ||
|
|
8c3613e29f | ||
|
|
879dcb926c | ||
|
|
797af0ae2d | ||
|
|
0658d99891 | ||
|
|
31d7f00538 | ||
|
|
444deec2a0 | ||
|
|
36345eaba4 | ||
|
|
867b6769fe | ||
|
|
c4cd50192d | ||
|
|
7a6894cb7f | ||
|
|
a3fb29404e | ||
|
|
e05fe79dd3 | ||
|
|
a10c0cd87c | ||
|
|
76e6cf505e | ||
|
|
5ac5be4ca9 | ||
|
|
ead09b5724 | ||
|
|
58ec718890 | ||
|
|
0154c3b77b | ||
|
|
6fbb344271 | ||
|
|
22076c62a1 | ||
|
|
fdc65eb9ec | ||
|
|
03db30d50e | ||
|
|
74373ce898 | ||
|
|
11f8ef90da | ||
|
|
dfcaadf673 | ||
|
|
01d404c4ad | ||
|
|
9b681678ee | ||
|
|
e5c3961bf6 | ||
|
|
494617bce2 | ||
|
|
d647b53008 | ||
|
|
ae61729064 | ||
|
|
9891a60571 | ||
|
|
589cf29b85 | ||
|
|
832c2e6b68 | ||
|
|
569a2c2b5f | ||
|
|
4b186490dd | ||
|
|
d0c7cc3abe | ||
|
|
ae7644fbdc | ||
|
|
8756f35d48 | ||
|
|
6a009a5e2c | ||
|
|
cb39d9525b | ||
|
|
7c80f7895f | ||
|
|
cc738d9655 | ||
|
|
8bc0b080dc | ||
|
|
d4fb9a4b93 | ||
|
|
b7e31c54f2 | ||
|
|
bb11721d68 | ||
|
|
2b19800425 | ||
|
|
046bc782ab | ||
|
|
99b2fa2479 | ||
|
|
f5a2086f1f | ||
|
|
542d079eb1 | ||
|
|
31eb153edb | ||
|
|
92f39ccb5b | ||
|
|
e2f3912e14 | ||
|
|
523d1871dc | ||
|
|
29ef7aeb04 | ||
|
|
98afc1a6dd | ||
|
|
1bb3dd1911 | ||
|
|
a7f6945b12 | ||
|
|
59c9c71f36 | ||
|
|
c41e161d06 | ||
|
|
0b04e719ae | ||
|
|
7bcbe0f387 | ||
|
|
de6d4c73d2 | ||
|
|
f562d83ce6 | ||
|
|
3f56f26766 | ||
|
|
139c403ce5 | ||
|
|
956206dda4 | ||
|
|
ece11c796a | ||
|
|
8bce19c1ea | ||
|
|
bc8f6178e7 | ||
|
|
356005f612 | ||
|
|
5a21c108fe | ||
|
|
ca5b25ad68 | ||
|
|
88b6cb8b8b | ||
|
|
63118d1444 | ||
|
|
4fe6e5b494 | ||
|
|
d49cd04515 | ||
|
|
0128b3dcd6 | ||
|
|
f0eda70e86 | ||
|
|
b07c1edbba | ||
|
|
677b20a94c | ||
|
|
f7540a5483 | ||
|
|
2c38bd4799 | ||
|
|
a386cb22a0 | ||
|
|
80ba794a42 | ||
|
|
5a7f05ee3c | ||
|
|
c65ab74d31 | ||
|
|
c2dde474aa | ||
|
|
1cca07d601 | ||
|
|
653b008950 | ||
|
|
1386155331 | ||
|
|
9777316c64 | ||
|
|
5f57c9f71c | ||
|
|
9b8836481d | ||
|
|
fe012b4db4 | ||
|
|
12eb4bc93c | ||
|
|
5b17e46285 | ||
|
|
f8d7bb61a8 | ||
|
|
65cc2ab6a5 | ||
|
|
728ee05d45 | ||
|
|
b9e3320bf4 | ||
|
|
3ebd394165 | ||
|
|
128b7183fd | ||
|
|
aaa0b7a55e | ||
|
|
0ab62f7ab9 | ||
|
|
773efb00d2 | ||
|
|
f4440dd30a | ||
|
|
275c562ce7 | ||
|
|
d845cb6745 | ||
|
|
28b4db7239 | ||
|
|
a86f1249ee | ||
|
|
6a51d9b6de | ||
|
|
a797df31d7 | ||
|
|
13ce1be5d3 | ||
|
|
d5400f7e7d | ||
|
|
2eb5511c39 | ||
|
|
2ce9908f2d | ||
|
|
5a74ff52c2 | ||
|
|
3022504c0b | ||
|
|
262ed7420f | ||
|
|
fc77335828 | ||
|
|
c0e2300901 | ||
|
|
19dd51b6ab | ||
|
|
92a43c0ead | ||
|
|
b7ba53e732 | ||
|
|
a7b7c601a5 | ||
|
|
6cac6ea83b | ||
|
|
9c6a6f9134 | ||
|
|
37cb6b93fd | ||
|
|
72b349b75c | ||
|
|
f276cf10c8 | ||
|
|
5040108c31 | ||
|
|
55d21ef131 | ||
|
|
e035fcc62a | ||
|
|
21879ffd57 | ||
|
|
bf1eb3b85d | ||
|
|
b2cc42052f | ||
|
|
aa4d04e680 | ||
|
|
2b48d4ec91 | ||
|
|
e2edd40cb4 | ||
|
|
b5fb6892fe | ||
|
|
1365b51c71 | ||
|
|
399e2fd233 | ||
|
|
17560312bb | ||
|
|
b7b65b35b6 | ||
|
|
86bdb760d7 | ||
|
|
f3a548988c | ||
|
|
ec5fcd0136 | ||
|
|
a6cde7c0f6 | ||
|
|
fe3bf8f43e | ||
|
|
5f8a100d65 | ||
|
|
a3d418e155 | ||
|
|
08d50931b6 | ||
|
|
d12037b665 | ||
|
|
24b4cd45a2 | ||
|
|
7c5699736b | ||
|
|
3fa4e557e0 | ||
|
|
5c24ec251e | ||
|
|
3999dda5a5 | ||
|
|
1c75aa99a1 | ||
|
|
02bd4cd4b4 | ||
|
|
07510d963a | ||
|
|
8b99611ece | ||
|
|
3703129570 | ||
|
|
a5840f0a32 | ||
|
|
3ca4e5d7e1 | ||
|
|
4cff55249c | ||
|
|
e23b840d9e | ||
|
|
c733ede7c7 | ||
|
|
d80c2f805e | ||
|
|
0036997ea6 | ||
|
|
55fe737bf7 | ||
|
|
11d477b0ce | ||
|
|
94e718f9cb | ||
|
|
1cc4291e10 | ||
|
|
98886b12f1 | ||
|
|
5b13795dbe | ||
|
|
db8dce00b0 | ||
|
|
23df967ec2 | ||
|
|
eb19109585 | ||
|
|
2b631b5d6f | ||
|
|
784332dee8 | ||
|
|
4a885f26a0 | ||
|
|
3056f9d0d5 | ||
|
|
2ef4d30f72 | ||
|
|
6894f7e981 | ||
|
|
d018916728 | ||
|
|
02d7775718 | ||
|
|
be0f31ad9f | ||
|
|
61ccf5b46b | ||
|
|
44cab72e7e | ||
|
|
07b05ade91 | ||
|
|
3b239c7b3b | ||
|
|
0c1a5f0a1a | ||
|
|
bd2b0c9ae5 | ||
|
|
b42093b971 | ||
|
|
6146308cc3 | ||
|
|
838ae5b351 | ||
|
|
6404ecd08d | ||
|
|
82404f5aef | ||
|
|
cf6c9f9005 | ||
|
|
8302431386 | ||
|
|
a4003c3c4b | ||
|
|
a2cb929b48 | ||
|
|
a2c8607929 | ||
|
|
8e187acb28 | ||
|
|
db3ae6b658 | ||
|
|
9db86b94c3 | ||
|
|
789515c1d0 | ||
|
|
7a01ff0136 | ||
|
|
5b02faec3c | ||
|
|
68d79f2a0f | ||
|
|
e68aa47d4c | ||
|
|
269a35ff01 | ||
|
|
0329504246 | ||
|
|
0f82d123cf | ||
|
|
6875da69bb | ||
|
|
5cb766e596 | ||
|
|
e5d6b3ba09 | ||
|
|
b8612502e2 | ||
|
|
6420e53c12 | ||
|
|
810048c754 | ||
|
|
57cb4281fa | ||
|
|
491d1d3463 | ||
|
|
d544482827 | ||
|
|
00f7383ab0 | ||
|
|
2d0accdb56 | ||
|
|
637427aed9 | ||
|
|
3fea8ab161 | ||
|
|
43641877ac | ||
|
|
0d013d4f2e | ||
|
|
d2761fe281 | ||
|
|
3cbd3a3f36 | ||
|
|
c4700949e7 | ||
|
|
8b96e18c96 | ||
|
|
0dc9c323d2 | ||
|
|
2aec4cb735 | ||
|
|
2e023d9a29 | ||
|
|
63fe01ab22 | ||
|
|
37eeb883b6 | ||
|
|
40be22dada | ||
|
|
756f9eb63a | ||
|
|
3bb935c499 | ||
|
|
3b56f0f090 | ||
|
|
da00b95e55 | ||
|
|
bf80fd4841 | ||
|
|
facf31bace | ||
|
|
e9d613fa9d | ||
|
|
8438d8e0b4 | ||
|
|
eaf0bd1fd7 | ||
|
|
1d32fae40d | ||
|
|
3f12adb3f0 | ||
|
|
400b8856c9 | ||
|
|
7fad6b61d2 | ||
|
|
a64f7707cc | ||
|
|
1edd0adfcc | ||
|
|
37db859ba3 | ||
|
|
1bf082f6da | ||
|
|
1af8f0c951 | ||
|
|
e08a20aa98 | ||
|
|
0f51e50b08 | ||
|
|
6be22e19ef | ||
|
|
11bbddd195 | ||
|
|
c687d21e23 | ||
|
|
721c4a65f3 | ||
|
|
0517d21ebd | ||
|
|
507aef0c77 | ||
|
|
78f9a0a2b8 | ||
|
|
777d3c3963 | ||
|
|
9abc3592ad | ||
|
|
ee980f5002 | ||
|
|
53835b8fd8 | ||
|
|
6285ade4fb | ||
|
|
c385687ce6 | ||
|
|
6e3cd11729 | ||
|
|
e6bc9ed3b0 | ||
|
|
a1bfc38679 | ||
|
|
fa3174b8f1 | ||
|
|
b4159c080b | ||
|
|
71324ae046 | ||
|
|
4d4be2e895 | ||
|
|
9f91506fed | ||
|
|
61215a0d76 | ||
|
|
8fe68ee01c | ||
|
|
812b6d8d11 | ||
|
|
d133eb632a | ||
|
|
286bbb3ca4 | ||
|
|
b756b7d22f | ||
|
|
db2113fd6b | ||
|
|
e6e37613eb | ||
|
|
78f8d31dc6 | ||
|
|
4deef8a463 | ||
|
|
0463ffd804 | ||
|
|
5a77c5e18e | ||
|
|
928ec8b49a | ||
|
|
06da8b9b9a | ||
|
|
84108b14a2 | ||
|
|
bd72d2c9fc | ||
|
|
8d5279c34e | ||
|
|
2dbcecfaaa | ||
|
|
f93222ee85 | ||
|
|
064dac4abe | ||
|
|
92a7fc7c7c | ||
|
|
7625198d01 | ||
|
|
c466590f32 | ||
|
|
3fc5a9f930 | ||
|
|
711d4218c4 | ||
|
|
6c0e2269be | ||
|
|
fe3db97ee9 | ||
|
|
30165893f7 | ||
|
|
8f295da232 | ||
|
|
d9025d3f48 | ||
|
|
a6d76b4886 | ||
|
|
0391c5c44f | ||
|
|
bb828e2c51 | ||
|
|
2cb4e94838 | ||
|
|
efc6a99370 | ||
|
|
d3d4428652 | ||
|
|
056f9c917a | ||
|
|
d779f5e15d | ||
|
|
8ba4364153 | ||
|
|
435add4fdd | ||
|
|
6b2090a39f | ||
|
|
5faf500982 | ||
|
|
a3eae83762 | ||
|
|
3fd5ddfd6a | ||
|
|
1c21efedfe | ||
|
|
09eff142e8 | ||
|
|
ea069464d5 | ||
|
|
2b76d22baf | ||
|
|
a5796bf961 | ||
|
|
b780afe5f7 | ||
|
|
70e94a99a6 | ||
|
|
5d43557478 | ||
|
|
01206bd597 | ||
|
|
0958becf7e | ||
|
|
ed840b1045 | ||
|
|
9100c2db3b | ||
|
|
63412b419b | ||
|
|
3f95fa336e | ||
|
|
ebc813c9cf | ||
|
|
05addc4e62 | ||
|
|
cf4f3cbdaa | ||
|
|
7005c5aa84 | ||
|
|
70c8087f2d | ||
|
|
428539b1c9 | ||
|
|
7b63825d03 | ||
|
|
414302b95c | ||
|
|
421abc0d01 | ||
|
|
03d50bfec1 | ||
|
|
3b1372a22b | ||
|
|
e104ca4071 | ||
|
|
58394f5b6f | ||
|
|
bc4ffe7eaf | ||
|
|
16fb327e1b | ||
|
|
4bb846d522 | ||
|
|
253087fcaa | ||
|
|
247488ff07 | ||
|
|
ef4f584745 | ||
|
|
80ef7645ff | ||
|
|
fadff54087 | ||
|
|
aff1c988a4 | ||
|
|
6d30079412 | ||
|
|
c6704835aa | ||
|
|
55b4b92b8f | ||
|
|
1b4ca70d35 | ||
|
|
4a9cce26cd | ||
|
|
3e0c546e3b | ||
|
|
85465e7616 | ||
|
|
1b47e4478f | ||
|
|
8b0294d5fe | ||
|
|
c449fbf343 | ||
|
|
c89c2619cb | ||
|
|
f952eb45cc | ||
|
|
ee034830da | ||
|
|
91bcd9e3a0 | ||
|
|
1b9ebde1c3 | ||
|
|
e9e30a8196 | ||
|
|
666abd5c09 | ||
|
|
cf582b8729 | ||
|
|
54d78b4325 | ||
|
|
2e790f9762 | ||
|
|
314b6614cb | ||
|
|
54bfb51dd8 | ||
|
|
51ed1b13d3 | ||
|
|
efc9a1d6db | ||
|
|
d5c454aff6 | ||
|
|
c2014ab592 | ||
|
|
bde4e0e663 | ||
|
|
62e9bef633 | ||
|
|
2e908bf62a | ||
|
|
b0f519e7a8 | ||
|
|
106ff8cce0 | ||
|
|
80db127967 | ||
|
|
f666841997 | ||
|
|
533d473b7d | ||
|
|
0e52c6229b | ||
|
|
2ec7565474 | ||
|
|
5f17ed0d9b | ||
|
|
b2f0fad78f | ||
|
|
3fe2c091cc | ||
|
|
acdcd2b694 | ||
|
|
3e48ba0dbc | ||
|
|
7f3d57dda8 | ||
|
|
c08a0ebc07 | ||
|
|
0ee3a9dadd | ||
|
|
4be2f76938 | ||
|
|
02d3754d1e | ||
|
|
659826ba3e | ||
|
|
e6ab0dd2ca | ||
|
|
f6e4558074 | ||
|
|
7b2366db70 | ||
|
|
9c511a0dc7 | ||
|
|
f383f03df7 | ||
|
|
239618e700 | ||
|
|
2f884b27c2 | ||
|
|
247daab1a7 | ||
|
|
d938014328 | ||
|
|
261995c57e | ||
|
|
7bf3739b88 | ||
|
|
f4d60f891f | ||
|
|
b0e6be3355 | ||
|
|
99da34a4bf | ||
|
|
ba4f254aa9 | ||
|
|
cec94b0eeb | ||
|
|
da32ac49ce | ||
|
|
3942243c5d | ||
|
|
44012dd60d | ||
|
|
f51de9fb15 | ||
|
|
2351787aa6 | ||
|
|
8d90748586 | ||
|
|
40b08512c4 | ||
|
|
71d4ae3fd0 | ||
|
|
bc12bc0a1f | ||
|
|
850e3057ed | ||
|
|
a3c95f281a | ||
|
|
bf54a8b514 | ||
|
|
2473968416 | ||
|
|
f7033a3346 | ||
|
|
41094cee0b | ||
|
|
0f2d3b866b | ||
|
|
2b7197054f | ||
|
|
ad0a222ec0 | ||
|
|
6e08e9d982 | ||
|
|
02e9bb7bf8 | ||
|
|
69c3b7fd9d | ||
|
|
d7f6bf262e | ||
|
|
bea427cebd | ||
|
|
9e057920ce | ||
|
|
7a671773f2 | ||
|
|
87d4ee6113 | ||
|
|
e474b9e989 | ||
|
|
01ded85842 | ||
|
|
b1416abab6 | ||
|
|
a179df7937 | ||
|
|
71b0add384 | ||
|
|
db8b916444 | ||
|
|
46ef4ef03a | ||
|
|
d1f2b629d4 | ||
|
|
330d764d3b | ||
|
|
2cd05e5976 | ||
|
|
3cea95052a | ||
|
|
ac7ef3ec32 | ||
|
|
e1bd9f2ed3 | ||
|
|
2fad51aae1 | ||
|
|
9745e31cb8 | ||
|
|
8ce46dbe07 | ||
|
|
8a98023414 | ||
|
|
507806f969 | ||
|
|
8f79637669 | ||
|
|
026483186a | ||
|
|
906effb54f | ||
|
|
9544bc192d | ||
|
|
23beef88a9 | ||
|
|
1c5db966aa | ||
|
|
6ad40b3a85 | ||
|
|
b469d5cc62 | ||
|
|
aef8f792fb | ||
|
|
e8474de3ea | ||
|
|
53ff7d91a8 | ||
|
|
77c3728447 | ||
|
|
aa356e53b8 | ||
|
|
d956434b59 | ||
|
|
9a27cf1e9d | ||
|
|
b846bbd819 | ||
|
|
f7eb6b70fb | ||
|
|
4c54be504c | ||
|
|
b1f36f06ca | ||
|
|
e49bcccfb1 | ||
|
|
d7097d666b | ||
|
|
975f01067b | ||
|
|
92d0305964 | ||
|
|
7da62bfb79 | ||
|
|
e5bc7669fd | ||
|
|
df7774663c | ||
|
|
e83e8d39d7 | ||
|
|
ea5cfc962a | ||
|
|
e4d9adbd71 | ||
|
|
72f771ef45 | ||
|
|
a4b427d4c3 | ||
|
|
627987d8ff | ||
|
|
08d64f0387 | ||
|
|
13e2c6d8e1 | ||
|
|
55690c7b8d | ||
|
|
d90a737187 | ||
|
|
701f97890a | ||
|
|
89600e8dd6 | ||
|
|
e690855bc3 | ||
|
|
fecec879a7 | ||
|
|
8a29ed59df | ||
|
|
da45568ba3 | ||
|
|
fc819d0bd9 | ||
|
|
63f9161f72 | ||
|
|
734033a05f | ||
|
|
157ef67688 | ||
|
|
6a2827695a | ||
|
|
9ade382800 | ||
|
|
7d47e3d387 | ||
|
|
8b061d7ed2 | ||
|
|
91bb55c45d | ||
|
|
aa52ab8208 | ||
|
|
f4e0a6b968 | ||
|
|
85166e0140 | ||
|
|
02973df5f2 | ||
|
|
17b58ef7ea | ||
|
|
d0fd036e37 | ||
|
|
46b40010ae | ||
|
|
63328d4091 | ||
|
|
36f7ffd0c9 | ||
|
|
36b044f81e | ||
|
|
5968779f4b | ||
|
|
41866eed87 | ||
|
|
63171ebb07 | ||
|
|
a56df93f31 | ||
|
|
875be659a1 | ||
|
|
6c2b739c53 | ||
|
|
5201210bae | ||
|
|
6467699ca4 | ||
|
|
6fb11c619a | ||
|
|
133d92da58 | ||
|
|
285891821e | ||
|
|
78b50680bf | ||
|
|
26fdab9f62 | ||
|
|
555cb2023e | ||
|
|
2c359c823a | ||
|
|
03204fe981 | ||
|
|
06d6d609e9 | ||
|
|
fd27016277 | ||
|
|
3bb5ec2ec4 | ||
|
|
70a4034545 | ||
|
|
6f6ce3e15e | ||
|
|
9461949887 | ||
|
|
a2abfeec45 | ||
|
|
b0bff0ec59 | ||
|
|
e741e91a38 | ||
|
|
857e0c56a1 | ||
|
|
f4128a2bc4 | ||
|
|
898d4a8c50 | ||
|
|
fb50cc51e2 | ||
|
|
f309806149 | ||
|
|
b5a1dfc657 | ||
|
|
113b6fd437 | ||
|
|
0b42f0597f | ||
|
|
d8cad7eb9c | ||
|
|
ba2ed45376 | ||
|
|
4b1444ac27 | ||
|
|
c46039e461 | ||
|
|
451cd3395a | ||
|
|
c8baa76ab6 | ||
|
|
375cb82aa0 | ||
|
|
3c7ee580d8 | ||
|
|
85048189fc | ||
|
|
64bd53e675 | ||
|
|
5cd5eceba0 | ||
|
|
cf4e5a73a5 | ||
|
|
76c48ffb86 | ||
|
|
00e6819f3a | ||
|
|
b54b7ef659 | ||
|
|
d1a69b8e99 | ||
|
|
79070290f1 | ||
|
|
9a5123bdfe | ||
|
|
7c6fa1d589 | ||
|
|
c57721f304 | ||
|
|
e2366995bf | ||
|
|
469cc67d39 | ||
|
|
74f601e769 | ||
|
|
cb3485b672 | ||
|
|
82e967e5e6 | ||
|
|
29ea3caf10 | ||
|
|
f4693db3a3 | ||
|
|
96c51eadc9 | ||
|
|
7a3c23d482 | ||
|
|
2462656853 | ||
|
|
afc0c883e0 | ||
|
|
6454378247 | ||
|
|
5a51487062 | ||
|
|
9457b2ef4e | ||
|
|
3f818a717b | ||
|
|
68f56798c5 | ||
|
|
d71c9f3056 | ||
|
|
5373ea378a | ||
|
|
1088aae3c3 | ||
|
|
d01d2952a0 | ||
|
|
64f0e92b83 | ||
|
|
1773c53c87 | ||
|
|
c520aae568 | ||
|
|
ed0fd28aff | ||
|
|
9d870f3900 | ||
|
|
f9a4707b26 | ||
|
|
592adf7dc2 | ||
|
|
946191fb80 | ||
|
|
c8f7f7feee | ||
|
|
b916fd3d7f | ||
|
|
a02373df1a | ||
|
|
49dd142346 | ||
|
|
e50d57f3b7 | ||
|
|
cf00dcb23a | ||
|
|
51833b980c | ||
|
|
57ab797a83 | ||
|
|
f9d193397a | ||
|
|
aaf6b0ef6c | ||
|
|
f98cc67e50 | ||
|
|
5337c00cbb | ||
|
|
8f329840b8 | ||
|
|
0d12fdeb7c | ||
|
|
54b5e3f7de | ||
|
|
8efd3e6a29 | ||
|
|
bd41f944d4 | ||
|
|
b705006b6b | ||
|
|
cd389dbb98 | ||
|
|
7af9efa0b0 | ||
|
|
b42eb96ae6 | ||
|
|
e1585bf0f0 | ||
|
|
0b06e0cc38 | ||
|
|
d77cb489ba | ||
|
|
8bd217efdb | ||
|
|
3a075f9426 | ||
|
|
14227f1a02 | ||
|
|
6ca6cc975f | ||
|
|
dc978e394a | ||
|
|
36c5366045 | ||
|
|
a2ba550880 | ||
|
|
533ac81c01 | ||
|
|
831bfda9d2 | ||
|
|
ab70e4fd6d | ||
|
|
4d82d73a06 | ||
|
|
724411ac1c | ||
|
|
2d27aa1355 | ||
|
|
2b662f27f6 | ||
|
|
f2e78f2bb5 | ||
|
|
9301f52243 | ||
|
|
f87bcba303 | ||
|
|
c99979af3d | ||
|
|
96b762793c | ||
|
|
8bcd348638 | ||
|
|
7db461dccb | ||
|
|
3bccb39bb9 | ||
|
|
95b0994713 | ||
|
|
5f7159f897 | ||
|
|
244386a257 | ||
|
|
b4df2f48c7 | ||
|
|
84c9c592f8 | ||
|
|
4f3cf2cfb8 | ||
|
|
5a33ab5d65 | ||
|
|
920f5e254d | ||
|
|
50c4837d55 | ||
|
|
0f6cf9cc29 | ||
|
|
929667cf18 | ||
|
|
47ad87ecbf | ||
|
|
5db6b77754 | ||
|
|
483417a75b | ||
|
|
5470afd66b | ||
|
|
3da9b962c3 | ||
|
|
26d9f26bd8 | ||
|
|
7290687619 | ||
|
|
ad7b27283d | ||
|
|
8d002e0930 | ||
|
|
b1bc808468 | ||
|
|
d1ebdb2de9 | ||
|
|
4ff617cd85 | ||
|
|
7994d42e88 | ||
|
|
867c6d55e0 | ||
|
|
42f75ef047 | ||
|
|
e7bd87c468 | ||
|
|
c33415db62 | ||
|
|
559c387477 | ||
|
|
5f7cebc478 | ||
|
|
c6e8d40905 | ||
|
|
2b32144429 | ||
|
|
a13f708bb6 | ||
|
|
2049d24199 | ||
|
|
c2f923f320 | ||
|
|
1528f83532 | ||
|
|
e8074841e9 |
@@ -1,9 +0,0 @@
|
||||
Makefile
|
||||
config.log
|
||||
config.h
|
||||
config.cache
|
||||
config.status
|
||||
libtool
|
||||
isc-config.sh
|
||||
configure.lineno
|
||||
autom4te.cache
|
||||
50
.gitignore
vendored
Normal file
50
.gitignore
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
Makefile
|
||||
config.log
|
||||
config.h
|
||||
config.cache
|
||||
config.status
|
||||
libtool
|
||||
isc-config.sh
|
||||
configure.lineno
|
||||
autom4te.cache
|
||||
*.o
|
||||
*.lo
|
||||
*.so
|
||||
*.a
|
||||
*.la
|
||||
*_test
|
||||
timestamp
|
||||
named.run
|
||||
gen.dSYM/
|
||||
.libs/
|
||||
.deps/
|
||||
.dirstamp
|
||||
unit/atf-src/atf-c++/atf-c++.pc
|
||||
unit/atf-src/atf-c/atf-c.pc
|
||||
unit/atf-src/atf-c/defs.h
|
||||
unit/atf-src/atf-c/detail/process_helpers
|
||||
unit/atf-src/atf-config/atf-config
|
||||
unit/atf-src/atf-report/atf-report
|
||||
unit/atf-src/atf-report/fail_helper
|
||||
unit/atf-src/atf-report/misc_helpers
|
||||
unit/atf-src/atf-report/pass_helper
|
||||
unit/atf-src/atf-run/atf-run
|
||||
unit/atf-src/atf-run/bad_metadata_helper
|
||||
unit/atf-src/atf-run/expect_helpers
|
||||
unit/atf-src/atf-run/misc_helpers
|
||||
unit/atf-src/atf-run/pass_helper
|
||||
unit/atf-src/atf-run/several_tcs_helper
|
||||
unit/atf-src/atf-run/zero_tcs_helper
|
||||
unit/atf-src/atf-sh/atf-check
|
||||
unit/atf-src/atf-sh/atf-sh
|
||||
unit/atf-src/atf-sh/misc_helpers
|
||||
unit/atf-src/atf-version/atf-version
|
||||
unit/atf-src/atf-version/revision.h
|
||||
unit/atf-src/atf-version/revision.h.stamp
|
||||
unit/atf-src/bconfig.h
|
||||
unit/atf-src/bootstrap/atconfig
|
||||
unit/atf-src/doc/atf.7
|
||||
unit/atf-src/stamp-h1
|
||||
unit/atf-src/test-programs/c_helpers
|
||||
unit/atf-src/test-programs/cpp_helpers
|
||||
unit/atf-src/test-programs/sh_helpers
|
||||
5
Atffile
Normal file
5
Atffile
Normal file
@@ -0,0 +1,5 @@
|
||||
Content-Type: application/X-atf-atffile; version="1"
|
||||
|
||||
prop: test-suite = bind9
|
||||
|
||||
tp: lib
|
||||
494
COPYRIGHT
494
COPYRIGHT
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 1996-2003 Internet Software Consortium.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,9 +13,15 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
$Id: COPYRIGHT,v 1.14.176.3 2011/01/04 23:45:42 tbox Exp $
|
||||
$Id: COPYRIGHT,v 1.15.188.4 2012/01/04 23:45:52 tbox Exp $
|
||||
|
||||
Portions Copyright (C) 1996-2001 Nominum, Inc.
|
||||
Portions of this code release fall under one or more of the
|
||||
following Copyright notices. Please see individual source
|
||||
files for details.
|
||||
|
||||
For binary releases also see: OpenSSL-LICENSE.
|
||||
|
||||
Copyright (C) 1996-2001 Nominum, Inc.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -28,3 +34,485 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (C) 1995-2000 by Network Associates, Inc.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES DISCLAIMS
|
||||
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE
|
||||
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (C) 2002 Stichting NLnet, Netherlands, stichting@nlnet.nl.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the
|
||||
above copyright notice and this permission notice appear in all
|
||||
copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET
|
||||
DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
|
||||
STICHTING NLNET BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
|
||||
USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
The development of Dynamically Loadable Zones (DLZ) for Bind 9 was
|
||||
conceived and contributed by Rob Butler.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the
|
||||
above copyright notice and this permission notice appear in all
|
||||
copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND ROB BUTLER
|
||||
DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
|
||||
ROB BUTLER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
|
||||
USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1987, 1990, 1993, 1994
|
||||
The Regents of the University of California. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (C) The Internet Society 2005. This version of
|
||||
this module is part of RFC 4178; see the RFC itself for
|
||||
full legal notices.
|
||||
|
||||
(The above copyright notice is per RFC 3978 5.6 (a), q.v.)
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004 Masarykova universita
|
||||
(Masaryk University, Brno, Czech Republic)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the University nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1997 - 2003 Kungliga Tekniska Högskolan
|
||||
(Royal Institute of Technology, Stockholm, Sweden).
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the Institute nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1998 Doug Rabson
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright ((c)) 2002, Rice University
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
|
||||
* Neither the name of Rice University (RICE) nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
|
||||
This software is provided by RICE and the contributors on an "as is"
|
||||
basis, without any representations or warranties of any kind, express
|
||||
or implied including, but not limited to, representations or
|
||||
warranties of non-infringement, merchantability or fitness for a
|
||||
particular purpose. In no event shall RICE or contributors be liable
|
||||
for any direct, indirect, incidental, special, exemplary, or
|
||||
consequential damages (including, but not limited to, procurement of
|
||||
substitute goods or services; loss of use, data, or profits; or
|
||||
business interruption) however caused and on any theory of liability,
|
||||
whether in contract, strict liability, or tort (including negligence
|
||||
or otherwise) arising in any way out of the use of this software, even
|
||||
if advised of the possibility of such damage.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1993 by Digital Equipment Corporation.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies, and that
|
||||
the name of Digital Equipment Corporation not be used in advertising or
|
||||
publicity pertaining to distribution of the document or software without
|
||||
specific, written prior permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
|
||||
CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||||
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000 Aaron D. Gifford. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holder nor the names of contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTOR(S) ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1998 Doug Rabson.
|
||||
Copyright (c) 2001 Jake Burkholder.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the project nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1999-2000 by Nortel Networks Corporation
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND NORTEL NETWORKS DISCLAIMS
|
||||
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NORTEL NETWORKS
|
||||
BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
|
||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved.
|
||||
|
||||
By using this file, you agree to the terms and conditions set forth bellow.
|
||||
|
||||
LICENSE TERMS AND CONDITIONS
|
||||
|
||||
The following License Terms and Conditions apply, unless a different
|
||||
license is obtained from Japan Network Information Center ("JPNIC"),
|
||||
a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
|
||||
Chiyoda-ku, Tokyo 101-0047, Japan.
|
||||
|
||||
1. Use, Modification and Redistribution (including distribution of any
|
||||
modified or derived work) in source and/or binary forms is permitted
|
||||
under this License Terms and Conditions.
|
||||
|
||||
2. Redistribution of source code must retain the copyright notices as they
|
||||
appear in each source code file, this License Terms and Conditions.
|
||||
|
||||
3. Redistribution in binary form must reproduce the Copyright Notice,
|
||||
this License Terms and Conditions, in the documentation and/or other
|
||||
materials provided with the distribution. For the purposes of binary
|
||||
distribution the "Copyright Notice" refers to the following language:
|
||||
"Copyright (c) 2000-2002 Japan Network Information Center. All rights
|
||||
reserved."
|
||||
|
||||
4. The name of JPNIC may not be used to endorse or promote products
|
||||
derived from this Software without specific prior written approval of
|
||||
JPNIC.
|
||||
|
||||
5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (C) 2004 Nominet, Ltd.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND NOMINET DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Portions Copyright RSA Security Inc.
|
||||
|
||||
License to copy and use this software is granted provided that it is
|
||||
identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
|
||||
(Cryptoki)" in all material mentioning or referencing this software.
|
||||
|
||||
License is also granted to make and use derivative works provided that
|
||||
such works are identified as "derived from the RSA Security Inc. PKCS #11
|
||||
Cryptographic Token Interface (Cryptoki)" in all material mentioning or
|
||||
referencing the derived work.
|
||||
|
||||
RSA Security Inc. makes no representations concerning either the
|
||||
merchantability of this software or the suitability of this software for
|
||||
any particular purpose. It is provided "as is" without express or implied
|
||||
warranty of any kind.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 1996, David Mazieres <dm@uun.org>
|
||||
Copyright (c) 2008, Damien Miller <djm@openbsd.org>
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2000-2001 The OpenSSL Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. All advertising materials mentioning features or use of this
|
||||
software must display the following acknowledgment:
|
||||
"This product includes software developed by the OpenSSL Project
|
||||
for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
||||
|
||||
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
endorse or promote products derived from this software without
|
||||
prior written permission. For written permission, please contact
|
||||
licensing@OpenSSL.org.
|
||||
|
||||
5. Products derived from this software may not be called "OpenSSL"
|
||||
nor may "OpenSSL" appear in their names without prior written
|
||||
permission of the OpenSSL Project.
|
||||
|
||||
6. Redistributions of any form whatsoever must retain the following
|
||||
acknowledgment:
|
||||
"This product includes software developed by the OpenSSL Project
|
||||
for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
535
EXCLUDED
535
EXCLUDED
@@ -1,434 +1,255 @@
|
||||
3005. [port] Solaris: Work around the lack of
|
||||
gsskrb5_register_acceptor_identity() by setting
|
||||
the KRB5_KTNAME environment variable to the
|
||||
contents of tkey-gssapi-keytab. Also fixed
|
||||
test errors on MacOSX. [RT #22853]
|
||||
|
||||
3003. [experimental] Added update-policy match type "external",
|
||||
enabling named to defer the decision of whether to
|
||||
allow a dynamic update to an external daemon.
|
||||
(Contributed by Andrew Tridgell.) [RT #22758]
|
||||
3312. [bug] named-checkconf didn't detect a bad dns64 clients acl.
|
||||
[RT #27631]
|
||||
|
||||
3000. [bug] More TKEY/GSS fixes:
|
||||
- nsupdate can now get the default realm from
|
||||
the user's Kerberos principal
|
||||
- corrected gsstest compilation flags
|
||||
- improved documentation
|
||||
- fixed some NULL dereferences
|
||||
[RT #22795]
|
||||
3306. [bug] Improve DNS64 reverse zone performance. [RT #28563]
|
||||
|
||||
2992. [contrib] contrib/check-secure-delegation.pl: A simple tool
|
||||
for looking at a secure delegation. [RT #22059]
|
||||
3305. [func] Add wire format lookup method to sdb. [RT #28563]
|
||||
|
||||
2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for
|
||||
dynamic zones. [RT #22365]
|
||||
3303. [bug] named could die when reloading. [RT #28606]
|
||||
|
||||
2990. [bug] 'dnssec-settime -S' no longer tests prepublication
|
||||
interval validity when the interval is set to 0.
|
||||
[RT #22761]
|
||||
3296. [bug] Named could die with a INSIST failure in
|
||||
client.c:exit_check. [RT #28346]
|
||||
|
||||
2988. [experimental] Added a "dlopen" DLZ driver, allowing the creation
|
||||
of external DLZ drivers that can be loaded as
|
||||
shared objects at runtime rather than linked with
|
||||
named. Currently this is switched on via a
|
||||
compile-time option, "configure --with-dlz-dlopen".
|
||||
Note: the syntax for configuring DLZ zones
|
||||
is likely to be refined in future releases.
|
||||
(Contributed by Andrew Tridgell of the Samba
|
||||
project.) [RT #22629]
|
||||
3289. [bug] 'rndc retransfer' failed for inline zones. [RT #28036]
|
||||
|
||||
2985. [bug] Add a regression test for change #2896. [RT #21324]
|
||||
3288. [bug] dlz_destroy() function wasn't correctly registered
|
||||
by the DLZ dlopen driver. [RT #28056]
|
||||
|
||||
2983. [bug] Include "loadkeys" in rndc help output. [RT #22493]
|
||||
3280. [bug] Potential double free of a rdataset on out of memory
|
||||
with DNS64. [RT #27762]
|
||||
|
||||
2980. [bug] named didn't properly handle UPDATES that changed the
|
||||
TTL of the NSEC3PARAM RRset. [RT #22363]
|
||||
3279. [bug] Hold a internal reference to the zone while performing
|
||||
a asynchronous load. Address potential memory leak
|
||||
if the asynchronous is cancelled. [RT #27750]
|
||||
|
||||
2977. [bug] 'nsupdate -l' report if the session key is missing.
|
||||
[RT #21670]
|
||||
3277. [bug] win32: isc_socket_dup is not implemented. [RT #27696]
|
||||
|
||||
2973. [bug] bind.keys.h was being removed by the "make clean"
|
||||
at the end of configure resulting in build failures
|
||||
where there is very old version of perl installed.
|
||||
Move it to "make maintainer-clean". [RT #22230]
|
||||
3275. [bug] Corrected rndc -h output; the 'rndc sync -clean'
|
||||
option had been misspelled as '-clear'. (To avoid
|
||||
future confusion, both options now work.) [RT #27173]
|
||||
|
||||
2963. [security] The allow-query acl was being applied instead of the
|
||||
allow-query-cache acl to cache lookups. [RT #22114]
|
||||
3270. [bug] "rndc reload" didn't reuse existing zones correctly
|
||||
when inline-signing was in use. [RT #27650]
|
||||
|
||||
2961. [bug] Be still more selective about the non-authoritative
|
||||
answers we apply change 2748 to. [RT #22074]
|
||||
3269. [port] darwin 11 and later now built threaded by default.
|
||||
|
||||
2949. [bug] dns_view_setnewzones() contained a memory leak if
|
||||
it was called multiple times. [RT #21942]
|
||||
3265. [bug] Address lock order reversal with inline-signing
|
||||
support. [27557]
|
||||
|
||||
2948. [port] MacOS: provide a mechanism to configure the test
|
||||
interfaces at reboot. See bin/tests/system/README
|
||||
for details.
|
||||
3265. [bug] Address lock order reversal with inline-signing
|
||||
support. [27557]
|
||||
|
||||
2940. [port] Remove connection aborted error message on
|
||||
Windows. [RT #21549]
|
||||
3264. [bug] Automatic regeneration of signatures in an
|
||||
inline-signing zone could stall when the server
|
||||
was restarted. [RT #27344]
|
||||
|
||||
2938. [bug] When generating signed responses, from a signed zone
|
||||
that uses NSEC3, named would use a uninitialised
|
||||
pointer if it needed to skip a NSEC3 record because
|
||||
it didn't match the selected NSEC3PARAM record for
|
||||
zone. [RT# 21868]
|
||||
3263. [bug] "rndc sync" did not affect the unsigned side of an
|
||||
inline-signing zone. [RT #27337]
|
||||
|
||||
2930. [experimental] New "rndc addzone" and "rndc delzone" commads
|
||||
allow dynamic addition and deletion of zones.
|
||||
To enable this feature, specify a "new-zone-file"
|
||||
option at the view or options level in named.conf.
|
||||
Zone configuration information for the new zones
|
||||
will be written into that file. To make the new
|
||||
zones persist after a restart, "include" the file
|
||||
into named.conf in the appropriate view. (Note:
|
||||
This feature is not yet documented, and its syntax
|
||||
is expected to change.) [RT #19447]
|
||||
3262. [bug] Signed responses were handled incorrectly by RPZ.
|
||||
[RT #27316]
|
||||
|
||||
2928. [bug] Be more selective about the non-authoritative
|
||||
answer we apply change 2748 to. [RT #21594]
|
||||
3252. [bug] When master zones using inline-signing were
|
||||
updated while the server was offline, the source
|
||||
zone could fall out of sync with the signed
|
||||
copy. They can now resynchronize. [RT #26676]
|
||||
|
||||
2914. [bug] Make the "autosign" system test more portable.
|
||||
[RT #20997]
|
||||
3246. [bug] Named failed to start with a empty also-notify list.
|
||||
[RT #27087]
|
||||
|
||||
2909. [bug] named-checkconf -p could die if "update-policy local;"
|
||||
was specified in named.conf. [RT #21416]
|
||||
3245. [bug] Don't report a error unchanged serials unless there
|
||||
were other changes when thawing a zone with
|
||||
ixfr-fromdifferences. [RT #26845]
|
||||
|
||||
2907. [bug] The export version of libdns had undefined references.
|
||||
[RT #21444]
|
||||
3243. [port] freebsd,netbsd,bsdi: the thread defaults were not
|
||||
being properly set.
|
||||
|
||||
2906. [bug] Address RFC 5011 implementation issues. [RT #20903]
|
||||
3236. [bug] Backed out changes #3182 and #3202, related to
|
||||
EDNS(0) fallback behavior. [RT #26416]
|
||||
|
||||
2903. [bug] managed-keys-directory missing from namedconf.c.
|
||||
[RT #21370]
|
||||
3233. [bug] 'rndc freeze/thaw' didn't work for inline zones.
|
||||
[RT #26632]
|
||||
|
||||
2897. [bug] NSEC3 chains could be left behind when transitioning
|
||||
to insecure. [RT #21040]
|
||||
3225. [bug] Silence spurious "setsockopt(517, IPV6_V6ONLY) failed"
|
||||
messages. [RT #26507]
|
||||
|
||||
2896. [bug] "rndc sign" failed to properly update the zone
|
||||
when adding a DNSKEY for publication only. [RT #21045]
|
||||
3224. [bug] 'rndc signing' argument parsing was broken. [RT #26684]
|
||||
|
||||
2893. [bug] Improve managed keys support. New named.conf option
|
||||
managed-keys-directory. [RT #20924]
|
||||
3223. [bug] 'task_test privilege_drop' generated false positives.
|
||||
[RT #26766]
|
||||
|
||||
2892. [bug] Handle REVOKED keys better. [RT #20961]
|
||||
3222. [cleanup] Replace dns_journal_{get,set}_bitws with
|
||||
dns_journal_{get,set}_sourceserial. [RT #26634]
|
||||
|
||||
2887. [bug] Report the keytag times in UTC in the .key file,
|
||||
local time is presented as a comment within the
|
||||
comment. [RT #21223]
|
||||
3220. [bug] Change #3186 was incomplete; dns_db_rpz_findips()
|
||||
could fail to set the database version correctly,
|
||||
causing an assertion failure. [RT #26180]
|
||||
3219. [bug] Disable NOEDNS caching following a timeout.
|
||||
|
||||
2886. [bug] ctime() is not thread safe. [RT #21223]
|
||||
3217. [cleanup] Fix build problem with --disable-static. [RT #26476]
|
||||
|
||||
2880. [cleanup] Make the output of dnssec-keygen and dnssec-revoke
|
||||
consistent. [RT #21078]
|
||||
3215. [bug] 'rndc recursing' could cause a core dump. [RT #26495]
|
||||
|
||||
2873. [bug] Cancelling a dynamic update via the dns/client module
|
||||
could trigger an assertion failure. [RT #21133]
|
||||
3210. [bug] Canceling the oldest query due to recursive-client
|
||||
overload could trigger an assertion failure. [RT #26463]
|
||||
|
||||
2872. [bug] Modify dns/client.c:dns_client_createx() to only
|
||||
require one of IPv4 or IPv6 rather than both.
|
||||
[RT #21122]
|
||||
3202. [bug] NOEDNS caching on timeout was too agressive.
|
||||
[RT #26416]
|
||||
|
||||
2871. [bug] Type mismatch in mem_api.c between the definition and
|
||||
the header file, causing build failure with
|
||||
--enable-exportlib. [RT #21138]
|
||||
3186. [bug] Version/db mis-match in rpz code. [RT #26180]
|
||||
|
||||
2861. [doc] dnssec-settime man pages didn't correctly document the
|
||||
inactivation time. [RT #21039]
|
||||
3184. [bug] named had excessive cpu usage when a redirect zone was
|
||||
configured. [RT #26013]
|
||||
|
||||
2860. [bug] named-checkconf's usage was out of date. [RT #21039]
|
||||
3183. [bug] Added RTLD_GLOBAL flag to dlopen call. [RT #26301]
|
||||
|
||||
2848. [doc] Moved README.dnssec, README.libdns, README.pkcs11 and
|
||||
README.rfc5011 into the ARM. [RT #20899]
|
||||
3182. [bug] Auth servers behind firewalls which block packets
|
||||
greater than 512 bytes may cause other servers to
|
||||
perform poorly. Now, adb retains edns information
|
||||
and caches noedns servers. [RT #23392/24964]
|
||||
|
||||
2847. [cleanup] Corrected usage message in dnssec-settime. [RT #20921]
|
||||
3178. [bug] A race condition introduced by change #3163 could
|
||||
cause an assertion failure on shutdown. [RT #26271]
|
||||
|
||||
2845. [bug] RFC 5011 client could crash on shutdown. [RT #20903]
|
||||
3176. [doc] Corrected example code and added a README to the
|
||||
sample external DLZ module in contrib/dlz/example.
|
||||
[RT #26215]
|
||||
|
||||
2841. [bug] Change 2836 was not complete. [RT #20883]
|
||||
3172. [port] darwin 10.* and freebsd [89] are now built threaded by
|
||||
default.
|
||||
|
||||
2839. [bug] A KSK revoked by named could not be deleted.
|
||||
[RT #20881]
|
||||
3168. [bug] Nxdomain redirection could trigger an assert with
|
||||
a ANY query. [RT #26017]
|
||||
|
||||
2836. [bug] Keys that were scheduled to become active could
|
||||
be delayed. [RT #20874]
|
||||
3166. [bug] Upgrading a zone to support inline-signing failed.
|
||||
[RT #26014]
|
||||
|
||||
2835. [bug] Key inactivity dates were inadvertently stored in
|
||||
the private key file with the outdated tag
|
||||
"Unpublish" rather than "Inactive". This has been
|
||||
fixed; however, any existing keys that had Inactive
|
||||
dates set will now need to have them reset, using
|
||||
'dnssec-settime -I'. [RT #20868]
|
||||
3165. [bug] dnssec-signzone could generate new signatures when
|
||||
resigning, even when valid signatures were already
|
||||
present. [RT #26025]
|
||||
|
||||
2833. [cleanup] Fix usage messages in dnssec-keygen and dnssec-settime.
|
||||
[RT #20851]
|
||||
3163. [bug] Use finer-grained locking in client.c to address
|
||||
concurrency problems with large numbers of threads.
|
||||
[RT #26044]
|
||||
|
||||
2832. [bug] Modify "struct stat" in lib/export/samples/nsprobe.c
|
||||
to avoid redefinition in some OSs [RT 20831]
|
||||
3160. [bug] When printing out a NSEC3 record in multiline form
|
||||
the newline was not being printed causing type codes
|
||||
to be run together. [RT #25873]
|
||||
|
||||
2824. [bug] "rndc sign" was not being run by the correct task.
|
||||
[RT #20759]
|
||||
3159. [bug] On some platforms, named could assert on startup
|
||||
when running in a chrooted environment without
|
||||
/proc. [RT #25863]
|
||||
|
||||
2821. [doc] Add note that named-checkconf doesn't automatically
|
||||
read rndc.key and bind.keys [RT #20758]
|
||||
3158. [bug] Recursive servers would prefer a particular UDP
|
||||
socket instead of using all available sockets.
|
||||
[RT #26038]
|
||||
|
||||
2816. [bug] previous_closest_nsec() could fail to return
|
||||
data for NSEC3 nodes [RT #29730]
|
||||
3155. [bug] Fixed a build failure when using contrib DLZ
|
||||
drivers (e.g., mysql, postgresql, etc). [RT #25710]
|
||||
|
||||
2811. [cleanup] Add "rndc sign" to list of commands in rndc usage
|
||||
output. [RT #20733]
|
||||
3142. [bug] NAPTR is class agnostic. [RT #25429]
|
||||
|
||||
2809. [cleanup] Restored accidentally-deleted text in usage output
|
||||
in dnssec-settime and dnssec-revoke [RT #20739]
|
||||
3131. [tuning] Improve scalability by allocating one zone task
|
||||
per 100 zones at startup time, rather than using a
|
||||
fixed-size task table. [RT #24406]
|
||||
|
||||
2808. [bug] Remove the attempt to install atomic.h from lib/isc.
|
||||
atomic.h is correctly installed by the architecture
|
||||
specific subdirectories. [RT #20722]
|
||||
3127. [bug] 'rndc thaw' will now remove a zone's journal file
|
||||
if the zone serial number has been changed and
|
||||
ixfr-from-differences is not in use. [RT #24687]
|
||||
|
||||
2807. [bug] Fixed a possible ASSERT when reconfiguring zone
|
||||
keys. [RT #20720]
|
||||
3126. [security] Using DNAME record to generate replacements caused
|
||||
RPZ to exit with a assertion failure. [RT #24766]
|
||||
|
||||
2806. [bug] "rdnc sign" could delay re-signing the DNSKEY
|
||||
when it had changed. [RT #20703]
|
||||
3125. [security] Using wildcard CNAME records as a replacement with
|
||||
RPZ caused named to exit with a assertion failure.
|
||||
[RT #24715]
|
||||
|
||||
2805. [bug] Fixed namespace problems encountered when building
|
||||
external programs using non-exported BIND9 libraries
|
||||
(i.e., built without --enable-exportlib). [RT #20679]
|
||||
3115. [bug] Named could fail to return requested data when
|
||||
following a CNAME that points into the same zone.
|
||||
[RT #24455]
|
||||
|
||||
2804. [bug] Send notifies when a zone is signed with "rndc sign"
|
||||
or as a result of a scheduled key change. [RT #20700]
|
||||
3108. [cleanup] dnssec-signzone: Clarified some error and
|
||||
warning messages; removed #ifdef ALLOW_KSKLESS_ZONES
|
||||
code (use -P instead). [RT #20852]
|
||||
|
||||
2803. [port] win32: Install named-journalprint, nsec3hash, arpaname
|
||||
and genrandom under windows. [RT #20670]
|
||||
3105. [bug] GOST support can be suppressed by "configure
|
||||
--without-gost" [RT #24367]
|
||||
|
||||
2802. [cleanup] Rename journalprint to named-journalprint. [RT #20670]
|
||||
3103. [bug] Configuring 'dnssec-validation auto' in a view
|
||||
instead of in the options statement could trigger
|
||||
an assertion failure in named-checkconf. [RT #24382]
|
||||
|
||||
2799. [cleanup] Changed the "secure-to-insecure" option to
|
||||
"dnssec-secure-to-insecure", and "dnskey-ksk-only"
|
||||
to "dnssec-dnskey-kskonly", for clarity. [RT #20586]
|
||||
3100. [security] Certain response policy zone configurations could
|
||||
trigger an INSIST when receiving a query of type
|
||||
RRSIG. [RT #24280]
|
||||
|
||||
2798. [bug] Addressed bugs in managed-keys initialization
|
||||
and rollover. [RT #20683]
|
||||
3098. [bug] DLZ zones were answering without setting the AA bit.
|
||||
[RT #24146]
|
||||
|
||||
2796. [bug] Missing dns_rdataset_disassociate() call in
|
||||
dns_nsec3_delnsec3sx(). [RT #20681]
|
||||
3096. [bug] Set KRB5_KTNAME before calling log_cred() in
|
||||
dst_gssapi_acceptctx(). [RT #24004]
|
||||
|
||||
2795. [cleanup] Add text to differentiate "update with no effect"
|
||||
log messages. [RT #18889]
|
||||
3094. [doc] Expand dns64 documentation.
|
||||
|
||||
2794. [bug] Install <isc/namespace.h>. [RT #20677]
|
||||
3093. [bug] Fix gssapi/kerberos dependencies [RT #23836]
|
||||
|
||||
2791. [bug] The installation of isc-config.sh was broken.
|
||||
[RT #20667]
|
||||
3087. [bug] DDNS updates using SIG(0) with update-policy match
|
||||
type "external" could cause a crash. [RT #23735]
|
||||
|
||||
2788. [bug] dnssec-signzone could sign with keys that were
|
||||
not requested [RT #20625]
|
||||
3082. [port] strtok_r is threads only. [RT #23747]
|
||||
|
||||
2787. [bug] Spurious log message when zone keys were
|
||||
dynamically reconfigured. [RT #20659]
|
||||
3072. [bug] dns_dns64_aaaaok() potential NULL pointer dereference.
|
||||
[RT #20256]
|
||||
|
||||
2785. [bug] Revoked keys could fail to self-sign [RT #20652]
|
||||
3054. [bug] Added elliptic curve support check in
|
||||
GOST OpenSSL engine detection. [RT #23485]
|
||||
|
||||
2781. [bug] Inactive keys could be used for signing. [RT #20649]
|
||||
3045. [removed] Replaced by change #3050.
|
||||
|
||||
2780. [bug] dnssec-keygen -A none didn't properly unset the
|
||||
activation date in all cases. [RT #20648]
|
||||
3038. [bug] Install <dns/rpz.h>. [RT #23342]
|
||||
|
||||
2779. [bug] Dynamic key revokation could fail. [RT #20644]
|
||||
3022. [bug] Fixed rpz SERVFAILs after failed zone transfers
|
||||
[RT #23246]
|
||||
|
||||
2778. [bug] dnssec-signzone could fail when a key was revoked
|
||||
without deleting the unrevoked version. [RT #20638]
|
||||
3013. [bug] The DNS64 ttl was not always being set as expected.
|
||||
[RT #23034]
|
||||
|
||||
2763. [bug] "rndc sign" didn't create an NSEC chain. [RT #20591]
|
||||
|
||||
2761. [cleanup] Enable internal symbol table for backtrace only for
|
||||
systems that are known to work. Currently, BSD
|
||||
variants, Linux and Solaris are supported. [RT# 20202]
|
||||
3005. [port] Solaris: Work around the lack of
|
||||
gsskrb5_register_acceptor_identity() by setting
|
||||
the KRB5_KTNAME environment variable to the
|
||||
contents of tkey-gssapi-keytab. Also fixed
|
||||
test errors on MacOSX. [RT #22853]
|
||||
|
||||
2775. [bug] Accept RSASHA256 and RSASHA512 as NSEC3 compatible
|
||||
in dnssec-keyfromlabel. [RT #20643]
|
||||
3003. [experimental] Added update-policy match type "external",
|
||||
enabling named to defer the decision of whether to
|
||||
allow a dynamic update to an external daemon.
|
||||
(Contributed by Andrew Tridgell.) [RT #22758]
|
||||
|
||||
2773. [bug] In autosigned zones, the SOA could be signed
|
||||
with the KSK. [RT #20628]
|
||||
3000. [bug] More TKEY/GSS fixes:
|
||||
- nsupdate can now get the default realm from
|
||||
the user's Kerberos principal
|
||||
- corrected gsstest compilation flags
|
||||
- improved documentation
|
||||
- fixed some NULL dereferences
|
||||
[RT #22795]
|
||||
|
||||
2771. [bug] dnssec-signzone: DNSKEY records could be
|
||||
corrupted when importing from key files [RT #20624]
|
||||
2992. [contrib] contrib/check-secure-delegation.pl: A simple tool
|
||||
for looking at a secure delegation. [RT #22059]
|
||||
|
||||
2770. [cleanup] Add log messages to resolver.c to indicate events
|
||||
causing FORMERR responses. [RT #20526]
|
||||
2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for
|
||||
dynamic zones. [RT #22365]
|
||||
|
||||
2769. [cleanup] Change #2742 was incomplete. [RT #19589]
|
||||
|
||||
2768. [bug] dnssec-signzone: -S no longer implies -g [RT #20568]
|
||||
|
||||
2767. [bug] named could crash on startup if a zone was
|
||||
configured with auto-dnssec and there was no
|
||||
key-directory. [RT #20615]
|
||||
|
||||
2766. [bug] isc_socket_fdwatchpoke() should only update the
|
||||
socketmgr state if the socket is not pending on a
|
||||
read or write. [RT #20603]
|
||||
|
||||
2764. [bug] "rndc-confgen -a" could trigger a REQUIRE. [RT #20610]
|
||||
|
||||
2756. [bug] Fixed corrupt logfile message in update.c. [RT# 20597]
|
||||
|
||||
2753. [bug] Removed an unnecessary warning that could appear when
|
||||
building an NSEC chain. [RT #20589]
|
||||
|
||||
2776. [bug] Change #2762 was not correct. [RT #20647]
|
||||
|
||||
2762. [bug] DLV validation failed with a local slave DLV zone.
|
||||
[RT #20577]
|
||||
|
||||
2752. [bug] Locking violation. [RT #20587]
|
||||
|
||||
2751. [bug] Fixed a memory leak in dnssec-keyfromlabel. [RT #20588]
|
||||
|
||||
2746. [port] hpux: address signed/unsigned expansion mismatch of
|
||||
dns_rbtnode_t.nsec. [RT #20542]
|
||||
|
||||
2745. [bug] configure script didn't probe the return type of
|
||||
gai_strerror(3) correctly. [RT #20573]
|
||||
|
||||
2774. [bug] Existing cache DB wasn't being reused after
|
||||
reconfiguration. [RT #20629]
|
||||
|
||||
2742. [cleanup] Clarify some DNSSEC-related log messages in
|
||||
validator.c. [RT #19589]
|
||||
|
||||
2739. [cleanup] Clean up API for initializing and clearing trust
|
||||
anchors for a view. [RT #20211]
|
||||
|
||||
2735. [bug] dnssec-signzone could fail to read keys
|
||||
that were specified on the command line with
|
||||
full paths, but weren't in the current
|
||||
directory. [RT #20421]
|
||||
|
||||
2734. [port] cygwin: arpaname did not compile. [RT #20473]
|
||||
|
||||
2733. [cleanup] Clean up coding style in pkcs11-* tools. [RT #20355]
|
||||
|
||||
2728. [bug] dssec-keygen, dnssec-keyfromlabel and
|
||||
dnssec-signzone now warn immediately if asked to
|
||||
write into a nonexistent directory. [RT #20278]
|
||||
|
||||
2725. [doc] Added information about the file "managed-keys.bind"
|
||||
to the ARM. [RT #20235]
|
||||
|
||||
2724. [bug] Updates to a existing node in secure zone using NSEC
|
||||
were failing. [RT #20448]
|
||||
|
||||
2720. [bug] RFC 5011 trust anchor updates could trigger an
|
||||
assert if the DNSKEY record was unsigned. [RT #20406]
|
||||
|
||||
2717. [bug] named failed to update the NSEC/NSEC3 record when
|
||||
the last private type record was removed as a result
|
||||
of completing the signing the zone with a key.
|
||||
[RT #20399]
|
||||
|
||||
2711. [port] win32: Add the bin/pkcs11 tools into the full
|
||||
build. [RT #20372]
|
||||
|
||||
2694. [bug] Reduce default NSEC3 iterations from 100 to 10.
|
||||
[RT #19970]
|
||||
|
||||
2693. [port] Add some noreturn attributes. [RT #20257]
|
||||
|
||||
2687. [bug] Fixed dnssec-signzone -S handling of revoked keys.
|
||||
Also, added warnings when revoking a ZSK, as this is
|
||||
not defined by protocol (but is legal). [RT #19943]
|
||||
|
||||
2685. [contrib] Update contrib/zkt to version 0.99c. [RT #20054]
|
||||
|
||||
2684. [cleanup] dig: formalize +ad and +cd as synonyms for
|
||||
+adflag and +cdflag. [RT #19305]
|
||||
|
||||
2682. [bug] "configure --enable-symtable=all" failed to
|
||||
build. [RT #20282]
|
||||
|
||||
2676. [bug] --with-export-installdir should have been
|
||||
--with-export-includedir. [RT #20252]
|
||||
|
||||
2675. [bug] dnssec-signzone could crash if the key directory
|
||||
did not exist. [RT #20232]
|
||||
|
||||
2674. [bug] "dnssec-lookaside auto;" crashed if named was built
|
||||
without openssl. [RT #20231]
|
||||
|
||||
2673. [bug] The managed-keys.bind zone file could fail to
|
||||
load due to a spurious result from sync_keyzone()
|
||||
[RT #20045]
|
||||
|
||||
2671. [bug] Add support for PKCS#11 providers not returning
|
||||
the public exponent in RSA private keys
|
||||
(OpenCryptoki for instance) in
|
||||
dnssec-keyfromlabel. [RT #19294]
|
||||
|
||||
2664. [bug] create_keydata() and minimal_update() in zone.c
|
||||
didn't properly check return values for some
|
||||
functions. [RT #19956]
|
||||
|
||||
2658. [bug] dnssec-settime and dnssec-revoke didn't process
|
||||
key file paths correctly. [RT #20078]
|
||||
|
||||
2657. [cleanup] Lower "journal file <path> does not exist, creating it"
|
||||
log level to debug 1. [RT #20058]
|
||||
|
||||
2655. [doc] Document that key-directory does not affect
|
||||
bind.keys, rndc.key or session.key. [RT #20155]
|
||||
|
||||
2654. [bug] Improve error reporting on duplicated names for
|
||||
deny-answer-xxx. [RT #20164]
|
||||
|
||||
2651. [bug] Dates could print incorrectly in K*.key files on
|
||||
64-bit systems. [RT #20076]
|
||||
|
||||
2650. [bug] Assertion failure in dnssec-signzone when trying
|
||||
to read keyset-* files. [RT #20075]
|
||||
|
||||
2644. [bug] Change #2628 caused a regression on some systems;
|
||||
named was unable to write the PID file and would
|
||||
fail on startup. [RT #20001]
|
||||
|
||||
2641. [bug] Fixed an error in parsing update-policy syntax,
|
||||
added a regression test to check it. [RT #20007]
|
||||
|
||||
2638. [bug] Install arpaname. [RT #19957]
|
||||
|
||||
2634. [port] win32: Add support for libxml2, enable
|
||||
statschannel. [RT #19773]
|
||||
|
||||
2631. [bug] Handle "//", "/./" and "/../" in mkdirpath().
|
||||
[RT #19926 ]
|
||||
|
||||
2629. [port] Check for seteuid()/setegid(), use setresuid()/
|
||||
setresgid() if not present. [RT #19932]
|
||||
|
||||
2628. [port] linux: Allow /var/run/named/named.pid to be opened
|
||||
at startup with reduced capabilities in operation.
|
||||
[RT #19884]
|
||||
|
||||
2627. [bug] Named aborted if the same key was included in
|
||||
trusted-keys more than once. [RT #19918]
|
||||
|
||||
2626. [bug] Multiple trusted-keys could trigger an assertion
|
||||
failure. [RT #19914]
|
||||
|
||||
2622. [bug] Printing of named.conf grammar was broken. [RT #19919]
|
||||
|
||||
2600. [doc] ARM: miscellaneous reformatting for different
|
||||
page widths. [RT #19574]
|
||||
|
||||
2566. [cleanup] Clarify logged message when an insecure DNSSEC
|
||||
response arrives from a zone thought to be secure:
|
||||
"insecurity proof failed" instead of "not
|
||||
insecure". [RT #19400]
|
||||
|
||||
2537. [func] Added more statistics counters including those on socket
|
||||
I/O events and query RTT histograms. [RT #18802]
|
||||
|
||||
2525. [func] New logging category "query-errors" to provide detailed
|
||||
internal information about query failures, especially
|
||||
about server failures. [RT #19027]
|
||||
2988. [experimental] Added a "dlopen" DLZ driver, allowing the creation
|
||||
of external DLZ drivers that can be loaded as
|
||||
shared objects at runtime rather than linked with
|
||||
named. Currently this is switched on via a
|
||||
compile-time option, "configure --with-dlz-dlopen".
|
||||
Note: the syntax for configuring DLZ zones
|
||||
is likely to be refined in future releases.
|
||||
(Contributed by Andrew Tridgell of the Samba
|
||||
project.) [RT #22629]
|
||||
|
||||
2948. [port] MacOS: provide a mechanism to configure the test
|
||||
interfaces at reboot. See bin/tests/system/README
|
||||
for details.
|
||||
|
||||
5
FAQ.xml
5
FAQ.xml
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
|
||||
<!--
|
||||
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: FAQ.xml,v 1.46.56.9 2010/01/20 23:47:43 tbox Exp $ -->
|
||||
<!-- $Id: FAQ.xml,v 1.54 2010/01/19 23:48:55 tbox Exp $ -->
|
||||
|
||||
<article class="faq">
|
||||
<title>Frequently Asked Questions about BIND 9</title>
|
||||
@@ -30,6 +30,7 @@
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<year>2012</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
|
||||
313
HISTORY
Normal file
313
HISTORY
Normal file
@@ -0,0 +1,313 @@
|
||||
Summary of functional enhancements from prior major releases of BIND 9:
|
||||
|
||||
BIND 9.6.0
|
||||
|
||||
Full NSEC3 support
|
||||
|
||||
Automatic zone re-signing
|
||||
|
||||
New update-policy methods tcp-self and 6to4-self
|
||||
|
||||
The BIND 8 resolver library, libbind, has been removed from the
|
||||
BIND 9 distribution and is now available as a separate download.
|
||||
|
||||
Change the default pid file location from /var/run to
|
||||
/var/run/{named,lwresd} for improved chroot/setuid support.
|
||||
|
||||
BIND 9.5.0
|
||||
|
||||
GSS-TSIG support (RFC 3645).
|
||||
|
||||
DHCID support.
|
||||
|
||||
Experimental http server and statistics support for named via xml.
|
||||
|
||||
More detailed statistics counters including those supported in BIND 8.
|
||||
|
||||
Faster ACL processing.
|
||||
|
||||
Use Doxygen to generate internal documentation.
|
||||
|
||||
Efficient LRU cache-cleaning mechanism.
|
||||
|
||||
NSID support.
|
||||
|
||||
BIND 9.4.0
|
||||
|
||||
Implemented "additional section caching (or acache)", an
|
||||
internal cache framework for additional section content to
|
||||
improve response performance. Several configuration options
|
||||
were provided to control the behavior.
|
||||
|
||||
New notify type 'master-only'. Enable notify for master
|
||||
zones only.
|
||||
|
||||
Accept 'notify-source' style syntax for query-source.
|
||||
|
||||
rndc now allows addresses to be set in the server clauses.
|
||||
|
||||
New option "allow-query-cache". This lets "allow-query"
|
||||
be used to specify the default zone access level rather
|
||||
than having to have every zone override the global value.
|
||||
"allow-query-cache" can be set at both the options and view
|
||||
levels. If "allow-query-cache" is not set then "allow-recursion"
|
||||
is used if set, otherwise "allow-query" is used if set
|
||||
unless "recursion no;" is set in which case "none;" is used,
|
||||
otherwise the default (localhost; localnets;) is used.
|
||||
|
||||
rndc: the source address can now be specified.
|
||||
|
||||
ixfr-from-differences now takes master and slave in addition
|
||||
to yes and no at the options and view levels.
|
||||
|
||||
Allow the journal's name to be changed via named.conf.
|
||||
|
||||
'rndc notify zone [class [view]]' resend the NOTIFY messages
|
||||
for the specified zone.
|
||||
|
||||
'dig +trace' now randomly selects the next servers to try.
|
||||
Report if there is a bad delegation.
|
||||
|
||||
Improve check-names error messages.
|
||||
|
||||
Make public the function to read a key file, dst_key_read_public().
|
||||
|
||||
dig now returns the byte count for axfr/ixfr.
|
||||
|
||||
allow-update is now settable at the options / view level.
|
||||
|
||||
named-checkconf now checks the logging configuration.
|
||||
|
||||
host now can turn on memory debugging flags with '-m'.
|
||||
|
||||
Don't send notify messages to self.
|
||||
|
||||
Perform sanity checks on NS records which refer to 'in zone' names.
|
||||
|
||||
New zone option "notify-delay". Specify a minimum delay
|
||||
between sets of NOTIFY messages.
|
||||
|
||||
Extend adjusting TTL warning messages.
|
||||
|
||||
Named and named-checkzone can now both check for non-terminal
|
||||
wildcard records.
|
||||
|
||||
"rndc freeze/thaw" now freezes/thaws all zones.
|
||||
|
||||
named-checkconf now check acls to verify that they only
|
||||
refer to existing acls.
|
||||
|
||||
The server syntax has been extended to support a range of
|
||||
servers.
|
||||
|
||||
Report differences between hints and real NS rrset and
|
||||
associated address records.
|
||||
|
||||
Preserve the case of domain names in rdata during zone
|
||||
transfers.
|
||||
|
||||
Restructured the data locking framework using architecture
|
||||
dependent atomic operations (when available), improving
|
||||
response performance on multi-processor machines significantly.
|
||||
x86, x86_64, alpha, powerpc, and mips are currently supported.
|
||||
|
||||
UNIX domain controls are now supported.
|
||||
|
||||
Add support for additional zone file formats for improving
|
||||
loading performance. The masterfile-format option in
|
||||
named.conf can be used to specify a non-default format. A
|
||||
separate command named-compilezone was provided to generate
|
||||
zone files in the new format. Additionally, the -I and -O
|
||||
options for dnssec-signzone specify the input and output
|
||||
formats.
|
||||
|
||||
dnssec-signzone can now randomize signature end times
|
||||
(dnssec-signzone -j jitter).
|
||||
|
||||
Add support for CH A record.
|
||||
|
||||
Add additional zone data constancy checks. named-checkzone
|
||||
has extended checking of NS, MX and SRV record and the hosts
|
||||
they reference. named has extended post zone load checks.
|
||||
New zone options: check-mx and integrity-check.
|
||||
|
||||
|
||||
edns-udp-size can now be overridden on a per server basis.
|
||||
|
||||
dig can now specify the EDNS version when making a query.
|
||||
|
||||
Added framework for handling multiple EDNS versions.
|
||||
|
||||
Additional memory debugging support to track size and mctx
|
||||
arguments.
|
||||
|
||||
Detect duplicates of UDP queries we are recursing on and
|
||||
drop them. New stats category "duplicates".
|
||||
|
||||
"USE INTERNAL MALLOC" is now runtime selectable.
|
||||
|
||||
The lame cache is now done on a <qname,qclass,qtype> basis
|
||||
as some servers only appear to be lame for certain query
|
||||
types.
|
||||
|
||||
Limit the number of recursive clients that can be waiting
|
||||
for a single query (<qname,qtype,qclass>) to resolve. New
|
||||
options clients-per-query and max-clients-per-query.
|
||||
|
||||
dig: report the number of extra bytes still left in the
|
||||
packet after processing all the records.
|
||||
|
||||
Support for IPSECKEY rdata type.
|
||||
|
||||
Raise the UDP recieve buffer size to 32k if it is less than 32k.
|
||||
|
||||
x86 and x86_64 now have seperate atomic locking implementations.
|
||||
|
||||
named-checkconf now validates update-policy entries.
|
||||
|
||||
Attempt to make the amount of work performed in a iteration
|
||||
self tuning. The covers nodes clean from the cache per
|
||||
iteration, nodes written to disk when rewriting a master
|
||||
file and nodes destroyed per iteration when destroying a
|
||||
zone or a cache.
|
||||
|
||||
ISC string copy API.
|
||||
|
||||
Automatic empty zone creation for D.F.IP6.ARPA and friends.
|
||||
Note: RFC 1918 zones are not yet covered by this but are
|
||||
likely to be in a future release.
|
||||
|
||||
New options: empty-server, empty-contact, empty-zones-enable
|
||||
and disable-empty-zone.
|
||||
|
||||
dig now has a '-q queryname' and '+showsearch' options.
|
||||
|
||||
host/nslookup now continue (default)/fail on SERVFAIL.
|
||||
|
||||
dig now warns if 'RA' is not set in the answer when 'RD'
|
||||
was set in the query. host/nslookup skip servers that fail
|
||||
to set 'RA' when 'RD' is set unless a server is explicitly
|
||||
set.
|
||||
|
||||
Integrate contibuted DLZ code into named.
|
||||
|
||||
Integrate contibuted IDN code from JPNIC.
|
||||
|
||||
libbind: corresponds to that from BIND 8.4.7.
|
||||
|
||||
BIND 9.3.0
|
||||
|
||||
DNSSEC is now DS based (RFC 3658).
|
||||
See also RFC 3845, doc/draft/draft-ietf-dnsext-dnssec-*.
|
||||
|
||||
DNSSEC lookaside validation.
|
||||
|
||||
check-names is now implemented.
|
||||
rrset-order in more complete.
|
||||
|
||||
IPv4/IPv6 transition support, dual-stack-servers.
|
||||
|
||||
IXFR deltas can now be generated when loading master files,
|
||||
ixfr-from-differences.
|
||||
|
||||
It is now possible to specify the size of a journal, max-journal-size.
|
||||
|
||||
It is now possible to define a named set of master servers to be
|
||||
used in masters clause, masters.
|
||||
|
||||
The advertised EDNS UDP size can now be set, edns-udp-size.
|
||||
|
||||
allow-v6-synthesis has been obsoleted.
|
||||
|
||||
NOTE:
|
||||
* Zones containing MD and MF will now be rejected.
|
||||
* dig, nslookup name. now report "Not Implemented" as
|
||||
NOTIMP rather than NOTIMPL. This will have impact on scripts
|
||||
that are looking for NOTIMPL.
|
||||
|
||||
libbind: corresponds to that from BIND 8.4.5.
|
||||
|
||||
BIND 9.2.0
|
||||
|
||||
The size of the cache can now be limited using the
|
||||
"max-cache-size" option.
|
||||
|
||||
The server can now automatically convert RFC1886-style recursive
|
||||
lookup requests into RFC2874-style lookups, when enabled using the
|
||||
new option "allow-v6-synthesis". This allows stub resolvers that
|
||||
support AAAA records but not A6 record chains or binary labels to
|
||||
perform lookups in domains that make use of these IPv6 DNS
|
||||
features.
|
||||
|
||||
Performance has been improved.
|
||||
|
||||
The man pages now use the more portable "man" macros rather than
|
||||
the "mandoc" macros, and are installed by "make install".
|
||||
|
||||
The named.conf parser has been completely rewritten. It now
|
||||
supports "include" directives in more places such as inside "view"
|
||||
statements, and it no longer has any reserved words.
|
||||
|
||||
The "rndc status" command is now implemented.
|
||||
|
||||
rndc can now be configured automatically.
|
||||
|
||||
A BIND 8 compatible stub resolver library is now included in
|
||||
lib/bind.
|
||||
|
||||
OpenSSL has been removed from the distribution. This means that to
|
||||
use DNSSEC, OpenSSL must be installed and the --with-openssl option
|
||||
must be supplied to configure. This does not apply to the use of
|
||||
TSIG, which does not require OpenSSL.
|
||||
|
||||
The source distribution now builds on Windows. See
|
||||
win32utils/readme1.txt and win32utils/win32-build.txt for details.
|
||||
|
||||
This distribution also includes a new lightweight stub
|
||||
resolver library and associated resolver daemon that fully
|
||||
support forward and reverse lookups of both IPv4 and IPv6
|
||||
addresses. This library is considered experimental and
|
||||
is not a complete replacement for the BIND 8 resolver library.
|
||||
Applications that use the BIND 8 res_* functions to perform
|
||||
DNS lookups or dynamic updates still need to be linked against
|
||||
the BIND 8 libraries. For DNS lookups, they can also use the
|
||||
new "getrrsetbyname()" API.
|
||||
|
||||
BIND 9.2 is capable of acting as an authoritative server
|
||||
for DNSSEC secured zones. This functionality is believed to
|
||||
be stable and complete except for lacking support for
|
||||
verifications involving wildcard records in secure zones.
|
||||
|
||||
When acting as a caching server, BIND 9.2 can be configured
|
||||
to perform DNSSEC secure resolution on behalf of its clients.
|
||||
This part of the DNSSEC implementation is still considered
|
||||
experimental. For detailed information about the state of the
|
||||
DNSSEC implementation, see the file doc/misc/dnssec.
|
||||
|
||||
There are a few known bugs:
|
||||
|
||||
On some systems, IPv6 and IPv4 sockets interact in
|
||||
unexpected ways. For details, see doc/misc/ipv6.
|
||||
To reduce the impact of these problems, the server
|
||||
no longer listens for requests on IPv6 addresses
|
||||
by default. If you need to accept DNS queries over
|
||||
IPv6, you must specify "listen-on-v6 { any; };"
|
||||
in the named.conf options statement.
|
||||
|
||||
FreeBSD prior to 4.2 (and 4.2 if running as non-root)
|
||||
and OpenBSD prior to 2.8 log messages like
|
||||
"fcntl(8, F_SETFL, 4): Inappropriate ioctl for device".
|
||||
This is due to a bug in "/dev/random" and impacts the
|
||||
server's DNSSEC support.
|
||||
|
||||
OS X 10.1.4 (Darwin 5.4), OS X 10.1.5 (Darwin 5.5) and
|
||||
OS X 10.2 (Darwin 6.0) reports errors like
|
||||
"fcntl(3, F_SETFL, 4): Operation not supported by device".
|
||||
This is due to a bug in "/dev/random" and impacts the
|
||||
server's DNSSEC support.
|
||||
|
||||
--with-libtool does not work on AIX.
|
||||
|
||||
A bug in some versions of the Microsoft DNS server can cause zone
|
||||
transfers from a BIND 9 server to a W2K server to fail. For details,
|
||||
see the "Zone Transfers" section in doc/misc/migration.
|
||||
@@ -1,15 +0,0 @@
|
||||
dnssec-signzone was designed so that it could sign a zone partially, using
|
||||
only a subset of the DNSSEC keys needed to produce a fully-signed zone.
|
||||
This permits a zone administrator, for example, to sign a zone with one
|
||||
key on one machine, move the resulting partially-signed zone to a second
|
||||
machine, and sign it again with a second key.
|
||||
|
||||
An unfortunate side-effect of this flexibility is that dnssec-signzone
|
||||
does not check to make sure it's signing a zone with any valid keys at
|
||||
all. An attempt to sign a zone without any keys will appear to succeed,
|
||||
producing a "signed" zone with no signatures. There is no warning issued
|
||||
when a zone is not signed.
|
||||
|
||||
This will be corrected in a future release. In the meantime, ISC
|
||||
recommends examining the output of dnssec-signzone to confirm that
|
||||
the zone is properly signed by all keys before using it.
|
||||
18
Makefile.in
18
Makefile.in
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 1998-2002 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.52.48.2 2009/02/20 23:47:23 tbox Exp $
|
||||
# $Id: Makefile.in,v 1.58.8.4 2011/09/06 04:05:37 marka Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -21,13 +21,13 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_VERSION@
|
||||
|
||||
SUBDIRS = make lib bin doc
|
||||
SUBDIRS = make unit lib bin doc @LIBEXPORT@
|
||||
TARGETS =
|
||||
|
||||
MANPAGES = isc-config.sh.1
|
||||
|
||||
|
||||
HTMLPAGES = isc-config.sh.html
|
||||
|
||||
|
||||
MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
@@ -54,7 +54,8 @@ installdirs:
|
||||
|
||||
install:: isc-config.sh installdirs
|
||||
${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}
|
||||
${INSTALL_DATA} ${srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
|
||||
${INSTALL_DATA} ${top_srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
|
||||
${INSTALL_DATA} ${top_srcdir}/bind.keys ${DESTDIR}${sysconfdir}
|
||||
|
||||
tags:
|
||||
rm -f TAGS
|
||||
@@ -63,7 +64,10 @@ tags:
|
||||
check: test
|
||||
|
||||
test:
|
||||
(cd bin/tests && ${MAKE} ${MAKEDEFS} test)
|
||||
status=0; \
|
||||
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
|
||||
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
|
||||
exit $$status
|
||||
|
||||
FAQ: FAQ.xml
|
||||
${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
|
||||
|
||||
128
NSEC3-NOTES
128
NSEC3-NOTES
@@ -1,128 +0,0 @@
|
||||
|
||||
DNSSEC and UPDATE
|
||||
|
||||
Converting from insecure to secure
|
||||
|
||||
As of BIND 9.6.0 it is possible to move a zone between being insecure
|
||||
to secure and back again. A secure zone can be using NSEC or NSEC3.
|
||||
|
||||
To move a zone from insecure to secure you need to configure named
|
||||
so that it can see the K* files which contain the public and private
|
||||
parts of the keys that will be used to sign the zone. These files
|
||||
will have been generated by dnssec-keygen. You can do this by
|
||||
placing them in the key-directory as specified in named.conf.
|
||||
|
||||
zone example.net {
|
||||
type master;
|
||||
allow-update { .... };
|
||||
file "dynamic/example.net/example.net";
|
||||
key-directory "dynamic/example.net";
|
||||
};
|
||||
|
||||
Assuming one KSK and one ZSK DNSKEY key have been generated. Then
|
||||
this will cause the zone to be signed with the ZSK and the DNSKEY
|
||||
RRset to be signed with the KSK DNSKEY. A NSEC chain will also be
|
||||
generated as part of the initial signing process.
|
||||
|
||||
% nsupdate
|
||||
> ttl 3600
|
||||
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
|
||||
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
|
||||
> send
|
||||
|
||||
While the update request will complete almost immediately the zone
|
||||
will not be completely signed until named has had time to walk the
|
||||
zone and generate the NSEC and RRSIG records. Initially the NSEC
|
||||
record at the zone apex will have the OPT bit set. When the NSEC
|
||||
chain is complete the OPT bit will be cleared. Additionally when
|
||||
the zone is fully signed the private type (default TYPE65534) records
|
||||
will have a non zero value for the final octet.
|
||||
|
||||
The private type record has 5 octets.
|
||||
algorithm (octet 1)
|
||||
key id in network order (octet 2 and 3)
|
||||
removal flag (octet 4)
|
||||
complete flag (octet 5)
|
||||
|
||||
If you wish to go straight to a secure zone using NSEC3 you should
|
||||
also add a NSEC3PARAM record to the update request with the flags
|
||||
field set to indicate whether the NSEC3 chain will have the OPTOUT
|
||||
bit set or not.
|
||||
|
||||
% nsupdate
|
||||
> ttl 3600
|
||||
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
|
||||
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
|
||||
> update add example.net NSEC3PARAM 1 1 100 1234567890
|
||||
> send
|
||||
|
||||
Again the update request will complete almost immediately however the
|
||||
NSEC3PARAM record will have additional flag bits set indicating that the
|
||||
NSEC3 chain is under construction. When the NSEC3 chain is complete the
|
||||
flags field will be set to zero.
|
||||
|
||||
While the initial signing and NSEC/NSEC3 chain generation is happening
|
||||
other updates are possible.
|
||||
|
||||
DNSKEY roll overs via UPDATE
|
||||
|
||||
It is possible to perform key rollovers via update. You need to
|
||||
add the K* files for the new keys so that named can find them. You
|
||||
can then add the new DNSKEY RRs via update. Named will then cause
|
||||
the zone to be signed with the new keys. When the signing is
|
||||
complete the private type records will be updated so that the last
|
||||
octet is non zero.
|
||||
|
||||
If this is for a KSK you need to inform the parent and any trust
|
||||
anchor repositories of the new KSK.
|
||||
|
||||
You should then wait for the maximum TLL in the zone before removing the
|
||||
old DNSKEY. If it is a KSK that is being updated you also need to wait
|
||||
for the DS RRset in the parent to be updated and its TTL to expire.
|
||||
This ensures that all clients will be able to verify at least a signature
|
||||
when you remove the old DNSKEY.
|
||||
|
||||
The old DNSKEY can be removed via UPDATE. Take care to specify
|
||||
the correct key. Named will clean out any signatures generated by
|
||||
the old key after the update completes.
|
||||
|
||||
NSEC3PARAM rollovers via UPDATE.
|
||||
|
||||
Add the new NSEC3PARAM record via update. When the new NSEC3 chain
|
||||
has been generated the NSEC3PARAM flag field will be zero. At this
|
||||
point you can remove the old NSEC3PARAM record. The old chain will
|
||||
be removed after the update request completes.
|
||||
|
||||
Converting from NSEC to NSEC3
|
||||
|
||||
To do this you just need to add a NSEC3PARAM record. When the
|
||||
conversion is complete the NSEC chain will have been removed and
|
||||
the NSEC3PARAM record will have a zero flag field. The NSEC3 chain
|
||||
will be generated before the NSEC chain is destroyed.
|
||||
|
||||
Converting from NSEC3 to NSEC
|
||||
|
||||
To do this remove all NSEC3PARAM records with a zero flag field. The
|
||||
NSEC chain will be generated before the NSEC3 chain is removed.
|
||||
|
||||
Converting from secure to insecure
|
||||
|
||||
To do this remove all the DNSKEY records. Any NSEC or NSEC3 chains
|
||||
will be removed as well as associated NSEC3PARAM records. This will
|
||||
take place after the update requests completes.
|
||||
|
||||
Periodic re-signing.
|
||||
|
||||
Named will periodically re-sign RRsets which have not been re-signed
|
||||
as a result of some update action. The signature lifetimes will
|
||||
be adjusted so as to spread the re-sign load over time rather than
|
||||
all at once.
|
||||
|
||||
NSEC3 and OPTOUT
|
||||
|
||||
Named only supports creating new NSEC3 chains where all the NSEC3
|
||||
records in the zone have the same OPTOUT state. Named supports
|
||||
UPDATES to zones where the NSEC3 records in the chain have mixed
|
||||
OPTOUT state. Named does not support changing the OPTOUT state of
|
||||
an individual NSEC3 record, the entire chain needs to be changed if
|
||||
the OPTOUT state of an individual NSEC3 needs to be changed.
|
||||
544
README
544
README
@@ -42,368 +42,135 @@ BIND 9
|
||||
Stichting NLnet - NLnet Foundation
|
||||
Nominum, Inc.
|
||||
|
||||
BIND 9.6.3
|
||||
|
||||
BIND 9.6.3 is a maintenance release, fixing bugs in 9.6.2.
|
||||
|
||||
BIND 9.6.2
|
||||
|
||||
BIND 9.6.2 is a maintenance release, fixing bugs in 9.6.1.
|
||||
It also introduces support for the SHA-2 DNSSEC algorithms,
|
||||
RSASHA256 and RSASHA512.
|
||||
|
||||
Known issues in this release:
|
||||
|
||||
- A validating resolver that has been incorrectly configured with
|
||||
an invalid trust anchor will be unable to resolve names covered
|
||||
by that trust anchor. In all current versions of BIND 9, such a
|
||||
resolver will also generate significant unnecessary DNS traffic
|
||||
while trying to validate. The latter problem will be addressed
|
||||
in future BIND 9 releases. In the meantime, to avoid these
|
||||
problems, exercise caution when configuring "trusted-keys":
|
||||
make sure all keys are correct and current when you add them,
|
||||
and update your configuration in a timely manner when keys
|
||||
roll over.
|
||||
|
||||
BIND 9.6.1
|
||||
|
||||
BIND 9.6.1 is a maintenance release, fixing bugs in 9.6.0.
|
||||
|
||||
BIND 9.6.0
|
||||
|
||||
BIND 9.6.0 includes a number of changes from BIND 9.5 and earlier
|
||||
releases, including:
|
||||
|
||||
Full NSEC3 support
|
||||
|
||||
Automatic zone re-signing
|
||||
|
||||
New update-policy methods tcp-self and 6to4-self
|
||||
|
||||
The BIND 8 resolver library, libbind, has been removed from the
|
||||
BIND 9 distribution and is now available as a separate download.
|
||||
|
||||
Change the default pid file location from /var/run to
|
||||
/var/run/{named,lwresd} for improved chroot/setuid support.
|
||||
|
||||
BIND 9.5.0
|
||||
|
||||
BIND 9.5.0 has a number of new features over 9.4,
|
||||
including:
|
||||
|
||||
GSS-TSIG support (RFC 3645).
|
||||
|
||||
DHCID support.
|
||||
|
||||
Experimental http server and statistics support for named via xml.
|
||||
|
||||
More detailed statistics counters including those supported in BIND 8.
|
||||
|
||||
Faster ACL processing.
|
||||
|
||||
Use Doxygen to generate internal documentation.
|
||||
|
||||
Efficient LRU cache-cleaning mechanism.
|
||||
|
||||
NSID support.
|
||||
|
||||
BIND 9.4.0
|
||||
|
||||
BIND 9.4.0 has a number of new features over 9.3,
|
||||
including:
|
||||
|
||||
Implemented "additional section caching (or acache)", an
|
||||
internal cache framework for additional section content to
|
||||
improve response performance. Several configuration options
|
||||
were provided to control the behavior.
|
||||
|
||||
New notify type 'master-only'. Enable notify for master
|
||||
zones only.
|
||||
|
||||
Accept 'notify-source' style syntax for query-source.
|
||||
|
||||
rndc now allows addresses to be set in the server clauses.
|
||||
|
||||
New option "allow-query-cache". This lets "allow-query"
|
||||
be used to specify the default zone access level rather
|
||||
than having to have every zone override the global value.
|
||||
"allow-query-cache" can be set at both the options and view
|
||||
levels. If "allow-query-cache" is not set then "allow-recursion"
|
||||
is used if set, otherwise "allow-query" is used if set
|
||||
unless "recursion no;" is set in which case "none;" is used,
|
||||
otherwise the default (localhost; localnets;) is used.
|
||||
|
||||
rndc: the source address can now be specified.
|
||||
|
||||
ixfr-from-differences now takes master and slave in addition
|
||||
to yes and no at the options and view levels.
|
||||
|
||||
Allow the journal's name to be changed via named.conf.
|
||||
|
||||
'rndc notify zone [class [view]]' resend the NOTIFY messages
|
||||
for the specified zone.
|
||||
|
||||
'dig +trace' now randomly selects the next servers to try.
|
||||
Report if there is a bad delegation.
|
||||
|
||||
Improve check-names error messages.
|
||||
|
||||
Make public the function to read a key file, dst_key_read_public().
|
||||
|
||||
dig now returns the byte count for axfr/ixfr.
|
||||
|
||||
allow-update is now settable at the options / view level.
|
||||
|
||||
named-checkconf now checks the logging configuration.
|
||||
|
||||
host now can turn on memory debugging flags with '-m'.
|
||||
|
||||
Don't send notify messages to self.
|
||||
|
||||
Perform sanity checks on NS records which refer to 'in zone' names.
|
||||
|
||||
New zone option "notify-delay". Specify a minimum delay
|
||||
between sets of NOTIFY messages.
|
||||
|
||||
Extend adjusting TTL warning messages.
|
||||
|
||||
Named and named-checkzone can now both check for non-terminal
|
||||
wildcard records.
|
||||
|
||||
"rndc freeze/thaw" now freezes/thaws all zones.
|
||||
|
||||
named-checkconf now check acls to verify that they only
|
||||
refer to existing acls.
|
||||
|
||||
The server syntax has been extended to support a range of
|
||||
servers.
|
||||
|
||||
Report differences between hints and real NS rrset and
|
||||
associated address records.
|
||||
|
||||
Preserve the case of domain names in rdata during zone
|
||||
transfers.
|
||||
|
||||
Restructured the data locking framework using architecture
|
||||
dependent atomic operations (when available), improving
|
||||
response performance on multi-processor machines significantly.
|
||||
x86, x86_64, alpha, powerpc, and mips are currently supported.
|
||||
|
||||
UNIX domain controls are now supported.
|
||||
|
||||
Add support for additional zone file formats for improving
|
||||
loading performance. The masterfile-format option in
|
||||
named.conf can be used to specify a non-default format. A
|
||||
separate command named-compilezone was provided to generate
|
||||
zone files in the new format. Additionally, the -I and -O
|
||||
options for dnssec-signzone specify the input and output
|
||||
formats.
|
||||
|
||||
dnssec-signzone can now randomize signature end times
|
||||
(dnssec-signzone -j jitter).
|
||||
|
||||
Add support for CH A record.
|
||||
|
||||
Add additional zone data constancy checks. named-checkzone
|
||||
has extended checking of NS, MX and SRV record and the hosts
|
||||
they reference. named has extended post zone load checks.
|
||||
New zone options: check-mx and integrity-check.
|
||||
|
||||
|
||||
edns-udp-size can now be overridden on a per server basis.
|
||||
|
||||
dig can now specify the EDNS version when making a query.
|
||||
|
||||
Added framework for handling multiple EDNS versions.
|
||||
|
||||
Additional memory debugging support to track size and mctx
|
||||
arguments.
|
||||
|
||||
Detect duplicates of UDP queries we are recursing on and
|
||||
drop them. New stats category "duplicates".
|
||||
|
||||
"USE INTERNAL MALLOC" is now runtime selectable.
|
||||
|
||||
The lame cache is now done on a <qname,qclass,qtype> basis
|
||||
as some servers only appear to be lame for certain query
|
||||
types.
|
||||
|
||||
Limit the number of recursive clients that can be waiting
|
||||
for a single query (<qname,qtype,qclass>) to resolve. New
|
||||
options clients-per-query and max-clients-per-query.
|
||||
|
||||
dig: report the number of extra bytes still left in the
|
||||
packet after processing all the records.
|
||||
|
||||
Support for IPSECKEY rdata type.
|
||||
|
||||
Raise the UDP recieve buffer size to 32k if it is less than 32k.
|
||||
|
||||
x86 and x86_64 now have seperate atomic locking implementations.
|
||||
|
||||
named-checkconf now validates update-policy entries.
|
||||
|
||||
Attempt to make the amount of work performed in a iteration
|
||||
self tuning. The covers nodes clean from the cache per
|
||||
iteration, nodes written to disk when rewriting a master
|
||||
file and nodes destroyed per iteration when destroying a
|
||||
zone or a cache.
|
||||
|
||||
ISC string copy API.
|
||||
|
||||
Automatic empty zone creation for D.F.IP6.ARPA and friends.
|
||||
Note: RFC 1918 zones are not yet covered by this but are
|
||||
likely to be in a future release.
|
||||
|
||||
New options: empty-server, empty-contact, empty-zones-enable
|
||||
and disable-empty-zone.
|
||||
|
||||
dig now has a '-q queryname' and '+showsearch' options.
|
||||
|
||||
host/nslookup now continue (default)/fail on SERVFAIL.
|
||||
|
||||
dig now warns if 'RA' is not set in the answer when 'RD'
|
||||
was set in the query. host/nslookup skip servers that fail
|
||||
to set 'RA' when 'RD' is set unless a server is explicitly
|
||||
set.
|
||||
|
||||
Integrate contibuted DLZ code into named.
|
||||
|
||||
Integrate contibuted IDN code from JPNIC.
|
||||
|
||||
libbind: corresponds to that from BIND 8.4.7.
|
||||
|
||||
BIND 9.3.0
|
||||
|
||||
BIND 9.3.0 has a number of new features over 9.2,
|
||||
including:
|
||||
|
||||
DNSSEC is now DS based (RFC 3658).
|
||||
See also RFC 3845, doc/draft/draft-ietf-dnsext-dnssec-*.
|
||||
|
||||
DNSSEC lookaside validation.
|
||||
|
||||
check-names is now implemented.
|
||||
rrset-order in more complete.
|
||||
|
||||
IPv4/IPv6 transition support, dual-stack-servers.
|
||||
|
||||
IXFR deltas can now be generated when loading master files,
|
||||
ixfr-from-differences.
|
||||
|
||||
It is now possible to specify the size of a journal, max-journal-size.
|
||||
|
||||
It is now possible to define a named set of master servers to be
|
||||
used in masters clause, masters.
|
||||
|
||||
The advertised EDNS UDP size can now be set, edns-udp-size.
|
||||
|
||||
allow-v6-synthesis has been obsoleted.
|
||||
|
||||
NOTE:
|
||||
* Zones containing MD and MF will now be rejected.
|
||||
* dig, nslookup name. now report "Not Implemented" as
|
||||
NOTIMP rather than NOTIMPL. This will have impact on scripts
|
||||
that are looking for NOTIMPL.
|
||||
|
||||
libbind: corresponds to that from BIND 8.4.5.
|
||||
|
||||
BIND 9.2.0
|
||||
|
||||
BIND 9.2.0 has a number of new features over 9.1,
|
||||
including:
|
||||
|
||||
- The size of the cache can now be limited using the
|
||||
"max-cache-size" option.
|
||||
|
||||
- The server can now automatically convert RFC1886-style
|
||||
recursive lookup requests into RFC2874-style lookups,
|
||||
when enabled using the new option "allow-v6-synthesis".
|
||||
This allows stub resolvers that support AAAA records
|
||||
but not A6 record chains or binary labels to perform
|
||||
lookups in domains that make use of these IPv6 DNS
|
||||
features.
|
||||
|
||||
- Performance has been improved.
|
||||
|
||||
- The man pages now use the more portable "man" macros
|
||||
rather than the "mandoc" macros, and are installed
|
||||
by "make install".
|
||||
|
||||
- The named.conf parser has been completely rewritten.
|
||||
It now supports "include" directives in more
|
||||
places such as inside "view" statements, and it no
|
||||
longer has any reserved words.
|
||||
|
||||
- The "rndc status" command is now implemented.
|
||||
|
||||
- rndc can now be configured automatically.
|
||||
|
||||
- A BIND 8 compatible stub resolver library is now
|
||||
included in lib/bind.
|
||||
|
||||
- OpenSSL has been removed from the distribution. This
|
||||
means that to use DNSSEC, OpenSSL must be installed and
|
||||
the --with-openssl option must be supplied to configure.
|
||||
This does not apply to the use of TSIG, which does not
|
||||
require OpenSSL.
|
||||
|
||||
- The source distribution now builds on Windows.
|
||||
See win32utils/readme1.txt and win32utils/win32-build.txt
|
||||
for details.
|
||||
|
||||
This distribution also includes a new lightweight stub
|
||||
resolver library and associated resolver daemon that fully
|
||||
support forward and reverse lookups of both IPv4 and IPv6
|
||||
addresses. This library is considered experimental and
|
||||
is not a complete replacement for the BIND 8 resolver library.
|
||||
Applications that use the BIND 8 res_* functions to perform
|
||||
DNS lookups or dynamic updates still need to be linked against
|
||||
the BIND 8 libraries. For DNS lookups, they can also use the
|
||||
new "getrrsetbyname()" API.
|
||||
|
||||
BIND 9.2 is capable of acting as an authoritative server
|
||||
for DNSSEC secured zones. This functionality is believed to
|
||||
be stable and complete except for lacking support for
|
||||
verifications involving wildcard records in secure zones.
|
||||
|
||||
When acting as a caching server, BIND 9.2 can be configured
|
||||
to perform DNSSEC secure resolution on behalf of its clients.
|
||||
This part of the DNSSEC implementation is still considered
|
||||
experimental. For detailed information about the state of the
|
||||
DNSSEC implementation, see the file doc/misc/dnssec.
|
||||
|
||||
There are a few known bugs:
|
||||
|
||||
On some systems, IPv6 and IPv4 sockets interact in
|
||||
unexpected ways. For details, see doc/misc/ipv6.
|
||||
To reduce the impact of these problems, the server
|
||||
no longer listens for requests on IPv6 addresses
|
||||
by default. If you need to accept DNS queries over
|
||||
IPv6, you must specify "listen-on-v6 { any; };"
|
||||
in the named.conf options statement.
|
||||
|
||||
FreeBSD prior to 4.2 (and 4.2 if running as non-root)
|
||||
and OpenBSD prior to 2.8 log messages like
|
||||
"fcntl(8, F_SETFL, 4): Inappropriate ioctl for device".
|
||||
This is due to a bug in "/dev/random" and impacts the
|
||||
server's DNSSEC support.
|
||||
|
||||
OS X 10.1.4 (Darwin 5.4), OS X 10.1.5 (Darwin 5.5) and
|
||||
OS X 10.2 (Darwin 6.0) reports errors like
|
||||
"fcntl(3, F_SETFL, 4): Operation not supported by device".
|
||||
This is due to a bug in "/dev/random" and impacts the
|
||||
server's DNSSEC support.
|
||||
|
||||
--with-libtool does not work on AIX.
|
||||
|
||||
A bug in some versions of the Microsoft DNS server can cause zone
|
||||
transfers from a BIND 9 server to a W2K server to fail. For details,
|
||||
see the "Zone Transfers" section in doc/misc/migration.
|
||||
For a summary of functional enhancements in previous
|
||||
releases, see the HISTORY file.
|
||||
|
||||
For a detailed list of user-visible changes from
|
||||
previous releases, see the CHANGES file.
|
||||
|
||||
For up-to-date release notes and errata, see
|
||||
http://www.isc.org/software/bind9/releasenotes
|
||||
|
||||
BIND 9.7.6
|
||||
|
||||
BIND 9.7.6 is a maintenance release, fixing bugs in 9.7.5.
|
||||
|
||||
BIND 9.7.5
|
||||
|
||||
BIND 9.7.5 includes a number of bug fixes and prevents a security
|
||||
problem described in CVE-2011-4313
|
||||
|
||||
BIND 9.7.4
|
||||
|
||||
BIND 9.7.4 is a maintenance release, fixing bugs in 9.7.3.
|
||||
|
||||
BIND 9.7.3
|
||||
|
||||
BIND 9.7.3 is a maintenance release, fixing bugs in 9.7.2.
|
||||
|
||||
BIND 9.7.2
|
||||
|
||||
BIND 9.7.2 will address bugs in 9.7.1, and also introduces
|
||||
some new functionality:
|
||||
|
||||
- "rndc loadkeys" to allow new keys to be added to a managed
|
||||
zone without having them sign the content immediately.
|
||||
- "rndc addzone" and "rndc delzone" allow adding and deleting
|
||||
zones at runtime. This requires the view to have the
|
||||
"new-zone-file" option set to a filename. Zone configuration
|
||||
information for new zones is specified in the 'rndc addzone'
|
||||
command line, and is stored in that file. To make new
|
||||
zones persist after a restart, "include" the file
|
||||
into named.conf in the appropriate view. (Note:
|
||||
This feature is not yet documented, and its syntax
|
||||
is expected to change.)
|
||||
- "rndc secroots" dumps a list of the current trusted and
|
||||
managed DNSSEC keys for each view.
|
||||
- "filter-aaaa-on-v4" can now be applied selectively to
|
||||
some IPv4 clients but not others, using the "filter-aaaa"
|
||||
ACL. (This feature requires BIND 9 to be built with
|
||||
the --enable-filter-aaaa configure option.)
|
||||
|
||||
BIND 9.7.1
|
||||
|
||||
BIND 9.7.1 is a maintenance release, fixing bugs in 9.7.0.
|
||||
|
||||
BIND 9.7.0
|
||||
|
||||
BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier
|
||||
releases. Most are intended to simplify DNSSEC configuration.
|
||||
|
||||
New features include:
|
||||
|
||||
- Fully automatic signing of zones by "named".
|
||||
- Simplified configuration of DNSSEC Lookaside Validation (DLV).
|
||||
- Simplified configuration of Dynamic DNS, using the "ddns-confgen"
|
||||
command line tool or the "local" update-policy option. (As a side
|
||||
effect, this also makes it easier to configure automatic zone
|
||||
re-signing.)
|
||||
- New named option "attach-cache" that allows multiple views to
|
||||
share a single cache.
|
||||
- DNS rebinding attack prevention.
|
||||
- New default values for dnssec-keygen parameters.
|
||||
- Support for RFC 5011 automated trust anchor maintenance
|
||||
- Smart signing: simplified tools for zone signing and key
|
||||
maintenance.
|
||||
- The "statistics-channels" option is now available on Windows.
|
||||
- A new DNSSEC-aware libdns API for use by non-BIND9 applications
|
||||
- On some platforms, named and other binaries can now print out
|
||||
a stack backtrace on assertion failure, to aid in debugging.
|
||||
- A "tools only" installation mode on Windows, which only installs
|
||||
dig, host, nslookup and nsupdate.
|
||||
- Improved PKCS#11 support, including Keyper support and explicit
|
||||
OpenSSL engine selection.
|
||||
|
||||
Known issues in this release:
|
||||
|
||||
- A validating resolver that has been incorrectly configured with
|
||||
an invalid trust anchor will be unable to resolve names covered
|
||||
by that trust anchor. In all current versions of BIND 9, such a
|
||||
resolver will also generate significant unnecessary DNS traffic
|
||||
while trying to validate. The latter problem will be addressed
|
||||
in future BIND 9 releases. In the meantime, to avoid these
|
||||
problems, exercise caution when configuring "trusted-keys":
|
||||
make sure all keys are correct and current when you add them,
|
||||
and update your configuration in a timely manner when keys
|
||||
roll over.
|
||||
|
||||
- In rare cases, DNSSEC validation can leak memory. When this
|
||||
happens, it will cause an assertion failure when named exits,
|
||||
but is otherwise harmless. A fix exists, but was too late for
|
||||
this release; it will be included in BIND 9.7.1.
|
||||
|
||||
Compatibility notes:
|
||||
|
||||
- If you had built BIND 9.6 with any of ALLOW_NSEC3PARAM_UPDATE,
|
||||
ALLOW_SECURE_TO_INSECURE or ALLOW_INSECURE_TO_SECURE defined, then
|
||||
you should ensure that all changes that are in progress have
|
||||
completed prior to upgrading to BIND 9.7. BIND 9.7 implements
|
||||
those features in a way which is not backwards compatible.
|
||||
|
||||
- Prior releases had a bug which caused HMAC-SHA* keys with long
|
||||
secrets to be used incorrectly. Fixing this bug means that older
|
||||
versions of BIND 9 may fail to interoperate with this version
|
||||
when using TSIG keys. If this occurs, the new "isc-hmac-fixup"
|
||||
tool will convert a key with a long secret into a form that works
|
||||
correctly with all versions of BIND 9. See the "isc-hmac-fixup"
|
||||
man page for additional details.
|
||||
|
||||
- Revoking a DNSSEC key with "dnssec-revoke" changes its key ID.
|
||||
It is possible for the new key ID to collide with that of a
|
||||
different key. Newly generated keys will not have this problem,
|
||||
as "dnssec-keygen" looks for potential collisions before
|
||||
generating keys, but exercise caution if using key revokation
|
||||
with keys that were generated by older versions of BIND 9. See
|
||||
the Administrator's Reference Manual, section 4.10 ("Dynamic
|
||||
Trust Anchor Management") for more details.
|
||||
|
||||
- A bug was fixed in which a key's scheduled inactivity date was
|
||||
stored incorectly. Users who participated in the 9.7.0 BETA test
|
||||
and had DNSSEC keys with scheduled inactivity dates will need to
|
||||
reset those keys' dates using "dnssec-settime -I".
|
||||
|
||||
Building
|
||||
|
||||
@@ -417,15 +184,15 @@ Building
|
||||
FreeBSD 4.10, 5.2.1, 6.2
|
||||
HP-UX 11.11
|
||||
Mac OS X 10.5
|
||||
NetBSD 3.x and 4.0-beta
|
||||
NetBSD 3.x, 4.0-beta, 5.0-beta
|
||||
OpenBSD 3.3 and up
|
||||
Solaris 8, 9, 9 (x86), 10
|
||||
Ubuntu 7.04, 7.10
|
||||
Windows XP/2003/2008
|
||||
|
||||
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
|
||||
Windows, including Windows NT and Windows 2000, are no longer
|
||||
supported.
|
||||
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
|
||||
Windows, including Windows NT and Windows 2000, are no longer
|
||||
supported.
|
||||
|
||||
We have recent reports from the user community that a supported
|
||||
version of BIND will build and run on the following systems:
|
||||
@@ -525,10 +292,10 @@ Building
|
||||
on the configure command line. The default is operating
|
||||
system dependent.
|
||||
|
||||
Support for the "fixed" rrset-order option can be enabled
|
||||
or disabled by specifying "--enable-fixed-rrset" or
|
||||
"--disable-fixed-rrset" on the configure command line.
|
||||
The default is "disabled", to reduce memory footprint.
|
||||
Support for the "fixed" rrset-order option can be enabled
|
||||
or disabled by specifying "--enable-fixed-rrset" or
|
||||
"--disable-fixed-rrset" on the configure command line.
|
||||
The default is "disabled", to reduce memory footprint.
|
||||
|
||||
If your operating system has integrated support for IPv6, it
|
||||
will be used automatically. If you have installed KAME IPv6
|
||||
@@ -594,6 +361,51 @@ Documentation
|
||||
Frequently asked questions and their answers can be found in
|
||||
FAQ.
|
||||
|
||||
Additional information on various subjects can be found
|
||||
in the other README files.
|
||||
|
||||
|
||||
Change Log
|
||||
|
||||
A detailed list of all changes to BIND 9 is included in the
|
||||
file CHANGES, with the most recent changes listed first.
|
||||
Change notes include tags indicating the category of the
|
||||
change that was made; these categories are:
|
||||
|
||||
[func] New feature
|
||||
|
||||
[bug] General bug fix
|
||||
|
||||
[security] Fix for a significant security flaw
|
||||
|
||||
[experimental] Used for new features when the syntax
|
||||
or other aspects of the design are still
|
||||
in flux and may change
|
||||
|
||||
[port] Portability enhancement
|
||||
|
||||
[maint] Updates to built-in data such as root
|
||||
server addresses and keys
|
||||
|
||||
[tuning] Changes to built-in configuration defaults
|
||||
and constants to improve performanceo
|
||||
|
||||
[protocol] Updates to the DNS protocol such as new
|
||||
RR types
|
||||
|
||||
[test] Changes to the automatic tests, not
|
||||
affecting server functionality
|
||||
|
||||
[cleanup] Minor corrections and refactoring
|
||||
|
||||
[doc] Documentation
|
||||
|
||||
In general, [func] and [experimental] tags will only appear
|
||||
in new-feature releases (i.e., those with version numbers
|
||||
ending in zero). Some new functionality may be backported to
|
||||
older releases on a case-by-case basis. All other change
|
||||
types may be applied to all currently-supported releases.
|
||||
|
||||
|
||||
Bug Reports and Mailing Lists
|
||||
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
BIND-9 PKCS#11 support
|
||||
|
||||
Prerequisite
|
||||
|
||||
The PKCS#11 support needs a PKCS#11 OpenSSL engine based on the Solaris one,
|
||||
released the 2007-11-21 for OpenSSL 0.9.8g, with a bug fix (call to free)
|
||||
and some improvements, including user friendly PIN management.
|
||||
|
||||
Compilation
|
||||
|
||||
"configure --with-pkcs11 ..."
|
||||
|
||||
PKCS#11 Libraries
|
||||
|
||||
Tested with Solaris one with a SCA board and with openCryptoki with the
|
||||
software token.
|
||||
|
||||
OpenSSL Engines
|
||||
|
||||
With PKCS#11 support the PKCS#11 engine is statically loaded but at its
|
||||
initialization it dynamically loads the PKCS#11 objects.
|
||||
Even the pre commands are therefore unused they are defined with:
|
||||
SO_PATH:
|
||||
define: PKCS11_SO_PATH
|
||||
default: /usr/local/lib/engines/engine_pkcs11.so
|
||||
MODULE_PATH:
|
||||
define: PKCS11_MODULE_PATH
|
||||
default: /usr/lib/libpkcs11.so
|
||||
Without PKCS#11 support, a specific OpenSSL engine can be still used
|
||||
by defining ENGINE_ID at compile time.
|
||||
|
||||
PKCS#11 tools
|
||||
|
||||
The contrib/pkcs11-keygen directory contains a set of experimental tools
|
||||
to handle keys stored in a Hardware Security Module at the benefit of BIND.
|
||||
|
||||
The patch for OpenSSL 0.9.8g is in this directory. Read its README.pkcs11
|
||||
for the way to use it (these are the original notes so with the original
|
||||
path, etc. Define OPENCRYPTOKI to use it with openCryptoki.)
|
||||
|
||||
PIN management
|
||||
|
||||
With the just fixed PKCS#11 OpenSSL engine, the PIN should be entered
|
||||
each time it is required. With the improved engine, the PIN should be
|
||||
entered the first time it is required or can be configured in the
|
||||
OpenSSL configuration file (aka. openssl.cnf) by adding in it:
|
||||
- at the beginning:
|
||||
openssl_conf = openssl_def
|
||||
- at any place these sections:
|
||||
[ openssl_def ]
|
||||
engines = engine_section
|
||||
[ engine_section ]
|
||||
pkcs11 = pkcs11_section
|
||||
[ pkcs11_section ]
|
||||
PIN = put__your__pin__value__here
|
||||
|
||||
Note
|
||||
|
||||
Some names here are registered trademarks, at least Solaris is a trademark
|
||||
of Sun Microsystems Inc...
|
||||
@@ -1,165 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link rel="stylesheet" href="release-notes.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="article"><div class="titlepage"><hr /></div>
|
||||
|
||||
<div class="section" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3026830"></a>Introduction</h2></div></div></div>
|
||||
|
||||
<p>
|
||||
BIND 9.6.3 is the current release of BIND 9.6.
|
||||
</p>
|
||||
<p>
|
||||
This document summarizes changes from BIND 9.6.2-P2 to BIND 9.6.3.
|
||||
Please see the CHANGES file in the source code release for a
|
||||
complete list of all changes.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Download"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3893341"></a>Download</h2></div></div></div>
|
||||
|
||||
<p>
|
||||
The latest development version of BIND 9 software can always be found
|
||||
on our web site at
|
||||
<a class="ulink" href="http://www.isc.org/downloads/development" target="_top">http://www.isc.org/downloads/development</a>.
|
||||
There you will find additional information about each release,
|
||||
source code, and some pre-compiled versions for certain operating
|
||||
systems.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3026768"></a>Support</h2></div></div></div>
|
||||
|
||||
<p>Product support information is available on
|
||||
<a class="ulink" href="http://www.isc.org/services/support" target="_top">http://www.isc.org/services/support</a>
|
||||
for paid support options. Free support is provided by our user
|
||||
community via a mailing list. Information on all public email
|
||||
lists is available at
|
||||
<a class="ulink" href="https://lists.isc.org/mailman/listinfo" target="_top">https://lists.isc.org/mailman/listinfo</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="section" title="New Features"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3893404"></a>New Features</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.6.3"><div class="titlepage"><div><div><h3 class="title"><a id="id3893409"></a>9.6.3</h3></div></div></div>
|
||||
|
||||
<p>None.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Feature Changes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3893420"></a>Feature Changes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.6.3"><div class="titlepage"><div><div><h3 class="title"><a id="id3893425"></a>9.6.3</h3></div></div></div>
|
||||
|
||||
<p>None.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Security Fixes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3893436"></a>Security Fixes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.6.2-P3"><div class="titlepage"><div><div><h3 class="title"><a id="id3893441"></a>9.6.2-P3</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
Adding a NO DATA signed negative response to cache failed to clear
|
||||
any matching RRSIG records already in cache. A subsequent lookup
|
||||
of the cached NO DATA entry could crash named (INSIST) when the
|
||||
unexpected RRSIG was also returned with the NO DATA cache entry.
|
||||
[RT #22288] [CVE-2010-3613] [VU#706148]
|
||||
</li><li class="listitem">
|
||||
BIND, acting as a DNSSEC validator, was determining if the NS RRset
|
||||
is insecure based on a value that could mean either that the RRset
|
||||
is actually insecure or that there wasn't a matching key for the RRSIG
|
||||
in the DNSKEY RRset when resuming from validating the DNSKEY RRset.
|
||||
This can happen when in the middle of a DNSKEY algorithm rollover,
|
||||
when two different algorithms were used to sign a zone but only the
|
||||
new set of keys are in the zone DNSKEY RRset.
|
||||
[RT #22309] [CVE-2010-3614] [VU#837744]
|
||||
</li></ul></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Bug Fixes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3026756"></a>Bug Fixes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.6.3"><div class="titlepage"><div><div><h3 class="title"><a id="id3026817"></a>9.6.3</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
BIND now builds with threads disabled in versions of NetBSD earlier
|
||||
than 5.0 and with pthreads enabled by default in NetBSD versions 5.0
|
||||
and higher. Also removes support for unproven-pthreads, mit-pthreads
|
||||
and ptl2. [RT #19203]
|
||||
</li><li class="listitem">
|
||||
HPUX now correctly defaults to using /dev/poll, which should
|
||||
increase performance. [RT #21919]
|
||||
</li><li class="listitem">
|
||||
If named is running as a threaded application, after an "rndc stop"
|
||||
command has been issued, other inbound TCP requests can cause named
|
||||
to hang and never complete shutdown. [RT #22108]
|
||||
</li><li class="listitem">
|
||||
When performing a GSS-TSIG signed dynamic zone update, memory could be
|
||||
leaked. This causes an unclean shutdown and may affect long-running
|
||||
servers. [RT #22573]
|
||||
</li><li class="listitem">
|
||||
A bug in NetBSD and FreeBSD kernels with SO_ACCEPTFILTER enabled allows
|
||||
for a TCP DoS attack. Until there is a kernel fix, ISC is disabling
|
||||
SO_ACCEPTFILTER support in BIND. [RT #22589]
|
||||
</li><li class="listitem">
|
||||
Corrected a defect where a combination of dynamic updates and zone
|
||||
transfers incorrectly locked the in-memory zone database, causing
|
||||
named to freeze. [RT #22614]
|
||||
</li><li class="listitem">
|
||||
Don't run MX checks (check-mx) when the MX record points to ".".
|
||||
[RT #22645]
|
||||
</li><li class="listitem">
|
||||
DST key reference counts can now be incremented via dst_key_attach.
|
||||
[RT #22672]
|
||||
</li><li class="listitem">
|
||||
isc_mutex_init_errcheck() in phtreads/mutex.c failed to destroy attr. [RT #22766]
|
||||
</li><li class="listitem">
|
||||
The Kerberos realm was being truncated when being pulled from the
|
||||
the host prinicipal, make krb5-self updates fail. [RT #22770]
|
||||
</li><li class="listitem">
|
||||
named failed to preserve the case of domain names in RDATA which is not compressible when writing master files. [RT #22863]
|
||||
</li><li class="listitem">
|
||||
There was a bug in how the clients-per-query code worked with some
|
||||
query patterns. This could result, in rare circumstances, in having all
|
||||
the client query slots filled with queries for the same DNS label,
|
||||
essentially ignoring the max-clients-per-query setting.
|
||||
[RT #22972]
|
||||
</li></ul></div>
|
||||
</div>
|
||||
<div class="section" title="9.6.2-P3"><div class="titlepage"><div><div><h3 class="title"><a id="id3893557"></a>9.6.2-P3</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
Worked around a race condition in the cache database memory
|
||||
handling. Without this fix a DNS cache DB or ADB could
|
||||
incorrectly stay in an over memory state, effectively refusing
|
||||
further caching, which subsequently made a BIND 9 caching
|
||||
server unworkable.
|
||||
[RT #21818]
|
||||
</li><li class="listitem">
|
||||
Microsoft changed the behavior of sockets between NT/XP based
|
||||
stacks vs Vista/windows7 stacks. Server 2003/2008 have the older
|
||||
behavior, 2008r2 has the new behavior. With the change, different
|
||||
error results are possible, so ISC adapted BIND to handle the new
|
||||
error results.
|
||||
This resolves an issue where sockets would shut down on
|
||||
Windows servers causing named to stop responding to queries.
|
||||
[RT #21906]
|
||||
</li><li class="listitem">
|
||||
Windows has non-POSIX compliant behavior in its rename() and unlink()
|
||||
calls. This caused journal compaction to fail on Windows BIND servers
|
||||
with the log error: "dns_journal_compact failed: failure".
|
||||
[RT #22434]
|
||||
</li></ul></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Thank You"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3893594"></a>Thank You</h2></div></div></div>
|
||||
|
||||
<p>
|
||||
Thank you to everyone who assisted us in making this release possible.
|
||||
If you would like to contribute to ISC to assist us in continuing to make
|
||||
quality open source software, please visit our donations page at
|
||||
<a class="ulink" href="http://www.isc.org/supportisc" target="_top">http://www.isc.org/supportisc</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div></body></html>
|
||||
Binary file not shown.
@@ -1,118 +0,0 @@
|
||||
__________________________________________________________________
|
||||
|
||||
Introduction
|
||||
|
||||
BIND 9.6.3 is the current release of BIND 9.6.
|
||||
|
||||
This document summarizes changes from BIND 9.6.2-P2 to BIND 9.6.3.
|
||||
Please see the CHANGES file in the source code release for a complete
|
||||
list of all changes.
|
||||
|
||||
Download
|
||||
|
||||
The latest development version of BIND 9 software can always be found
|
||||
on our web site at http://www.isc.org/downloads/development. There you
|
||||
will find additional information about each release, source code, and
|
||||
some pre-compiled versions for certain operating systems.
|
||||
|
||||
Support
|
||||
|
||||
Product support information is available on
|
||||
http://www.isc.org/services/support for paid support options. Free
|
||||
support is provided by our user community via a mailing list.
|
||||
Information on all public email lists is available at
|
||||
https://lists.isc.org/mailman/listinfo.
|
||||
|
||||
New Features
|
||||
|
||||
9.6.3
|
||||
|
||||
None.
|
||||
|
||||
Feature Changes
|
||||
|
||||
9.6.3
|
||||
|
||||
None.
|
||||
|
||||
Security Fixes
|
||||
|
||||
9.6.2-P3
|
||||
|
||||
* Adding a NO DATA signed negative response to cache failed to clear
|
||||
any matching RRSIG records already in cache. A subsequent lookup of
|
||||
the cached NO DATA entry could crash named (INSIST) when the
|
||||
unexpected RRSIG was also returned with the NO DATA cache entry.
|
||||
[RT #22288] [CVE-2010-3613] [VU#706148]
|
||||
* BIND, acting as a DNSSEC validator, was determining if the NS RRset
|
||||
is insecure based on a value that could mean either that the RRset
|
||||
is actually insecure or that there wasn't a matching key for the
|
||||
RRSIG in the DNSKEY RRset when resuming from validating the DNSKEY
|
||||
RRset. This can happen when in the middle of a DNSKEY algorithm
|
||||
rollover, when two different algorithms were used to sign a zone
|
||||
but only the new set of keys are in the zone DNSKEY RRset. [RT
|
||||
#22309] [CVE-2010-3614] [VU#837744]
|
||||
|
||||
Bug Fixes
|
||||
|
||||
9.6.3
|
||||
|
||||
* BIND now builds with threads disabled in versions of NetBSD earlier
|
||||
than 5.0 and with pthreads enabled by default in NetBSD versions
|
||||
5.0 and higher. Also removes support for unproven-pthreads,
|
||||
mit-pthreads and ptl2. [RT #19203]
|
||||
* HPUX now correctly defaults to using /dev/poll, which should
|
||||
increase performance. [RT #21919]
|
||||
* If named is running as a threaded application, after an "rndc stop"
|
||||
command has been issued, other inbound TCP requests can cause named
|
||||
to hang and never complete shutdown. [RT #22108]
|
||||
* When performing a GSS-TSIG signed dynamic zone update, memory could
|
||||
be leaked. This causes an unclean shutdown and may affect
|
||||
long-running servers. [RT #22573]
|
||||
* A bug in NetBSD and FreeBSD kernels with SO_ACCEPTFILTER enabled
|
||||
allows for a TCP DoS attack. Until there is a kernel fix, ISC is
|
||||
disabling SO_ACCEPTFILTER support in BIND. [RT #22589]
|
||||
* Corrected a defect where a combination of dynamic updates and zone
|
||||
transfers incorrectly locked the in-memory zone database, causing
|
||||
named to freeze. [RT #22614]
|
||||
* Don't run MX checks (check-mx) when the MX record points to ".".
|
||||
[RT #22645]
|
||||
* DST key reference counts can now be incremented via dst_key_attach.
|
||||
[RT #22672]
|
||||
* isc_mutex_init_errcheck() in phtreads/mutex.c failed to destroy
|
||||
attr. [RT #22766]
|
||||
* The Kerberos realm was being truncated when being pulled from the
|
||||
the host prinicipal, make krb5-self updates fail. [RT #22770]
|
||||
* named failed to preserve the case of domain names in RDATA which is
|
||||
not compressible when writing master files. [RT #22863]
|
||||
* There was a bug in how the clients-per-query code worked with some
|
||||
query patterns. This could result, in rare circumstances, in having
|
||||
all the client query slots filled with queries for the same DNS
|
||||
label, essentially ignoring the max-clients-per-query setting. [RT
|
||||
#22972]
|
||||
|
||||
9.6.2-P3
|
||||
|
||||
* Worked around a race condition in the cache database memory
|
||||
handling. Without this fix a DNS cache DB or ADB could incorrectly
|
||||
stay in an over memory state, effectively refusing further caching,
|
||||
which subsequently made a BIND 9 caching server unworkable. [RT
|
||||
#21818]
|
||||
* Microsoft changed the behavior of sockets between NT/XP based
|
||||
stacks vs Vista/windows7 stacks. Server 2003/2008 have the older
|
||||
behavior, 2008r2 has the new behavior. With the change, different
|
||||
error results are possible, so ISC adapted BIND to handle the new
|
||||
error results. This resolves an issue where sockets would shut down
|
||||
on Windows servers causing named to stop responding to queries. [RT
|
||||
#21906]
|
||||
* Windows has non-POSIX compliant behavior in its rename() and
|
||||
unlink() calls. This caused journal compaction to fail on Windows
|
||||
BIND servers with the log error: "dns_journal_compact failed:
|
||||
failure". [RT #22434]
|
||||
|
||||
Thank You
|
||||
|
||||
Thank you to everyone who assisted us in making this release possible.
|
||||
If you would like to contribute to ISC to assist us in continuing to
|
||||
make quality open source software, please visit our donations page at
|
||||
http://www.isc.org/supportisc.
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: acconfig.h,v 1.51.334.2 2009/02/16 23:47:15 tbox Exp $ */
|
||||
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Makefile
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 1998-2001 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,13 +13,14 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.25 2007/06/19 23:46:59 tbox Exp $
|
||||
# $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 dnssec tests nsupdate check
|
||||
SUBDIRS = named rndc dig dnssec tests tools nsupdate \
|
||||
check confgen @PKCS11_TOOLS@
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
3
bin/check/.cvsignore → bin/check/.gitignore
vendored
3
bin/check/.cvsignore → bin/check/.gitignore
vendored
@@ -1,6 +1,3 @@
|
||||
Makefile
|
||||
.libs
|
||||
*.la
|
||||
*.lo
|
||||
named-checkconf
|
||||
named-checkzone
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.32 2007/06/19 23:46:59 tbox Exp $
|
||||
# $Id: Makefile.in,v 1.36 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -32,6 +32,7 @@ CWARNINGS =
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
|
||||
DNSDEPLIBS = ../../lib/dns/libdns.@A@
|
||||
@@ -39,7 +40,8 @@ ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
|
||||
|
||||
LIBS = @LIBS@
|
||||
LIBS = ${ISCLIBS} @LIBS@
|
||||
NOSYMLIBS = ${ISCNOSYMLIBS} @LIBS@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
@@ -69,14 +71,14 @@ named-checkzone.@O@: named-checkzone.c
|
||||
|
||||
named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
|
||||
${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
named-checkconf.@O@ check-tool.@O@ ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${DNSLIBS} ${ISCLIBS} ${LIBS}
|
||||
export BASEOBJS="named-checkconf.@O@ check-tool.@O@"; \
|
||||
export LIBS0="${BIND9LIBS} ${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
named-checkzone.@O@ check-tool.@O@ ${ISCCFGLIBS} ${DNSLIBS} \
|
||||
${ISCLIBS} ${LIBS}
|
||||
export BASEOBJS="named-checkzone.@O@ check-tool.@O@"; \
|
||||
export LIBS0="${ISCCFGLIBS} ${DNSLIBS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.c,v 1.35.36.5 2010/09/07 23:46:05 tbox Exp $ */
|
||||
/* $Id: check-tool.c,v 1.39.104.2 2010/09/07 23:46:37 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -601,8 +601,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
|
||||
isc_buffer_add(&buffer, strlen(zonename));
|
||||
dns_fixedname_init(&fixorigin);
|
||||
origin = dns_fixedname_name(&fixorigin);
|
||||
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname,
|
||||
ISC_FALSE, NULL));
|
||||
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
|
||||
CHECK(dns_zone_setorigin(zone, origin));
|
||||
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
|
||||
CHECK(dns_zone_setfile2(zone, filename, fileformat));
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: check-tool.h,v 1.14.334.2 2010/09/07 23:46:05 tbox Exp $ */
|
||||
/* $Id: check-tool.h,v 1.14.560.2 2010/09/07 23:46:37 tbox Exp $ */
|
||||
|
||||
#ifndef CHECK_TOOL_H
|
||||
#define CHECK_TOOL_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named-checkconf.8,v 1.30.334.1 2009/07/11 01:55:20 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -33,11 +33,29 @@
|
||||
named\-checkconf \- named configuration file syntax checking tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 16
|
||||
\fBnamed\-checkconf\fR [\fB\-h\fR] [\fB\-v\fR] [\fB\-j\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} [\fB\-z\fR]
|
||||
\fBnamed\-checkconf\fR [\fB\-h\fR] [\fB\-v\fR] [\fB\-j\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} [\fB\-p\fR] [\fB\-z\fR]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnamed\-checkconf\fR
|
||||
checks the syntax, but not the semantics, of a named configuration file.
|
||||
checks the syntax, but not the semantics, of a
|
||||
\fBnamed\fR
|
||||
configuration file. The file is parsed and checked for syntax errors, along with all files included by it. If no file is specified,
|
||||
\fI/etc/named.conf\fR
|
||||
is read by default.
|
||||
.PP
|
||||
Note: files that
|
||||
\fBnamed\fR
|
||||
reads in separate parser contexts, such as
|
||||
\fIrndc.key\fR
|
||||
and
|
||||
\fIbind.keys\fR, are not automatically read by
|
||||
\fBnamed\-checkconf\fR. Configuration errors in these files may cause
|
||||
\fBnamed\fR
|
||||
to fail to run, even if
|
||||
\fBnamed\-checkconf\fR
|
||||
was successful.
|
||||
\fBnamed\-checkconf\fR
|
||||
can be run on these files explicitly, however.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-h
|
||||
@@ -59,6 +77,13 @@ Print the version of the
|
||||
program and exit.
|
||||
.RE
|
||||
.PP
|
||||
\-p
|
||||
.RS 4
|
||||
Print out the
|
||||
\fInamed.conf\fR
|
||||
and included files in canonical form if no errors were detected.
|
||||
.RE
|
||||
.PP
|
||||
\-z
|
||||
.RS 4
|
||||
Perform a test load of all master zones found in
|
||||
@@ -88,7 +113,7 @@ BIND 9 Administrator Reference Manual.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2000\-2002 Internet Software Consortium.
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkconf.c,v 1.46.222.4 2010/09/07 23:46:05 tbox Exp $ */
|
||||
/* $Id: named-checkconf.c,v 1.51.4.5 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -59,9 +59,12 @@ isc_log_t *logc = NULL;
|
||||
} while (0)
|
||||
|
||||
/*% usage */
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "usage: %s [-h] [-j] [-v] [-z] [-t directory] "
|
||||
fprintf(stderr, "usage: %s [-h] [-j] [-p] [-v] [-z] [-t directory] "
|
||||
"[named.conf]\n", program);
|
||||
exit(1);
|
||||
}
|
||||
@@ -187,7 +190,7 @@ configure_zone(const char *vclass, const char *view,
|
||||
if (obj != NULL)
|
||||
maps[i++] = obj;
|
||||
}
|
||||
maps[i++] = NULL;
|
||||
maps[i] = NULL;
|
||||
|
||||
cfg_map_get(zoptions, "type", &typeobj);
|
||||
if (typeobj == NULL)
|
||||
@@ -202,6 +205,24 @@ configure_zone(const char *vclass, const char *view,
|
||||
return (ISC_R_FAILURE);
|
||||
zfile = cfg_obj_asstring(fileobj);
|
||||
|
||||
obj = NULL;
|
||||
if (get_maps(maps, "check-dup-records", &obj)) {
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
} else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKDUPRR;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
} else
|
||||
INSIST(0);
|
||||
} else {
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
}
|
||||
|
||||
obj = NULL;
|
||||
if (get_maps(maps, "check-mx", &obj)) {
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
@@ -387,6 +408,15 @@ load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx) {
|
||||
return (result);
|
||||
}
|
||||
|
||||
static void
|
||||
output(void *closure, const char *text, int textlen) {
|
||||
UNUSED(closure);
|
||||
if (fwrite(text, 1, textlen, stdout) != (size_t)textlen) {
|
||||
perror("fwrite");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/*% The main processing routine */
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
@@ -399,10 +429,11 @@ main(int argc, char **argv) {
|
||||
int exit_status = 0;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
isc_boolean_t load_zones = ISC_FALSE;
|
||||
isc_boolean_t print = ISC_FALSE;
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((c = isc_commandline_parse(argc, argv, "dhjt:vz")) != EOF) {
|
||||
while ((c = isc_commandline_parse(argc, argv, "dhjt:pvz")) != EOF) {
|
||||
switch (c) {
|
||||
case 'd':
|
||||
debug++;
|
||||
@@ -421,6 +452,10 @@ main(int argc, char **argv) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
print = ISC_TRUE;
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
printf(VERSION "\n");
|
||||
exit(0);
|
||||
@@ -485,6 +520,8 @@ main(int argc, char **argv) {
|
||||
exit_status = 1;
|
||||
}
|
||||
|
||||
if (print && exit_status == 0)
|
||||
cfg_print(config, output, NULL);
|
||||
cfg_obj_destroy(parser, &config);
|
||||
|
||||
cfg_parser_destroy(&parser);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: named-checkconf.docbook,v 1.19 2007/06/19 06:58:03 marka Exp $ -->
|
||||
<!-- $Id: named-checkconf.docbook,v 1.21.126.1 2009/12/28 23:21:44 each Exp $ -->
|
||||
<refentry id="man.named-checkconf">
|
||||
<refentryinfo>
|
||||
<date>June 14, 2000</date>
|
||||
@@ -35,6 +35,7 @@
|
||||
<year>2004</year>
|
||||
<year>2005</year>
|
||||
<year>2007</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -58,6 +59,7 @@
|
||||
<arg><option>-j</option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg choice="req">filename</arg>
|
||||
<arg><option>-p</option></arg>
|
||||
<arg><option>-z</option></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -65,8 +67,21 @@
|
||||
<refsect1>
|
||||
<title>DESCRIPTION</title>
|
||||
<para><command>named-checkconf</command>
|
||||
checks the syntax, but not the semantics, of a named
|
||||
configuration file.
|
||||
checks the syntax, but not the semantics, of a
|
||||
<command>named</command> configuration file. The file is parsed
|
||||
and checked for syntax errors, along with all files included by it.
|
||||
If no file is specified, <filename>/etc/named.conf</filename> is read
|
||||
by default.
|
||||
</para>
|
||||
<para>
|
||||
Note: files that <command>named</command> reads in separate
|
||||
parser contexts, such as <filename>rndc.key</filename> and
|
||||
<filename>bind.keys</filename>, are not automatically read
|
||||
by <command>named-checkconf</command>. Configuration
|
||||
errors in these files may cause <command>named</command> to
|
||||
fail to run, even if <command>named-checkconf</command> was
|
||||
successful. <command>named-checkconf</command> can be run
|
||||
on these files explicitly, however.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -87,8 +102,7 @@
|
||||
<term>-t <replaceable class="parameter">directory</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Chroot to <filename>directory</filename> so that
|
||||
include
|
||||
Chroot to <filename>directory</filename> so that include
|
||||
directives in the configuration file are processed as if
|
||||
run by a similarly chrooted named.
|
||||
</para>
|
||||
@@ -105,6 +119,16 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-p</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print out the <filename>named.conf</filename> and included files
|
||||
in canonical form if no errors were detected.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-z</term>
|
||||
<listitem>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named-checkconf.html,v 1.30.334.1 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,17 +29,30 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-p</code>] [<code class="option">-z</code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543387"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543396"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named-checkconf</strong></span>
|
||||
checks the syntax, but not the semantics, of a named
|
||||
configuration file.
|
||||
checks the syntax, but not the semantics, of a
|
||||
<span><strong class="command">named</strong></span> configuration file. The file is parsed
|
||||
and checked for syntax errors, along with all files included by it.
|
||||
If no file is specified, <code class="filename">/etc/named.conf</code> is read
|
||||
by default.
|
||||
</p>
|
||||
<p>
|
||||
Note: files that <span><strong class="command">named</strong></span> reads in separate
|
||||
parser contexts, such as <code class="filename">rndc.key</code> and
|
||||
<code class="filename">bind.keys</code>, are not automatically read
|
||||
by <span><strong class="command">named-checkconf</strong></span>. Configuration
|
||||
errors in these files may cause <span><strong class="command">named</strong></span> to
|
||||
fail to run, even if <span><strong class="command">named-checkconf</strong></span> was
|
||||
successful. <span><strong class="command">named-checkconf</strong></span> can be run
|
||||
on these files explicitly, however.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543399"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543445"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
@@ -47,8 +60,7 @@
|
||||
</p></dd>
|
||||
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
Chroot to <code class="filename">directory</code> so that
|
||||
include
|
||||
Chroot to <code class="filename">directory</code> so that include
|
||||
directives in the configuration file are processed as if
|
||||
run by a similarly chrooted named.
|
||||
</p></dd>
|
||||
@@ -57,6 +69,11 @@
|
||||
Print the version of the <span><strong class="command">named-checkconf</strong></span>
|
||||
program and exit.
|
||||
</p></dd>
|
||||
<dt><span class="term">-p</span></dt>
|
||||
<dd><p>
|
||||
Print out the <code class="filename">named.conf</code> and included files
|
||||
in canonical form if no errors were detected.
|
||||
</p></dd>
|
||||
<dt><span class="term">-z</span></dt>
|
||||
<dd><p>
|
||||
Perform a test load of all master zones found in
|
||||
@@ -74,21 +91,21 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543507"></a><h2>RETURN VALUES</h2>
|
||||
<a name="id2543569"></a><h2>RETURN VALUES</h2>
|
||||
<p><span><strong class="command">named-checkconf</strong></span>
|
||||
returns an exit status of 1 if
|
||||
errors were detected and 0 otherwise.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543518"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543580"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543548"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543610"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named-checkzone.8,v 1.42.334.3 2009/11/11 01:56:22 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -33,9 +33,9 @@
|
||||
named\-checkzone, named\-compilezone \- zone file validity checking or converting tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 16
|
||||
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
|
||||
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
|
||||
.HP 18
|
||||
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
|
||||
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBnamed\-checkzone\fR
|
||||
@@ -201,6 +201,15 @@ then write to standard out. This is mandatory for
|
||||
\fBnamed\-compilezone\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-r \fImode\fR
|
||||
.RS 4
|
||||
Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS. Possible modes are
|
||||
\fB"fail"\fR,
|
||||
\fB"warn"\fR
|
||||
(default) and
|
||||
\fB"ignore"\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIstyle\fR
|
||||
.RS 4
|
||||
Specify the style of the dumped zone file. Possible styles are
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named-checkzone.c,v 1.51.34.6 2010/09/07 23:46:06 tbox Exp $ */
|
||||
/* $Id: named-checkzone.c,v 1.59.4.4 2011/12/22 23:45:33 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -70,6 +70,9 @@ static enum { progmode_check, progmode_compile } progmode;
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr,
|
||||
@@ -77,12 +80,13 @@ usage(void) {
|
||||
"[-f inputformat] [-F outputformat] "
|
||||
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
|
||||
"[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
|
||||
"[-r (ignore|warn|fail)] "
|
||||
"[-i (full|full-sibling|local|local-sibling|none)] "
|
||||
"[-M (ignore|warn|fail)] [-S (ignore|warn|fail)] "
|
||||
"[-W (ignore|warn)] "
|
||||
"%s zonename filename\n",
|
||||
prog_name,
|
||||
progmode == progmode_check ? "[-o filename]" : "{-o filename}");
|
||||
progmode == progmode_check ? "[-o filename]" : "-o filename");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -108,6 +112,7 @@ main(int argc, char **argv) {
|
||||
const char *outputformatstr = NULL;
|
||||
dns_masterformat_t inputformat = dns_masterformat_text;
|
||||
dns_masterformat_t outputformat = dns_masterformat_text;
|
||||
isc_boolean_t logdump = ISC_FALSE;
|
||||
FILE *errout = stdout;
|
||||
|
||||
outputstyle = &dns_master_style_full;
|
||||
@@ -140,17 +145,19 @@ main(int argc, char **argv) {
|
||||
if (progmode == progmode_compile) {
|
||||
zone_options |= (DNS_ZONEOPT_CHECKNS |
|
||||
DNS_ZONEOPT_FATALNS |
|
||||
DNS_ZONEOPT_CHECKDUPRR |
|
||||
DNS_ZONEOPT_CHECKNAMES |
|
||||
DNS_ZONEOPT_CHECKNAMESFAIL |
|
||||
DNS_ZONEOPT_CHECKWILDCARD);
|
||||
}
|
||||
} else
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
|
||||
|
||||
#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((c = isc_commandline_parse(argc, argv,
|
||||
"c:df:hi:jk:m:n:qs:t:o:vw:DF:M:S:W:"))
|
||||
"c:df:hi:jk:m:n:qr:s:t:o:vw:DF:M:S:W:"))
|
||||
!= EOF) {
|
||||
switch (c) {
|
||||
case 'c':
|
||||
@@ -262,16 +269,27 @@ main(int argc, char **argv) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
output_filename = isc_commandline_argument;
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
quiet++;
|
||||
break;
|
||||
|
||||
case 't':
|
||||
result = isc_dir_chroot(isc_commandline_argument);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fprintf(stderr, "isc_dir_chroot: %s: %s\n",
|
||||
isc_commandline_argument,
|
||||
isc_result_totext(result));
|
||||
case 'r':
|
||||
if (ARGCMP("warn")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
|
||||
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
} else if (ARGCMP("fail")) {
|
||||
zone_options |= DNS_ZONEOPT_CHECKDUPRR |
|
||||
DNS_ZONEOPT_CHECKDUPRRFAIL;
|
||||
} else if (ARGCMP("ignore")) {
|
||||
zone_options &= ~(DNS_ZONEOPT_CHECKDUPRR |
|
||||
DNS_ZONEOPT_CHECKDUPRRFAIL);
|
||||
} else {
|
||||
fprintf(stderr, "invalid argument to -r: %s\n",
|
||||
isc_commandline_argument);
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
@@ -289,8 +307,14 @@ main(int argc, char **argv) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
output_filename = isc_commandline_argument;
|
||||
case 't':
|
||||
result = isc_dir_chroot(isc_commandline_argument);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fprintf(stderr, "isc_dir_chroot: %s: %s\n",
|
||||
isc_commandline_argument,
|
||||
isc_result_totext(result));
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
@@ -395,6 +419,7 @@ main(int argc, char **argv) {
|
||||
|
||||
if (progmode == progmode_compile) {
|
||||
dumpzone = 1; /* always dump */
|
||||
logdump = !quiet;
|
||||
if (output_filename == NULL) {
|
||||
fprintf(stderr,
|
||||
"output file required, but not specified\n");
|
||||
@@ -413,8 +438,10 @@ main(int argc, char **argv) {
|
||||
(output_filename == NULL ||
|
||||
strcmp(output_filename, "-") == 0 ||
|
||||
strcmp(output_filename, "/dev/fd/1") == 0 ||
|
||||
strcmp(output_filename, "/dev/stdout") == 0))
|
||||
strcmp(output_filename, "/dev/stdout") == 0)) {
|
||||
errout = stderr;
|
||||
logdump = ISC_FALSE;
|
||||
}
|
||||
|
||||
if (isc_commandline_index + 2 != argc)
|
||||
usage();
|
||||
@@ -439,13 +466,13 @@ main(int argc, char **argv) {
|
||||
&zone);
|
||||
|
||||
if (result == ISC_R_SUCCESS && dumpzone) {
|
||||
if (!quiet && progmode == progmode_compile) {
|
||||
if (logdump) {
|
||||
fprintf(errout, "dump zone to %s...", output_filename);
|
||||
fflush(errout);
|
||||
}
|
||||
result = dump_zone(origin, zone, output_filename,
|
||||
outputformat, outputstyle);
|
||||
if (!quiet && progmode == progmode_compile)
|
||||
if (logdump)
|
||||
fprintf(errout, "done\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: named-checkzone.docbook,v 1.34.334.3 2009/11/10 20:01:41 each Exp $ -->
|
||||
<!-- $Id: named-checkzone.docbook,v 1.38 2009/12/04 21:09:32 marka Exp $ -->
|
||||
<refentry id="man.named-checkzone">
|
||||
<refentryinfo>
|
||||
<date>June 13, 2000</date>
|
||||
@@ -69,6 +69,7 @@
|
||||
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
|
||||
<arg><option>-S <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
@@ -93,6 +94,7 @@
|
||||
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
|
||||
<arg><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
|
||||
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
@@ -319,6 +321,19 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-r <replaceable class="parameter">mode</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Check for records that are treated as different by DNSSEC but
|
||||
are semantically equal in plain DNS.
|
||||
Possible modes are <command>"fail"</command>,
|
||||
<command>"warn"</command> (default) and
|
||||
<command>"ignore"</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s <replaceable class="parameter">style</replaceable></term>
|
||||
<listitem>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named-checkzone.html,v 1.42.334.3 2009/11/11 01:56:22 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,11 +29,11 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543674"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543692"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
checks the syntax and integrity of a zone file. It performs the
|
||||
same checks as <span><strong class="command">named</strong></span> does when loading a
|
||||
@@ -53,7 +53,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543709"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543728"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-d</span></dt>
|
||||
<dd><p>
|
||||
@@ -177,6 +177,14 @@
|
||||
write to standard out.
|
||||
This is mandatory for <span><strong class="command">named-compilezone</strong></span>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-r <em class="replaceable"><code>mode</code></em></span></dt>
|
||||
<dd><p>
|
||||
Check for records that are treated as different by DNSSEC but
|
||||
are semantically equal in plain DNS.
|
||||
Possible modes are <span><strong class="command">"fail"</strong></span>,
|
||||
<span><strong class="command">"warn"</strong></span> (default) and
|
||||
<span><strong class="command">"ignore"</strong></span>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>style</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specify the style of the dumped zone file.
|
||||
@@ -239,14 +247,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544330"></a><h2>RETURN VALUES</h2>
|
||||
<a name="id2544443"></a><h2>RETURN VALUES</h2>
|
||||
<p><span><strong class="command">named-checkzone</strong></span>
|
||||
returns an exit status of 1 if
|
||||
errors were detected and 0 otherwise.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544342"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544455"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -254,7 +262,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544375"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544488"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -43,7 +43,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
@@ -70,7 +70,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
@@ -66,7 +66,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
|
||||
@@ -138,7 +138,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckconf.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckconf.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\namedcheckconf.bsc"
|
||||
BSC32_SBRS= \
|
||||
@@ -203,7 +203,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" /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)\namedcheckconf.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /YX /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
@@ -67,7 +67,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
|
||||
@@ -130,7 +130,7 @@ CLEAN :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /Fp"$(INTDIR)\namedcheckzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /Fp"$(INTDIR)\namedcheckzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
@@ -221,7 +221,7 @@ CLEAN :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
|
||||
2
bin/confgen/.gitignore
vendored
Normal file
2
bin/confgen/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ddns-confgen
|
||||
rndc-confgen
|
||||
101
bin/confgen/Makefile.in
Normal file
101
bin/confgen/Makefile.in
Normal file
@@ -0,0 +1,101 @@
|
||||
# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.8 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_VERSION@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include ${ISC_INCLUDES} ${ISCCC_INCLUDES} \
|
||||
${ISCCFG_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES}
|
||||
|
||||
CDEFINES =
|
||||
CWARNINGS =
|
||||
|
||||
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
|
||||
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
ISCCCDEPLIBS = ../../lib/isccc/libisccc.@A@
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
DNSDEPLIBS = ../../lib/dns/libdns.@A@
|
||||
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
|
||||
|
||||
RNDCLIBS = ${ISCCFGLIBS} ${ISCCCLIBS} ${BIND9LIBS} ${DNSLIBS} ${ISCLIBS} @LIBS@
|
||||
RNDCDEPLIBS = ${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${BIND9DEPLIBS} ${DNSDEPLIBS} ${ISCDEPLIBS}
|
||||
|
||||
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
|
||||
|
||||
NOSYMLIBS = ${DNSLIBS} ${ISCNOSYMLIBS} @LIBS@
|
||||
|
||||
CONFDEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
|
||||
|
||||
SRCS= rndc-confgen.c ddns-confgen.c
|
||||
|
||||
SUBDIRS = unix
|
||||
|
||||
TARGETS = rndc-confgen@EXEEXT@ ddns-confgen@EXEEXT@
|
||||
|
||||
MANPAGES = rndc-confgen.8 ddns-confgen.8
|
||||
|
||||
HTMLPAGES = rndc-confgen.html ddns-confgen.html
|
||||
|
||||
MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
UOBJS = unix/os.@O@
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
rndc-confgen.@O@: rndc-confgen.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
|
||||
-DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\" \
|
||||
-c ${srcdir}/rndc-confgen.c
|
||||
|
||||
ddns-confgen.@O@: ddns-confgen.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c
|
||||
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
docclean manclean maintainer-clean::
|
||||
rm -f ${MANOBJS}
|
||||
|
||||
installdirs:
|
||||
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
|
||||
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
|
||||
|
||||
install:: rndc-confgen@EXEEXT@ ddns-confgen@EXEEXT@ installdirs
|
||||
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} rndc-confgen@EXEEXT@ ${DESTDIR}${sbindir}
|
||||
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} ddns-confgen@EXEEXT@ ${DESTDIR}${sbindir}
|
||||
${INSTALL_DATA} ${srcdir}/rndc-confgen.8 ${DESTDIR}${mandir}/man8
|
||||
${INSTALL_DATA} ${srcdir}/ddns-confgen.8 ${DESTDIR}${mandir}/man8
|
||||
|
||||
clean distclean maintainer-clean::
|
||||
rm -f ${TARGETS}
|
||||
143
bin/confgen/ddns-confgen.8
Normal file
143
bin/confgen/ddns-confgen.8
Normal file
@@ -0,0 +1,143 @@
|
||||
.\" Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: ddns\-confgen
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: Jan 29, 2009
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DDNS\-CONFGEN" "8" "Jan 29, 2009" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.SH "NAME"
|
||||
ddns\-confgen \- ddns key generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 13
|
||||
\fBddns\-confgen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\-s\ \fIname\fR | \-z\ \fIzone\fR] [\fB\-q\fR] [name]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBddns\-confgen\fR
|
||||
generates a key for use by
|
||||
\fBnsupdate\fR
|
||||
and
|
||||
\fBnamed\fR. It simplifies configuration of dynamic zones by generating a key and providing the
|
||||
\fBnsupdate\fR
|
||||
and
|
||||
\fBnamed.conf\fR
|
||||
syntax that will be needed to use it, including an example
|
||||
\fBupdate\-policy\fR
|
||||
statement.
|
||||
.PP
|
||||
If a domain name is specified on the command line, it will be used in the name of the generated key and in the sample
|
||||
\fBnamed.conf\fR
|
||||
syntax. For example,
|
||||
\fBddns\-confgen example.com\fR
|
||||
would generate a key called "ddns\-key.example.com", and sample
|
||||
\fBnamed.conf\fR
|
||||
command that could be used in the zone definition for "example.com".
|
||||
.PP
|
||||
Note that
|
||||
\fBnamed\fR
|
||||
itself can configure a local DDNS key for use with
|
||||
\fBnsupdate \-l\fR.
|
||||
\fBddns\-confgen\fR
|
||||
is only needed when a more elaborate configuration is required: for instance, if
|
||||
\fBnsupdate\fR
|
||||
is to be used from a remote system.
|
||||
.SH "OPTIONS"
|
||||
.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.
|
||||
.RE
|
||||
.PP
|
||||
\-h
|
||||
.RS 4
|
||||
Prints a short summary of the options and arguments to
|
||||
\fBddns\-confgen\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-k \fIkeyname\fR
|
||||
.RS 4
|
||||
Specifies the key name of the DDNS authentication key. The default is
|
||||
\fBddns\-key\fR
|
||||
when neither the
|
||||
\fB\-s\fR
|
||||
nor
|
||||
\fB\-z\fR
|
||||
option is specified; otherwise, the default is
|
||||
\fBddns\-key\fR
|
||||
as a separate label followed by the argument of the option, e.g.,
|
||||
\fBddns\-key.example.com.\fR
|
||||
The key name must have the format of a valid domain name, consisting of letters, digits, hyphens and periods.
|
||||
.RE
|
||||
.PP
|
||||
\-q
|
||||
.RS 4
|
||||
Quiet mode: Print only the key, with no explanatory text or usage examples.
|
||||
.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
|
||||
\fI/dev/random\fR
|
||||
or equivalent device, the default source of randomness is keyboard input.
|
||||
\fIrandomdev\fR
|
||||
specifies the name of a character device or file containing random data to be used instead of the default. The special value
|
||||
\fIkeyboard\fR
|
||||
indicates that keyboard input should be used.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIname\fR
|
||||
.RS 4
|
||||
Single host mode: The example
|
||||
\fBnamed.conf\fR
|
||||
text shows how to set an update policy for the specified
|
||||
\fIname\fR
|
||||
using the "name" nametype. The default key name is ddns\-key.\fIname\fR. Note that the "self" nametype cannot be used, since the name to be updated may differ from the key name. This option cannot be used with the
|
||||
\fB\-z\fR
|
||||
option.
|
||||
.RE
|
||||
.PP
|
||||
\-z \fIzone\fR
|
||||
.RS 4
|
||||
zone mode: The example
|
||||
\fBnamed.conf\fR
|
||||
text shows how to set an update policy for the specified
|
||||
\fIzone\fR
|
||||
using the "zonesub" nametype, allowing updates to all subdomain names within that
|
||||
\fIzone\fR. This option cannot be used with the
|
||||
\fB\-s\fR
|
||||
option.
|
||||
.RE
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBnsupdate\fR(1),
|
||||
\fBnamed.conf\fR(5),
|
||||
\fBnamed\fR(8),
|
||||
BIND 9 Administrator Reference Manual.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
258
bin/confgen/ddns-confgen.c
Normal file
258
bin/confgen/ddns-confgen.c
Normal file
@@ -0,0 +1,258 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: ddns-confgen.c,v 1.9.66.2 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/**
|
||||
* ddns-confgen generates configuration files for dynamic DNS. It can
|
||||
* be used as a convenient alternative to writing the ddns.key file
|
||||
* and the corresponding key and update-policy statements in named.conf.
|
||||
*/
|
||||
|
||||
#include <config.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>
|
||||
#include <isc/net.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/time.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <dns/keyvalues.h>
|
||||
#include <dns/name.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
#include <confgen/os.h>
|
||||
|
||||
#include "util.h"
|
||||
#include "keygen.h"
|
||||
|
||||
#define DEFAULT_KEYNAME "ddns-key"
|
||||
|
||||
static char program[256];
|
||||
const char *progname;
|
||||
|
||||
isc_boolean_t verbose = ISC_FALSE;
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(int status) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(int status) {
|
||||
|
||||
fprintf(stderr, "\
|
||||
Usage:\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",
|
||||
progname);
|
||||
|
||||
exit (status);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
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;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
const char *randomfile = NULL;
|
||||
const char *keyname = NULL;
|
||||
const char *zone = NULL;
|
||||
const char *self_domain = NULL;
|
||||
char *keybuf = NULL;
|
||||
dns_secalg_t alg = DST_ALG_HMACSHA256;
|
||||
const char *algname = alg_totext(alg);
|
||||
int keysize = 256;
|
||||
int len = 0;
|
||||
int ch;
|
||||
|
||||
result = isc_file_progname(*argv, program, sizeof(program));
|
||||
if (result != ISC_R_SUCCESS)
|
||||
memcpy(program, "ddns-confgen", 13);
|
||||
progname = program;
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"a:hk:Mmr:qs:Vy:z:")) != -1) {
|
||||
switch (ch) {
|
||||
case 'a':
|
||||
algname = isc_commandline_argument;
|
||||
alg = alg_fromtext(algname);
|
||||
if (alg == DST_ALG_UNKNOWN)
|
||||
fatal("Unsupported algorithm '%s'", algname);
|
||||
keysize = alg_bits(alg);
|
||||
break;
|
||||
case 'h':
|
||||
usage(0);
|
||||
case 'k':
|
||||
case 'y':
|
||||
keyname = isc_commandline_argument;
|
||||
break;
|
||||
case 'M':
|
||||
isc_mem_debugging = ISC_MEM_DEBUGTRACE;
|
||||
break;
|
||||
case 'm':
|
||||
show_final_mem = ISC_TRUE;
|
||||
break;
|
||||
case 'q':
|
||||
quiet = ISC_TRUE;
|
||||
break;
|
||||
case 'r':
|
||||
randomfile = isc_commandline_argument;
|
||||
break;
|
||||
case 's':
|
||||
self_domain = isc_commandline_argument;
|
||||
break;
|
||||
case 'V':
|
||||
verbose = ISC_TRUE;
|
||||
break;
|
||||
case 'z':
|
||||
zone = isc_commandline_argument;
|
||||
break;
|
||||
case '?':
|
||||
if (isc_commandline_option != '?') {
|
||||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
usage(1);
|
||||
} else
|
||||
usage(0);
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "%s: unhandled option -%c\n",
|
||||
program, isc_commandline_option);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
argc -= isc_commandline_index;
|
||||
argv += isc_commandline_index;
|
||||
POST(argv);
|
||||
|
||||
if (self_domain != NULL && zone != NULL)
|
||||
usage(1); /* -s and -z cannot coexist */
|
||||
|
||||
if (argc > 0)
|
||||
usage(1);
|
||||
|
||||
DO("create memory context", isc_mem_create(0, 0, &mctx));
|
||||
|
||||
if (keyname == NULL) {
|
||||
const char *suffix = NULL;
|
||||
|
||||
keyname = DEFAULT_KEYNAME;
|
||||
if (self_domain != NULL)
|
||||
suffix = self_domain;
|
||||
else if (zone != NULL)
|
||||
suffix = zone;
|
||||
if (suffix != NULL) {
|
||||
len = strlen(keyname) + strlen(suffix) + 2;
|
||||
keybuf = isc_mem_get(mctx, len);
|
||||
if (keybuf == NULL)
|
||||
fatal("failed to allocate memory for keyname");
|
||||
snprintf(keybuf, len, "%s.%s", keyname, suffix);
|
||||
keyname = (const char *) keybuf;
|
||||
}
|
||||
}
|
||||
|
||||
isc_buffer_init(&key_txtbuffer, &key_txtsecret, sizeof(key_txtsecret));
|
||||
|
||||
generate_key(mctx, randomfile, alg, keysize, &key_txtbuffer);
|
||||
|
||||
|
||||
if (!quiet)
|
||||
printf("\
|
||||
# To activate this key, place the following in named.conf, and\n\
|
||||
# in a separate keyfile on the system or systems from which nsupdate\n\
|
||||
# will be run:\n");
|
||||
|
||||
printf("\
|
||||
key \"%s\" {\n\
|
||||
algorithm %s;\n\
|
||||
secret \"%.*s\";\n\
|
||||
};\n",
|
||||
keyname, algname,
|
||||
(int)isc_buffer_usedlength(&key_txtbuffer),
|
||||
(char *)isc_buffer_base(&key_txtbuffer));
|
||||
|
||||
if (!quiet) {
|
||||
if (self_domain != NULL) {
|
||||
printf("\n\
|
||||
# Then, in the \"zone\" statement for the zone containing the\n\
|
||||
# name \"%s\", place an \"update-policy\" statement\n\
|
||||
# like this one, adjusted as needed for your preferred permissions:\n\
|
||||
update-policy {\n\
|
||||
grant %s name %s ANY;\n\
|
||||
};\n",
|
||||
self_domain, keyname, self_domain);
|
||||
} else if (zone != NULL) {
|
||||
printf("\n\
|
||||
# Then, in the \"zone\" definition statement for \"%s\",\n\
|
||||
# place an \"update-policy\" statement like this one, adjusted as \n\
|
||||
# needed for your preferred permissions:\n\
|
||||
update-policy {\n\
|
||||
grant %s zonesub ANY;\n\
|
||||
};\n",
|
||||
zone, keyname);
|
||||
} else {
|
||||
printf("\n\
|
||||
# Then, in the \"zone\" statement for each zone you wish to dynamically\n\
|
||||
# update, place an \"update-policy\" statement granting update permission\n\
|
||||
# to this key. For example, the following statement grants this key\n\
|
||||
# permission to update any name within the zone:\n\
|
||||
update-policy {\n\
|
||||
grant %s zonesub ANY;\n\
|
||||
};\n",
|
||||
keyname);
|
||||
}
|
||||
|
||||
printf("\n\
|
||||
# After the keyfile has been placed, the following command will\n\
|
||||
# execute nsupdate using this key:\n\
|
||||
nsupdate -k <keyfile>\n");
|
||||
|
||||
}
|
||||
|
||||
if (keybuf != NULL)
|
||||
isc_mem_put(mctx, keybuf, len);
|
||||
|
||||
if (show_final_mem)
|
||||
isc_mem_stats(mctx, stderr);
|
||||
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
return (0);
|
||||
}
|
||||
218
bin/confgen/ddns-confgen.docbook
Normal file
218
bin/confgen/ddns-confgen.docbook
Normal file
@@ -0,0 +1,218 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: ddns-confgen.docbook,v 1.6 2009/09/18 22:08:55 fdupont Exp $ -->
|
||||
<refentry id="man.ddns-confgen">
|
||||
<refentryinfo>
|
||||
<date>Jan 29, 2009</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle><application>ddns-confgen</application></refentrytitle>
|
||||
<manvolnum>8</manvolnum>
|
||||
<refmiscinfo>BIND9</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname><application>ddns-confgen</application></refname>
|
||||
<refpurpose>ddns key generation tool</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ddns-confgen</command>
|
||||
<arg><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
|
||||
<arg><option>-h</option></arg>
|
||||
<arg><option>-k <replaceable class="parameter">keyname</replaceable></option></arg>
|
||||
<arg><option>-r <replaceable class="parameter">randomfile</replaceable></option></arg>
|
||||
<group>
|
||||
<arg choice="plain">-s <replaceable class="parameter">name</replaceable></arg>
|
||||
<arg choice="plain">-z <replaceable class="parameter">zone</replaceable></arg>
|
||||
</group>
|
||||
<arg><option>-q</option></arg>
|
||||
<arg choice="opt">name</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>DESCRIPTION</title>
|
||||
<para><command>ddns-confgen</command>
|
||||
generates a key for use by <command>nsupdate</command>
|
||||
and <command>named</command>. It simplifies configuration
|
||||
of dynamic zones by generating a key and providing the
|
||||
<command>nsupdate</command> and <command>named.conf</command>
|
||||
syntax that will be needed to use it, including an example
|
||||
<command>update-policy</command> statement.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a domain name is specified on the command line, it will
|
||||
be used in the name of the generated key and in the sample
|
||||
<command>named.conf</command> syntax. For example,
|
||||
<command>ddns-confgen example.com</command> would
|
||||
generate a key called "ddns-key.example.com", and sample
|
||||
<command>named.conf</command> command that could be used
|
||||
in the zone definition for "example.com".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Note that <command>named</command> itself can configure a
|
||||
local DDNS key for use with <command>nsupdate -l</command>.
|
||||
<command>ddns-confgen</command> is only needed when a
|
||||
more elaborate configuration is required: for instance, if
|
||||
<command>nsupdate</command> is to be used from a remote system.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>OPTIONS</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-a <replaceable class="parameter">algorithm</replaceable></term>
|
||||
<listitem>
|
||||
<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.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-h</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Prints a short summary of the options and arguments to
|
||||
<command>ddns-confgen</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-k <replaceable class="parameter">keyname</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the key name of the DDNS authentication key.
|
||||
The default is <constant>ddns-key</constant> when neither
|
||||
the <option>-s</option> nor <option>-z</option> option is
|
||||
specified; otherwise, the default
|
||||
is <constant>ddns-key</constant> as a separate label
|
||||
followed by the argument of the option, e.g.,
|
||||
<constant>ddns-key.example.com.</constant>
|
||||
The key name must have the format of a valid domain name,
|
||||
consisting of letters, digits, hyphens and periods.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-q</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Quiet mode: Print only the key, with no explanatory text or
|
||||
usage examples.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
Single host mode: The example <command>named.conf</command> text
|
||||
shows how to set an update policy for the specified
|
||||
<replaceable class="parameter">name</replaceable>
|
||||
using the "name" nametype.
|
||||
The default key name is
|
||||
ddns-key.<replaceable class="parameter">name</replaceable>.
|
||||
Note that the "self" nametype cannot be used, since
|
||||
the name to be updated may differ from the key name.
|
||||
This option cannot be used with the <option>-z</option> option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-z <replaceable class="parameter">zone</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
zone mode: The example <command>named.conf</command> text
|
||||
shows how to set an update policy for the specified
|
||||
<replaceable class="parameter">zone</replaceable>
|
||||
using the "zonesub" nametype, allowing updates to all subdomain
|
||||
names within
|
||||
that <replaceable class="parameter">zone</replaceable>.
|
||||
This option cannot be used with the <option>-s</option> option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>SEE ALSO</title>
|
||||
<para><citerefentry>
|
||||
<refentrytitle>nsupdate</refentrytitle><manvolnum>1</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>named.conf</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>AUTHOR</title>
|
||||
<para><corpauthor>Internet Systems Consortium</corpauthor>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry><!--
|
||||
- Local variables:
|
||||
- mode: sgml
|
||||
- End:
|
||||
-->
|
||||
141
bin/confgen/ddns-confgen.html
Normal file
141
bin/confgen/ddns-confgen.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<!--
|
||||
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
- copyright notice and this permission notice appear in all copies.
|
||||
-
|
||||
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>ddns-confgen</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
|
||||
<a name="man.ddns-confgen"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2>Name</h2>
|
||||
<p><span class="application">ddns-confgen</span> — ddns key generation tool</p>
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ] [<code class="option">-q</code>] [name]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543396"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">ddns-confgen</strong></span>
|
||||
generates a key for use by <span><strong class="command">nsupdate</strong></span>
|
||||
and <span><strong class="command">named</strong></span>. It simplifies configuration
|
||||
of dynamic zones by generating a key and providing the
|
||||
<span><strong class="command">nsupdate</strong></span> and <span><strong class="command">named.conf</strong></span>
|
||||
syntax that will be needed to use it, including an example
|
||||
<span><strong class="command">update-policy</strong></span> statement.
|
||||
</p>
|
||||
<p>
|
||||
If a domain name is specified on the command line, it will
|
||||
be used in the name of the generated key and in the sample
|
||||
<span><strong class="command">named.conf</strong></span> syntax. For example,
|
||||
<span><strong class="command">ddns-confgen example.com</strong></span> would
|
||||
generate a key called "ddns-key.example.com", and sample
|
||||
<span><strong class="command">named.conf</strong></span> command that could be used
|
||||
in the zone definition for "example.com".
|
||||
</p>
|
||||
<p>
|
||||
Note that <span><strong class="command">named</strong></span> itself can configure a
|
||||
local DDNS key for use with <span><strong class="command">nsupdate -l</strong></span>.
|
||||
<span><strong class="command">ddns-confgen</strong></span> is only needed when a
|
||||
more elaborate configuration is required: for instance, if
|
||||
<span><strong class="command">nsupdate</strong></span> is to be used from a remote system.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543456"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd><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.
|
||||
</p></dd>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
Prints a short summary of the options and arguments to
|
||||
<span><strong class="command">ddns-confgen</strong></span>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-k <em class="replaceable"><code>keyname</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the key name of the DDNS authentication key.
|
||||
The default is <code class="constant">ddns-key</code> when neither
|
||||
the <code class="option">-s</code> nor <code class="option">-z</code> option is
|
||||
specified; otherwise, the default
|
||||
is <code class="constant">ddns-key</code> as a separate label
|
||||
followed by the argument of the option, e.g.,
|
||||
<code class="constant">ddns-key.example.com.</code>
|
||||
The key name must have the format of a valid domain name,
|
||||
consisting of letters, digits, hyphens and periods.
|
||||
</p></dd>
|
||||
<dt><span class="term">-q</span></dt>
|
||||
<dd><p>
|
||||
Quiet mode: Print only the key, with no explanatory text or
|
||||
usage examples.
|
||||
</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>
|
||||
Single host mode: The example <span><strong class="command">named.conf</strong></span> text
|
||||
shows how to set an update policy for the specified
|
||||
<em class="replaceable"><code>name</code></em>
|
||||
using the "name" nametype.
|
||||
The default key name is
|
||||
ddns-key.<em class="replaceable"><code>name</code></em>.
|
||||
Note that the "self" nametype cannot be used, since
|
||||
the name to be updated may differ from the key name.
|
||||
This option cannot be used with the <code class="option">-z</code> option.
|
||||
</p></dd>
|
||||
<dt><span class="term">-z <em class="replaceable"><code>zone</code></em></span></dt>
|
||||
<dd><p>
|
||||
zone mode: The example <span><strong class="command">named.conf</strong></span> text
|
||||
shows how to set an update policy for the specified
|
||||
<em class="replaceable"><code>zone</code></em>
|
||||
using the "zonesub" nametype, allowing updates to all subdomain
|
||||
names within
|
||||
that <em class="replaceable"><code>zone</code></em>.
|
||||
This option cannot be used with the <code class="option">-s</code> option.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543643"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543682"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
</div></body>
|
||||
</html>
|
||||
39
bin/confgen/include/confgen/os.h
Normal file
39
bin/confgen/include/confgen/os.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#ifndef RNDC_OS_H
|
||||
#define RNDC_OS_H 1
|
||||
|
||||
#include <isc/lang.h>
|
||||
#include <stdio.h>
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
int set_user(FILE *fd, const char *user);
|
||||
/*%<
|
||||
* Set the owner of the file referenced by 'fd' to 'user'.
|
||||
* Returns:
|
||||
* 0 success
|
||||
* -1 insufficient permissions, or 'user' does not exist.
|
||||
*/
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif
|
||||
218
bin/confgen/keygen.c
Normal file
218
bin/confgen/keygen.c
Normal file
@@ -0,0 +1,218 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.c,v 1.4 2009/11/12 14:02:38 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <isc/base64.h>
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/keyboard.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/string.h>
|
||||
|
||||
#include <dns/keyvalues.h>
|
||||
#include <dns/name.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
#include <confgen/os.h>
|
||||
|
||||
#include "util.h"
|
||||
#include "keygen.h"
|
||||
|
||||
/*%
|
||||
* Convert algorithm type to string.
|
||||
*/
|
||||
const char *
|
||||
alg_totext(dns_secalg_t alg) {
|
||||
switch (alg) {
|
||||
case DST_ALG_HMACMD5:
|
||||
return "hmac-md5";
|
||||
case DST_ALG_HMACSHA1:
|
||||
return "hmac-sha1";
|
||||
case DST_ALG_HMACSHA224:
|
||||
return "hmac-sha224";
|
||||
case DST_ALG_HMACSHA256:
|
||||
return "hmac-sha256";
|
||||
case DST_ALG_HMACSHA384:
|
||||
return "hmac-sha384";
|
||||
case DST_ALG_HMACSHA512:
|
||||
return "hmac-sha512";
|
||||
default:
|
||||
return "(unknown)";
|
||||
}
|
||||
}
|
||||
|
||||
/*%
|
||||
* Convert string to algorithm type.
|
||||
*/
|
||||
dns_secalg_t
|
||||
alg_fromtext(const char *name) {
|
||||
if (strcmp(name, "hmac-md5") == 0)
|
||||
return DST_ALG_HMACMD5;
|
||||
if (strcmp(name, "hmac-sha1") == 0)
|
||||
return DST_ALG_HMACSHA1;
|
||||
if (strcmp(name, "hmac-sha224") == 0)
|
||||
return DST_ALG_HMACSHA224;
|
||||
if (strcmp(name, "hmac-sha256") == 0)
|
||||
return DST_ALG_HMACSHA256;
|
||||
if (strcmp(name, "hmac-sha384") == 0)
|
||||
return DST_ALG_HMACSHA384;
|
||||
if (strcmp(name, "hmac-sha512") == 0)
|
||||
return DST_ALG_HMACSHA512;
|
||||
return DST_ALG_UNKNOWN;
|
||||
}
|
||||
|
||||
/*%
|
||||
* Return default keysize for a given algorithm type.
|
||||
*/
|
||||
int
|
||||
alg_bits(dns_secalg_t alg) {
|
||||
switch (alg) {
|
||||
case DST_ALG_HMACMD5:
|
||||
return 128;
|
||||
case DST_ALG_HMACSHA1:
|
||||
return 160;
|
||||
case DST_ALG_HMACSHA224:
|
||||
return 224;
|
||||
case DST_ALG_HMACSHA256:
|
||||
return 256;
|
||||
case DST_ALG_HMACSHA384:
|
||||
return 384;
|
||||
case DST_ALG_HMACSHA512:
|
||||
return 512;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*%
|
||||
* Generate a key of size 'keysize' using entropy source 'randomfile',
|
||||
* and place it in 'key_txtbuffer'
|
||||
*/
|
||||
void
|
||||
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) {
|
||||
case DST_ALG_HMACMD5:
|
||||
if (keysize < 1 || keysize > 512)
|
||||
fatal("keysize %d out of range (must be 1-512)\n",
|
||||
keysize);
|
||||
break;
|
||||
case DST_ALG_HMACSHA256:
|
||||
if (keysize < 1 || keysize > 256)
|
||||
fatal("keysize %d out of range (must be 1-256)\n",
|
||||
keysize);
|
||||
break;
|
||||
default:
|
||||
fatal("unsupported algorithm %d\n", alg);
|
||||
}
|
||||
|
||||
|
||||
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));
|
||||
|
||||
isc_buffer_init(&key_rawbuffer, &key_rawsecret, sizeof(key_rawsecret));
|
||||
|
||||
DO("dump key to buffer", dst_key_tobuffer(key, &key_rawbuffer));
|
||||
|
||||
isc_buffer_usedregion(&key_rawbuffer, &key_rawregion);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/*%
|
||||
* Write a key file to 'keyfile'. If 'user' is non-NULL,
|
||||
* make that user the owner of the file. The key will have
|
||||
* the name 'keyname' and the secret in the buffer 'secret'.
|
||||
*/
|
||||
void
|
||||
write_key_file(const char *keyfile, const char *user,
|
||||
const char *keyname, isc_buffer_t *secret,
|
||||
dns_secalg_t alg) {
|
||||
isc_result_t result;
|
||||
const char *algname = alg_totext(alg);
|
||||
FILE *fd = NULL;
|
||||
|
||||
DO("create keyfile", isc_file_safecreate(keyfile, &fd));
|
||||
|
||||
if (user != NULL) {
|
||||
if (set_user(fd, user) == -1)
|
||||
fatal("unable to set file owner\n");
|
||||
}
|
||||
|
||||
fprintf(fd, "key \"%s\" {\n\talgorithm %s;\n"
|
||||
"\tsecret \"%.*s\";\n};\n",
|
||||
keyname, algname,
|
||||
(int)isc_buffer_usedlength(secret),
|
||||
(char *)isc_buffer_base(secret));
|
||||
fflush(fd);
|
||||
if (ferror(fd))
|
||||
fatal("write to %s failed\n", keyfile);
|
||||
if (fclose(fd))
|
||||
fatal("fclose(%s) failed\n", keyfile);
|
||||
fprintf(stderr, "wrote key file \"%s\"\n", keyfile);
|
||||
}
|
||||
|
||||
41
bin/confgen/keygen.h
Normal file
41
bin/confgen/keygen.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: keygen.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#ifndef RNDC_KEYGEN_H
|
||||
#define RNDC_KEYGEN_H 1
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <isc/lang.h>
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
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,
|
||||
dns_secalg_t alg);
|
||||
|
||||
const char *alg_totext(dns_secalg_t alg);
|
||||
dns_secalg_t alg_fromtext(const char *name);
|
||||
int alg_bits(dns_secalg_t alg);
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif /* RNDC_KEYGEN_H */
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2001, 2003 Internet Software Consortium.
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: rndc-confgen.8,v 1.20.418.1 2009/07/11 01:55:21 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -205,7 +205,7 @@ BIND 9 Administrator Reference Manual.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Copyright \(co 2001, 2003 Internet Software Consortium.
|
||||
.br
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001, 2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: rndc-confgen.c,v 1.26 2008/10/15 23:47:31 tbox Exp $ */
|
||||
/* $Id: rndc-confgen.c,v 1.5.66.2 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -52,9 +52,10 @@
|
||||
#include <dns/name.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
#include <rndc/os.h>
|
||||
#include <confgen/os.h>
|
||||
|
||||
#include "util.h"
|
||||
#include "keygen.h"
|
||||
|
||||
#define DEFAULT_KEYLENGTH 128 /*% Bits. */
|
||||
#define DEFAULT_KEYNAME "rndc-key"
|
||||
@@ -68,6 +69,9 @@ isc_boolean_t verbose = ISC_FALSE;
|
||||
|
||||
const char *keyfile, *keydef;
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(int status) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(int status) {
|
||||
|
||||
@@ -75,72 +79,36 @@ usage(int status) {
|
||||
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\
|
||||
-b bits: from 1 through 512, default %d; 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: a file containing random data\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, DEFAULT_KEYLENGTH);
|
||||
-a: generate just the key clause and write it to keyfile (%s)\n\
|
||||
-b bits: from 1 through 512, default %d; 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, DEFAULT_KEYLENGTH);
|
||||
|
||||
exit (status);
|
||||
}
|
||||
|
||||
/*%
|
||||
* Write an rndc.key file to 'keyfile'. If 'user' is non-NULL,
|
||||
* make that user the owner of the file. The key will have
|
||||
* the name 'keyname' and the secret in the buffer 'secret'.
|
||||
*/
|
||||
static void
|
||||
write_key_file(const char *keyfile, const char *user,
|
||||
const char *keyname, isc_buffer_t *secret )
|
||||
{
|
||||
FILE *fd;
|
||||
|
||||
fd = safe_create(keyfile);
|
||||
if (fd == NULL)
|
||||
fatal( "unable to create \"%s\"\n", keyfile);
|
||||
if (user != NULL) {
|
||||
if (set_user(fd, user) == -1)
|
||||
fatal("unable to set file owner\n");
|
||||
}
|
||||
fprintf(fd, "key \"%s\" {\n\talgorithm hmac-md5;\n"
|
||||
"\tsecret \"%.*s\";\n};\n", keyname,
|
||||
(int)isc_buffer_usedlength(secret),
|
||||
(char *)isc_buffer_base(secret));
|
||||
fflush(fd);
|
||||
if (ferror(fd))
|
||||
fatal("write to %s failed\n", keyfile);
|
||||
if (fclose(fd))
|
||||
fatal("fclose(%s) failed\n", keyfile);
|
||||
fprintf(stderr, "wrote key file \"%s\"\n", keyfile);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
isc_boolean_t show_final_mem = ISC_FALSE;
|
||||
isc_buffer_t key_rawbuffer;
|
||||
isc_buffer_t key_txtbuffer;
|
||||
isc_region_t key_rawregion;
|
||||
char key_txtsecret[256];
|
||||
isc_mem_t *mctx = NULL;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
isc_entropysource_t *entropy_source = NULL;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
dst_key_t *key = NULL;
|
||||
const char *keyname = NULL;
|
||||
const char *randomfile = NULL;
|
||||
const char *serveraddr = NULL;
|
||||
char key_rawsecret[64];
|
||||
char key_txtsecret[256];
|
||||
dns_secalg_t alg = DST_ALG_HMACMD5;
|
||||
const char *algname = alg_totext(alg);
|
||||
char *p;
|
||||
int ch;
|
||||
int port;
|
||||
int keysize;
|
||||
int entropy_flags = 0;
|
||||
int open_keyboard = ISC_ENTROPY_KEYBOARDMAYBE;
|
||||
struct in_addr addr4_dummy;
|
||||
struct in6_addr addr6_dummy;
|
||||
char *chrootdir = NULL;
|
||||
@@ -232,58 +200,19 @@ main(int argc, char **argv) {
|
||||
|
||||
argc -= isc_commandline_index;
|
||||
argv += isc_commandline_index;
|
||||
POST(argv);
|
||||
|
||||
if (argc > 0)
|
||||
usage(1);
|
||||
|
||||
DO("create memory context", isc_mem_create(0, 0, &mctx));
|
||||
|
||||
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, DST_ALG_HMACMD5,
|
||||
keysize, 0, 0,
|
||||
DNS_KEYPROTO_ANY,
|
||||
dns_rdataclass_in, mctx, &key));
|
||||
|
||||
isc_buffer_init(&key_rawbuffer, &key_rawsecret, sizeof(key_rawsecret));
|
||||
|
||||
DO("dump key to buffer", dst_key_tobuffer(key, &key_rawbuffer));
|
||||
|
||||
isc_buffer_init(&key_txtbuffer, &key_txtsecret, sizeof(key_txtsecret));
|
||||
isc_buffer_usedregion(&key_rawbuffer, &key_rawregion);
|
||||
|
||||
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();
|
||||
generate_key(mctx, randomfile, alg, keysize, &key_txtbuffer);
|
||||
|
||||
if (keyonly) {
|
||||
write_key_file(keyfile, chrootdir == NULL ? user : NULL,
|
||||
keyname, &key_txtbuffer);
|
||||
keyname, &key_txtbuffer, alg);
|
||||
|
||||
if (chrootdir != NULL) {
|
||||
char *buf;
|
||||
@@ -294,14 +223,14 @@ main(int argc, char **argv) {
|
||||
snprintf(buf, len, "%s%s%s", chrootdir,
|
||||
(*keyfile != '/') ? "/" : "", keyfile);
|
||||
|
||||
write_key_file(buf, user, keyname, &key_txtbuffer);
|
||||
write_key_file(buf, user, keyname, &key_txtbuffer, alg);
|
||||
isc_mem_put(mctx, buf, len);
|
||||
}
|
||||
} else {
|
||||
printf("\
|
||||
# Start of rndc.conf\n\
|
||||
key \"%s\" {\n\
|
||||
algorithm hmac-md5;\n\
|
||||
algorithm %s;\n\
|
||||
secret \"%.*s\";\n\
|
||||
};\n\
|
||||
\n\
|
||||
@@ -314,7 +243,7 @@ options {\n\
|
||||
\n\
|
||||
# Use with the following in named.conf, adjusting the allow list as needed:\n\
|
||||
# key \"%s\" {\n\
|
||||
# algorithm hmac-md5;\n\
|
||||
# algorithm %s;\n\
|
||||
# secret \"%.*s\";\n\
|
||||
# };\n\
|
||||
# \n\
|
||||
@@ -323,11 +252,11 @@ options {\n\
|
||||
# allow { %s; } keys { \"%s\"; };\n\
|
||||
# };\n\
|
||||
# End of named.conf\n",
|
||||
keyname,
|
||||
keyname, algname,
|
||||
(int)isc_buffer_usedlength(&key_txtbuffer),
|
||||
(char *)isc_buffer_base(&key_txtbuffer),
|
||||
keyname, serveraddr, port,
|
||||
keyname,
|
||||
keyname, algname,
|
||||
(int)isc_buffer_usedlength(&key_txtbuffer),
|
||||
(char *)isc_buffer_base(&key_txtbuffer),
|
||||
serveraddr, port, serveraddr, keyname);
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: rndc-confgen.docbook,v 1.13 2007/06/18 23:47:25 tbox Exp $ -->
|
||||
<!-- $Id: rndc-confgen.docbook,v 1.4 2009/06/15 23:47:59 tbox Exp $ -->
|
||||
<refentry id="man.rndc-confgen">
|
||||
<refentryinfo>
|
||||
<date>Aug 27, 2001</date>
|
||||
@@ -40,6 +40,7 @@
|
||||
<year>2004</year>
|
||||
<year>2005</year>
|
||||
<year>2007</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
<copyright>
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003 Internet Software Consortium.
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: rndc-confgen.html,v 1.25.418.1 2009/07/11 01:55:21 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543429"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543433"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">rndc-confgen</strong></span>
|
||||
generates configuration files
|
||||
for <span><strong class="command">rndc</strong></span>. It can be used as a
|
||||
@@ -48,7 +48,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543474"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543478"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a</span></dt>
|
||||
<dd>
|
||||
@@ -155,7 +155,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543787"></a><h2>EXAMPLES</h2>
|
||||
<a name="id2543792"></a><h2>EXAMPLES</h2>
|
||||
<p>
|
||||
To allow <span><strong class="command">rndc</strong></span> to be used with
|
||||
no manual configuration, run
|
||||
@@ -172,7 +172,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543829"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543833"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
@@ -180,7 +180,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543867"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543872"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
@@ -1,5 +1,4 @@
|
||||
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2001 Internet Software Consortium.
|
||||
# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -13,7 +12,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.5 2007/06/19 23:46:59 tbox Exp $
|
||||
# $Id: Makefile.in,v 1.3 2009/06/11 23:47:55 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -1,6 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001 Internet Software Consortium.
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -15,13 +14,13 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.10 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <rndc/os.h>
|
||||
#include <confgen/os.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
@@ -42,29 +41,3 @@ set_user(FILE *fd, const char *user) {
|
||||
}
|
||||
return (fchown(fileno(fd), pw->pw_uid, -1));
|
||||
}
|
||||
|
||||
FILE *
|
||||
safe_create(const char *filename) {
|
||||
int fd;
|
||||
FILE *f;
|
||||
struct stat sb;
|
||||
int flags = O_WRONLY;
|
||||
|
||||
if (stat(filename, &sb) == -1) {
|
||||
if (errno != ENOENT)
|
||||
return (NULL);
|
||||
flags = O_WRONLY | O_CREAT | O_EXCL;
|
||||
} else if ((sb.st_mode & S_IFREG) == 0) {
|
||||
errno = EOPNOTSUPP;
|
||||
return (NULL);
|
||||
} else
|
||||
flags = O_WRONLY | O_TRUNC;
|
||||
|
||||
fd = open(filename, flags, S_IRUSR | S_IWUSR);
|
||||
if (fd == -1)
|
||||
return (NULL);
|
||||
f = fdopen(fd, "w");
|
||||
if (f == NULL)
|
||||
close(fd);
|
||||
return (f);
|
||||
}
|
||||
56
bin/confgen/util.c
Normal file
56
bin/confgen/util.c
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: util.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <isc/boolean.h>
|
||||
|
||||
#include "util.h"
|
||||
|
||||
extern isc_boolean_t verbose;
|
||||
extern const char *progname;
|
||||
|
||||
void
|
||||
notify(const char *fmt, ...) {
|
||||
va_list ap;
|
||||
|
||||
if (verbose) {
|
||||
va_start(ap, fmt);
|
||||
vfprintf(stderr, fmt, ap);
|
||||
va_end(ap);
|
||||
fputs("\n", stderr);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fatal(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fprintf(stderr, "%s: ", progname);
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
exit(1);
|
||||
}
|
||||
52
bin/confgen/util.h
Normal file
52
bin/confgen/util.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: util.h,v 1.4 2009/09/29 15:06:05 fdupont Exp $ */
|
||||
|
||||
#ifndef RNDC_UTIL_H
|
||||
#define RNDC_UTIL_H 1
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <isc/lang.h>
|
||||
#include <isc/platform.h>
|
||||
|
||||
#include <isc/formatcheck.h>
|
||||
|
||||
#define NS_CONTROL_PORT 953
|
||||
|
||||
#undef DO
|
||||
#define DO(name, function) \
|
||||
do { \
|
||||
result = function; \
|
||||
if (result != ISC_R_SUCCESS) \
|
||||
fatal("%s: %s", name, isc_result_totext(result)); \
|
||||
else \
|
||||
notify("%s", name); \
|
||||
} while (0)
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
void
|
||||
notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
fatal(const char *format, ...)
|
||||
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif /* RNDC_UTIL_H */
|
||||
135
bin/confgen/win32/confgentool.dsp
Normal file
135
bin/confgen/win32/confgentool.dsp
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 "Win32 (x86) Static-Link Library" 0x0104
|
||||
|
||||
CFG=confgentool - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "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 - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "confgentool - Win32 Release" (based on "Win32 (x86) Static-Link Library")
|
||||
!MESSAGE "confgentool - Win32 Debug" (based on "Win32 (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 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /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" /YX /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 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /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 /YX /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 - Win32 Release"
|
||||
# Name "confgentool - Win32 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
Normal file
103
bin/confgen/win32/ddnsconfgen.dsp
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 "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=ddnsconfgen - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "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 - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "ddnsconfgen - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "ddnsconfgen - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib 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:I386 /out:"../../../Build/Release/ddns-confgen.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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 /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib 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:I386 /out:"../../../Build/Debug/ddns-confgen.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "ddnsconfgen - Win32 Release"
|
||||
# Name "ddnsconfgen - Win32 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
Normal file
337
bin/confgen/win32/ddnsconfgen.mak
Normal file
@@ -0,0 +1,337 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on ddnsconfgen.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=ddnsconfgen - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to ddnsconfgen - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "ddnsconfgen - Win32 Release" && "$(CFG)" != "ddnsconfgen - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "ddnsconfgen.mak" CFG="ddnsconfgen - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "ddnsconfgen - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "ddnsconfgen - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
_VC_MANIFEST_INC=0
|
||||
_VC_MANIFEST_BASENAME=__VC80
|
||||
!ELSE
|
||||
_VC_MANIFEST_INC=1
|
||||
_VC_MANIFEST_BASENAME=__VC80.Debug
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
# Specifying name of temporary resource file used only in incremental builds:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
|
||||
!else
|
||||
_VC_MANIFEST_AUTO_RES=
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
|
||||
|
||||
!endif
|
||||
|
||||
####################################################
|
||||
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
#MT_SPECIAL_RETURN=1090650113
|
||||
#MT_SPECIAL_SWITCH=-notify_resource_update
|
||||
MT_SPECIAL_RETURN=0
|
||||
MT_SPECIAL_SWITCH=
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
|
||||
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
|
||||
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
|
||||
link $** /out:$@ $(LFLAGS)
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_EMBED_EXE= \
|
||||
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
|
||||
|
||||
!endif
|
||||
####################################################
|
||||
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
|
||||
|
||||
!if "$(_VC_MANIFEST_INC)" == "1"
|
||||
|
||||
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
|
||||
$(_VC_MANIFEST_BASENAME).auto.rc \
|
||||
$(_VC_MANIFEST_BASENAME).auto.manifest
|
||||
|
||||
!else
|
||||
|
||||
_VC_MANIFEST_CLEAN=
|
||||
|
||||
!endif
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 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 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /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:I386 /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 - Win32 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 /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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:I386 /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 - Win32 Release" || "$(CFG)" == "ddnsconfgen - Win32 Debug"
|
||||
SOURCE=.\os.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE="..\ddns-confgen.c"
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\ddns-confgen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\ddns-confgen.obj" "$(INTDIR)\ddns-confgen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\keygen.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" "$(INTDIR)\keygen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\util.c
|
||||
|
||||
!IF "$(CFG)" == "ddnsconfgen - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\util.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "ddnsconfgen - Win32 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,6 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001 Internet Software Consortium.
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -15,11 +14,11 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.6 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <rndc/os.h>
|
||||
#include <confgen/os.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
@@ -33,33 +32,3 @@ int
|
||||
set_user(FILE *fd, const char *user) {
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Note that the error code EOPNOTSUPP does not exist
|
||||
* on win32 so we are forced to fall back to using
|
||||
* ENOENT for now. WSAEOPNOTSUPP does exist but it
|
||||
* should only be used for sockets.
|
||||
*/
|
||||
|
||||
FILE *
|
||||
safe_create(const char *filename) {
|
||||
int fd;
|
||||
FILE *f;
|
||||
struct stat sb;
|
||||
|
||||
if (stat(filename, &sb) == -1) {
|
||||
if (errno != ENOENT)
|
||||
return (NULL);
|
||||
} else if ((sb.st_mode & S_IFREG) == 0) {
|
||||
errno = ENOENT;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
||||
if (fd == -1)
|
||||
return (NULL);
|
||||
f = fdopen(fd, "w");
|
||||
if (f == NULL)
|
||||
close(fd);
|
||||
return (f);
|
||||
}
|
||||
@@ -8,12 +8,12 @@ CFG=rndcconfgen - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "confgen.mak".
|
||||
!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 "confgen.mak" CFG="rndcconfgen - Win32 Debug"
|
||||
!MESSAGE NMAKE /f "rndcconfgen.mak" CFG="rndcconfgen - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/util.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:I386 /out:"../../../Build/Release/rndc-confgen.exe"
|
||||
# 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:I386 /out:"../../../Build/Release/rndc-confgen.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - Win32 Debug"
|
||||
|
||||
@@ -66,7 +66,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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 /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/util.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:I386 /out:"../../../Build/Debug/rndc-confgen.exe" /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:I386 /out:"../../../Build/Debug/rndc-confgen.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
@@ -88,20 +88,12 @@ LINK32=link.exe
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\os.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\rndc-confgen.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\util.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
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>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -9,7 +9,7 @@ CFG=rndcconfgen - Win32 Debug
|
||||
!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 "confgen.mak" CFG="rndcconfgen - Win32 Debug"
|
||||
!MESSAGE NMAKE /f "rndcconfgen.mak" CFG="rndcconfgen - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
@@ -114,6 +114,7 @@ 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"
|
||||
@@ -122,7 +123,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\confgen.bsc"
|
||||
BSC32_SBRS= \
|
||||
@@ -132,6 +133,7 @@ LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/l
|
||||
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)
|
||||
@@ -156,6 +158,8 @@ CLEAN :
|
||||
-@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"
|
||||
@@ -169,12 +173,13 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/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)
|
||||
@@ -187,6 +192,7 @@ LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/lib
|
||||
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)
|
||||
@@ -270,6 +276,24 @@ SOURCE="..\rndc-confgen.c"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\keygen.c
|
||||
|
||||
!IF "$(CFG)" == "rndcconfgen - Win32 Release"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "rndcconfgen - Win32 Debug"
|
||||
|
||||
|
||||
"$(INTDIR)\keygen.obj" "$(INTDIR)\keygen.sbr" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
SOURCE=..\util.c
|
||||
@@ -290,7 +314,6 @@ SOURCE=..\util.c
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
####################################################
|
||||
2
bin/dig/.cvsignore → bin/dig/.gitignore
vendored
2
bin/dig/.cvsignore → bin/dig/.gitignore
vendored
@@ -1,6 +1,4 @@
|
||||
Makefile
|
||||
dig
|
||||
host
|
||||
nslookup
|
||||
*.lo
|
||||
.libs
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.41 2007/06/19 23:46:59 tbox Exp $
|
||||
# $Id: Makefile.in,v 1.47 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -24,7 +24,7 @@ top_srcdir = @top_srcdir@
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
|
||||
${ISC_INCLUDES} ${LWRES_INCLUDES}
|
||||
${ISC_INCLUDES} ${LWRES_INCLUDES} ${ISCCFG_INCLUDES}
|
||||
|
||||
CDEFINES = -DVERSION=\"${VERSION}\"
|
||||
CWARNINGS =
|
||||
@@ -33,6 +33,7 @@ ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
BIND9LIBS = ../../lib/bind9/libbind9.@A@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
LWRESLIBS = ../../lib/lwres/liblwres.@A@
|
||||
|
||||
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
|
||||
@@ -44,8 +45,11 @@ LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
|
||||
DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} ${ISCCFGDEPLIBS} \
|
||||
${LWRESDEPLIBS}
|
||||
|
||||
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \
|
||||
${ISCCFGLIBS} @IDNLIBS@ @LIBS@
|
||||
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCLIBS} @IDNLIBS@ @LIBS@
|
||||
|
||||
NOSYMLIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
|
||||
${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
@@ -66,16 +70,16 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dig.@O@ dighost.@O@ ${UOBJS} ${LIBS}
|
||||
export BASEOBJS="dig.@O@ dighost.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
host@EXEEXT@: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
host.@O@ dighost.@O@ ${UOBJS} ${LIBS}
|
||||
export BASEOBJS="host.@O@ dighost.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
nslookup@EXEEXT@: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
nslookup.@O@ dighost.@O@ ${UOBJS} ${LIBS}
|
||||
export BASEOBJS="nslookup.@O@ dighost.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dig.1,v 1.50.44.3 2009/07/11 01:55:20 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
198
bin/dig/dig.c
198
bin/dig/dig.c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dig.c,v 1.225.26.7 2010/05/13 00:43:37 marka Exp $ */
|
||||
/* $Id: dig.c,v 1.233.62.7 2011/12/07 17:24:25 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -44,8 +44,6 @@
|
||||
#include <dns/result.h>
|
||||
#include <dns/tsig.h>
|
||||
|
||||
#include <bind9/getaddresses.h>
|
||||
|
||||
#include <dig/dig.h>
|
||||
|
||||
#define ADD_STRING(b, s) { \
|
||||
@@ -138,6 +136,9 @@ print_usage(FILE *fp) {
|
||||
" [ host [@local-server] {local-d-opt} [...]]\n", fp);
|
||||
}
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
print_usage(stderr);
|
||||
@@ -471,8 +472,6 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
if (!query->lookup->comments)
|
||||
flags |= DNS_MESSAGETEXTFLAG_NOCOMMENTS;
|
||||
|
||||
result = ISC_R_SUCCESS;
|
||||
|
||||
result = isc_buffer_allocate(mctx, &buf, len);
|
||||
check_result(result, "isc_buffer_allocate");
|
||||
|
||||
@@ -673,19 +672,6 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
|
||||
}
|
||||
}
|
||||
|
||||
static isc_uint32_t
|
||||
parse_uint(char *arg, const char *desc, isc_uint32_t max) {
|
||||
isc_result_t result;
|
||||
isc_uint32_t tmp;
|
||||
|
||||
result = isc_parse_uint32(&tmp, arg, 10);
|
||||
if (result == ISC_R_SUCCESS && tmp > max)
|
||||
result = ISC_R_RANGE;
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("%s '%s': %s", desc, arg, isc_result_totext(result));
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
/*%
|
||||
* We're not using isc_commandline_parse() here since the command line
|
||||
* syntax of dig is quite a bit different from that which can be described
|
||||
@@ -697,8 +683,10 @@ static void
|
||||
plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
dig_lookup_t *lookup)
|
||||
{
|
||||
isc_result_t result;
|
||||
char option_store[256];
|
||||
char *cmd, *value, *ptr;
|
||||
isc_uint32_t num;
|
||||
isc_boolean_t state = ISC_TRUE;
|
||||
#ifdef DIG_SIGCHASE
|
||||
size_t n;
|
||||
@@ -746,6 +734,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
lookup->section_additional = state;
|
||||
break;
|
||||
case 'f': /* adflag */
|
||||
case '\0': /* +ad is a synonym for +adflag */
|
||||
FULLCHECK("adflag");
|
||||
lookup->adflag = state;
|
||||
break;
|
||||
@@ -787,8 +776,11 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
goto need_value;
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
lookup->udpsize = (isc_uint16_t) parse_uint(value,
|
||||
"buffer size", COMMSIZE);
|
||||
result = parse_uint(&num, value, COMMSIZE,
|
||||
"buffer size");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse buffer size");
|
||||
lookup->udpsize = num;
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -797,8 +789,15 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
case 'c':
|
||||
switch (cmd[1]) {
|
||||
case 'd':/* cdflag */
|
||||
FULLCHECK("cdflag");
|
||||
lookup->cdflag = state;
|
||||
switch (cmd[2]) {
|
||||
case 'f': /* cdflag */
|
||||
case '\0': /* +cd is a synonym for +cdflag */
|
||||
FULLCHECK("cdflag");
|
||||
lookup->cdflag = state;
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
}
|
||||
break;
|
||||
case 'l': /* cl */
|
||||
FULLCHECK("cl");
|
||||
@@ -853,7 +852,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
}
|
||||
if (value == NULL)
|
||||
goto need_value;
|
||||
lookup->edns = (isc_int16_t) parse_uint(value, "edns", 255);
|
||||
result = parse_uint(&num, value, 255, "edns");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse edns");
|
||||
lookup->edns = num;
|
||||
break;
|
||||
case 'f': /* fail */
|
||||
FULLCHECK("fail");
|
||||
@@ -883,7 +885,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
goto need_value;
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
ndots = parse_uint(value, "ndots", MAXNDOTS);
|
||||
result = parse_uint(&num, value, MAXNDOTS, "ndots");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse ndots");
|
||||
ndots = num;
|
||||
break;
|
||||
case 's':
|
||||
switch (cmd[2]) {
|
||||
@@ -948,8 +953,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
goto need_value;
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
lookup->retries = parse_uint(value, "retries",
|
||||
MAXTRIES - 1);
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES - 1, "retries");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse retries");
|
||||
lookup->retries++;
|
||||
break;
|
||||
default:
|
||||
@@ -1025,7 +1032,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
goto need_value;
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
timeout = parse_uint(value, "timeout", MAXTIMEOUT);
|
||||
result = parse_uint(&timeout, value, MAXTIMEOUT,
|
||||
"timeout");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse timeout");
|
||||
if (timeout == 0)
|
||||
timeout = 1;
|
||||
break;
|
||||
@@ -1058,8 +1068,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
|
||||
goto need_value;
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
lookup->retries = parse_uint(value, "tries",
|
||||
MAXTRIES);
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES, "tries");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse tries");
|
||||
if (lookup->retries == 0)
|
||||
lookup->retries = 1;
|
||||
break;
|
||||
@@ -1125,6 +1137,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
struct in6_addr in6;
|
||||
in_port_t srcport;
|
||||
char *hash, *cmd;
|
||||
isc_uint32_t num;
|
||||
|
||||
while (strpbrk(option, single_dash_opts) == &option[0]) {
|
||||
/*
|
||||
@@ -1140,6 +1153,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
have_ipv6 = ISC_FALSE;
|
||||
} else {
|
||||
fatal("can't find IPv4 networking");
|
||||
/* NOTREACHED */
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
break;
|
||||
@@ -1149,6 +1163,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
have_ipv4 = ISC_FALSE;
|
||||
} else {
|
||||
fatal("can't find IPv6 networking");
|
||||
/* NOTREACHED */
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
break;
|
||||
@@ -1199,9 +1214,11 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
case 'b':
|
||||
hash = strchr(value, '#');
|
||||
if (hash != NULL) {
|
||||
srcport = (in_port_t)
|
||||
parse_uint(hash + 1,
|
||||
"port number", MAXPORT);
|
||||
result = parse_uint(&num, hash + 1, MAXPORT,
|
||||
"port number");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse port number");
|
||||
srcport = num;
|
||||
*hash = '\0';
|
||||
} else
|
||||
srcport = 0;
|
||||
@@ -1245,7 +1262,10 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
keyfile[sizeof(keyfile)-1]=0;
|
||||
return (value_from_next);
|
||||
case 'p':
|
||||
port = (in_port_t) parse_uint(value, "port number", MAXPORT);
|
||||
result = parse_uint(&num, value, MAXPORT, "port number");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse port number");
|
||||
port = num;
|
||||
return (value_from_next);
|
||||
case 'q':
|
||||
if (!config_only) {
|
||||
@@ -1288,11 +1308,14 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
"extra type option\n");
|
||||
}
|
||||
if (rdtype == dns_rdatatype_ixfr) {
|
||||
isc_uint32_t serial;
|
||||
(*lookup)->rdtype = dns_rdatatype_ixfr;
|
||||
(*lookup)->rdtypeset = ISC_TRUE;
|
||||
(*lookup)->ixfr_serial =
|
||||
parse_uint(&value[5], "serial number",
|
||||
MAXSERIAL);
|
||||
result = parse_uint(&serial, &value[5],
|
||||
MAXSERIAL, "serial number");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse serial number");
|
||||
(*lookup)->ixfr_serial = serial;
|
||||
(*lookup)->section_question = plusquest;
|
||||
(*lookup)->comments = pluscomm;
|
||||
(*lookup)->tcp_mode = ISC_TRUE;
|
||||
@@ -1320,65 +1343,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
usage();
|
||||
ptr3 = next_token(&value,":"); /* secret or NULL */
|
||||
if (ptr3 != NULL) {
|
||||
if (strcasecmp(ptr, "hmac-md5") == 0) {
|
||||
hmacname = DNS_TSIG_HMACMD5_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-md5-", 9) == 0) {
|
||||
hmacname = DNS_TSIG_HMACMD5_NAME;
|
||||
digestbits = parse_uint(&ptr[9],
|
||||
"digest-bits [0..128]",
|
||||
128);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else if (strcasecmp(ptr, "hmac-sha1") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA1_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-sha1-", 10) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA1_NAME;
|
||||
digestbits = parse_uint(&ptr[10],
|
||||
"digest-bits [0..160]",
|
||||
160);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else if (strcasecmp(ptr, "hmac-sha224") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA224_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-sha224-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA224_NAME;
|
||||
digestbits = parse_uint(&ptr[12],
|
||||
"digest-bits [0..224]",
|
||||
224);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else if (strcasecmp(ptr, "hmac-sha256") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA256_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-sha256-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA256_NAME;
|
||||
digestbits = parse_uint(&ptr[12],
|
||||
"digest-bits [0..256]",
|
||||
256);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else if (strcasecmp(ptr, "hmac-sha384") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA384_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-sha384-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA384_NAME;
|
||||
digestbits = parse_uint(&ptr[12],
|
||||
"digest-bits [0..384]",
|
||||
384);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else if (strcasecmp(ptr, "hmac-sha512") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA512_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(ptr, "hmac-sha512-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA512_NAME;
|
||||
digestbits = parse_uint(&ptr[12],
|
||||
"digest-bits [0..512]",
|
||||
512);
|
||||
digestbits = (digestbits + 7) & ~0x7U;
|
||||
} else {
|
||||
fprintf(stderr, ";; Warning, ignoring "
|
||||
"invalid TSIG algorithm %s\n", ptr);
|
||||
return (value_from_next);
|
||||
}
|
||||
parse_hmac(ptr);
|
||||
ptr = ptr2;
|
||||
ptr2 = ptr3;
|
||||
} else {
|
||||
@@ -1422,6 +1387,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
|
||||
fprintf(stderr, "Invalid option: -%s\n", option);
|
||||
usage();
|
||||
}
|
||||
/* NOTREACHED */
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
@@ -1458,30 +1424,6 @@ preparse_args(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
getaddresses(dig_lookup_t *lookup, const char *host) {
|
||||
isc_result_t result;
|
||||
isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES];
|
||||
isc_netaddr_t netaddr;
|
||||
int count, i;
|
||||
dig_server_t *srv;
|
||||
char tmp[ISC_NETADDR_FORMATSIZE];
|
||||
|
||||
result = bind9_getaddresses(host, 0, sockaddrs,
|
||||
DIG_MAX_ADDRESSES, &count);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("couldn't get address for '%s': %s",
|
||||
host, isc_result_totext(result));
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
|
||||
isc_netaddr_format(&netaddr, tmp, sizeof(tmp));
|
||||
srv = make_server(tmp, host);
|
||||
ISC_LIST_APPEND(lookup->my_server_list, srv, link);
|
||||
}
|
||||
addresscount = count;
|
||||
}
|
||||
|
||||
static void
|
||||
parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
int argc, char **argv) {
|
||||
@@ -1576,7 +1518,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
if (strncmp(rv[0], "%", 1) == 0)
|
||||
break;
|
||||
if (strncmp(rv[0], "@", 1) == 0) {
|
||||
getaddresses(lookup, &rv[0][1]);
|
||||
addresscount = getaddresses(lookup, &rv[0][1], NULL);
|
||||
} else if (rv[0][0] == '+') {
|
||||
plus_option(&rv[0][1], is_batchfile,
|
||||
lookup);
|
||||
@@ -1613,7 +1555,6 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
(isc_textregion_t *)&tr);
|
||||
if (result == ISC_R_SUCCESS &&
|
||||
rdtype == dns_rdatatype_ixfr) {
|
||||
result = DNS_R_UNKNOWN;
|
||||
fprintf(stderr, ";; Warning, "
|
||||
"ixfr requires a "
|
||||
"serial number\n");
|
||||
@@ -1626,13 +1567,18 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
"extra type option\n");
|
||||
}
|
||||
if (rdtype == dns_rdatatype_ixfr) {
|
||||
isc_uint32_t serial;
|
||||
lookup->rdtype =
|
||||
dns_rdatatype_ixfr;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
lookup->ixfr_serial =
|
||||
parse_uint(&rv[0][5],
|
||||
"serial number",
|
||||
MAXSERIAL);
|
||||
result = parse_uint(&serial,
|
||||
&rv[0][5],
|
||||
MAXSERIAL,
|
||||
"serial number");
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse "
|
||||
"serial number");
|
||||
lookup->ixfr_serial = serial;
|
||||
lookup->section_question =
|
||||
plusquest;
|
||||
lookup->comments = pluscomm;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dig.docbook,v 1.42.44.3 2009/02/02 04:42:48 marka Exp $ -->
|
||||
<!-- $Id: dig.docbook,v 1.45 2009/02/02 04:41:28 marka Exp $ -->
|
||||
<refentry id="man.dig">
|
||||
|
||||
<refentryinfo>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dig.html,v 1.45.44.3 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -34,7 +34,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543518"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543521"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
(domain information groper) is a flexible tool
|
||||
for interrogating DNS name servers. It performs DNS lookups and
|
||||
@@ -80,7 +80,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543592"></a><h2>SIMPLE USAGE</h2>
|
||||
<a name="id2543594"></a><h2>SIMPLE USAGE</h2>
|
||||
<p>
|
||||
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
|
||||
</p>
|
||||
@@ -126,7 +126,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543683"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543685"></a><h2>OPTIONS</h2>
|
||||
<p>
|
||||
The <code class="option">-b</code> option sets the source IP address of the query
|
||||
to <em class="parameter"><code>address</code></em>. This must be a valid
|
||||
@@ -230,7 +230,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544032"></a><h2>QUERY OPTIONS</h2>
|
||||
<a name="id2544034"></a><h2>QUERY OPTIONS</h2>
|
||||
<p><span><strong class="command">dig</strong></span>
|
||||
provides a number of query options which affect
|
||||
the way in which lookups are made and the results displayed. Some of
|
||||
@@ -555,7 +555,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545166"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<a name="id2545169"></a><h2>MULTIPLE QUERIES</h2>
|
||||
<p>
|
||||
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
|
||||
supports
|
||||
@@ -601,7 +601,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545228"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2545230"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -615,14 +615,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545251"></a><h2>FILES</h2>
|
||||
<a name="id2545253"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
<p><code class="filename">${HOME}/.digrc</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545336"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2545338"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
@@ -630,7 +630,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545373"></a><h2>BUGS</h2>
|
||||
<a name="id2545376"></a><h2>BUGS</h2>
|
||||
<p>
|
||||
There are probably too many query options.
|
||||
</p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dighost.c,v 1.311.70.17 2010/12/09 01:12:54 marka Exp $ */
|
||||
/* $Id: dighost.c,v 1.328.22.15 2011/12/07 17:24:25 each Exp $ */
|
||||
|
||||
/*! \file
|
||||
* \note
|
||||
@@ -53,6 +53,7 @@
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
#include <dns/fixedname.h>
|
||||
#include <dns/log.h>
|
||||
#include <dns/message.h>
|
||||
#include <dns/name.h>
|
||||
#include <dns/rdata.h>
|
||||
@@ -65,25 +66,31 @@
|
||||
#include <dns/tsig.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
#include <dst/result.h>
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/base64.h>
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/file.h>
|
||||
#include <isc/lang.h>
|
||||
#include <isc/log.h>
|
||||
#include <isc/netaddr.h>
|
||||
#ifdef DIG_SIGCHASE
|
||||
#include <isc/netdb.h>
|
||||
#endif
|
||||
#include <isc/parseint.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/random.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/serial.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/task.h>
|
||||
#include <isc/timer.h>
|
||||
#include <isc/types.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <isccfg/namedconf.h>
|
||||
|
||||
#include <lwres/lwres.h>
|
||||
#include <lwres/net.h>
|
||||
|
||||
@@ -121,6 +128,7 @@ in_port_t port = 53;
|
||||
unsigned int timeout = 0;
|
||||
unsigned int extrabytes;
|
||||
isc_mem_t *mctx = NULL;
|
||||
isc_log_t *lctx = NULL;
|
||||
isc_taskmgr_t *taskmgr = NULL;
|
||||
isc_task_t *global_task = NULL;
|
||||
isc_timermgr_t *timermgr = NULL;
|
||||
@@ -393,7 +401,7 @@ count_dots(char *string) {
|
||||
|
||||
static void
|
||||
hex_dump(isc_buffer_t *b) {
|
||||
unsigned int len;
|
||||
unsigned int len, i;
|
||||
isc_region_t r;
|
||||
|
||||
isc_buffer_usedregion(b, &r);
|
||||
@@ -401,11 +409,29 @@ hex_dump(isc_buffer_t *b) {
|
||||
printf("%d bytes\n", r.length);
|
||||
for (len = 0; len < r.length; len++) {
|
||||
printf("%02x ", r.base[len]);
|
||||
if (len % 16 == 15)
|
||||
if (len % 16 == 15) {
|
||||
fputs(" ", stdout);
|
||||
for (i = len - 15; i <= len; i++) {
|
||||
if (r.base[i] >= '!' && r.base[i] <= '}')
|
||||
putchar(r.base[i]);
|
||||
else
|
||||
putchar('.');
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
if (len % 16 != 0)
|
||||
if (len % 16 != 0) {
|
||||
for (i = len; (i % 16) != 0; i++)
|
||||
fputs(" ", stdout);
|
||||
fputs(" ", stdout);
|
||||
for (i = ((len>>4)<<4); i < len; i++) {
|
||||
if (r.base[i] >= '!' && r.base[i] <= '}')
|
||||
putchar(r.base[i]);
|
||||
else
|
||||
putchar('.');
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -542,10 +568,8 @@ make_server(const char *servname, const char *userarg) {
|
||||
if (srv == NULL)
|
||||
fatal("memory allocation failure in %s:%d",
|
||||
__FILE__, __LINE__);
|
||||
strncpy(srv->servername, servname, MXNAME);
|
||||
strncpy(srv->userarg, userarg, MXNAME);
|
||||
srv->servername[MXNAME-1] = 0;
|
||||
srv->userarg[MXNAME-1] = 0;
|
||||
strlcpy(srv->servername, servname, MXNAME);
|
||||
strlcpy(srv->userarg, userarg, MXNAME);
|
||||
ISC_LINK_INIT(srv, link);
|
||||
return (srv);
|
||||
}
|
||||
@@ -720,7 +744,7 @@ make_empty_lookup(void) {
|
||||
looknew->xfr_q = NULL;
|
||||
looknew->current_query = NULL;
|
||||
looknew->doing_xfr = ISC_FALSE;
|
||||
looknew->ixfr_serial = ISC_FALSE;
|
||||
looknew->ixfr_serial = 0;
|
||||
looknew->trace = ISC_FALSE;
|
||||
looknew->trace_root = ISC_FALSE;
|
||||
looknew->identify = ISC_FALSE;
|
||||
@@ -903,9 +927,12 @@ setup_text_key(void) {
|
||||
|
||||
secretsize = isc_buffer_usedlength(&secretbuf);
|
||||
|
||||
result = dns_name_fromtext(&keyname, namebuf,
|
||||
dns_rootname, ISC_FALSE,
|
||||
namebuf);
|
||||
if (hmacname == NULL) {
|
||||
result = DST_R_UNSUPPORTEDALG;
|
||||
goto failure;
|
||||
}
|
||||
|
||||
result = dns_name_fromtext(&keyname, namebuf, dns_rootname, 0, namebuf);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto failure;
|
||||
|
||||
@@ -924,14 +951,164 @@ setup_text_key(void) {
|
||||
isc_buffer_free(&namebuf);
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc) {
|
||||
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;
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
printf("invalid %s '%s': %s\n", desc,
|
||||
value, isc_result_totext(result));
|
||||
return (result);
|
||||
}
|
||||
*uip = n;
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static isc_uint32_t
|
||||
parse_bits(char *arg, const char *desc, isc_uint32_t max) {
|
||||
isc_result_t result;
|
||||
isc_uint32_t tmp;
|
||||
|
||||
result = parse_uint(&tmp, arg, max, desc);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("couldn't parse digest bits");
|
||||
tmp = (tmp + 7) & ~0x7U;
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Parse HMAC algorithm specification
|
||||
*/
|
||||
void
|
||||
parse_hmac(const char *hmac) {
|
||||
char buf[20];
|
||||
int len;
|
||||
|
||||
REQUIRE(hmac != NULL);
|
||||
|
||||
len = strlen(hmac);
|
||||
if (len >= (int) sizeof(buf))
|
||||
fatal("unknown key type '%.*s'", len, hmac);
|
||||
strncpy(buf, hmac, sizeof(buf));
|
||||
|
||||
digestbits = 0;
|
||||
|
||||
if (strcasecmp(buf, "hmac-md5") == 0) {
|
||||
hmacname = DNS_TSIG_HMACMD5_NAME;
|
||||
} else if (strncasecmp(buf, "hmac-md5-", 9) == 0) {
|
||||
hmacname = DNS_TSIG_HMACMD5_NAME;
|
||||
digestbits = parse_bits(&buf[9], "digest-bits [0..128]", 128);
|
||||
} else if (strcasecmp(buf, "hmac-sha1") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA1_NAME;
|
||||
digestbits = 0;
|
||||
} else if (strncasecmp(buf, "hmac-sha1-", 10) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA1_NAME;
|
||||
digestbits = parse_bits(&buf[10], "digest-bits [0..160]", 160);
|
||||
} else if (strcasecmp(buf, "hmac-sha224") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA224_NAME;
|
||||
} else if (strncasecmp(buf, "hmac-sha224-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA224_NAME;
|
||||
digestbits = parse_bits(&buf[12], "digest-bits [0..224]", 224);
|
||||
} else if (strcasecmp(buf, "hmac-sha256") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA256_NAME;
|
||||
} else if (strncasecmp(buf, "hmac-sha256-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA256_NAME;
|
||||
digestbits = parse_bits(&buf[12], "digest-bits [0..256]", 256);
|
||||
} else if (strcasecmp(buf, "hmac-sha384") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA384_NAME;
|
||||
} else if (strncasecmp(buf, "hmac-sha384-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA384_NAME;
|
||||
digestbits = parse_bits(&buf[12], "digest-bits [0..384]", 384);
|
||||
} else if (strcasecmp(buf, "hmac-sha512") == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA512_NAME;
|
||||
} else if (strncasecmp(buf, "hmac-sha512-", 12) == 0) {
|
||||
hmacname = DNS_TSIG_HMACSHA512_NAME;
|
||||
digestbits = parse_bits(&buf[12], "digest-bits [0..512]", 512);
|
||||
} else {
|
||||
fprintf(stderr, ";; Warning, ignoring "
|
||||
"invalid TSIG algorithm %s\n", buf);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Get a key from a named.conf format keyfile
|
||||
*/
|
||||
static isc_result_t
|
||||
read_confkey(void) {
|
||||
isc_log_t *lctx = NULL;
|
||||
cfg_parser_t *pctx = NULL;
|
||||
cfg_obj_t *file = NULL;
|
||||
const cfg_obj_t *key = NULL;
|
||||
const cfg_obj_t *secretobj = NULL;
|
||||
const cfg_obj_t *algorithmobj = NULL;
|
||||
const char *keyname;
|
||||
const char *secretstr;
|
||||
const char *algorithm;
|
||||
isc_result_t result;
|
||||
|
||||
if (! isc_file_exists(keyfile))
|
||||
return (ISC_R_FILENOTFOUND);
|
||||
|
||||
result = cfg_parser_create(mctx, lctx, &pctx);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
result = cfg_parse_file(pctx, keyfile, &cfg_type_sessionkey,
|
||||
&file);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
result = cfg_map_get(file, "key", &key);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
(void) cfg_map_get(key, "secret", &secretobj);
|
||||
(void) cfg_map_get(key, "algorithm", &algorithmobj);
|
||||
if (secretobj == NULL || algorithmobj == NULL)
|
||||
fatal("key must have algorithm and secret");
|
||||
|
||||
keyname = cfg_obj_asstring(cfg_map_getname(key));
|
||||
secretstr = cfg_obj_asstring(secretobj);
|
||||
algorithm = cfg_obj_asstring(algorithmobj);
|
||||
|
||||
strncpy(keynametext, keyname, sizeof(keynametext));
|
||||
strncpy(keysecret, secretstr, sizeof(keysecret));
|
||||
parse_hmac(algorithm);
|
||||
setup_text_key();
|
||||
|
||||
cleanup:
|
||||
if (pctx != NULL) {
|
||||
if (file != NULL)
|
||||
cfg_obj_destroy(pctx, &file);
|
||||
cfg_parser_destroy(&pctx);
|
||||
}
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_file_key(void) {
|
||||
isc_result_t result;
|
||||
dst_key_t *dstkey = NULL;
|
||||
|
||||
debug("setup_file_key()");
|
||||
result = dst_key_fromnamedfile(keyfile, DST_TYPE_PRIVATE | DST_TYPE_KEY,
|
||||
mctx, &dstkey);
|
||||
|
||||
/* Try reading the key from a K* pair */
|
||||
result = dst_key_fromnamedfile(keyfile, NULL,
|
||||
DST_TYPE_PRIVATE | DST_TYPE_KEY, mctx,
|
||||
&dstkey);
|
||||
|
||||
/* If that didn't work, try reading it as a session.key keyfile */
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
result = read_confkey();
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return;
|
||||
}
|
||||
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fprintf(stderr, "Couldn't read key from %s: %s\n",
|
||||
keyfile, isc_result_totext(result));
|
||||
@@ -1119,6 +1296,7 @@ set_search_domain(char *domain) {
|
||||
void
|
||||
setup_libs(void) {
|
||||
isc_result_t result;
|
||||
isc_logconfig_t *logconfig = NULL;
|
||||
|
||||
debug("setup_libs()");
|
||||
|
||||
@@ -1135,6 +1313,18 @@ setup_libs(void) {
|
||||
result = isc_mem_create(0, 0, &mctx);
|
||||
check_result(result, "isc_mem_create");
|
||||
|
||||
result = isc_log_create(mctx, &lctx, &logconfig);
|
||||
check_result(result, "isc_log_create");
|
||||
|
||||
isc_log_setcontext(lctx);
|
||||
dns_log_init(lctx);
|
||||
dns_log_setcontext(lctx);
|
||||
|
||||
result = isc_log_usechannel(logconfig, "default_debug", NULL, NULL);
|
||||
check_result(result, "isc_log_usechannel");
|
||||
|
||||
isc_log_setdebuglevel(lctx, 0);
|
||||
|
||||
result = isc_taskmgr_create(mctx, 1, 0, &taskmgr);
|
||||
check_result(result, "isc_taskmgr_create");
|
||||
|
||||
@@ -1515,6 +1705,9 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
isc_result_t result;
|
||||
isc_boolean_t success = ISC_FALSE;
|
||||
int numLookups = 0;
|
||||
int num;
|
||||
isc_result_t lresult, addresses_result;
|
||||
char bad_namestr[DNS_NAME_FORMATSIZE];
|
||||
dns_name_t *domain;
|
||||
isc_boolean_t horizontal = ISC_FALSE, bad = ISC_FALSE;
|
||||
|
||||
@@ -1522,6 +1715,8 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
|
||||
debug("following up %s", query->lookup->textname);
|
||||
|
||||
addresses_result = ISC_R_SUCCESS;
|
||||
bad_namestr[0] = '\0';
|
||||
for (result = dns_message_firstname(msg, section);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_message_nextname(msg, section)) {
|
||||
@@ -1582,8 +1777,7 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
dns_rdata_freestruct(&ns);
|
||||
|
||||
/* Initialize lookup if we've not yet */
|
||||
debug("found NS %d %s", numLookups, namestr);
|
||||
numLookups++;
|
||||
debug("found NS %s", namestr);
|
||||
if (!success) {
|
||||
success = ISC_TRUE;
|
||||
lookup_counter++;
|
||||
@@ -1605,12 +1799,24 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
domain = dns_fixedname_name(&lookup->fdomain);
|
||||
dns_name_copy(name, domain, NULL);
|
||||
}
|
||||
srv = make_server(namestr, namestr);
|
||||
debug("adding server %s", srv->servername);
|
||||
ISC_LIST_APPEND(lookup->my_server_list, srv, link);
|
||||
debug("adding server %s", namestr);
|
||||
num = getaddresses(lookup, namestr, &lresult);
|
||||
if (lresult != ISC_R_SUCCESS) {
|
||||
debug("couldn't get address for '%s': %s",
|
||||
namestr, isc_result_totext(lresult));
|
||||
if (addresses_result == ISC_R_SUCCESS) {
|
||||
addresses_result = lresult;
|
||||
strcpy(bad_namestr, namestr);
|
||||
}
|
||||
}
|
||||
numLookups += num;
|
||||
dns_rdata_reset(&rdata);
|
||||
}
|
||||
}
|
||||
if (numLookups == 0 && addresses_result != ISC_R_SUCCESS) {
|
||||
fatal("couldn't get address for '%s': %s",
|
||||
bad_namestr, isc_result_totext(result));
|
||||
}
|
||||
|
||||
if (lookup == NULL &&
|
||||
section == DNS_SECTION_ANSWER &&
|
||||
@@ -1623,17 +1829,25 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
if (numLookups > 1) {
|
||||
isc_uint32_t i, j;
|
||||
dig_serverlist_t my_server_list;
|
||||
dig_server_t *next;
|
||||
|
||||
ISC_LIST_INIT(my_server_list);
|
||||
|
||||
for (i = numLookups; i > 0; i--) {
|
||||
i = numLookups;
|
||||
for (srv = ISC_LIST_HEAD(lookup->my_server_list);
|
||||
srv != NULL;
|
||||
srv = ISC_LIST_HEAD(lookup->my_server_list)) {
|
||||
INSIST(i > 0);
|
||||
isc_random_get(&j);
|
||||
j %= i;
|
||||
srv = ISC_LIST_HEAD(lookup->my_server_list);
|
||||
while (j-- > 0)
|
||||
srv = ISC_LIST_NEXT(srv, link);
|
||||
next = ISC_LIST_NEXT(srv, link);
|
||||
while (j-- > 0 && next != NULL) {
|
||||
srv = next;
|
||||
next = ISC_LIST_NEXT(srv, link);
|
||||
}
|
||||
ISC_LIST_DEQUEUE(lookup->my_server_list, srv, link);
|
||||
ISC_LIST_APPEND(my_server_list, srv, link);
|
||||
i--;
|
||||
}
|
||||
ISC_LIST_APPENDLIST(lookup->my_server_list,
|
||||
my_server_list, link);
|
||||
@@ -1649,12 +1863,10 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
|
||||
* Return ISC_TRUE iff there was another searchlist entry.
|
||||
*/
|
||||
static isc_boolean_t
|
||||
next_origin(dns_message_t *msg, dig_query_t *query) {
|
||||
next_origin(dig_query_t *query) {
|
||||
dig_lookup_t *lookup;
|
||||
dig_searchlist_t *search;
|
||||
|
||||
UNUSED(msg);
|
||||
|
||||
INSIST(!free_now);
|
||||
|
||||
debug("next_origin()");
|
||||
@@ -1871,7 +2083,7 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
isc_buffer_init(&b, lookup->origin->origin, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->oname, &b, dns_rootname,
|
||||
ISC_FALSE, &lookup->onamebuf);
|
||||
0, &lookup->onamebuf);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_message_puttempname(lookup->sendmsg,
|
||||
&lookup->name);
|
||||
@@ -1888,7 +2100,7 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
isc_buffer_init(&b, lookup->textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->name, &b,
|
||||
lookup->oname, ISC_FALSE,
|
||||
lookup->oname, 0,
|
||||
&lookup->namebuf);
|
||||
}
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -1912,16 +2124,14 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
isc_buffer_init(&b, idn_textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->name, &b,
|
||||
dns_rootname,
|
||||
ISC_FALSE,
|
||||
dns_rootname, 0,
|
||||
&lookup->namebuf);
|
||||
#else
|
||||
len = strlen(lookup->textname);
|
||||
isc_buffer_init(&b, lookup->textname, len);
|
||||
isc_buffer_add(&b, len);
|
||||
result = dns_name_fromtext(lookup->name, &b,
|
||||
dns_rootname,
|
||||
ISC_FALSE,
|
||||
dns_rootname, 0,
|
||||
&lookup->namebuf);
|
||||
#endif
|
||||
}
|
||||
@@ -2678,8 +2888,10 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
dns_rdataset_t *rdataset = NULL;
|
||||
dns_rdata_t rdata = DNS_RDATA_INIT;
|
||||
dns_rdata_soa_t soa;
|
||||
isc_uint32_t serial;
|
||||
isc_uint32_t ixfr_serial = query->lookup->ixfr_serial, serial;
|
||||
isc_result_t result;
|
||||
isc_boolean_t ixfr = query->lookup->rdtype == dns_rdatatype_ixfr;
|
||||
isc_boolean_t axfr = query->lookup->rdtype == dns_rdatatype_axfr;
|
||||
|
||||
debug("check_for_more_data()");
|
||||
|
||||
@@ -2729,6 +2941,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
query->second_rr_rcvd = ISC_TRUE;
|
||||
query->second_rr_serial = 0;
|
||||
debug("got the second rr as nonsoa");
|
||||
axfr = ISC_TRUE;
|
||||
goto next_rdata;
|
||||
}
|
||||
|
||||
@@ -2738,6 +2951,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
*/
|
||||
if (rdata.type != dns_rdatatype_soa)
|
||||
goto next_rdata;
|
||||
|
||||
/* Now we have an SOA. Work with it. */
|
||||
debug("got an SOA");
|
||||
result = dns_rdata_tostruct(&rdata, &soa, NULL);
|
||||
@@ -2747,15 +2961,17 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
if (!query->first_soa_rcvd) {
|
||||
query->first_soa_rcvd = ISC_TRUE;
|
||||
query->first_rr_serial = serial;
|
||||
debug("this is the first %d",
|
||||
query->lookup->ixfr_serial);
|
||||
if (query->lookup->ixfr_serial >=
|
||||
serial)
|
||||
debug("this is the first serial %u",
|
||||
serial);
|
||||
if (ixfr && isc_serial_ge(ixfr_serial,
|
||||
serial)) {
|
||||
debug("got up to date "
|
||||
"response");
|
||||
goto doexit;
|
||||
}
|
||||
goto next_rdata;
|
||||
}
|
||||
if (query->lookup->rdtype ==
|
||||
dns_rdatatype_axfr) {
|
||||
if (axfr) {
|
||||
debug("doing axfr, got second SOA");
|
||||
goto doexit;
|
||||
}
|
||||
@@ -2765,22 +2981,12 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
"empty zone");
|
||||
goto doexit;
|
||||
}
|
||||
debug("this is the second %d",
|
||||
query->lookup->ixfr_serial);
|
||||
debug("this is the second serial %u",
|
||||
serial);
|
||||
query->second_rr_rcvd = ISC_TRUE;
|
||||
query->second_rr_serial = serial;
|
||||
goto next_rdata;
|
||||
}
|
||||
if (query->second_rr_serial == 0) {
|
||||
/*
|
||||
* If the second RR was a non-SOA
|
||||
* record, and we're getting any
|
||||
* other SOA, then this is an
|
||||
* AXFR, and we're done.
|
||||
*/
|
||||
debug("done, since axfr");
|
||||
goto doexit;
|
||||
}
|
||||
/*
|
||||
* If we get to this point, we're doing an
|
||||
* IXFR and have to start really looking
|
||||
@@ -2796,7 +3002,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
|
||||
debug("done with ixfr");
|
||||
goto doexit;
|
||||
}
|
||||
debug("meaningless soa %d", serial);
|
||||
debug("meaningless soa %u", serial);
|
||||
next_rdata:
|
||||
result = dns_rdataset_next(rdataset);
|
||||
} while (result == ISC_R_SUCCESS);
|
||||
@@ -3173,7 +3379,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
if (!l->doing_xfr || l->xfr_q == query) {
|
||||
if (msg->rcode != dns_rcode_noerror &&
|
||||
(l->origin != NULL || l->need_search)) {
|
||||
if (!next_origin(msg, query) || showsearch) {
|
||||
if (!next_origin(query) || showsearch) {
|
||||
printmessage(query, msg, ISC_TRUE);
|
||||
received(b->used, &sevent->address, query);
|
||||
}
|
||||
@@ -3358,6 +3564,36 @@ get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr) {
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
int
|
||||
getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) {
|
||||
isc_result_t result;
|
||||
isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES];
|
||||
isc_netaddr_t netaddr;
|
||||
int count, i;
|
||||
dig_server_t *srv;
|
||||
char tmp[ISC_NETADDR_FORMATSIZE];
|
||||
|
||||
result = bind9_getaddresses(host, 0, sockaddrs,
|
||||
DIG_MAX_ADDRESSES, &count);
|
||||
if (resultp != NULL)
|
||||
*resultp = result;
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
if (resultp == NULL)
|
||||
fatal("couldn't get address for '%s': %s",
|
||||
host, isc_result_totext(result));
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
|
||||
isc_netaddr_format(&netaddr, tmp, sizeof(tmp));
|
||||
srv = make_server(tmp, host);
|
||||
ISC_LIST_APPEND(lookup->my_server_list, srv, link);
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
/*%
|
||||
* Initiate either a TCP or UDP lookup
|
||||
*/
|
||||
@@ -3549,9 +3785,11 @@ destroy_libs(void) {
|
||||
free_name(&chase_signame, mctx);
|
||||
#endif
|
||||
|
||||
debug("Destroy memory");
|
||||
|
||||
#endif
|
||||
debug("Removing log context");
|
||||
isc_log_destroy(&lctx);
|
||||
|
||||
debug("Destroy memory");
|
||||
if (memdebugging != 0)
|
||||
isc_mem_stats(mctx, stderr);
|
||||
if (mctx != NULL)
|
||||
@@ -3994,7 +4232,6 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
|
||||
return (result);
|
||||
}
|
||||
|
||||
|
||||
isc_result_t
|
||||
get_trusted_key(isc_mem_t *mctx)
|
||||
{
|
||||
@@ -4041,7 +4278,7 @@ get_trusted_key(isc_mem_t *mctx)
|
||||
return (ISC_R_FAILURE);
|
||||
}
|
||||
fclose(fptemp);
|
||||
result = dst_key_fromnamedfile(filetemp, DST_TYPE_PUBLIC,
|
||||
result = dst_key_fromnamedfile(filetemp, NULL, DST_TYPE_PUBLIC,
|
||||
mctx, &key);
|
||||
removetmpkey(mctx, filetemp);
|
||||
isc_mem_free(mctx, filetemp);
|
||||
@@ -4056,6 +4293,7 @@ get_trusted_key(isc_mem_t *mctx)
|
||||
if (key != NULL)
|
||||
dst_key_free(&key);
|
||||
}
|
||||
fclose(fp);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -4075,7 +4313,7 @@ nameFromString(const char *str, dns_name_t *p_ret) {
|
||||
|
||||
dns_fixedname_init(&fixedname);
|
||||
result = dns_name_fromtext(dns_fixedname_name(&fixedname), &buffer,
|
||||
dns_rootname, ISC_TRUE, NULL);
|
||||
dns_rootname, DNS_NAME_DOWNCASE, NULL);
|
||||
check_result(result, "nameFromString");
|
||||
|
||||
if (dns_name_dynamic(p_ret))
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: host.1,v 1.29.114.2 2009/07/11 01:55:20 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: host.c,v 1.116.216.5 2010/10/19 23:45:58 tbox Exp $ */
|
||||
/* $Id: host.c,v 1.120.66.5 2011/03/11 07:11:51 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -141,6 +141,9 @@ rcode_totext(dns_rcode_t rcode)
|
||||
return totext.deconsttext;
|
||||
}
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
show_usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
show_usage(void) {
|
||||
fputs(
|
||||
@@ -518,6 +521,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
|
||||
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
|
||||
printf("%scd", did_flag ? " " : "");
|
||||
did_flag = ISC_TRUE;
|
||||
POST(did_flag);
|
||||
}
|
||||
printf("; QUERY: %u, ANSWER: %u, "
|
||||
"AUTHORITY: %u, ADDITIONAL: %u\n",
|
||||
@@ -821,8 +825,8 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
||||
if (isc_commandline_index >= argc)
|
||||
show_usage();
|
||||
|
||||
strncpy(hostname, argv[isc_commandline_index], sizeof(hostname));
|
||||
hostname[sizeof(hostname)-1]=0;
|
||||
strlcpy(hostname, argv[isc_commandline_index], sizeof(hostname));
|
||||
|
||||
if (argc > isc_commandline_index + 1) {
|
||||
set_nameserver(argv[isc_commandline_index+1]);
|
||||
debug("server is %s", argv[isc_commandline_index+1]);
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: host.docbook,v 1.18.114.2 2009/01/22 23:47:05 tbox Exp $ -->
|
||||
<!-- $Id: host.docbook,v 1.20 2009/01/20 23:47:56 tbox Exp $ -->
|
||||
<refentry id="man.host">
|
||||
|
||||
<refentryinfo>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: host.html,v 1.28.114.2 2009/07/11 01:55:20 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543434"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543436"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">host</strong></span>
|
||||
is a simple utility for performing DNS lookups.
|
||||
It is normally used to convert names to IP addresses and vice versa.
|
||||
@@ -184,7 +184,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543800"></a><h2>IDN SUPPORT</h2>
|
||||
<a name="id2543802"></a><h2>IDN SUPPORT</h2>
|
||||
<p>
|
||||
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
|
||||
domain name) support, it can accept and display non-ASCII domain names.
|
||||
@@ -198,12 +198,12 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543822"></a><h2>FILES</h2>
|
||||
<a name="id2543825"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543834"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543836"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
|
||||
</p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dig.h,v 1.107.120.2 2009/01/06 23:47:26 tbox Exp $ */
|
||||
/* $Id: dig.h,v 1.111.66.3 2011/12/07 17:24:25 each Exp $ */
|
||||
|
||||
#ifndef DIG_H
|
||||
#define DIG_H
|
||||
@@ -288,12 +288,16 @@ extern int idnoptions;
|
||||
isc_result_t
|
||||
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
|
||||
|
||||
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, isc_boolean_t ip6_int,
|
||||
isc_boolean_t strict);
|
||||
|
||||
void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
fatal(const char *format, ...)
|
||||
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
@@ -325,6 +329,13 @@ setup_libs(void);
|
||||
void
|
||||
setup_system(void);
|
||||
|
||||
isc_result_t
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc);
|
||||
|
||||
void
|
||||
parse_hmac(const char *hmacstr);
|
||||
|
||||
dig_lookup_t *
|
||||
requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: nslookup.1,v 1.14.354.2 2010/02/23 01:56:02 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: nslookup.c,v 1.117.334.5 2009/10/20 01:11:22 marka Exp $ */
|
||||
/* $Id: nslookup.c,v 1.124.40.2 2011/02/21 23:46:37 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -535,28 +535,6 @@ testclass(char *typetext) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
safecpy(char *dest, char *src, int size) {
|
||||
strncpy(dest, src, size);
|
||||
dest[size-1] = 0;
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
|
||||
const char *desc) {
|
||||
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;
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
printf("invalid %s '%s': %s\n", desc,
|
||||
value, isc_result_totext(result));
|
||||
return result;
|
||||
}
|
||||
*uip = n;
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static void
|
||||
set_port(const char *value) {
|
||||
isc_uint32_t n;
|
||||
@@ -587,34 +565,34 @@ setoption(char *opt) {
|
||||
show_settings(ISC_TRUE, ISC_FALSE);
|
||||
} else if (strncasecmp(opt, "class=", 6) == 0) {
|
||||
if (testclass(&opt[6]))
|
||||
safecpy(defclass, &opt[6], sizeof(defclass));
|
||||
strlcpy(defclass, &opt[6], sizeof(defclass));
|
||||
} else if (strncasecmp(opt, "cl=", 3) == 0) {
|
||||
if (testclass(&opt[3]))
|
||||
safecpy(defclass, &opt[3], sizeof(defclass));
|
||||
strlcpy(defclass, &opt[3], sizeof(defclass));
|
||||
} else if (strncasecmp(opt, "type=", 5) == 0) {
|
||||
if (testtype(&opt[5]))
|
||||
safecpy(deftype, &opt[5], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[5], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "ty=", 3) == 0) {
|
||||
if (testtype(&opt[3]))
|
||||
safecpy(deftype, &opt[3], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[3], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "querytype=", 10) == 0) {
|
||||
if (testtype(&opt[10]))
|
||||
safecpy(deftype, &opt[10], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[10], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "query=", 6) == 0) {
|
||||
if (testtype(&opt[6]))
|
||||
safecpy(deftype, &opt[6], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[6], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "qu=", 3) == 0) {
|
||||
if (testtype(&opt[3]))
|
||||
safecpy(deftype, &opt[3], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[3], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "q=", 2) == 0) {
|
||||
if (testtype(&opt[2]))
|
||||
safecpy(deftype, &opt[2], sizeof(deftype));
|
||||
strlcpy(deftype, &opt[2], sizeof(deftype));
|
||||
} else if (strncasecmp(opt, "domain=", 7) == 0) {
|
||||
safecpy(domainopt, &opt[7], sizeof(domainopt));
|
||||
strlcpy(domainopt, &opt[7], sizeof(domainopt));
|
||||
set_search_domain(domainopt);
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "do=", 3) == 0) {
|
||||
safecpy(domainopt, &opt[3], sizeof(domainopt));
|
||||
strlcpy(domainopt, &opt[3], sizeof(domainopt));
|
||||
set_search_domain(domainopt);
|
||||
usesearch = ISC_TRUE;
|
||||
} else if (strncasecmp(opt, "port=", 5) == 0) {
|
||||
@@ -693,11 +671,11 @@ addlookup(char *opt) {
|
||||
lookup = make_empty_lookup();
|
||||
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, ISC_TRUE)
|
||||
== ISC_R_SUCCESS) {
|
||||
safecpy(lookup->textname, store, sizeof(lookup->textname));
|
||||
strlcpy(lookup->textname, store, sizeof(lookup->textname));
|
||||
lookup->rdtype = dns_rdatatype_ptr;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
} else {
|
||||
safecpy(lookup->textname, opt, sizeof(lookup->textname));
|
||||
strlcpy(lookup->textname, opt, sizeof(lookup->textname));
|
||||
lookup->rdtype = rdtype;
|
||||
lookup->rdtypeset = ISC_TRUE;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: nslookup.docbook,v 1.16.334.2 2010/02/22 23:47:53 tbox Exp $ -->
|
||||
<!-- $Id: nslookup.docbook,v 1.16.560.2 2010/02/22 23:48:29 tbox Exp $ -->
|
||||
<!--
|
||||
- Copyright (c) 1985, 1989
|
||||
- The Regents of the University of California. All rights reserved.
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: nslookup.html,v 1.21.354.2 2010/02/23 01:56:02 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -31,7 +31,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">nslookup</code> [<code class="option">-option</code>] [name | -] [server]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543358"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543360"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">Nslookup</strong></span>
|
||||
is a program to query Internet domain name servers. <span><strong class="command">Nslookup</strong></span>
|
||||
has two modes: interactive and non-interactive. Interactive mode allows
|
||||
@@ -43,7 +43,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543374"></a><h2>ARGUMENTS</h2>
|
||||
<a name="id2543376"></a><h2>ARGUMENTS</h2>
|
||||
<p>
|
||||
Interactive mode is entered in the following cases:
|
||||
</p>
|
||||
@@ -78,7 +78,7 @@ nslookup -query=hinfo -timeout=10
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543418"></a><h2>INTERACTIVE COMMANDS</h2>
|
||||
<a name="id2543419"></a><h2>INTERACTIVE COMMANDS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="constant">host</code> [<span class="optional">server</span>]</span></dt>
|
||||
<dd>
|
||||
@@ -288,19 +288,19 @@ nslookup -query=hinfo -timeout=10
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2546284"></a><h2>FILES</h2>
|
||||
<a name="id2546354"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/resolv.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2546296"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2546365"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2546330"></a><h2>Author</h2>
|
||||
<a name="id2546400"></a><h2>Author</h2>
|
||||
<p>
|
||||
Andrew Cherenson
|
||||
</p>
|
||||
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
|
||||
# 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 /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
|
||||
|
||||
@@ -66,7 +66,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /u /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /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 /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
@@ -132,18 +132,19 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /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/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" /machine:I386 /out:"../../../Build/Release/dig.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 /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" /machine:I386 /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"
|
||||
|
||||
@@ -191,7 +192,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/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)\dig.bsc"
|
||||
BSC32_SBRS= \
|
||||
@@ -204,12 +205,13 @@ 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/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
|
||||
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 /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug /machine:I386 /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"
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddighost
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddighost
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
@@ -70,7 +70,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddighost
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddighost
|
||||
# SUBTRACT CPP /X
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
|
||||
# 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 /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "host - Win32 Debug"
|
||||
|
||||
@@ -66,7 +66,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /u /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /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 /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
@@ -132,18 +132,19 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.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/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\host.pdb" /machine:I386 /out:"../../../Build/Release/host.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 /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\host.pdb" /machine:I386 /out:"../../../Build/Release/host.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"$(INTDIR)\host.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"
|
||||
|
||||
@@ -191,7 +192,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/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)\host.bsc"
|
||||
BSC32_SBRS= \
|
||||
@@ -204,12 +205,13 @@ 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/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\host.pdb" /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
|
||||
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 /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\host.pdb" /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"$(INTDIR)\host.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"
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nslookup.exe"
|
||||
# ADD LINK32 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 /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nslookup.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
|
||||
|
||||
@@ -66,7 +66,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
||||
# SUBTRACT CPP /X /u /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
|
||||
# ADD LINK32 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 /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
@@ -132,18 +132,19 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.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/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nslookup.pdb" /machine:I386 /out:"../../../Build/Release/nslookup.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 /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nslookup.pdb" /machine:I386 /out:"../../../Build/Release/nslookup.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"$(INTDIR)\nslookup.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"
|
||||
|
||||
@@ -191,7 +192,7 @@ CLEAN :
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/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)\nslookup.bsc"
|
||||
BSC32_SBRS= \
|
||||
@@ -204,12 +205,13 @@ 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/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nslookup.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
|
||||
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 /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nslookup.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\dighost.obj" \
|
||||
"$(INTDIR)\nslookup.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"
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Makefile
|
||||
dnssec-dsfromkey
|
||||
dnssec-keyfromlabel
|
||||
dnssec-keygen
|
||||
dnssec-makekeyset
|
||||
dnssec-revoke
|
||||
dnssec-settime
|
||||
dnssec-signkey
|
||||
dnssec-signzone
|
||||
*.lo
|
||||
.libs
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2000-2002 Internet Software Consortium.
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -13,7 +13,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: Makefile.in,v 1.35 2008/11/07 02:28:49 marka Exp $
|
||||
# $Id: Makefile.in,v 1.42 2009/12/05 23:31:40 each Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -25,11 +25,12 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES}
|
||||
|
||||
CDEFINES = -DVERSION=\"${VERSION}\"
|
||||
CDEFINES = -DVERSION=\"${VERSION}\" @USE_PKCS11@
|
||||
CWARNINGS =
|
||||
|
||||
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
|
||||
ISCLIBS = ../../lib/isc/libisc.@A@
|
||||
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
|
||||
|
||||
DNSDEPLIBS = ../../lib/dns/libdns.@A@
|
||||
ISCDEPLIBS = ../../lib/isc/libisc.@A@
|
||||
@@ -38,44 +39,56 @@ DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
|
||||
|
||||
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
|
||||
|
||||
NOSYMLIBS = ${DNSLIBS} ${ISCNOSYMLIBS} @LIBS@
|
||||
|
||||
# Alphabetically
|
||||
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ \
|
||||
dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@
|
||||
dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@ \
|
||||
dnssec-revoke@EXEEXT@ dnssec-settime@EXEEXT@
|
||||
|
||||
OBJS = dnssectool.@O@
|
||||
|
||||
SRCS = dnssec-dsfromkey.c dnssec-keyfromlabel.c dnssec-keygen.c \
|
||||
dnssec-signzone.c dnssectool.c
|
||||
dnssec-revoke.c dnssec-settime.c dnssec-signzone.c dnssectool.c
|
||||
|
||||
MANPAGES = dnssec-dsfromkey.8 dnssec-keyfromlabel.8 dnssec-keygen.8 \
|
||||
dnssec-signzone.8
|
||||
dnssec-revoke.8 dnssec-settime.8 dnssec-signzone.8
|
||||
|
||||
HTMLPAGES = dnssec-dsfromkey.html dnssec-keyfromlabel.html \
|
||||
dnssec-keygen.html dnssec-signzone.html
|
||||
dnssec-keygen.html dnssec-revoke.html \
|
||||
dnssec-settime.html dnssec-signzone.html
|
||||
|
||||
MANOBJS = ${MANPAGES} ${HTMLPAGES}
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
|
||||
dnssec-dsfromkey@EXEEXT@: dnssec-dsfromkey.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-dsfromkey.@O@ ${OBJS} ${LIBS}
|
||||
export BASEOBJS="dnssec-dsfromkey.@O@ ${OBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
dnssec-keyfromlabel@EXEEXT@: dnssec-keyfromlabel.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-keyfromlabel.@O@ ${OBJS} ${LIBS}
|
||||
export BASEOBJS="dnssec-keyfromlabel.@O@ ${OBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-keygen.@O@ ${OBJS} ${LIBS}
|
||||
export BASEOBJS="dnssec-keygen.@O@ ${OBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
dnssec-signzone.@O@: dnssec-signzone.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
|
||||
-c ${srcdir}/dnssec-signzone.c
|
||||
|
||||
dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
|
||||
export BASEOBJS="dnssec-signzone.@O@ ${OBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
dnssec-revoke@EXEEXT@: dnssec-revoke.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-signzone.@O@ ${OBJS} ${LIBS}
|
||||
dnssec-revoke.@O@ ${OBJS} ${LIBS}
|
||||
|
||||
dnssec-settime@EXEEXT@: dnssec-settime.@O@ ${OBJS} ${DEPLIBS}
|
||||
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
|
||||
dnssec-settime.@O@ ${OBJS} ${LIBS}
|
||||
|
||||
doc man:: ${MANOBJS}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -12,18 +12,18 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-dsfromkey.8,v 1.5.14.1 2010/05/19 02:06:11 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: dnssec\-dsfromkey
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: November 29, 2008
|
||||
.\" Date: August 26, 2009
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DNSSEC\-DSFROMKEY" "8" "November 29, 2008" "BIND9" "BIND9"
|
||||
.TH "DNSSEC\-DSFROMKEY" "8" "August 26, 2009" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
@@ -32,9 +32,9 @@
|
||||
dnssec\-dsfromkey \- DNSSEC DS RR generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 17
|
||||
\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] {keyfile}
|
||||
\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] {keyfile}
|
||||
.HP 17
|
||||
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdir\fR\fR] {dnsname}
|
||||
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-A\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {dnsname}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-dsfromkey\fR
|
||||
@@ -58,28 +58,46 @@ Select the digest algorithm. The value of
|
||||
must be one of SHA\-1 (SHA1) or SHA\-256 (SHA256). These values are case insensitive.
|
||||
.RE
|
||||
.PP
|
||||
\-v \fIlevel\fR
|
||||
\-K \fIdirectory\fR
|
||||
.RS 4
|
||||
Sets the debugging level.
|
||||
Look for key files (or, in keyset mode,
|
||||
\fIkeyset\-\fR
|
||||
files) in
|
||||
\fBdirectory\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-f \fIfile\fR
|
||||
.RS 4
|
||||
Zone file mode: in place of the keyfile name, the argument is the DNS domain name of a zone master file, which can be read from
|
||||
\fBfile\fR. If the zone name is the same as
|
||||
\fBfile\fR, then it may be omitted.
|
||||
.RE
|
||||
.PP
|
||||
\-A
|
||||
.RS 4
|
||||
Include ZSK's when generating DS records. Without this option, only keys which have the KSK flag set will be converted to DS records and printed. Useful only in zone file mode.
|
||||
.RE
|
||||
.PP
|
||||
\-l \fIdomain\fR
|
||||
.RS 4
|
||||
Generate a DLV set instead of a DS set. The specified
|
||||
\fBdomain\fR
|
||||
is appended to the name for each record in the set. The DNSSEC Lookaside Validation (DLV) RR is described in RFC 4431.
|
||||
.RE
|
||||
.PP
|
||||
\-s
|
||||
.RS 4
|
||||
Keyset mode: in place of the keyfile name, the argument is the DNS domain name of a keyset file. Following options make sense only in this mode.
|
||||
Keyset mode: in place of the keyfile name, the argument is the DNS domain name of a keyset file.
|
||||
.RE
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Specifies the DNS class (default is IN), useful only in the keyset mode.
|
||||
Specifies the DNS class (default is IN). Useful only in keyset or zone file mode.
|
||||
.RE
|
||||
.PP
|
||||
\-d \fIdirectory\fR
|
||||
\-v \fIlevel\fR
|
||||
.RS 4
|
||||
Look for
|
||||
\fIkeyset\fR
|
||||
files in
|
||||
\fBdirectory\fR
|
||||
as the directory, ignored when not in the keyset mode.
|
||||
Sets the debugging level.
|
||||
.RE
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
@@ -115,10 +133,11 @@ A keyfile error can give a "file not found" even if the file exists.
|
||||
\fBdnssec\-signzone\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 3658,
|
||||
RFC 4431.
|
||||
RFC 4509.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-dsfromkey.c,v 1.2.14.6 2010/01/11 23:47:22 tbox Exp $ */
|
||||
/* $Id: dnssec-dsfromkey.c,v 1.16.50.4 2011/09/03 05:52:55 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#include <dns/ds.h>
|
||||
#include <dns/fixedname.h>
|
||||
#include <dns/log.h>
|
||||
#include <dns/keyvalues.h>
|
||||
#include <dns/master.h>
|
||||
#include <dns/name.h>
|
||||
#include <dns/rdata.h>
|
||||
#include <dns/rdataclass.h>
|
||||
@@ -48,54 +50,40 @@
|
||||
|
||||
#include "dnssectool.h"
|
||||
|
||||
#ifndef PATH_MAX
|
||||
#define PATH_MAX 1024 /* AIX, WIN32, and others don't define this. */
|
||||
#endif
|
||||
|
||||
const char *program = "dnssec-dsfromkey";
|
||||
int verbose;
|
||||
|
||||
static dns_rdataclass_t rdclass;
|
||||
static dns_fixedname_t fixed;
|
||||
static dns_name_t *name = NULL;
|
||||
static dns_db_t *db = NULL;
|
||||
static dns_dbnode_t *node = NULL;
|
||||
static dns_rdataset_t keyset;
|
||||
static isc_mem_t *mctx = NULL;
|
||||
static dns_fixedname_t fixed;
|
||||
static dns_name_t *name = NULL;
|
||||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
static void
|
||||
loadkeys(char *dirname, char *setname)
|
||||
{
|
||||
isc_result_t result;
|
||||
char filename[1024];
|
||||
isc_buffer_t buf;
|
||||
static isc_result_t
|
||||
initname(char *setname) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_rdataset_init(&keyset);
|
||||
dns_fixedname_init(&fixed);
|
||||
name = dns_fixedname_name(&fixed);
|
||||
|
||||
isc_buffer_init(&buf, setname, strlen(setname));
|
||||
isc_buffer_add(&buf, strlen(setname));
|
||||
result = dns_name_fromtext(name, &buf, dns_rootname, ISC_FALSE, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't convert DNS name %s", setname);
|
||||
result = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
|
||||
return (result);
|
||||
}
|
||||
|
||||
isc_buffer_init(&buf, filename, sizeof(filename));
|
||||
if (dirname != NULL) {
|
||||
if (isc_buffer_availablelength(&buf) < strlen(dirname))
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, dirname);
|
||||
if (dirname[strlen(dirname) - 1] != '/') {
|
||||
if (isc_buffer_availablelength(&buf) < 1)
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, "/");
|
||||
}
|
||||
}
|
||||
static isc_result_t
|
||||
loadsetfromfile(char *filename, dns_rdataset_t *rdataset) {
|
||||
isc_result_t result;
|
||||
dns_db_t *db = NULL;
|
||||
dns_dbnode_t *node = NULL;
|
||||
char setname[DNS_NAME_FORMATSIZE];
|
||||
|
||||
if (isc_buffer_availablelength(&buf) < strlen("keyset-"))
|
||||
fatal("directory name '%s' too long", dirname);
|
||||
isc_buffer_putstr(&buf, "keyset-");
|
||||
result = dns_name_tofilenametext(name, ISC_FALSE, &buf);
|
||||
check_result(result, "dns_name_tofilenametext()");
|
||||
if (isc_buffer_availablelength(&buf) == 0)
|
||||
fatal("name %s too long", setname);
|
||||
isc_buffer_putuint8(&buf, 0);
|
||||
dns_name_format(name, setname, sizeof(setname));
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone,
|
||||
rdclass, 0, NULL, &db);
|
||||
@@ -111,11 +99,49 @@ loadkeys(char *dirname, char *setname)
|
||||
fatal("can't find %s node in %s", setname, filename);
|
||||
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_dnskey,
|
||||
0, 0, &keyset, NULL);
|
||||
0, 0, rdataset, NULL);
|
||||
|
||||
if (result == ISC_R_NOTFOUND)
|
||||
fatal("no DNSKEY RR for %s in %s", setname, filename);
|
||||
else if (result != ISC_R_SUCCESS)
|
||||
fatal("dns_db_findrdataset");
|
||||
|
||||
if (node != NULL)
|
||||
dns_db_detachnode(db, &node);
|
||||
if (db != NULL)
|
||||
dns_db_detach(&db);
|
||||
return (result);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
loadkeyset(char *dirname, dns_rdataset_t *rdataset) {
|
||||
isc_result_t result;
|
||||
char filename[PATH_MAX + 1];
|
||||
isc_buffer_t buf;
|
||||
|
||||
dns_rdataset_init(rdataset);
|
||||
|
||||
isc_buffer_init(&buf, filename, sizeof(filename));
|
||||
if (dirname != NULL) {
|
||||
/* allow room for a trailing slash */
|
||||
if (strlen(dirname) >= isc_buffer_availablelength(&buf))
|
||||
return (ISC_R_NOSPACE);
|
||||
isc_buffer_putstr(&buf, dirname);
|
||||
if (dirname[strlen(dirname) - 1] != '/')
|
||||
isc_buffer_putstr(&buf, "/");
|
||||
}
|
||||
|
||||
if (isc_buffer_availablelength(&buf) < 7)
|
||||
return (ISC_R_NOSPACE);
|
||||
isc_buffer_putstr(&buf, "keyset-");
|
||||
|
||||
result = dns_name_tofilenametext(name, ISC_FALSE, &buf);
|
||||
check_result(result, "dns_name_tofilenametext()");
|
||||
if (isc_buffer_availablelength(&buf) == 0)
|
||||
return (ISC_R_NOSPACE);
|
||||
isc_buffer_putuint8(&buf, 0);
|
||||
|
||||
return (loadsetfromfile(filename, rdataset));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -127,20 +153,20 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
|
||||
isc_buffer_t keyb;
|
||||
isc_region_t r;
|
||||
|
||||
dns_rdataset_init(&keyset);
|
||||
dns_rdata_init(rdata);
|
||||
|
||||
isc_buffer_init(&keyb, key_buf, key_buf_size);
|
||||
|
||||
result = dst_key_fromnamedfile(filename, DST_TYPE_PUBLIC, mctx, &key);
|
||||
result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC,
|
||||
mctx, &key);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("invalid keyfile name %s: %s",
|
||||
filename, isc_result_totext(result));
|
||||
|
||||
if (verbose > 2) {
|
||||
char keystr[KEY_FORMATSIZE];
|
||||
char keystr[DST_KEY_FORMATSIZE];
|
||||
|
||||
key_format(key, keystr, sizeof(keystr));
|
||||
dst_key_format(key, keystr, sizeof(keystr));
|
||||
fprintf(stderr, "%s: %s\n", program, keystr);
|
||||
}
|
||||
|
||||
@@ -169,7 +195,7 @@ logkey(dns_rdata_t *rdata)
|
||||
isc_result_t result;
|
||||
dst_key_t *key = NULL;
|
||||
isc_buffer_t buf;
|
||||
char keystr[KEY_FORMATSIZE];
|
||||
char keystr[DST_KEY_FORMATSIZE];
|
||||
|
||||
isc_buffer_init(&buf, rdata->data, rdata->length);
|
||||
isc_buffer_add(&buf, rdata->length);
|
||||
@@ -177,89 +203,129 @@ logkey(dns_rdata_t *rdata)
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return;
|
||||
|
||||
key_format(key, keystr, sizeof(keystr));
|
||||
dst_key_format(key, keystr, sizeof(keystr));
|
||||
fprintf(stderr, "%s: %s\n", program, keystr);
|
||||
|
||||
dst_key_free(&key);
|
||||
}
|
||||
|
||||
static void
|
||||
emitds(unsigned int dtype, dns_rdata_t *rdata)
|
||||
emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
|
||||
dns_rdata_t *rdata)
|
||||
{
|
||||
isc_result_t result;
|
||||
unsigned char buf[DNS_DS_BUFFERSIZE];
|
||||
char text_buf[DST_KEY_MAXTEXTSIZE];
|
||||
char class_buf[10];
|
||||
isc_buffer_t textb, classb;
|
||||
isc_region_t r;
|
||||
dns_rdata_t ds;
|
||||
isc_result_t result;
|
||||
unsigned char buf[DNS_DS_BUFFERSIZE];
|
||||
char text_buf[DST_KEY_MAXTEXTSIZE];
|
||||
char name_buf[DNS_NAME_MAXWIRE];
|
||||
char class_buf[10];
|
||||
isc_buffer_t textb, nameb, classb;
|
||||
isc_region_t r;
|
||||
dns_rdata_t ds;
|
||||
dns_rdata_dnskey_t dnskey;
|
||||
|
||||
isc_buffer_init(&textb, text_buf, sizeof(text_buf));
|
||||
isc_buffer_init(&nameb, name_buf, sizeof(name_buf));
|
||||
isc_buffer_init(&classb, class_buf, sizeof(class_buf));
|
||||
|
||||
dns_rdata_init(&ds);
|
||||
|
||||
result = dns_rdata_tostruct(rdata, &dnskey, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't convert DNSKEY");
|
||||
|
||||
if ((dnskey.flags & DNS_KEYFLAG_KSK) == 0 && !showall)
|
||||
return;
|
||||
|
||||
result = dns_ds_buildrdata(name, rdata, dtype, buf, &ds);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't build DS");
|
||||
fatal("can't build record");
|
||||
|
||||
result = dns_name_totext(name, ISC_FALSE, &nameb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print name");
|
||||
|
||||
/* Add lookaside origin, if set */
|
||||
if (lookaside != NULL) {
|
||||
if (isc_buffer_availablelength(&nameb) < strlen(lookaside))
|
||||
fatal("DLV origin '%s' is too long", lookaside);
|
||||
isc_buffer_putstr(&nameb, lookaside);
|
||||
if (lookaside[strlen(lookaside) - 1] != '.') {
|
||||
if (isc_buffer_availablelength(&nameb) < 1)
|
||||
fatal("DLV origin '%s' is too long", lookaside);
|
||||
isc_buffer_putstr(&nameb, ".");
|
||||
}
|
||||
}
|
||||
|
||||
result = dns_rdata_totext(&ds, (dns_name_t *) NULL, &textb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS rdata");
|
||||
fatal("can't print rdata");
|
||||
|
||||
result = dns_rdataclass_totext(rdclass, &classb);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS class");
|
||||
fatal("can't print class");
|
||||
|
||||
result = dns_name_print(name, stdout);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("can't print DS name");
|
||||
|
||||
putchar(' ');
|
||||
isc_buffer_usedregion(&nameb, &r);
|
||||
printf("%.*s ", (int)r.length, r.base);
|
||||
|
||||
isc_buffer_usedregion(&classb, &r);
|
||||
isc_util_fwrite(r.base, 1, r.length, stdout);
|
||||
printf("%.*s", (int)r.length, r.base);
|
||||
|
||||
printf(" DS ");
|
||||
if (lookaside == NULL)
|
||||
printf(" DS ");
|
||||
else
|
||||
printf(" DLV ");
|
||||
|
||||
isc_buffer_usedregion(&textb, &r);
|
||||
isc_util_fwrite(r.base, 1, r.length, stdout);
|
||||
putchar('\n');
|
||||
printf("%.*s\n", (int)r.length, r.base);
|
||||
}
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s options keyfile\n\n", program);
|
||||
fprintf(stderr, " %s options [-c class] [-d dir] -s dnsname\n\n",
|
||||
fprintf(stderr, " %s options [-K dir] keyfile\n\n", program);
|
||||
fprintf(stderr, " %s options [-K dir] [-c class] -s dnsname\n\n",
|
||||
program);
|
||||
fprintf(stderr, " %s options -f zonefile (as zone name)\n\n", program);
|
||||
fprintf(stderr, " %s options -f zonefile zonename\n\n", program);
|
||||
fprintf(stderr, "Version: %s\n", VERSION);
|
||||
fprintf(stderr, "Options:\n");
|
||||
fprintf(stderr, " -v <verbose level>\n");
|
||||
fprintf(stderr, " -K <directory>: directory in which to find "
|
||||
"key file or keyset file\n");
|
||||
fprintf(stderr, " -a algorithm: digest algorithm "
|
||||
"(SHA-1 or SHA-256)\n");
|
||||
fprintf(stderr, " -1: use SHA-1\n");
|
||||
fprintf(stderr, " -2: use SHA-256\n");
|
||||
fprintf(stderr, " -a algorithm: use algorithm\n");
|
||||
fprintf(stderr, "Keyset options:\n");
|
||||
fprintf(stderr, " -s: keyset mode\n");
|
||||
fprintf(stderr, " -c class\n");
|
||||
fprintf(stderr, " -d directory\n");
|
||||
fprintf(stderr, "Output: DS RRs\n");
|
||||
fprintf(stderr, " -l: add lookaside zone and print DLV records\n");
|
||||
fprintf(stderr, " -s: read keyset from keyset-<dnsname> file\n");
|
||||
fprintf(stderr, " -c class: rdata class for DS set (default: IN)\n");
|
||||
fprintf(stderr, " -f file: read keyset from zone file\n");
|
||||
fprintf(stderr, " -A: when used with -f, "
|
||||
"include all keys in DS set, not just KSKs\n");
|
||||
fprintf(stderr, "Output: DS or DLV RRs\n");
|
||||
|
||||
exit (-1);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
char *algname = NULL, *classname = NULL, *dirname = NULL;
|
||||
char *endp;
|
||||
int ch;
|
||||
unsigned int dtype = DNS_DSDIGEST_SHA1;
|
||||
isc_boolean_t both = ISC_TRUE;
|
||||
isc_boolean_t usekeyset = ISC_FALSE;
|
||||
isc_result_t result;
|
||||
isc_log_t *log = NULL;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
dns_rdata_t rdata;
|
||||
char *algname = NULL, *classname = NULL;
|
||||
char *filename = NULL, *dir = NULL, *namestr;
|
||||
char *lookaside = NULL;
|
||||
char *endp;
|
||||
int ch;
|
||||
unsigned int dtype = DNS_DSDIGEST_SHA1;
|
||||
isc_boolean_t both = ISC_TRUE;
|
||||
isc_boolean_t usekeyset = ISC_FALSE;
|
||||
isc_boolean_t showall = ISC_FALSE;
|
||||
isc_result_t result;
|
||||
isc_log_t *log = NULL;
|
||||
isc_entropy_t *ectx = NULL;
|
||||
dns_rdataset_t rdataset;
|
||||
dns_rdata_t rdata;
|
||||
|
||||
dns_rdata_init(&rdata);
|
||||
|
||||
@@ -275,7 +341,7 @@ main(int argc, char **argv) {
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"12a:c:d:sv:h")) != -1) {
|
||||
"12Aa:c:d:Ff:K:l:sv:h")) != -1) {
|
||||
switch (ch) {
|
||||
case '1':
|
||||
dtype = DNS_DSDIGEST_SHA1;
|
||||
@@ -285,6 +351,9 @@ main(int argc, char **argv) {
|
||||
dtype = DNS_DSDIGEST_SHA256;
|
||||
both = ISC_FALSE;
|
||||
break;
|
||||
case 'A':
|
||||
showall = ISC_TRUE;
|
||||
break;
|
||||
case 'a':
|
||||
algname = isc_commandline_argument;
|
||||
both = ISC_FALSE;
|
||||
@@ -293,7 +362,21 @@ main(int argc, char **argv) {
|
||||
classname = isc_commandline_argument;
|
||||
break;
|
||||
case 'd':
|
||||
dirname = isc_commandline_argument;
|
||||
fprintf(stderr, "%s: the -d option is deprecated; "
|
||||
"use -K\n", program);
|
||||
/* fall through */
|
||||
case 'K':
|
||||
dir = isc_commandline_argument;
|
||||
if (strlen(dir) == 0U)
|
||||
fatal("directory must be non-empty string");
|
||||
break;
|
||||
case 'f':
|
||||
filename = isc_commandline_argument;
|
||||
break;
|
||||
case 'l':
|
||||
lookaside = isc_commandline_argument;
|
||||
if (strlen(lookaside) == 0U)
|
||||
fatal("lookaside must be a non-empty string");
|
||||
break;
|
||||
case 's':
|
||||
usekeyset = ISC_TRUE;
|
||||
@@ -303,11 +386,14 @@ main(int argc, char **argv) {
|
||||
if (*endp != '\0')
|
||||
fatal("-v must be followed by a number");
|
||||
break;
|
||||
case 'F':
|
||||
/* Reserved for FIPS mode */
|
||||
/* FALLTHROUGH */
|
||||
case '?':
|
||||
if (isc_commandline_option != '?')
|
||||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
/* Falls into */
|
||||
/* FALLTHROUGH */
|
||||
case 'h':
|
||||
usage();
|
||||
|
||||
@@ -331,7 +417,14 @@ main(int argc, char **argv) {
|
||||
|
||||
rdclass = strtoclass(classname);
|
||||
|
||||
if (argc < isc_commandline_index + 1)
|
||||
if (usekeyset && filename != NULL)
|
||||
fatal("cannot use both -s and -f");
|
||||
|
||||
/* When not using -f, -A is implicit */
|
||||
if (filename == NULL)
|
||||
showall = ISC_TRUE;
|
||||
|
||||
if (argc < isc_commandline_index + 1 && filename == NULL)
|
||||
fatal("the key file name was not specified");
|
||||
if (argc > isc_commandline_index + 1)
|
||||
fatal("extraneous arguments");
|
||||
@@ -344,28 +437,50 @@ main(int argc, char **argv) {
|
||||
result = dst_lib_init(mctx, ectx,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst");
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(result));
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
setup_logging(verbose, mctx, &log);
|
||||
|
||||
if (usekeyset) {
|
||||
loadkeys(dirname, argv[isc_commandline_index]);
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
for (result = dns_rdataset_first(&keyset);
|
||||
if (usekeyset || filename != NULL) {
|
||||
if (argc < isc_commandline_index + 1 && filename != NULL) {
|
||||
/* using zone name as the zone file name */
|
||||
namestr = filename;
|
||||
} else
|
||||
namestr = argv[isc_commandline_index];
|
||||
|
||||
result = initname(namestr);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not initialize name %s", namestr);
|
||||
|
||||
if (usekeyset)
|
||||
result = loadkeyset(dir, &rdataset);
|
||||
else
|
||||
result = loadsetfromfile(filename, &rdataset);
|
||||
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("could not load DNSKEY set: %s\n",
|
||||
isc_result_totext(result));
|
||||
|
||||
for (result = dns_rdataset_first(&rdataset);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_rdataset_next(&keyset)) {
|
||||
result = dns_rdataset_next(&rdataset)) {
|
||||
dns_rdata_init(&rdata);
|
||||
dns_rdataset_current(&keyset, &rdata);
|
||||
dns_rdataset_current(&rdataset, &rdata);
|
||||
|
||||
if (verbose > 2)
|
||||
logkey(&rdata);
|
||||
|
||||
if (both) {
|
||||
emitds(DNS_DSDIGEST_SHA1, &rdata);
|
||||
emitds(DNS_DSDIGEST_SHA256, &rdata);
|
||||
emit(DNS_DSDIGEST_SHA1, showall, lookaside,
|
||||
&rdata);
|
||||
emit(DNS_DSDIGEST_SHA256, showall, lookaside,
|
||||
&rdata);
|
||||
} else
|
||||
emitds(dtype, &rdata);
|
||||
emit(dtype, showall, lookaside, &rdata);
|
||||
}
|
||||
} else {
|
||||
unsigned char key_buf[DST_KEY_MAXSIZE];
|
||||
@@ -374,18 +489,14 @@ main(int argc, char **argv) {
|
||||
DST_KEY_MAXSIZE, &rdata);
|
||||
|
||||
if (both) {
|
||||
emitds(DNS_DSDIGEST_SHA1, &rdata);
|
||||
emitds(DNS_DSDIGEST_SHA256, &rdata);
|
||||
emit(DNS_DSDIGEST_SHA1, showall, lookaside, &rdata);
|
||||
emit(DNS_DSDIGEST_SHA256, showall, lookaside, &rdata);
|
||||
} else
|
||||
emitds(dtype, &rdata);
|
||||
emit(dtype, showall, lookaside, &rdata);
|
||||
}
|
||||
|
||||
if (dns_rdataset_isassociated(&keyset))
|
||||
dns_rdataset_disassociate(&keyset);
|
||||
if (node != NULL)
|
||||
dns_db_detachnode(db, &node);
|
||||
if (db != NULL)
|
||||
dns_db_detach(&db);
|
||||
if (dns_rdataset_isassociated(&rdataset))
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
cleanup_logging(&log);
|
||||
dst_lib_destroy();
|
||||
isc_hash_destroy();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -17,10 +17,10 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-dsfromkey.docbook,v 1.6 2008/11/07 13:54:11 jreed Exp $ -->
|
||||
<!-- $Id: dnssec-dsfromkey.docbook,v 1.10 2009/08/26 21:56:05 jreed Exp $ -->
|
||||
<refentry id="man.dnssec-dsfromkey">
|
||||
<refentryinfo>
|
||||
<date>November 29, 2008</date>
|
||||
<date>August 26, 2009</date>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
@@ -37,6 +37,7 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -48,17 +49,22 @@
|
||||
<arg><option>-1</option></arg>
|
||||
<arg><option>-2</option></arg>
|
||||
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
|
||||
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
|
||||
<arg choice="req">keyfile</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>dnssec-dsfromkey</command>
|
||||
<arg choice="req">-s</arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-1</option></arg>
|
||||
<arg><option>-2</option></arg>
|
||||
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
|
||||
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
|
||||
<arg><option>-s</option></arg>
|
||||
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg><option>-d <replaceable class="parameter">dir</replaceable></option></arg>
|
||||
<arg><option>-f <replaceable class="parameter">file</replaceable></option></arg>
|
||||
<arg><option>-A</option></arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg choice="req">dnsname</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -106,10 +112,48 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-v <replaceable class="parameter">level</replaceable></term>
|
||||
<term>-K <replaceable class="parameter">directory</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the debugging level.
|
||||
Look for key files (or, in keyset mode,
|
||||
<filename>keyset-</filename> files) in
|
||||
<option>directory</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-f <replaceable class="parameter">file</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Zone file mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a zone master file, which can be read
|
||||
from <option>file</option>. If the zone name is the same as
|
||||
<option>file</option>, then it may be omitted.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-A</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Include ZSK's when generating DS records. Without this option,
|
||||
only keys which have the KSK flag set will be converted to DS
|
||||
records and printed. Useful only in zone file mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-l <replaceable class="parameter">domain</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate a DLV set instead of a DS set. The specified
|
||||
<option>domain</option> is appended to the name for each
|
||||
record in the set.
|
||||
The DNSSEC Lookaside Validation (DLV) RR is described
|
||||
in RFC 4431.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -119,8 +163,7 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Keyset mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a keyset file. Following options make sense
|
||||
only in this mode.
|
||||
the DNS domain name of a keyset file.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -129,23 +172,20 @@
|
||||
<term>-c <replaceable class="parameter">class</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the DNS class (default is IN), useful only
|
||||
in the keyset mode.
|
||||
Specifies the DNS class (default is IN). Useful only
|
||||
in keyset or zone file mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-d <replaceable class="parameter">directory</replaceable></term>
|
||||
<term>-v <replaceable class="parameter">level</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Look for <filename>keyset</filename> files in
|
||||
<option>directory</option> as the directory, ignored when
|
||||
not in the keyset mode.
|
||||
Sets the debugging level.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
@@ -197,6 +237,7 @@
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
|
||||
<citetitle>RFC 3658</citetitle>,
|
||||
<citetitle>RFC 4431</citetitle>.
|
||||
<citetitle>RFC 4509</citetitle>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-dsfromkey.html,v 1.5.14.1 2010/05/19 02:06:11 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -28,18 +28,18 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] {keyfile}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>dir</code></em></code>] {dnsname}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] {keyfile}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543424"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543462"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-dsfromkey</strong></span>
|
||||
outputs the Delegation Signer (DS) resource record (RR), as defined in
|
||||
RFC 3658 and RFC 4509, for the given key(s).
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543435"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543474"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-1</span></dt>
|
||||
<dd><p>
|
||||
@@ -56,31 +56,51 @@
|
||||
<code class="option">algorithm</code> must be one of SHA-1 (SHA1) or
|
||||
SHA-256 (SHA256). These values are case insensitive.
|
||||
</p></dd>
|
||||
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
|
||||
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the debugging level.
|
||||
Look for key files (or, in keyset mode,
|
||||
<code class="filename">keyset-</code> files) in
|
||||
<code class="option">directory</code>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
|
||||
<dd><p>
|
||||
Zone file mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a zone master file, which can be read
|
||||
from <code class="option">file</code>. If the zone name is the same as
|
||||
<code class="option">file</code>, then it may be omitted.
|
||||
</p></dd>
|
||||
<dt><span class="term">-A</span></dt>
|
||||
<dd><p>
|
||||
Include ZSK's when generating DS records. Without this option,
|
||||
only keys which have the KSK flag set will be converted to DS
|
||||
records and printed. Useful only in zone file mode.
|
||||
</p></dd>
|
||||
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
|
||||
<dd><p>
|
||||
Generate a DLV set instead of a DS set. The specified
|
||||
<code class="option">domain</code> is appended to the name for each
|
||||
record in the set.
|
||||
The DNSSEC Lookaside Validation (DLV) RR is described
|
||||
in RFC 4431.
|
||||
</p></dd>
|
||||
<dt><span class="term">-s</span></dt>
|
||||
<dd><p>
|
||||
Keyset mode: in place of the keyfile name, the argument is
|
||||
the DNS domain name of a keyset file. Following options make sense
|
||||
only in this mode.
|
||||
the DNS domain name of a keyset file.
|
||||
</p></dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the DNS class (default is IN), useful only
|
||||
in the keyset mode.
|
||||
Specifies the DNS class (default is IN). Useful only
|
||||
in keyset or zone file mode.
|
||||
</p></dd>
|
||||
<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
|
||||
<dd><p>
|
||||
Look for <code class="filename">keyset</code> files in
|
||||
<code class="option">directory</code> as the directory, ignored when
|
||||
not in the keyset mode.
|
||||
Sets the debugging level.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543563"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2543660"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
To build the SHA-256 DS RR from the
|
||||
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
|
||||
@@ -95,7 +115,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543593"></a><h2>FILES</h2>
|
||||
<a name="id2543690"></a><h2>FILES</h2>
|
||||
<p>
|
||||
The keyfile can be designed by the key identification
|
||||
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
|
||||
@@ -109,22 +129,23 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543628"></a><h2>CAVEAT</h2>
|
||||
<a name="id2543725"></a><h2>CAVEAT</h2>
|
||||
<p>
|
||||
A keyfile error can give a "file not found" even if the file exists.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543638"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543735"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 3658</em>,
|
||||
<em class="citetitle">RFC 4431</em>.
|
||||
<em class="citetitle">RFC 4509</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543674"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543774"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-keyfromlabel.8,v 1.6.14.3 2010/01/16 01:55:32 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -32,18 +32,22 @@
|
||||
dnssec\-keyfromlabel \- DNSSEC key generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 20
|
||||
\fBdnssec\-keyfromlabel\fR {\-a\ \fIalgorithm\fR} {\-l\ \fIlabel\fR} [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-k\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {name}
|
||||
\fBdnssec\-keyfromlabel\fR {\-l\ \fIlabel\fR} [\fB\-3\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-k\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-y\fR] {name}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-keyfromlabel\fR
|
||||
gets keys with the given label from a crypto hardware and builds key files for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034.
|
||||
.PP
|
||||
The
|
||||
\fBname\fR
|
||||
of the key is specified on the command line. This must match the name of the zone for which the key is being generated.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-a \fIalgorithm\fR
|
||||
.RS 4
|
||||
Selects the cryptographic algorithm. The value of
|
||||
\fBalgorithm\fR
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or DH (Diffie Hellman). These values are case insensitive.
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512. These values are case insensitive.
|
||||
.sp
|
||||
If no algorithm is specified, then RSASHA1 will be used by default, unless the
|
||||
\fB\-3\fR
|
||||
@@ -56,9 +60,19 @@ Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA
|
||||
Note 2: DH automatically sets the \-k flag.
|
||||
.RE
|
||||
.PP
|
||||
\-3
|
||||
.RS 4
|
||||
Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default.
|
||||
.RE
|
||||
.PP
|
||||
\-E \fIengine\fR
|
||||
.RS 4
|
||||
Specifies the name of the crypto hardware (OpenSSL engine). When compiled with PKCS#11 support it defaults to "pkcs11".
|
||||
.RE
|
||||
.PP
|
||||
\-l \fIlabel\fR
|
||||
.RS 4
|
||||
Specifies the label of keys in the crypto hardware (PKCS#11 device).
|
||||
Specifies the label of the key pair in the crypto hardware. The label may be preceded by an optional OpenSSL engine name, separated by a colon, as in "pkcs11:keylabel".
|
||||
.RE
|
||||
.PP
|
||||
\-n \fInametype\fR
|
||||
@@ -68,6 +82,15 @@ Specifies the owner type of the key. The value of
|
||||
must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). These values are case insensitive.
|
||||
.RE
|
||||
.PP
|
||||
\-C
|
||||
.RS 4
|
||||
Compatibility mode: generates an old\-style key, without any metadata. By default,
|
||||
\fBdnssec\-keyfromlabel\fR
|
||||
will include the key's creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc). Keys that include this data may be incompatible with older versions of BIND; the
|
||||
\fB\-C\fR
|
||||
option suppresses them.
|
||||
.RE
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Indicates that the DNS record containing the key should have the specified class. If not specified, class IN is used.
|
||||
@@ -75,13 +98,23 @@ Indicates that the DNS record containing the key should have the specified class
|
||||
.PP
|
||||
\-f \fIflag\fR
|
||||
.RS 4
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
.RE
|
||||
.PP
|
||||
\-G
|
||||
.RS 4
|
||||
Generate a key, but do not publish it or sign with it. This option is incompatible with \-P and \-A.
|
||||
.RE
|
||||
.PP
|
||||
\-h
|
||||
.RS 4
|
||||
Prints a short summary of the options and arguments to
|
||||
\fBdnssec\-keygen\fR.
|
||||
\fBdnssec\-keyfromlabel\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-K \fIdirectory\fR
|
||||
.RS 4
|
||||
Sets the directory in which the key files are to be written.
|
||||
.RE
|
||||
.PP
|
||||
\-k
|
||||
@@ -91,7 +124,7 @@ Generate KEY records rather than DNSKEY records.
|
||||
.PP
|
||||
\-p \fIprotocol\fR
|
||||
.RS 4
|
||||
Sets the protocol value for the generated key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
|
||||
Sets the protocol value for the key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
|
||||
.RE
|
||||
.PP
|
||||
\-t \fItype\fR
|
||||
@@ -105,6 +138,39 @@ must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF.
|
||||
.RS 4
|
||||
Sets the debugging level.
|
||||
.RE
|
||||
.PP
|
||||
\-y
|
||||
.RS 4
|
||||
Allows DNSSEC key files to be generated even if the key ID would collide with that of an existing key, in the event of either key being revoked. (This is only safe to use if you are sure you won't be using RFC 5011 trust anchor maintenance with either of the keys involved.)
|
||||
.RE
|
||||
.SH "TIMING OPTIONS"
|
||||
.PP
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '\-', it is interpreted as an offset from the present time. For convenience, if such an offset is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively. Without a suffix, the offset is computed in seconds.
|
||||
.PP
|
||||
\-P \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which a key is to be published to the zone. After that date, the key will be included in the zone but will not be used to sign it. If not set, and if the \-G option has not been used, the default is "now".
|
||||
.RE
|
||||
.PP
|
||||
\-A \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be activated. After that date, the key will be included in the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
|
||||
.RE
|
||||
.PP
|
||||
\-R \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be revoked. After that date, the key will be flagged as revoked. It will be included in the zone and will be used to sign it.
|
||||
.RE
|
||||
.PP
|
||||
\-I \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be retired. After that date, the key will still be included in the zone, but it will not be used to sign it.
|
||||
.RE
|
||||
.PP
|
||||
\-D \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be deleted. After that date, the key will no longer be included in the zone. (It may remain in the key repository, however.)
|
||||
.RE
|
||||
.SH "GENERATED KEY FILES"
|
||||
.PP
|
||||
When
|
||||
@@ -138,7 +204,7 @@ file contains a DNS KEY record that can be inserted into a zone file (directly o
|
||||
.PP
|
||||
The
|
||||
\fI.private\fR
|
||||
file contains algorithm specific fields. For obvious security reasons, this file does not have general read permission.
|
||||
file contains algorithm\-specific fields. For obvious security reasons, this file does not have general read permission.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR(8),
|
||||
@@ -149,5 +215,5 @@ RFC 4034.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2007, 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2007-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,12 +14,13 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.4.50.2 2010/01/15 23:47:31 tbox Exp $ */
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.29.8.6 2011/11/30 00:53:34 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <isc/buffer.h>
|
||||
@@ -27,9 +28,11 @@
|
||||
#include <isc/entropy.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/region.h>
|
||||
#include <isc/print.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <dns/dnssec.h>
|
||||
#include <dns/fixedname.h>
|
||||
#include <dns/keyvalues.h>
|
||||
#include <dns/log.h>
|
||||
@@ -47,50 +50,82 @@
|
||||
const char *program = "dnssec-keyfromlabel";
|
||||
int verbose;
|
||||
|
||||
#define DEFAULT_ALGORITHM "RSASHA1"
|
||||
#define DEFAULT_NSEC3_ALGORITHM "NSEC3RSASHA1"
|
||||
|
||||
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
|
||||
" NSEC3DSA | NSEC3RSASHA1 |"
|
||||
" RSASHA256 | RSASHA512";
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, " %s -a alg -l label [options] name\n\n",
|
||||
fprintf(stderr, " %s -l label [options] name\n\n",
|
||||
program);
|
||||
fprintf(stderr, "Version: %s\n", VERSION);
|
||||
fprintf(stderr, "Required options:\n");
|
||||
fprintf(stderr, " -a algorithm: %s\n", algs);
|
||||
fprintf(stderr, " -l label: label of the key\n");
|
||||
fprintf(stderr, " -l label: label of the key pair\n");
|
||||
fprintf(stderr, " name: owner of the key\n");
|
||||
fprintf(stderr, "Other options:\n");
|
||||
fprintf(stderr, " -a algorithm: %s\n", algs);
|
||||
fprintf(stderr, " (default: RSASHA1, or "
|
||||
"NSEC3RSASHA1 if using -3)\n");
|
||||
fprintf(stderr, " -3: use NSEC3-capable algorithm\n");
|
||||
fprintf(stderr, " -c class (default: IN)\n");
|
||||
#ifdef USE_PKCS11
|
||||
fprintf(stderr, " -E enginename (default: pkcs11)\n");
|
||||
#else
|
||||
fprintf(stderr, " -E enginename\n");
|
||||
#endif
|
||||
fprintf(stderr, " -f keyflag: KSK | REVOKE\n");
|
||||
fprintf(stderr, " -K directory: directory in which to place "
|
||||
"key files\n");
|
||||
fprintf(stderr, " -k: generate a TYPE=KEY key\n");
|
||||
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | OTHER\n");
|
||||
fprintf(stderr, " (DNSKEY generation defaults to ZONE\n");
|
||||
fprintf(stderr, " -c <class> (default: IN)\n");
|
||||
fprintf(stderr, " -f keyflag: KSK\n");
|
||||
fprintf(stderr, " -t <type>: "
|
||||
fprintf(stderr, " -p protocol: default: 3 [dnssec]\n");
|
||||
fprintf(stderr, " -t type: "
|
||||
"AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF "
|
||||
"(default: AUTHCONF)\n");
|
||||
fprintf(stderr, " -p <protocol>: "
|
||||
"default: 3 [dnssec]\n");
|
||||
fprintf(stderr, " -v <verbose level>\n");
|
||||
fprintf(stderr, " -k : generate a TYPE=KEY key\n");
|
||||
fprintf(stderr, " -y: permit keys that might collide\n");
|
||||
fprintf(stderr, " -v verbose level\n");
|
||||
fprintf(stderr, "Date options:\n");
|
||||
fprintf(stderr, " -P date/[+-]offset: set key publication date\n");
|
||||
fprintf(stderr, " -A date/[+-]offset: set key activation date\n");
|
||||
fprintf(stderr, " -R date/[+-]offset: set key revocation date\n");
|
||||
fprintf(stderr, " -I date/[+-]offset: set key inactivation date\n");
|
||||
fprintf(stderr, " -D date/[+-]offset: set key deletion date\n");
|
||||
fprintf(stderr, " -G: generate key only; do not set -P or -A\n");
|
||||
fprintf(stderr, " -C: generate a backward-compatible key, omitting"
|
||||
" all dates\n");
|
||||
fprintf(stderr, "Output:\n");
|
||||
fprintf(stderr, " K<name>+<alg>+<id>.key, "
|
||||
"K<name>+<alg>+<id>.private\n");
|
||||
"K<name>+<alg>+<id>.private\n");
|
||||
|
||||
exit (-1);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
char *algname = NULL, *nametype = NULL, *type = NULL;
|
||||
char *algname = NULL, *freeit = NULL;
|
||||
char *nametype = NULL, *type = NULL;
|
||||
const char *directory = NULL;
|
||||
#ifdef USE_PKCS11
|
||||
const char *engine = "pkcs11";
|
||||
#else
|
||||
const char *engine = NULL;
|
||||
#endif
|
||||
char *classname = NULL;
|
||||
char *endp;
|
||||
dst_key_t *key = NULL, *oldkey;
|
||||
dst_key_t *key = NULL;
|
||||
dns_fixedname_t fname;
|
||||
dns_name_t *name;
|
||||
isc_uint16_t flags = 0, ksk = 0;
|
||||
isc_uint16_t flags = 0, kskflag = 0, revflag = 0;
|
||||
dns_secalg_t alg;
|
||||
isc_boolean_t null_key = ISC_FALSE;
|
||||
isc_boolean_t oldstyle = ISC_FALSE;
|
||||
isc_mem_t *mctx = NULL;
|
||||
int ch;
|
||||
int protocol = -1, signatory = 0;
|
||||
@@ -103,6 +138,20 @@ main(int argc, char **argv) {
|
||||
dns_rdataclass_t rdclass;
|
||||
int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC;
|
||||
char *label = NULL;
|
||||
isc_stdtime_t publish = 0, activate = 0, revoke = 0;
|
||||
isc_stdtime_t inactive = 0, delete = 0;
|
||||
isc_stdtime_t now;
|
||||
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
|
||||
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
|
||||
isc_boolean_t setdel = ISC_FALSE;
|
||||
isc_boolean_t unsetpub = ISC_FALSE, unsetact = ISC_FALSE;
|
||||
isc_boolean_t unsetrev = ISC_FALSE, unsetinact = ISC_FALSE;
|
||||
isc_boolean_t unsetdel = ISC_FALSE;
|
||||
isc_boolean_t genonly = ISC_FALSE;
|
||||
isc_boolean_t use_nsec3 = ISC_FALSE;
|
||||
isc_boolean_t avoid_collisions = ISC_TRUE;
|
||||
isc_boolean_t exact;
|
||||
unsigned char c;
|
||||
|
||||
if (argc == 1)
|
||||
usage();
|
||||
@@ -113,28 +162,49 @@ main(int argc, char **argv) {
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
isc_stdtime_get(&now);
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv,
|
||||
"a:c:f:kl:n:p:t:v:h")) != -1)
|
||||
"3a:Cc:E:f:K:kl:n:p:t:v:yFhGP:A:R:I:D:")) != -1)
|
||||
{
|
||||
switch (ch) {
|
||||
case '3':
|
||||
use_nsec3 = ISC_TRUE;
|
||||
break;
|
||||
case 'a':
|
||||
algname = isc_commandline_argument;
|
||||
break;
|
||||
case 'C':
|
||||
oldstyle = ISC_TRUE;
|
||||
break;
|
||||
case 'c':
|
||||
classname = isc_commandline_argument;
|
||||
break;
|
||||
case 'E':
|
||||
engine = isc_commandline_argument;
|
||||
break;
|
||||
case 'f':
|
||||
if (strcasecmp(isc_commandline_argument, "KSK") == 0)
|
||||
ksk = DNS_KEYFLAG_KSK;
|
||||
c = (unsigned char)(isc_commandline_argument[0]);
|
||||
if (toupper(c) == 'K')
|
||||
kskflag = DNS_KEYFLAG_KSK;
|
||||
else if (toupper(c) == 'R')
|
||||
revflag = DNS_KEYFLAG_REVOKE;
|
||||
else
|
||||
fatal("unknown flag '%s'",
|
||||
isc_commandline_argument);
|
||||
break;
|
||||
case 'K':
|
||||
directory = isc_commandline_argument;
|
||||
ret = try_dir(directory);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("cannot open directory %s: %s",
|
||||
directory, isc_result_totext(ret));
|
||||
break;
|
||||
case 'k':
|
||||
options |= DST_TYPE_KEY;
|
||||
break;
|
||||
case 'l':
|
||||
label = isc_commandline_argument;
|
||||
label = isc_mem_strdup(mctx, isc_commandline_argument);
|
||||
break;
|
||||
case 'n':
|
||||
nametype = isc_commandline_argument;
|
||||
@@ -153,11 +223,80 @@ main(int argc, char **argv) {
|
||||
if (*endp != '\0')
|
||||
fatal("-v must be followed by a number");
|
||||
break;
|
||||
case 'y':
|
||||
avoid_collisions = ISC_FALSE;
|
||||
break;
|
||||
case 'G':
|
||||
genonly = ISC_TRUE;
|
||||
break;
|
||||
case 'P':
|
||||
if (setpub || unsetpub)
|
||||
fatal("-P specified more than once");
|
||||
|
||||
if (strcasecmp(isc_commandline_argument, "none")) {
|
||||
setpub = ISC_TRUE;
|
||||
publish = strtotime(isc_commandline_argument,
|
||||
now, now);
|
||||
} else {
|
||||
unsetpub = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
case 'A':
|
||||
if (setact || unsetact)
|
||||
fatal("-A specified more than once");
|
||||
|
||||
if (strcasecmp(isc_commandline_argument, "none")) {
|
||||
setact = ISC_TRUE;
|
||||
activate = strtotime(isc_commandline_argument,
|
||||
now, now);
|
||||
} else {
|
||||
unsetact = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
case 'R':
|
||||
if (setrev || unsetrev)
|
||||
fatal("-R specified more than once");
|
||||
|
||||
if (strcasecmp(isc_commandline_argument, "none")) {
|
||||
setrev = ISC_TRUE;
|
||||
revoke = strtotime(isc_commandline_argument,
|
||||
now, now);
|
||||
} else {
|
||||
unsetrev = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
case 'I':
|
||||
if (setinact || unsetinact)
|
||||
fatal("-I specified more than once");
|
||||
|
||||
if (strcasecmp(isc_commandline_argument, "none")) {
|
||||
setinact = ISC_TRUE;
|
||||
inactive = strtotime(isc_commandline_argument,
|
||||
now, now);
|
||||
} else {
|
||||
unsetinact = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
case 'D':
|
||||
if (setdel || unsetdel)
|
||||
fatal("-D specified more than once");
|
||||
|
||||
if (strcasecmp(isc_commandline_argument, "none")) {
|
||||
setdel = ISC_TRUE;
|
||||
delete = strtotime(isc_commandline_argument,
|
||||
now, now);
|
||||
} else {
|
||||
unsetdel = ISC_TRUE;
|
||||
}
|
||||
break;
|
||||
case 'F':
|
||||
/* Reserved for FIPS mode */
|
||||
/* FALLTHROUGH */
|
||||
case '?':
|
||||
if (isc_commandline_option != '?')
|
||||
fprintf(stderr, "%s: invalid argument -%c\n",
|
||||
program, isc_commandline_option);
|
||||
/* FALLTHROUGH */
|
||||
case 'h':
|
||||
usage();
|
||||
|
||||
@@ -170,10 +309,11 @@ main(int argc, char **argv) {
|
||||
|
||||
if (ectx == NULL)
|
||||
setup_entropy(mctx, NULL, &ectx);
|
||||
ret = dst_lib_init(mctx, ectx,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
ret = dst_lib_init2(mctx, ectx, engine,
|
||||
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("could not initialize dst");
|
||||
fatal("could not initialize dst: %s",
|
||||
isc_result_totext(ret));
|
||||
|
||||
setup_logging(verbose, mctx, &log);
|
||||
|
||||
@@ -184,8 +324,33 @@ main(int argc, char **argv) {
|
||||
if (argc > isc_commandline_index + 1)
|
||||
fatal("extraneous arguments");
|
||||
|
||||
if (algname == NULL)
|
||||
fatal("no algorithm was specified");
|
||||
if (strchr(label, ':') == NULL &&
|
||||
engine != NULL && strlen(engine) != 0U) {
|
||||
char *l;
|
||||
int len;
|
||||
|
||||
len = strlen(label) + strlen(engine) + 2;
|
||||
l = isc_mem_allocate(mctx, len);
|
||||
if (l == NULL)
|
||||
fatal("cannot allocate memory");
|
||||
snprintf(l, len, "%s:%s", engine, label);
|
||||
isc_mem_free(mctx, label);
|
||||
label = l;
|
||||
}
|
||||
|
||||
if (algname == NULL) {
|
||||
if (use_nsec3)
|
||||
algname = strdup(DEFAULT_NSEC3_ALGORITHM);
|
||||
else
|
||||
algname = strdup(DEFAULT_ALGORITHM);
|
||||
if (algname == NULL)
|
||||
fatal("strdup failed");
|
||||
freeit = algname;
|
||||
if (verbose > 0)
|
||||
fprintf(stderr, "no algorithm specified; "
|
||||
"defaulting to %s\n", algname);
|
||||
}
|
||||
|
||||
if (strcasecmp(algname, "RSA") == 0) {
|
||||
fprintf(stderr, "The use of RSA (RSAMD5) is not recommended.\n"
|
||||
"If you still wish to use RSA (RSAMD5) please "
|
||||
@@ -201,6 +366,13 @@ main(int argc, char **argv) {
|
||||
options |= DST_TYPE_KEY;
|
||||
}
|
||||
|
||||
if (use_nsec3 &&
|
||||
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
|
||||
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512) {
|
||||
fatal("%s is incompatible with NSEC3; "
|
||||
"do not use the -3 option", algname);
|
||||
}
|
||||
|
||||
if (type != NULL && (options & DST_TYPE_KEY) != 0) {
|
||||
if (strcasecmp(type, "NOAUTH") == 0)
|
||||
flags |= DNS_KEYTYPE_NOAUTH;
|
||||
@@ -234,10 +406,15 @@ main(int argc, char **argv) {
|
||||
|
||||
rdclass = strtoclass(classname);
|
||||
|
||||
if (directory == NULL)
|
||||
directory = ".";
|
||||
|
||||
if ((options & DST_TYPE_KEY) != 0) /* KEY */
|
||||
flags |= signatory;
|
||||
else if ((flags & DNS_KEYOWNER_ZONE) != 0) /* DNSKEY */
|
||||
flags |= ksk;
|
||||
else if ((flags & DNS_KEYOWNER_ZONE) != 0) { /* DNSKEY */
|
||||
flags |= kskflag;
|
||||
flags |= revflag;
|
||||
}
|
||||
|
||||
if (protocol == -1)
|
||||
protocol = DNS_KEYPROTO_DNSSEC;
|
||||
@@ -260,59 +437,119 @@ main(int argc, char **argv) {
|
||||
isc_buffer_init(&buf, argv[isc_commandline_index],
|
||||
strlen(argv[isc_commandline_index]));
|
||||
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
|
||||
ret = dns_name_fromtext(name, &buf, dns_rootname, ISC_FALSE, NULL);
|
||||
ret = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("invalid key name %s: %s", argv[isc_commandline_index],
|
||||
isc_result_totext(ret));
|
||||
|
||||
if ((flags & DNS_KEYFLAG_TYPEMASK) == DNS_KEYTYPE_NOKEY)
|
||||
null_key = ISC_TRUE;
|
||||
|
||||
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
|
||||
|
||||
/* associate the key */
|
||||
ret = dst_key_fromlabel(name, alg, flags, protocol,
|
||||
rdclass, "", label, NULL, mctx, &key);
|
||||
rdclass, engine, label, NULL, mctx, &key);
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
char namestr[DNS_NAME_FORMATSIZE];
|
||||
char algstr[ALG_FORMATSIZE];
|
||||
char algstr[DNS_SECALG_FORMATSIZE];
|
||||
dns_name_format(name, namestr, sizeof(namestr));
|
||||
alg_format(alg, algstr, sizeof(algstr));
|
||||
fatal("failed to generate key %s/%s: %s\n",
|
||||
dns_secalg_format(alg, algstr, sizeof(algstr));
|
||||
fatal("failed to get key %s/%s: %s\n",
|
||||
namestr, algstr, isc_result_totext(ret));
|
||||
/* NOTREACHED */
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to read a key with the same name, alg and id from disk.
|
||||
* If there is one we must continue generating a new one
|
||||
* unless we were asked to generate a null key, in which
|
||||
* case we return failure.
|
||||
* Set key timing metadata (unless using -C)
|
||||
*
|
||||
* Publish and activation dates are set to "now" by default, but
|
||||
* can be overridden. Creation date is always set to "now".
|
||||
*/
|
||||
ret = dst_key_fromfile(name, dst_key_id(key), alg,
|
||||
DST_TYPE_PRIVATE, NULL, mctx, &oldkey);
|
||||
/* do not overwrite an existing key */
|
||||
if (ret == ISC_R_SUCCESS) {
|
||||
isc_buffer_clear(&buf);
|
||||
ret = dst_key_buildfilename(key, 0, NULL, &buf);
|
||||
fprintf(stderr, "%s: %s already exists\n",
|
||||
program, filename);
|
||||
dst_key_free(&key);
|
||||
exit (1);
|
||||
if (!oldstyle) {
|
||||
dst_key_settime(key, DST_TIME_CREATED, now);
|
||||
|
||||
if (genonly && (setpub || setact))
|
||||
fatal("cannot use -G together with -P or -A options");
|
||||
|
||||
if (setpub)
|
||||
dst_key_settime(key, DST_TIME_PUBLISH, publish);
|
||||
else if (setact)
|
||||
dst_key_settime(key, DST_TIME_PUBLISH, activate);
|
||||
else if (!genonly && !unsetpub)
|
||||
dst_key_settime(key, DST_TIME_PUBLISH, now);
|
||||
|
||||
if (setact)
|
||||
dst_key_settime(key, DST_TIME_ACTIVATE, activate);
|
||||
else if (!genonly && !unsetact)
|
||||
dst_key_settime(key, DST_TIME_ACTIVATE, now);
|
||||
|
||||
if (setrev) {
|
||||
if (kskflag == 0)
|
||||
fprintf(stderr, "%s: warning: Key is "
|
||||
"not flagged as a KSK, but -R "
|
||||
"was used. Revoking a ZSK is "
|
||||
"legal, but undefined.\n",
|
||||
program);
|
||||
dst_key_settime(key, DST_TIME_REVOKE, revoke);
|
||||
}
|
||||
|
||||
if (setinact)
|
||||
dst_key_settime(key, DST_TIME_INACTIVE, inactive);
|
||||
|
||||
if (setdel)
|
||||
dst_key_settime(key, DST_TIME_DELETE, delete);
|
||||
} else {
|
||||
if (setpub || setact || setrev || setinact ||
|
||||
setdel || unsetpub || unsetact ||
|
||||
unsetrev || unsetinact || unsetdel || genonly)
|
||||
fatal("cannot use -C together with "
|
||||
"-P, -A, -R, -I, -D, or -G options");
|
||||
/*
|
||||
* Compatibility mode: Private-key-format
|
||||
* should be set to 1.2.
|
||||
*/
|
||||
dst_key_setprivateformat(key, 1, 2);
|
||||
}
|
||||
|
||||
ret = dst_key_tofile(key, options, NULL);
|
||||
/*
|
||||
* Do not overwrite an existing key. Warn LOUDLY if there
|
||||
* is a risk of ID collision due to this key or another key
|
||||
* being revoked.
|
||||
*/
|
||||
if (key_collision(key, name, directory, mctx, &exact)) {
|
||||
isc_buffer_clear(&buf);
|
||||
ret = dst_key_buildfilename(key, 0, directory, &buf);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("dst_key_buildfilename returned: %s\n",
|
||||
isc_result_totext(ret));
|
||||
if (exact)
|
||||
fatal("%s: %s already exists\n", program, filename);
|
||||
|
||||
if (avoid_collisions)
|
||||
fatal("%s: %s could collide with another key upon "
|
||||
"revokation\n", program, filename);
|
||||
|
||||
fprintf(stderr, "%s: WARNING: Key %s could collide with "
|
||||
"another key upon revokation. If you plan "
|
||||
"to revoke keys, destroy this key and "
|
||||
"generate a different one.\n",
|
||||
program, filename);
|
||||
}
|
||||
|
||||
ret = dst_key_tofile(key, options, directory);
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
char keystr[KEY_FORMATSIZE];
|
||||
key_format(key, keystr, sizeof(keystr));
|
||||
char keystr[DST_KEY_FORMATSIZE];
|
||||
dst_key_format(key, keystr, sizeof(keystr));
|
||||
fatal("failed to write key %s: %s\n", keystr,
|
||||
isc_result_totext(ret));
|
||||
}
|
||||
|
||||
isc_buffer_clear(&buf);
|
||||
ret = dst_key_buildfilename(key, 0, NULL, &buf);
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
fatal("dst_key_buildfilename returned: %s\n",
|
||||
isc_result_totext(ret));
|
||||
printf("%s\n", filename);
|
||||
dst_key_free(&key);
|
||||
|
||||
@@ -322,7 +559,11 @@ main(int argc, char **argv) {
|
||||
dns_name_destroy();
|
||||
if (verbose > 10)
|
||||
isc_mem_stats(mctx, stdout);
|
||||
isc_mem_free(mctx, label);
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
if (freeit != NULL)
|
||||
free(freeit);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.6.14.2 2010/01/15 23:47:31 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.15.24.4 2011/02/03 12:17:22 tbox Exp $ -->
|
||||
<refentry id="man.dnssec-keyfromlabel">
|
||||
<refentryinfo>
|
||||
<date>February 8, 2008</date>
|
||||
@@ -37,7 +37,9 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<year>2011</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -45,15 +47,25 @@
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>dnssec-keyfromlabel</command>
|
||||
<arg choice="req">-a <replaceable class="parameter">algorithm</replaceable></arg>
|
||||
<arg choice="req">-l <replaceable class="parameter">label</replaceable></arg>
|
||||
<arg><option>-3</option></arg>
|
||||
<arg><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
|
||||
<arg><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
|
||||
<arg><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
|
||||
<arg><option>-G</option></arg>
|
||||
<arg><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-k</option></arg>
|
||||
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
|
||||
<arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
|
||||
<arg><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-y</option></arg>
|
||||
<arg choice="req">name</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -65,6 +77,11 @@
|
||||
key files for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034.
|
||||
</para>
|
||||
<para>
|
||||
The <option>name</option> of the key is specified on the command
|
||||
line. This must match the name of the zone for which the key is
|
||||
being generated.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@@ -76,9 +93,8 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<option>algorithm</option> must be one of RSAMD5,
|
||||
RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256,
|
||||
RSASHA512 or DH (Diffie Hellman).
|
||||
<option>algorithm</option> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
These values are case insensitive.
|
||||
</para>
|
||||
<para>
|
||||
@@ -98,12 +114,35 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-3</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Use an NSEC3-capable algorithm to generate a DNSSEC key.
|
||||
If this option is used and no algorithm is explicitly
|
||||
set on the command line, NSEC3RSASHA1 will be used by
|
||||
default.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-E <replaceable class="parameter">engine</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the name of the crypto hardware (OpenSSL engine).
|
||||
When compiled with PKCS#11 support it defaults to "pkcs11".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-l <replaceable class="parameter">label</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the label of keys in the crypto hardware
|
||||
(PKCS#11 device).
|
||||
Specifies the label of the key pair in the crypto hardware.
|
||||
The label may be preceded by an optional OpenSSL engine name,
|
||||
separated by a colon, as in "pkcs11:keylabel".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -117,8 +156,22 @@
|
||||
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with
|
||||
a host (KEY)),
|
||||
USER (for a key associated with a user(KEY)) or OTHER (DNSKEY).
|
||||
These values are
|
||||
case insensitive.
|
||||
These values are case insensitive.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-C</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Compatibility mode: generates an old-style key, without
|
||||
any metadata. By default, <command>dnssec-keyfromlabel</command>
|
||||
will include the key's creation date in the metadata stored
|
||||
with the private key, and other dates may be set there as well
|
||||
(publication date, activation date, etc). Keys that include
|
||||
this data may be incompatible with older versions of BIND; the
|
||||
<option>-C</option> option suppresses them.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -138,7 +191,17 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
||||
The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-G</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate a key, but do not publish it or sign with it. This
|
||||
option is incompatible with -P and -A.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -148,7 +211,16 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Prints a short summary of the options and arguments to
|
||||
<command>dnssec-keygen</command>.
|
||||
<command>dnssec-keyfromlabel</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-K <replaceable class="parameter">directory</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the directory in which the key files are to be written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -166,7 +238,7 @@
|
||||
<term>-p <replaceable class="parameter">protocol</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the protocol value for the generated key. The protocol
|
||||
Sets the protocol value for the key. The protocol
|
||||
is a number between 0 and 255. The default is 3 (DNSSEC).
|
||||
Other possible values for this argument are listed in
|
||||
RFC 2535 and its successors.
|
||||
@@ -195,6 +267,93 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-y</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Allows DNSSEC key files to be generated even if the key ID
|
||||
would collide with that of an existing key, in the event of
|
||||
either key being revoked. (This is only safe to use if you
|
||||
are sure you won't be using RFC 5011 trust anchor maintenance
|
||||
with either of the keys involved.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>TIMING OPTIONS</title>
|
||||
|
||||
<para>
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
|
||||
If the argument begins with a '+' or '-', it is interpreted as
|
||||
an offset from the present time. For convenience, if such an offset
|
||||
is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
|
||||
then the offset is computed in years (defined as 365 24-hour days,
|
||||
ignoring leap years), months (defined as 30 24-hour days), weeks,
|
||||
days, hours, or minutes, respectively. Without a suffix, the offset
|
||||
is computed in seconds.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-P <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which a key is to be published to the zone.
|
||||
After that date, the key will be included in the zone but will
|
||||
not be used to sign it. If not set, and if the -G option has
|
||||
not been used, the default is "now".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-A <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be activated. After that
|
||||
date, the key will be included in the zone and used to sign
|
||||
it. If not set, and if the -G option has not been used, the
|
||||
default is "now".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-R <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be revoked. After that
|
||||
date, the key will be flagged as revoked. It will be included
|
||||
in the zone and will be used to sign it.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-I <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be retired. After that
|
||||
date, the key will still be included in the zone, but it
|
||||
will not be used to sign it.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-D <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be deleted. After that
|
||||
date, the key will no longer be included in the zone. (It
|
||||
may remain in the key repository, however.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
@@ -214,8 +373,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><filename>aaa</filename> is the numeric representation
|
||||
of the
|
||||
algorithm.
|
||||
of the algorithm.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -229,8 +387,7 @@
|
||||
on the printed string. <filename>Knnnn.+aaa+iiiii.key</filename>
|
||||
contains the public key, and
|
||||
<filename>Knnnn.+aaa+iiiii.private</filename> contains the
|
||||
private
|
||||
key.
|
||||
private key.
|
||||
</para>
|
||||
<para>
|
||||
The <filename>.key</filename> file contains a DNS KEY record
|
||||
@@ -239,8 +396,8 @@
|
||||
statement).
|
||||
</para>
|
||||
<para>
|
||||
The <filename>.private</filename> file contains algorithm
|
||||
specific
|
||||
The <filename>.private</filename> file contains
|
||||
algorithm-specific
|
||||
fields. For obvious security reasons, this file does not have
|
||||
general read permission.
|
||||
</para>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2008, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- Permission to use, copy, modify, and/or distribute this software for any
|
||||
- purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-keyfromlabel.html,v 1.5.44.3 2010/01/16 01:55:32 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -28,26 +28,30 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-k</code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543416"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543495"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
|
||||
gets keys with the given label from a crypto hardware and builds
|
||||
key files for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034.
|
||||
</p>
|
||||
<p>
|
||||
The <code class="option">name</code> of the key is specified on the command
|
||||
line. This must match the name of the zone for which the key is
|
||||
being generated.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543428"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543513"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Selects the cryptographic algorithm. The value of
|
||||
<code class="option">algorithm</code> must be one of RSAMD5,
|
||||
RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256,
|
||||
RSASHA512 or DH (Diffie Hellman).
|
||||
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
These values are case insensitive.
|
||||
</p>
|
||||
<p>
|
||||
@@ -65,10 +69,23 @@
|
||||
Note 2: DH automatically sets the -k flag.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-3</span></dt>
|
||||
<dd><p>
|
||||
Use an NSEC3-capable algorithm to generate a DNSSEC key.
|
||||
If this option is used and no algorithm is explicitly
|
||||
set on the command line, NSEC3RSASHA1 will be used by
|
||||
default.
|
||||
</p></dd>
|
||||
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the name of the crypto hardware (OpenSSL engine).
|
||||
When compiled with PKCS#11 support it defaults to "pkcs11".
|
||||
</p></dd>
|
||||
<dt><span class="term">-l <em class="replaceable"><code>label</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the label of keys in the crypto hardware
|
||||
(PKCS#11 device).
|
||||
Specifies the label of the key pair in the crypto hardware.
|
||||
The label may be preceded by an optional OpenSSL engine name,
|
||||
separated by a colon, as in "pkcs11:keylabel".
|
||||
</p></dd>
|
||||
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -77,8 +94,17 @@
|
||||
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with
|
||||
a host (KEY)),
|
||||
USER (for a key associated with a user(KEY)) or OTHER (DNSKEY).
|
||||
These values are
|
||||
case insensitive.
|
||||
These values are case insensitive.
|
||||
</p></dd>
|
||||
<dt><span class="term">-C</span></dt>
|
||||
<dd><p>
|
||||
Compatibility mode: generates an old-style key, without
|
||||
any metadata. By default, <span><strong class="command">dnssec-keyfromlabel</strong></span>
|
||||
will include the key's creation date in the metadata stored
|
||||
with the private key, and other dates may be set there as well
|
||||
(publication date, activation date, etc). Keys that include
|
||||
this data may be incompatible with older versions of BIND; the
|
||||
<code class="option">-C</code> option suppresses them.
|
||||
</p></dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -88,12 +114,21 @@
|
||||
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
|
||||
<dd><p>
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
||||
The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
</p></dd>
|
||||
<dt><span class="term">-G</span></dt>
|
||||
<dd><p>
|
||||
Generate a key, but do not publish it or sign with it. This
|
||||
option is incompatible with -P and -A.
|
||||
</p></dd>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
Prints a short summary of the options and arguments to
|
||||
<span><strong class="command">dnssec-keygen</strong></span>.
|
||||
<span><strong class="command">dnssec-keyfromlabel</strong></span>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the directory in which the key files are to be written.
|
||||
</p></dd>
|
||||
<dt><span class="term">-k</span></dt>
|
||||
<dd><p>
|
||||
@@ -101,7 +136,7 @@
|
||||
</p></dd>
|
||||
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the protocol value for the generated key. The protocol
|
||||
Sets the protocol value for the key. The protocol
|
||||
is a number between 0 and 255. The default is 3 (DNSSEC).
|
||||
Other possible values for this argument are listed in
|
||||
RFC 2535 and its successors.
|
||||
@@ -117,10 +152,65 @@
|
||||
<dd><p>
|
||||
Sets the debugging level.
|
||||
</p></dd>
|
||||
<dt><span class="term">-y</span></dt>
|
||||
<dd><p>
|
||||
Allows DNSSEC key files to be generated even if the key ID
|
||||
would collide with that of an existing key, in the event of
|
||||
either key being revoked. (This is only safe to use if you
|
||||
are sure you won't be using RFC 5011 trust anchor maintenance
|
||||
with either of the keys involved.)
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543632"></a><h2>GENERATED KEY FILES</h2>
|
||||
<a name="id2543877"></a><h2>TIMING OPTIONS</h2>
|
||||
<p>
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
|
||||
If the argument begins with a '+' or '-', it is interpreted as
|
||||
an offset from the present time. For convenience, if such an offset
|
||||
is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
|
||||
then the offset is computed in years (defined as 365 24-hour days,
|
||||
ignoring leap years), months (defined as 30 24-hour days), weeks,
|
||||
days, hours, or minutes, respectively. Without a suffix, the offset
|
||||
is computed in seconds.
|
||||
</p>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which a key is to be published to the zone.
|
||||
After that date, the key will be included in the zone but will
|
||||
not be used to sign it. If not set, and if the -G option has
|
||||
not been used, the default is "now".
|
||||
</p></dd>
|
||||
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be activated. After that
|
||||
date, the key will be included in the zone and used to sign
|
||||
it. If not set, and if the -G option has not been used, the
|
||||
default is "now".
|
||||
</p></dd>
|
||||
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be revoked. After that
|
||||
date, the key will be flagged as revoked. It will be included
|
||||
in the zone and will be used to sign it.
|
||||
</p></dd>
|
||||
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be retired. After that
|
||||
date, the key will still be included in the zone, but it
|
||||
will not be used to sign it.
|
||||
</p></dd>
|
||||
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be deleted. After that
|
||||
date, the key will no longer be included in the zone. (It
|
||||
may remain in the key repository, however.)
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544043"></a><h2>GENERATED KEY FILES</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
|
||||
successfully,
|
||||
@@ -132,8 +222,7 @@
|
||||
<li><p><code class="filename">nnnn</code> is the key name.
|
||||
</p></li>
|
||||
<li><p><code class="filename">aaa</code> is the numeric representation
|
||||
of the
|
||||
algorithm.
|
||||
of the algorithm.
|
||||
</p></li>
|
||||
<li><p><code class="filename">iiiii</code> is the key identifier (or
|
||||
footprint).
|
||||
@@ -144,8 +233,7 @@
|
||||
on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
|
||||
contains the public key, and
|
||||
<code class="filename">Knnnn.+aaa+iiiii.private</code> contains the
|
||||
private
|
||||
key.
|
||||
private key.
|
||||
</p>
|
||||
<p>
|
||||
The <code class="filename">.key</code> file contains a DNS KEY record
|
||||
@@ -154,14 +242,14 @@
|
||||
statement).
|
||||
</p>
|
||||
<p>
|
||||
The <code class="filename">.private</code> file contains algorithm
|
||||
specific
|
||||
The <code class="filename">.private</code> file contains
|
||||
algorithm-specific
|
||||
fields. For obvious security reasons, this file does not have
|
||||
general read permission.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543704"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544116"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
@@ -169,7 +257,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543737"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544149"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-keygen.8,v 1.40.44.4 2010/01/16 01:55:32 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -33,11 +33,11 @@
|
||||
dnssec\-keygen \- DNSSEC key generation tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP 14
|
||||
\fBdnssec\-keygen\fR {\-a\ \fIalgorithm\fR} {\-b\ \fIkeysize\fR} {\-n\ \fInametype\fR} [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-k\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {name}
|
||||
\fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY (Transaction Key) as defined in RFC 2930.
|
||||
.PP
|
||||
The
|
||||
\fBname\fR
|
||||
@@ -50,14 +50,26 @@ Selects the cryptographic algorithm. For DNSSEC keys, the value of
|
||||
\fBalgorithm\fR
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
|
||||
.sp
|
||||
If no algorithm is specified, then RSASHA1 will be used by default, unless the
|
||||
\fB\-3\fR
|
||||
option is specified, in which case NSEC3RSASHA1 will be used instead. (If
|
||||
\fB\-3\fR
|
||||
is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3.)
|
||||
.sp
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended. For TSIG, HMAC\-MD5 is mandatory.
|
||||
.sp
|
||||
Note 2: HMAC\-MD5 and DH automatically set the \-k flag.
|
||||
Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the \-T KEY option.
|
||||
.RE
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
.RS 4
|
||||
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits.
|
||||
.sp
|
||||
The key size does not need to be specified if using a default algorithm. The default key size is 1024 bits for zone signing keys (ZSK's) and 2048 bits for key signing keys (KSK's, generated with
|
||||
\fB\-f KSK\fR). However, if an algorithm is explicitly specified with the
|
||||
\fB\-a\fR, then there is no default key size, and the
|
||||
\fB\-b\fR
|
||||
must be used.
|
||||
.RE
|
||||
.PP
|
||||
\-n \fInametype\fR
|
||||
@@ -67,11 +79,30 @@ Specifies the owner type of the key. The value of
|
||||
must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). These values are case insensitive. Defaults to ZONE for DNSKEY generation.
|
||||
.RE
|
||||
.PP
|
||||
\-3
|
||||
.RS 4
|
||||
Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256 and RSASHA512 algorithms are NSEC3\-capable.
|
||||
.RE
|
||||
.PP
|
||||
\-C
|
||||
.RS 4
|
||||
Compatibility mode: generates an old\-style key, without any metadata. By default,
|
||||
\fBdnssec\-keygen\fR
|
||||
will include the key's creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc). Keys that include this data may be incompatible with older versions of BIND; the
|
||||
\fB\-C\fR
|
||||
option suppresses them.
|
||||
.RE
|
||||
.PP
|
||||
\-c \fIclass\fR
|
||||
.RS 4
|
||||
Indicates that the DNS record containing the key should have the specified class. If not specified, class IN is used.
|
||||
.RE
|
||||
.PP
|
||||
\-E \fIengine\fR
|
||||
.RS 4
|
||||
Uses a crypto hardware (OpenSSL engine) for random number and, when supported, key generation. When compiled with PKCS#11 support it defaults to pkcs11; the empty name resets it to no engine.
|
||||
.RE
|
||||
.PP
|
||||
\-e
|
||||
.RS 4
|
||||
If generating an RSAMD5/RSASHA1 key, use a large exponent.
|
||||
@@ -79,7 +110,12 @@ If generating an RSAMD5/RSASHA1 key, use a large exponent.
|
||||
.PP
|
||||
\-f \fIflag\fR
|
||||
.RS 4
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
.RE
|
||||
.PP
|
||||
\-G
|
||||
.RS 4
|
||||
Generate a key, but do not publish it or sign with it. This option is incompatible with \-P and \-A.
|
||||
.RE
|
||||
.PP
|
||||
\-g \fIgenerator\fR
|
||||
@@ -93,9 +129,14 @@ Prints a short summary of the options and arguments to
|
||||
\fBdnssec\-keygen\fR.
|
||||
.RE
|
||||
.PP
|
||||
\-K \fIdirectory\fR
|
||||
.RS 4
|
||||
Sets the directory in which the key files are to be written.
|
||||
.RE
|
||||
.PP
|
||||
\-k
|
||||
.RS 4
|
||||
Generate KEY records rather than DNSKEY records.
|
||||
Deprecated in favor of \-T KEY.
|
||||
.RE
|
||||
.PP
|
||||
\-p \fIprotocol\fR
|
||||
@@ -103,6 +144,15 @@ Generate KEY records rather than DNSKEY records.
|
||||
Sets the protocol value for the generated key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
|
||||
.RE
|
||||
.PP
|
||||
\-q
|
||||
.RS 4
|
||||
Quiet mode: Suppresses unnecessary output, including progress indication. Without this option, when
|
||||
\fBdnssec\-keygen\fR
|
||||
is run interactively to generate an RSA or DSA key pair, it will print a string of symbols to
|
||||
\fIstderr\fR
|
||||
indicating the progress of the key generation. A '.' indicates that a random number has been found which passed an initial sieve test; '+' means a number has passed a single round of the Miller\-Rabin primality test; a space means that the number has passed all the tests and is a satisfactory key.
|
||||
.RE
|
||||
.PP
|
||||
\-r \fIrandomdev\fR
|
||||
.RS 4
|
||||
Specifies the source of randomness. If the operating system does not provide a
|
||||
@@ -114,11 +164,24 @@ specifies the name of a character device or file containing random data to be us
|
||||
indicates that keyboard input should be used.
|
||||
.RE
|
||||
.PP
|
||||
\-S \fIkey\fR
|
||||
.RS 4
|
||||
Create a new key which is an explicit successor to an existing key. The name, algorithm, size, and type of the key will be set to match the existing key. The activation date of the new key will be set to the inactivation date of the existing one. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIstrength\fR
|
||||
.RS 4
|
||||
Specifies the strength value of the key. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC.
|
||||
.RE
|
||||
.PP
|
||||
\-T \fIrrtype\fR
|
||||
.RS 4
|
||||
Specifies the resource record type to use for the key.
|
||||
\fBrrtype\fR
|
||||
must be either DNSKEY or KEY. The default is DNSKEY when using a DNSSEC algorithm, but it can be overridden to KEY for use with SIG(0).
|
||||
Using any TSIG algorithm (HMAC\-* or DH) forces this option to KEY.
|
||||
.RE
|
||||
.PP
|
||||
\-t \fItype\fR
|
||||
.RS 4
|
||||
Indicates the use of the key.
|
||||
@@ -130,6 +193,43 @@ must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF.
|
||||
.RS 4
|
||||
Sets the debugging level.
|
||||
.RE
|
||||
.SH "TIMING OPTIONS"
|
||||
.PP
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '\-', it is interpreted as an offset from the present time. For convenience, if such an offset is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively. Without a suffix, the offset is computed in seconds.
|
||||
.PP
|
||||
\-P \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which a key is to be published to the zone. After that date, the key will be included in the zone but will not be used to sign it. If not set, and if the \-G option has not been used, the default is "now".
|
||||
.RE
|
||||
.PP
|
||||
\-A \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be activated. After that date, the key will be included in the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
|
||||
.RE
|
||||
.PP
|
||||
\-R \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be revoked. After that date, the key will be flagged as revoked. It will be included in the zone and will be used to sign it.
|
||||
.RE
|
||||
.PP
|
||||
\-I \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be retired. After that date, the key will still be included in the zone, but it will not be used to sign it.
|
||||
.RE
|
||||
.PP
|
||||
\-D \fIdate/offset\fR
|
||||
.RS 4
|
||||
Sets the date on which the key is to be deleted. After that date, the key will no longer be included in the zone. (It may remain in the key repository, however.)
|
||||
.RE
|
||||
.PP
|
||||
\-i \fIinterval\fR
|
||||
.RS 4
|
||||
Sets the prepublication interval for a key. If set, then the publication and activation dates must be separated by at least this much time. If the activation date is specified but the publication date isn't, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn't, then activation will be set to this much time after publication.
|
||||
.sp
|
||||
If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero.
|
||||
.sp
|
||||
As with date offsets, if the argument is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is measured in years, months, weeks, days, hours, or minutes, respectively. Without a suffix, the interval is measured in seconds.
|
||||
.RE
|
||||
.SH "GENERATED KEYS"
|
||||
.PP
|
||||
When
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-keygen.docbook,v 1.22.44.4 2010/01/15 23:47:33 tbox Exp $ -->
|
||||
<!-- $Id: dnssec-keygen.docbook,v 1.33.24.2 2010/08/16 23:46:30 tbox Exp $ -->
|
||||
<refentry id="man.dnssec-keygen">
|
||||
<refentryinfo>
|
||||
<date>June 30, 2000</date>
|
||||
@@ -57,20 +57,34 @@
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>dnssec-keygen</command>
|
||||
<arg choice="req">-a <replaceable class="parameter">algorithm</replaceable></arg>
|
||||
<arg choice="req">-b <replaceable class="parameter">keysize</replaceable></arg>
|
||||
<arg choice="req">-n <replaceable class="parameter">nametype</replaceable></arg>
|
||||
<arg><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
|
||||
<arg ><option>-b <replaceable class="parameter">keysize</replaceable></option></arg>
|
||||
<arg><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
|
||||
<arg><option>-3</option></arg>
|
||||
<arg><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-C</option></arg>
|
||||
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
|
||||
<arg><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
|
||||
<arg><option>-e</option></arg>
|
||||
<arg><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
|
||||
<arg><option>-G</option></arg>
|
||||
<arg><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
|
||||
<arg><option>-h</option></arg>
|
||||
<arg><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
|
||||
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-k</option></arg>
|
||||
<arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
|
||||
<arg><option>-q</option></arg>
|
||||
<arg><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
|
||||
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
|
||||
<arg><option>-S <replaceable class="parameter">key</replaceable></option></arg>
|
||||
<arg><option>-s <replaceable class="parameter">strength</replaceable></option></arg>
|
||||
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
|
||||
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
|
||||
<arg><option>-z</option></arg>
|
||||
<arg choice="req">name</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -80,7 +94,8 @@
|
||||
<para><command>dnssec-keygen</command>
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034. It can also generate keys for use with
|
||||
TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
|
||||
(Transaction Key) as defined in RFC 2930.
|
||||
</para>
|
||||
<para>
|
||||
The <option>name</option> of the key is specified on the command
|
||||
@@ -99,19 +114,27 @@
|
||||
<para>
|
||||
Selects the cryptographic algorithm. For DNSSEC keys, the value
|
||||
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
|
||||
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
|
||||
case insensitive.
|
||||
</para>
|
||||
<para>
|
||||
If no algorithm is specified, then RSASHA1 will be used by
|
||||
default, unless the <option>-3</option> option is specified,
|
||||
in which case NSEC3RSASHA1 will be used instead. (If
|
||||
<option>-3</option> is used and an algorithm is specified,
|
||||
that algorithm will be checked for compatibility with NSEC3.)
|
||||
</para>
|
||||
<para>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
|
||||
mandatory.
|
||||
</para>
|
||||
<para>
|
||||
Note 2: HMAC-MD5 and DH automatically set the -k flag.
|
||||
Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
|
||||
automatically set the -T KEY option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -127,6 +150,15 @@
|
||||
bits and an exact multiple of 64. HMAC keys must be
|
||||
between 1 and 512 bits.
|
||||
</para>
|
||||
<para>
|
||||
The key size does not need to be specified if using a default
|
||||
algorithm. The default key size is 1024 bits for zone signing
|
||||
keys (ZSK's) and 2048 bits for key signing keys (KSK's,
|
||||
generated with <option>-f KSK</option>). However, if an
|
||||
algorithm is explicitly specified with the <option>-a</option>,
|
||||
then there is no default key size, and the <option>-b</option>
|
||||
must be used.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -145,6 +177,34 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-3</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Use an NSEC3-capable algorithm to generate a DNSSEC key.
|
||||
If this option is used and no algorithm is explicitly
|
||||
set on the command line, NSEC3RSASHA1 will be used by
|
||||
default. Note that RSASHA256 and RSASHA512 algorithms
|
||||
are NSEC3-capable.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-C</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Compatibility mode: generates an old-style key, without
|
||||
any metadata. By default, <command>dnssec-keygen</command>
|
||||
will include the key's creation date in the metadata stored
|
||||
with the private key, and other dates may be set there as well
|
||||
(publication date, activation date, etc). Keys that include
|
||||
this data may be incompatible with older versions of BIND; the
|
||||
<option>-C</option> option suppresses them.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-c <replaceable class="parameter">class</replaceable></term>
|
||||
<listitem>
|
||||
@@ -155,6 +215,18 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-E <replaceable class="parameter">engine</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Uses a crypto hardware (OpenSSL engine) for random number
|
||||
and, when supported, key generation. When compiled with PKCS#11
|
||||
support it defaults to pkcs11; the empty name resets it to
|
||||
no engine.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-e</term>
|
||||
<listitem>
|
||||
@@ -169,7 +241,17 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
||||
The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-G</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate a key, but do not publish it or sign with it. This
|
||||
option is incompatible with -P and -A.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -196,11 +278,20 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-K <replaceable class="parameter">directory</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the directory in which the key files are to be written.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-k</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Generate KEY records rather than DNSKEY records.
|
||||
Deprecated in favor of -T KEY.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -217,6 +308,25 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-q</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Quiet mode: Suppresses unnecessary output, including
|
||||
progress indication. Without this option, when
|
||||
<command>dnssec-keygen</command> is run interactively
|
||||
to generate an RSA or DSA key pair, it will print a string
|
||||
of symbols to <filename>stderr</filename> indicating the
|
||||
progress of the key generation. A '.' indicates that a
|
||||
random number has been found which passed an initial
|
||||
sieve test; '+' means a number has passed a single
|
||||
round of the Miller-Rabin primality test; a space
|
||||
means that the number has passed all the tests and is
|
||||
a satisfactory key.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
|
||||
<listitem>
|
||||
@@ -234,6 +344,21 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-S <replaceable class="parameter">key</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Create a new key which is an explicit successor to an
|
||||
existing key. The name, algorithm, size, and type of the
|
||||
key will be set to match the existing key. The activation
|
||||
date of the new key will be set to the inactivation date of
|
||||
the existing one. The publication date will be set to the
|
||||
activation date minus the prepublication interval, which
|
||||
defaults to 30 days.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s <replaceable class="parameter">strength</replaceable></term>
|
||||
<listitem>
|
||||
@@ -245,6 +370,22 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-T <replaceable class="parameter">rrtype</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the resource record type to use for the key.
|
||||
<option>rrtype</option> must be either DNSKEY or KEY. The
|
||||
default is DNSKEY when using a DNSSEC algorithm, but it can be
|
||||
overridden to KEY for use with SIG(0).
|
||||
<para>
|
||||
</para>
|
||||
Using any TSIG algorithm (HMAC-* or DH) forces this option
|
||||
to KEY.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-t <replaceable class="parameter">type</replaceable></term>
|
||||
<listitem>
|
||||
@@ -269,6 +410,109 @@
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>TIMING OPTIONS</title>
|
||||
|
||||
<para>
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
|
||||
If the argument begins with a '+' or '-', it is interpreted as
|
||||
an offset from the present time. For convenience, if such an offset
|
||||
is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
|
||||
then the offset is computed in years (defined as 365 24-hour days,
|
||||
ignoring leap years), months (defined as 30 24-hour days), weeks,
|
||||
days, hours, or minutes, respectively. Without a suffix, the offset
|
||||
is computed in seconds.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-P <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which a key is to be published to the zone.
|
||||
After that date, the key will be included in the zone but will
|
||||
not be used to sign it. If not set, and if the -G option has
|
||||
not been used, the default is "now".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-A <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be activated. After that
|
||||
date, the key will be included in the zone and used to sign
|
||||
it. If not set, and if the -G option has not been used, the
|
||||
default is "now".
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-R <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be revoked. After that
|
||||
date, the key will be flagged as revoked. It will be included
|
||||
in the zone and will be used to sign it.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-I <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be retired. After that
|
||||
date, the key will still be included in the zone, but it
|
||||
will not be used to sign it.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-D <replaceable class="parameter">date/offset</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the date on which the key is to be deleted. After that
|
||||
date, the key will no longer be included in the zone. (It
|
||||
may remain in the key repository, however.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-i <replaceable class="parameter">interval</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the prepublication interval for a key. If set, then
|
||||
the publication and activation dates must be separated by at least
|
||||
this much time. If the activation date is specified but the
|
||||
publication date isn't, then the publication date will default
|
||||
to this much time before the activation date; conversely, if
|
||||
the publication date is specified but activation date isn't,
|
||||
then activation will be set to this much time after publication.
|
||||
</para>
|
||||
<para>
|
||||
If the key is being created as an explicit successor to another
|
||||
key, then the default prepublication interval is 30 days;
|
||||
otherwise it is zero.
|
||||
</para>
|
||||
<para>
|
||||
As with date offsets, if the argument is followed by one of
|
||||
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
|
||||
interval is measured in years, months, weeks, days, hours,
|
||||
or minutes, respectively. Without a suffix, the interval is
|
||||
measured in seconds.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1>
|
||||
<title>GENERATED KEYS</title>
|
||||
<para>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-keygen.html,v 1.32.44.4 2010/01/16 01:55:32 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -29,14 +29,15 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543483"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543579"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-keygen</strong></span>
|
||||
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
|
||||
and RFC 4034. It can also generate keys for use with
|
||||
TSIG (Transaction Signatures), as defined in RFC 2845.
|
||||
TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
|
||||
(Transaction Key) as defined in RFC 2930.
|
||||
</p>
|
||||
<p>
|
||||
The <code class="option">name</code> of the key is specified on the command
|
||||
@@ -45,37 +46,56 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543501"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543597"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Selects the cryptographic algorithm. For DNSSEC keys, the value
|
||||
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
|
||||
For TSIG/TKEY, the value must
|
||||
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
|
||||
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
|
||||
case insensitive.
|
||||
</p>
|
||||
<p>
|
||||
If no algorithm is specified, then RSASHA1 will be used by
|
||||
default, unless the <code class="option">-3</code> option is specified,
|
||||
in which case NSEC3RSASHA1 will be used instead. (If
|
||||
<code class="option">-3</code> is used and an algorithm is specified,
|
||||
that algorithm will be checked for compatibility with NSEC3.)
|
||||
</p>
|
||||
<p>
|
||||
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
|
||||
algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
|
||||
mandatory.
|
||||
</p>
|
||||
<p>
|
||||
Note 2: HMAC-MD5 and DH automatically set the -k flag.
|
||||
Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
|
||||
automatically set the -T KEY option.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
|
||||
<dd><p>
|
||||
<dd>
|
||||
<p>
|
||||
Specifies the number of bits in the key. The choice of key
|
||||
size depends on the algorithm used. RSA keys must be
|
||||
between 512 and 2048 bits. Diffie Hellman keys must be between
|
||||
128 and 4096 bits. DSA keys must be between 512 and 1024
|
||||
bits and an exact multiple of 64. HMAC keys must be
|
||||
between 1 and 512 bits.
|
||||
</p></dd>
|
||||
</p>
|
||||
<p>
|
||||
The key size does not need to be specified if using a default
|
||||
algorithm. The default key size is 1024 bits for zone signing
|
||||
keys (ZSK's) and 2048 bits for key signing keys (KSK's,
|
||||
generated with <code class="option">-f KSK</code>). However, if an
|
||||
algorithm is explicitly specified with the <code class="option">-a</code>,
|
||||
then there is no default key size, and the <code class="option">-b</code>
|
||||
must be used.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the owner type of the key. The value of
|
||||
@@ -86,11 +106,36 @@
|
||||
These values are case insensitive. Defaults to ZONE for DNSKEY
|
||||
generation.
|
||||
</p></dd>
|
||||
<dt><span class="term">-3</span></dt>
|
||||
<dd><p>
|
||||
Use an NSEC3-capable algorithm to generate a DNSSEC key.
|
||||
If this option is used and no algorithm is explicitly
|
||||
set on the command line, NSEC3RSASHA1 will be used by
|
||||
default. Note that RSASHA256 and RSASHA512 algorithms
|
||||
are NSEC3-capable.
|
||||
</p></dd>
|
||||
<dt><span class="term">-C</span></dt>
|
||||
<dd><p>
|
||||
Compatibility mode: generates an old-style key, without
|
||||
any metadata. By default, <span><strong class="command">dnssec-keygen</strong></span>
|
||||
will include the key's creation date in the metadata stored
|
||||
with the private key, and other dates may be set there as well
|
||||
(publication date, activation date, etc). Keys that include
|
||||
this data may be incompatible with older versions of BIND; the
|
||||
<code class="option">-C</code> option suppresses them.
|
||||
</p></dd>
|
||||
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
|
||||
<dd><p>
|
||||
Indicates that the DNS record containing the key should have
|
||||
the specified class. If not specified, class IN is used.
|
||||
</p></dd>
|
||||
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
|
||||
<dd><p>
|
||||
Uses a crypto hardware (OpenSSL engine) for random number
|
||||
and, when supported, key generation. When compiled with PKCS#11
|
||||
support it defaults to pkcs11; the empty name resets it to
|
||||
no engine.
|
||||
</p></dd>
|
||||
<dt><span class="term">-e</span></dt>
|
||||
<dd><p>
|
||||
If generating an RSAMD5/RSASHA1 key, use a large exponent.
|
||||
@@ -98,7 +143,12 @@
|
||||
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
|
||||
<dd><p>
|
||||
Set the specified flag in the flag field of the KEY/DNSKEY record.
|
||||
The only recognized flag is KSK (Key Signing Key) DNSKEY.
|
||||
The only recognized flags are KSK (Key Signing Key) and REVOKE.
|
||||
</p></dd>
|
||||
<dt><span class="term">-G</span></dt>
|
||||
<dd><p>
|
||||
Generate a key, but do not publish it or sign with it. This
|
||||
option is incompatible with -P and -A.
|
||||
</p></dd>
|
||||
<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -112,9 +162,13 @@
|
||||
Prints a short summary of the options and arguments to
|
||||
<span><strong class="command">dnssec-keygen</strong></span>.
|
||||
</p></dd>
|
||||
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the directory in which the key files are to be written.
|
||||
</p></dd>
|
||||
<dt><span class="term">-k</span></dt>
|
||||
<dd><p>
|
||||
Generate KEY records rather than DNSKEY records.
|
||||
Deprecated in favor of -T KEY.
|
||||
</p></dd>
|
||||
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -123,6 +177,20 @@
|
||||
Other possible values for this argument are listed in
|
||||
RFC 2535 and its successors.
|
||||
</p></dd>
|
||||
<dt><span class="term">-q</span></dt>
|
||||
<dd><p>
|
||||
Quiet mode: Suppresses unnecessary output, including
|
||||
progress indication. Without this option, when
|
||||
<span><strong class="command">dnssec-keygen</strong></span> is run interactively
|
||||
to generate an RSA or DSA key pair, it will print a string
|
||||
of symbols to <code class="filename">stderr</code> indicating the
|
||||
progress of the key generation. A '.' indicates that a
|
||||
random number has been found which passed an initial
|
||||
sieve test; '+' means a number has passed a single
|
||||
round of the Miller-Rabin primality test; a space
|
||||
means that the number has passed all the tests and is
|
||||
a satisfactory key.
|
||||
</p></dd>
|
||||
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the source of randomness. If the operating
|
||||
@@ -135,12 +203,37 @@
|
||||
<code class="filename">keyboard</code> indicates that keyboard
|
||||
input should be used.
|
||||
</p></dd>
|
||||
<dt><span class="term">-S <em class="replaceable"><code>key</code></em></span></dt>
|
||||
<dd><p>
|
||||
Create a new key which is an explicit successor to an
|
||||
existing key. The name, algorithm, size, and type of the
|
||||
key will be set to match the existing key. The activation
|
||||
date of the new key will be set to the inactivation date of
|
||||
the existing one. The publication date will be set to the
|
||||
activation date minus the prepublication interval, which
|
||||
defaults to 30 days.
|
||||
</p></dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>strength</code></em></span></dt>
|
||||
<dd><p>
|
||||
Specifies the strength value of the key. The strength is
|
||||
a number between 0 and 15, and currently has no defined
|
||||
purpose in DNSSEC.
|
||||
</p></dd>
|
||||
<dt><span class="term">-T <em class="replaceable"><code>rrtype</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Specifies the resource record type to use for the key.
|
||||
<code class="option">rrtype</code> must be either DNSKEY or KEY. The
|
||||
default is DNSKEY when using a DNSSEC algorithm, but it can be
|
||||
overridden to KEY for use with SIG(0).
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Using any TSIG algorithm (HMAC-* or DH) forces this option
|
||||
to KEY.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
|
||||
<dd><p>
|
||||
Indicates the use of the key. <code class="option">type</code> must be
|
||||
@@ -155,7 +248,78 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543836"></a><h2>GENERATED KEYS</h2>
|
||||
<a name="id2544166"></a><h2>TIMING OPTIONS</h2>
|
||||
<p>
|
||||
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
|
||||
If the argument begins with a '+' or '-', it is interpreted as
|
||||
an offset from the present time. For convenience, if such an offset
|
||||
is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
|
||||
then the offset is computed in years (defined as 365 24-hour days,
|
||||
ignoring leap years), months (defined as 30 24-hour days), weeks,
|
||||
days, hours, or minutes, respectively. Without a suffix, the offset
|
||||
is computed in seconds.
|
||||
</p>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which a key is to be published to the zone.
|
||||
After that date, the key will be included in the zone but will
|
||||
not be used to sign it. If not set, and if the -G option has
|
||||
not been used, the default is "now".
|
||||
</p></dd>
|
||||
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be activated. After that
|
||||
date, the key will be included in the zone and used to sign
|
||||
it. If not set, and if the -G option has not been used, the
|
||||
default is "now".
|
||||
</p></dd>
|
||||
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be revoked. After that
|
||||
date, the key will be flagged as revoked. It will be included
|
||||
in the zone and will be used to sign it.
|
||||
</p></dd>
|
||||
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be retired. After that
|
||||
date, the key will still be included in the zone, but it
|
||||
will not be used to sign it.
|
||||
</p></dd>
|
||||
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
|
||||
<dd><p>
|
||||
Sets the date on which the key is to be deleted. After that
|
||||
date, the key will no longer be included in the zone. (It
|
||||
may remain in the key repository, however.)
|
||||
</p></dd>
|
||||
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Sets the prepublication interval for a key. If set, then
|
||||
the publication and activation dates must be separated by at least
|
||||
this much time. If the activation date is specified but the
|
||||
publication date isn't, then the publication date will default
|
||||
to this much time before the activation date; conversely, if
|
||||
the publication date is specified but activation date isn't,
|
||||
then activation will be set to this much time after publication.
|
||||
</p>
|
||||
<p>
|
||||
If the key is being created as an explicit successor to another
|
||||
key, then the default prepublication interval is 30 days;
|
||||
otherwise it is zero.
|
||||
</p>
|
||||
<p>
|
||||
As with date offsets, if the argument is followed by one of
|
||||
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
|
||||
interval is measured in years, months, weeks, days, hours,
|
||||
or minutes, respectively. Without a suffix, the interval is
|
||||
measured in seconds.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544356"></a><h2>GENERATED KEYS</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keygen</strong></span> completes
|
||||
successfully,
|
||||
@@ -201,7 +365,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543918"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2544506"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
To generate a 768-bit DSA key for the domain
|
||||
<strong class="userinput"><code>example.com</code></strong>, the following command would be
|
||||
@@ -222,7 +386,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544030"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544550"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 2539</em>,
|
||||
@@ -231,7 +395,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544061"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544581"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
88
bin/dnssec/dnssec-revoke.8
Normal file
88
bin/dnssec/dnssec-revoke.8
Normal file
@@ -0,0 +1,88 @@
|
||||
.\" Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\"
|
||||
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||
.\" purpose with or without fee is hereby granted, provided that the above
|
||||
.\" copyright notice and this permission notice appear in all copies.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
.\" Title: dnssec\-revoke
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.71.1 <http://docbook.sf.net/>
|
||||
.\" Date: June 1, 2009
|
||||
.\" Manual: BIND9
|
||||
.\" Source: BIND9
|
||||
.\"
|
||||
.TH "DNSSEC\-REVOKE" "8" "June 1, 2009" "BIND9" "BIND9"
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.SH "NAME"
|
||||
dnssec\-revoke \- Set the REVOKED bit on a DNSSEC key
|
||||
.SH "SYNOPSIS"
|
||||
.HP 14
|
||||
\fBdnssec\-revoke\fR [\fB\-hr\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\fR] [\fB\-R\fR] {keyfile}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-revoke\fR
|
||||
reads a DNSSEC key file, sets the REVOKED bit on the key as defined in RFC 5011, and creates a new pair of key files containing the now\-revoked key.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-h
|
||||
.RS 4
|
||||
Emit usage message and exit.
|
||||
.RE
|
||||
.PP
|
||||
\-K \fIdirectory\fR
|
||||
.RS 4
|
||||
Sets the directory in which the key files are to reside.
|
||||
.RE
|
||||
.PP
|
||||
\-r
|
||||
.RS 4
|
||||
After writing the new keyset files remove the original keyset files.
|
||||
.RE
|
||||
.PP
|
||||
\-v \fIlevel\fR
|
||||
.RS 4
|
||||
Sets the debugging level.
|
||||
.RE
|
||||
.PP
|
||||
\-E \fIengine\fR
|
||||
.RS 4
|
||||
Use the given OpenSSL engine. When compiled with PKCS#11 support it defaults to pkcs11; the empty name resets it to no engine.
|
||||
.RE
|
||||
.PP
|
||||
\-f
|
||||
.RS 4
|
||||
Force overwrite: Causes
|
||||
\fBdnssec\-revoke\fR
|
||||
to write the new key pair even if a file already exists matching the algorithm and key ID of the revoked key.
|
||||
.RE
|
||||
.PP
|
||||
\-R
|
||||
.RS 4
|
||||
Print the key tag of the key with the REVOKE bit set but do not revoke the key.
|
||||
.RE
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBdnssec\-keygen\fR(8),
|
||||
BIND 9 Administrator Reference Manual,
|
||||
RFC 5011.
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user