History log of /bionic/libc/dns/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b0cfefac916a2e136afaeecb141d1804e19d6e6e 06-May-2016 Pierre Imai <imaipi@google.com> Always update search domain paths.

_resolv_set_nameservers_for_net() so far did not update the search
paths, unless the servers changed as well.

BUG: 28437641
Change-Id: Id31f2d97c173e00357fb2ba95908afb4572c0fc1
(cherry picked from commit 06e2202a4cc6d9a0f382a0bbdcdbd2d527734d5f)
esolv/res_cache.c
0b1a71f9a49ed13a680ff299c8d798cf36d565ea 27-Apr-2016 Pierre Imai <imaipi@google.com> Record the resolution start time on errors.

Also only record samples on the first try for a server.

BUG: 25731675

Change-Id: I10a68813c6636874e63aca1db661e63e1af72a2d
(cherry picked from commit 8b8611a0e6f1928b793c17e80d22c1e2810eadc0)
esolv/res_send.c
75746069ea649f84485343c300de13b62fce5e6f 26-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Fix DNS search path info.

Fix the resolver information returned by
android_net_res_stats_get_info_for_net,
erroneously included MAXDNSRCH empty results if no search path was set.

BUG: 25731675
Change-Id: I97ef5d2d47dc62ca403a3323c7f14902e47b29b6
(cherry picked from commit 1b069a990ad783cd20327a35df59fcdc83e2e1e2)
esolv/res_cache.c
21bf06372742b0524c358502eb692a2245d64dda 17-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Add new info functions to resolver for use by Netd.

android_net_res_stats_get_info_for_net returns the current name servers, search
domains, parameters and stats for the given network ID.

android_net_res_stats_aggregate provides statistics such as errors counts from
the raw stats data reported by android_net_res_stats_get_info_for_net.

android_net_res_stats_get_usable_servers uses the data returned by
android_net_res_stats_aggregate to determine which of the servers are
considered valid or broken by the resolver.

BUG: 25731675
Change-Id: I6059b68e5e8b809027a4d3135f6081588bee8a7d
nclude/resolv_params.h
nclude/resolv_private.h
nclude/resolv_stats.h
esolv/res_cache.c
esolv/res_send.c
esolv/res_stats.c
589afca92c2fa026f908ec2c54c0450c438c602c 18-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE Store DNS server count in resolv_cache.

Instead of keeping a sentinel after nameservers[], nsaddrinfo[] and
nstats[], store the server count in the structure, freeing up memory and
eliminating the need to enumerate the server count every time
_resolv_is_nameservers_equal_locked() is invoked.

Also increase MAXNS from 3 to 4.

BUG: 28153323
Change-Id: I11a7257af695157c9e32019cd00c67b535b63c75
(cherry picked from commit fff356786f8a3a98c5c29f12bb7e59e6d98076a9)
nclude/resolv_netid.h
nclude/resolv_params.h
esolv/res_cache.c
esolv/res_send.c
esolv/res_state.c
e4e4e9da72aca324c74d76a2f0ff91a5d4588655 06-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Reduce the amount of logging in Bionic's resolver.

Change-Id: I3b7b5ef5a5ee6ba3ad8654f792400d42d5ecd4b9
esolv/res_stats.c
8b50d08e826dacdd9422b7151121808307da3a10 05-Apr-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Fix off-by-one error in res_cache.c

(cherry picked from commit 03844d8cdb43c351d2c94eb67242966019f7600d)

Change-Id: Ib5fff46ac9211716a1577ee25bb22461c489ea9f
nclude/resolv_stats.h
esolv/res_cache.c
esolv/res_send.c
esolv/res_stats.c
4d8e740b0868b2670599b949ff07d74e5f317114 22-Feb-2016 Pierre Imai <imaipi@google.com> DO NOT MERGE: Ignore unreliable DNS servers.

Collect statistics about DNS query success state and delay. Ignore
servers that have been tried at least five times and have a success rate
of < 0.25. Retry these servers once every 180s.

Bug: 25731675

(cherry picked from commit 6b3f0d65f2c706625e5efb495df0f2c6178b965a)

Change-Id: Id989404b14fd885fb31a5a4de36a4186be1c9ad1
nclude/resolv_netid.h
nclude/resolv_params.h
nclude/resolv_private.h
nclude/resolv_stats.h
esolv/res_cache.c
esolv/res_send.c
esolv/res_stats.c
9db1f3efa8499fa6a97ba5f4b2f12d431b7d25fe 29-Feb-2016 Pierre Imai <imaipi@google.com> Copy the entire zero-separated DNS seach domain string.

The DNS search string contains zeros as domain separator. The resolver
code erroneously used strlcpy(), which resulted in only the first domain
to be copied. The code uses pointers into this string to access the
individual domains. Since the structure is zero-initialized, this bug only
resulted in zero-length domains instead of accessing unitialized memory.

