libevent: Update from 2.0.22 to 2.1.8
[termux-packages] / packages / libevent / evdns.c.patch
CommitLineData
b18f952d
FF
1diff -u -r ../libevent-release-2.1.8-stable/evdns.c ./evdns.c
2--- ../libevent-release-2.1.8-stable/evdns.c 2017-01-26 00:37:15.000000000 +0100
3+++ ./evdns.c 2017-01-28 00:02:43.332229763 +0100
4@@ -52,6 +52,9 @@
5 #include "evconfig-private.h"
b5cb2a60
FF
6
7 #include <sys/types.h>
8+#ifdef __ANDROID__
9+# include <sys/system_properties.h>
10+#endif
b5cb2a60
FF
11
12 #ifndef _FORTIFY_SOURCE
b18f952d
FF
13 #define _FORTIFY_SOURCE 3
14@@ -3959,6 +3962,21 @@
b5cb2a60 15 int r;
b18f952d 16 #ifdef _WIN32
b5cb2a60
FF
17 r = evdns_base_config_windows_nameservers(base);
18+#elif defined(__ANDROID__)
19+ /** From: http://www.programering.com/a/MjMwcjMwATA.html */
20+ int add_servers = 0;
21+ char buf[PROP_VALUE_MAX];
22+ r = __system_property_get("net.dns1", buf);
23+ if (r >= 7) {
24+ add_servers++;
25+ evdns_base_nameserver_ip_add(base, buf);
26+ }
27+ r = __system_property_get("net.dns2", buf);
28+ if (r >= 7) {
29+ add_servers++;
30+ evdns_base_nameserver_ip_add(base, buf);
31+ }
32+ if (add_servers == 0) evdns_base_nameserver_ip_add(base, "8.8.8.8");
33 #else
34 r = evdns_base_resolv_conf_parse(base, DNS_OPTIONS_ALL, "/etc/resolv.conf");
35 #endif