diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2016-09-27 21:11:07 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2016-09-27 21:11:07 +0000 |
commit | 27c2fff0f2fef695b0599fc3931cacfc16376e88 (patch) | |
tree | b2599c622858ea78bd8237ce2ee38b62725dabf9 /util/config_file.h | |
parent | a6533d88996e7570cf04db0d99b6012d25a953d3 (diff) | |
download | src-27c2fff0f2fef695b0599fc3931cacfc16376e88.tar.gz src-27c2fff0f2fef695b0599fc3931cacfc16376e88.zip |
import unbound 1.5.10vendor/unbound/1.5.10
Notes
Notes:
svn path=/vendor/unbound/dist/; revision=306381
svn path=/vendor/unbound/1.5.10/; revision=306382; tag=vendor/unbound/1.5.10
Diffstat (limited to 'util/config_file.h')
-rw-r--r-- | util/config_file.h | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/util/config_file.h b/util/config_file.h index a51cdb464c0c..07edff7b4cf4 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -44,10 +44,12 @@ struct config_stub; struct config_strlist; struct config_str2list; +struct config_str3list; struct config_strbytelist; struct module_qstate; struct sock_list; struct ub_packed_rrset_key; +struct regional; /** * The configuration options. @@ -73,6 +75,8 @@ struct config_file { int do_ip4; /** do ip6 query support. */ int do_ip6; + /** prefer ip6 upstream queries. */ + int prefer_ip6; /** do udp query support. */ int do_udp; /** do tcp query support. */ @@ -292,12 +296,20 @@ struct config_file { struct config_strlist* local_zones_nodefault; /** local data RRs configured */ struct config_strlist* local_data; + /** local zone override types per netblock */ + struct config_str3list* local_zone_overrides; /** unblock lan zones (reverse lookups for AS112 zones) */ int unblock_lan_zones; /** insecure lan zones (don't validate AS112 zones) */ int insecure_lan_zones; /** list of zonename, tagbitlist */ struct config_strbytelist* local_zone_tags; + /** list of aclname, tagbitlist */ + struct config_strbytelist* acl_tags; + /** list of aclname, tagname, localzonetype */ + struct config_str3list* acl_tag_actions; + /** list of aclname, tagname, redirectdata */ + struct config_str3list* acl_tag_datas; /** tag list, array with tagname[i] is malloced string */ char** tagname; /** number of items in the taglist */ @@ -434,6 +446,21 @@ struct config_str2list { }; /** + * List of three strings for config options + */ +struct config_str3list { + /** next item in list */ + struct config_str3list* next; + /** first string */ + char* str; + /** second string */ + char* str2; + /** third string */ + char* str3; +}; + + +/** * List of string, bytestring for config options */ struct config_strbytelist { @@ -575,6 +602,10 @@ int cfg_strlist_append(struct config_strlist_head* list, char* item); */ int cfg_strlist_insert(struct config_strlist** head, char* item); +/** insert with region for allocation. */ +int cfg_region_strlist_insert(struct regional* region, + struct config_strlist** head, char* item); + /** * Insert string into str2list. * @param head: pointer to str2list head variable. @@ -585,8 +616,19 @@ int cfg_strlist_insert(struct config_strlist** head, char* item); int cfg_str2list_insert(struct config_str2list** head, char* item, char* i2); /** + * Insert string into str3list. + * @param head: pointer to str3list head variable. + * @param item: new item. malloced by caller. If NULL the insertion fails. + * @param i2: 2nd string, malloced by caller. If NULL the insertion fails. + * @param i3: 3rd string, malloced by caller. If NULL the insertion fails. + * @return: true on success. + */ +int cfg_str3list_insert(struct config_str3list** head, char* item, char* i2, + char* i3); + +/** * Insert string into strbytelist. - * @param head: pointer to str2list head variable. + * @param head: pointer to strbytelist head variable. * @param item: new item. malloced by caller. If NULL the insertion fails. * @param i2: 2nd string, malloced by caller. If NULL the insertion fails. * @param i2len: length of the i2 bytestring. @@ -619,6 +661,15 @@ void config_delstrlist(struct config_strlist* list); void config_deldblstrlist(struct config_str2list* list); /** + * Delete items in config triple string list. + * @param list: list. + */ +void config_deltrplstrlist(struct config_str3list* list); + +/** delete stringbytelist */ +void config_del_strbytelist(struct config_strbytelist* list); + +/** * Delete a stub item * @param p: stub item */ |