BUG: 27312811
Change-Id: Ia9d066c405dfcc5e82d6766d93ead2ce574e7b0d
(cherry picked from commit 0967fc7e59cda0ea2561b0eaa58ed842da7c0eb9)
esolv/res_cache.c
506c6deff726c8c052ff5abb0cef57e63707bd1c 16-Jan-2016 Elliott Hughes <enh@google.com> Sync with upstream OpenBSD.

Also some minor build cleanup.

Change-Id: Ibd20602d7ea45685f0c47fceb00ffd6c7ae35954
nclude/resolv_private.h
dbb17b28312fee14f52bca39414ad200fc8ca5a1 06-Jul-2015 Elliott Hughes <enh@google.com> Fix alignment after variable-length data.

In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

(cherrypick of 65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3.)

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
et/gethnamaddr.c
01e37c9665018534c798daaa59d5b0adb408e0a4 25-Jun-2015 Erik Kline <ek@google.com> Pass around struct android_net_context for better behaviour

Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application. This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
nclude/resolv_netid.h
et/getaddrinfo.c
6170693e28dd72a1517c267f3f62b3f37477b8bb 31-Mar-2015 Elliott Hughes <enh@google.com> Make ThreadLocalBuffer a class rather than a macro.

Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705
esolv/res_state.c
9ecb7f40d01d7ee258d11277944cc2415635ea17 05-Mar-2015 Yabin Cui <yabinc@google.com> am c3307dc4: Merge "Better control of pthread keys used in bionic."

* commit 'c3307dc43b2526c4031837738b139d22831c5d09':
Better control of pthread keys used in bionic.
4a2891d8c8f09a64ea9e1479518b0cc969bd5969 05-Mar-2015 Yabin Cui <yabinc@google.com> Better control of pthread keys used in bionic.

Change-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5
esolv/res_state.c
8dc24ee55e05cfb54af5ef29d9f8a19ef65462c1 10-Feb-2015 Yabin Cui <yabinc@google.com> am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."

* commit '3a31e697ca3c1207bfec64b555bcff7b129348a3':
Define MAXHOSTNAMELEN explicitly in source files.
2d8f9b5aea90b57cd01c0a07cfff032092b4672e 09-Feb-2015 Yabin Cui <yabinc@google.com> Define MAXHOSTNAMELEN explicitly in source files.

Bug: 19093777
Bug: 19092844
Change-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817
nclude/resolv_private.h
0772f933a4e5e7659c7dbc37d784a5f25a2ce94b 30-Jan-2015 Elliott Hughes <enh@google.com> am 6cf2cf8b: am 542b94d9: Merge "Remove unused CONFIG_SECONDS."

* commit '6cf2cf8bf26b99b7318791c75cbccfd95893b04e':
Remove unused CONFIG_SECONDS.
4dcfccff8d8dacefe79b5176b9b917fd1a0f3e47 30-Jan-2015 Elliott Hughes <enh@google.com> Remove unused CONFIG_SECONDS.

Bug: https://code.google.com/p/android/issues/detail?id=65951
Change-Id: I8ae7057c68e16618de6dd06cf052426c6cad8a3d
esolv/res_cache.c
dbfcf000c077ba97d22d957647eabb3b45d015cf 29-Jan-2015 Elliott Hughes <enh@google.com> am e40b4eb3: am 7f17aea2: Merge "Add missing includes."

* commit 'e40b4eb35a6f8ae5c286f53abb920b452b7b6792':
Add missing includes.
05fc1d7050d5451aea08dc5f504d2670287b2d43 29-Jan-2015 Elliott Hughes <enh@google.com> Add missing includes.

Change-Id: Ibf549266a19a67eb9158d341a69dddfb654be669
et/getservent.c
5bf4a1729ad35356c8c18b77842e9bac0f1ea0b2 27-Jan-2015 Elliott Hughes <enh@google.com> am dedacf10: am 5c7964c5: Merge "Clean up <stdlib.h> slightly."

* commit 'dedacf109b35e74d76594c29560a09f4ef3eb94d':
Clean up <stdlib.h> slightly.
5c7964c5f159bc3e1bbc577c7ace52177f399b21 27-Jan-2015 Elliott Hughes <enh@google.com> Merge "Clean up <stdlib.h> slightly."
ecbeee61ede2b1100e6ff8f3e1d181e7049242c2 27-Jan-2015 Lorenzo Colitti <lorenzo@google.com> am 329db346: am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."

* commit '329db346f54c629e0c9fcc98c21c19619a573e9b':
Make bionic compile even if resolver debugging is enabled.
76f8916b904db14facf811ae44e1265261349702 26-Jan-2015 Elliott Hughes <enh@google.com> Clean up <stdlib.h> slightly.

Interestingly, this mostly involves cleaning up our implementation of
various <string.h> functions.

