am 7a2e1a02: Merge "Don\'t proxy getaddrinfo when net.dns1.[MYPID] is set."

* commit '7a2e1a0245f5645661fdbc6887c2bc7c7f49e0ee':
  Don't proxy getaddrinfo when net.dns1.[MYPID] is set.
This commit is contained in:
Brad Fitzpatrick 2011-01-25 15:41:28 -08:00 committed by Android Git Automerger
commit d05446b34e

View File

@ -103,6 +103,10 @@
#include <stdarg.h>
#include "nsswitch.h"
#ifdef ANDROID_CHANGES
#include <sys/system_properties.h>
#endif /* ANDROID_CHANGES */
typedef union sockaddr_union {
struct sockaddr generic;
struct sockaddr_in in;
@ -419,6 +423,16 @@ android_getaddrinfo_proxy(
return -1;
}
// Temporary cautious hack to disable the DNS proxy for processes
// requesting special treatment. Ideally the DNS proxy should
// accomodate these apps, though.
char propname[PROP_NAME_MAX];
char propvalue[PROP_VALUE_MAX];
snprintf(propname, sizeof(propname), "net.dns1.%d", getpid());
if (__system_property_get(propname, propvalue) > 0) {
return -1;
}
// Bogus things we can't serialize. Don't use the proxy.
if ((hostname != NULL &&
strcspn(hostname, " \n\r\t^'\"") != strlen(hostname)) ||