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 <stdarg.h>
|
||||||
#include "nsswitch.h"
|
#include "nsswitch.h"
|
||||||
|
|
||||||
|
#ifdef ANDROID_CHANGES
|
||||||
|
#include <sys/system_properties.h>
|
||||||
|
#endif /* ANDROID_CHANGES */
|
||||||
|
|
||||||
typedef union sockaddr_union {
|
typedef union sockaddr_union {
|
||||||
struct sockaddr generic;
|
struct sockaddr generic;
|
||||||
struct sockaddr_in in;
|
struct sockaddr_in in;
|
||||||
@ -419,6 +423,16 @@ android_getaddrinfo_proxy(
|
|||||||
return -1;
|
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.
|
// Bogus things we can't serialize. Don't use the proxy.
|
||||||
if ((hostname != NULL &&
|
if ((hostname != NULL &&
|
||||||
strcspn(hostname, " \n\r\t^'\"") != strlen(hostname)) ||
|
strcspn(hostname, " \n\r\t^'\"") != strlen(hostname)) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user