Change-Id: Ifaef49b5cb997134f7bc0cc31bdac844bdb9e089
esolv/res_state.c
616344d169542aa0549ab19b0ed931e14014907f 28-Nov-2014 Lorenzo Colitti <lorenzo@google.com> Make bionic compile even if resolver debugging is enabled.

The code now compiles with all combinations of DEBUG and
DEBUG_DATA except DEBUG_DATA=1, DEBUG=0, which is unsupported.

Change-Id: I9035a65c649df73092f1fc0864ae1cdd9a14aa3b
esolv/res_cache.c
6428c625e8012cbb7a367e900d2a9c31439c6ebf 21-Jan-2015 Elliott Hughes <enh@google.com> am 7d196768: am 927d8be7: Merge "Fix build error when XLOG is enabled"

* commit '7d196768029f36b0e3fa57ba747ce58ef2b1c9d6':
Fix build error when XLOG is enabled
a6a0949b1d629daaf297fe7d1f1d68f636c2bb4a 21-Jan-2015 Patrick Tjin <pattjin@google.com> Fix build error when XLOG is enabled

(cherrypick of 79a49c9857f3949fc13373eeb179f27b6ecdca81.)

Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
esolv/res_cache.c
857e1124433a4946bc38f427d390ef39a2f083b1 09-Jan-2015 Elliott Hughes <enh@google.com> am e6594658: am 8623dc75: Merge "Fix freeaddrinfo(NULL)."

* commit 'e6594658f7d36172007a2573e345d6ae0d0ac58a':
Fix freeaddrinfo(NULL).
c62a4b5a7aede760b06298f4b641b5a9768f5744 09-Jan-2015 Elliott Hughes <enh@google.com> Fix freeaddrinfo(NULL).

Bug: https://code.google.com/p/android/issues/detail?id=13228
Change-Id: I5e3b126d90d750a93ac0b8872198e50ba047e603
et/getaddrinfo.c
598f86661d242f60c9a885fee7c90d9a692488ad 20-Dec-2014 Yabin Cui <yabinc@google.com> am e4d3161a: am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."

* commit 'e4d3161a84c0373d35f43f981559212a9ae44397':
Move gethtnamaddr.c to net/ subdirectory.
a2177c6ccb65104659543c895b753458abfadcab 20-Dec-2014 Yabin Cui <yabinc@google.com> Move gethtnamaddr.c to net/ subdirectory.

It may be the better place to stay.

Change-Id: I517cc2769f63e1873191768c4732907c14f2c60e
ethnamaddr.c
et/gethnamaddr.c
b695cb47c36f63d63ca6c29e7a922e32c16aa416 20-Dec-2014 Yabin Cui <yabinc@google.com> am be327941: am e28a1864: Merge "Support gethostbyname_r_ERANGE."

* commit 'be32794141e95ea5d65626bbf29be95b9d974d54':
Support gethostbyname_r_ERANGE.
7069256495ef8a38a16a39a8570800e9e5290004 19-Dec-2014 Yabin Cui <yabinc@google.com> Support gethostbyname_r_ERANGE.

Bug: 18802601
Change-Id: Iaa64921e96f91e330f1845c5399ee8aba39d9c10
ethnamaddr.c
et/nsdispatch.c
et/sethostent.c
858e239094ba014ec36bee7bab43da29525bbe3a 18-Dec-2014 Yabin Cui <yabinc@google.com> am 9a734138: am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."

* commit '9a734138138fcde0a2f0935e86246b9d7ff0ccb1':
Sync with upstream for gethnamaddr.c.
58d33a51f336d6823ef1ec915949a5884699ff5f 17-Dec-2014 Yabin Cui <yabinc@google.com> Sync with upstream for gethnamaddr.c.

Bug: 18566967
Change-Id: I37e7410226b49eec67614e20b2c1d5e3e47817a5
ethnamaddr.c
nclude/hostent.h
et/sethostent.c
bb3579f8787fb6cafe5e6373c91e78556f100dfc 13-Dec-2014 Yabin Cui <yabinc@google.com> am 96cd50f2: am 0e32e39d: Merge "Fix pthread key num calculation."

* commit '96cd50f2fc33b0d342f1733894b06fd59a725519':
Fix pthread key num calculation.
6c238f2926e69a950f0671ae5519584c20d84196 12-Dec-2014 Yabin Cui <yabinc@google.com> Fix pthread key num calculation.

Bug: 18723085
Change-Id: Iba2c834b350e4cdba0b2d771b221560a3e5df952
esolv/res_state.c
a70d54786fb98ec8378a246126ec0c589358691f 11-Dec-2014 Elliott Hughes <enh@google.com> am 1dff030e: am e7b8bc4e: Merge "Clean up DNS proxying."

* commit '1dff030e6eb527eeb4e7ed163cf19641fdb3872b':
Clean up DNS proxying.
9773fa3ffd7c2d1de2431b8ea1eb8043e8959fcb 10-Dec-2014 Elliott Hughes <enh@google.com> Clean up DNS proxying.

