History log of /system/netd/DnsProxyListener.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0cdb680c7648b0f48e6513926cb0a06d290a5cbe 05-Jul-2012 Jurijs Oniscuks <jurijs.oniscuks@sonymobile.com> Fix race condition in pthread_create()

Do not send "&this->mThread" to pthread_create() as newly
created thread can "delete this" before pthread_create() saves
thread id. This would lead to heap corruption.

Change-Id: I9c4cd5e1002b85985514a36ae542778a783db6fb
0475ae98cd8f45de815d67d1966edaf5997be9a9 27-Apr-2011 Brian Carlstrom <bdc@google.com> DNS Proxy should not hang on addresses containing null bytes

Two bugs here:

1.) The gethostbyaddr netd protocol was passing a binary address value
but the arguments are expected to be strings not containing
embedded nulls (or probably other special characters). This
happened reliably with IPv6 addresses which contained nulls. It
now expects an inet_ntop formatted address.

2.) Although the gethostbyaddr code detected something was wrong, it
wasn't doing any proper error handling, leaving clients hanging
waiting for a response. It now sends back an empty response so
that clients can continue.

A corresponding change will be necesssary in bionic for #1 for DNS
proxying to work, but given the fix for #2, the existing bionic code
will fall back to performing its own gethostbyaddr call.

Bug: 4344448
Change-Id: I2d03bfec0093c67e8052717c0f499f8871bcfb85
34ffd85aed3838d53bd1136c751a7825de1940e0 17-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> Reference count SocketClients.

Avoids a netd crash when the client closes its connection while
a DNS request is in-flight.

Depends on Icd7f5f03 in system/core.

Bug: 3438459
Change-Id: Ie6953196623b97ad2b90df951186fbfce84f8e4e
1dbd6cf148ea3fab57ec0644c336e94c78a488be 15-Feb-2011 Mattias Falk <mattias.falk@sonyericsson.com> Add GetHostByAddrHandler to DnsProxyListener

Added functionality to handle gethostbyaddr
in DnsProxyListener. The functionality is
used by getnameinfo. The patch is part of the
work to have one dns cache for all process in
the system.

Change-Id: Ia7609160d2bd1d3bbe2b79956bd208d137a8a9ee
4e248e5a7a542067fd3f0467680eef2f92b1e195 27-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> DNS proxy thread in netd.

New thread in the netd process which listens on the
/dev/socket/dnsproxyd socket (group owned by 'inet', so only useable
by apps with the INTERNET permission), and does getaddrinfo requests
for other processes, caching in one place, rather than per-app.

Still remaining: proper caching based on DNS-requested lengths, upping
the cache size, getnameinfo, stats, flush, etc, etc.

Change-Id: I1d65af7d87876e508c718656bd81217cd961e20a