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:
commit
d05446b34e
@ -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)) ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user