Remove code duplication and fall back to trying directly if the proxy
isn't available. With this, tests still work if netd is dead (perhaps
because you've run "adb shell stop", or because you're running on the host).

Bug: 18547878
Change-Id: Ia4a9aa18b1fc79e09735107246989fa7fc6c8455
ethnamaddr.c
nclude/resolv_netid.h
et/getaddrinfo.c
et/getnameinfo.c
8a94b864bf0b87e51aa32a856c847f11cd19047b 02-Dec-2014 Lorenzo Colitti <lorenzo@google.com> am e5477f83: Fail queries fast if no DNS servers are configured.

* commit 'e5477f83b0a639b86d8cbe710f25d9808a8f72af':
Fail queries fast if no DNS servers are configured.
e5477f83b0a639b86d8cbe710f25d9808a8f72af 28-Nov-2014 Lorenzo Colitti <lorenzo@google.com> Fail queries fast if no DNS servers are configured.

When no DNS servers are configured (and thus there is no chance
that the DNS query will suceed), res_nsend returns early, but
it does not tell the cache that the query has failed.
Therefore, if the caller retries the query, it will block for
PENDING_REQUEST_TIMEOUT (= 20 seconds) waiting for the "existing
query" (which isn't actually doing anything) to complete.

Bug: 18240188
Bug: 18327075
Change-Id: I0df13ff4a17ee65e640be96695a3af31b020963a
esolv/res_send.c
3638a83657d9833816e579778394a40ae4178868 25-Nov-2014 Robert Alm <robert2.alm@sonymobile.com> Add error-check when mapping socket to fd

The call to fdopen can fail in several ways.
The fprintf on the next line will then dereference a
NULL-pointer FILE*.
Added a NULL-check, closed the socket, returned system error
and added a comment about it.

Change-Id: I7a6b26aa3c79452b1fdd76af12dfa75da88cbad7
et/getaddrinfo.c
55293c1dad2f88e6d1d11822bb9edda95563b02b 13-Nov-2014 Elliott Hughes <enh@google.com> Don't receive structs containing pointers over sockets.

Fixes x86-64 netd.

Change-Id: Iee5ef802ebbf2e000b2593643de4eec46f296c04
et/getaddrinfo.c
ac5df33e091c079d667354d225ed37d23326a270 28-Oct-2014 Elliott Hughes <enh@google.com> am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."

* commit '6c5694b6c8343d740c36adbe904442cecd8030a6':
Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
ba811120ae10ddca1ffc8855bf1d83e99b08bcd9 13-Aug-2014 Derek Xue <derek.xue@linaro.org> Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).

This change is to migrate the getaddrinfo tests defined in the old file
system/extras/tests/bionic/libc/common/test_getaddrinfo.c
to the new place bionic/tests/netdb_test.cpp.

The test here is more thorough, and catches a bug in getservbyname(3)
that was breaking getaddrinfo(3)'s ability to look up services by name
without a hint that would cause it to ask for a specific protocol.

Change-Id: Ief5ebd0869496d1bc6a97861dfefa04bdf24bab1
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
et/getservbyname.c
a2220ffb74c16c5c55e6d74a84eca8d5639a0ad9 09-Oct-2014 Dan Albert <danalbert@google.com> am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."

* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
Replace uses of sprintf(3) with snprintf(3).
cfd8c45725d85f3e2bfccb6b14a9bff59fd5c4c7 08-Oct-2014 Dan Albert <danalbert@google.com> Replace uses of sprintf(3) with snprintf(3).

At -00, the compiler warns about sprintf(3), and it is promoted to an
error by -Werror.

Change-Id: Ibb380d27d7eb09dda8ac785be2478d656b379190
nclude/resolv_private.h
ameser/ns_name.c
ameser/ns_print.c
ameser/ns_ttl.c
esolv/res_cache.c
esolv/res_debug.c
esolv/res_query.c
d87d401ab134996d1f25f5b63cefb48b5b5877c8 18-Aug-2014 Elliott Hughes <enh@google.com> Improve <sys/cdefs.h>.

Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Bug: 17784968

(cherry picked from commit 2cfb4e8e2e217ef0e4140dcbf9b3da809781158c)

Change-Id: I5e96146f92c0521248c78c0933bec5e9a9818222
esolv/__dn_comp.c
esolv/__res_close.c
esolv/__res_send.c
33a73bfa0712c483830e4c9abbf4d6a0551478bf 08-Sep-2014 Lorenzo Colitti <lorenzo@google.com> When comparing DNS server configs, also compare number of servers

Bug: 16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
esolv/res_cache.c
da0ed4cbfa10eb3f6a48ef116ae0441239daf7bf 09-Sep-2014 Lorenzo Colitti <lorenzo@google.com> am c71483c0: Merge "When comparing DNS server configs, also compare number of servers"

