diff options
| author | Luke Huang <huangluke@google.com> | 2019-06-24 13:28:44 +0800 |
|---|---|---|
| committer | Luke Huang <huangluke@google.com> | 2019-07-03 15:38:40 +0800 |
| commit | 6898d5bb33dbbcc8bb263c79435c4f79db61e52c (patch) | |
| tree | ff8240819d3d869e142154d3b1bd3c6b0d03b400 /resolv/resolv_cache.h | |
| parent | 481ddf09b6cead845f65b29322a83079c8c350c9 (diff) | |
Use std::vector to store domains of nameservers and minor change
1.
Drop the old C style used to store domains.
Previously, resolv is limited to use 6 search domains with total 255 length.
(including zero padding)
After this change, the length of each domain could exactly be at most 255. (rfc 1035)
Also, invalid or duplicate domains will be dropped.
2. rename resolv_set_nameservers_for_net to resolv_set_nameservers
Bug: 135506574
Test: cd system/netd && atest
Change-Id: I94129ea521522c817d087332a7b467f616cc4895
Diffstat (limited to 'resolv/resolv_cache.h')
| -rw-r--r-- | resolv/resolv_cache.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/resolv/resolv_cache.h b/resolv/resolv_cache.h index 246aa910..1a27e4b0 100644 --- a/resolv/resolv_cache.h +++ b/resolv/resolv_cache.h @@ -64,8 +64,12 @@ int resolv_cache_add(unsigned netid, const void* query, int querylen, const void void _resolv_cache_query_failed(unsigned netid, const void* query, int querylen, uint32_t flags); // Sets name servers for a given network. -int resolv_set_nameservers_for_net(unsigned netid, const char** servers, int numservers, - const char* domains, const res_params* params); +int resolv_set_nameservers(unsigned netid, const char** servers, int numservers, + const std::vector<std::string>& domains, const res_params* params); + +// TODO: remove it after updating all callers. +int resolv_set_nameservers(unsigned netid, const char** servers, int numservers, + const char* domains, const res_params* params); // Creates the cache associated with the given network. int resolv_create_cache_for_net(unsigned netid); |
