From 3f853f22c87f0b671c0366eb290919719fa56c0e Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sat, 1 Jul 2017 00:53:05 +0200 Subject: resolv: Lift domain search list limits [BZ #19569] [BZ #21475] This change uses the extended resolver state in struct resolv_conf to store the search list. If applications have not patched the _res object directly, this extended search list will be used by the stub resolver during name resolution. --- ChangeLog | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index db534332da..006112603a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2017-06-30 Florian Weimer + + [BZ #19569] + [BZ #21475] + Support an arbitrary number of search domains. + * resolv/resolv_context.h (__resolv_context_search_list): New. + * resolv/resolv_conf.h (struct resolv_conf): Add search_list, + search_list_size members. + * resolv/resolv_conf.c (resolv_conf_matches): Compare search list. + (__resolv_conf_allocate): Allocate and and copy search list. + (update_from_conf): Copy the search list. + * resolv/res_init.c (struct search_list): Define using dynarray. + (struct resolv_conf_parser): Define. + (resolv_conf_parser_init, resolv_conf_parser_free) + (domain_from_hostname): New functions. + (res_vinit_1): Add struct resolv_conf_parser * parameter. Use + struct search_list to collect search list entries. Call + domain_from_hostname to obtain the fallback domain name. + (__res_vinit): Create and destroy parser object. Pass search list + to __resolv_conf_allocate. + * resolv/res_query.c (__res_context_search): Use + __resolv_context_search_list to obtain search list entries. + * resolv/tst-resolv-res_init-skeleton.c (print_resp): Print data + from extended resolver context. + (test_cases): Update. + 2017-06-30 Florian Weimer Add extended resolver state/configuration (struct resolv_conf). -- cgit v1.2.3