* commit 'c71483c0b38a6b4f2675f0bffa221dcf175c34ac':
When comparing DNS server configs, also compare number of servers
c71483c0b38a6b4f2675f0bffa221dcf175c34ac 09-Sep-2014 Lorenzo Colitti <lorenzo@google.com> Merge "When comparing DNS server configs, also compare number of servers"
bce18c91638e9f37ef2c37555cbb41a0f1f98ab0 08-Sep-2014 Lorenzo Colitti <lorenzo@google.com> When comparing DNS server configs, also compare number of servers

Bug: 16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
esolv/res_cache.c
f975bc2d59b064e08f5d01ecd0724cb76351727f 27-Aug-2014 Elliott Hughes <enh@google.com> am 7b87d441: Merge "Switch to OpenBSD res_random."

* commit '7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce':
Switch to OpenBSD res_random.
06b033942ae7c6d967e4c58a4dd649e421598eba 27-Aug-2014 Elliott Hughes <enh@google.com> am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."

* commit '59de803af98a284378303489f614be3e53800b3f':
libc should use O_CLOEXEC when opening files for its own use.
7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce 27-Aug-2014 Elliott Hughes <enh@google.com> Merge "Switch to OpenBSD res_random."
c674edbf27450bbb2396b1434421b1db5325d8f4 27-Aug-2014 Elliott Hughes <enh@google.com> libc should use O_CLOEXEC when opening files for its own use.

Change-Id: I159f1d57e0ca090d837f57854fcef5879b8b8248
ethnamaddr.c
et/getaddrinfo.c
esolv/res_cache.c
esolv/res_init.c
1b6b56a9a662eb68a0eb707c556287b0f7810556 20-Aug-2014 Elliott Hughes <enh@google.com> am 7134fc30: Merge "Regenerate "services.h" from /etc/services."

* commit '7134fc30892bff763e7c24ac722151e0777b5409':
Regenerate "services.h" from /etc/services.
c228979648e0812b2032d9d622af20153ddf4f29 19-Aug-2014 Elliott Hughes <enh@google.com> am 205cc415: Merge "Improve <sys/cdefs.h>."

* commit '205cc41556d44b104a21bc6839b7ea44f72df9ba':
Improve <sys/cdefs.h>.
2cfb4e8e2e217ef0e4140dcbf9b3da809781158c 18-Aug-2014 Elliott Hughes <enh@google.com> Improve <sys/cdefs.h>.

Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Change-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522
esolv/__dn_comp.c
esolv/__res_close.c
esolv/__res_send.c
c4a1de1ae23982583ec0bbbcb2f9da629b080514 20-Aug-2014 Elliott Hughes <enh@google.com> Regenerate "services.h" from /etc/services.

Change-Id: Iec118f9a342b5c1f6ce6d48965798b12a7159ad3
et/services.h
1544eae56e2713a199e085438809078ebad8e7d1 06-Aug-2014 Paul Jensen <pauljensen@google.com> Revert most of "Cleanup: Delete dead code."

This reverts most of commit 2582f02a01cd56c56a4e6c9de4444a6ec937cc37.
The DNS cache flushing code needs to be called when routes change.

Change-Id: I5b04121bc428cc6a2e136b6c3269c395bfb4981f
bug:16549455
nclude/resolv_netid.h
esolv/res_cache.c
2582f02a01cd56c56a4e6c9de4444a6ec937cc37 20-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Cleanup: Delete dead code.

Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
ethnamaddr.c
nclude/resolv_netid.h
esolv/res_cache.c
0f7d882bb7661f9601f3843b0e393b6155cd9571 22-Jul-2014 Elliott Hughes <enh@google.com> Switch to OpenBSD res_random.

Change-Id: Ia971d647832893e9bb4601697132a105524d2f96
esolv/res_init.c
88ed7d2cc179995ef056468c0a77c8eb28526f00 07-Jul-2014 Elliott Hughes <enh@google.com> am d5a6a5e1: am db42a9f5: Merge "Fix three clang complaints about the DNS code."

* commit 'd5a6a5e18d66543bdfa4dffdfeec80eff32a87b9':
Fix three clang complaints about the DNS code.
cda4006cc73827b6f3c77fd783ee22434e34a799 03-Jul-2014 Elliott Hughes <enh@google.com> am 2a70aba8: am ab4fc823: Merge "Fix all resolv warnings and turn on -Werror."

* commit '2a70aba8460eff1bfb1417c271c6a5a53c560afa':
Fix all resolv warnings and turn on -Werror.
37b1b5bbcd1cddf833c9ca18a5976efbbf88dabf 03-Jul-2014 Elliott Hughes <enh@google.com> Fix all resolv warnings and turn on -Werror.

The res_init.c changes bring us a bit closer to upstream too, though
there's still work to be done there. Some of the remaining differences
look like bugs we'd want to fix, so we should definitely try to come
back to that.

