diff options
author | Florian Weimer <fweimer@redhat.com> | 2017-07-01 00:53:05 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2017-07-03 21:01:42 +0200 |
commit | 3f853f22c87f0b671c0366eb290919719fa56c0e (patch) | |
tree | 23f8835838728d4be3efca524754c1a2f5bb0396 /ChangeLog | |
parent | f30a54b21b83f254533c59ca72ad17af5249c6be (diff) | |
download | glibc-3f853f22c87f0b671c0366eb290919719fa56c0e.zip glibc-3f853f22c87f0b671c0366eb290919719fa56c0e.tar.gz glibc-3f853f22c87f0b671c0366eb290919719fa56c0e.tar.bz2 |
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -1,5 +1,31 @@ 2017-06-30 Florian Weimer <fweimer@redhat.com> + [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 <fweimer@redhat.com> + Add extended resolver state/configuration (struct resolv_conf). * resolv/resolv_conf.h, resolv/resolv_conf.c: New files. * resolv/res-close.c (__res_iclose): Call __resolv_conf_detach. |