Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ecd9e0c63 | ||
|
|
b1aebf6615 | ||
|
|
acc452ea78 | ||
|
|
ad2d4ee15e | ||
|
|
fc0fcb8103 | ||
|
|
9d9b8d07cf | ||
|
|
ac5ff07ba2 | ||
|
|
04f4a3d0fd | ||
|
|
2d3d456b3d | ||
|
|
b0713c8193 | ||
|
|
64a0a79418 | ||
|
|
5b533194c8 | ||
|
|
29efce2259 | ||
|
|
e9980c019b | ||
|
|
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 |
@@ -1,9 +0,0 @@
|
||||
Makefile
|
||||
config.log
|
||||
config.h
|
||||
config.cache
|
||||
config.status
|
||||
libtool
|
||||
isc-config.sh
|
||||
configure.lineno
|
||||
autom4te.cache
|
||||
+50
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
Content-Type: application/X-atf-atffile; version="1"
|
||||
|
||||
prop: test-suite = bind9
|
||||
|
||||
tp: lib
|
||||
@@ -1,3 +1,637 @@
|
||||
--- 9.7.6-P4 released ---
|
||||
|
||||
3383. [security] A certain combination of records in the RBT could
|
||||
cause named to hang while populating the additional
|
||||
section of a response. [RT #31090]
|
||||
|
||||
--- 9.7.6-P3 released ---
|
||||
|
||||
3364. [security] Named could die on specially crafted record.
|
||||
[RT #30416]
|
||||
|
||||
--- 9.7.6-P2 released ---
|
||||
|
||||
3346. [security] Bad-cache data could be used before it was
|
||||
initialized, causing an assert. [RT #30025]
|
||||
|
||||
3342. [bug] Change #3314 broke saving of stub zones to disk
|
||||
resulting in excessive cpu usage in some cases.
|
||||
[RT #29952]
|
||||
|
||||
--- 9.7.6-P1 released ---
|
||||
|
||||
3331. [security] dns_rdataslab_fromrdataset could produce bad
|
||||
rdataslabs. [RT #29644]
|
||||
|
||||
--- 9.7.6 released ---
|
||||
|
||||
3318. [tuning] Reduce the amount of work performed while holding a
|
||||
bucket lock when finshed with a fetch context.
|
||||
[RT #29239]
|
||||
|
||||
3314. [bug] The masters list could be updated while refesh_callback
|
||||
and stub_callback were using it. [RT #26732]
|
||||
|
||||
3313. [protocol] Add TLSA record type. [RT #28989]
|
||||
|
||||
3311. [bug] Abort the zone dump if zone->db is NULL in
|
||||
zone.c:zone_gotwritehandle. [RT #29028]
|
||||
|
||||
3310. [test] Increase table size for mutex profiling. [RT #28809]
|
||||
|
||||
3309. [bug] resolver.c:fctx_finddone() was not threadsafe.
|
||||
[RT #27995]
|
||||
|
||||
3307. [bug] Add missing ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS.
|
||||
[RT #28956]
|
||||
|
||||
3304. [bug] Use hmctx, not mctx when freeing rbtdb->heaps.
|
||||
[RT #28571]
|
||||
|
||||
3302. [bug] dns_dnssec_findmatchingkeys could fail to find
|
||||
keys if the zone name contained character that
|
||||
required special mappings. [RT #28600]
|
||||
|
||||
3301. [contrib] Update queryperf to build on darwin. Add -R flag
|
||||
for non-recursive queries. [RT #28565]
|
||||
|
||||
3300. [bug] Named could die if gssapi was enabled in named.conf
|
||||
but was not compiled in. [RT #28338]
|
||||
|
||||
3299. [bug] Make SDB handle errors from database drivers better.
|
||||
[RT #28534]
|
||||
|
||||
3232. [bug] Zero zone->curmaster before return in
|
||||
dns_zone_setmasterswithkeys(). [RT #26732]
|
||||
|
||||
3197. [bug] Don't try to log the filename and line number when
|
||||
the config parser can't open a file. [RT #22263]
|
||||
|
||||
--- 9.7.5 released ---
|
||||
|
||||
3298. [bug] Named could dereference a NULL pointer in
|
||||
zmgr_start_xfrin_ifquota if the zone was being removed.
|
||||
[RT #28419]
|
||||
|
||||
3297. [bug] Named could die on a malformed master file. [RT #28467]
|
||||
|
||||
3295. [bug] Adjust isc_time_secondsastimet range check to be more
|
||||
portable. [RT # 26542]
|
||||
|
||||
3294. [bug] isccc/cc.c:table_fromwire failed to free alist on
|
||||
error. [RT #28265]
|
||||
|
||||
3291. [port] Fixed a build error on systems without ENOTSUP.
|
||||
[RT #28200]
|
||||
|
||||
3290. [bug] <isc/hmacsha.h> was not being installed. [RT #28169]
|
||||
|
||||
3287. [port] Update ans.pl to work with Net::DNS 0.68. [RT #28028]
|
||||
|
||||
3286. [bug] Managed key maintenance timer could fail to start
|
||||
after 'rndc reconfig'. [RT #26786]
|
||||
|
||||
--- 9.7.5rc2 released ---
|
||||
|
||||
3285. [bug] val-frdataset was incorrectly disassociated in
|
||||
proveunsecure after calling startfinddlvsep.
|
||||
[RT #27928]
|
||||
|
||||
3284. [bug] Address race conditions with the handling of
|
||||
rbtnode.deadlink. [RT #27738]
|
||||
|
||||
3283. [bug] Raw zones with with more than 512 records in a RRset
|
||||
failed to load. [RT #27863]
|
||||
|
||||
3282. [bug] Restrict the TTL of NS RRset to no more than that
|
||||
of the old NS RRset when replacing it.
|
||||
[RT #27792] [RT #27884]
|
||||
|
||||
3281. [bug] SOA refresh queries could be treated as cancelled
|
||||
despite succeeding over the loopback interface.
|
||||
[RT #27782]
|
||||
|
||||
3278. [bug] Make sure automatic key maintenance is started
|
||||
when "auto-dnssec maintain" is turned on during
|
||||
"rndc reconfig". [RT #26805]
|
||||
|
||||
3276. [bug] win32: ns_os_openfile failed to return NULL on
|
||||
safe_open failure. [RT #27696]
|
||||
|
||||
3374. [bug] Log when a zone is not reusable. Only set loadtime
|
||||
on successful loads. [RT #27650]
|
||||
|
||||
3273. [bug] AAAA responses could be returned in the additional
|
||||
section even when filter-aaaa-on-v4 was in use.
|
||||
[RT #27292]
|
||||
|
||||
3271. [port] darwin: mksymtbl is not always stable, loop several
|
||||
times before giving up. mksymtbl was using non
|
||||
portable perl to covert 64 bit hex strings. [RT #27653]
|
||||
|
||||
3268. [bug] Convert RRSIG expiry times to 64 timestamps to work
|
||||
out the earliest expiry time. [RT #23311]
|
||||
|
||||
3267. [bug] Memory allocation failures could be mis-reported as
|
||||
unexpected error. New ISC_R_UNSET result code.
|
||||
[RT #27336]
|
||||
|
||||
3266. [bug] The maximum number of NSEC3 iterations for a
|
||||
DNSKEY RRset was not being properly computed.
|
||||
[RT #26543]
|
||||
|
||||
--- 9.7.5rc1 released ---
|
||||
|
||||
3260. [bug] "rrset-order cyclic" could appear not to rotate
|
||||
for some query patterns. [RT #27170/27185]
|
||||
|
||||
3259. [bug] named-compilezone: Suppress "dump zone to <file>"
|
||||
message when writing to stdout. [RT #27109]
|
||||
|
||||
3258. [test] Add "forcing full sign with unreadable keys" test.
|
||||
[RT #27153]
|
||||
|
||||
3257. [bug] Do not generate a error message when calling fsync()
|
||||
in a pipe or socket. [RT #27109]
|
||||
|
||||
3256. [bug] Disable empty zones for lwresd -C. [RT #27139]
|
||||
|
||||
3254. [bug] Set isc_socket_ipv6only() on the IPv6 control channels.
|
||||
[RT #22249]
|
||||
|
||||
3253. [bug] Return DNS_R_SYNTAX when the input to a text field is
|
||||
too long. [RT #26956]
|
||||
|
||||
3251. [bug] Enforce a upper bound (65535 bytes) on the amount of
|
||||
memory dns_sdlz_putrr() can allocate per record to
|
||||
prevent run away memory consumption on ISC_R_NOSPACE.
|
||||
[RT #26956]
|
||||
|
||||
3250. [func] 'configure --enable-developer'; turn on various
|
||||
configure options, normally off by default, that
|
||||
we want developers to build and test with. [RT #27103]
|
||||
|
||||
3249. [bug] Update log message when saving slave zones files for
|
||||
analysis after load failures. [RT #27087]
|
||||
|
||||
3248. [bug] Configure options --enable-fixed-rrset and
|
||||
--enable-exportlib were incompatible with each
|
||||
other. [RT #27087]
|
||||
|
||||
3247. [bug] 'raw' format zones failed to preserve load order
|
||||
breaking 'fixed' sort order. [RT #27087]
|
||||
|
||||
3243. [port] netbsd,bsdi: the thread defaults were not being
|
||||
properly set.
|
||||
|
||||
3241. [bug] Address race conditions in the resolver code.
|
||||
[RT #26889]
|
||||
|
||||
3240. [bug] DNSKEY state change events could be missed. [RT #26874]
|
||||
|
||||
3239. [bug] dns_dnssec_findmatchingkeys needs to use a consistent
|
||||
timestamp. [RT #26883]
|
||||
|
||||
3238. [bug] keyrdata was not being reinitialized in
|
||||
lib/dns/rbtdb.c:iszonesecure. [RT#26913]
|
||||
|
||||
3237. [bug] dig -6 didn't work with +trace. [RT #26906]
|
||||
|
||||
--- 9.7.5b1 released ---
|
||||
|
||||
3234. [bug] 'make depend' produced invalid makefiles. [RT #26830]
|
||||
|
||||
3231. [bug] named could fail to send a uncompressable zone.
|
||||
[RT #26796]
|
||||
|
||||
3230. [bug] 'dig axfr' failed to properly handle a multi-message
|
||||
axfr with a serial of 0. [RT #26796]
|
||||
|
||||
3229. [bug] Fix local variable to struct var assignment
|
||||
found by CLANG warning.
|
||||
|
||||
3228. [tuning] Dynamically grow symbol table to improve zone
|
||||
loading performance. [RT #26523]
|
||||
|
||||
3227. [bug] Interim fix to make WKS's use of getprotobyname()
|
||||
and getservbyname() self thread safe. [RT #26232]
|
||||
|
||||
3226. [bug] Address minor resource leakages. [RT #26624]
|
||||
|
||||
3221. [bug] Fixed a potential coredump on shutdown due to
|
||||
referencing fetch context after it's been freed.
|
||||
[RT #26720]
|
||||
|
||||
3218. [security] Cache lookup could return RRSIG data associated with
|
||||
nonexistent records, leading to an assertion
|
||||
failure. [RT #26590]
|
||||
|
||||
3216. [bug] resolver.c:validated() was not thread-safe. [RT #26478]
|
||||
|
||||
3213. [doc] Clarify ixfr-from-differences behavior. [RT #25188]
|
||||
|
||||
3212. [bug] rbtdb.c: failed to remove a node from the deadnodes
|
||||
list prior to adding a reference to it leading a
|
||||
possible assertion failure. [RT #23219]
|
||||
|
||||
3209. [func] Add "dnssec-lookaside 'no'". [RT #24858]
|
||||
|
||||
3208. [bug] 'dig -y' handle unknown tsig alorithm better.
|
||||
[RT #25522]
|
||||
|
||||
3207. [contrib] Fixed build error in Berkeley DB DLZ module. [RT #26444]
|
||||
|
||||
3206. [cleanup] Add ISC information to log at start time. [RT #25484]
|
||||
|
||||
3204. [bug] When a master server that has been marked as
|
||||
unreachable sends a NOTIFY, mark it reachable
|
||||
again. [RT #25960]
|
||||
|
||||
3203. [bug] Increase log level to 'info' for validation failures
|
||||
from expired or not-yet-valid RRSIGs. [RT #21796]
|
||||
|
||||
3200. [doc] Some rndc functions were undocumented or were
|
||||
missing from 'rndc -h' output. [RT #25555]
|
||||
|
||||
3198. [doc] Clarified that dnssec-settime can alter keyfile
|
||||
permissions. [RT #24866]
|
||||
|
||||
3196. [bug] nsupdate: return nonzero exit code when target zone
|
||||
doesn't exist. [RT #25783]
|
||||
|
||||
3195. [cleanup] Silence "file not found" warnings when loading
|
||||
managed-keys zone. [RT #26340]
|
||||
|
||||
3194. [doc] Updated RFC references in the 'empty-zones-enable'
|
||||
documentation. [RT #25203]
|
||||
|
||||
3193. [cleanup] Changed MAXZONEKEYS to DNS_MAXZONEKEYS, moved to
|
||||
dnssec.h. [RT #26415]
|
||||
|
||||
3192. [bug] A query structure could be used after being freed.
|
||||
[RT #22208]
|
||||
|
||||
3191. [bug] Print NULL records using "unknown" format. [RT #26392]
|
||||
|
||||
3190. [bug] Underflow in error handling in isc_mutexblock_init.
|
||||
[RT #26397]
|
||||
|
||||
3189. [test] Added a summary report after system tests. [RT #25517]
|
||||
|
||||
3188. [bug] zone.c:zone_refreshkeys() could fail to detach
|
||||
references correctly when errors occurred, causing
|
||||
a hang on shutdown. [RT #26372]
|
||||
|
||||
3187. [port] win32: support for Visual Studio 2008. [RT #26356]
|
||||
|
||||
3179. [port] kfreebsd: build issues. [RT #26273]
|
||||
|
||||
3175. [bug] Fix how DNSSEC positive wildcard responses from a
|
||||
NSEC3 signed zone are validated. Stop sending a
|
||||
unnecessary NSEC3 record when generating such
|
||||
responses. [RT #26200]
|
||||
|
||||
3174. [bug] Always compute to revoked key tag from scratch.
|
||||
[RT #26186]
|
||||
|
||||
3173. [port] Correctly validate root DS responses. [RT #25726]
|
||||
|
||||
3171. [bug] Exclusively lock the task when adding a zone using
|
||||
'rndc addzone'. [RT #25600]
|
||||
|
||||
3169. [func] Catch db/version mis-matches when calling dns_db_*().
|
||||
[RT #26017]
|
||||
|
||||
3167. [bug] Negative answers from forwarders were not being
|
||||
correctly tagged making them appear to not be cached.
|
||||
[RT #25380]
|
||||
|
||||
3162. [test] start.pl: modified to allow for "named.args" in
|
||||
ns*/ subdirectory to override stock arguments to
|
||||
named. Largely from RT#26044, but no separate ticket.
|
||||
|
||||
3161. [bug] zone.c:del_sigs failed to always reset rdata leading
|
||||
assertion failures. [RT #25880]
|
||||
|
||||
3157. [tuning] Reduce the time spent in "rndc reconfig" by parsing
|
||||
the config file before pausing the server. [RT #21373]
|
||||
|
||||
3154. [bug] Attempting to print an empty rdataset could trigger
|
||||
an assert. [RT #25452]
|
||||
|
||||
3152. [cleanup] Some versions of gcc and clang failed due to
|
||||
incorrect use of __builtin_expect. [RT #25183]
|
||||
|
||||
3151. [bug] Queries for type RRSIG or SIG could be handled
|
||||
incorrectly. [RT #21050]
|
||||
|
||||
3149. [tuning] Improve scalability by allocating one zone
|
||||
task per 100 zones at startup time. (The
|
||||
BIND9_ZONE_TASKS_HINT environment variable
|
||||
which was established as a temporary measure
|
||||
in change #3132 is no longer needed or
|
||||
used.) [rt25541]
|
||||
|
||||
3148. [bug] Processing of normal queries could be stalled when
|
||||
forwarding a UPDATE message. [RT #24711]
|
||||
|
||||
3146. [test] Fixed gcc4.6.0 errors in ATF. [RT #25598]
|
||||
|
||||
3145. [test] Capture output of ATF unit tests in "./atf.out" if
|
||||
there were any errors while running them. [RT #25527]
|
||||
|
||||
3144. [bug] dns_dbiterator_seek() could trigger an assert when
|
||||
used with a nonexistent database node. [RT #25358]
|
||||
|
||||
3143. [bug] Silence clang compiler warnings. [RT #25174]
|
||||
|
||||
3142. [bug] NAPTR is class agnostic. [RT #25429]
|
||||
|
||||
3141. [bug] Silence spurious "zone serial (0) unchanged" messages
|
||||
associated with empty zones. [RT #25079]
|
||||
|
||||
3139. [test] Added tests from RFC 6234, RFC 2202, and RFC 1321
|
||||
for the hashing algorithms (md5, sha1 - sha512, and
|
||||
their hmac counterparts). [RT #25067]
|
||||
|
||||
3138. [bug] Address memory leaks and out-of-order operations when
|
||||
shutting named down. [RT #25210]
|
||||
|
||||
3136. [func] Add RFC 1918 reverse zones to the list of built-in
|
||||
empty zones switched on by the 'empty-zones-enable'
|
||||
option. [RT #24990]
|
||||
|
||||
3134. [bug] Improve the accuracy of dnssec-signzone's signing
|
||||
statistics. [RT #16030]
|
||||
|
||||
3129. [bug] Named could crash on 'rndc reconfig' when
|
||||
allow-new-zones was set to yes and named ACLs
|
||||
were used. [RT #22739]
|
||||
|
||||
--- 9.7.4 released ---
|
||||
|
||||
3135. [port] FreeBSD: workaround broken IPV6_USE_MIN_MTU processing.
|
||||
See http://www.freebsd.org/cgi/query-pr.cgi?pr=158307
|
||||
[RT #24950]
|
||||
|
||||
3133. [bug] Change #3114 was incomplete. [RT #24577]
|
||||
|
||||
3132. [bug] Workaround for excessive startup time with large
|
||||
number of zones; allow setting of an environment
|
||||
variable to tune the number of tasks, default is 8,
|
||||
recommends 200 zones per task. If you have 200000
|
||||
zones set the BIND9_ZONE_TASKS_HINT environment
|
||||
variable to 1000 before starting named:
|
||||
|
||||
csh: setenv BIND9_ZONE_TASKS_HINT 1000
|
||||
sh: BIND9_ZONE_TASKS_HINT=1000;
|
||||
export BIND9_ZONE_TASKS_HINT
|
||||
|
||||
Applicable to 9.7, 9.6, auto-tuned in 9.8 and up.
|
||||
[RT #25084]
|
||||
|
||||
--- 9.7.4rc1 released ---
|
||||
|
||||
3124. [bug] Use an rdataset attribute flag to indicate
|
||||
negative-cache records rather than using rrtype 0;
|
||||
this will prevent problems when that rrtype is
|
||||
used in actual DNS packets. [RT #24777]
|
||||
|
||||
3123. [security] Change #2912 exposed a latent flaw in
|
||||
dns_rdataset_totext() that could cause named to
|
||||
crash with an assertion failure. [RT #24777]
|
||||
|
||||
3122. [cleanup] dnssec-settime: corrected usage message. [RT #24664]
|
||||
|
||||
3121. [security] An authoritative name server sending a negative
|
||||
response containing a very large RRset could
|
||||
trigger an off-by-one error in the ncache code
|
||||
and crash named. [RT #24650]
|
||||
|
||||
3120. [bug] Named could fail to validate zones listed in a DLV
|
||||
that validated insecure without using DLV and had
|
||||
DS records in the parent zone. [RT #24631]
|
||||
|
||||
3119. [bug] When rolling to a new DNSSEC key, a private-type
|
||||
record could be created and never marked complete.
|
||||
[RT #23253]
|
||||
|
||||
3118. [bug] nsupdate could dump core on shutdown when using
|
||||
SIG(0) keys. [RT #24604]
|
||||
|
||||
3117. [cleanup] Remove doc and parser references to the
|
||||
never-implemented 'auto-dnssec create' option.
|
||||
[RT #24533]
|
||||
|
||||
3114. [bug] Retain expired RRSIGs in dynamic zones if key is
|
||||
inactive and there is no replacement key. [RT #23136]
|
||||
|
||||
3113. [doc] Document the relationship between serial-query-rate
|
||||
and NOTIFY messages.
|
||||
|
||||
3112. [doc] Add missing descriptions of the update policy name
|
||||
types "ms-self", "ms-subdomain", "krb5-self" and
|
||||
"krb5-subdomain", which allow machines to update
|
||||
their own records, to the BIND 9 ARM.
|
||||
|
||||
3111. [bug] Improved consistency checks for dnssec-enable and
|
||||
dnssec-validation, added test cases to the
|
||||
checkconf system test. [RT #24398]
|
||||
|
||||
3110. [bug] dnssec-signzone: Wrong error message could appear
|
||||
when attempting to sign with no KSK. [RT #24369]
|
||||
|
||||
3107. [bug] dnssec-signzone: Report the correct number of ZSKs
|
||||
when using -x. [RT #20852]
|
||||
|
||||
3104. [bug] Better support for cross-compiling. [RT #24367]
|
||||
|
||||
3101. [bug] Zones using automatic key maintenance could fail
|
||||
to check the key repository for updates. [RT #23744]
|
||||
|
||||
3099. [test] "dlz" system test now runs but gives R:SKIPPED if
|
||||
not compiled with --with-dlz-filesystem. [RT #24146]
|
||||
|
||||
3097. [test] Add a tool to test handling of malformed packets.
|
||||
[RT #24096]
|
||||
|
||||
--- 9.7.4b1 released ---
|
||||
|
||||
3095. [bug] Handle isolated reserved ports in the port range.
|
||||
[RT #23957]
|
||||
|
||||
3092. [bug] Signatures for records at the zone apex could go
|
||||
stale due to an incorrect timer setting. [RT #23769]
|
||||
|
||||
3091. [bug] Fixed a bug in which zone keys that were published
|
||||
and then subsequently activated could fail to trigger
|
||||
automatic signing. [RT #22911]
|
||||
|
||||
3088. [bug] Remove bin/tests/system/logfileconfig/ns1/named.conf
|
||||
and add setup.sh in order to resolve changing
|
||||
named.conf issue. [RT #23687]
|
||||
|
||||
3086. [bug] Running dnssec-settime -f on an old-style key will
|
||||
now force an update to the new key format even if no
|
||||
other change has been specified, using "-P now -A now"
|
||||
as default values. [RT #22474]
|
||||
|
||||
3083. [bug] NOTIFY messages were not being sent when generating
|
||||
a NSEC3 chain incrementally. [RT #23702]
|
||||
|
||||
3081. [bug] Failure of DNAME substitution did not return
|
||||
YXDOMAIN. [RT #23591]
|
||||
|
||||
3080. [cleanup] Replaced compile time constant by STDTIME_ON_32BITS.
|
||||
[RT #23587]
|
||||
|
||||
3079. [bug] Handle isc_event_allocate failures in t_tasks.
|
||||
[RT #23572]
|
||||
|
||||
3077. [bug] zone.c:zone_refreshkeys() incorrectly called
|
||||
dns_zone_attach(), use zone->irefs instead. [RT #23303]
|
||||
|
||||
3075. [bug] dns_dnssec_findzonekeys{2} used a inconsistant
|
||||
timestamp when determining which keys are active.
|
||||
[RT #23642]
|
||||
|
||||
3074. [bug] Make the adb cache read through for zone data and
|
||||
glue learn for zone named is authoritative for.
|
||||
[RT #22842]
|
||||
|
||||
3073. [bug] managed-keys changes were not properly being recorded.
|
||||
[RT #20256]
|
||||
|
||||
3071. [bug] has_nsec could be used unintialised in
|
||||
update.c:next_active. [RT #20256]
|
||||
|
||||
3070. [bug] dnssec-signzone potential NULL pointer dereference.
|
||||
[RT #20256]
|
||||
|
||||
3069. [cleanup] Silence warnings messages from clang static analysis.
|
||||
[RT #20256]
|
||||
|
||||
3068. [bug] Named failed to build with a OpenSSL without engine
|
||||
support. [RT #23473]
|
||||
|
||||
3067. [bug] ixfr-from-differences {master|slave}; failed to
|
||||
select the master/slave zones. [RT #23580]
|
||||
|
||||
3065. [bug] RRSIG could have time stamps too far in the future.
|
||||
[RT #23356]
|
||||
|
||||
3064. [bug] powerpc: add sync instructions to the end of atomic
|
||||
operations. [RT #23469]
|
||||
|
||||
3063. [contrib] More verbose error reporting from DLZ LDAP. [RT #23402]
|
||||
|
||||
3059. [test] Added a regression test for change #3023.
|
||||
|
||||
3058. [bug] Cause named to terminate at startup or rndc reconfig/
|
||||
reload to fail, if a log file specified in the conf
|
||||
file isn't a plain file. [RT #22771]
|
||||
|
||||
3057. [bug] "rndc secroots" would abort after the first error
|
||||
and so could miss some views. [RT #23488]
|
||||
|
||||
3055. [bug] Load only the desired keys in the
|
||||
"dnssec-lookaside auto" mode. [RT #23372]
|
||||
|
||||
3053. [bug] Under a sustained high query load with a finite
|
||||
max-cache-size, it was possible for cache memory
|
||||
to be exhausted and not recovered. [RT #23371]
|
||||
|
||||
3052. [test] Fixed last autosign test report. [RT #23256]
|
||||
|
||||
3051. [bug] NS records obsure DNAME records at the bottom of the
|
||||
zone if both are present. [RT #23035]
|
||||
|
||||
3050. [bug] The autosign system test was timing dependent.
|
||||
Wait for the initial autosigning to complete
|
||||
before running the rest of the test. [RT #23035]
|
||||
|
||||
3049. [bug] Save and restore the gid when creating creating
|
||||
named.pid at startup. [RT #23290]
|
||||
|
||||
3048. [bug] Fully separate view key mangement. [RT #23419]
|
||||
|
||||
3047. [bug] DNSKEY NODATA responses not cached fixed in
|
||||
validator.c. Tests added to dnssec system test.
|
||||
[RT #22908]
|
||||
|
||||
3046. [bug] Use RRSIG original TTL to compute validated RRset
|
||||
and RRSIG TTL. [RT #23332]
|
||||
|
||||
3044. [bug] Hold the socket manager lock while freeing the socket.
|
||||
[RT #23333]
|
||||
|
||||
3043. [test] Merged in the NetBSD ATF test framework (currently
|
||||
version 0.12) for development of future unit tests.
|
||||
Use configure --with-atf to build ATF internally
|
||||
or configure --with-atf=prefix to use an external
|
||||
copy. [RT #23209]
|
||||
|
||||
3042. [bug] dig +trace could fail attempting to use IPv6
|
||||
addresses on systems with only IPv4 connectivity.
|
||||
[RT #23297]
|
||||
|
||||
3041. [bug] dnssec-signzone failed to generate new signatures on
|
||||
ttl changes. [RT #23330]
|
||||
|
||||
3040. [bug] Named failed to validate insecure zones where a node
|
||||
with a CNAME existed between the trust anchor and the
|
||||
top of the zone. [RT #23338]
|
||||
|
||||
3037. [doc] Update COPYRIGHT to contain all the individual
|
||||
copyright notices that cover various parts.
|
||||
|
||||
3036. [bug] Check built-in zone arguments to see if the zone
|
||||
is re-usable or not. [RT #21914]
|
||||
|
||||
3035. [cleanup] Simplify by using strlcpy. [RT #22521]
|
||||
|
||||
3034. [cleanup] nslookup: use strlcpy instead of safecopy. [RT #22521]
|
||||
|
||||
3033. [cleanup] Add two INSIST(bucket != DNS_ADB_INVALIDBUCKET).
|
||||
[RT #22521]
|
||||
|
||||
3032. [bug] rdatalist.c: add missing REQUIREs. [RT #22521]
|
||||
|
||||
3031. [bug] dns_rdataclass_format() handle a zero sized buffer.
|
||||
[RT #22521]
|
||||
|
||||
3030. [bug] dns_rdatatype_format() handle a zero sized buffer.
|
||||
[RT #22521]
|
||||
|
||||
3029. [bug] isc_netaddr_format() handle a zero sized buffer.
|
||||
[RT #22521]
|
||||
|
||||
3028. [bug] isc_sockaddr_format() handle a zero sized buffer.
|
||||
[RT #22521]
|
||||
|
||||
3027. [bug] Add documented REQUIREs to cfg_obj_asnetprefix() to
|
||||
catch NULL pointer dereferences before they happen.
|
||||
[RT #22521]
|
||||
|
||||
3026. [bug] lib/isc/httpd.c: check that we have enough space
|
||||
after calling grow_headerspace() and if not
|
||||
re-call grow_headerspace() until we do. [RT #22521]
|
||||
|
||||
3025. [bug] Fixed a possible deadlock due to zone resigning.
|
||||
[RT #22964]
|
||||
|
||||
3023. [bug] Named could be left in an inconsistent state when
|
||||
receiving multiple AXFR response messages that were
|
||||
not all TSIG-signed. [RT #23254]
|
||||
|
||||
3021. [bug] Change #3010 was incomplete. [RT #22296]
|
||||
|
||||
3020. [bug] auto-dnssec failed to correctly update the zone when
|
||||
changing the DNSKEY RRset. [RT #23232]
|
||||
|
||||
3019. [test] Test: check apex NSEC3 records after adding DNSKEY
|
||||
record via UPDATE. [RT #23229]
|
||||
|
||||
--- 9.7.3 released ---
|
||||
|
||||
3018. [bug] Named failed to check for the "none;" acl when deciding
|
||||
@@ -74,12 +708,12 @@
|
||||
|
||||
2976. [bug] named could die on exit after negotiating a GSS-TSIG
|
||||
key. [RT #22573]
|
||||
|
||||
2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() aquired the
|
||||
|
||||
2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() acquired the
|
||||
wrong lock which could lead to server deadlock.
|
||||
[RT #22614]
|
||||
|
||||
2974. [bug] Some vaild UPDATE requests could fail due to a
|
||||
2974. [bug] Some valid UPDATE requests could fail due to a
|
||||
consistency check examining the existing version
|
||||
of the zone rather than the new version resulting
|
||||
from the UPDATE. [RT #22413]
|
||||
@@ -168,7 +802,7 @@
|
||||
2950. [bug] named failed to perform a SOA up to date check when
|
||||
falling back to TCP on UDP timeouts when
|
||||
ixfr-from-differences was set. [RT #21595]
|
||||
|
||||
|
||||
2949. [bug] dns_view_setnewzones() contained a memory leak if
|
||||
it was called multiple times. [RT #21942]
|
||||
|
||||
@@ -273,10 +907,10 @@
|
||||
This feature is not yet documented, and its syntax
|
||||
is expected to change.) [RT #19447]
|
||||
|
||||
2929. [bug] Improved handling of GSS security contexts:
|
||||
2929. [bug] Improved handling of GSS security contexts:
|
||||
- added LRU expiration for generated TSIGs
|
||||
- added the ability to use a non-default realm
|
||||
- added new "realm" keyword in nsupdate
|
||||
- added new "realm" keyword in nsupdate
|
||||
- limited lifetime of generated keys to 1 hour
|
||||
or the lifetime of the context (whichever is
|
||||
smaller)
|
||||
@@ -344,7 +978,7 @@
|
||||
2905. [port] aix: set use_atomic=yes with native compiler.
|
||||
[RT #21402]
|
||||
|
||||
2904. [bug] When using DLV, sub-zones of the zones in the DLV,
|
||||
2904. [bug] When using DLV, sub-zones of the zones in the DLV,
|
||||
could be incorrectly marked as insecure instead of
|
||||
secure leading to negative proofs failing. This was
|
||||
a unintended outcome from change 2890. [RT# 21392]
|
||||
@@ -359,17 +993,17 @@
|
||||
2901. [port] Use AC_C_FLEXIBLE_ARRAY_MEMBER. [RT #21316]
|
||||
|
||||
2900. [bug] The placeholder negative caching element was not
|
||||
properly constructed triggering a INSIST in
|
||||
properly constructed triggering a INSIST in
|
||||
dns_ncache_towire(). [RT #21346]
|
||||
|
||||
|
||||
2899. [port] win32: Support linking against OpenSSL 1.0.0.
|
||||
|
||||
2898. [bug] nslookup leaked memory when -domain=value was
|
||||
2898. [bug] nslookup leaked memory when -domain=value was
|
||||
specified. [RT #21301]
|
||||
|
||||
2897. [bug] NSEC3 chains could be left behind when transitioning
|
||||
to insecure. [RT #21040]
|
||||
|
||||
|
||||
2896. [bug] "rndc sign" failed to properly update the zone
|
||||
when adding a DNSKEY for publication only. [RT #21045]
|
||||
|
||||
@@ -609,7 +1243,7 @@
|
||||
2819. [cleanup] Removed unnecessary DNS_POINTER_MAXHOPS define.
|
||||
[RT #20771]
|
||||
|
||||
2818. [cleanup] rndc could return an incorrect error code
|
||||
2818. [cleanup] rndc could return an incorrect error code
|
||||
when a zone was not found. [RT #20767]
|
||||
|
||||
2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls.
|
||||
@@ -623,12 +1257,12 @@
|
||||
|
||||
2814. [func] Provide a definitive error message when a master
|
||||
zone is not loaded. [RT #20757]
|
||||
|
||||
|
||||
2813. [bug] Better handling of unreadable DNSSEC key files.
|
||||
[RT #20710]
|
||||
|
||||
2812. [bug] Make sure updates can't result in a zone with
|
||||
NSEC-only keys and NSEC3 records. [RT 20748]
|
||||
NSEC-only keys and NSEC3 records. [RT #20748]
|
||||
|
||||
2811. [cleanup] Add "rndc sign" to list of commands in rndc usage
|
||||
output. [RT #20733]
|
||||
@@ -672,7 +1306,7 @@
|
||||
|
||||
named-checkzone -r {ignore|warn|fail} (default warn)
|
||||
named-compilezone -r {ignore|warn|fail} (default warn)
|
||||
|
||||
|
||||
named.conf: check-dup-records {ignore|warn|fail};
|
||||
|
||||
2800. [func] Reject zones which have NS records which refer to
|
||||
@@ -684,7 +1318,7 @@
|
||||
"dnssec-secure-to-insecure", and "dnskey-ksk-only"
|
||||
to "dnssec-dnskey-kskonly", for clarity. [RT #20586]
|
||||
|
||||
2798. [bug] Addressed bugs in managed-keys initialization
|
||||
2798. [bug] Addressed bugs in managed-keys initialization
|
||||
and rollover. [RT #20683]
|
||||
|
||||
2797. [bug] Don't decrement the dispatch manager's maxbuffers.
|
||||
@@ -709,7 +1343,7 @@
|
||||
|
||||
2790. [bug] Handle DS queries to stub zones. [RT #20440]
|
||||
|
||||
2789. [bug] Fixed an INSIST in dispatch.c [RT #20576]
|
||||
2789. [bug] Fixed an INSIST in dispatch.c [RT #20576]
|
||||
|
||||
2788. [bug] dnssec-signzone could sign with keys that were
|
||||
not requested [RT #20625]
|
||||
@@ -1026,7 +1660,7 @@
|
||||
|
||||
2695. [func] DHCP/DDNS - update fdwatch code for use by
|
||||
DHCP. Modify the api to isc_sockfdwatch_t (the
|
||||
callback funciton for isc_socket_fdwatchcreate)
|
||||
callback functon for isc_socket_fdwatchcreate)
|
||||
to include information about the direction (read
|
||||
or write) and add isc_socket_fdwatchpoke.
|
||||
[RT #20253]
|
||||
@@ -1091,14 +1725,14 @@
|
||||
sets the time when a key is no longer used for
|
||||
signing but is still published.
|
||||
- The "unpublished" date (-U) is deprecated in
|
||||
favor of "deleted" (-D).
|
||||
favour of "deleted" (-D).
|
||||
[RT #20247]
|
||||
|
||||
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]
|
||||
did not exist. [RT #20232]
|
||||
|
||||
--- 9.7.0a3 released ---
|
||||
|
||||
@@ -1189,7 +1823,7 @@
|
||||
64-bit systems. [RT #20076]
|
||||
|
||||
2650. [bug] Assertion failure in dnssec-signzone when trying
|
||||
to read keyset-* files. [RT #20075]
|
||||
to read keyset-* files. [RT #20075]
|
||||
|
||||
2649. [bug] Set the domain for forward only zones. [RT #19944]
|
||||
|
||||
@@ -1261,7 +1895,7 @@
|
||||
2630. [func] Improved syntax for DDNS autoconfiguration: use
|
||||
"update-policy local;" to switch on local DDNS in a
|
||||
zone. (The "ddns-autoconf" option has been removed.)
|
||||
[RT #19875]
|
||||
[RT #19875]
|
||||
|
||||
2629. [port] Check for seteuid()/setegid(), use setresuid()/
|
||||
setresgid() if not present. [RT #19932]
|
||||
@@ -1281,11 +1915,11 @@
|
||||
2624. [func] 'named-checkconf -p' will print out the parsed
|
||||
configuration. [RT #18871]
|
||||
|
||||
2623. [bug] Named started seaches for DS non-optimally. [RT #19915]
|
||||
2623. [bug] Named started searches for DS non-optimally. [RT #19915]
|
||||
|
||||
2622. [bug] Printing of named.conf grammar was broken. [RT #19919]
|
||||
|
||||
2621. [doc] Made copyright boilterplate consistent. [RT #19833]
|
||||
2621. [doc] Made copyright boilerplate consistent. [RT #19833]
|
||||
|
||||
2620. [bug] Delay thawing the zone until the reload of it has
|
||||
completed successfully. [RT #19750]
|
||||
@@ -1605,7 +2239,7 @@
|
||||
2529. [cleanup] Upgrade libtool to silence complaints from recent
|
||||
version of autoconf. [RT #18657]
|
||||
|
||||
2528. [cleanup] Silence spurious configure warning about
|
||||
2528. [cleanup] Silence spurious configure warning about
|
||||
--datarootdir [RT #19096]
|
||||
|
||||
2527. [placeholder]
|
||||
@@ -1890,13 +2524,13 @@
|
||||
2441. [bug] isc_radix_insert() could copy radix tree nodes
|
||||
incompletely. [RT #18573]
|
||||
|
||||
2440. [bug] named-checkconf used an incorrect test to determine
|
||||
2440. [bug] named-checkconf used an incorrect test to determine
|
||||
if an ACL was set to none.
|
||||
|
||||
2439. [bug] Potential NULL dereference in dns_acl_isanyornone().
|
||||
2439. [bug] Potential NULL dereference in dns_acl_isanyornone().
|
||||
[RT #18559]
|
||||
|
||||
2438. [bug] Timeouts could be logged incorrectly under win32.
|
||||
2438. [bug] Timeouts could be logged incorrectly under win32.
|
||||
|
||||
2437. [bug] Sockets could be closed too early, leading to
|
||||
inconsistent states in the socket module. [RT #18298]
|
||||
@@ -1910,7 +2544,7 @@
|
||||
|
||||
2433. [tuning] Set initial timeout to 800ms.
|
||||
|
||||
2432. [bug] More Windows socket handling improvements. Stop
|
||||
2432. [bug] More Windows socket handling improvements. Stop
|
||||
using I/O events and use IO Completion Ports
|
||||
throughout. Rewrite the receive path logic to make
|
||||
it easier to support multiple simultaneous
|
||||
@@ -1945,11 +2579,11 @@
|
||||
epoll and /dev/poll to be selected at compile
|
||||
time. [RT #18277]
|
||||
|
||||
2423. [security] Randomize server selection on queries, so as to
|
||||
make forgery a little more difficult. Instead of
|
||||
always preferring the server with the lowest RTT,
|
||||
pick a server with RTT within the same 128
|
||||
millisecond band. [RT #18441]
|
||||
2423. [security] Randomize server selection on queries, so as to
|
||||
make forgery a little more difficult. Instead of
|
||||
always preferring the server with the lowest RTT,
|
||||
pick a server with RTT within the same 128
|
||||
millisecond band. [RT #18441]
|
||||
|
||||
2422. [bug] Handle the special return value of a empty node as
|
||||
if it was a NXRRSET in the validator. [RT #18447]
|
||||
@@ -1959,7 +2593,7 @@
|
||||
Use caution: this option may not work for some
|
||||
operating systems without rebuilding named.
|
||||
|
||||
2420. [bug] Windows socket handling cleanup. Let the io
|
||||
2420. [bug] Windows socket handling cleanup. Let the io
|
||||
completion event send out canceled read/write
|
||||
done events, which keeps us from writing to memory
|
||||
we no longer have ownership of. Add debugging
|
||||
@@ -2030,7 +2664,7 @@
|
||||
|
||||
2399. [placeholder]
|
||||
|
||||
2398. [bug] Improve file descriptor management. New,
|
||||
2398. [bug] Improve file descriptor management. New,
|
||||
temporary, named.conf option reserved-sockets,
|
||||
default 512. [RT #18344]
|
||||
|
||||
@@ -2281,8 +2915,8 @@
|
||||
2316. [port] Missing #include <isc/print.h> in lib/dns/gssapictx.c.
|
||||
[RT #17513]
|
||||
|
||||
2315. [bug] Used incorrect address family for mapped IPv4
|
||||
addresses in acl.c. [RT #17519]
|
||||
2315. [bug] Used incorrect address family for mapped IPv4
|
||||
addresses in acl.c. [RT #17519]
|
||||
|
||||
2314. [bug] Uninitialized memory use on error path in
|
||||
bin/named/lwdnoop.c. [RT #17476]
|
||||
@@ -2293,14 +2927,14 @@
|
||||
2312. [cleanup] Silence Coverity warning in lib/isc/unix/socket.c.
|
||||
[RT #17458]
|
||||
|
||||
2311. [bug] IPv6 addresses could match IPv4 ACL entries and
|
||||
vice versa. [RT #17462]
|
||||
2311. [bug] IPv6 addresses could match IPv4 ACL entries and
|
||||
vice versa. [RT #17462]
|
||||
|
||||
2310. [bug] dig, host, nslookup: flush stdout before emitting
|
||||
debug/fatal messages. [RT #17501]
|
||||
|
||||
2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c.
|
||||
[RT #17455]
|
||||
2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c.
|
||||
[RT #17455]
|
||||
|
||||
2308. [cleanup] Silence Coverity warning in bin/named/controlconf.c.
|
||||
[RT #17495]
|
||||
@@ -2352,7 +2986,7 @@
|
||||
2292. [bug] Log if the working directory is not writable.
|
||||
[RT #17312]
|
||||
|
||||
2291. [bug] PR_SET_DUMPABLE may be set too late. Also report
|
||||
2291. [bug] PR_SET_DUMPABLE may be set too late. Also report
|
||||
failure to set PR_SET_DUMPABLE. [RT #17312]
|
||||
|
||||
2290. [bug] Let AD in the query signal that the client wants AD
|
||||
@@ -2390,7 +3024,7 @@
|
||||
2280. [func] Allow the experimental http server to be reached
|
||||
over IPv6 as well as IPv4. [RT #17332]
|
||||
|
||||
2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available,
|
||||
2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available,
|
||||
to protect applications from receiving spurious
|
||||
SIGPIPE signals when using the resolver.
|
||||
|
||||
@@ -2425,9 +3059,9 @@
|
||||
|
||||
--- 9.5.0b1 released ---
|
||||
|
||||
2267. [bug] Radix tree node_num value could be set incorrectly,
|
||||
causing positive ACL matches to look like negative
|
||||
ones. [RT #17311]
|
||||
2267. [bug] Radix tree node_num value could be set incorrectly,
|
||||
causing positive ACL matches to look like negative
|
||||
ones. [RT #17311]
|
||||
|
||||
2266. [bug] client.c:get_clientmctx() returned the same mctx
|
||||
once the pool of mctx's was filled. [RT #17218]
|
||||
@@ -2443,7 +3077,7 @@
|
||||
2262. [bug] Error status from all but the last view could be
|
||||
lost. [RT #17292]
|
||||
|
||||
2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272]
|
||||
2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272]
|
||||
|
||||
2260. [bug] Reported wrong clients-per-query when increasing the
|
||||
value. [RT #17236]
|
||||
|
||||
@@ -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.15.188.2 2011/01/04 23:46:30 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.
|
||||
|
||||
|
||||
@@ -1,3 +1,245 @@
|
||||
3312. [bug] named-checkconf didn't detect a bad dns64 clients acl.
|
||||
[RT #27631]
|
||||
|
||||
3306. [bug] Improve DNS64 reverse zone performance. [RT #28563]
|
||||
|
||||
3305. [func] Add wire format lookup method to sdb. [RT #28563]
|
||||
|
||||
3303. [bug] named could die when reloading. [RT #28606]
|
||||
|
||||
3296. [bug] Named could die with a INSIST failure in
|
||||
client.c:exit_check. [RT #28346]
|
||||
|
||||
3289. [bug] 'rndc retransfer' failed for inline zones. [RT #28036]
|
||||
|
||||
3288. [bug] dlz_destroy() function wasn't correctly registered
|
||||
by the DLZ dlopen driver. [RT #28056]
|
||||
|
||||
3280. [bug] Potential double free of a rdataset on out of memory
|
||||
with DNS64. [RT #27762]
|
||||
|
||||
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]
|
||||
|
||||
3277. [bug] win32: isc_socket_dup is not implemented. [RT #27696]
|
||||
|
||||
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]
|
||||
|
||||
3270. [bug] "rndc reload" didn't reuse existing zones correctly
|
||||
when inline-signing was in use. [RT #27650]
|
||||
|
||||
3269. [port] darwin 11 and later now built threaded by default.
|
||||
|
||||
3265. [bug] Address lock order reversal with inline-signing
|
||||
support. [27557]
|
||||
|
||||
3265. [bug] Address lock order reversal with inline-signing
|
||||
support. [27557]
|
||||
|
||||
3264. [bug] Automatic regeneration of signatures in an
|
||||
inline-signing zone could stall when the server
|
||||
was restarted. [RT #27344]
|
||||
|
||||
3263. [bug] "rndc sync" did not affect the unsigned side of an
|
||||
inline-signing zone. [RT #27337]
|
||||
|
||||
3262. [bug] Signed responses were handled incorrectly by RPZ.
|
||||
[RT #27316]
|
||||
|
||||
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]
|
||||
|
||||
3246. [bug] Named failed to start with a empty also-notify list.
|
||||
[RT #27087]
|
||||
|
||||
3245. [bug] Don't report a error unchanged serials unless there
|
||||
were other changes when thawing a zone with
|
||||
ixfr-fromdifferences. [RT #26845]
|
||||
|
||||
3243. [port] freebsd,netbsd,bsdi: the thread defaults were not
|
||||
being properly set.
|
||||
|
||||
3236. [bug] Backed out changes #3182 and #3202, related to
|
||||
EDNS(0) fallback behavior. [RT #26416]
|
||||
|
||||
3233. [bug] 'rndc freeze/thaw' didn't work for inline zones.
|
||||
[RT #26632]
|
||||
|
||||
3225. [bug] Silence spurious "setsockopt(517, IPV6_V6ONLY) failed"
|
||||
messages. [RT #26507]
|
||||
|
||||
3224. [bug] 'rndc signing' argument parsing was broken. [RT #26684]
|
||||
|
||||
3223. [bug] 'task_test privilege_drop' generated false positives.
|
||||
[RT #26766]
|
||||
|
||||
3222. [cleanup] Replace dns_journal_{get,set}_bitws with
|
||||
dns_journal_{get,set}_sourceserial. [RT #26634]
|
||||
|
||||
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.
|
||||
|
||||
3217. [cleanup] Fix build problem with --disable-static. [RT #26476]
|
||||
|
||||
3215. [bug] 'rndc recursing' could cause a core dump. [RT #26495]
|
||||
|
||||
3210. [bug] Canceling the oldest query due to recursive-client
|
||||
overload could trigger an assertion failure. [RT #26463]
|
||||
|
||||
3202. [bug] NOEDNS caching on timeout was too agressive.
|
||||
[RT #26416]
|
||||
|
||||
3186. [bug] Version/db mis-match in rpz code. [RT #26180]
|
||||
|
||||
3184. [bug] named had excessive cpu usage when a redirect zone was
|
||||
configured. [RT #26013]
|
||||
|
||||
3183. [bug] Added RTLD_GLOBAL flag to dlopen call. [RT #26301]
|
||||
|
||||
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]
|
||||
|
||||
3178. [bug] A race condition introduced by change #3163 could
|
||||
cause an assertion failure on shutdown. [RT #26271]
|
||||
|
||||
3176. [doc] Corrected example code and added a README to the
|
||||
sample external DLZ module in contrib/dlz/example.
|
||||
[RT #26215]
|
||||
|
||||
3172. [port] darwin 10.* and freebsd [89] are now built threaded by
|
||||
default.
|
||||
|
||||
3168. [bug] Nxdomain redirection could trigger an assert with
|
||||
a ANY query. [RT #26017]
|
||||
|
||||
3166. [bug] Upgrading a zone to support inline-signing failed.
|
||||
[RT #26014]
|
||||
|
||||
3165. [bug] dnssec-signzone could generate new signatures when
|
||||
resigning, even when valid signatures were already
|
||||
present. [RT #26025]
|
||||
|
||||
3163. [bug] Use finer-grained locking in client.c to address
|
||||
concurrency problems with large numbers of threads.
|
||||
[RT #26044]
|
||||
|
||||
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]
|
||||
|
||||
3159. [bug] On some platforms, named could assert on startup
|
||||
when running in a chrooted environment without
|
||||
/proc. [RT #25863]
|
||||
|
||||
3158. [bug] Recursive servers would prefer a particular UDP
|
||||
socket instead of using all available sockets.
|
||||
[RT #26038]
|
||||
|
||||
3155. [bug] Fixed a build failure when using contrib DLZ
|
||||
drivers (e.g., mysql, postgresql, etc). [RT #25710]
|
||||
|
||||
3142. [bug] NAPTR is class agnostic. [RT #25429]
|
||||
|
||||
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]
|
||||
|
||||
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]
|
||||
|
||||
3126. [security] Using DNAME record to generate replacements caused
|
||||
RPZ to exit with a assertion failure. [RT #24766]
|
||||
|
||||
3125. [security] Using wildcard CNAME records as a replacement with
|
||||
RPZ caused named to exit with a assertion failure.
|
||||
[RT #24715]
|
||||
|
||||
3115. [bug] Named could fail to return requested data when
|
||||
following a CNAME that points into the same zone.
|
||||
[RT #24455]
|
||||
|
||||
3108. [cleanup] dnssec-signzone: Clarified some error and
|
||||
warning messages; removed #ifdef ALLOW_KSKLESS_ZONES
|
||||
code (use -P instead). [RT #20852]
|
||||
|
||||
3105. [bug] GOST support can be suppressed by "configure
|
||||
--without-gost" [RT #24367]
|
||||
|
||||
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]
|
||||
|
||||
3100. [security] Certain response policy zone configurations could
|
||||
trigger an INSIST when receiving a query of type
|
||||
RRSIG. [RT #24280]
|
||||
|
||||
3098. [bug] DLZ zones were answering without setting the AA bit.
|
||||
[RT #24146]
|
||||
|
||||
3096. [bug] Set KRB5_KTNAME before calling log_cred() in
|
||||
dst_gssapi_acceptctx(). [RT #24004]
|
||||
|
||||
3094. [doc] Expand dns64 documentation.
|
||||
|
||||
3093. [bug] Fix gssapi/kerberos dependencies [RT #23836]
|
||||
|
||||
3087. [bug] DDNS updates using SIG(0) with update-policy match
|
||||
type "external" could cause a crash. [RT #23735]
|
||||
|
||||
3082. [port] strtok_r is threads only. [RT #23747]
|
||||
|
||||
3072. [bug] dns_dns64_aaaaok() potential NULL pointer dereference.
|
||||
[RT #20256]
|
||||
|
||||
3054. [bug] Added elliptic curve support check in
|
||||
GOST OpenSSL engine detection. [RT #23485]
|
||||
|
||||
3045. [removed] Replaced by change #3050.
|
||||
|
||||
3038. [bug] Install <dns/rpz.h>. [RT #23342]
|
||||
|
||||
3022. [bug] Fixed rpz SERVFAILs after failed zone transfers
|
||||
[RT #23246]
|
||||
|
||||
3013. [bug] The DNS64 ttl was not always being set as expected.
|
||||
[RT #23034]
|
||||
|
||||
|
||||
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]
|
||||
|
||||
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]
|
||||
|
||||
2992. [contrib] contrib/check-secure-delegation.pl: A simple tool
|
||||
for looking at a secure delegation. [RT #22059]
|
||||
|
||||
2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for
|
||||
dynamic zones. [RT #22365]
|
||||
|
||||
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
|
||||
@@ -8,32 +250,6 @@
|
||||
(Contributed by Andrew Tridgell of the Samba
|
||||
project.) [RT #22629]
|
||||
|
||||
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]
|
||||
|
||||
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]
|
||||
|
||||
|
||||
2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for
|
||||
dynamic zones. [RT #22365]
|
||||
|
||||
2992. [contrib] contrib/check-secure-delegation.pl: A simple tool
|
||||
for looking at a secure delegation. [RT #22059]
|
||||
|
||||
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]
|
||||
|
||||
2948. [port] MacOS: provide a mechanism to configure the test
|
||||
interfaces at reboot. See bin/tests/system/README
|
||||
for details.
|
||||
|
||||
@@ -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.52.24.2 2010/01/20 23:48:18 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>
|
||||
|
||||
+7
-4
@@ -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.58 2009/11/26 20:52:44 marka Exp $
|
||||
# $Id: Makefile.in,v 1.58.8.4 2011/09/06 04:05:37 marka Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_VERSION@
|
||||
|
||||
SUBDIRS = make lib bin doc @LIBEXPORT@
|
||||
SUBDIRS = make unit lib bin doc @LIBEXPORT@
|
||||
TARGETS =
|
||||
|
||||
MANPAGES = isc-config.sh.1
|
||||
@@ -64,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 | \
|
||||
|
||||
@@ -48,6 +48,22 @@ BIND 9
|
||||
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.
|
||||
@@ -349,6 +365,48 @@ Documentation
|
||||
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
|
||||
|
||||
Bugs reports should be sent to
|
||||
|
||||
@@ -1,318 +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="id2549151"></a>Introduction</h2></div></div></div>
|
||||
|
||||
<p>
|
||||
BIND 9.7.3 is the current release of BIND 9.7.
|
||||
</p>
|
||||
<p>
|
||||
This document summarizes changes from BIND 9.7.1 to BIND 9.7.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="id3415638"></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="id3415690"></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="id3415627"></a>New Features</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.7.2"><div class="titlepage"><div><div><h3 class="title"><a id="id3415698"></a>9.7.2</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
Zones may be dynamically added and removed with the
|
||||
“rndc addzone” and “rndc delzone” commands. These
|
||||
dynamically added zones are written to a per-view
|
||||
configuration file. Do not rely on the configuration
|
||||
file name nor contents as this will change in a future
|
||||
release. This is an experimental feature at this time.
|
||||
</li><li class="listitem">
|
||||
Added new “filter-aaaa-on-v4” access control list to
|
||||
select which IPv4 clients have AAAA record filtering
|
||||
applied.
|
||||
</li><li class="listitem">
|
||||
A new command “rndc secroots” was added to dump a combined
|
||||
summary of the currently managed keys combined with statically
|
||||
configured trust anchors.
|
||||
</li><li class="listitem">
|
||||
Added support to load new keys into managed zones without
|
||||
signing immediately with "rndc loadkeys". Added support
|
||||
to link keys with "dnssec-keygen -S" and
|
||||
"dnssec-settime -S".
|
||||
</li></ul></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Feature Changes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3415770"></a>Feature Changes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.7.2"><div class="titlepage"><div><div><h3 class="title"><a id="id3415775"></a>9.7.2</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
Documentation improvements
|
||||
</li><li class="listitem">
|
||||
ORCHID prefixes were removed from the automatic empty
|
||||
zone list.
|
||||
</li><li class="listitem">
|
||||
Improved handling of GSSAPI security contexts. Specifically,
|
||||
better memory management of cached contexts, limited lifetime
|
||||
of a context to 1 hour, and added a “realm” command to
|
||||
nsupdate to allow selection of a non-default realm name.
|
||||
</li><li class="listitem">
|
||||
The contributed tool “zkt” was updated to version 1.0.
|
||||
</li></ul></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Security Fixes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3415805"></a>Security Fixes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.7.2-P3"><div class="titlepage"><div><div><h3 class="title"><a id="id3415810"></a>9.7.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><li class="listitem">
|
||||
<p>
|
||||
When BIND is running as an authoritative server for a zone and
|
||||
receives a query for that zone data, it first checks for allow-query
|
||||
acls in the zone statement, then in that view, then in global
|
||||
options. If none of these exist, it defaults to allowing any query
|
||||
(allow-query {"any"};).
|
||||
</p>
|
||||
<p>
|
||||
With this bug, if the allow-query is not set in the zone statement,
|
||||
it failed to check in view or global options and fell back to the
|
||||
default of allowing any query. This means that queries that the zone
|
||||
owner did not wish to allow were incorrectly allowed.
|
||||
[RT #22418] [CVE-2010-3615] [VU#510208]
|
||||
</p>
|
||||
</li></ul></div>
|
||||
</div>
|
||||
<div class="section" title="9.7.2-P2"><div class="titlepage"><div><div><h3 class="title"><a id="id3415862"></a>9.7.2-P2</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A flaw where the wrong ACL was applied was fixed. This flaw
|
||||
allowed access to a cache via recursion even though the ACL
|
||||
disallowed it.
|
||||
</li></ul></div>
|
||||
</div>
|
||||
<div class="section" title="9.7.2-P1"><div class="titlepage"><div><div><h3 class="title"><a id="id3415878"></a>9.7.2-P1</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
If BIND, acting as a DNSSEC validating server, has two or more trust
|
||||
anchors configured in named.conf for the same zone (such as
|
||||
example.com) and the response for a record in that zone from the
|
||||
authoritative server includes a bad signature, the validating server
|
||||
will crash while trying to validate that query.
|
||||
</li></ul></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Bug Fixes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3415898"></a>Bug Fixes</h2></div></div></div>
|
||||
|
||||
<div class="section" title="9.7.3"><div class="titlepage"><div><div><h3 class="title"><a id="id3415904"></a>9.7.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">
|
||||
Added a regression test for fix 2896/RT #21045 ("rndc sign" failed
|
||||
to properly update the zone when adding a DNSKEY for publication
|
||||
only). [RT #21324]
|
||||
</li><li class="listitem">
|
||||
"nsupdate -l" now gives error message if "session.key" file is not
|
||||
found. [RT #21670]
|
||||
</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">
|
||||
After an "rndc reconfig", the refresh timer for managed-keys is ignored, resulting in managed-keys
|
||||
not being refreshed until named is restarted. [RT #22296]
|
||||
</li><li class="listitem">
|
||||
An NSEC3PARAM record placed inside a zone which is not properly
|
||||
signed with NSEC3 could cause named to crash, if changed via dynamic
|
||||
update. [RT #22363]
|
||||
</li><li class="listitem">
|
||||
"rndc -h" now includes "loadkeys" option. [RT #22493]
|
||||
</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">
|
||||
When signing records, named didn't filter out any TTL changes
|
||||
to DNSKEY records. This resulted in an incomplete key set. TTL
|
||||
changes are now dealt with before signing.
|
||||
[RT #22590]
|
||||
</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">
|
||||
The IN6_IS_ADDR_LINKLOCAL and
|
||||
IN6_IS_ADDR_SITELOCAL macros in win32 were updated/corrected
|
||||
per current Windows OS. [RT #22724]
|
||||
</li><li class="listitem">
|
||||
"dnssec-settime -S" no longer tests prepublication interval validity
|
||||
when the interval is set to 0. [RT #22761]
|
||||
</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">
|
||||
The man page for dnssec-keyfromlabel incorrectly had "-U" rather
|
||||
than the correct option "-I". [RT #22887]
|
||||
</li><li class="listitem">
|
||||
The "rndc" command usage statement was missing the "-b" option.
|
||||
[RT #22937]
|
||||
</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><li class="listitem">
|
||||
The secure zone update feature in named is based on the zone
|
||||
being signed and configured for dynamic updates. A bug in the ACL
|
||||
processing for "allow-update { none; };" resulted in a zone that is
|
||||
supposed to be static being treated as a dynamic zone. Thus, name
|
||||
would try to sign/re-sign that zone erroneously. [RT #23120]
|
||||
</li></ul></div>
|
||||
</div>
|
||||
<div class="section" title="9.7.2-P3"><div class="titlepage"><div><div><h3 class="title"><a id="id3415913"></a>9.7.2-P3</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><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 class="section" title="9.7.2-P1"><div class="titlepage"><div><div><h3 class="title"><a id="id3416078"></a>9.7.2-P1</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A bug, introduced in BIND 9.7.2, caused named to fail to start
|
||||
if a master zone file was unreadable or missing. This has
|
||||
been corrected in 9.7.2-P1.
|
||||
</li><li class="listitem">
|
||||
BIND previously accepted answers from authoritative servers that did
|
||||
not provide a "proper" response, such as not setting AA bit. BIND was
|
||||
changed to be more strict in what it accepted but this caused
|
||||
operational issues. This new strictness has been backed out in
|
||||
9.7.2-P1.
|
||||
</li></ul></div>
|
||||
</div>
|
||||
<div class="section" title="9.7.2"><div class="titlepage"><div><div><h3 class="title"><a id="id3416105"></a>9.7.2</h3></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
Removed a warning message when running BIND 9 under Windows
|
||||
for when a TCP connection was aborted. This is a common
|
||||
occurrence and the warning was extraneous.
|
||||
</li><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.
|
||||
</li><li class="listitem">
|
||||
Partially disabled change 2864 because it would cause
|
||||
infinite attempts of RRSIG queries.
|
||||
</li><li class="listitem">
|
||||
BIND did not properly handle non-cacheable negative responses
|
||||
from insecure zones. This caused several non-protocol-compliant
|
||||
zones to become unresolvable. BIND is now more accepting of
|
||||
responses it receives from less strict servers.
|
||||
</li></ul></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Known issues in this release"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3416145"></a>Known issues in this release</h2></div></div></div>
|
||||
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<p>
|
||||
"make test" will fail on OSX and possibly other operating systems.
|
||||
The failure occurs in a new test to check for allow-query ACLs.
|
||||
The failure is caused because the source address is not specified on
|
||||
the dig commands issued in the test.
|
||||
</p>
|
||||
<p>
|
||||
If running "make test" is part of your usual acceptance process,
|
||||
please edit the file <code class="code">bin/tests/system/allow_query/test.sh</code>
|
||||
and add
|
||||
</p><p>
|
||||
<code class="code">-b 10.53.0.2</code>
|
||||
</p><p>
|
||||
to the <code class="code">DIGOPTS</code> line.
|
||||
</p>
|
||||
</li></ul></div>
|
||||
</div>
|
||||
|
||||
<div class="section" title="Thank You"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3416192"></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,220 +0,0 @@
|
||||
__________________________________________________________________
|
||||
|
||||
Introduction
|
||||
|
||||
BIND 9.7.3 is the current release of BIND 9.7.
|
||||
|
||||
This document summarizes changes from BIND 9.7.1 to BIND 9.7.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.7.2
|
||||
|
||||
* Zones may be dynamically added and removed with the "rndc addzone"
|
||||
and "rndc delzone" commands. These dynamically added zones are
|
||||
written to a per-view configuration file. Do not rely on the
|
||||
configuration file name nor contents as this will change in a
|
||||
future release. This is an experimental feature at this time.
|
||||
* Added new "filter-aaaa-on-v4" access control list to select which
|
||||
IPv4 clients have AAAA record filtering applied.
|
||||
* A new command "rndc secroots" was added to dump a combined summary
|
||||
of the currently managed keys combined with statically configured
|
||||
trust anchors.
|
||||
* Added support to load new keys into managed zones without signing
|
||||
immediately with "rndc loadkeys". Added support to link keys with
|
||||
"dnssec-keygen -S" and "dnssec-settime -S".
|
||||
|
||||
Feature Changes
|
||||
|
||||
9.7.2
|
||||
|
||||
* Documentation improvements
|
||||
* ORCHID prefixes were removed from the automatic empty zone list.
|
||||
* Improved handling of GSSAPI security contexts. Specifically, better
|
||||
memory management of cached contexts, limited lifetime of a context
|
||||
to 1 hour, and added a "realm" command to nsupdate to allow
|
||||
selection of a non-default realm name.
|
||||
* The contributed tool "zkt" was updated to version 1.0.
|
||||
|
||||
Security Fixes
|
||||
|
||||
9.7.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]
|
||||
* When BIND is running as an authoritative server for a zone and
|
||||
receives a query for that zone data, it first checks for
|
||||
allow-query acls in the zone statement, then in that view, then in
|
||||
global options. If none of these exist, it defaults to allowing any
|
||||
query (allow-query {"any"};).
|
||||
With this bug, if the allow-query is not set in the zone statement,
|
||||
it failed to check in view or global options and fell back to the
|
||||
default of allowing any query. This means that queries that the
|
||||
zone owner did not wish to allow were incorrectly allowed. [RT
|
||||
#22418] [CVE-2010-3615] [VU#510208]
|
||||
|
||||
9.7.2-P2
|
||||
|
||||
* A flaw where the wrong ACL was applied was fixed. This flaw allowed
|
||||
access to a cache via recursion even though the ACL disallowed it.
|
||||
|
||||
9.7.2-P1
|
||||
|
||||
* If BIND, acting as a DNSSEC validating server, has two or more
|
||||
trust anchors configured in named.conf for the same zone (such as
|
||||
example.com) and the response for a record in that zone from the
|
||||
authoritative server includes a bad signature, the validating
|
||||
server will crash while trying to validate that query.
|
||||
|
||||
Bug Fixes
|
||||
|
||||
9.7.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]
|
||||
* Added a regression test for fix 2896/RT #21045 ("rndc sign" failed
|
||||
to properly update the zone when adding a DNSKEY for publication
|
||||
only). [RT #21324]
|
||||
* "nsupdate -l" now gives error message if "session.key" file is not
|
||||
found. [RT #21670]
|
||||
* 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]
|
||||
* After an "rndc reconfig", the refresh timer for managed-keys is
|
||||
ignored, resulting in managed-keys not being refreshed until named
|
||||
is restarted. [RT #22296]
|
||||
* An NSEC3PARAM record placed inside a zone which is not properly
|
||||
signed with NSEC3 could cause named to crash, if changed via
|
||||
dynamic update. [RT #22363]
|
||||
* "rndc -h" now includes "loadkeys" option. [RT #22493]
|
||||
* 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]
|
||||
* When signing records, named didn't filter out any TTL changes to
|
||||
DNSKEY records. This resulted in an incomplete key set. TTL changes
|
||||
are now dealt with before signing. [RT #22590]
|
||||
* 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]
|
||||
* The IN6_IS_ADDR_LINKLOCAL and IN6_IS_ADDR_SITELOCAL macros in win32
|
||||
were updated/corrected per current Windows OS. [RT #22724]
|
||||
* "dnssec-settime -S" no longer tests prepublication interval
|
||||
validity when the interval is set to 0. [RT #22761]
|
||||
* 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]
|
||||
* The man page for dnssec-keyfromlabel incorrectly had "-U" rather
|
||||
than the correct option "-I". [RT #22887]
|
||||
* The "rndc" command usage statement was missing the "-b" option. [RT
|
||||
#22937]
|
||||
* 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]
|
||||
* The secure zone update feature in named is based on the zone being
|
||||
signed and configured for dynamic updates. A bug in the ACL
|
||||
processing for "allow-update { none; };" resulted in a zone that is
|
||||
supposed to be static being treated as a dynamic zone. Thus, name
|
||||
would try to sign/re-sign that zone erroneously. [RT #23120]
|
||||
|
||||
9.7.2-P3
|
||||
|
||||
* 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]
|
||||
|
||||
9.7.2-P1
|
||||
|
||||
* A bug, introduced in BIND 9.7.2, caused named to fail to start if a
|
||||
master zone file was unreadable or missing. This has been corrected
|
||||
in 9.7.2-P1.
|
||||
* BIND previously accepted answers from authoritative servers that
|
||||
did not provide a "proper" response, such as not setting AA bit.
|
||||
BIND was changed to be more strict in what it accepted but this
|
||||
caused operational issues. This new strictness has been backed out
|
||||
in 9.7.2-P1.
|
||||
|
||||
9.7.2
|
||||
|
||||
* Removed a warning message when running BIND 9 under Windows for
|
||||
when a TCP connection was aborted. This is a common occurrence and
|
||||
the warning was extraneous.
|
||||
* 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.
|
||||
* Partially disabled change 2864 because it would cause infinite
|
||||
attempts of RRSIG queries.
|
||||
* BIND did not properly handle non-cacheable negative responses from
|
||||
insecure zones. This caused several non-protocol-compliant zones to
|
||||
become unresolvable. BIND is now more accepting of responses it
|
||||
receives from less strict servers.
|
||||
|
||||
Known issues in this release
|
||||
|
||||
* "make test" will fail on OSX and possibly other operating systems.
|
||||
The failure occurs in a new test to check for allow-query ACLs. The
|
||||
failure is caused because the source address is not specified on
|
||||
the dig commands issued in the test.
|
||||
If running "make test" is part of your usual acceptance process,
|
||||
please edit the file bin/tests/system/allow_query/test.sh and add
|
||||
-b 10.53.0.2
|
||||
to the DIGOPTS line.
|
||||
|
||||
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 +0,0 @@
|
||||
Makefile
|
||||
@@ -1,6 +1,3 @@
|
||||
Makefile
|
||||
.libs
|
||||
*.la
|
||||
*.lo
|
||||
named-checkconf
|
||||
named-checkzone
|
||||
@@ -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.32.126.1 2009/12/29 02:09:32 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) 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.51.4.3 2010/09/07 01:52:22 marka Exp $ */
|
||||
/* $Id: named-checkconf.c,v 1.51.4.5 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -190,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)
|
||||
|
||||
@@ -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.32.126.1 2009/12/29 02:09:33 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">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="id2543395"></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
|
||||
<span><strong class="command">named</strong></span> configuration file. The file is parsed
|
||||
@@ -52,7 +52,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543444"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543445"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
@@ -91,21 +91,21 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543568"></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="id2543579"></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="id2543609"></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.46 2009/12/04 22:22:25 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -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.59.4.2 2010/09/07 23:46:37 tbox Exp $ */
|
||||
/* $Id: named-checkzone.c,v 1.59.4.4 2011/12/22 23:45:33 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -112,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;
|
||||
@@ -418,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");
|
||||
@@ -436,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();
|
||||
@@ -462,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");
|
||||
}
|
||||
|
||||
|
||||
@@ -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.46 2009/12/04 22:22:25 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -33,7 +33,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-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="id2543691"></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="id2543726"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543728"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-d</span></dt>
|
||||
<dd><p>
|
||||
@@ -247,14 +247,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544374"></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="id2544386"></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>,
|
||||
@@ -262,7 +262,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544419"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544488"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
Makefile
|
||||
ddns-confgen
|
||||
rndc-confgen
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: ddns-confgen.8,v 1.10 2009/09/19 01:14:52 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* 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
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: ddns-confgen.c,v 1.9 2009/09/29 15:06:05 fdupont Exp $ */
|
||||
/* $Id: ddns-confgen.c,v 1.9.66.2 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -160,6 +160,7 @@ main(int argc, char **argv) {
|
||||
|
||||
argc -= isc_commandline_index;
|
||||
argv += isc_commandline_index;
|
||||
POST(argv);
|
||||
|
||||
if (self_domain != NULL && zone != NULL)
|
||||
usage(1); /* -s and -z cannot coexist */
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: ddns-confgen.html,v 1.10 2009/09/19 01:14:52 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">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="id2543395"></a><h2>DESCRIPTION</h2>
|
||||
<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
|
||||
@@ -58,7 +58,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543454"></a><h2>OPTIONS</h2>
|
||||
<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>
|
||||
@@ -125,7 +125,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543642"></a><h2>SEE ALSO</h2>
|
||||
<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>,
|
||||
@@ -133,7 +133,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543681"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543682"></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: rndc-confgen.8,v 1.7 2009/07/11 01:12:45 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007-2009 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.5 2009/09/29 15:06:05 fdupont Exp $ */
|
||||
/* $Id: rndc-confgen.c,v 1.5.66.2 2011/03/12 04:58:23 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -200,6 +200,7 @@ main(int argc, char **argv) {
|
||||
|
||||
argc -= isc_commandline_index;
|
||||
argv += isc_commandline_index;
|
||||
POST(argv);
|
||||
|
||||
if (argc > 0)
|
||||
usage(1);
|
||||
|
||||
@@ -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.7 2009/07/11 01:12:45 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="id2543432"></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="id2543477"></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="id2543790"></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="id2543832"></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="id2543870"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543872"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
Makefile
|
||||
dig
|
||||
host
|
||||
nslookup
|
||||
*.lo
|
||||
.libs
|
||||
+1
-1
@@ -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.53 2009/07/11 01:12:45 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+3
-32
@@ -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.233.62.3 2010/05/13 00:42:26 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) { \
|
||||
@@ -474,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");
|
||||
|
||||
@@ -1428,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) {
|
||||
@@ -1546,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);
|
||||
@@ -1583,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");
|
||||
|
||||
+10
-10
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dig.html,v 1.48 2009/07/11 01:12:45 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>
|
||||
|
||||
+94
-41
@@ -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.328.22.6 2010/12/09 01:05:27 marka Exp $ */
|
||||
/* $Id: dighost.c,v 1.328.22.15 2011/12/07 17:24:25 each Exp $ */
|
||||
|
||||
/*! \file
|
||||
* \note
|
||||
@@ -66,6 +66,7 @@
|
||||
#include <dns/tsig.h>
|
||||
|
||||
#include <dst/dst.h>
|
||||
#include <dst/result.h>
|
||||
|
||||
#include <isc/app.h>
|
||||
#include <isc/base64.h>
|
||||
@@ -81,6 +82,7 @@
|
||||
#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>
|
||||
@@ -566,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);
|
||||
}
|
||||
@@ -744,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;
|
||||
@@ -927,6 +927,11 @@ setup_text_key(void) {
|
||||
|
||||
secretsize = isc_buffer_usedlength(&secretbuf);
|
||||
|
||||
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;
|
||||
@@ -1700,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;
|
||||
|
||||
@@ -1707,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)) {
|
||||
@@ -1767,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++;
|
||||
@@ -1790,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 &&
|
||||
@@ -1808,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);
|
||||
@@ -1834,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()");
|
||||
@@ -2861,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()");
|
||||
|
||||
@@ -2912,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;
|
||||
}
|
||||
|
||||
@@ -2921,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);
|
||||
@@ -2930,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;
|
||||
}
|
||||
@@ -2948,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
|
||||
@@ -2979,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);
|
||||
@@ -3356,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);
|
||||
}
|
||||
@@ -3541,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
|
||||
*/
|
||||
@@ -4179,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)
|
||||
{
|
||||
@@ -4241,6 +4293,7 @@ get_trusted_key(isc_mem_t *mctx)
|
||||
if (key != NULL)
|
||||
dst_key_free(&key);
|
||||
}
|
||||
fclose(fp);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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.31 2009/07/11 01:12:45 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+5
-4
@@ -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.120.66.2 2010/10/19 23:46:47 tbox Exp $ */
|
||||
/* $Id: host.c,v 1.120.66.5 2011/03/11 07:11:51 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -521,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",
|
||||
@@ -824,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]);
|
||||
|
||||
+5
-5
@@ -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.30 2009/07/11 01:12:45 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.111 2009/09/29 15:06:06 fdupont Exp $ */
|
||||
/* $Id: dig.h,v 1.111.66.3 2011/12/07 17:24:25 each Exp $ */
|
||||
|
||||
#ifndef DIG_H
|
||||
#define DIG_H
|
||||
@@ -288,6 +288,9 @@ 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);
|
||||
|
||||
+1
-1
@@ -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.15.126.1 2010/02/23 02:09:20 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+14
-20
@@ -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: nslookup.c,v 1.124 2009/10/20 01:04:03 marka Exp $ */
|
||||
/* $Id: nslookup.c,v 1.124.40.2 2011/02/21 23:46:37 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -535,12 +535,6 @@ testclass(char *typetext) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
safecpy(char *dest, char *src, int size) {
|
||||
strncpy(dest, src, size);
|
||||
dest[size-1] = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
set_port(const char *value) {
|
||||
isc_uint32_t n;
|
||||
@@ -571,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) {
|
||||
@@ -677,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;
|
||||
}
|
||||
|
||||
@@ -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.22.126.1 2010/02/23 02:09:20 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>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
Makefile
|
||||
dnssec-dsfromkey
|
||||
dnssec-keyfromlabel
|
||||
dnssec-keygen
|
||||
@@ -7,5 +6,4 @@ dnssec-revoke
|
||||
dnssec-settime
|
||||
dnssec-signkey
|
||||
dnssec-signzone
|
||||
*.lo
|
||||
.libs
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-dsfromkey.8,v 1.11.106.1 2010/05/18 04:04:36 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -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.16.50.1 2010/01/13 19:31:51 each Exp $ */
|
||||
/* $Id: dnssec-dsfromkey.c,v 1.16.50.4 2011/09/03 05:52:55 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -265,12 +265,10 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
|
||||
fatal("can't print class");
|
||||
|
||||
isc_buffer_usedregion(&nameb, &r);
|
||||
isc_util_fwrite(r.base, 1, r.length, stdout);
|
||||
|
||||
putchar(' ');
|
||||
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);
|
||||
|
||||
if (lookaside == NULL)
|
||||
printf(" DS ");
|
||||
@@ -278,8 +276,7 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
|
||||
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
|
||||
|
||||
@@ -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.11.106.1 2010/05/18 04:04:36 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -32,14 +32,14 @@
|
||||
<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="id2543461"></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="id2543473"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543474"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-1</span></dt>
|
||||
<dd><p>
|
||||
@@ -100,7 +100,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543659"></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>
|
||||
@@ -115,7 +115,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543689"></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
|
||||
@@ -129,13 +129,13 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543724"></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="id2543734"></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>,
|
||||
@@ -145,7 +145,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543773"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543774"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -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.16.24.2 2011/02/04 02:10:41 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2007-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,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.29.8.2 2010/01/19 23:48:12 tbox Exp $ */
|
||||
/* $Id: dnssec-keyfromlabel.c,v 1.29.8.6 2011/11/30 00:53:34 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -110,7 +110,8 @@ usage(void) {
|
||||
|
||||
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";
|
||||
@@ -342,6 +343,9 @@ main(int argc, char **argv) {
|
||||
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);
|
||||
@@ -513,10 +517,12 @@ main(int argc, char **argv) {
|
||||
* is a risk of ID collision due to this key or another key
|
||||
* being revoked.
|
||||
*/
|
||||
if (key_collision(dst_key_id(key), name, directory, alg, mctx, &exact))
|
||||
{
|
||||
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);
|
||||
|
||||
@@ -541,6 +547,9 @@ main(int argc, char **argv) {
|
||||
|
||||
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);
|
||||
|
||||
@@ -553,5 +562,8 @@ main(int argc, char **argv) {
|
||||
isc_mem_free(mctx, label);
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
if (freeit != NULL)
|
||||
free(freeit);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -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.15.24.2 2011/02/04 02:10:41 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">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="id2543494"></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
|
||||
@@ -44,7 +44,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543512"></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>
|
||||
@@ -163,7 +163,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543876"></a><h2>TIMING OPTIONS</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
|
||||
@@ -210,7 +210,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544042"></a><h2>GENERATED KEY FILES</h2>
|
||||
<a name="id2544043"></a><h2>GENERATED KEY FILES</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
|
||||
successfully,
|
||||
@@ -249,7 +249,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544115"></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>,
|
||||
@@ -257,7 +257,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544148"></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.53.24.1 2010/08/17 00:08:22 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+23
-11
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Portions Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -29,7 +29,7 @@
|
||||
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-keygen.c,v 1.108.8.6 2010/08/16 23:46:30 tbox Exp $ */
|
||||
/* $Id: dnssec-keygen.c,v 1.108.8.10 2011/11/30 00:53:34 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -195,7 +195,8 @@ progress(int p)
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
char *algname = NULL, *nametype = NULL, *type = NULL;
|
||||
char *algname = NULL, *freeit = NULL;
|
||||
char *nametype = NULL, *type = NULL;
|
||||
char *classname = NULL;
|
||||
char *endp;
|
||||
dst_key_t *key = NULL;
|
||||
@@ -507,6 +508,9 @@ main(int argc, char **argv) {
|
||||
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);
|
||||
@@ -959,8 +963,7 @@ main(int argc, char **argv) {
|
||||
* if there is a risk of ID collision due to this key
|
||||
* or another key being revoked.
|
||||
*/
|
||||
if (key_collision(dst_key_id(key), name, directory,
|
||||
alg, mctx, NULL)) {
|
||||
if (key_collision(key, name, directory, mctx, NULL)) {
|
||||
conflict = ISC_TRUE;
|
||||
if (null_key) {
|
||||
dst_key_free(&key);
|
||||
@@ -969,12 +972,15 @@ main(int argc, char **argv) {
|
||||
|
||||
if (verbose > 0) {
|
||||
isc_buffer_clear(&buf);
|
||||
dst_key_buildfilename(key, 0, directory, &buf);
|
||||
fprintf(stderr,
|
||||
"%s: %s already exists, or might "
|
||||
"collide with another key upon "
|
||||
"revokation. Generating a new key\n",
|
||||
program, filename);
|
||||
ret = dst_key_buildfilename(key, 0,
|
||||
directory, &buf);
|
||||
if (ret == ISC_R_SUCCESS)
|
||||
fprintf(stderr,
|
||||
"%s: %s already exists, or "
|
||||
"might collide with another "
|
||||
"key upon revokation. "
|
||||
"Generating a new key\n",
|
||||
program, filename);
|
||||
}
|
||||
|
||||
dst_key_free(&key);
|
||||
@@ -995,6 +1001,9 @@ main(int argc, char **argv) {
|
||||
|
||||
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);
|
||||
if (prevkey != NULL)
|
||||
@@ -1008,5 +1017,8 @@ main(int argc, char **argv) {
|
||||
isc_mem_stats(mctx, stdout);
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
if (freeit != NULL)
|
||||
free(freeit);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -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.45.24.1 2010/08/17 00:08:22 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">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="id2543578"></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
|
||||
@@ -46,7 +46,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543596"></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>
|
||||
@@ -248,7 +248,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544301"></a><h2>TIMING OPTIONS</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
|
||||
@@ -319,7 +319,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544491"></a><h2>GENERATED KEYS</h2>
|
||||
<a name="id2544356"></a><h2>GENERATED KEYS</h2>
|
||||
<p>
|
||||
When <span><strong class="command">dnssec-keygen</strong></span> completes
|
||||
successfully,
|
||||
@@ -365,7 +365,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544642"></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
|
||||
@@ -386,7 +386,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544685"></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>,
|
||||
@@ -395,7 +395,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544716"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544581"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" 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
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-revoke.8,v 1.8.24.1 2010/05/18 04:04:36 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -32,7 +32,7 @@
|
||||
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] {keyfile}
|
||||
\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
|
||||
@@ -70,6 +70,11 @@ 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),
|
||||
@@ -79,5 +84,5 @@ RFC 5011.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* 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
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-revoke.c,v 1.18.34.4 2010/05/06 23:49:37 tbox Exp $ */
|
||||
/* $Id: dnssec-revoke.c,v 1.18.34.6 2011/10/20 23:46:03 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -92,6 +92,7 @@ main(int argc, char **argv) {
|
||||
isc_buffer_t buf;
|
||||
isc_boolean_t force = ISC_FALSE;
|
||||
isc_boolean_t remove = ISC_FALSE;
|
||||
isc_boolean_t id = ISC_FALSE;
|
||||
|
||||
if (argc == 1)
|
||||
usage();
|
||||
@@ -104,7 +105,7 @@ main(int argc, char **argv) {
|
||||
|
||||
isc_commandline_errprint = ISC_FALSE;
|
||||
|
||||
while ((ch = isc_commandline_parse(argc, argv, "E:fK:rhv:")) != -1) {
|
||||
while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:")) != -1) {
|
||||
switch (ch) {
|
||||
case 'E':
|
||||
engine = isc_commandline_argument;
|
||||
@@ -126,6 +127,9 @@ main(int argc, char **argv) {
|
||||
case 'r':
|
||||
remove = ISC_TRUE;
|
||||
break;
|
||||
case 'R':
|
||||
id = ISC_TRUE;
|
||||
break;
|
||||
case 'v':
|
||||
verbose = strtol(isc_commandline_argument, &endp, 0);
|
||||
if (*endp != '\0')
|
||||
@@ -186,6 +190,10 @@ main(int argc, char **argv) {
|
||||
fatal("Invalid keyfile name %s: %s",
|
||||
filename, isc_result_totext(result));
|
||||
|
||||
if (id) {
|
||||
fprintf(stdout, "%u\n", dst_key_rid(key));
|
||||
goto cleanup;
|
||||
}
|
||||
dst_key_format(key, keystr, sizeof(keystr));
|
||||
|
||||
if (verbose > 2)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- 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
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-revoke.docbook,v 1.7 2009/11/03 21:44:46 each Exp $ -->
|
||||
<!-- $Id: dnssec-revoke.docbook,v 1.7.24.2 2011/10/20 23:46:04 tbox Exp $ -->
|
||||
<refentry id="man.dnssec-revoke">
|
||||
<refentryinfo>
|
||||
<date>June 1, 2009</date>
|
||||
@@ -37,6 +37,7 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2009</year>
|
||||
<year>2011</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -49,6 +50,7 @@
|
||||
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
|
||||
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
|
||||
<arg><option>-f</option></arg>
|
||||
<arg><option>-R</option></arg>
|
||||
<arg choice="req">keyfile</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -123,6 +125,16 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-R</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print the key tag of the key with the REVOKE bit set but do
|
||||
not revoke the key.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
- 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
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-revoke.html,v 1.8.24.1 2010/05/18 04:04:36 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -28,10 +28,10 @@
|
||||
</div>
|
||||
<div class="refsynopsisdiv">
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] {keyfile}</p></div>
|
||||
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543373"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543382"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-revoke</strong></span>
|
||||
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
|
||||
@@ -39,7 +39,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543385"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543394"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-h</span></dt>
|
||||
<dd><p>
|
||||
@@ -69,17 +69,22 @@
|
||||
write the new key pair even if a file already exists matching
|
||||
the algorithm and key ID of the revoked key.
|
||||
</p></dd>
|
||||
<dt><span class="term">-R</span></dt>
|
||||
<dd><p>
|
||||
Print the key tag of the key with the REVOKE bit set but do
|
||||
not revoke the key.
|
||||
</p></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543491"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543512"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 5011</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543515"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543537"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" 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
|
||||
@@ -12,7 +12,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: dnssec-settime.8,v 1.9.24.6 2010/08/17 00:08:22 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -52,14 +52,14 @@ simply prints the key timing metadata already stored in the key.
|
||||
.PP
|
||||
When key metadata fields are changed, both files of a key pair (\fIKnnnn.+aaa+iiiii.key\fR
|
||||
and
|
||||
\fIKnnnn.+aaa+iiiii.private\fR) are regenerated. Metadata fields are stored in the private file. A human\-readable description of the metadata is also placed in comments in the key file.
|
||||
\fIKnnnn.+aaa+iiiii.private\fR) are regenerated. Metadata fields are stored in the private file. A human\-readable description of the metadata is also placed in comments in the key file. The private file's permissions are always set to be inaccessible to anyone other than the owner (mode 0600).
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-f
|
||||
.RS 4
|
||||
Force an update of an old\-format key with no metadata fields. Without this option,
|
||||
\fBdnssec\-settime\fR
|
||||
will fail when attempting to update a legacy key. With this option, the key will be recreated in the new format, but with the original key data retained. The key's creation date will be set to the present time.
|
||||
will fail when attempting to update a legacy key. With this option, the key will be recreated in the new format, but with the original key data retained. The key's creation date will be set to the present time. If no other values are specified, then the key's publication and activation dates will also be set to the present time.
|
||||
.RE
|
||||
.PP
|
||||
\-K \fIdirectory\fR
|
||||
@@ -162,5 +162,5 @@ RFC 5011.
|
||||
.PP
|
||||
Internet Systems Consortium
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2009\-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* 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
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-settime.c,v 1.19.34.9 2010/12/19 07:27:23 each Exp $ */
|
||||
/* $Id: dnssec-settime.c,v 1.19.34.12 2011/06/02 20:23:48 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -81,8 +81,7 @@ usage(void) {
|
||||
"deletion date\n");
|
||||
fprintf(stderr, "Printing options:\n");
|
||||
fprintf(stderr, " -p C/P/A/R/I/D/all: print a particular time "
|
||||
"value or values "
|
||||
"[default: all]\n");
|
||||
"value or values\n");
|
||||
fprintf(stderr, " -u: print times in unix epoch "
|
||||
"format\n");
|
||||
fprintf(stderr, "Output:\n");
|
||||
@@ -513,6 +512,16 @@ main(int argc, char **argv) {
|
||||
else if (unsetdel)
|
||||
dst_key_unsettime(key, DST_TIME_DELETE);
|
||||
|
||||
/*
|
||||
* No metadata changes were made but we're forcing an upgrade
|
||||
* to the new format anyway: use "-P now -A now" as the default
|
||||
*/
|
||||
if (force && !changed) {
|
||||
dst_key_settime(key, DST_TIME_PUBLISH, now);
|
||||
dst_key_settime(key, DST_TIME_ACTIVATE, now);
|
||||
changed = ISC_TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Print out time values, if -p was used.
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- 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
|
||||
@@ -17,7 +17,7 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: dnssec-settime.docbook,v 1.7.24.4 2010/08/16 22:27:16 marka Exp $ -->
|
||||
<!-- $Id: dnssec-settime.docbook,v 1.7.24.7 2011/11/03 20:21:24 each Exp $ -->
|
||||
<refentry id="man.dnssec-settime">
|
||||
<refentryinfo>
|
||||
<date>July 15, 2009</date>
|
||||
@@ -38,6 +38,7 @@
|
||||
<copyright>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<year>2011</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -81,7 +82,8 @@
|
||||
<filename>Knnnn.+aaa+iiiii.private</filename>) are regenerated.
|
||||
Metadata fields are stored in the private file. A human-readable
|
||||
description of the metadata is also placed in comments in the key
|
||||
file.
|
||||
file. The private file's permissions are always set to be
|
||||
inaccessible to anyone other than the owner (mode 0600).
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -98,7 +100,9 @@
|
||||
fail when attempting to update a legacy key. With this option,
|
||||
the key will be recreated in the new format, but with the
|
||||
original key data retained. The key's creation date will be
|
||||
set to the present time.
|
||||
set to the present time. If no other values are specified,
|
||||
then the key's publication and activation dates will also
|
||||
be set to the present time.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- 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
|
||||
@@ -13,7 +13,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-settime.html,v 1.9.24.6 2010/08/17 00:08:21 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">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543419"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543424"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-settime</strong></span>
|
||||
reads a DNSSEC private key file and sets the key timing metadata
|
||||
as specified by the <code class="option">-P</code>, <code class="option">-A</code>,
|
||||
@@ -52,11 +52,12 @@
|
||||
<code class="filename">Knnnn.+aaa+iiiii.private</code>) are regenerated.
|
||||
Metadata fields are stored in the private file. A human-readable
|
||||
description of the metadata is also placed in comments in the key
|
||||
file.
|
||||
file. The private file's permissions are always set to be
|
||||
inaccessible to anyone other than the owner (mode 0600).
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543467"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543472"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-f</span></dt>
|
||||
<dd><p>
|
||||
@@ -65,7 +66,9 @@
|
||||
fail when attempting to update a legacy key. With this option,
|
||||
the key will be recreated in the new format, but with the
|
||||
original key data retained. The key's creation date will be
|
||||
set to the present time.
|
||||
set to the present time. If no other values are specified,
|
||||
then the key's publication and activation dates will also
|
||||
be set to the present time.
|
||||
</p></dd>
|
||||
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
|
||||
<dd><p>
|
||||
@@ -87,7 +90,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543559"></a><h2>TIMING OPTIONS</h2>
|
||||
<a name="id2543563"></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
|
||||
@@ -166,7 +169,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543698"></a><h2>PRINTING OPTIONS</h2>
|
||||
<a name="id2543770"></a><h2>PRINTING OPTIONS</h2>
|
||||
<p>
|
||||
<span><strong class="command">dnssec-settime</strong></span> can also be used to print the
|
||||
timing metadata associated with a key.
|
||||
@@ -192,7 +195,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543912"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543848"></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>,
|
||||
@@ -200,7 +203,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543945"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543881"></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-signzone.8,v 1.59 2009/12/04 01:13:44 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Portions Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -29,7 +29,7 @@
|
||||
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssec-signzone.c,v 1.258.4.4 2010/06/03 23:49:23 tbox Exp $ */
|
||||
/* $Id: dnssec-signzone.c,v 1.258.4.13 2011/08/26 23:45:30 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -338,7 +338,7 @@ keythatsigned(dns_rdata_rrsig_t *rrsig) {
|
||||
} else {
|
||||
dns_dnsseckey_create(mctx, &pubkey, &key);
|
||||
}
|
||||
key->force_publish = ISC_TRUE;
|
||||
key->force_publish = ISC_FALSE;
|
||||
key->force_sign = ISC_FALSE;
|
||||
ISC_LIST_APPEND(keylist, key, link);
|
||||
|
||||
@@ -486,32 +486,32 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
if (!expired)
|
||||
keep = ISC_TRUE;
|
||||
} else if (issigningkey(key)) {
|
||||
if (!expired && setverifies(name, set, key->key,
|
||||
&sigrdata)) {
|
||||
if (!expired && rrsig.originalttl == set->ttl &&
|
||||
setverifies(name, set, key->key, &sigrdata)) {
|
||||
vbprintf(2, "\trrsig by %s retained\n", sigstr);
|
||||
keep = ISC_TRUE;
|
||||
wassignedby[key->index] = ISC_TRUE;
|
||||
nowsignedby[key->index] = ISC_TRUE;
|
||||
} else {
|
||||
vbprintf(2, "\trrsig by %s dropped - %s\n",
|
||||
sigstr,
|
||||
expired ? "expired" :
|
||||
"failed to verify");
|
||||
sigstr, expired ? "expired" :
|
||||
rrsig.originalttl != set->ttl ?
|
||||
"ttl change" : "failed to verify");
|
||||
wassignedby[key->index] = ISC_TRUE;
|
||||
resign = ISC_TRUE;
|
||||
}
|
||||
} else if (iszonekey(key)) {
|
||||
if (!expired && setverifies(name, set, key->key,
|
||||
&sigrdata)) {
|
||||
if (!expired && rrsig.originalttl == set->ttl &&
|
||||
setverifies(name, set, key->key, &sigrdata)) {
|
||||
vbprintf(2, "\trrsig by %s retained\n", sigstr);
|
||||
keep = ISC_TRUE;
|
||||
wassignedby[key->index] = ISC_TRUE;
|
||||
nowsignedby[key->index] = ISC_TRUE;
|
||||
} else {
|
||||
vbprintf(2, "\trrsig by %s dropped - %s\n",
|
||||
sigstr,
|
||||
expired ? "expired" :
|
||||
"failed to verify");
|
||||
sigstr, expired ? "expired" :
|
||||
rrsig.originalttl != set->ttl ?
|
||||
"ttl change" : "failed to verify");
|
||||
wassignedby[key->index] = ISC_TRUE;
|
||||
}
|
||||
} else if (!expired) {
|
||||
@@ -522,7 +522,8 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
}
|
||||
|
||||
if (keep) {
|
||||
nowsignedby[key->index] = ISC_TRUE;
|
||||
if (key != NULL)
|
||||
nowsignedby[key->index] = ISC_TRUE;
|
||||
INCSTAT(nretained);
|
||||
if (sigset.ttl != ttl) {
|
||||
vbprintf(2, "\tfixing ttl %s\n", sigstr);
|
||||
@@ -1387,6 +1388,13 @@ verifyset(dns_rdataset_t *rdataset, dns_name_t *name, dns_dbnode_t *node,
|
||||
|
||||
dns_rdataset_current(&sigrdataset, &rdata);
|
||||
dns_rdata_tostruct(&rdata, &sig, NULL);
|
||||
if (rdataset->ttl != sig.originalttl) {
|
||||
dns_name_format(name, namebuf, sizeof(namebuf));
|
||||
type_format(rdataset->type, typebuf, sizeof(typebuf));
|
||||
fprintf(stderr, "TTL mismatch for %s %s keytag %u\n",
|
||||
namebuf, typebuf, sig.keyid);
|
||||
continue;
|
||||
}
|
||||
if ((set_algorithms[sig.algorithm] != 0) ||
|
||||
(ksk_algorithms[sig.algorithm] == 0))
|
||||
continue;
|
||||
@@ -1443,14 +1451,14 @@ verifynode(dns_name_t *name, dns_dbnode_t *node, isc_boolean_t delegation,
|
||||
/*%
|
||||
* Verify that certain things are sane:
|
||||
*
|
||||
* The apex has a DNSKEY record with at least one KSK, and at least
|
||||
* The apex has a DNSKEY RRset with at least one KSK, and at least
|
||||
* one ZSK if the -x flag was not used.
|
||||
*
|
||||
* The DNSKEY record was signed with at least one of the KSKs in this
|
||||
* set.
|
||||
* The DNSKEY record was signed with at least one of the KSKs in
|
||||
* the DNSKEY RRset.
|
||||
*
|
||||
* The rest of the zone was signed with at least one of the ZSKs
|
||||
* present in the DNSKEY RRSET.
|
||||
* present in the DNSKEY RRset.
|
||||
*/
|
||||
static void
|
||||
verifyzone(void) {
|
||||
@@ -1461,13 +1469,12 @@ verifyzone(void) {
|
||||
dns_name_t *name, *nextname, *zonecut;
|
||||
dns_rdata_dnskey_t dnskey;
|
||||
dns_rdata_t rdata = DNS_RDATA_INIT;
|
||||
dns_rdataset_t rdataset;
|
||||
dns_rdataset_t sigrdataset;
|
||||
dns_rdataset_t keyset, soaset;
|
||||
dns_rdataset_t keysigs, soasigs;
|
||||
int i;
|
||||
isc_boolean_t done = ISC_FALSE;
|
||||
isc_boolean_t first = ISC_TRUE;
|
||||
isc_boolean_t goodksk = ISC_FALSE;
|
||||
isc_boolean_t goodzsk = ISC_FALSE;
|
||||
isc_result_t result;
|
||||
unsigned char revoked_ksk[256];
|
||||
unsigned char revoked_zsk[256];
|
||||
@@ -1489,18 +1496,30 @@ verifyzone(void) {
|
||||
fatal("failed to find the zone's origin: %s",
|
||||
isc_result_totext(result));
|
||||
|
||||
dns_rdataset_init(&rdataset);
|
||||
dns_rdataset_init(&sigrdataset);
|
||||
dns_rdataset_init(&keyset);
|
||||
dns_rdataset_init(&keysigs);
|
||||
dns_rdataset_init(&soaset);
|
||||
dns_rdataset_init(&soasigs);
|
||||
|
||||
result = dns_db_findrdataset(gdb, node, gversion,
|
||||
dns_rdatatype_dnskey,
|
||||
0, 0, &rdataset, &sigrdataset);
|
||||
dns_db_detachnode(gdb, &node);
|
||||
0, 0, &keyset, &keysigs);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("cannot find DNSKEY rrset\n");
|
||||
|
||||
if (!dns_rdataset_isassociated(&sigrdataset))
|
||||
result = dns_db_findrdataset(gdb, node, gversion,
|
||||
dns_rdatatype_soa,
|
||||
0, 0, &soaset, &soasigs);
|
||||
dns_db_detachnode(gdb, &node);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("cannot find SOA rrset\n");
|
||||
|
||||
if (!dns_rdataset_isassociated(&keysigs))
|
||||
fatal("cannot find DNSKEY RRSIGs\n");
|
||||
|
||||
if (!dns_rdataset_isassociated(&soasigs))
|
||||
fatal("cannot find SOA RRSIGs\n");
|
||||
|
||||
memset(revoked_ksk, 0, sizeof(revoked_ksk));
|
||||
memset(revoked_zsk, 0, sizeof(revoked_zsk));
|
||||
memset(standby_ksk, 0, sizeof(standby_ksk));
|
||||
@@ -1517,10 +1536,10 @@ verifyzone(void) {
|
||||
* and one ZSK per algorithm in it (or, if -x was used, one
|
||||
* self-signing KSK).
|
||||
*/
|
||||
for (result = dns_rdataset_first(&rdataset);
|
||||
for (result = dns_rdataset_first(&keyset);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_rdataset_next(&rdataset)) {
|
||||
dns_rdataset_current(&rdataset, &rdata);
|
||||
result = dns_rdataset_next(&keyset)) {
|
||||
dns_rdataset_current(&keyset, &rdata);
|
||||
result = dns_rdata_tostruct(&rdata, &dnskey, NULL);
|
||||
check_result(result, "dns_rdata_tostruct");
|
||||
|
||||
@@ -1528,8 +1547,8 @@ verifyzone(void) {
|
||||
;
|
||||
else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) {
|
||||
if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
|
||||
!dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
|
||||
&sigrdataset, ISC_FALSE,
|
||||
!dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
|
||||
&keysigs, ISC_FALSE,
|
||||
mctx)) {
|
||||
char namebuf[DNS_NAME_FORMATSIZE];
|
||||
char buffer[1024];
|
||||
@@ -1551,8 +1570,8 @@ verifyzone(void) {
|
||||
revoked_zsk[dnskey.algorithm] != 255)
|
||||
revoked_zsk[dnskey.algorithm]++;
|
||||
} else if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0) {
|
||||
if (dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
|
||||
&sigrdataset, ISC_FALSE, mctx)) {
|
||||
if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
|
||||
&keysigs, ISC_FALSE, mctx)) {
|
||||
if (ksk_algorithms[dnskey.algorithm] != 255)
|
||||
ksk_algorithms[dnskey.algorithm]++;
|
||||
goodksk = ISC_TRUE;
|
||||
@@ -1560,8 +1579,8 @@ verifyzone(void) {
|
||||
if (standby_ksk[dnskey.algorithm] != 255)
|
||||
standby_ksk[dnskey.algorithm]++;
|
||||
}
|
||||
} else if (dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
|
||||
&sigrdataset, ISC_FALSE,
|
||||
} else if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
|
||||
&keysigs, ISC_FALSE,
|
||||
mctx)) {
|
||||
#ifdef ALLOW_KSKLESS_ZONES
|
||||
if (self_algorithms[dnskey.algorithm] != 255)
|
||||
@@ -1569,7 +1588,10 @@ verifyzone(void) {
|
||||
#endif
|
||||
if (zsk_algorithms[dnskey.algorithm] != 255)
|
||||
zsk_algorithms[dnskey.algorithm]++;
|
||||
goodzsk = ISC_TRUE;
|
||||
} else if (dns_dnssec_signs(&rdata, gorigin, &soaset,
|
||||
&soasigs, ISC_FALSE, mctx)) {
|
||||
if (zsk_algorithms[dnskey.algorithm] != 255)
|
||||
zsk_algorithms[dnskey.algorithm]++;
|
||||
} else {
|
||||
if (standby_zsk[dnskey.algorithm] != 255)
|
||||
standby_zsk[dnskey.algorithm]++;
|
||||
@@ -1580,7 +1602,9 @@ verifyzone(void) {
|
||||
dns_rdata_freestruct(&dnskey);
|
||||
dns_rdata_reset(&rdata);
|
||||
}
|
||||
dns_rdataset_disassociate(&sigrdataset);
|
||||
dns_rdataset_disassociate(&keysigs);
|
||||
dns_rdataset_disassociate(&soaset);
|
||||
dns_rdataset_disassociate(&soasigs);
|
||||
|
||||
#ifdef ALLOW_KSKLESS_ZONES
|
||||
if (!goodksk) {
|
||||
@@ -1595,7 +1619,7 @@ verifyzone(void) {
|
||||
}
|
||||
#else
|
||||
if (!goodksk) {
|
||||
fatal("no self signed KSK's found");
|
||||
fatal("No self signed KSK's found");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1669,7 +1693,7 @@ verifyzone(void) {
|
||||
dns_name_copy(name, zonecut, NULL);
|
||||
isdelegation = ISC_TRUE;
|
||||
}
|
||||
verifynode(name, node, isdelegation, &rdataset,
|
||||
verifynode(name, node, isdelegation, &keyset,
|
||||
ksk_algorithms, bad_algorithms);
|
||||
result = dns_dbiterator_next(dbiter);
|
||||
nextnode = NULL;
|
||||
@@ -1706,13 +1730,13 @@ verifyzone(void) {
|
||||
result = dns_dbiterator_next(dbiter) ) {
|
||||
result = dns_dbiterator_current(dbiter, &node, name);
|
||||
check_dns_dbiterator_current(result);
|
||||
verifynode(name, node, ISC_FALSE, &rdataset,
|
||||
verifynode(name, node, ISC_FALSE, &keyset,
|
||||
ksk_algorithms, bad_algorithms);
|
||||
dns_db_detachnode(gdb, &node);
|
||||
}
|
||||
dns_dbiterator_destroy(&dbiter);
|
||||
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
dns_rdataset_disassociate(&keyset);
|
||||
|
||||
/*
|
||||
* If we made it this far, we have what we consider a properly signed
|
||||
@@ -2192,6 +2216,7 @@ addnsec3param(const unsigned char *salt, size_t salt_length,
|
||||
result = dns_rdata_fromstruct(&rdata, gclass,
|
||||
dns_rdatatype_nsec3param,
|
||||
&nsec3param, &b);
|
||||
check_result(result, "dns_rdata_fromstruct()");
|
||||
rdatalist.rdclass = rdata.rdclass;
|
||||
rdatalist.type = rdata.type;
|
||||
rdatalist.covers = 0;
|
||||
@@ -2801,7 +2826,7 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
|
||||
}
|
||||
keyttl = rdataset.ttl;
|
||||
|
||||
/* Load keys corresponding to the existing DNSKEY RRset */
|
||||
/* Load keys corresponding to the existing DNSKEY RRset. */
|
||||
result = dns_dnssec_keylistfromrdataset(gorigin, directory, mctx,
|
||||
&rdataset, &keysigs, &soasigs,
|
||||
preserve_keys, load_public,
|
||||
@@ -3320,28 +3345,36 @@ removetempfile(void) {
|
||||
}
|
||||
|
||||
static void
|
||||
print_stats(isc_time_t *timer_start, isc_time_t *timer_finish) {
|
||||
isc_uint64_t runtime_us; /* Runtime in microseconds */
|
||||
isc_uint64_t runtime_ms; /* Runtime in milliseconds */
|
||||
print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
|
||||
isc_time_t *sign_start, isc_time_t *sign_finish)
|
||||
{
|
||||
isc_uint64_t time_us; /* Time in microseconds */
|
||||
isc_uint64_t time_ms; /* Time in milliseconds */
|
||||
isc_uint64_t sig_ms; /* Signatures per millisecond */
|
||||
|
||||
runtime_us = isc_time_microdiff(timer_finish, timer_start);
|
||||
|
||||
printf("Signatures generated: %10d\n", nsigned);
|
||||
printf("Signatures retained: %10d\n", nretained);
|
||||
printf("Signatures dropped: %10d\n", ndropped);
|
||||
printf("Signatures successfully verified: %10d\n", nverified);
|
||||
printf("Signatures unsuccessfully verified: %10d\n", nverifyfailed);
|
||||
runtime_ms = runtime_us / 1000;
|
||||
printf("Runtime in seconds: %7u.%03u\n",
|
||||
(unsigned int) (runtime_ms / 1000),
|
||||
(unsigned int) (runtime_ms % 1000));
|
||||
if (runtime_us > 0) {
|
||||
sig_ms = ((isc_uint64_t)nsigned * 1000000000) / runtime_us;
|
||||
|
||||
time_us = isc_time_microdiff(sign_finish, sign_start);
|
||||
time_ms = time_us / 1000;
|
||||
printf("Signing time in seconds: %7u.%03u\n",
|
||||
(unsigned int) (time_ms / 1000),
|
||||
(unsigned int) (time_ms % 1000));
|
||||
if (time_us > 0) {
|
||||
sig_ms = ((isc_uint64_t)nsigned * 1000000000) / time_us;
|
||||
printf("Signatures per second: %7u.%03u\n",
|
||||
(unsigned int) sig_ms / 1000,
|
||||
(unsigned int) sig_ms % 1000);
|
||||
}
|
||||
|
||||
time_us = isc_time_microdiff(timer_finish, timer_start);
|
||||
time_ms = time_us / 1000;
|
||||
printf("Runtime in seconds: %7u.%03u\n",
|
||||
(unsigned int) (time_ms / 1000),
|
||||
(unsigned int) (time_ms % 1000));
|
||||
}
|
||||
|
||||
int
|
||||
@@ -3355,6 +3388,7 @@ main(int argc, char *argv[]) {
|
||||
int ndskeys = 0;
|
||||
char *endp;
|
||||
isc_time_t timer_start, timer_finish;
|
||||
isc_time_t sign_start, sign_finish;
|
||||
dns_dnsseckey_t *key;
|
||||
isc_result_t result;
|
||||
isc_log_t *log = NULL;
|
||||
@@ -3805,6 +3839,8 @@ main(int argc, char *argv[]) {
|
||||
nokeys = ISC_TRUE;
|
||||
}
|
||||
|
||||
warnifallksk(gdb);
|
||||
|
||||
if (IS_NSEC3) {
|
||||
unsigned int max;
|
||||
result = dns_nsec3_maxiterations(gdb, NULL, mctx, &max);
|
||||
@@ -3814,8 +3850,6 @@ main(int argc, char *argv[]) {
|
||||
"strength. Maximum iterations allowed %u.", max);
|
||||
}
|
||||
|
||||
warnifallksk(gdb);
|
||||
|
||||
gversion = NULL;
|
||||
result = dns_db_newversion(gdb, &gversion);
|
||||
check_result(result, "dns_db_newversion()");
|
||||
@@ -3895,6 +3929,7 @@ main(int argc, char *argv[]) {
|
||||
RUNTIME_CHECK(isc_mutex_init(&statslock) == ISC_R_SUCCESS);
|
||||
|
||||
presign();
|
||||
TIME_NOW(&sign_start);
|
||||
signapex();
|
||||
if (!finished) {
|
||||
/*
|
||||
@@ -3919,6 +3954,7 @@ main(int argc, char *argv[]) {
|
||||
isc_taskmgr_destroy(&taskmgr);
|
||||
isc_mem_put(mctx, tasks, ntasks * sizeof(isc_task_t *));
|
||||
postsign();
|
||||
TIME_NOW(&sign_finish);
|
||||
verifyzone();
|
||||
|
||||
if (outputformat != dns_masterformat_text) {
|
||||
@@ -3972,7 +4008,8 @@ main(int argc, char *argv[]) {
|
||||
|
||||
if (printstats) {
|
||||
TIME_NOW(&timer_finish);
|
||||
print_stats(&timer_start, &timer_finish);
|
||||
print_stats(&timer_start, &timer_finish,
|
||||
&sign_start, &sign_finish);
|
||||
}
|
||||
|
||||
return (0);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: dnssec-signzone.html,v 1.45 2009/12/04 01:13:44 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">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-P</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543596"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543597"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">dnssec-signzone</strong></span>
|
||||
signs a zone. It generates
|
||||
NSEC and RRSIG records and produces a signed version of the
|
||||
@@ -43,7 +43,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543611"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543612"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-a</span></dt>
|
||||
<dd><p>
|
||||
@@ -379,7 +379,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544896"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2544965"></a><h2>EXAMPLE</h2>
|
||||
<p>
|
||||
The following command signs the <strong class="userinput"><code>example.com</code></strong>
|
||||
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
|
||||
@@ -409,14 +409,14 @@ db.example.com.signed
|
||||
%</pre>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545019"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2545020"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
|
||||
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
|
||||
<em class="citetitle">RFC 4033</em>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545044"></a><h2>AUTHOR</h2>
|
||||
<a name="id2545045"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+15
-10
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssectool.c,v 1.58.36.2 2010/01/19 23:48:13 tbox Exp $ */
|
||||
/* $Id: dnssectool.c,v 1.58.36.5 2011/10/21 03:56:55 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -406,19 +406,24 @@ set_keyversion(dst_key_t *key) {
|
||||
}
|
||||
|
||||
isc_boolean_t
|
||||
key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
|
||||
dns_secalg_t alg, isc_mem_t *mctx, isc_boolean_t *exact)
|
||||
key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
||||
isc_mem_t *mctx, isc_boolean_t *exact)
|
||||
{
|
||||
isc_result_t result;
|
||||
isc_boolean_t conflict = ISC_FALSE;
|
||||
dns_dnsseckeylist_t matchkeys;
|
||||
dns_dnsseckey_t *key = NULL;
|
||||
isc_uint16_t oldid, diff;
|
||||
isc_uint16_t bits = DNS_KEYFLAG_REVOKE; /* flag bits to look for */
|
||||
isc_uint16_t id, oldid;
|
||||
isc_uint32_t rid, roldid;
|
||||
dns_secalg_t alg;
|
||||
|
||||
if (exact != NULL)
|
||||
*exact = ISC_FALSE;
|
||||
|
||||
id = dst_key_id(dstkey);
|
||||
rid = dst_key_rid(dstkey);
|
||||
alg = dst_key_alg(dstkey);
|
||||
|
||||
ISC_LIST_INIT(matchkeys);
|
||||
result = dns_dnssec_findmatchingkeys(name, dir, mctx, &matchkeys);
|
||||
if (result == ISC_R_NOTFOUND)
|
||||
@@ -430,10 +435,11 @@ key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
|
||||
goto next;
|
||||
|
||||
oldid = dst_key_id(key->key);
|
||||
diff = (oldid > id) ? (oldid - id) : (id - oldid);
|
||||
if ((diff & ~bits) == 0) {
|
||||
roldid = dst_key_rid(key->key);
|
||||
|
||||
if (oldid == rid || roldid == id || id == oldid) {
|
||||
conflict = ISC_TRUE;
|
||||
if (diff != 0) {
|
||||
if (id != oldid) {
|
||||
if (verbose > 1)
|
||||
fprintf(stderr, "Key ID %d could "
|
||||
"collide with %d\n",
|
||||
@@ -461,4 +467,3 @@ key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
|
||||
|
||||
return (conflict);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: dnssectool.h,v 1.29.36.2 2010/01/19 23:48:13 tbox Exp $ */
|
||||
/* $Id: dnssectool.h,v 1.29.36.4 2011/10/20 23:46:04 tbox Exp $ */
|
||||
|
||||
#ifndef DNSSECTOOL_H
|
||||
#define DNSSECTOOL_H 1
|
||||
@@ -78,6 +78,7 @@ void
|
||||
set_keyversion(dst_key_t *key);
|
||||
|
||||
isc_boolean_t
|
||||
key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
|
||||
dns_secalg_t alg, isc_mem_t *mctx, isc_boolean_t *exact);
|
||||
key_collision(dst_key_t *key, dns_name_t *name, const char *dir,
|
||||
isc_mem_t *mctx, isc_boolean_t *exact);
|
||||
|
||||
#endif /* DNSSEC_DNSSECTOOL_H */
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
Makefile
|
||||
.libs
|
||||
*.la
|
||||
*.lo
|
||||
named
|
||||
named-symtbl.c
|
||||
lwresd
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* Generated by bindkeys.pl 1.3.104.2 2010/06/20 23:46:24 tbox Exp
|
||||
* From bind.keys 1.5.42.2 2011/01/04 19:14:48 each Exp
|
||||
* From
|
||||
*/
|
||||
#define TRUSTED_KEYS "\
|
||||
/* $Id$ */\n\
|
||||
# The bind.keys file is used to override built-in DNSSEC trust anchors\n\
|
||||
# which are included as part of BIND 9. As of the current release (BIND\n\
|
||||
# 9.7), the only trust anchor it sets is the one for the ISC DNSSEC\n\
|
||||
@@ -41,8 +42,8 @@ trusted-keys {\n\
|
||||
\n\
|
||||
# ROOT KEY: See https://data.iana.org/root-anchors/root-anchors.xml\n\
|
||||
# for current trust anchor information.\n\
|
||||
# NOTE: This key is activated by setting \"dnssec-validation auto;\"\n\
|
||||
# in named.conf.\n\
|
||||
# NOTE: This key not active; to use it, copy it into a managed-keys\n\
|
||||
# statement in named.conf\n\
|
||||
. initial-key 257 3 8 \"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF\n\
|
||||
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX\n\
|
||||
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD\n\
|
||||
@@ -54,6 +55,7 @@ trusted-keys {\n\
|
||||
"
|
||||
|
||||
#define MANAGED_KEYS "\
|
||||
/* $Id$ */\n\
|
||||
# The bind.keys file is used to override built-in DNSSEC trust anchors\n\
|
||||
# which are included as part of BIND 9. As of the current release (BIND\n\
|
||||
# 9.7), the only trust anchor it sets is the one for the ISC DNSSEC\n\
|
||||
@@ -92,8 +94,8 @@ managed-keys {\n\
|
||||
\n\
|
||||
# ROOT KEY: See https://data.iana.org/root-anchors/root-anchors.xml\n\
|
||||
# for current trust anchor information.\n\
|
||||
# NOTE: This key is activated by setting \"dnssec-validation auto;\"\n\
|
||||
# in named.conf.\n\
|
||||
# NOTE: This key not active; to use it, copy it into a managed-keys\n\
|
||||
# statement in named.conf\n\
|
||||
. initial-key 257 3 8 \"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF\n\
|
||||
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX\n\
|
||||
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD\n\
|
||||
|
||||
+4
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2009, 2010, 2012 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: builtin.c,v 1.15.154.2 2010/08/03 23:46:17 tbox Exp $ */
|
||||
/* $Id: builtin.c,v 1.15.154.5 2012/01/11 20:19:07 ckb Exp $ */
|
||||
|
||||
/*! \file
|
||||
* \brief
|
||||
@@ -127,6 +127,7 @@ do_authors_lookup(dns_sdblookup_t *lookup) {
|
||||
const char **p;
|
||||
static const char *authors[] = {
|
||||
"Mark Andrews",
|
||||
"Curtis Blackburn",
|
||||
"James Brister",
|
||||
"Ben Cottrell",
|
||||
"Michael Graff",
|
||||
@@ -135,6 +136,7 @@ do_authors_lookup(dns_sdblookup_t *lookup) {
|
||||
"Evan Hunt",
|
||||
"JINMEI Tatuya",
|
||||
"David Lawrence",
|
||||
"Scott Mann",
|
||||
"Danny Mayer",
|
||||
"Damien Neil",
|
||||
"Matt Nelson",
|
||||
|
||||
+27
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: client.c,v 1.266.36.2 2010/09/24 08:30:58 tbox Exp $ */
|
||||
/* $Id: client.c,v 1.266.36.7 2012/01/31 23:46:14 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -633,6 +633,7 @@ ns_client_endrequest(ns_client_t *client) {
|
||||
dns_message_puttemprdataset(client->message, &client->opt);
|
||||
}
|
||||
|
||||
client->signer = NULL;
|
||||
client->udpsize = 512;
|
||||
client->extflags = 0;
|
||||
client->ednsversion = -1;
|
||||
@@ -933,6 +934,15 @@ ns_client_send(ns_client_t *client) {
|
||||
render_opts = 0;
|
||||
else
|
||||
render_opts = DNS_MESSAGERENDER_OMITDNSSEC;
|
||||
|
||||
preferred_glue = 0;
|
||||
if (client->view != NULL) {
|
||||
if (client->view->preferred_glue == dns_rdatatype_a)
|
||||
preferred_glue = DNS_MESSAGERENDER_PREFER_A;
|
||||
else if (client->view->preferred_glue == dns_rdatatype_aaaa)
|
||||
preferred_glue = DNS_MESSAGERENDER_PREFER_AAAA;
|
||||
}
|
||||
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
/*
|
||||
* filter-aaaa-on-v4 yes or break-dnssec option to suppress
|
||||
@@ -941,17 +951,15 @@ ns_client_send(ns_client_t *client) {
|
||||
* that we have both AAAA and A records,
|
||||
* and that we either have no signatures that the client wants
|
||||
* or we are supposed to break DNSSEC.
|
||||
*
|
||||
* Override preferred glue if necessary.
|
||||
*/
|
||||
if ((client->attributes & NS_CLIENTATTR_FILTER_AAAA) != 0)
|
||||
if ((client->attributes & NS_CLIENTATTR_FILTER_AAAA) != 0) {
|
||||
render_opts |= DNS_MESSAGERENDER_FILTER_AAAA;
|
||||
#endif
|
||||
preferred_glue = 0;
|
||||
if (client->view != NULL) {
|
||||
if (client->view->preferred_glue == dns_rdatatype_a)
|
||||
if (preferred_glue == DNS_MESSAGERENDER_PREFER_AAAA)
|
||||
preferred_glue = DNS_MESSAGERENDER_PREFER_A;
|
||||
else if (client->view->preferred_glue == dns_rdatatype_aaaa)
|
||||
preferred_glue = DNS_MESSAGERENDER_PREFER_AAAA;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XXXRTH The following doesn't deal with TCP buffer resizing.
|
||||
@@ -1312,6 +1320,12 @@ ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
|
||||
|
||||
UNUSED(arg);
|
||||
|
||||
/*
|
||||
* ns_g_server->interfacemgr is task exclusive locked.
|
||||
*/
|
||||
if (ns_g_server->interfacemgr == NULL)
|
||||
return (ISC_TRUE);
|
||||
|
||||
if (!ns_interfacemgr_listeningon(ns_g_server->interfacemgr, dstaddr))
|
||||
return (ISC_FALSE);
|
||||
|
||||
@@ -2093,12 +2107,16 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
|
||||
client->next = NULL;
|
||||
client->shutdown = NULL;
|
||||
client->shutdown_arg = NULL;
|
||||
client->signer = NULL;
|
||||
dns_name_init(&client->signername, NULL);
|
||||
client->mortal = ISC_FALSE;
|
||||
client->tcpquota = NULL;
|
||||
client->recursionquota = NULL;
|
||||
client->interface = NULL;
|
||||
client->peeraddr_valid = ISC_FALSE;
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
client->filter_aaaa = dns_v4_aaaa_ok;
|
||||
#endif
|
||||
ISC_EVENT_INIT(&client->ctlevent, sizeof(client->ctlevent), 0, NULL,
|
||||
NS_EVENT_CLIENTCONTROL, client_start, client, client,
|
||||
NULL, NULL);
|
||||
|
||||
+10
-14
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008, 2011, 2012 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: controlconf.c,v 1.60 2008/07/23 23:27:54 marka Exp $ */
|
||||
/* $Id: controlconf.c,v 1.60.290.3 2011/12/22 08:11:09 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -373,17 +373,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
|
||||
if (result == ISC_R_SUCCESS)
|
||||
break;
|
||||
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
|
||||
if (result == ISCCC_R_BADAUTH) {
|
||||
/*
|
||||
* For some reason, request is non-NULL when
|
||||
* isccc_cc_fromwire returns ISCCC_R_BADAUTH.
|
||||
*/
|
||||
if (request != NULL)
|
||||
isccc_sexpr_free(&request);
|
||||
} else {
|
||||
log_invalid(&conn->ccmsg, result);
|
||||
goto cleanup;
|
||||
}
|
||||
log_invalid(&conn->ccmsg, result);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (key == NULL) {
|
||||
@@ -859,7 +850,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
|
||||
cfg_obj_log(key, ns_g_lctx, ISC_LOG_WARNING,
|
||||
"secret for key '%s' on command channel: %s",
|
||||
keyid->keyname, isc_result_totext(result));
|
||||
CHECK(result);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
keyid->secret.length = isc_buffer_usedlength(&b);
|
||||
@@ -1148,6 +1139,11 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
|
||||
if (result == ISC_R_SUCCESS)
|
||||
isc_socket_setname(listener->sock, "control", NULL);
|
||||
|
||||
#ifndef ISC_ALLOW_MAPPED
|
||||
if (result == ISC_R_SUCCESS)
|
||||
isc_socket_ipv6only(listener->sock, ISC_TRUE);
|
||||
#endif
|
||||
|
||||
if (result == ISC_R_SUCCESS)
|
||||
result = isc_socket_bind(listener->sock, &listener->address,
|
||||
ISC_SOCKET_REUSEADDRESS);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: client.h,v 1.91 2009/10/26 23:14:53 each Exp $ */
|
||||
/* $Id: client.h,v 1.91.36.2 2012/01/31 23:46:15 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_CLIENT_H
|
||||
#define NAMED_CLIENT_H 1
|
||||
@@ -141,6 +141,9 @@ struct ns_client {
|
||||
isc_netaddr_t destaddr;
|
||||
struct in6_pktinfo pktinfo;
|
||||
isc_event_t ctlevent;
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
dns_v4_aaaa_t filter_aaaa;
|
||||
#endif
|
||||
/*%
|
||||
* Information about recent FORMERR response(s), for
|
||||
* FORMERR loop avoidance. This is separate for each
|
||||
|
||||
@@ -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: globals.h,v 1.86.60.3 2010/09/15 12:10:53 marka Exp $ */
|
||||
/* $Id: globals.h,v 1.86.60.5 2011/09/05 23:45:31 tbox Exp $ */
|
||||
|
||||
#ifndef NAMED_GLOBALS_H
|
||||
#define NAMED_GLOBALS_H 1
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <isc/log.h>
|
||||
#include <isc/net.h>
|
||||
|
||||
#include <isccfg/aclconf.h>
|
||||
#include <isccfg/cfg.h>
|
||||
|
||||
#include <dns/zone.h>
|
||||
@@ -102,6 +103,7 @@ EXTERN const char * lwresd_g_resolvconffile INIT("/etc"
|
||||
EXTERN isc_boolean_t ns_g_conffileset INIT(ISC_FALSE);
|
||||
EXTERN isc_boolean_t lwresd_g_useresolvconf INIT(ISC_FALSE);
|
||||
EXTERN isc_uint16_t ns_g_udpsize INIT(4096);
|
||||
EXTERN cfg_aclconfctx_t * ns_g_aclconfctx INIT(NULL);
|
||||
|
||||
/*
|
||||
* Initial resource limits.
|
||||
|
||||
@@ -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) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: interfacemgr.c,v 1.95 2009/01/17 23:47:42 tbox Exp $ */
|
||||
/* $Id: interfacemgr.c,v 1.95.186.2 2011/03/12 04:58:24 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -379,7 +379,7 @@ ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
|
||||
}
|
||||
}
|
||||
*ifpret = ifp;
|
||||
return (ISC_R_SUCCESS);
|
||||
return (result);
|
||||
|
||||
cleanup_interface:
|
||||
ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link);
|
||||
@@ -964,7 +964,6 @@ isc_boolean_t
|
||||
ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr) {
|
||||
isc_sockaddr_t *old;
|
||||
|
||||
old = ISC_LIST_HEAD(mgr->listenon);
|
||||
for (old = ISC_LIST_HEAD(mgr->listenon);
|
||||
old != NULL;
|
||||
old = ISC_LIST_NEXT(old, link))
|
||||
|
||||
+35
-22
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2007, 2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,12 +15,13 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: logconf.c,v 1.42 2007/06/19 23:46:59 tbox Exp $ */
|
||||
/* $Id: logconf.c,v 1.42.560.3 2011/03/05 23:51:37 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <isc/file.h>
|
||||
#include <isc/offset.h>
|
||||
#include <isc/result.h>
|
||||
#include <isc/stdio.h>
|
||||
@@ -130,7 +131,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
|
||||
}
|
||||
|
||||
type = ISC_LOG_TONULL;
|
||||
|
||||
|
||||
if (fileobj != NULL) {
|
||||
const cfg_obj_t *pathobj = cfg_tuple_get(fileobj, "file");
|
||||
const cfg_obj_t *sizeobj = cfg_tuple_get(fileobj, "size");
|
||||
@@ -140,7 +141,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
|
||||
isc_offset_t size = 0;
|
||||
|
||||
type = ISC_LOG_TOFILE;
|
||||
|
||||
|
||||
if (versionsobj != NULL && cfg_obj_isuint32(versionsobj))
|
||||
versions = cfg_obj_asuint32(versionsobj);
|
||||
if (versionsobj != NULL && cfg_obj_isstring(versionsobj) &&
|
||||
@@ -219,26 +220,38 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
|
||||
|
||||
if (result == ISC_R_SUCCESS && type == ISC_LOG_TOFILE) {
|
||||
FILE *fp;
|
||||
|
||||
/*
|
||||
* Test that the file can be opened, since isc_log_open()
|
||||
* can't effectively report failures when called in
|
||||
* isc_log_doit().
|
||||
*/
|
||||
result = isc_stdio_open(dest.file.name, "a", &fp);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
isc_log_write(ns_g_lctx, CFG_LOGCATEGORY_CONFIG,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"logging channel '%s' file '%s': %s",
|
||||
channelname, dest.file.name,
|
||||
isc_result_totext(result));
|
||||
else
|
||||
(void)isc_stdio_close(fp);
|
||||
|
||||
/*
|
||||
* Allow named to continue by returning success.
|
||||
*/
|
||||
result = ISC_R_SUCCESS;
|
||||
* Test to make sure that file is a plain file.
|
||||
* Fix defect #22771
|
||||
*/
|
||||
result = isc_file_isplainfile(dest.file.name);
|
||||
if (result == ISC_R_SUCCESS ||
|
||||
result == ISC_R_FILENOTFOUND) {
|
||||
/*
|
||||
* Test that the file can be opened, since
|
||||
* isc_log_open() can't effectively report
|
||||
* failures when called in
|
||||
* isc_log_doit().
|
||||
*/
|
||||
result = isc_stdio_open(dest.file.name, "a", &fp);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
syslog(LOG_ERR,
|
||||
"isc_stdio_open '%s' failed: %s",
|
||||
dest.file.name,
|
||||
isc_result_totext(result));
|
||||
fprintf(stderr,
|
||||
"isc_stdio_open '%s' failed: %s",
|
||||
dest.file.name,
|
||||
isc_result_totext(result));
|
||||
} else
|
||||
(void)isc_stdio_close(fp);
|
||||
} else {
|
||||
syslog(LOG_ERR, "isc_file_isplainfile '%s' failed: %s",
|
||||
dest.file.name, isc_result_totext(result));
|
||||
fprintf(stderr, "isc_file_isplainfile '%s' failed: %s",
|
||||
dest.file.name, isc_result_totext(result));
|
||||
}
|
||||
}
|
||||
|
||||
return (result);
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: lwresd.8,v 1.31 2009/07/11 01:12:45 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: lwresd.html,v 1.27 2009/07/11 01:12:45 tbox Exp $ -->
|
||||
<!-- $Id$ -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
@@ -22,7 +22,7 @@
|
||||
<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="id2476275"></a><div class="titlepage"></div>
|
||||
<a name="id2476274"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2>Name</h2>
|
||||
<p><span class="application">lwresd</span> — lightweight resolver daemon</p>
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-4</code>] [<code class="option">-6</code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543467"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543469"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">lwresd</strong></span>
|
||||
is the daemon providing name lookup
|
||||
services to clients that use the BIND 9 lightweight resolver
|
||||
@@ -67,7 +67,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543514"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543516"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-4</span></dt>
|
||||
<dd><p>
|
||||
@@ -197,7 +197,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543931"></a><h2>FILES</h2>
|
||||
<a name="id2543933"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -210,14 +210,14 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543971"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543973"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544005"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544007"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+22
-2
@@ -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: main.c,v 1.175.60.4 2010/09/15 12:10:53 marka Exp $ */
|
||||
/* $Id: main.c,v 1.175.60.7 2011/11/05 00:46:11 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -546,6 +546,7 @@ parse_command_line(int argc, char *argv[]) {
|
||||
|
||||
argc -= isc_commandline_index;
|
||||
argv += isc_commandline_index;
|
||||
POST(argv);
|
||||
|
||||
if (argc > 0) {
|
||||
usage();
|
||||
@@ -776,6 +777,25 @@ setup(void) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"----------------------------------------------------");
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"BIND 9 is maintained by Internet Systems Consortium,");
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"Inc. (ISC), a non-profit 501(c)(3) public-benefit ");
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"corporation. Support and training for BIND 9 are ");
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"available at https://www.isc.org/support");
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE,
|
||||
"----------------------------------------------------");
|
||||
|
||||
dump_symboltable();
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: named.8,v 1.41 2009/10/06 01:14:41 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-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: named.conf.5,v 1.41.4.1 2010/05/15 02:41:59 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
@@ -252,8 +252,7 @@ options {
|
||||
disable\-algorithms \fIstring\fR { \fIstring\fR; ... };
|
||||
dnssec\-enable \fIboolean\fR;
|
||||
dnssec\-validation \fIboolean\fR;
|
||||
dnssec\-lookaside \fIstring\fR trust\-anchor \fIstring\fR;
|
||||
dnssec\-lookaside ( \fIauto\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
|
||||
dnssec\-lookaside ( \fIauto\fR | \fIno\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
|
||||
dnssec\-must\-be\-secure \fIstring\fR \fIboolean\fR;
|
||||
dnssec\-accept\-expired \fIboolean\fR;
|
||||
empty\-server \fIstring\fR;
|
||||
@@ -411,7 +410,7 @@ view \fIstring\fR \fIoptional_class\fR {
|
||||
disable\-algorithms \fIstring\fR { \fIstring\fR; ... };
|
||||
dnssec\-enable \fIboolean\fR;
|
||||
dnssec\-validation \fIboolean\fR;
|
||||
dnssec\-lookaside \fIstring\fR trust\-anchor \fIstring\fR;
|
||||
dnssec\-lookaside ( \fIauto\fR | \fIno\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
|
||||
dnssec\-must\-be\-secure \fIstring\fR \fIboolean\fR;
|
||||
dnssec\-accept\-expired \fIboolean\fR;
|
||||
empty\-server \fIstring\fR;
|
||||
@@ -570,5 +569,5 @@ zone \fIstring\fR \fIoptional_class\fR {
|
||||
\fBrndc\fR(8),
|
||||
BIND 9 Administrator Reference Manual.
|
||||
.SH "COPYRIGHT"
|
||||
Copyright \(co 2004\-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004\-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||||
[<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-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: named.conf.docbook,v 1.44.4.2 2010/05/14 23:49:18 tbox Exp $ -->
|
||||
<!-- $Id: named.conf.docbook,v 1.44.4.4 2011/11/07 23:46:02 tbox Exp $ -->
|
||||
<refentry>
|
||||
<refentryinfo>
|
||||
<date>Aug 13, 2004</date>
|
||||
@@ -43,6 +43,7 @@
|
||||
<year>2008</year>
|
||||
<year>2009</year>
|
||||
<year>2010</year>
|
||||
<year>2011</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -282,8 +283,7 @@ options {
|
||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
|
||||
dnssec-enable <replaceable>boolean</replaceable>;
|
||||
dnssec-validation <replaceable>boolean</replaceable>;
|
||||
dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
|
||||
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
|
||||
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
|
||||
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
|
||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||
|
||||
@@ -458,7 +458,7 @@ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
|
||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
|
||||
dnssec-enable <replaceable>boolean</replaceable>;
|
||||
dnssec-validation <replaceable>boolean</replaceable>;
|
||||
dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
|
||||
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
|
||||
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
|
||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||
|
||||
|
||||
+19
-20
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-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: named.conf.html,v 1.50.4.1 2010/05/15 02:41:59 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">named.conf</code> </p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543349"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543353"></a><h2>DESCRIPTION</h2>
|
||||
<p><code class="filename">named.conf</code> is the configuration file
|
||||
for
|
||||
<span><strong class="command">named</strong></span>. Statements are enclosed
|
||||
@@ -50,14 +50,14 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543377"></a><h2>ACL</h2>
|
||||
<a name="id2543381"></a><h2>ACL</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
acl <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
<br>
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543393"></a><h2>KEY</h2>
|
||||
<a name="id2543397"></a><h2>KEY</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
key <em class="replaceable"><code>domain_name</code></em> {<br>
|
||||
algorithm <em class="replaceable"><code>string</code></em>;<br>
|
||||
@@ -66,7 +66,7 @@ key
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543412"></a><h2>MASTERS</h2>
|
||||
<a name="id2543416"></a><h2>MASTERS</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
|
||||
( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional">port <em class="replaceable"><code>integer</code></em></span>] |<br>
|
||||
@@ -75,7 +75,7 @@ masters
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543458"></a><h2>SERVER</h2>
|
||||
<a name="id2543462"></a><h2>SERVER</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
server ( <em class="replaceable"><code>ipv4_address[<span class="optional">/prefixlen</span>]</code></em> | <em class="replaceable"><code>ipv6_address[<span class="optional">/prefixlen</span>]</code></em> ) {<br>
|
||||
bogus <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -97,7 +97,7 @@ server
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543526"></a><h2>TRUSTED-KEYS</h2>
|
||||
<a name="id2543530"></a><h2>TRUSTED-KEYS</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
trusted-keys {<br>
|
||||
<em class="replaceable"><code>domain_name</code></em> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br>
|
||||
@@ -105,7 +105,7 @@ trusted-keys
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543552"></a><h2>MANAGED-KEYS</h2>
|
||||
<a name="id2543556"></a><h2>MANAGED-KEYS</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
managed-keys {<br>
|
||||
<em class="replaceable"><code>domain_name</code></em> <code class="constant">initial-key</code> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br>
|
||||
@@ -113,7 +113,7 @@ managed-keys
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543580"></a><h2>CONTROLS</h2>
|
||||
<a name="id2543585"></a><h2>CONTROLS</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
controls {<br>
|
||||
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> | * )<br>
|
||||
@@ -125,7 +125,7 @@ controls
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543616"></a><h2>LOGGING</h2>
|
||||
<a name="id2543620"></a><h2>LOGGING</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
logging {<br>
|
||||
channel <em class="replaceable"><code>string</code></em> {<br>
|
||||
@@ -143,7 +143,7 @@ logging
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543654"></a><h2>LWRES</h2>
|
||||
<a name="id2543658"></a><h2>LWRES</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
lwres {<br>
|
||||
listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
|
||||
@@ -156,7 +156,7 @@ lwres
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543696"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543700"></a><h2>OPTIONS</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
options {<br>
|
||||
avoid-v4-udp-ports { <em class="replaceable"><code>port</code></em>; ... };<br>
|
||||
@@ -249,8 +249,7 @@ options
|
||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-validation <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-lookaside <em class="replaceable"><code>string</code></em> trust-anchor <em class="replaceable"><code>string</code></em>;<br>
|
||||
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
|
||||
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>no</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
|
||||
dnssec-must-be-secure <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
<br>
|
||||
@@ -348,7 +347,7 @@ options
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544538"></a><h2>VIEW</h2>
|
||||
<a name="id2544539"></a><h2>VIEW</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
view <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
|
||||
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
@@ -424,7 +423,7 @@ view
|
||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-validation <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-lookaside <em class="replaceable"><code>string</code></em> trust-anchor <em class="replaceable"><code>string</code></em>;<br>
|
||||
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>no</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
|
||||
dnssec-must-be-secure <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
<br>
|
||||
@@ -499,7 +498,7 @@ view
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545209"></a><h2>ZONE</h2>
|
||||
<a name="id2545217"></a><h2>ZONE</h2>
|
||||
<div class="literallayout"><p><br>
|
||||
zone <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
|
||||
type ( master | slave | stub | hint |<br>
|
||||
@@ -594,12 +593,12 @@ zone
|
||||
</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545521"></a><h2>FILES</h2>
|
||||
<a name="id2545596"></a><h2>FILES</h2>
|
||||
<p><code class="filename">/etc/named.conf</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2545601"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2545608"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: named.html,v 1.33 2009/10/06 01:14:41 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">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543480"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543482"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">named</strong></span>
|
||||
is a Domain Name System (DNS) server,
|
||||
part of the BIND 9 distribution from ISC. For more
|
||||
@@ -47,7 +47,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543505"></a><h2>OPTIONS</h2>
|
||||
<a name="id2543507"></a><h2>OPTIONS</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term">-4</span></dt>
|
||||
<dd><p>
|
||||
@@ -228,7 +228,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543962"></a><h2>SIGNALS</h2>
|
||||
<a name="id2543964"></a><h2>SIGNALS</h2>
|
||||
<p>
|
||||
In routine operation, signals should not be used to control
|
||||
the nameserver; <span><strong class="command">rndc</strong></span> should be used
|
||||
@@ -249,7 +249,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544010"></a><h2>CONFIGURATION</h2>
|
||||
<a name="id2544012"></a><h2>CONFIGURATION</h2>
|
||||
<p>
|
||||
The <span><strong class="command">named</strong></span> configuration file is too complex
|
||||
to describe in detail here. A complete description is provided
|
||||
@@ -266,7 +266,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544046"></a><h2>FILES</h2>
|
||||
<a name="id2544049"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -279,7 +279,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544086"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544088"></a><h2>SEE ALSO</h2>
|
||||
<p><em class="citetitle">RFC 1033</em>,
|
||||
<em class="citetitle">RFC 1034</em>,
|
||||
<em class="citetitle">RFC 1035</em>,
|
||||
@@ -292,7 +292,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544293"></a><h2>AUTHOR</h2>
|
||||
<a name="id2544295"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+149
-131
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2012 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: query.c,v 1.335.8.11 2010/09/24 05:54:05 marka Exp $ */
|
||||
/* $Id: query.c,v 1.335.8.23 2012/01/31 23:46:14 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -634,6 +634,7 @@ query_validatezonedb(ns_client_t *client, dns_name_t *name,
|
||||
*/
|
||||
|
||||
check_acl = ISC_TRUE; /* Keep compiler happy. */
|
||||
POST(check_acl); /* Keep another compiler happy. */
|
||||
queryacl = NULL;
|
||||
|
||||
/*
|
||||
@@ -1024,14 +1025,8 @@ query_isduplicate(ns_client_t *client, dns_name_t *name,
|
||||
mname = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the dns_name_t we're looking up is already in the message,
|
||||
* we don't want to trigger the caller's name replacement logic.
|
||||
*/
|
||||
if (name == mname)
|
||||
mname = NULL;
|
||||
|
||||
*mnamep = mname;
|
||||
if (mnamep != NULL)
|
||||
*mnamep = mname;
|
||||
|
||||
CTRACE("query_isduplicate: false: done");
|
||||
return (ISC_FALSE);
|
||||
@@ -1228,6 +1223,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
if (dns_rdataset_isassociated(rdataset) &&
|
||||
!query_isduplicate(client, fname, type, &mname)) {
|
||||
if (mname != NULL) {
|
||||
INSIST(mname != fname);
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
} else
|
||||
@@ -1250,6 +1246,10 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
}
|
||||
|
||||
if (qtype == dns_rdatatype_a) {
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
isc_boolean_t have_a = ISC_FALSE;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* We now go looking for A and AAAA records, along with
|
||||
* their signatures.
|
||||
@@ -1272,6 +1272,8 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
if (sigrdataset == NULL)
|
||||
goto addname;
|
||||
}
|
||||
if (query_isduplicate(client, fname, dns_rdatatype_a, NULL))
|
||||
goto aaaa_lookup;
|
||||
result = dns_db_findrdataset(db, node, version,
|
||||
dns_rdatatype_a, 0,
|
||||
client->now, rdataset,
|
||||
@@ -1280,21 +1282,24 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
goto addname;
|
||||
if (result == DNS_R_NCACHENXRRSET) {
|
||||
dns_rdataset_disassociate(rdataset);
|
||||
/*
|
||||
* Negative cache entries don't have sigrdatasets.
|
||||
*/
|
||||
INSIST(sigrdataset == NULL ||
|
||||
! dns_rdataset_isassociated(sigrdataset));
|
||||
if (sigrdataset != NULL &&
|
||||
dns_rdataset_isassociated(sigrdataset))
|
||||
dns_rdataset_disassociate(sigrdataset);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
mname = NULL;
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
have_a = ISC_TRUE;
|
||||
#endif
|
||||
if (!query_isduplicate(client, fname,
|
||||
dns_rdatatype_a, &mname)) {
|
||||
if (mname != NULL) {
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
if (mname != fname) {
|
||||
if (mname != NULL) {
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
}
|
||||
ISC_LIST_APPEND(fname->list, rdataset, link);
|
||||
added_something = ISC_TRUE;
|
||||
if (sigrdataset != NULL &&
|
||||
@@ -1317,6 +1322,9 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
dns_rdataset_disassociate(sigrdataset);
|
||||
}
|
||||
}
|
||||
aaaa_lookup:
|
||||
if (query_isduplicate(client, fname, dns_rdatatype_aaaa, NULL))
|
||||
goto addname;
|
||||
result = dns_db_findrdataset(db, node, version,
|
||||
dns_rdatatype_aaaa, 0,
|
||||
client->now, rdataset,
|
||||
@@ -1325,18 +1333,32 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
goto addname;
|
||||
if (result == DNS_R_NCACHENXRRSET) {
|
||||
dns_rdataset_disassociate(rdataset);
|
||||
INSIST(sigrdataset == NULL ||
|
||||
! dns_rdataset_isassociated(sigrdataset));
|
||||
if (sigrdataset != NULL &&
|
||||
dns_rdataset_isassociated(sigrdataset))
|
||||
dns_rdataset_disassociate(sigrdataset);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
mname = NULL;
|
||||
/*
|
||||
* There's an A; check whether we're filtering AAAA
|
||||
*/
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
if (have_a &&
|
||||
(client->filter_aaaa == dns_v4_aaaa_break_dnssec ||
|
||||
(client->filter_aaaa == dns_v4_aaaa_filter &&
|
||||
(!WANTDNSSEC(client) || sigrdataset == NULL ||
|
||||
!dns_rdataset_isassociated(sigrdataset)))))
|
||||
goto addname;
|
||||
#endif
|
||||
if (!query_isduplicate(client, fname,
|
||||
dns_rdatatype_aaaa, &mname)) {
|
||||
if (mname != NULL) {
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
if (mname != fname) {
|
||||
if (mname != NULL) {
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
}
|
||||
ISC_LIST_APPEND(fname->list, rdataset, link);
|
||||
added_something = ISC_TRUE;
|
||||
if (sigrdataset != NULL &&
|
||||
@@ -1481,7 +1503,13 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
dns_rdatatype_t type;
|
||||
dns_rdatasetadditional_t additionaltype;
|
||||
|
||||
if (qtype != dns_rdatatype_a) {
|
||||
/*
|
||||
* If we don't have an additional cache call query_addadditional.
|
||||
*/
|
||||
client = additionalctx->client;
|
||||
REQUIRE(NS_CLIENT_VALID(client));
|
||||
|
||||
if (qtype != dns_rdatatype_a || client->view->acache == NULL) {
|
||||
/*
|
||||
* This function is optimized for "address" types. For other
|
||||
* types, use a generic routine.
|
||||
@@ -1495,8 +1523,6 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
* Initialization.
|
||||
*/
|
||||
rdataset_base = additionalctx->rdataset;
|
||||
client = additionalctx->client;
|
||||
REQUIRE(NS_CLIENT_VALID(client));
|
||||
eresult = ISC_R_SUCCESS;
|
||||
fname = NULL;
|
||||
rdataset = NULL;
|
||||
@@ -1511,6 +1537,7 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
need_addname = ISC_FALSE;
|
||||
zone = NULL;
|
||||
needadditionalcache = ISC_FALSE;
|
||||
POST(needadditionalcache);
|
||||
additionaltype = dns_rdatasetadditional_fromauth;
|
||||
dns_name_init(&cfname, NULL);
|
||||
|
||||
@@ -1748,6 +1775,9 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
if (sigrdataset == NULL)
|
||||
goto cleanup;
|
||||
|
||||
if (additionaltype == dns_rdatasetadditional_fromcache &&
|
||||
query_isduplicate(client, fname, dns_rdatatype_a, NULL))
|
||||
goto aaaa_lookup;
|
||||
/*
|
||||
* Find A RRset with sig RRset. Even if we don't find a sig RRset
|
||||
* for a client using DNSSEC, we'll continue the process to make a
|
||||
@@ -1775,10 +1805,8 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
goto setcache;
|
||||
if (result == DNS_R_NCACHENXRRSET) {
|
||||
dns_rdataset_disassociate(rdataset);
|
||||
/*
|
||||
* Negative cache entries don't have sigrdatasets.
|
||||
*/
|
||||
INSIST(! dns_rdataset_isassociated(sigrdataset));
|
||||
if (dns_rdataset_isassociated(sigrdataset))
|
||||
dns_rdataset_disassociate(sigrdataset);
|
||||
}
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
/* Remember the result as a cache */
|
||||
@@ -1794,6 +1822,10 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
}
|
||||
}
|
||||
|
||||
aaaa_lookup:
|
||||
if (additionaltype == dns_rdatasetadditional_fromcache &&
|
||||
query_isduplicate(client, fname, dns_rdatatype_aaaa, NULL))
|
||||
goto foundcache;
|
||||
/* Find AAAA RRset with sig RRset */
|
||||
result = dns_db_findrdataset(db, node, version, dns_rdatatype_aaaa,
|
||||
0, client->now, rdataset, sigrdataset);
|
||||
@@ -1849,22 +1881,24 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
||||
crdataset->type == dns_rdatatype_aaaa) {
|
||||
if (!query_isduplicate(client, fname, crdataset->type,
|
||||
&mname)) {
|
||||
if (mname != NULL) {
|
||||
/*
|
||||
* A different type of this name is
|
||||
* already stored in the additional
|
||||
* section. We'll reuse the name.
|
||||
* Note that this should happen at most
|
||||
* once. Otherwise, fname->link could
|
||||
* leak below.
|
||||
*/
|
||||
INSIST(mname0 == NULL);
|
||||
if (mname != fname) {
|
||||
if (mname != NULL) {
|
||||
/*
|
||||
* A different type of this name is
|
||||
* already stored in the additional
|
||||
* section. We'll reuse the name.
|
||||
* Note that this should happen at most
|
||||
* once. Otherwise, fname->link could
|
||||
* leak below.
|
||||
*/
|
||||
INSIST(mname0 == NULL);
|
||||
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
mname0 = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
query_releasename(client, &fname);
|
||||
fname = mname;
|
||||
mname0 = mname;
|
||||
} else
|
||||
need_addname = ISC_TRUE;
|
||||
}
|
||||
ISC_LIST_UNLINK(cfname.list, crdataset, link);
|
||||
ISC_LIST_APPEND(fname->list, crdataset, link);
|
||||
added_something = ISC_TRUE;
|
||||
@@ -2896,6 +2930,11 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db,
|
||||
dns_name_copy(name, cname, NULL);
|
||||
while (result == DNS_R_NXDOMAIN) {
|
||||
labels = dns_name_countlabels(cname) - 1;
|
||||
/*
|
||||
* Sanity check.
|
||||
*/
|
||||
if (labels == 0U)
|
||||
goto cleanup;
|
||||
dns_name_split(cname, labels, NULL, cname);
|
||||
result = dns_db_find(db, cname, version,
|
||||
dns_rdatatype_nsec,
|
||||
@@ -2909,8 +2948,9 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db,
|
||||
sigrdataset, fname, ISC_TRUE, cname);
|
||||
if (!dns_rdataset_isassociated(rdataset))
|
||||
goto cleanup;
|
||||
query_addrrset(client, &fname, &rdataset, &sigrdataset,
|
||||
dbuf, DNS_SECTION_AUTHORITY);
|
||||
if (!ispositive)
|
||||
query_addrrset(client, &fname, &rdataset, &sigrdataset,
|
||||
dbuf, DNS_SECTION_AUTHORITY);
|
||||
|
||||
/*
|
||||
* Replace resources which were consumed by query_addrrset.
|
||||
@@ -4252,13 +4292,13 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
}
|
||||
goto cleanup;
|
||||
case DNS_R_EMPTYNAME:
|
||||
result = DNS_R_NXRRSET;
|
||||
/* FALLTHROUGH */
|
||||
case DNS_R_NXRRSET:
|
||||
INSIST(is_zone);
|
||||
/*
|
||||
* Look for a NSEC3 record if we don't have a NSEC record.
|
||||
*/
|
||||
nxrrset_rrsig:
|
||||
if (!dns_rdataset_isassociated(rdataset) &&
|
||||
WANTDNSSEC(client)) {
|
||||
if ((fname->attributes & DNS_NAMEATTR_WILDCARD) == 0) {
|
||||
@@ -4386,6 +4426,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
*/
|
||||
query_releasename(client, &fname);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add SOA. If the query was for a SOA record force the
|
||||
* ttl to zero so that it is possible for clients to find
|
||||
@@ -4603,18 +4644,19 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
goto cleanup;
|
||||
}
|
||||
result = dns_name_concatenate(prefix, tname, fname, NULL);
|
||||
|
||||
/*
|
||||
* RFC2672, section 4.1, subsection 3c says
|
||||
* we should return YXDOMAIN if the constructed
|
||||
* name would be too long.
|
||||
*/
|
||||
if (result == DNS_R_NAMETOOLONG)
|
||||
client->message->rcode = dns_rcode_yxdomain;
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_message_puttempname(client->message, &tname);
|
||||
if (result == ISC_R_NOSPACE) {
|
||||
/*
|
||||
* RFC2672, section 4.1, subsection 3c says
|
||||
* we should return YXDOMAIN if the constructed
|
||||
* name would be too long.
|
||||
*/
|
||||
client->message->rcode = dns_rcode_yxdomain;
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
query_keepname(client, fname, dbuf);
|
||||
/*
|
||||
* Synthesize a CNAME for this DNAME.
|
||||
@@ -4660,9 +4702,21 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
need_wildcardproof = ISC_TRUE;
|
||||
}
|
||||
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
if (client->view->v4_aaaa != dns_v4_aaaa_ok &&
|
||||
is_v4_client(client) &&
|
||||
ns_client_checkaclsilent(client, NULL,
|
||||
client->view->v4_aaaa_acl,
|
||||
ISC_TRUE) == ISC_R_SUCCESS)
|
||||
client->filter_aaaa = client->view->v4_aaaa;
|
||||
else
|
||||
client->filter_aaaa = dns_v4_aaaa_ok;
|
||||
|
||||
#endif
|
||||
|
||||
if (type == dns_rdatatype_any) {
|
||||
#ifdef ALLOW_FILTER_AAAA_ON_V4
|
||||
isc_boolean_t have_aaaa, have_a, have_sig, filter_aaaa;
|
||||
isc_boolean_t have_aaaa, have_a, have_sig;
|
||||
|
||||
/*
|
||||
* The filter-aaaa-on-v4 option should
|
||||
@@ -4674,14 +4728,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
have_aaaa = ISC_FALSE;
|
||||
have_a = !authoritative;
|
||||
have_sig = ISC_FALSE;
|
||||
if (client->view->v4_aaaa != dns_v4_aaaa_ok &&
|
||||
is_v4_client(client) &&
|
||||
ns_client_checkaclsilent(client, NULL,
|
||||
client->view->v4_aaaa_acl,
|
||||
ISC_TRUE) == ISC_R_SUCCESS)
|
||||
filter_aaaa = ISC_TRUE;
|
||||
else
|
||||
filter_aaaa = ISC_FALSE;
|
||||
#endif
|
||||
/*
|
||||
* XXXRTH Need to handle zonecuts with special case
|
||||
@@ -4715,7 +4761,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
* Notice the presence of A and AAAAs so
|
||||
* that AAAAs can be hidden from IPv4 clients.
|
||||
*/
|
||||
if (filter_aaaa) {
|
||||
if (client->filter_aaaa != dns_v4_aaaa_ok) {
|
||||
if (rdataset->type == dns_rdatatype_aaaa)
|
||||
have_aaaa = ISC_TRUE;
|
||||
else if (rdataset->type == dns_rdatatype_a)
|
||||
@@ -4772,74 +4818,50 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
* Filter AAAAs if there is an A and there is no signature
|
||||
* or we are supposed to break DNSSEC.
|
||||
*/
|
||||
if (filter_aaaa && have_aaaa && have_a &&
|
||||
(!have_sig || !WANTDNSSEC(client) ||
|
||||
client->view->v4_aaaa == dns_v4_aaaa_break_dnssec))
|
||||
if (client->filter_aaaa == dns_v4_aaaa_break_dnssec)
|
||||
client->attributes |= NS_CLIENTATTR_FILTER_AAAA;
|
||||
else if (client->filter_aaaa != dns_v4_aaaa_ok &&
|
||||
have_aaaa && have_a &&
|
||||
(!have_sig || !WANTDNSSEC(client)))
|
||||
client->attributes |= NS_CLIENTATTR_FILTER_AAAA;
|
||||
#endif
|
||||
if (fname != NULL)
|
||||
dns_message_puttempname(client->message, &fname);
|
||||
|
||||
if (n == 0 && is_zone) {
|
||||
if (n == 0) {
|
||||
/*
|
||||
* We didn't match any rdatasets.
|
||||
* No matching rdatasets found in cache. If we were
|
||||
* searching for RRSIG/SIG, that's probably okay;
|
||||
* otherwise this is an error condition.
|
||||
*/
|
||||
if ((qtype == dns_rdatatype_rrsig ||
|
||||
qtype == dns_rdatatype_sig) &&
|
||||
result == ISC_R_NOMORE) {
|
||||
/*
|
||||
* XXXRTH If this is a secure zone and we
|
||||
* didn't find any SIGs, we should generate
|
||||
* an error unless we were searching for
|
||||
* glue. Ugh.
|
||||
*/
|
||||
if (!is_zone) {
|
||||
/*
|
||||
* Note: this is dead code because
|
||||
* is_zone is always true due to the
|
||||
* condition above. But naive
|
||||
* recursion would cause infinite
|
||||
* attempts of recursion because
|
||||
* the answer to (RR)SIG queries
|
||||
* won't be cached. Until we figure
|
||||
* out what we should do and implement
|
||||
* it we intentionally keep this code
|
||||
* dead.
|
||||
*/
|
||||
authoritative = ISC_FALSE;
|
||||
dns_rdatasetiter_destroy(&rdsiter);
|
||||
if (RECURSIONOK(client)) {
|
||||
result = query_recurse(client,
|
||||
qtype,
|
||||
NULL,
|
||||
NULL,
|
||||
resuming);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
client->query.attributes |=
|
||||
NS_QUERYATTR_RECURSING;
|
||||
else
|
||||
RECURSE_ERROR(result);
|
||||
}
|
||||
client->attributes &= ~NS_CLIENTATTR_RA;
|
||||
goto addauth;
|
||||
}
|
||||
/*
|
||||
* We were searching for SIG records in
|
||||
* a nonsecure zone. Send a "no error,
|
||||
* no data" response.
|
||||
*/
|
||||
/*
|
||||
* Add SOA.
|
||||
*/
|
||||
result = query_addsoa(client, db, version,
|
||||
ISC_FALSE, ISC_FALSE);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
result = ISC_R_NOMORE;
|
||||
} else {
|
||||
/*
|
||||
* Something went wrong.
|
||||
*/
|
||||
|
||||
if (dns_db_issecure(db)) {
|
||||
char namebuf[DNS_NAME_FORMATSIZE];
|
||||
dns_name_format(client->query.qname,
|
||||
namebuf,
|
||||
sizeof(namebuf));
|
||||
ns_client_log(client,
|
||||
DNS_LOGCATEGORY_DNSSEC,
|
||||
NS_LOGMODULE_QUERY,
|
||||
ISC_LOG_WARNING,
|
||||
"missing signature "
|
||||
"for %s", namebuf);
|
||||
}
|
||||
|
||||
dns_rdatasetiter_destroy(&rdsiter);
|
||||
fname = query_newname(client, dbuf, &b);
|
||||
goto nxrrset_rrsig;
|
||||
} else
|
||||
result = DNS_R_SERVFAIL;
|
||||
}
|
||||
}
|
||||
dns_rdatasetiter_destroy(&rdsiter);
|
||||
if (result != ISC_R_NOMORE) {
|
||||
@@ -4860,15 +4882,11 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
|
||||
* so fundamentally wrong, unavoidably inaccurate, and
|
||||
* unneeded that it is best to keep it as short as possible.
|
||||
*/
|
||||
if (client->view->v4_aaaa != dns_v4_aaaa_ok &&
|
||||
is_v4_client(client) &&
|
||||
ns_client_checkaclsilent(client, NULL,
|
||||
client->view->v4_aaaa_acl,
|
||||
ISC_TRUE) == ISC_R_SUCCESS &&
|
||||
(!WANTDNSSEC(client) ||
|
||||
sigrdataset == NULL ||
|
||||
!dns_rdataset_isassociated(sigrdataset) ||
|
||||
client->view->v4_aaaa == dns_v4_aaaa_break_dnssec)) {
|
||||
if (client->filter_aaaa == dns_v4_aaaa_break_dnssec ||
|
||||
(client->filter_aaaa == dns_v4_aaaa_filter &&
|
||||
(!WANTDNSSEC(client) || sigrdataset == NULL ||
|
||||
!dns_rdataset_isassociated(sigrdataset))))
|
||||
{
|
||||
if (qtype == dns_rdatatype_aaaa) {
|
||||
trdataset = query_newrdataset(client);
|
||||
result = dns_db_findrdataset(db, node, version,
|
||||
|
||||
+384
-172
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: server.c,v 1.556.8.35 2011/02/03 00:28:08 each Exp $ */
|
||||
/* $Id: server.c,v 1.556.8.50 2012/02/22 00:31:55 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -205,13 +205,15 @@ struct zonelistentry {
|
||||
|
||||
/*%
|
||||
* Configuration context to retain for each view that allows
|
||||
* new zones to be added at runtime
|
||||
* new zones to be added at runtime.
|
||||
*/
|
||||
struct cfg_context {
|
||||
isc_mem_t * mctx;
|
||||
cfg_obj_t * config;
|
||||
cfg_parser_t * parser;
|
||||
cfg_aclconfctx_t actx;
|
||||
cfg_obj_t * config;
|
||||
cfg_parser_t * nzparser;
|
||||
cfg_obj_t * nzconfig;
|
||||
cfg_aclconfctx_t * actx;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -221,7 +223,6 @@ static const struct {
|
||||
const char *zone;
|
||||
isc_boolean_t rfc1918;
|
||||
} empty_zones[] = {
|
||||
#ifdef notyet
|
||||
/* RFC 1918 */
|
||||
{ "10.IN-ADDR.ARPA", ISC_TRUE },
|
||||
{ "16.172.IN-ADDR.ARPA", ISC_TRUE },
|
||||
@@ -241,7 +242,6 @@ static const struct {
|
||||
{ "30.172.IN-ADDR.ARPA", ISC_TRUE },
|
||||
{ "31.172.IN-ADDR.ARPA", ISC_TRUE },
|
||||
{ "168.192.IN-ADDR.ARPA", ISC_TRUE },
|
||||
#endif
|
||||
|
||||
/* RFC 5735 and RFC 5737 */
|
||||
{ "0.IN-ADDR.ARPA", ISC_FALSE }, /* THIS NETWORK */
|
||||
@@ -303,7 +303,7 @@ static void
|
||||
end_reserved_dispatches(ns_server_t *server, isc_boolean_t all);
|
||||
|
||||
static void
|
||||
cfgctx_destroy(void **cfgp);
|
||||
newzone_cfgctx_destroy(void **cfgp);
|
||||
|
||||
/*%
|
||||
* Configure a single view ACL at '*aclp'. Get its configuration from
|
||||
@@ -601,7 +601,8 @@ dstkey_fromconfig(const cfg_obj_t *vconfig, const cfg_obj_t *key,
|
||||
|
||||
static isc_result_t
|
||||
load_view_keys(const cfg_obj_t *keys, const cfg_obj_t *vconfig,
|
||||
dns_view_t *view, isc_boolean_t managed, isc_mem_t *mctx)
|
||||
dns_view_t *view, isc_boolean_t managed,
|
||||
dns_name_t *keyname, isc_mem_t *mctx)
|
||||
{
|
||||
const cfg_listelt_t *elt, *elt2;
|
||||
const cfg_obj_t *key, *keylist;
|
||||
@@ -629,6 +630,16 @@ load_view_keys(const cfg_obj_t *keys, const cfg_obj_t *vconfig,
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
|
||||
/*
|
||||
* If keyname was specified, we only add that key.
|
||||
*/
|
||||
if (keyname != NULL &&
|
||||
!dns_name_equal(keyname, dst_key_name(dstkey)))
|
||||
{
|
||||
dst_key_free(&dstkey);
|
||||
continue;
|
||||
}
|
||||
|
||||
CHECK(dns_keytable_add(secroots, managed, &dstkey));
|
||||
}
|
||||
}
|
||||
@@ -729,19 +740,22 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig,
|
||||
|
||||
if (builtin_keys != NULL)
|
||||
CHECK(load_view_keys(builtin_keys, vconfig, view,
|
||||
ISC_FALSE, mctx));
|
||||
ISC_FALSE, view->dlv, mctx));
|
||||
if (builtin_managed_keys != NULL)
|
||||
CHECK(load_view_keys(builtin_managed_keys, vconfig,
|
||||
view, ISC_TRUE, mctx));
|
||||
view, ISC_TRUE, view->dlv, mctx));
|
||||
}
|
||||
|
||||
CHECK(load_view_keys(view_keys, vconfig, view, ISC_FALSE, mctx));
|
||||
CHECK(load_view_keys(view_managed_keys, vconfig, view, ISC_TRUE, mctx));
|
||||
CHECK(load_view_keys(view_keys, vconfig, view, ISC_FALSE,
|
||||
NULL, mctx));
|
||||
CHECK(load_view_keys(view_managed_keys, vconfig, view, ISC_TRUE,
|
||||
NULL, mctx));
|
||||
|
||||
if (view->rdclass == dns_rdataclass_in) {
|
||||
CHECK(load_view_keys(global_keys, vconfig, view, ISC_FALSE,
|
||||
mctx));
|
||||
NULL, mctx));
|
||||
CHECK(load_view_keys(global_managed_keys, vconfig, view,
|
||||
ISC_TRUE, mctx));
|
||||
ISC_TRUE, NULL, mctx));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -796,18 +810,13 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
|
||||
int af, dns_dispatch_t **dispatchp,
|
||||
isc_boolean_t is_firstview)
|
||||
{
|
||||
isc_result_t result;
|
||||
isc_result_t result = ISC_R_FAILURE;
|
||||
dns_dispatch_t *disp;
|
||||
isc_sockaddr_t sa;
|
||||
unsigned int attrs, attrmask;
|
||||
const cfg_obj_t *obj = NULL;
|
||||
unsigned int maxdispatchbuffers;
|
||||
|
||||
/*
|
||||
* Make compiler happy.
|
||||
*/
|
||||
result = ISC_R_FAILURE;
|
||||
|
||||
switch (af) {
|
||||
case AF_INET:
|
||||
result = ns_config_get(maps, "query-source", &obj);
|
||||
@@ -1297,8 +1306,7 @@ cache_sharable(dns_view_t *originview, dns_view_t *view,
|
||||
* global defaults in 'config' used exclusively.
|
||||
*/
|
||||
static isc_result_t
|
||||
configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
cfg_obj_t *config, cfg_obj_t *vconfig,
|
||||
configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
|
||||
ns_cachelist_t *cachelist, const cfg_obj_t *bindkeys,
|
||||
isc_mem_t *mctx, cfg_aclconfctx_t *actx,
|
||||
isc_boolean_t need_hints)
|
||||
@@ -1330,7 +1338,7 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
isc_uint32_t lame_ttl;
|
||||
dns_tsig_keyring_t *ring = NULL;
|
||||
dns_view_t *pview = NULL; /* Production view */
|
||||
isc_mem_t *cmctx;
|
||||
isc_mem_t *cmctx = NULL, *hmctx = NULL;
|
||||
dns_dispatch_t *dispatch4 = NULL;
|
||||
dns_dispatch_t *dispatch6 = NULL;
|
||||
isc_boolean_t reused_cache = ISC_FALSE;
|
||||
@@ -1354,13 +1362,10 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
isc_boolean_t auto_dlv = ISC_FALSE;
|
||||
ns_cache_t *nsc;
|
||||
isc_boolean_t zero_no_soattl;
|
||||
cfg_parser_t *newzones_parser = NULL;
|
||||
cfg_obj_t *nzfconf = NULL;
|
||||
struct cfg_context *nzctx;
|
||||
|
||||
REQUIRE(DNS_VIEW_VALID(view));
|
||||
|
||||
cmctx = NULL;
|
||||
|
||||
if (config != NULL)
|
||||
(void)cfg_map_get(config, "options", &options);
|
||||
|
||||
@@ -1391,6 +1396,7 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
sep = "";
|
||||
viewname = "";
|
||||
forview = "";
|
||||
POST(forview);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1462,6 +1468,10 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
(void)cfg_map_get(voptions, "zone", &zonelist);
|
||||
else
|
||||
(void)cfg_map_get(config, "zone", &zonelist);
|
||||
|
||||
/*
|
||||
* Load zone configuration
|
||||
*/
|
||||
for (element = cfg_list_first(zonelist);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
@@ -1471,58 +1481,29 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
actx, ISC_FALSE));
|
||||
}
|
||||
|
||||
/*
|
||||
* Are we allowing zones to be added and deleted dynamically?
|
||||
*/
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "allow-new-zones", &obj);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
isc_boolean_t allow = cfg_obj_asboolean(obj);
|
||||
struct cfg_context *cfg = NULL;
|
||||
if (allow) {
|
||||
cfg = isc_mem_get(view->mctx, sizeof(*cfg));
|
||||
if (cfg == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
memset(cfg, 0, sizeof(*cfg));
|
||||
isc_mem_attach(view->mctx, &cfg->mctx);
|
||||
if (config != NULL)
|
||||
cfg_obj_attach(config, &cfg->config);
|
||||
cfg_parser_attach(parser, &cfg->parser);
|
||||
cfg_aclconfctx_clone(actx, &cfg->actx);
|
||||
}
|
||||
dns_view_setnewzones(view, allow, cfg, cfgctx_destroy);
|
||||
}
|
||||
|
||||
/*
|
||||
* If we're allowing added zones, then load zone configuration
|
||||
* from the newzone file for zones that were added during previous
|
||||
* runs.
|
||||
*/
|
||||
if (view->new_zone_file != NULL) {
|
||||
nzctx = view->new_zone_config;
|
||||
if (nzctx != NULL && nzctx->nzconfig != NULL) {
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||
"loading additional zones for view '%s'",
|
||||
view->name);
|
||||
|
||||
CHECK(cfg_parser_create(view->mctx, ns_g_lctx,
|
||||
&newzones_parser));
|
||||
result = cfg_parse_file(newzones_parser, view->new_zone_file,
|
||||
&cfg_type_newzones, &nzfconf);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
zonelist = NULL;
|
||||
cfg_map_get(nzfconf, "zone", &zonelist);
|
||||
for (element = cfg_list_first(zonelist);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
{
|
||||
const cfg_obj_t *zconfig =
|
||||
cfg_listelt_value(element);
|
||||
CHECK(configure_zone(config, zconfig, vconfig,
|
||||
mctx, view, actx,
|
||||
ISC_TRUE));
|
||||
}
|
||||
zonelist = NULL;
|
||||
cfg_map_get(nzctx->nzconfig, "zone", &zonelist);
|
||||
|
||||
for (element = cfg_list_first(zonelist);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
{
|
||||
const cfg_obj_t *zconfig = cfg_listelt_value(element);
|
||||
CHECK(configure_zone(config, zconfig, vconfig,
|
||||
mctx, view, actx,
|
||||
ISC_TRUE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1726,13 +1707,21 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
* view but is not yet configured. If it is not the
|
||||
* view name but not a forward reference either, then it
|
||||
* is simply a named cache that is not shared.
|
||||
*
|
||||
* We use two separate memory contexts for the
|
||||
* cache, for the main cache memory and the heap
|
||||
* memory.
|
||||
*/
|
||||
CHECK(isc_mem_create(0, 0, &cmctx));
|
||||
isc_mem_setname(cmctx, "cache", NULL);
|
||||
CHECK(dns_cache_create2(cmctx, ns_g_taskmgr,
|
||||
CHECK(isc_mem_create(0, 0, &hmctx));
|
||||
isc_mem_setname(hmctx, "cache_heap", NULL);
|
||||
CHECK(dns_cache_create3(cmctx, hmctx, ns_g_taskmgr,
|
||||
ns_g_timermgr, view->rdclass,
|
||||
cachename, "rbt", 0, NULL,
|
||||
&cache));
|
||||
isc_mem_detach(&cmctx);
|
||||
isc_mem_detach(&hmctx);
|
||||
}
|
||||
nsc = isc_mem_get(mctx, sizeof(*nsc));
|
||||
if (nsc == NULL) {
|
||||
@@ -2227,14 +2216,19 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
/* If set to "auto", use the version from the defaults */
|
||||
const cfg_obj_t *dlvobj;
|
||||
const char *dom;
|
||||
dlvobj = cfg_listelt_value(cfg_list_first(obj));
|
||||
if (!strcmp(cfg_obj_asstring(cfg_tuple_get(dlvobj, "domain")),
|
||||
"auto") &&
|
||||
cfg_obj_isvoid(cfg_tuple_get(dlvobj, "trust-anchor"))) {
|
||||
auto_dlv = ISC_TRUE;
|
||||
obj = NULL;
|
||||
result = cfg_map_get(ns_g_defaults,
|
||||
"dnssec-lookaside", &obj);
|
||||
dom = cfg_obj_asstring(cfg_tuple_get(dlvobj, "domain"));
|
||||
if (cfg_obj_isvoid(cfg_tuple_get(dlvobj, "trust-anchor"))) {
|
||||
/* If "no", skip; if "auto", use global default */
|
||||
if (!strcasecmp(dom, "no"))
|
||||
result = ISC_R_NOTFOUND;
|
||||
else if (!strcasecmp(dom, "auto")) {
|
||||
auto_dlv = ISC_TRUE;
|
||||
obj = NULL;
|
||||
result = cfg_map_get(ns_g_defaults,
|
||||
"dnssec-lookaside", &obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2353,7 +2347,7 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
rfc1918 = ISC_FALSE;
|
||||
empty_zones_enable = ISC_FALSE;
|
||||
}
|
||||
if (empty_zones_enable) {
|
||||
if (empty_zones_enable && !lwresd_g_useresolvconf) {
|
||||
const char *empty;
|
||||
int empty_zone = 0;
|
||||
dns_fixedname_t fixed;
|
||||
@@ -2491,7 +2485,8 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
CHECK(dns_zone_create(&zone, mctx));
|
||||
CHECK(dns_zone_setorigin(zone, name));
|
||||
dns_zone_setview(zone, view);
|
||||
CHECK(dns_zonemgr_managezone(ns_g_server->zonemgr, zone));
|
||||
CHECK(dns_zonemgr_managezone(ns_g_server->zonemgr,
|
||||
zone));
|
||||
dns_zone_setclass(zone, view->rdclass);
|
||||
dns_zone_settype(zone, dns_zone_master);
|
||||
dns_zone_setstats(zone, ns_g_server->zonestats);
|
||||
@@ -2534,16 +2529,12 @@ configure_view(dns_view_t *view, cfg_parser_t* parser,
|
||||
dns_order_detach(&order);
|
||||
if (cmctx != NULL)
|
||||
isc_mem_detach(&cmctx);
|
||||
if (hmctx != NULL)
|
||||
isc_mem_detach(&hmctx);
|
||||
|
||||
if (cache != NULL)
|
||||
dns_cache_detach(&cache);
|
||||
|
||||
if (newzones_parser != NULL) {
|
||||
if (nzfconf != NULL)
|
||||
cfg_obj_destroy(newzones_parser, &nzfconf);
|
||||
cfg_parser_destroy(&newzones_parser);
|
||||
}
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
@@ -2748,21 +2739,16 @@ configure_forward(const cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
|
||||
return (result);
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a new view and add it to the list.
|
||||
*
|
||||
* If 'vconfig' is NULL, create the default view.
|
||||
*
|
||||
* The view created is attached to '*viewp'.
|
||||
*/
|
||||
static isc_result_t
|
||||
create_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist,
|
||||
dns_view_t **viewp)
|
||||
get_viewinfo(const cfg_obj_t *vconfig, const char **namep,
|
||||
dns_rdataclass_t *classp)
|
||||
{
|
||||
isc_result_t result;
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
const char *viewname;
|
||||
dns_rdataclass_t viewclass;
|
||||
dns_view_t *view = NULL;
|
||||
|
||||
REQUIRE(namep != NULL && *namep == NULL);
|
||||
REQUIRE(classp != NULL);
|
||||
|
||||
if (vconfig != NULL) {
|
||||
const cfg_obj_t *classobj = NULL;
|
||||
@@ -2775,6 +2761,59 @@ create_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist,
|
||||
viewname = "_default";
|
||||
viewclass = dns_rdataclass_in;
|
||||
}
|
||||
|
||||
*namep = viewname;
|
||||
*classp = viewclass;
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
/*
|
||||
* Find a view based on its configuration info and attach to it.
|
||||
*
|
||||
* If 'vconfig' is NULL, attach to the default view.
|
||||
*/
|
||||
static isc_result_t
|
||||
find_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist,
|
||||
dns_view_t **viewp)
|
||||
{
|
||||
isc_result_t result;
|
||||
const char *viewname = NULL;
|
||||
dns_rdataclass_t viewclass;
|
||||
dns_view_t *view = NULL;
|
||||
|
||||
result = get_viewinfo(vconfig, &viewname, &viewclass);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
|
||||
result = dns_viewlist_find(viewlist, viewname, viewclass, &view);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
|
||||
*viewp = view;
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a new view and add it to the list.
|
||||
*
|
||||
* If 'vconfig' is NULL, create the default view.
|
||||
*
|
||||
* The view created is attached to '*viewp'.
|
||||
*/
|
||||
static isc_result_t
|
||||
create_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist,
|
||||
dns_view_t **viewp)
|
||||
{
|
||||
isc_result_t result;
|
||||
const char *viewname = NULL;
|
||||
dns_rdataclass_t viewclass;
|
||||
dns_view_t *view = NULL;
|
||||
|
||||
result = get_viewinfo(vconfig, &viewname, &viewclass);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
|
||||
result = dns_viewlist_find(viewlist, viewname, viewclass, &view);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
return (ISC_R_EXISTS);
|
||||
@@ -3025,6 +3064,12 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
|
||||
*/
|
||||
CHECK(dns_view_addzone(view, zone));
|
||||
|
||||
/*
|
||||
* Ensure that zone keys are reloaded on reconfig
|
||||
*/
|
||||
if ((dns_zone_getkeyopts(zone) & DNS_ZONEKEY_MAINTAIN) != 0)
|
||||
dns_zone_rekey(zone, ISC_FALSE);
|
||||
|
||||
cleanup:
|
||||
if (zone != NULL)
|
||||
dns_zone_detach(&zone);
|
||||
@@ -3063,7 +3108,9 @@ add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) {
|
||||
|
||||
if (pview != NULL && pview->managed_keys != NULL) {
|
||||
dns_zone_attach(pview->managed_keys, &view->managed_keys);
|
||||
dns_zone_setview(pview->managed_keys, view);
|
||||
dns_view_detach(&pview);
|
||||
dns_zone_synckeyzone(view->managed_keys);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -3731,11 +3778,99 @@ configure_session_key(const cfg_obj_t **maps, ns_server_t *server,
|
||||
return (result);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
|
||||
cfg_parser_t *parser, cfg_aclconfctx_t *actx)
|
||||
{
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_boolean_t allow = ISC_FALSE;
|
||||
struct cfg_context *nzcfg = NULL;
|
||||
cfg_parser_t *nzparser = NULL;
|
||||
cfg_obj_t *nzconfig = NULL;
|
||||
const cfg_obj_t *maps[4];
|
||||
const cfg_obj_t *options = NULL, *voptions = NULL;
|
||||
const cfg_obj_t *nz = NULL;
|
||||
int i = 0;
|
||||
|
||||
REQUIRE (config != NULL);
|
||||
|
||||
if (vconfig != NULL)
|
||||
voptions = cfg_tuple_get(vconfig, "options");
|
||||
if (voptions != NULL)
|
||||
maps[i++] = voptions;
|
||||
result = cfg_map_get(config, "options", &options);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
maps[i++] = options;
|
||||
maps[i++] = ns_g_defaults;
|
||||
maps[i] = NULL;
|
||||
|
||||
result = ns_config_get(maps, "allow-new-zones", &nz);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
allow = cfg_obj_asboolean(nz);
|
||||
|
||||
if (!allow) {
|
||||
dns_view_setnewzones(view, ISC_FALSE, NULL, NULL);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
nzcfg = isc_mem_get(view->mctx, sizeof(*nzcfg));
|
||||
if (nzcfg == NULL) {
|
||||
dns_view_setnewzones(view, ISC_FALSE, NULL, NULL);
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
|
||||
dns_view_setnewzones(view, allow, nzcfg, newzone_cfgctx_destroy);
|
||||
|
||||
memset(nzcfg, 0, sizeof(*nzcfg));
|
||||
isc_mem_attach(view->mctx, &nzcfg->mctx);
|
||||
cfg_obj_attach(config, &nzcfg->config);
|
||||
cfg_parser_attach(parser, &nzcfg->parser);
|
||||
cfg_aclconfctx_attach(actx, &nzcfg->actx);
|
||||
|
||||
/*
|
||||
* Attempt to create a parser and parse the newzones
|
||||
* file. If successful, preserve both; otherwise leave
|
||||
* them NULL.
|
||||
*/
|
||||
result = cfg_parser_create(view->mctx, ns_g_lctx, &nzparser);
|
||||
if (result == ISC_R_SUCCESS)
|
||||
result = cfg_parse_file(nzparser, view->new_zone_file,
|
||||
&cfg_type_newzones, &nzconfig);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
cfg_parser_attach(nzparser, &nzcfg->nzparser);
|
||||
cfg_obj_attach(nzconfig, &nzcfg->nzconfig);
|
||||
}
|
||||
|
||||
if (nzparser != NULL) {
|
||||
if (nzconfig != NULL)
|
||||
cfg_obj_destroy(nzparser, &nzconfig);
|
||||
cfg_parser_destroy(&nzparser);
|
||||
}
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
static int
|
||||
count_zones(const cfg_obj_t *conf) {
|
||||
const cfg_obj_t *zonelist = NULL;
|
||||
const cfg_listelt_t *element;
|
||||
int n = 0;
|
||||
|
||||
REQUIRE(conf != NULL);
|
||||
|
||||
cfg_map_get(conf, "zone", &zonelist);
|
||||
for (element = cfg_list_first(zonelist);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
n++;
|
||||
|
||||
return (n);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
load_configuration(const char *filename, ns_server_t *server,
|
||||
isc_boolean_t first_time)
|
||||
{
|
||||
cfg_aclconfctx_t aclconfctx;
|
||||
cfg_obj_t *config = NULL, *bindkeys = NULL;
|
||||
cfg_parser_t *conf_parser = NULL, *bindkeys_parser = NULL;
|
||||
const cfg_listelt_t *element;
|
||||
@@ -3763,15 +3898,18 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
ns_cachelist_t cachelist, tmpcachelist;
|
||||
unsigned int maxsocks;
|
||||
ns_cache_t *nsc;
|
||||
struct cfg_context *nzctx;
|
||||
int num_zones = 0;
|
||||
isc_boolean_t exclusive = ISC_FALSE;
|
||||
|
||||
cfg_aclconfctx_init(&aclconfctx);
|
||||
ISC_LIST_INIT(viewlist);
|
||||
ISC_LIST_INIT(builtin_viewlist);
|
||||
ISC_LIST_INIT(cachelist);
|
||||
|
||||
/* Ensure exclusive access to configuration data. */
|
||||
result = isc_task_beginexclusive(server->task);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
/* Create the ACL configuration context */
|
||||
if (ns_g_aclconfctx != NULL)
|
||||
cfg_aclconfctx_detach(&ns_g_aclconfctx);
|
||||
CHECK(cfg_aclconfctx_create(ns_g_mctx, &ns_g_aclconfctx));
|
||||
|
||||
/*
|
||||
* Parse the global default pseudo-config file.
|
||||
@@ -3836,7 +3974,7 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
if (result == ISC_R_SUCCESS)
|
||||
maps[i++] = options;
|
||||
maps[i++] = ns_g_defaults;
|
||||
maps[i++] = NULL;
|
||||
maps[i] = NULL;
|
||||
|
||||
/*
|
||||
* If bind.keys exists, load it. If "dnssec-lookaside auto"
|
||||
@@ -3863,6 +4001,13 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
CHECK(result);
|
||||
}
|
||||
|
||||
/* Ensure exclusive access to configuration data. */
|
||||
if (!exclusive) {
|
||||
result = isc_task_beginexclusive(server->task);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
exclusive = ISC_TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set process limits, which (usually) needs to be done as root.
|
||||
*/
|
||||
@@ -3923,8 +4068,9 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
else
|
||||
isc_quota_soft(&server->recursionquota, 0);
|
||||
|
||||
CHECK(configure_view_acl(NULL, config, "blackhole", NULL, &aclconfctx,
|
||||
ns_g_mctx, &server->blackholeacl));
|
||||
CHECK(configure_view_acl(NULL, config, "blackhole", NULL,
|
||||
ns_g_aclconfctx, ns_g_mctx,
|
||||
&server->blackholeacl));
|
||||
if (server->blackholeacl != NULL)
|
||||
dns_dispatchmgr_setblackhole(ns_g_dispatchmgr,
|
||||
server->blackholeacl);
|
||||
@@ -3934,7 +4080,7 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
server->aclenv.match_mapped = cfg_obj_asboolean(obj);
|
||||
|
||||
CHECKM(ns_statschannels_configure(ns_g_server, config, &aclconfctx),
|
||||
CHECKM(ns_statschannels_configure(ns_g_server, config, ns_g_aclconfctx),
|
||||
"configuring statistics server(s)");
|
||||
|
||||
/*
|
||||
@@ -4062,11 +4208,10 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
if (options != NULL)
|
||||
(void)cfg_map_get(options, "listen-on", &clistenon);
|
||||
if (clistenon != NULL) {
|
||||
result = ns_listenlist_fromconfig(clistenon,
|
||||
config,
|
||||
&aclconfctx,
|
||||
ns_g_mctx,
|
||||
&listenon);
|
||||
/* check return code? */
|
||||
(void)ns_listenlist_fromconfig(clistenon, config,
|
||||
ns_g_aclconfctx,
|
||||
ns_g_mctx, &listenon);
|
||||
} else if (!ns_g_lwresdonly) {
|
||||
/*
|
||||
* Not specified, use default.
|
||||
@@ -4090,11 +4235,10 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
if (options != NULL)
|
||||
(void)cfg_map_get(options, "listen-on-v6", &clistenon);
|
||||
if (clistenon != NULL) {
|
||||
result = ns_listenlist_fromconfig(clistenon,
|
||||
config,
|
||||
&aclconfctx,
|
||||
ns_g_mctx,
|
||||
&listenon);
|
||||
/* check return code? */
|
||||
(void)ns_listenlist_fromconfig(clistenon, config,
|
||||
ns_g_aclconfctx,
|
||||
ns_g_mctx, &listenon);
|
||||
} else if (!ns_g_lwresdonly) {
|
||||
isc_boolean_t enable;
|
||||
/*
|
||||
@@ -4187,25 +4331,87 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
*/
|
||||
(void)configure_session_key(maps, server, ns_g_mctx);
|
||||
|
||||
/*
|
||||
* Configure and freeze all explicit views. Explicit
|
||||
* views that have zones were already created at parsing
|
||||
* time, but views with no zones must be created here.
|
||||
*/
|
||||
views = NULL;
|
||||
(void)cfg_map_get(config, "view", &views);
|
||||
|
||||
/*
|
||||
* Create the views and count all the configured zones in
|
||||
* order to correctly size the zone manager's task table.
|
||||
* (We only count zones for configured views; the built-in
|
||||
* "bind" view can be ignored as it only adds a negligible
|
||||
* number of zones.)
|
||||
*
|
||||
* If we're allowing new zones, we need to be able to find the
|
||||
* new zone file and count those as well. So we setup the new
|
||||
* zone configuration context, but otherwise view configuration
|
||||
* waits until after the zone manager's task list has been sized.
|
||||
*/
|
||||
for (element = cfg_list_first(views);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
{
|
||||
cfg_obj_t *vconfig = cfg_listelt_value(element);
|
||||
const cfg_obj_t *voptions = cfg_tuple_get(vconfig, "options");
|
||||
view = NULL;
|
||||
|
||||
CHECK(create_view(vconfig, &viewlist, &view));
|
||||
INSIST(view != NULL);
|
||||
CHECK(configure_view(view, conf_parser, config, vconfig,
|
||||
&cachelist, bindkeys,
|
||||
ns_g_mctx, &aclconfctx, ISC_TRUE));
|
||||
|
||||
num_zones += count_zones(voptions);
|
||||
CHECK(setup_newzones(view, config, vconfig, conf_parser,
|
||||
ns_g_aclconfctx));
|
||||
|
||||
nzctx = view->new_zone_config;
|
||||
if (nzctx != NULL && nzctx->nzconfig != NULL)
|
||||
num_zones += count_zones(nzctx->nzconfig);
|
||||
|
||||
dns_view_detach(&view);
|
||||
}
|
||||
|
||||
/*
|
||||
* If there were no explicit views then we do the default
|
||||
* view here.
|
||||
*/
|
||||
if (views == NULL) {
|
||||
CHECK(create_view(NULL, &viewlist, &view));
|
||||
INSIST(view != NULL);
|
||||
|
||||
num_zones = count_zones(config);
|
||||
|
||||
CHECK(setup_newzones(view, config, NULL, conf_parser,
|
||||
ns_g_aclconfctx));
|
||||
|
||||
nzctx = view->new_zone_config;
|
||||
if (nzctx != NULL && nzctx->nzconfig != NULL)
|
||||
num_zones += count_zones(nzctx->nzconfig);
|
||||
|
||||
dns_view_detach(&view);
|
||||
}
|
||||
|
||||
/*
|
||||
* Zones have been counted; set the zone manager task pool size.
|
||||
*/
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
||||
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||
"sizing zone task pool based on %d zones", num_zones);
|
||||
CHECK(dns_zonemgr_setsize(ns_g_server->zonemgr, num_zones));
|
||||
|
||||
/*
|
||||
* Configure and freeze all explicit views. Explicit
|
||||
* views that have zones were already created at parsing
|
||||
* time, but views with no zones must be created here.
|
||||
*/
|
||||
for (element = cfg_list_first(views);
|
||||
element != NULL;
|
||||
element = cfg_list_next(element))
|
||||
{
|
||||
cfg_obj_t *vconfig = cfg_listelt_value(element);
|
||||
|
||||
view = NULL;
|
||||
CHECK(find_view(vconfig, &viewlist, &view));
|
||||
CHECK(configure_view(view, config, vconfig,
|
||||
&cachelist, bindkeys, ns_g_mctx,
|
||||
ns_g_aclconfctx, ISC_TRUE));
|
||||
dns_view_freeze(view);
|
||||
dns_view_detach(&view);
|
||||
}
|
||||
@@ -4215,16 +4421,11 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
* were no explicit views.
|
||||
*/
|
||||
if (views == NULL) {
|
||||
/*
|
||||
* No explicit views; there ought to be a default view.
|
||||
* There may already be one created as a side effect
|
||||
* of zone statements, or we may have to create one.
|
||||
* In either case, we need to configure and freeze it.
|
||||
*/
|
||||
CHECK(create_view(NULL, &viewlist, &view));
|
||||
CHECK(configure_view(view, conf_parser, config, NULL,
|
||||
view = NULL;
|
||||
CHECK(find_view(NULL, &viewlist, &view));
|
||||
CHECK(configure_view(view, config, NULL,
|
||||
&cachelist, bindkeys,
|
||||
ns_g_mctx, &aclconfctx, ISC_TRUE));
|
||||
ns_g_mctx, ns_g_aclconfctx, ISC_TRUE));
|
||||
dns_view_freeze(view);
|
||||
dns_view_detach(&view);
|
||||
}
|
||||
@@ -4242,9 +4443,9 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
cfg_obj_t *vconfig = cfg_listelt_value(element);
|
||||
|
||||
CHECK(create_view(vconfig, &builtin_viewlist, &view));
|
||||
CHECK(configure_view(view, conf_parser, config, vconfig,
|
||||
CHECK(configure_view(view, config, vconfig,
|
||||
&cachelist, bindkeys,
|
||||
ns_g_mctx, &aclconfctx, ISC_FALSE));
|
||||
ns_g_mctx, ns_g_aclconfctx, ISC_FALSE));
|
||||
dns_view_freeze(view);
|
||||
dns_view_detach(&view);
|
||||
view = NULL;
|
||||
@@ -4285,7 +4486,7 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
* Bind the control port(s).
|
||||
*/
|
||||
CHECKM(ns_controls_configure(ns_g_server->controls, config,
|
||||
&aclconfctx),
|
||||
ns_g_aclconfctx),
|
||||
"binding control channel(s)");
|
||||
|
||||
/*
|
||||
@@ -4527,8 +4728,6 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
if (v6portset != NULL)
|
||||
isc_portset_destroy(ns_g_mctx, &v6portset);
|
||||
|
||||
cfg_aclconfctx_clear(&aclconfctx);
|
||||
|
||||
if (conf_parser != NULL) {
|
||||
if (config != NULL)
|
||||
cfg_obj_destroy(conf_parser, &config);
|
||||
@@ -4576,7 +4775,8 @@ load_configuration(const char *filename, ns_server_t *server,
|
||||
adjust_interfaces(server, ns_g_mctx);
|
||||
|
||||
/* Relinquish exclusive access to configuration data. */
|
||||
isc_task_endexclusive(server->task);
|
||||
if (exclusive)
|
||||
isc_task_endexclusive(server->task);
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(1), "load_configuration: %s",
|
||||
@@ -4735,6 +4935,9 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
|
||||
end_reserved_dispatches(server, ISC_TRUE);
|
||||
cleanup_session_key(server, server->mctx);
|
||||
|
||||
if (ns_g_aclconfctx != NULL)
|
||||
cfg_aclconfctx_detach(&ns_g_aclconfctx);
|
||||
|
||||
cfg_obj_destroy(ns_g_parser, &ns_g_config);
|
||||
cfg_parser_destroy(&ns_g_parser);
|
||||
|
||||
@@ -4786,8 +4989,8 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
|
||||
void
|
||||
ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
|
||||
isc_result_t result;
|
||||
|
||||
ns_server_t *server = isc_mem_get(mctx, sizeof(*server));
|
||||
|
||||
if (server == NULL)
|
||||
fatal("allocating server object", ISC_R_NOMEMORY);
|
||||
|
||||
@@ -4860,6 +5063,8 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
|
||||
CHECKFATAL(dns_zonemgr_create(ns_g_mctx, ns_g_taskmgr, ns_g_timermgr,
|
||||
ns_g_socketmgr, &server->zonemgr),
|
||||
"dns_zonemgr_create");
|
||||
CHECKFATAL(dns_zonemgr_setsize(server->zonemgr, 1000),
|
||||
"dns_zonemgr_setsize");
|
||||
|
||||
server->statsfile = isc_mem_strdup(server->mctx, "named.stats");
|
||||
CHECKFATAL(server->statsfile == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS,
|
||||
@@ -4969,7 +5174,8 @@ ns_server_destroy(ns_server_t **serverp) {
|
||||
if (server->server_id != NULL)
|
||||
isc_mem_free(server->mctx, server->server_id);
|
||||
|
||||
dns_zonemgr_detach(&server->zonemgr);
|
||||
if (server->zonemgr != NULL)
|
||||
dns_zonemgr_detach(&server->zonemgr);
|
||||
|
||||
if (server->tkeyctx != NULL)
|
||||
dns_tkeyctx_destroy(&server->tkeyctx);
|
||||
@@ -5533,7 +5739,6 @@ ns_server_dumpstats(ns_server_t *server) {
|
||||
"could not open statistics dump file", server->statsfile);
|
||||
|
||||
result = ns_stats_dump(server, fp);
|
||||
CHECK(result);
|
||||
|
||||
cleanup:
|
||||
if (fp != NULL)
|
||||
@@ -5721,6 +5926,7 @@ dumpdone(void *arg, isc_result_t result) {
|
||||
fprintf(dctx->fp, "; %s\n",
|
||||
dns_result_totext(result));
|
||||
result = ISC_R_SUCCESS;
|
||||
POST(result);
|
||||
goto nextzone;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
@@ -5846,28 +6052,29 @@ ns_server_dumpsecroots(ns_server_t *server, char *args) {
|
||||
isc_time_formattimestamp(&now, tbuf, sizeof(tbuf));
|
||||
fprintf(fp, "%s\n", tbuf);
|
||||
|
||||
nextview:
|
||||
for (view = ISC_LIST_HEAD(server->viewlist);
|
||||
view != NULL;
|
||||
view = ISC_LIST_NEXT(view, link))
|
||||
{
|
||||
if (ptr != NULL && strcmp(view->name, ptr) != 0)
|
||||
continue;
|
||||
if (secroots != NULL)
|
||||
dns_keytable_detach(&secroots);
|
||||
result = dns_view_getsecroots(view, &secroots);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
result = ISC_R_SUCCESS;
|
||||
continue;
|
||||
do {
|
||||
for (view = ISC_LIST_HEAD(server->viewlist);
|
||||
view != NULL;
|
||||
view = ISC_LIST_NEXT(view, link))
|
||||
{
|
||||
if (ptr != NULL && strcmp(view->name, ptr) != 0)
|
||||
continue;
|
||||
if (secroots != NULL)
|
||||
dns_keytable_detach(&secroots);
|
||||
result = dns_view_getsecroots(view, &secroots);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
result = ISC_R_SUCCESS;
|
||||
continue;
|
||||
}
|
||||
fprintf(fp, "\n Start view %s\n\n", view->name);
|
||||
result = dns_keytable_dump(secroots, fp);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fprintf(fp, " dumpsecroots failed: %s\n",
|
||||
isc_result_totext(result));
|
||||
}
|
||||
fprintf(fp, "\n Start view %s\n\n", view->name);
|
||||
CHECK(dns_keytable_dump(secroots, fp));
|
||||
}
|
||||
if (ptr != NULL) {
|
||||
ptr = next_token(&args, " \t");
|
||||
if (ptr != NULL)
|
||||
goto nextview;
|
||||
}
|
||||
ptr = next_token(&args, " \t");
|
||||
} while (ptr != NULL);
|
||||
|
||||
cleanup:
|
||||
if (secroots != NULL)
|
||||
@@ -6772,13 +6979,14 @@ ns_server_add_zone(ns_server_t *server, char *args) {
|
||||
CHECK(isc_stdio_open(view->new_zone_file, "a", &fp));
|
||||
|
||||
/* Mark view unfrozen so that zone can be added */
|
||||
isc_task_beginexclusive(server->task);
|
||||
dns_view_thaw(view);
|
||||
result = configure_zone(cfg->config, parms, vconfig,
|
||||
server->mctx, view, &cfg->actx, ISC_FALSE);
|
||||
server->mctx, view, cfg->actx, ISC_FALSE);
|
||||
dns_view_freeze(view);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_task_endexclusive(server->task);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Is it there yet? */
|
||||
CHECK(dns_zt_find(view->zonetable, &dnsname, 0, NULL, &zone));
|
||||
@@ -7023,23 +7231,27 @@ ns_server_del_zone(ns_server_t *server, char *args) {
|
||||
}
|
||||
|
||||
static void
|
||||
cfgctx_destroy(void **cfgp) {
|
||||
newzone_cfgctx_destroy(void **cfgp) {
|
||||
struct cfg_context *cfg;
|
||||
isc_mem_t *mctx;
|
||||
|
||||
REQUIRE(cfgp != NULL && *cfgp != NULL);
|
||||
|
||||
cfg = *cfgp;
|
||||
mctx = cfg->mctx;
|
||||
cfg->mctx = NULL;
|
||||
|
||||
if (cfg->actx != NULL)
|
||||
cfg_aclconfctx_detach(&cfg->actx);
|
||||
|
||||
if (cfg->parser != NULL) {
|
||||
if (cfg->config != NULL)
|
||||
cfg_obj_destroy(cfg->parser, &cfg->config);
|
||||
cfg_parser_destroy(&cfg->parser);
|
||||
}
|
||||
cfg_aclconfctx_clear(&cfg->actx);
|
||||
if (cfg->nzparser != NULL) {
|
||||
if (cfg->nzconfig != NULL)
|
||||
cfg_obj_destroy(cfg->nzparser, &cfg->nzconfig);
|
||||
cfg_parser_destroy(&cfg->nzparser);
|
||||
}
|
||||
|
||||
isc_mem_put(mctx, cfg, sizeof(*cfg));
|
||||
isc_mem_detach(&mctx);
|
||||
isc_mem_putanddetach(&cfg->mctx, cfg, sizeof(*cfg));
|
||||
*cfgp = NULL;
|
||||
}
|
||||
|
||||
@@ -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: statschannel.c,v 1.24.40.2 2010/02/04 23:48:30 tbox Exp $ */
|
||||
/* $Id: statschannel.c,v 1.24.40.4 2011/03/12 04:58:24 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -638,7 +638,7 @@ rdatasetstats_dump(dns_rdatastatstype_t type, isc_uint64_t val, void *arg) {
|
||||
|
||||
static void
|
||||
opcodestat_dump(dns_opcode_t code, isc_uint64_t val, void *arg) {
|
||||
FILE *fp = arg;
|
||||
FILE *fp;
|
||||
isc_buffer_t b;
|
||||
char codebuf[64];
|
||||
stats_dumparg_t *dumparg = arg;
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Makefile
|
||||
*.lo
|
||||
.libs
|
||||
+7
-4
@@ -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) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.101 2009/08/13 07:04:38 marka Exp $ */
|
||||
/* $Id: os.c,v 1.101.110.3 2011/03/02 00:05:11 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -790,6 +790,9 @@ ns_os_openfile(const char *filename, mode_t mode, isc_boolean_t switch_user) {
|
||||
free(f);
|
||||
|
||||
if (switch_user && runas_pw != NULL) {
|
||||
#ifndef HAVE_LINUXTHREADS
|
||||
gid_t oldgid = getgid();
|
||||
#endif
|
||||
/* Set UID/GID to the one we'll be running with eventually */
|
||||
setperms(runas_pw->pw_uid, runas_pw->pw_gid);
|
||||
|
||||
@@ -797,7 +800,7 @@ ns_os_openfile(const char *filename, mode_t mode, isc_boolean_t switch_user) {
|
||||
|
||||
#ifndef HAVE_LINUXTHREADS
|
||||
/* Restore UID/GID to root */
|
||||
setperms(0, 0);
|
||||
setperms(0, oldgid);
|
||||
#endif /* HAVE_LINUXTHREADS */
|
||||
|
||||
if (fd == -1) {
|
||||
@@ -950,7 +953,7 @@ ns_os_shutdownmsg(char *command, isc_buffer_t *text) {
|
||||
isc_buffer_availablelength(text),
|
||||
"pid: %ld", (long)pid);
|
||||
/* Only send a message if it is complete. */
|
||||
if (n < isc_buffer_availablelength(text))
|
||||
if (n > 0 && n < isc_buffer_availablelength(text))
|
||||
isc_buffer_add(text, n);
|
||||
}
|
||||
|
||||
|
||||
+12
-9
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: update.c,v 1.176.4.11 2011/02/03 12:17:22 tbox Exp $ */
|
||||
/* $Id: update.c,v 1.176.4.16 2011/11/03 02:56:17 each Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -1501,8 +1501,6 @@ check_soa_increment(dns_db_t *db, dns_dbversion_t *ver,
|
||||
* Incremental updating of NSECs and RRSIGs.
|
||||
*/
|
||||
|
||||
#define MAXZONEKEYS 32 /*%< Maximum number of zone keys supported. */
|
||||
|
||||
/*%
|
||||
* We abuse the dns_diff_t type to represent a set of domain names
|
||||
* affected by the update.
|
||||
@@ -1687,7 +1685,7 @@ next_active(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_dbiterator_t *dbit = NULL;
|
||||
isc_boolean_t has_nsec;
|
||||
isc_boolean_t has_nsec = ISC_FALSE;
|
||||
unsigned int wraps = 0;
|
||||
isc_boolean_t secure = dns_db_issecure(db);
|
||||
|
||||
@@ -2126,7 +2124,7 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
|
||||
dns_diff_t nsec_diff;
|
||||
dns_diff_t nsec_mindiff;
|
||||
isc_boolean_t flag, build_nsec, build_nsec3;
|
||||
dst_key_t *zone_keys[MAXZONEKEYS];
|
||||
dst_key_t *zone_keys[DNS_MAXZONEKEYS];
|
||||
unsigned int nkeys = 0;
|
||||
unsigned int i;
|
||||
isc_stdtime_t now, inception, expire;
|
||||
@@ -2149,7 +2147,7 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
|
||||
dns_diff_init(client->mctx, &nsec_mindiff);
|
||||
|
||||
result = find_zone_keys(zone, db, newver, client->mctx,
|
||||
MAXZONEKEYS, zone_keys, &nkeys);
|
||||
DNS_MAXZONEKEYS, zone_keys, &nkeys);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
update_log(client, zone, ISC_LOG_ERROR,
|
||||
"could not get zone keys for secure dynamic update");
|
||||
@@ -2390,7 +2388,7 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
|
||||
name, diff));
|
||||
}
|
||||
CHECK(add_exposed_sigs(client, zone, db, newver, name,
|
||||
cut, diff, zone_keys, nkeys,
|
||||
cut, &sig_diff, zone_keys, nkeys,
|
||||
inception, expire, check_ksk,
|
||||
keyset_kskonly));
|
||||
}
|
||||
@@ -2549,7 +2547,7 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
|
||||
privatetype, &nsec_diff));
|
||||
} else {
|
||||
CHECK(add_exposed_sigs(client, zone, db, newver, name,
|
||||
cut, diff, zone_keys, nkeys,
|
||||
cut, &sig_diff, zone_keys, nkeys,
|
||||
inception, expire, check_ksk,
|
||||
keyset_kskonly));
|
||||
CHECK(dns_nsec3_addnsec3sx(db, newver, name, nsecttl,
|
||||
@@ -3728,7 +3726,6 @@ update_action(isc_task_t *task, isc_event_t *event) {
|
||||
* Check Requestor's Permissions. It seems a bit silly to do this
|
||||
* only after prerequisite testing, but that is what RFC2136 says.
|
||||
*/
|
||||
result = ISC_R_SUCCESS;
|
||||
if (ssutable == NULL)
|
||||
CHECK(checkupdateacl(client, dns_zone_getupdateacl(zone),
|
||||
"update", zonename, ISC_FALSE, ISC_FALSE));
|
||||
@@ -4461,6 +4458,12 @@ send_forward_event(ns_client_t *client, dns_zone_t *zone) {
|
||||
isc_task_t *zonetask = NULL;
|
||||
ns_client_t *evclient;
|
||||
|
||||
/*
|
||||
* This may take some time so replace this client.
|
||||
*/
|
||||
if (!client->mortal && (client->attributes & NS_CLIENTATTR_TCP) == 0)
|
||||
CHECK(ns_client_replace(client));
|
||||
|
||||
event = (update_event_t *)
|
||||
isc_event_allocate(client->mctx, client, DNS_EVENT_UPDATE,
|
||||
forward_action, NULL, sizeof(*event));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: os.c,v 1.37 2009/08/05 18:43:37 each Exp $ */
|
||||
/* $Id: os.c,v 1.37.118.2 2012/02/06 23:45:34 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
#include <stdarg.h>
|
||||
@@ -218,6 +218,7 @@ ns_os_openfile(const char *filename, int mode, isc_boolean_t switch_user) {
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
ns_main_earlywarning("could not open file '%s': %s",
|
||||
filename, strbuf);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
fp = fdopen(fd, "w");
|
||||
|
||||
+27
-9
@@ -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: xfrout.c,v 1.136.132.2 2010/05/27 23:49:54 tbox Exp $ */
|
||||
/* $Id: xfrout.c,v 1.136.132.5 2011/12/01 01:03:07 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -1084,9 +1084,9 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
|
||||
|
||||
CHECK(xfr->stream->methods->first(xfr->stream));
|
||||
|
||||
if (xfr->tsigkey != NULL) {
|
||||
if (xfr->tsigkey != NULL)
|
||||
dns_name_format(&xfr->tsigkey->name, keyname, sizeof(keyname));
|
||||
} else
|
||||
else
|
||||
keyname[0] = '\0';
|
||||
if (is_poll)
|
||||
xfrout_log1(client, question_name, question_class,
|
||||
@@ -1156,7 +1156,8 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id,
|
||||
xfr = isc_mem_get(mctx, sizeof(*xfr));
|
||||
if (xfr == NULL)
|
||||
return (ISC_R_NOMEMORY);
|
||||
xfr->mctx = mctx;
|
||||
xfr->mctx = NULL;
|
||||
isc_mem_attach(mctx, &xfr->mctx);
|
||||
xfr->client = NULL;
|
||||
ns_client_attach(client, &xfr->client);
|
||||
xfr->id = id;
|
||||
@@ -1305,6 +1306,13 @@ sendstream(xfrout_ctx_t *xfr) {
|
||||
if (xfr->lasttsig != NULL)
|
||||
isc_buffer_free(&xfr->lasttsig);
|
||||
|
||||
/*
|
||||
* Account for reserved space.
|
||||
*/
|
||||
if (xfr->tsigkey != NULL)
|
||||
INSIST(msg->reserved != 0U);
|
||||
isc_buffer_add(&xfr->buf, msg->reserved);
|
||||
|
||||
/*
|
||||
* Include a question section in the first message only.
|
||||
* BIND 8.2.1 will not recognize an IXFR if it does not
|
||||
@@ -1343,9 +1351,13 @@ sendstream(xfrout_ctx_t *xfr) {
|
||||
ISC_LIST_APPEND(qname->list, qrdataset, link);
|
||||
|
||||
dns_message_addname(msg, qname, DNS_SECTION_QUESTION);
|
||||
}
|
||||
else
|
||||
} else {
|
||||
/*
|
||||
* Reserve space for the 12-byte message header
|
||||
*/
|
||||
isc_buffer_add(&xfr->buf, 12);
|
||||
msg->tcp_continuation = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1530,6 +1542,7 @@ sendstream(xfrout_ctx_t *xfr) {
|
||||
static void
|
||||
xfrout_ctx_destroy(xfrout_ctx_t **xfrp) {
|
||||
xfrout_ctx_t *xfr = *xfrp;
|
||||
ns_client_t *client = NULL;
|
||||
|
||||
INSIST(xfr->sends == 0);
|
||||
|
||||
@@ -1553,9 +1566,14 @@ xfrout_ctx_destroy(xfrout_ctx_t **xfrp) {
|
||||
if (xfr->db != NULL)
|
||||
dns_db_detach(&xfr->db);
|
||||
|
||||
/*
|
||||
* We want to detch the client after we have released the memory
|
||||
* context as ns_client_detach checks the memory reference count.
|
||||
*/
|
||||
ns_client_attach(xfr->client, &client);
|
||||
ns_client_detach(&xfr->client);
|
||||
|
||||
isc_mem_put(xfr->mctx, xfr, sizeof(*xfr));
|
||||
isc_mem_putanddetach(&xfr->mctx, xfr, sizeof(*xfr));
|
||||
ns_client_detach(&client);
|
||||
|
||||
*xfrp = NULL;
|
||||
}
|
||||
|
||||
+61
-56
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zoneconf.c,v 1.161.4.4 2010/09/15 03:36:41 marka Exp $ */
|
||||
/* $Id: zoneconf.c,v 1.161.4.12 2012/01/31 23:46:14 tbox Exp $ */
|
||||
|
||||
/*% */
|
||||
|
||||
@@ -121,7 +121,7 @@ configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
|
||||
/* First check to see if ACL is defined within the zone */
|
||||
if (zconfig != NULL) {
|
||||
maps[0] = cfg_tuple_get(zconfig, "options");
|
||||
ns_config_get(maps, aclname, &aclobj);
|
||||
(void)ns_config_get(maps, aclname, &aclobj);
|
||||
if (aclobj != NULL) {
|
||||
aclp = NULL;
|
||||
goto parse_acl;
|
||||
@@ -149,7 +149,7 @@ configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
|
||||
maps[i++] = ns_g_defaults;
|
||||
maps[i] = NULL;
|
||||
|
||||
result = ns_config_get(maps, aclname, &aclobj);
|
||||
(void)ns_config_get(maps, aclname, &aclobj);
|
||||
if (aclobj == NULL) {
|
||||
(*clearzacl)(zone);
|
||||
return (ISC_R_SUCCESS);
|
||||
@@ -389,7 +389,7 @@ zonetype_fromconfig(const cfg_obj_t *map) {
|
||||
isc_result_t result;
|
||||
|
||||
result = cfg_map_get(map, "type", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
return (ns_config_getzonetype(obj));
|
||||
}
|
||||
|
||||
@@ -453,7 +453,7 @@ checknames(dns_zonetype_t ztype, const cfg_obj_t **maps,
|
||||
INSIST(0);
|
||||
}
|
||||
result = ns_checknames_get(maps, zone, objp);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && objp != NULL && *objp != NULL);
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
@@ -507,7 +507,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
maps[i++] = options;
|
||||
}
|
||||
maps[i++] = ns_g_defaults;
|
||||
maps[i++] = NULL;
|
||||
maps[i] = NULL;
|
||||
|
||||
if (vconfig != NULL)
|
||||
RETERR(ns_config_getclass(cfg_tuple_get(vconfig, "class"),
|
||||
@@ -609,7 +609,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dialup", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (cfg_obj_isboolean(obj)) {
|
||||
if (cfg_obj_asboolean(obj))
|
||||
dialup = dns_dialuptype_yes;
|
||||
@@ -632,7 +632,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "zone-statistics", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
zonestats_on = cfg_obj_asboolean(obj);
|
||||
zoneqrystats = NULL;
|
||||
if (zonestats_on) {
|
||||
@@ -651,7 +651,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
if (ztype != dns_zone_stub) {
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "notify", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (cfg_obj_isboolean(obj)) {
|
||||
if (cfg_obj_asboolean(obj))
|
||||
notifytype = dns_notifytype_yes;
|
||||
@@ -687,19 +687,19 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "notify-source", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setnotifysrc4(zone, cfg_obj_assockaddr(obj)));
|
||||
ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "notify-source-v6", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setnotifysrc6(zone, cfg_obj_assockaddr(obj)));
|
||||
ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "notify-to-soa", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_NOTIFYTOSOA,
|
||||
cfg_obj_asboolean(obj));
|
||||
|
||||
@@ -712,17 +712,17 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-transfer-time-out", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setmaxxfrout(zone, cfg_obj_asuint32(obj) * 60);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-transfer-idle-out", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setidleout(zone, cfg_obj_asuint32(obj) * 60);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-journal-size", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setjournalsize(zone, -1);
|
||||
if (cfg_obj_isstring(obj)) {
|
||||
const char *str = cfg_obj_asstring(obj);
|
||||
@@ -746,13 +746,13 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "ixfr-from-differences", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (cfg_obj_isboolean(obj))
|
||||
ixfrdiff = cfg_obj_asboolean(obj);
|
||||
else if (strcasecmp(cfg_obj_asstring(obj), "master") &&
|
||||
else if (!strcasecmp(cfg_obj_asstring(obj), "master") &&
|
||||
ztype == dns_zone_master)
|
||||
ixfrdiff = ISC_TRUE;
|
||||
else if (strcasecmp(cfg_obj_asstring(obj), "slave") &&
|
||||
else if (!strcasecmp(cfg_obj_asstring(obj), "slave") &&
|
||||
ztype == dns_zone_slave)
|
||||
ixfrdiff = ISC_TRUE;
|
||||
else
|
||||
@@ -775,23 +775,23 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "notify-delay", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setnotifydelay(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-sibling", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_CHECKSIBLING,
|
||||
cfg_obj_asboolean(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "zero-no-soa-ttl", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setzeronosoattl(zone, cfg_obj_asboolean(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "nsec3-test-zone", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_NSEC3TESTZONE,
|
||||
cfg_obj_asboolean(obj));
|
||||
}
|
||||
@@ -820,7 +820,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "sig-validity-interval", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
{
|
||||
const cfg_obj_t *validity, *resign;
|
||||
|
||||
@@ -851,28 +851,28 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "sig-signing-signatures", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setsignatures(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "sig-signing-nodes", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setnodes(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "sig-signing-type", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setprivatetype(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "update-check-ksk", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_UPDATECHECKKSK,
|
||||
cfg_obj_asboolean(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-dnskey-kskonly", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_DNSKEYKSKONLY,
|
||||
cfg_obj_asboolean(obj));
|
||||
} else if (ztype == dns_zone_slave) {
|
||||
@@ -887,7 +887,6 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
*/
|
||||
if (ztype == dns_zone_master) {
|
||||
isc_boolean_t allow = ISC_FALSE, maint = ISC_FALSE;
|
||||
isc_boolean_t create = ISC_FALSE;
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-wildcard", &obj);
|
||||
@@ -899,7 +898,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-dup-records", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
fail = ISC_FALSE;
|
||||
check = ISC_TRUE;
|
||||
@@ -914,7 +913,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-mx", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
fail = ISC_FALSE;
|
||||
check = ISC_TRUE;
|
||||
@@ -929,13 +928,13 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-integrity", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_CHECKINTEGRITY,
|
||||
cfg_obj_asboolean(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-mx-cname", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
warn = ISC_TRUE;
|
||||
ignore = ISC_FALSE;
|
||||
@@ -950,7 +949,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "check-srv-cname", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
|
||||
warn = ISC_TRUE;
|
||||
ignore = ISC_FALSE;
|
||||
@@ -965,7 +964,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "dnssec-secure-to-insecure", &obj);
|
||||
INSIST(obj != NULL);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_SECURETOINSECURE,
|
||||
cfg_obj_asboolean(obj));
|
||||
|
||||
@@ -977,15 +976,12 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
allow = ISC_TRUE;
|
||||
else if (strcasecmp(arg, "maintain") == 0)
|
||||
allow = maint = ISC_TRUE;
|
||||
else if (strcasecmp(arg, "create") == 0)
|
||||
allow = maint = create = ISC_TRUE;
|
||||
else if (strcasecmp(arg, "off") == 0)
|
||||
;
|
||||
else
|
||||
INSIST(0);
|
||||
dns_zone_setkeyopt(zone, DNS_ZONEKEY_ALLOW, allow);
|
||||
dns_zone_setkeyopt(zone, DNS_ZONEKEY_MAINTAIN, maint);
|
||||
dns_zone_setkeyopt(zone, DNS_ZONEKEY_CREATE, create);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -997,7 +993,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
case dns_zone_stub:
|
||||
count = 0;
|
||||
obj = NULL;
|
||||
result = cfg_map_get(zoptions, "masters", &obj);
|
||||
(void)cfg_map_get(zoptions, "masters", &obj);
|
||||
if (obj != NULL) {
|
||||
addrs = NULL;
|
||||
keynames = NULL;
|
||||
@@ -1006,8 +1002,11 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
&count));
|
||||
result = dns_zone_setmasterswithkeys(zone, addrs,
|
||||
keynames, count);
|
||||
ns_config_putipandkeylist(mctx, &addrs, &keynames,
|
||||
count);
|
||||
if (count != 0)
|
||||
ns_config_putipandkeylist(mctx, &addrs,
|
||||
&keynames, count);
|
||||
else
|
||||
INSIST(addrs == NULL && keynames == NULL);
|
||||
} else
|
||||
result = dns_zone_setmasters(zone, NULL, 0);
|
||||
RETERR(result);
|
||||
@@ -1016,61 +1015,61 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
if (count > 1) {
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "multi-master", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
multi = cfg_obj_asboolean(obj);
|
||||
}
|
||||
dns_zone_setoption(zone, DNS_ZONEOPT_MULTIMASTER, multi);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-transfer-time-in", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setmaxxfrin(zone, cfg_obj_asuint32(obj) * 60);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-transfer-idle-in", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setidlein(zone, cfg_obj_asuint32(obj) * 60);
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-refresh-time", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setmaxrefreshtime(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "min-refresh-time", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setminrefreshtime(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "max-retry-time", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setmaxretrytime(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "min-retry-time", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setminretrytime(zone, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "transfer-source", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setxfrsource4(zone, cfg_obj_assockaddr(obj)));
|
||||
ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "transfer-source-v6", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setxfrsource6(zone, cfg_obj_assockaddr(obj)));
|
||||
ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "alt-transfer-source", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setaltxfrsource4(zone, cfg_obj_assockaddr(obj)));
|
||||
|
||||
obj = NULL;
|
||||
result = ns_config_get(maps, "alt-transfer-source-v6", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
RETERR(dns_zone_setaltxfrsource6(zone, cfg_obj_assockaddr(obj)));
|
||||
|
||||
obj = NULL;
|
||||
@@ -1111,8 +1110,11 @@ ns_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig) {
|
||||
|
||||
zoptions = cfg_tuple_get(zconfig, "options");
|
||||
|
||||
if (zonetype_fromconfig(zoptions) != dns_zone_gettype(zone))
|
||||
if (zonetype_fromconfig(zoptions) != dns_zone_gettype(zone)) {
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1),
|
||||
"not reusable: type mismatch");
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
obj = NULL;
|
||||
(void)cfg_map_get(zoptions, "file", &obj);
|
||||
@@ -1123,8 +1125,11 @@ ns_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig) {
|
||||
zfilename = dns_zone_getfile(zone);
|
||||
if (!((cfilename == NULL && zfilename == NULL) ||
|
||||
(cfilename != NULL && zfilename != NULL &&
|
||||
strcmp(cfilename, zfilename) == 0)))
|
||||
return (ISC_FALSE);
|
||||
strcmp(cfilename, zfilename) == 0))) {
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1),
|
||||
"not reusable: filename mismatch");
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
Makefile
|
||||
nsupdate
|
||||
*.lo
|
||||
.libs
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: nsupdate.1,v 1.11.42.2 2010/07/10 02:41:30 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+10
-3
@@ -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: nsupdate.c,v 1.173.66.12 2010/12/09 04:31:30 tbox Exp $ */
|
||||
/* $Id: nsupdate.c,v 1.173.66.16 2011/11/03 04:30:37 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -694,8 +694,10 @@ setup_keyfile(isc_mem_t *mctx, isc_log_t *lctx) {
|
||||
keyfile, isc_result_totext(result));
|
||||
return;
|
||||
}
|
||||
} else
|
||||
} else {
|
||||
dst_key_attach(dstkey, &sig0key);
|
||||
dst_key_free(&dstkey);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2259,6 +2261,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
|
||||
}
|
||||
check_result(result, "dns_request_getresponse");
|
||||
section = DNS_SECTION_ANSWER;
|
||||
POST(section);
|
||||
if (debugging)
|
||||
show_message(stderr, rcvmsg, "Reply from SOA query:");
|
||||
|
||||
@@ -2276,6 +2279,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
|
||||
dns_message_destroy(&soaquery);
|
||||
ddebug("Out of recvsoa");
|
||||
done_update();
|
||||
seenerror = ISC_TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2817,6 +2821,9 @@ cleanup(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sig0key != NULL)
|
||||
dst_key_free(&sig0key);
|
||||
|
||||
ddebug("Shutting down task manager");
|
||||
isc_taskmgr_destroy(&taskmgr);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: nsupdate.html,v 1.48.42.2 2010/07/10 02:41:30 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">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [filename]</p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543457"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543458"></a><h2>DESCRIPTION</h2>
|
||||
<p><span><strong class="command">nsupdate</strong></span>
|
||||
is used to submit Dynamic DNS Update requests as defined in RFC 2136
|
||||
to a name server.
|
||||
@@ -192,7 +192,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543788"></a><h2>INPUT FORMAT</h2>
|
||||
<a name="id2543789"></a><h2>INPUT FORMAT</h2>
|
||||
<p><span><strong class="command">nsupdate</strong></span>
|
||||
reads input from
|
||||
<em class="parameter"><code>filename</code></em>
|
||||
@@ -480,7 +480,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544700"></a><h2>EXAMPLES</h2>
|
||||
<a name="id2544701"></a><h2>EXAMPLES</h2>
|
||||
<p>
|
||||
The examples below show how
|
||||
<span><strong class="command">nsupdate</strong></span>
|
||||
@@ -534,7 +534,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544744"></a><h2>FILES</h2>
|
||||
<a name="id2544745"></a><h2>FILES</h2>
|
||||
<div class="variablelist"><dl>
|
||||
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
|
||||
<dd><p>
|
||||
@@ -557,7 +557,7 @@
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2544827"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2544828"></a><h2>SEE ALSO</h2>
|
||||
<p>
|
||||
<em class="citetitle">RFC 2136</em>,
|
||||
<em class="citetitle">RFC 3007</em>,
|
||||
@@ -572,7 +572,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2542154"></a><h2>BUGS</h2>
|
||||
<a name="id2542155"></a><h2>BUGS</h2>
|
||||
<p>
|
||||
The TSIG key is redundantly stored in two separate files.
|
||||
This is a consequence of nsupdate using the DST library
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
Makefile
|
||||
pkcs11-destroy
|
||||
pkcs11-keygen
|
||||
pkcs11-list
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,3 @@
|
||||
Makefile
|
||||
.libs
|
||||
*.la
|
||||
*.lo
|
||||
rndc
|
||||
rndc-confgen
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: rndc.8,v 1.43 2009/07/11 01:12:46 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
+6
-2
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: rndc.c,v 1.126.66.7 2011/02/03 12:17:22 tbox Exp $ */
|
||||
/* $Id: rndc.c,v 1.126.66.8 2011/11/03 22:06:43 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -142,13 +142,17 @@ command is one of the following:\n\
|
||||
Flush the given name from the server's cache(s)\n\
|
||||
status Display status of the server.\n\
|
||||
recursing Dump the queries that are currently recursing (named.recursing)\n\
|
||||
tsig-list List all currently active TSIG keys, including both statically\n\
|
||||
configured and TKEY-negotiated keys.\n\
|
||||
tsig-delete keyname [view] \n\
|
||||
Delete a TKEY-negotiated TSIG key.\n\
|
||||
validation newstate [view]\n\
|
||||
Enable / disable DNSSEC validation.\n\
|
||||
*restart Restart the server.\n\
|
||||
addzone [\"file\"] zone [class [view]] { zone-options }\n\
|
||||
Add zone to given view. Requires new-zone-file option.\n\
|
||||
delzone [\"file\"] zone [class [view]]\n\
|
||||
Removes zone from given view. Requires new-zone-file option.\n\
|
||||
*restart Restart the server.\n\
|
||||
\n\
|
||||
* == not yet implemented\n\
|
||||
Version: %s\n",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.\" $Id: rndc.conf.5,v 1.41 2009/07/11 01:12:46 tbox Exp $
|
||||
.\" $Id$
|
||||
.\"
|
||||
.hy 0
|
||||
.ad l
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
<!-- $Id: rndc.conf.html,v 1.32 2009/07/11 01:12:46 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.conf</code> </p></div>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543352"></a><h2>DESCRIPTION</h2>
|
||||
<a name="id2543354"></a><h2>DESCRIPTION</h2>
|
||||
<p><code class="filename">rndc.conf</code> is the configuration file
|
||||
for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control
|
||||
utility. This file has a similar structure and syntax to
|
||||
@@ -117,7 +117,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543500"></a><h2>EXAMPLE</h2>
|
||||
<a name="id2543502"></a><h2>EXAMPLE</h2>
|
||||
<pre class="programlisting">
|
||||
options {
|
||||
default-server localhost;
|
||||
@@ -191,7 +191,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543592"></a><h2>NAME SERVER CONFIGURATION</h2>
|
||||
<a name="id2543594"></a><h2>NAME SERVER CONFIGURATION</h2>
|
||||
<p>
|
||||
The name server must be configured to accept rndc connections and
|
||||
to recognize the key specified in the <code class="filename">rndc.conf</code>
|
||||
@@ -201,7 +201,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543613"></a><h2>SEE ALSO</h2>
|
||||
<a name="id2543616"></a><h2>SEE ALSO</h2>
|
||||
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
|
||||
<span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>,
|
||||
@@ -209,7 +209,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="refsect1" lang="en">
|
||||
<a name="id2543652"></a><h2>AUTHOR</h2>
|
||||
<a name="id2543654"></a><h2>AUTHOR</h2>
|
||||
<p><span class="corpauthor">Internet Systems Consortium</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user