Change-Id: I50baa148e967c90d55d711e9904ad54c7d724d4d
et/getservbyname.c
et/getservbyport.c
esolv/res_cache.c
esolv/res_init.c
esolv/res_send.c
68c2755d71750401d82d9aa17774ebd385cb5dc0 07-Jul-2014 Elliott Hughes <enh@google.com> Fix three clang complaints about the DNS code.

These are all already fixed upstream in the same way.

Change-Id: I2881b6d0fbd0237fffc0f00563bc14750dcce0d9
ethnamaddr.c
esolv/res_send.c
esolv/res_state.c
b18a1c3d195ac7bc2affc713d06050d0503c1b22 01-Jul-2014 Nick Kralevich <nnk@google.com> am e844f27a: am bcf77b5d: Merge "add CLOEXEC to various DNS related code"

* commit 'e844f27a05b32b7bf2fd68b1bd69e450040c1e24':
add CLOEXEC to various DNS related code
dd9efcbab631a823d67c71a36e17c15ebd8fe502 01-Jul-2014 Elliott Hughes <enh@google.com> am c5f1504e: am 6cdab387: Merge "Restore <nsswitch.h> which is BSD API, not private."

* commit 'c5f1504e3db3a39bb951bf01e2d0d758ca93cc44':
Restore <nsswitch.h> which is BSD API, not private.
bcf77b5dfff2c93187c42c613ada6d2b97bb02d4 01-Jul-2014 Nick Kralevich <nnk@google.com> Merge "add CLOEXEC to various DNS related code"
a3117041035c72b843d7b59a0d1b33f70caad368 30-Jun-2014 Elliott Hughes <enh@google.com> Restore <nsswitch.h> which is BSD API, not private.

Also make nsdispatch non-hidden. Firefox uses it.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1030899
Change-Id: Iaccc1ec813d196ec91ac475fcc4ae9dca756861d
nclude/nsswitch.h
et/nsdispatch.c
71ee128e0cec0a5f43fb40fef81231a5d446d76f 30-Jun-2014 Elliott Hughes <enh@google.com> am e1047515: am f72c56d6: Merge "Switch to upstream NetBSD nsap_addr.c."

* commit 'e104751566da6e8ef340926781d5ef120bf1d801':
Switch to upstream NetBSD nsap_addr.c.
a210cae724313604f8cbd49cc6deab1be5239083 30-Jun-2014 Elliott Hughes <enh@google.com> Switch to upstream NetBSD nsap_addr.c.

These symbols should be public (and Firefox uses them), and we'd also probably
rather have the upstream thread-safe implementation.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1030899
Change-Id: I2a5888fbb3198546848398f576fd2195ff3fe00c
net/nsap_addr.c
1781ed7774671d5a750839650b9582ff0abbcf42 30-Jun-2014 Nick Kralevich <nnk@google.com> add CLOEXEC to various DNS related code

Occasionally file descriptors seem to be leaking across execs
from DNS related calls. Set close-on-execute for the various
sockets / file to prevent file descriptor leakage.

Change-Id: I4724b47bc7236f40c29518a6075598a9bba48b0a
ethnamaddr.c
et/getaddrinfo.c
esolv/res_init.c
esolv/res_send.c
1f29fd72c88dd38298654ffe9fc5c0bc73a8871a 13-Jun-2014 Elliott Hughes <enh@google.com> am 7e6f6965: am 1e7ae47d: Merge "Bring our "libresolv" stuff in line with glibc."

* commit '7e6f6965982183ebae357e61e7bad55b91e97cc9':
Bring our "libresolv" stuff in line with glibc.
62e50ea8deebffca75d6ecfeac3279880de4f60b 13-Jun-2014 Elliott Hughes <enh@google.com> am 294cae0f: am 1aaed87f: Merge "Somewhere, the declaration of _resolv_delete_cache_for_net went missing."

* commit '294cae0f18ceae96e1a5f8b42ae9fd8064b98746':
Somewhere, the declaration of _resolv_delete_cache_for_net went missing.
b38018f78605228db3fdebe2f5263904c7418eae 13-Jun-2014 Elliott Hughes <enh@google.com> am c189362d: am 564222e3: Merge "Use default hidden visibility to build libc_dns."

* commit 'c189362d879520243cc9e1ba65b9828165efa159':
Use default hidden visibility to build libc_dns.
8563802b04347951d8878747a830987e5ca145f5 16-May-2014 Elliott Hughes <enh@google.com> Use default hidden visibility to build libc_dns.

Bug: 11156955
Change-Id: Ia443705f5fbee0681039d4480abc89850968f475
nclude/resolv_netid.h
e8e453439fa87d9fccf03006cc4dac76acadf44c 13-Jun-2014 Elliott Hughes <enh@google.com> Bring our "libresolv" stuff in line with glibc.

