Lines Matching refs:view
203 struct viewlistentry *view; member
213 dns_view_t *view; member
380 configure_forward(const cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
384 configure_alternates(const cfg_obj_t *config, dns_view_t *view,
389 const cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view,
393 add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx);
706 dns_view_t *view, isc_boolean_t managed, in load_view_keys() argument
715 CHECK(dns_view_getsecroots(view, &secroots)); in load_view_keys()
766 configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig, in configure_view_dnsseckeys() argument
784 if (strcmp(view->name, "_bind") == 0 && in configure_view_dnsseckeys()
785 view->rdclass == dns_rdataclass_chaos) { in configure_view_dnsseckeys()
812 result = dns_view_initsecroots(view, mctx); in configure_view_dnsseckeys()
820 if (auto_dlv && view->rdclass == dns_rdataclass_in) { in configure_view_dnsseckeys()
827 view->name); in configure_view_dnsseckeys()
846 CHECK(load_view_keys(builtin_keys, vconfig, view, in configure_view_dnsseckeys()
847 ISC_FALSE, view->dlv, mctx)); in configure_view_dnsseckeys()
850 view, ISC_TRUE, view->dlv, mctx)); in configure_view_dnsseckeys()
853 if (auto_root && view->rdclass == dns_rdataclass_in) { in configure_view_dnsseckeys()
860 view->name); in configure_view_dnsseckeys()
879 CHECK(load_view_keys(builtin_keys, vconfig, view, in configure_view_dnsseckeys()
883 view, ISC_TRUE, dns_rootname, in configure_view_dnsseckeys()
887 CHECK(load_view_keys(view_keys, vconfig, view, ISC_FALSE, in configure_view_dnsseckeys()
889 CHECK(load_view_keys(view_managed_keys, vconfig, view, ISC_TRUE, in configure_view_dnsseckeys()
892 if (view->rdclass == dns_rdataclass_in) { in configure_view_dnsseckeys()
893 CHECK(load_view_keys(global_keys, vconfig, view, ISC_FALSE, in configure_view_dnsseckeys()
895 CHECK(load_view_keys(global_managed_keys, vconfig, view, in configure_view_dnsseckeys()
915 CHECK(add_keydata_zone(view, directory, ns_g_mctx)); in configure_view_dnsseckeys()
1409 cache_reusable(dns_view_t *originview, dns_view_t *view, in cache_reusable() argument
1412 if (originview->rdclass != view->rdclass || in cache_reusable()
1413 originview->checknames != view->checknames || in cache_reusable()
1416 originview->acceptexpired != view->acceptexpired || in cache_reusable()
1417 originview->enablevalidation != view->enablevalidation || in cache_reusable()
1418 originview->maxcachettl != view->maxcachettl || in cache_reusable()
1419 originview->maxncachettl != view->maxncachettl) { in cache_reusable()
1427 cache_sharable(dns_view_t *originview, dns_view_t *view, in cache_sharable() argument
1436 if (!cache_reusable(originview, view, new_zero_no_soattl)) in cache_sharable()
1456 dlzconfigure_callback(dns_view_t *view, dns_zone_t *zone) { in dlzconfigure_callback() argument
1458 dns_rdataclass_t zclass = view->rdclass; in dlzconfigure_callback()
1466 return (ns_zone_configure_writeable_dlz(view->dlzdatabase, in dlzconfigure_callback()
1471 dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, in dns64_reverse() argument
1479 const char *viewname = view->name; in dns64_reverse()
1523 dns_zone_setview(zone, view); in dns64_reverse()
1525 dns_zone_setclass(zone, view->rdclass); in dns64_reverse()
1529 if (view->queryacl != NULL) in dns64_reverse()
1530 dns_zone_setqueryacl(zone, view->queryacl); in dns64_reverse()
1531 if (view->queryonacl != NULL) in dns64_reverse()
1532 dns_zone_setqueryonacl(zone, view->queryonacl); in dns64_reverse()
1537 CHECK(dns_view_addzone(view, zone)); in dns64_reverse()
1549 configure_rpz_name(dns_view_t *view, const cfg_obj_t *obj, dns_name_t *name, in configure_rpz_name() argument
1554 result = dns_name_fromstring(name, str, DNS_NAME_DOWNCASE, view->mctx); in configure_rpz_name()
1562 configure_rpz_name2(dns_view_t *view, const cfg_obj_t *obj, dns_name_t *name, in configure_rpz_name2() argument
1568 view->mctx); in configure_rpz_name2()
1576 configure_rpz(dns_view_t *view, const cfg_listelt_t *element, in configure_rpz() argument
1586 new = isc_mem_get(view->mctx, sizeof(*new)); in configure_rpz()
1598 ISC_LIST_INITANDAPPEND(view->rpz_zones, new, link); in configure_rpz()
1607 view->rpz_recursive_only = ISC_FALSE; in configure_rpz()
1617 result = configure_rpz_name(view, rpz_obj, &new->origin, str, "zone"); in configure_rpz()
1625 for (old = ISC_LIST_HEAD(view->rpz_zones); in configure_rpz()
1637 result = configure_rpz_name2(view, rpz_obj, &new->nsdname, in configure_rpz()
1642 result = configure_rpz_name(view, rpz_obj, &new->passthru, in configure_rpz()
1656 result = configure_rpz_name(view, rpz_obj, &new->cname, in configure_rpz()
1694 configure_rrl(dns_view_t *view, const cfg_obj_t *config, const cfg_obj_t *map) { in configure_rrl() argument
1714 result = dns_rrl_init(&rrl, view, min_entries); in configure_rrl()
1825 dns_rrl_view_destroy(view); in configure_rrl()
1902 create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view, in create_empty_zone() argument
1914 const char *viewname = view->name; in create_empty_zone()
1966 CHECK(dns_db_create(view->mctx, "rbt", name, in create_empty_zone()
1967 dns_dbtype_zone, view->rdclass, in create_empty_zone()
1998 result = check_dbtype(zone, typec, dbargv, view->mctx); in create_empty_zone()
2023 dns_zone_setclass(zone, view->rdclass); in create_empty_zone()
2032 if (view->queryacl != NULL) in create_empty_zone()
2033 dns_zone_setqueryacl(zone, view->queryacl); in create_empty_zone()
2036 if (view->queryonacl != NULL) in create_empty_zone()
2037 dns_zone_setqueryonacl(zone, view->queryonacl); in create_empty_zone()
2041 if (view->transferacl != NULL) in create_empty_zone()
2042 dns_zone_setxfracl(zone, view->transferacl); in create_empty_zone()
2046 CHECK(setquerystats(zone, view->mctx, statlevel)); in create_empty_zone()
2051 dns_zone_setview(zone, view); in create_empty_zone()
2052 CHECK(dns_view_addzone(view, zone)); in create_empty_zone()
2084 configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, in configure_view() argument
2144 REQUIRE(DNS_VIEW_VALID(view)); in configure_view()
2176 dns_view_setdstport(view, port); in configure_view()
2188 CHECK(dns_acache_create(&view->acache, cmctx, ns_g_taskmgr, in configure_view()
2193 if (view->acache != NULL) { in configure_view()
2197 dns_acache_setcleaninginterval(view->acache, in configure_view()
2222 dns_acache_setcachesize(view->acache, max_acache_size); in configure_view()
2226 ns_g_mctx, &view->queryacl)); in configure_view()
2227 if (view->queryacl == NULL) { in configure_view()
2230 &view->queryacl)); in configure_view()
2238 if (view->rdclass == dns_rdataclass_in && need_hints && in configure_view()
2254 view->rpz_break_dnssec = ISC_TRUE; in configure_view()
2256 view->rpz_break_dnssec = ISC_FALSE; in configure_view()
2266 view->rpz_min_ns_labels = cfg_obj_asuint32(rpz_obj) + 1; in configure_view()
2268 view->rpz_min_ns_labels = 2; in configure_view()
2272 result = configure_rpz(view, element, in configure_view()
2297 CHECK(configure_zone(config, zconfig, vconfig, mctx, view, in configure_view()
2301 for (rpz = ISC_LIST_HEAD(view->rpz_zones); in configure_view()
2322 nzctx = view->new_zone_config; in configure_view()
2327 view->name); in configure_view()
2338 mctx, view, actx, in configure_view()
2372 &view->dlzdatabase); in configure_view()
2382 result = dns_dlzconfigure(view, dlzconfigure_callback); in configure_view()
2429 view->checknames = ISC_TRUE; in configure_view()
2432 view->checknames = ISC_FALSE; in configure_view()
2434 view->checknames = ISC_FALSE; in configure_view()
2445 if (result == ISC_R_SUCCESS && strcmp(view->name, "_bind") && in configure_view()
2446 strcmp(view->name, "_meta")) { in configure_view()
2530 dns_dns64_append(&view->dns64, dns64); in configure_view()
2531 view->dns64cnt++; in configure_view()
2532 result = dns64_reverse(view, mctx, &na, prefixlen, in configure_view()
2548 view->acceptexpired = cfg_obj_asboolean(obj); in configure_view()
2554 view->enablevalidation = cfg_obj_asboolean(obj); in configure_view()
2557 view->enablevalidation = ISC_TRUE; in configure_view()
2564 view->maxcachettl = cfg_obj_asuint32(obj); in configure_view()
2569 view->maxncachettl = cfg_obj_asuint32(obj); in configure_view()
2570 if (view->maxncachettl > 7 * 24 * 3600) in configure_view()
2571 view->maxncachettl = 7 * 24 * 3600; in configure_view()
2601 cachename = view->name; in configure_view()
2603 nsc = cachelist_find(cachelist, cachename, view->rdclass); in configure_view()
2605 if (!cache_sharable(nsc->primaryview, view, zero_no_soattl, in configure_view()
2611 nsc->primaryview->name, view->name); in configure_view()
2618 if (strcmp(cachename, view->name) == 0) { in configure_view()
2620 cachename, view->rdclass, in configure_view()
2625 if (!cache_reusable(pview, view, in configure_view()
2634 "mismatch", view->name); in configure_view()
2669 ns_g_timermgr, view->rdclass, in configure_view()
2682 nsc->primaryview = view; in configure_view()
2685 nsc->rdclass = view->rdclass; in configure_view()
2689 dns_view_setcache2(view, cache, shared_cache); in configure_view()
2697 if (result == ISC_R_SUCCESS && strcmp(view->name, "_bind") != 0) { in configure_view()
2714 ISC_TF(ISC_LIST_PREV(view, link) in configure_view()
2717 ISC_TF(ISC_LIST_PREV(view, link) in configure_view()
2728 CHECK(dns_view_createresolver(view, ns_g_taskmgr, 31, ndisp, in configure_view()
2737 dns_view_setresstats(view, resstats); in configure_view()
2740 dns_view_setresquerystats(view, resquerystats); in configure_view()
2751 if (view != nsc->primaryview && in configure_view()
2761 dns_adb_setadbsize(view->adb, max_adb_size); in configure_view()
2788 dns_resolver_setquotaresponse(view->resolver, in configure_view()
2808 dns_adb_setquota(view->adb, fps, freq, low, high, discount); in configure_view()
2821 dns_resolver_setlamettl(view->resolver, lame_ttl); in configure_view()
2830 dns_resolver_settimeout(view->resolver, query_timeout); in configure_view()
2833 dns_resolver_setzeronosoattl(view->resolver, zero_no_soattl); in configure_view()
2846 dns_resolver_setudpsize(view->resolver, (isc_uint16_t)udpsize); in configure_view()
2859 view->maxudp = udpsize; in configure_view()
2872 view->maxbits = maxbits; in configure_view()
2877 dns_resolver_reset_algorithms(view->resolver); in configure_view()
2885 view->resolver)); in configure_view()
2897 CHECK(configure_forward(config, view, dns_rootname, in configure_view()
2906 CHECK(configure_alternates(config, view, alternates)); in configure_view()
2911 if (view->rdclass == dns_rdataclass_in && view->hints == NULL) in configure_view()
2912 dns_view_sethints(view, ns_g_server->in_roothints); in configure_view()
2921 if (view->hints == NULL) { in configure_view()
2923 (void)dns_view_findzone(view, dns_rootname, &rootzone); in configure_view()
2932 view->name); in configure_view()
2938 CHECK(ns_tsigkeyring_fromconfig(config, vconfig, view->mctx, &ring)); in configure_view()
2943 dns_view_setkeyring(view, ring); in configure_view()
2949 result = dns_viewlist_find(&ns_g_server->viewlist, view->name, in configure_view()
2950 view->rdclass, &pview); in configure_view()
2956 dns_view_setdynamickeyring(view, ring); in configure_view()
2960 dns_view_restorekeyring(view); in configure_view()
2982 dns_peerlist_detach(&view->peers); in configure_view()
2983 view->peers = newpeers; /* Transfer ownership. */ in configure_view()
3002 if (view->order != NULL) in configure_view()
3003 dns_order_detach(&view->order); in configure_view()
3004 dns_order_attach(order, &view->order); in configure_view()
3010 dns_aclenv_copy(&view->aclenv, &ns_g_server->aclenv); in configure_view()
3016 ns_g_mctx, &view->matchclients)); in configure_view()
3018 actx, ns_g_mctx, &view->matchdestinations)); in configure_view()
3026 view->matchrecursiveonly = ISC_TRUE; in configure_view()
3028 view->matchrecursiveonly = ISC_FALSE; in configure_view()
3036 view->recursion = cfg_obj_asboolean(obj); in configure_view()
3041 view->auth_nxdomain = cfg_obj_asboolean(obj); in configure_view()
3046 view->minimalresponses = cfg_obj_asboolean(obj); in configure_view()
3053 view->transfer_format = dns_many_answers; in configure_view()
3055 view->transfer_format = dns_one_answer; in configure_view()
3066 view->additionalfromauth = cfg_obj_asboolean(obj); in configure_view()
3067 if (view->recursion && ! view->additionalfromauth) { in configure_view()
3071 view->additionalfromauth = ISC_TRUE; in configure_view()
3077 view->additionalfromcache = cfg_obj_asboolean(obj); in configure_view()
3078 if (view->recursion && ! view->additionalfromcache) { in configure_view()
3082 view->additionalfromcache = ISC_TRUE; in configure_view()
3091 actx, ns_g_mctx, &view->cacheacl)); in configure_view()
3093 actx, ns_g_mctx, &view->cacheonacl)); in configure_view()
3094 if (view->cacheonacl == NULL) in configure_view()
3097 ns_g_mctx, &view->cacheonacl)); in configure_view()
3098 if (strcmp(view->name, "_bind") != 0) { in configure_view()
3101 &view->recursionacl)); in configure_view()
3104 &view->recursiononacl)); in configure_view()
3113 if (view->cacheacl == NULL && view->recursionacl != NULL) in configure_view()
3114 dns_acl_attach(view->recursionacl, &view->cacheacl); in configure_view()
3121 if (view->cacheacl == NULL && view->recursion) in configure_view()
3123 actx, ns_g_mctx, &view->cacheacl)); in configure_view()
3124 if (view->recursion && in configure_view()
3125 view->recursionacl == NULL && view->cacheacl != NULL) in configure_view()
3126 dns_acl_attach(view->cacheacl, &view->recursionacl); in configure_view()
3132 if (view->recursionacl == NULL && view->recursion) in configure_view()
3136 &view->recursionacl)); in configure_view()
3137 if (view->recursiononacl == NULL && view->recursion) in configure_view()
3141 &view->recursiononacl)); in configure_view()
3142 if (view->cacheacl == NULL) { in configure_view()
3143 if (view->recursion) in configure_view()
3147 &view->cacheacl)); in configure_view()
3149 CHECK(dns_acl_none(mctx, &view->cacheacl)); in configure_view()
3158 actx, ns_g_mctx, &view->nocasecompress)); in configure_view()
3164 "acl", actx, ns_g_mctx, &view->denyansweracl)); in configure_view()
3167 &view->answeracl_exclude)); in configure_view()
3174 &view->denyanswernames)); in configure_view()
3177 &view->answernames_exclude)); in configure_view()
3183 &view->sortlist)); in configure_view()
3190 if (view->notifyacl == NULL) in configure_view()
3193 ns_g_mctx, &view->notifyacl)); in configure_view()
3194 if (view->transferacl == NULL) in configure_view()
3197 ns_g_mctx, &view->transferacl)); in configure_view()
3198 if (view->updateacl == NULL) in configure_view()
3201 ns_g_mctx, &view->updateacl)); in configure_view()
3202 if (view->upfwdacl == NULL) in configure_view()
3205 ns_g_mctx, &view->upfwdacl)); in configure_view()
3210 view->provideixfr = cfg_obj_asboolean(obj); in configure_view()
3215 view->requestnsid = cfg_obj_asboolean(obj); in configure_view()
3225 dns_resolver_setclientsperquery(view->resolver, in configure_view()
3232 dns_resolver_setmaxdepth(view->resolver, cfg_obj_asuint32(obj)); in configure_view()
3237 dns_resolver_setmaxqueries(view->resolver, cfg_obj_asuint32(obj)); in configure_view()
3244 dns_resolver_setfetchesperzone(view->resolver, cfg_obj_asuint32(obj2)); in configure_view()
3257 dns_resolver_setquotaresponse(view->resolver, in configure_view()
3268 view->v4_aaaa = dns_v4_aaaa_filter; in configure_view()
3270 view->v4_aaaa = dns_v4_aaaa_ok; in configure_view()
3274 view->v4_aaaa = dns_v4_aaaa_break_dnssec; in configure_view()
3279 actx, ns_g_mctx, &view->v4_aaaa_acl)); in configure_view()
3285 view->enablednssec = cfg_obj_asboolean(obj); in configure_view()
3317 dlv = dns_fixedname_name(&view->dlv_fixed); in configure_view()
3320 view->dlv = dns_fixedname_name(&view->dlv_fixed); in configure_view()
3323 view->dlv = NULL; in configure_view()
3329 CHECK(configure_view_dnsseckeys(view, vconfig, config, bindkeys, in configure_view()
3331 dns_resolver_resetmustbesecure(view->resolver); in configure_view()
3335 CHECK(mustbesecure(obj, view->resolver)); in configure_view()
3342 view->preferred_glue = dns_rdatatype_a; in configure_view()
3344 view->preferred_glue = dns_rdatatype_aaaa; in configure_view()
3346 view->preferred_glue = 0; in configure_view()
3348 view->preferred_glue = 0; in configure_view()
3353 dns_view_setrootdelonly(view, ISC_TRUE); in configure_view()
3369 CHECK(dns_view_excludedelegationonly(view, name)); in configure_view()
3372 dns_view_setrootdelonly(view, ISC_FALSE); in configure_view()
3382 view->rdclass == dns_rdataclass_in) { in configure_view()
3383 empty_zones_enable = view->recursion; in configure_view()
3384 } else if (view->rdclass == dns_rdataclass_in) { in configure_view()
3388 empty_zones_enable = view->recursion; in configure_view()
3469 (void)dns_view_findzone(view, name, &zone); in configure_view()
3479 result = dns_fwdtable_find(view->fwdtable, name, in configure_view()
3489 view->name, view->rdclass, in configure_view()
3500 CHECK(create_empty_zone(zone, name, view, zonelist, in configure_view()
3512 result = configure_rrl(view, config, obj); in configure_view()
3553 configure_hints(dns_view_t *view, const char *filename) { in configure_hints() argument
3558 result = dns_rootns_create(view->mctx, view->rdclass, filename, &db); in configure_hints()
3560 dns_view_sethints(view, db); in configure_hints()
3568 configure_alternates(const cfg_obj_t *config, dns_view_t *view, in configure_alternates() argument
3636 CHECK(dns_resolver_addalternate(view->resolver, NULL, in configure_alternates()
3644 CHECK(dns_resolver_addalternate(view->resolver, &sa, in configure_alternates()
3653 configure_forward(const cfg_obj_t *config, dns_view_t *view, dns_name_t *origin, in configure_forward() argument
3697 sa = isc_mem_get(view->mctx, sizeof(isc_sockaddr_t)); in configure_forward()
3729 result = dns_fwdtable_add(view->fwdtable, origin, &addresses, in configure_forward()
3747 isc_mem_put(view->mctx, sa, sizeof(isc_sockaddr_t)); in configure_forward()
3802 dns_view_t *view = NULL; in find_view() local
3808 result = dns_viewlist_find(viewlist, viewname, viewclass, &view); in find_view()
3812 *viewp = view; in find_view()
3830 dns_view_t *view = NULL; in create_view() local
3836 result = dns_viewlist_find(viewlist, viewname, viewclass, &view); in create_view()
3841 INSIST(view == NULL); in create_view()
3843 result = dns_view_create(ns_g_mctx, viewclass, viewname, &view); in create_view()
3847 ISC_LIST_APPEND(*viewlist, view, link); in create_view()
3848 dns_view_attach(view, viewp); in create_view()
3857 const cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view, in configure_zone() argument
3899 view->rdclass, &zclass)); in configure_zone()
3900 if (zclass != view->rdclass) { in configure_zone()
3941 CHECK(configure_hints(view, hintsfile)); in configure_zone()
3950 CHECK(dns_view_adddelegationonly(view, origin)); in configure_zone()
3972 CHECK(configure_forward(config, view, origin, forwarders, in configure_zone()
3981 CHECK(dns_view_adddelegationonly(view, origin)); in configure_zone()
3989 result = dns_view_adddelegationonly(view, origin); in configure_zone()
3997 if (view->redirect != NULL) { in configure_zone()
4003 result = dns_viewlist_find(&ns_g_server->viewlist, view->name, in configure_zone()
4004 view->rdclass, &pview); in configure_zone()
4009 dns_zone_setview(zone, view); in configure_zone()
4014 dns_zone_setview(zone, view); in configure_zone()
4021 dns_zone_attach(zone, &view->redirect); in configure_zone()
4028 result = dns_view_findzone(view, origin, &dupzone); in configure_zone()
4045 for (rpz = ISC_LIST_HEAD(view->rpz_zones); in configure_zone()
4066 result = dns_viewlist_find(&ns_g_server->viewlist, view->name, in configure_zone()
4067 view->rdclass, &pview); in configure_zone()
4086 dns_zone_setview(zone, view); in configure_zone()
4087 if (view->acache != NULL) in configure_zone()
4088 dns_zone_setacache(zone, view->acache); in configure_zone()
4096 dns_zone_setview(zone, view); in configure_zone()
4097 if (view->acache != NULL) in configure_zone()
4098 dns_zone_setacache(zone, view->acache); in configure_zone()
4125 CHECK(configure_forward(config, view, origin, forwarders, in configure_zone()
4136 CHECK(dns_view_adddelegationonly(view, origin)); in configure_zone()
4154 dns_zone_setview(raw, view); in configure_zone()
4155 if (view->acache != NULL) in configure_zone()
4156 dns_zone_setacache(raw, view->acache); in configure_zone()
4170 CHECK(dns_view_addzone(view, zone)); in configure_zone()
4197 add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) { in add_keydata_zone() argument
4206 REQUIRE(view != NULL); in add_keydata_zone()
4210 view->name, view->rdclass, in add_keydata_zone()
4217 dns_zone_attach(pview->managed_keys, &view->managed_keys); in add_keydata_zone()
4218 dns_zone_setview(pview->managed_keys, view); in add_keydata_zone()
4220 dns_zone_synckeyzone(view->managed_keys); in add_keydata_zone()
4228 isc_sha256_data((void *)view->name, strlen(view->name), buffer); in add_keydata_zone()
4232 strcmp(view->name, "_default") == 0 ? KEYZONE : buffer); in add_keydata_zone()
4239 dns_zone_setview(zone, view); in add_keydata_zone()
4241 dns_zone_setclass(zone, view->rdclass); in add_keydata_zone()
4245 if (view->acache != NULL) in add_keydata_zone()
4246 dns_zone_setacache(zone, view->acache); in add_keydata_zone()
4261 if (view->managed_keys != NULL) in add_keydata_zone()
4262 dns_zone_detach(&view->managed_keys); in add_keydata_zone()
4263 dns_zone_attach(zone, &view->managed_keys); in add_keydata_zone()
4268 view->name, filename); in add_keydata_zone()
4396 dns_view_t *view; in adjust_interfaces() local
4404 for (view = ISC_LIST_HEAD(server->viewlist); in adjust_interfaces()
4405 view != NULL; in adjust_interfaces()
4406 view = ISC_LIST_NEXT(view, link)) { in adjust_interfaces()
4409 dispatch6 = dns_resolver_dispatchv6(view->resolver); in adjust_interfaces()
4446 for (view = ISC_LIST_HEAD(server->viewlist); in adjust_interfaces()
4447 view != NULL && view != zoneview; in adjust_interfaces()
4448 view = ISC_LIST_NEXT(view, link)) in adjust_interfaces()
4450 if (view == NULL) in adjust_interfaces()
4506 dns_view_t *view; in heartbeat_timer_tick() local
4510 view = ISC_LIST_HEAD(server->viewlist); in heartbeat_timer_tick()
4511 while (view != NULL) { in heartbeat_timer_tick()
4512 dns_view_dialup(view); in heartbeat_timer_tick()
4513 view = ISC_LIST_NEXT(view, link); in heartbeat_timer_tick()
4900 setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, in setup_newzones() argument
4930 dns_view_setnewzones(view, ISC_FALSE, NULL, NULL); in setup_newzones()
4934 nzcfg = isc_mem_get(view->mctx, sizeof(*nzcfg)); in setup_newzones()
4936 dns_view_setnewzones(view, ISC_FALSE, NULL, NULL); in setup_newzones()
4940 dns_view_setnewzones(view, allow, nzcfg, newzone_cfgctx_destroy); in setup_newzones()
4943 isc_mem_attach(view->mctx, &nzcfg->mctx); in setup_newzones()
4953 result = cfg_parser_create(view->mctx, ns_g_lctx, &nzparser); in setup_newzones()
4955 result = cfg_parse_file(nzparser, view->new_zone_file, in setup_newzones()
5001 dns_view_t *view = NULL; in load_configuration() local
5500 view = NULL; in load_configuration()
5502 CHECK(create_view(vconfig, &viewlist, &view)); in load_configuration()
5503 INSIST(view != NULL); in load_configuration()
5506 CHECK(setup_newzones(view, config, vconfig, conf_parser, in load_configuration()
5509 nzctx = view->new_zone_config; in load_configuration()
5513 dns_view_detach(&view); in load_configuration()
5521 CHECK(create_view(NULL, &viewlist, &view)); in load_configuration()
5522 INSIST(view != NULL); in load_configuration()
5526 CHECK(setup_newzones(view, config, NULL, conf_parser, in load_configuration()
5529 nzctx = view->new_zone_config; in load_configuration()
5533 dns_view_detach(&view); in load_configuration()
5555 view = NULL; in load_configuration()
5556 CHECK(find_view(vconfig, &viewlist, &view)); in load_configuration()
5557 CHECK(configure_view(view, config, vconfig, in load_configuration()
5560 dns_view_freeze(view); in load_configuration()
5561 dns_view_detach(&view); in load_configuration()
5569 view = NULL; in load_configuration()
5570 CHECK(find_view(NULL, &viewlist, &view)); in load_configuration()
5571 CHECK(configure_view(view, config, NULL, in load_configuration()
5574 dns_view_freeze(view); in load_configuration()
5575 dns_view_detach(&view); in load_configuration()
5590 CHECK(create_view(vconfig, &builtin_viewlist, &view)); in load_configuration()
5591 CHECK(configure_view(view, config, vconfig, in load_configuration()
5594 dns_view_freeze(view); in load_configuration()
5595 dns_view_detach(&view); in load_configuration()
5596 view = NULL; in load_configuration()
5608 view = ISC_LIST_HEAD(server->viewlist); in load_configuration()
5609 while (view != NULL) { in load_configuration()
5610 view->viewlist = &server->viewlist; in load_configuration()
5611 view = ISC_LIST_NEXT(view, link); in load_configuration()
5905 if (view != NULL) in load_configuration()
5906 dns_view_detach(&view); in load_configuration()
5915 for (view = ISC_LIST_HEAD(viewlist); in load_configuration()
5916 view != NULL; in load_configuration()
5917 view = view_next) { in load_configuration()
5918 view_next = ISC_LIST_NEXT(view, link); in load_configuration()
5919 ISC_LIST_UNLINK(viewlist, view, link); in load_configuration()
5921 strcmp(view->name, "_bind") != 0) in load_configuration()
5922 (void)dns_zt_apply(view->zonetable, ISC_FALSE, in load_configuration()
5923 removed, view); in load_configuration()
5924 dns_view_detach(&view); in load_configuration()
5990 dns_view_t *view; in load_zones() local
6007 for (view = ISC_LIST_HEAD(server->viewlist); in load_zones()
6008 view != NULL; in load_zones()
6009 view = ISC_LIST_NEXT(view, link)) in load_zones()
6011 if (view->managed_keys != NULL) { in load_zones()
6012 result = dns_zone_load(view->managed_keys); in load_zones()
6018 if (view->redirect != NULL) { in load_zones()
6019 result = dns_zone_load(view->redirect); in load_zones()
6031 CHECK(dns_view_asyncload(view, view_loaded, zl)); in load_zones()
6058 dns_view_t *view; in load_new_zones() local
6066 for (view = ISC_LIST_HEAD(server->viewlist); in load_new_zones()
6067 view != NULL; in load_new_zones()
6068 view = ISC_LIST_NEXT(view, link)) in load_new_zones()
6070 CHECK(dns_view_loadnew(view, stop)); in load_new_zones()
6073 if (view->managed_keys != NULL) in load_new_zones()
6074 CHECK(dns_zone_loadnew(view->managed_keys)); in load_new_zones()
6075 if (view->redirect != NULL) in load_new_zones()
6076 CHECK(dns_zone_loadnew(view->redirect)); in load_new_zones()
6152 dns_view_t *view, *view_next; in shutdown_server() local
6178 for (view = ISC_LIST_HEAD(server->viewlist); in shutdown_server()
6179 view != NULL; in shutdown_server()
6180 view = view_next) { in shutdown_server()
6181 view_next = ISC_LIST_NEXT(view, link); in shutdown_server()
6182 ISC_LIST_UNLINK(server->viewlist, view, link); in shutdown_server()
6184 dns_view_flushanddetach(&view); in shutdown_server()
6186 dns_view_detach(&view); in shutdown_server()
6680 dns_view_t *view = NULL; in zone_from_args() local
6736 rdclass, &view); in zone_from_args()
6743 result = dns_zt_find(view->zonetable, name, 0, NULL, zonep); in zone_from_args()
6765 if (view != NULL) in zone_from_args()
6766 dns_view_detach(&view); in zone_from_args()
7105 add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) { in add_view_tolist() argument
7115 if (vle->view == view) in add_view_tolist()
7121 vle->view = NULL; in add_view_tolist()
7122 dns_view_attach(view, &vle->view); in add_view_tolist()
7127 result = dns_zt_apply(view->zonetable, ISC_TRUE, in add_view_tolist()
7147 dns_view_detach(&vle->view); in dumpcontext_destroy()
7176 if (dctx->view == NULL) { in dumpdone()
7177 dctx->view = ISC_LIST_HEAD(dctx->viewlist); in dumpdone()
7178 if (dctx->view == NULL) in dumpdone()
7184 fprintf(dctx->fp, ";\n; Start view %s\n;\n", dctx->view->view->name); in dumpdone()
7186 if (dctx->dumpcache && dns_view_iscacheshared(dctx->view->view)) { in dumpdone()
7189 dctx->view->view->name, in dumpdone()
7190 dns_cache_getname(dctx->view->view->cache)); in dumpdone()
7196 if (dctx->view->view->cachedb != NULL) in dumpdone()
7197 dns_db_attach(dctx->view->view->cachedb, &dctx->cache); in dumpdone()
7201 dctx->view->view->name, in dumpdone()
7202 dns_cache_getname(dctx->view->view->cache)); in dumpdone()
7220 dctx->cache == NULL && dctx->view->view->cachedb != NULL) in dumpdone()
7221 dns_db_attach(dctx->view->view->cachedb, &dctx->cache); in dumpdone()
7225 dns_adb_dump(dctx->view->view->adb, dctx->fp); in dumpdone()
7227 dns_resolver_printbadcache(dctx->view->view->resolver, in dumpdone()
7240 dctx->zone = ISC_LIST_HEAD(dctx->view->zonelist); in dumpdone()
7274 if (dctx->view != NULL) in dumpdone()
7275 dctx->view = ISC_LIST_NEXT(dctx->view, link); in dumpdone()
7276 if (dctx->view != NULL) in dumpdone()
7296 dns_view_t *view; in ns_server_dumpdb() local
7317 dctx->view = NULL; in ns_server_dumpdb()
7365 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_dumpdb()
7366 view != NULL; in ns_server_dumpdb()
7367 view = ISC_LIST_NEXT(view, link)) in ns_server_dumpdb()
7369 if (ptr != NULL && strcmp(view->name, ptr) != 0) in ns_server_dumpdb()
7371 CHECK(add_view_tolist(dctx, view)); in ns_server_dumpdb()
7389 dns_view_t *view; in ns_server_dumpsecroots() local
7411 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_dumpsecroots()
7412 view != NULL; in ns_server_dumpsecroots()
7413 view = ISC_LIST_NEXT(view, link)) in ns_server_dumpsecroots()
7415 if (ptr != NULL && strcmp(view->name, ptr) != 0) in ns_server_dumpsecroots()
7419 result = dns_view_getsecroots(view, &secroots); in ns_server_dumpsecroots()
7424 fprintf(fp, "\n Start view %s\n\n", view->name); in ns_server_dumpsecroots()
7456 dns_view_t *view; in ns_server_dumprecursing() local
7465 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_dumprecursing()
7466 view != NULL; in ns_server_dumprecursing()
7467 view = ISC_LIST_NEXT(view, link)) in ns_server_dumprecursing()
7470 view->name); in ns_server_dumprecursing()
7471 dns_resolver_dumpfetches(view->resolver, fp); in ns_server_dumprecursing()
7526 dns_view_t *view; in ns_server_validation() local
7555 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_validation()
7556 view != NULL; in ns_server_validation()
7557 view = ISC_LIST_NEXT(view, link)) in ns_server_validation()
7559 if (ptr != NULL && strcasecmp(ptr, view->name) != 0) in ns_server_validation()
7561 result = dns_view_flushcache(view); in ns_server_validation()
7564 view->enablevalidation = enable; in ns_server_validation()
7579 dns_view_t *view; in ns_server_flushcache() local
7611 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_flushcache()
7612 view != NULL; in ns_server_flushcache()
7613 view = ISC_LIST_NEXT(view, link)) in ns_server_flushcache()
7615 if (strcasecmp(ptr, view->name) != 0) in ns_server_flushcache()
7621 if (nsc->cache == view->cache) in ns_server_flushcache()
7657 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_flushcache()
7658 view != NULL; in ns_server_flushcache()
7659 view = ISC_LIST_NEXT(view, link)) in ns_server_flushcache()
7661 if (!dns_view_iscacheshared(view)) in ns_server_flushcache()
7666 if (!nsc->needflush || nsc->cache != view->cache) in ns_server_flushcache()
7668 result = dns_view_flushcache2(view, ISC_TRUE); in ns_server_flushcache()
7674 "failed: %s", view->name, in ns_server_flushcache()
7716 dns_view_t *view; in ns_server_flushnode() local
7750 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_flushnode()
7751 view != NULL; in ns_server_flushnode()
7752 view = ISC_LIST_NEXT(view, link)) in ns_server_flushnode()
7754 if (viewname != NULL && strcasecmp(viewname, view->name) != 0) in ns_server_flushnode()
7762 result = dns_view_flushnode(view, name, tree); in ns_server_flushnode()
7770 target, view->name, in ns_server_flushnode()
7927 dns_view_t *view; in ns_server_tsigdelete() local
7943 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_tsigdelete()
7944 view != NULL; in ns_server_tsigdelete()
7945 view = ISC_LIST_NEXT(view, link)) { in ns_server_tsigdelete()
7946 if (viewname == NULL || strcmp(view->name, viewname) == 0) { in ns_server_tsigdelete()
7947 RWLOCK(&view->dynamickeys->lock, isc_rwlocktype_write); in ns_server_tsigdelete()
7948 result = delete_keynames(view->dynamickeys, target, in ns_server_tsigdelete()
7950 RWUNLOCK(&view->dynamickeys->lock, in ns_server_tsigdelete()
7971 list_keynames(dns_view_t *view, dns_tsig_keyring_t *ring, isc_buffer_t *text, in list_keynames() argument
7985 if (view != NULL) in list_keynames()
7986 viewname = view->name; in list_keynames()
8055 dns_view_t *view; in ns_server_tsiglist() local
8060 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_tsiglist()
8061 view != NULL; in ns_server_tsiglist()
8062 view = ISC_LIST_NEXT(view, link)) { in ns_server_tsiglist()
8063 RWLOCK(&view->statickeys->lock, isc_rwlocktype_read); in ns_server_tsiglist()
8064 result = list_keynames(view, view->statickeys, text, in ns_server_tsiglist()
8066 RWUNLOCK(&view->statickeys->lock, isc_rwlocktype_read); in ns_server_tsiglist()
8071 RWLOCK(&view->dynamickeys->lock, isc_rwlocktype_read); in ns_server_tsiglist()
8072 result = list_keynames(view, view->dynamickeys, text, in ns_server_tsiglist()
8074 RWUNLOCK(&view->dynamickeys->lock, isc_rwlocktype_read); in ns_server_tsiglist()
8171 dns_view_t *view; in ns_server_sync() local
8196 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_sync()
8197 view != NULL; in ns_server_sync()
8198 view = ISC_LIST_NEXT(view, link)) { in ns_server_sync()
8199 result = dns_zt_apply(view->zonetable, ISC_FALSE, in ns_server_sync()
8223 view = dns_zone_getview(zone); in ns_server_sync()
8224 if (strcmp(view->name, "_default") == 0 || in ns_server_sync()
8225 strcmp(view->name, "_bind") == 0) in ns_server_sync()
8230 vname = view->name; in ns_server_sync()
8259 dns_view_t *view; in ns_server_freeze() local
8272 for (view = ISC_LIST_HEAD(server->viewlist); in ns_server_freeze()
8273 view != NULL; in ns_server_freeze()
8274 view = ISC_LIST_NEXT(view, link)) { in ns_server_freeze()
8275 result = dns_view_freezezones(view, freeze); in ns_server_freeze()
8347 view = dns_zone_getview(zone); in ns_server_freeze()
8348 if (strcmp(view->name, "_default") == 0 || in ns_server_freeze()
8349 strcmp(view->name, "_bind") == 0) in ns_server_freeze()
8354 vname = view->name; in ns_server_freeze()
8427 dns_view_t *view = NULL; in ns_server_add_zone() local
8466 CHECK(dns_viewlist_find(&server->viewlist, viewname, rdclass, &view)); in ns_server_add_zone()
8469 if (view->new_zone_file == NULL) { in ns_server_add_zone()
8474 cfg = (struct cfg_context *) view->new_zone_config; in ns_server_add_zone()
8481 result = dns_zt_find(view->zonetable, dnsname, 0, NULL, &zone); in ns_server_add_zone()
8508 result = isc_stdio_open(view->new_zone_file, "a", &fp); in ns_server_add_zone()
8511 TCHECK(putstr(text, view->new_zone_file)); in ns_server_add_zone()
8518 CHECK(add_comment(fp, view->name)); in ns_server_add_zone()
8523 dns_view_thaw(view); in ns_server_add_zone()
8525 server->mctx, view, cfg->actx, ISC_FALSE); in ns_server_add_zone()
8526 dns_view_freeze(view); in ns_server_add_zone()
8535 CHECK(dns_zt_find(view->zonetable, dnsname, 0, NULL, &zone)); in ns_server_add_zone()
8559 dns_zt_unmount(view->zonetable, zone); in ns_server_add_zone()
8616 if (view != NULL) in ns_server_add_zone()
8617 dns_view_detach(&view); in ns_server_add_zone()
8629 dns_view_t *view = NULL; in ns_server_del_zone() local
8670 view = dns_zone_getview(zone); in ns_server_del_zone()
8671 filename = view->new_zone_file; in ns_server_del_zone()
8692 CHECK(add_comment(ofp, view->name)); in ns_server_del_zone()
8779 CHECK(isc_file_rename(tmpname, view->new_zone_file)); in ns_server_del_zone()
8795 CHECK(dns_zt_unmount(view->zonetable, zone)); in ns_server_del_zone()