From: Wouter Wijngaards Date: Mon, 19 Feb 2018 13:21:57 +0000 (+0000) Subject: - Fix for more maintainable code in localzone. X-Git-Tag: release-1.7.0rc1~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d57bf0a3b9860cd104764f7e6e785f01a035d1b;p=thirdparty%2Funbound.git - Fix for more maintainable code in localzone. git-svn-id: file:///svn/unbound/trunk@4542 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index 4f88187c1..92ecbd17c 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -3,6 +3,7 @@ wrong RFC. - Fix #3494: local-zone noview can be used to break out of the view to the global local zone contents, for queries for that zone. + - Fix for more maintainable code in localzone. 16 February 2018: Wouter - Fixes for clang static analyzer, the missing ; in diff --git a/services/localzone.c b/services/localzone.c index af432ab5b..dad1ad47e 100644 --- a/services/localzone.c +++ b/services/localzone.c @@ -1132,61 +1132,11 @@ void local_zones_print(struct local_zones* zones) lock_rw_rdlock(&zones->lock); log_info("number of auth zones %u", (unsigned)zones->ztree.count); RBTREE_FOR(z, struct local_zone*, &zones->ztree) { + char buf[64]; lock_rw_rdlock(&z->lock); - switch(z->type) { - case local_zone_deny: - log_nametypeclass(0, "deny zone", - z->name, 0, z->dclass); - break; - case local_zone_refuse: - log_nametypeclass(0, "refuse zone", - z->name, 0, z->dclass); - break; - case local_zone_redirect: - log_nametypeclass(0, "redirect zone", - z->name, 0, z->dclass); - break; - case local_zone_transparent: - log_nametypeclass(0, "transparent zone", - z->name, 0, z->dclass); - break; - case local_zone_typetransparent: - log_nametypeclass(0, "typetransparent zone", - z->name, 0, z->dclass); - break; - case local_zone_static: - log_nametypeclass(0, "static zone", - z->name, 0, z->dclass); - break; - case local_zone_inform: - log_nametypeclass(0, "inform zone", - z->name, 0, z->dclass); - break; - case local_zone_inform_deny: - log_nametypeclass(0, "inform_deny zone", - z->name, 0, z->dclass); - break; - case local_zone_always_transparent: - log_nametypeclass(0, "always_transparent zone", - z->name, 0, z->dclass); - break; - case local_zone_always_refuse: - log_nametypeclass(0, "always_refuse zone", - z->name, 0, z->dclass); - break; - case local_zone_always_nxdomain: - log_nametypeclass(0, "always_nxdomain zone", - z->name, 0, z->dclass); - break; - case local_zone_noview: - log_nametypeclass(0, "noview zone", - z->name, 0, z->dclass); - break; - default: - log_nametypeclass(0, "badtyped zone", - z->name, 0, z->dclass); - break; - } + snprintf(buf, sizeof(buf), "%s zone", + local_zone_type2str(z->type)); + log_nametypeclass(0, buf, z->name, 0, z->dclass); local_zone_out(z); lock_rw_unlock(&z->lock); }