Despite the name, most of resolv_private.h is actually in glibc; it's just
that there it's tucked away in libresolv whereas we have it in libc.

Change-Id: Ibcf6603f1141ffd2661cee0bffa83052d4f9e549
nclude/resolv_private.h
7f2d4c21cc7b7f27a5163f5a6d5bc724116a8cde 13-Jun-2014 Elliott Hughes <enh@google.com> Somewhere, the declaration of _resolv_delete_cache_for_net went missing.

I couldn't work out where this went missing from "git log", but it became
important with the switch to hidden visibility.

Change-Id: I921f81e36642a2c65c3ec85dc9b5b87c5d977a5b
nclude/resolv_netid.h
31ad03761d35ce5bff48cc1cb3764816727ac1f0 29-May-2014 Paul Jensen <pauljensen@google.com> Make host resolver call __connect() rather than connect() so mark isn't cleared.

Calling connect() will erase the mark set by the host resolver code because the
explicitlySelected bit of the Fwmark isn't set. It's by design that the
explicitlySelected bit isn't set as this facilitates falling through to other
routing rules if the selected network doesn't provide a route to the DNS server
as may be the case with VPNs.

Change-Id: I60ba7c754194ead97df3ac6a6c5b3db1f446dac8
nclude/resolv_private.h
et/getaddrinfo.c
esolv/res_send.c
5240b562e7e9de2f31ba70f71c394c5529aadf0f 15-May-2014 Paul Jensen <pauljensen@google.com> Query libnetd_client for the appropriate netId for host resolution.

If libnetd_client can't be found, operate as before and use the default netId
potentially overriden by a more specific netId passed in to
android_get*fornet().

(cherry picked from commit 559c7842cc6862568d9b5799fc0bcf74d58b596b)

Change-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b
ethnamaddr.c
et/getaddrinfo.c
57a26275754730c0b1c8ec313b99cbefc10564c9 19-May-2014 Sreeram Ramachandran <sreeram@google.com> Fix build breakage.

Change-Id: I1835198c64c28021b81f0c790f108685a3f456c7
ethnamaddr.c
et/getaddrinfo.c
559c7842cc6862568d9b5799fc0bcf74d58b596b 15-May-2014 Paul Jensen <pauljensen@google.com> Query libnetd_client for the appropriate netId for host resolution.

If libnetd_client can't be found, operate as before and use the default netId
potentially overriden by a more specific netId passed in to
android_get*fornet().

Change-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b
ethnamaddr.c
et/getaddrinfo.c
41d9a503716ed6f3291f4cae097dca08d459429c 08-Apr-2014 Paul Jensen <pauljensen@google.com> Add support for deleting per-network DNS resolver caches.
This is required when the possible range of NetIds is large to
prevent netd consuming excessive amounts of memory.
This required replacing the per-cache locks in favor of a single
global lock to prevent accesses to deleted caches.

Change-Id: I99d058bafea5de743e56075dbed74031da4df63f
nclude/resolv_cache.h
nclude/resolv_netid.h
esolv/res_cache.c
esolv/res_send.c
3e5f0c9849bf09ad9a5b1999430aec796276d9f6 06-May-2014 Elliott Hughes <enh@google.com> Fix a gethnamaddr.c warning that's already fixed upstream.

We're still way out of sync, but this cleans up a tiny corner.

Change-Id: I51e76601785bf351d6418841b56e08a900a84d82
ethnamaddr.c
ea9bf6788144b83cc51c454b2bfe6b980d6e947c 14-Feb-2014 Szymon Jakubczak <szym@google.com> bionic: Replace iface with opaque netid in resolver.

Replace iface cache key with netid.

Replace _mark with netid.

Mark sockets used to test IPv4/IPv6 support as well as sockets
used to determine source address for rfc6724 sort.

Remove pid/uid mappings (functionality moved to system/netd).

Do not create resolv_cache when it does not exist, but rather only
when DNS configuration is supplied.

Clean up unused functions.

Change-Id: I9ccfda2902cc0943e87c9bc346ad9a2578accdab
ethnamaddr.c
nclude/resolv_cache.h
nclude/resolv_iface.h
nclude/resolv_netid.h
nclude/resolv_private.h
et/getaddrinfo.c
et/getnameinfo.c
esolv/res_cache.c
esolv/res_init.c
esolv/res_query.c
esolv/res_send.c
esolv/res_state.c
c20de902875dcaebde0ccd0b7a8351598f254d4c 20-Mar-2014 Calin Juravle <calin@google.com> Remove ALIGNBYTES and ALIGN from <sys/param.h>

There are only three users of bionic definition of ALIGN and keeping it
in sys/param.h polutes the namespace.

I inline the definition in the the three places that's used.

Bug: 13400663
Change-Id: I565008e8426c38ffb07422f42cd8e547d53044e9
ethnamaddr.c
205c7887add8b8c85434c35158138f16265beb28 14-Mar-2014 Elliott Hughes <enh@google.com> Clean up reentrancy cruft.

