config.c revision 0eeaaaf0ae1ae2856b94886fa80f94c21e6f1bfd
279c6ec074be17dce62dd1b2c6ed7c2cc56a7b78David Lawrence * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý * Copyright (C) 2001-2003 Internet Software Consortium.
bd5040035c8bb3fe4acdaf6a1f26423b58302188Mark Andrews * Permission to use, copy, modify, and/or distribute this software for any
bd5040035c8bb3fe4acdaf6a1f26423b58302188Mark Andrews * purpose with or without fee is hereby granted, provided that the above
bd5040035c8bb3fe4acdaf6a1f26423b58302188Mark Andrews * copyright notice and this permission notice appear in all copies.
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
279c6ec074be17dce62dd1b2c6ed7c2cc56a7b78David Lawrence * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
279c6ec074be17dce62dd1b2c6ed7c2cc56a7b78David Lawrence * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
279c6ec074be17dce62dd1b2c6ed7c2cc56a7b78David Lawrence * PERFORMANCE OF THIS SOFTWARE.
279c6ec074be17dce62dd1b2c6ed7c2cc56a7b78David Lawrence/* $Id: config.c,v 1.90 2008/09/04 05:56:42 marka Exp $ */
baf7c7e589f313f10b29d9119811fc4d36c2e4bcMark Andrews/*% default configuration */
a30e7fc23415fd238d067a8a871607bca36068baMichael Graff# blackhole {none;};\n"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein" coresize default;\n\
6286983c506433d642b23e64845c50be30f2a7f6Mark Andrews datasize default;\n\
6286983c506433d642b23e64845c50be30f2a7f6Mark Andrews files unlimited;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stacksize default;\n"
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff" deallocate-on-exit true;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# directory <none>\n\
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff dump-file \"named_dump.db\";\n\
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff fake-iquery no;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has-old-clients false;\n\
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian Wellington heartbeat-interval 60;\n\
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian Wellington host-statistics no;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interface-interval 60;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein listen-on {any;};\n\
0eb2572d79822d02ea05448ce4e5f1759c73d171Michael Graff listen-on-v6 {none;};\n\
0eb2572d79822d02ea05448ce4e5f1759c73d171Michael Graff match-mapped-addresses no;\n\
0eb2572d79822d02ea05448ce4e5f1759c73d171Michael Graff memstatistics-file \"named.memstats\";\n\
0eb2572d79822d02ea05448ce4e5f1759c73d171Michael Graff multiple-cnames no;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# named-xfer <obsolete>;\n\
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington# pid-file \"" NS_LOCALSTATEDIR "/named.pid\"; /* or /lwresd.pid */\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recursing-file \"named.recursing\";\n\
876753d5ce1be48f3218fb4875fac501f8adfd6cDavid Lawrence recursive-clients 1000;\n\
876753d5ce1be48f3218fb4875fac501f8adfd6cDavid Lawrence rrset-order {type NS order random; order cyclic; };\n\
876753d5ce1be48f3218fb4875fac501f8adfd6cDavid Lawrence serial-queries 20;\n\
876753d5ce1be48f3218fb4875fac501f8adfd6cDavid Lawrence serial-query-rate 20;\n\
876753d5ce1be48f3218fb4875fac501f8adfd6cDavid Lawrence server-id none;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statistics-file \"named.stats\";\n\
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence statistics-interval 60;\n\
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence tcp-clients 100;\n\
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence tcp-listen-queue 3;\n\
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence# tkey-dhkey <none>\n\
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence# tkey-gssapi-credential <none>\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# tkey-domain <none>\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence transfers-per-ns 2;\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence transfers-in 10;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein transfers-out 10;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein treat-cr-as-space true;\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence use-id-pool true;\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence use-ixfr true;\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence edns-udp-size 4096;\n\
2e61d171bc1fa47ea4d551b87546ebcf78f61e4aMark Andrews max-udp-size 4096;\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence request-nsid false;\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews reserved-sockets 512;\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews /* view */\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews allow-notify {none;};\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews allow-update-forwarding {none;};\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews allow-query-cache { localnets; localhost; };\n\
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews allow-query-cache-on { any; };\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allow-recursion { localnets; localhost; };\n\
49a2cf8f211213712d452287ae8e121cf59e3178David Lawrence allow-recursion-on { any; };\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# allow-v6-synthesis <obsolete>;\n\
529ff4b4959fb157194f985394951108ff5286e4Brian Wellington# sortlist <none>\n\
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington# topology <none>\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein auth-nxdomain false;\n\
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington minimal-responses false;\n\
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington recursion true;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein provide-ixfr true;\n\
bff8ac12a8c099257bdbf7d0c55d2d5b77591926Mark Andrews request-ixfr true;\n\
bff8ac12a8c099257bdbf7d0c55d2d5b77591926Mark Andrews fetch-glue no;\n\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein rfc2308-type1 no;\n\
fd837244be31850a764863688bce11df9ce972f4Andreas Gustafsson additional-from-auth true;\n\
fd837244be31850a764863688bce11df9ce972f4Andreas Gustafsson additional-from-cache true;\n\
cffc2e06f906dd048af4cc27d487deb157f5a082Mark Andrews query-source address *;\n\
cffc2e06f906dd048af4cc27d487deb157f5a082Mark Andrews query-source-v6 address *;\n\
cffc2e06f906dd048af4cc27d487deb157f5a082Mark Andrews notify-source *;\n\
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt notify-source-v6 *;\n\
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt cleaning-interval 0; /* now meaningless */\n\
aaaf8d4f4873d21e55c3ffb4f656203d08339865Mark Andrews min-roots 2;\n\
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews lame-ttl 600;\n\
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews max-ncache-ttl 10800; /* 3 hours */\n\
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews max-cache-ttl 604800; /* 1 week */\n\
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews transfer-format many-answers;\n\
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews# max-cache-size default; /* set default in server.c */\n\
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews check-names master fail;\n\
f02c22d58ac88777655e0b407b22b07864d39184Evan Hunt check-names slave warn;\n\
f02c22d58ac88777655e0b407b22b07864d39184Evan Hunt check-names response ignore;\n\
f02c22d58ac88777655e0b407b22b07864d39184Evan Hunt check-mx warn;\n\
a44bf3209afdb58360a82cf42e653dee5e0d4f26Automatic Updater acache-enable no;\n\
a44bf3209afdb58360a82cf42e653dee5e0d4f26Automatic Updater acache-cleaning-interval 60;\n\
a44bf3209afdb58360a82cf42e653dee5e0d4f26Automatic Updater max-acache-size 16M;\n\
ce67023ae3ad39a77da5361d0187ab6f3f0219cbMark Andrews dnssec-enable yes;\n\
ce67023ae3ad39a77da5361d0187ab6f3f0219cbMark Andrews dnssec-validation yes; \n\
b5f6271f4daf1e54501af2cb7dd278d7e8003d65Mark Andrews dnssec-accept-expired no;\n\
d878b8d87c3f46a25ccae9f5cfe6e39af67562e0Evan Hunt clients-per-query 10;\n\
d878b8d87c3f46a25ccae9f5cfe6e39af67562e0Evan Hunt max-clients-per-query 100;\n\
d878b8d87c3f46a25ccae9f5cfe6e39af67562e0Evan Hunt zero-no-soa-ttl-cache no;\n\
4417904b159f826f2009fd3453744057c0d9c82eMark Andrews" /* zone */\n\
4417904b159f826f2009fd3453744057c0d9c82eMark Andrews allow-query {any;};\n\
43501e6570e9081d459fb5c1a81b73c2c53c5df0Mark Andrews allow-query-on {any;};\n\
43501e6570e9081d459fb5c1a81b73c2c53c5df0Mark Andrews allow-transfer {any;};\n\
43501e6570e9081d459fb5c1a81b73c2c53c5df0Mark Andrews notify yes;\n\
43501e6570e9081d459fb5c1a81b73c2c53c5df0Mark Andrews# also-notify <none>\n\
2b66a51a7d72e9cc07917fb583ad528b0539d2a3Mark Andrews notify-delay 5;\n\
2b66a51a7d72e9cc07917fb583ad528b0539d2a3Mark Andrews notify-to-soa no;\n\
2b66a51a7d72e9cc07917fb583ad528b0539d2a3Mark Andrews dialup no;\n\
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews# forward <none>\n\
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews# forwarders <none>\n\
8b56b8956fc1e6c70efacb4f71db28d0d1f0c577Mark Andrews maintain-ixfr-base no;\n\
19d80ce5844e00a021643759adcbe27c11b485a0Witold Krecicki# max-ixfr-log-size <obsolete>\n\
19d80ce5844e00a021643759adcbe27c11b485a0Witold Krecicki transfer-source *;\n\
19d80ce5844e00a021643759adcbe27c11b485a0Witold Krecicki transfer-source-v6 *;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews alt-transfer-source *;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews alt-transfer-source-v6 *;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews max-transfer-time-in 120;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews max-transfer-time-out 120;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews max-transfer-idle-in 60;\n\
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews max-transfer-idle-out 60;\n\
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews max-retry-time 1209600; /* 2 weeks */\n\
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews min-retry-time 500;\n\
4e9775118dbf128dd296f01638733ba221f76c34Mark Andrews max-refresh-time 2419200; /* 4 weeks */\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews min-refresh-time 300;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews multi-master no;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews sig-validity-interval 30; /* days */\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews sig-signing-nodes 100;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews sig-signing-signatures 10;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews sig-signing-type 65535;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews zone-statistics false;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews max-journal-size unlimited;\n\
5b02fc32d693bb811199308a40143df0adf818c1Mark Andrews ixfr-from-differences false;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn check-wildcard yes;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn check-sibling yes;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn check-integrity yes;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn check-mx-cname warn;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn check-srv-cname warn;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn zero-no-soa-ttl yes;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn update-check-ksk yes;\n\
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn try-tcp-refresh yes; /* BIND 8 compat */\n\
d1dbf6b20fdcfa95acd75cdb96fcd57067a31144Mukund Sivaraman# Zones in the \"_bind\" view are NOT counted in the count of zones.\n\
d1dbf6b20fdcfa95acd75cdb96fcd57067a31144Mukund Sivaramanview \"_bind\" chaos {\n\
9935447b51456f598b45246d0114b8006049244dMark Andrews recursion no;\n\
9935447b51456f598b45246d0114b8006049244dMark Andrews notify no;\n\
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt zone \"version.bind\" chaos {\n\
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt type master;\n\
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt database \"_builtin version\";\n\
c0a76b3c0b42a110e14eb56103973944900400c4Mark Andrews zone \"hostname.bind\" chaos {\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews type master;\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews database \"_builtin hostname\";\n\
64b92523f9333ba053f4b2860335583be455b0b3Brian Wellington zone \"authors.bind\" chaos {\n\
64b92523f9333ba053f4b2860335583be455b0b3Brian Wellington type master;\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews database \"_builtin authors\";\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews zone \"id.server\" chaos {\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews type master;\n\
aa5b977943f9ee38241c804484cd84fafec6ff2bMark Andrews database \"_builtin id\";\n\
2a1860ad83294da4abe34a72bdb6f5a28b87f2efMark Andrewsns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf) {
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn isc_buffer_init(&b, defaultconf, sizeof(defaultconf) - 1);
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn isc_buffer_add(&b, sizeof(defaultconf) - 1);
294ef74e5ad68d898207c4fb36d8b18d526a11f6Curtis Blackburn return (cfg_parse_buffer(parser, &b, &cfg_type_namedconf, conf));
9a97696b543b9957049a663b4f73245589c47921Mark Andrewsns_config_get(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
aaaf8d4f4873d21e55c3ffb4f656203d08339865Mark Andrews for (i = 0;; i++) {
9a97696b543b9957049a663b4f73245589c47921Mark Andrews if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halleyns_checknames_get(const cfg_obj_t **maps, const char *which,
d8f2dd46cba3a16c2433e85657a5b15543013ca6Mark Andrews for (i = 0;; i++) {
501941f0b6cce74c2ff75b10aff3f230d5d37e4cEvan Hunt if (cfg_map_get(maps[i], "check-names", &checknames) == ISC_R_SUCCESS) {
501941f0b6cce74c2ff75b10aff3f230d5d37e4cEvan Hunt * Zone map entry is not a list.
501941f0b6cce74c2ff75b10aff3f230d5d37e4cEvan Hunt if (checknames != NULL && !cfg_obj_islist(checknames)) {
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews if (strcasecmp(cfg_obj_asstring(type), which) == 0) {
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews for (e = cfg_list_first(list); e != NULL; e = cfg_list_next(e))
8a9bac8dec81997fec38fb880dc81b41eb026c27Mark Andrewsns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews cfg_obj_log(classobj, ns_g_lctx, ISC_LOG_ERROR,
9a97696b543b9957049a663b4f73245589c47921Mark Andrewsns_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype,
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrewsns_config_getzonetype(const cfg_obj_t *zonetypeobj) {
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews const char *str;
5c00d1c90030a311d2700970fa7cffc8f828a48cBob Halleyns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
fd837244be31850a764863688bce11df9ce972f4Andreas Gustafsson isc_uint32_t val = cfg_obj_asuint32(portobj);
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt } else if (defport != 0)
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont addrs = isc_mem_get(mctx, count * sizeof(isc_sockaddr_t));
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt addrs[i] = *cfg_obj_assockaddr(cfg_listelt_value(element));
8cbf3b6fc35091abde426930f2eadb8f53476c98Evan Huntns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
8b9c4592ed718c4187971f1104381faf538bf4f7Evan Hunt isc_mem_put(mctx, *addrsp, count * sizeof(isc_sockaddr_t));
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrewsget_masters_def(const cfg_obj_t *cctx, const char *name,
31b7a2fed64e388db772a74742a4adc95d1a21e6Mark Andrews listname = cfg_obj_asstring(cfg_tuple_get(list, "name"));
38cd4d14cc341c2663e574035074788bb6f0fce2Evan Huntns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
cae2cb086244dfb883739edbe79e34756079f70eMark Andrews isc_uint32_t addrcount = 0, keycount = 0, i = 0;
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews addr = cfg_tuple_get(cfg_listelt_value(element),
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley "masterselement");
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley key = cfg_tuple_get(cfg_listelt_value(element), "key");
4423c99613db1399dbb5c51e86ef0d351a1418c2Mark Andrews /* Grow lists? */
c4e59874fb1a750880d5ebed560c9acf69251840Mark Andrews for (j = 0; j < l; j++)
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 tresult = get_masters_def(config, listname, &list);
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 cfg_obj_log(addr, ns_g_lctx, ISC_LOG_ERROR,
422009fe5b15e31e7f5d09212bd1480121a1464eEvan Hunt /* Grow stack? */
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews * We want to resume processing this list on the
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews * next element.
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews stack[pushed].element = cfg_list_next(element);
a44bf3209afdb58360a82cf42e653dee5e0d4f26Automatic Updater keys[i] = isc_mem_get(mctx, sizeof(dns_name_t));
87708bde16713bc02ff2598f4a82f98c699a2f2dMark Andrews result = dns_name_fromtext(dns_fixedname_name(&fname), &b,
f54d0c9c6e65de367d4ef08f51d22a2fb4c56208Mark Andrews result = dns_name_dup(dns_fixedname_name(&fname), mctx,
if (i < addrcount) {
void * new;
goto cleanup;
addrcount = i;
goto cleanup;
keycount = i;
return (ISC_R_SUCCESS);
return (result);
for (i = 0; i < count; i++) {
return (ISC_R_RANGE);
return (ISC_R_SUCCESS);
struct keyalgorithms {
const char *str;
} algorithms[] = {
return (ISC_R_NOTFOUND);
return (result);
return (ISC_R_RANGE);
INSIST(0);
return (ISC_R_SUCCESS);