The DNS copy of reentrant.h was unused, so remove it.

The strtod implementation can use the upstream-netbsd reentrant.h and
get a little closer to what was then upstream. (It's since been replaced
by gdtoa, and we'll have to follow at some point, but for now this doesn't
make anything any worse.)

ANDROID_CHANGES is (now) only used in the DNS code, so push the -D
down.

The <locale.h> change prevents an LP32 hack from leaking into LP64.

Change-Id: Idf30b98a59d7ca8f7c6cd6d07020b512057911ef
et/reentrant.h
f2cea021ab2c6d7d7feeb40cca098aa132605876 13-Mar-2014 Elliott Hughes <enh@google.com> Clean up <stdio.h> macros.

Also neuter __isthreaded.

We should come back to try to hide struct FILE's internals for LP64.

Bug: 3453512
Bug: 3453550
Change-Id: I7e115329fb4579246a72fea367b9fc8cb6055d18
et/reentrant.h
0ad555a9089ea184060d9a1e16e0b95aafeb504b 07-Mar-2014 Calin Juravle <calin@google.com> Update res_debug.c to take into account changes
to the nameser.h

Bug: 13219633
Change-Id: Id75de2e8933f716ad86ca296a97f5c619fb946a7
esolv/res_debug.c
85c5202a64e3cb63e54550fca7bb11f24b9d12cc 06-Mar-2014 Calin Juravle <calin@google.com> Fix broken pointer overflow check ns_name_unpack()

Many compilers may optimize away the overflow check `msg + l < msg',
where `msg' is a pointer and `l' is an integer, because pointer
overflow is undefined behavior in C.

Use a safe precondition test `l >= eom - msg' instead.
Bug: 13219633

Change-Id: I3fca2125834073cc36d7e9c4e586e97842265a59
ameser/ns_name.c
fcb502e3ec032497bba7f8634fb214e0c05394d8 05-Mar-2014 Calin Juravle <calin@google.com> Sync up nameser with upstream(2014.03.05)

Bug: 13219633

Change-Id: I8ee4ddf270710e9eea415fa3db984af7719a8dd4
ameser/ns_name.c
ameser/ns_netint.c
ameser/ns_parse.c
ameser/ns_print.c
ameser/ns_samedomain.c
ameser/ns_ttl.c
569fb9887d00104509df79fa77d92e3cf9afe7db 04-Mar-2014 Calin Juravle <calin@google.com> Moved nameser.h and namser_compat.h to public include dir

This is part of the upstream sync (Net/Open/Free BSDs expose the
nameser.h in their public headers).

Change-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf
ethnamaddr.c
net/nsap_addr.c
ameser/ns_name.c
ameser/ns_netint.c
ameser/ns_parse.c
ameser/ns_print.c
ameser/ns_samedomain.c
ameser/ns_ttl.c
et/base64.c
et/getaddrinfo.c
et/getnameinfo.c
esolv/herror.c
esolv/res_cache.c
esolv/res_comp.c
esolv/res_data.c
esolv/res_debug.c
esolv/res_init.c
esolv/res_mkquery.c
esolv/res_query.c
esolv/res_send.c
esolv/res_state.c
cecc036970fba8b319cca302768865677f2be094 03-Mar-2014 Calin Juravle <calin@google.com> Moved private dns header to their own dir.

Bug: 13219633
Change-Id: I3435ef7564b9ad3c7b54188a0809440993b36c9e
nclude/nsswitch.h
nclude/resolv_cache.h
nclude/resolv_iface.h
nclude/resolv_private.h
nclude/resolv_static.h
bd33537fde8e1c68fcadfd6adf77b295ada9b45f 28-Feb-2014 Calin Juravle <calin@google.com> Renamed the misleading libc/netbsd directory to libc/dns.

Bug: 13219633
Change-Id: Ide43add0b90b3081cc709a22d1ff1f59d65f1104
ethnamaddr.c
net/nsap_addr.c
ameser/ns_name.c
ameser/ns_netint.c
ameser/ns_parse.c
ameser/ns_print.c
ameser/ns_samedomain.c
ameser/ns_ttl.c
et/base64.c
et/getaddrinfo.c
et/getnameinfo.c
et/getservbyname.c
et/getservbyport.c
et/getservent.c
et/nsdispatch.c
et/reentrant.h
et/servent.h
et/services.h
esolv/__dn_comp.c
esolv/__res_close.c
esolv/__res_send.c
esolv/herror.c
esolv/res_cache.c
esolv/res_comp.c
esolv/res_data.c
esolv/res_debug.c
esolv/res_debug.h
esolv/res_init.c
esolv/res_mkquery.c
esolv/res_private.h
esolv/res_query.c
esolv/res_send.c
esolv/res_state.c