chiark / gitweb /
postgresql: Patch away /bin/sh
[termux-packages] / packages / libevent / evdns.c.patch
1 diff -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"
6  
7  #include <sys/types.h>
8 +#ifdef __ANDROID__
9 +# include <sys/system_properties.h>
10 +#endif
11  
12  #ifndef _FORTIFY_SOURCE
13  #define _FORTIFY_SOURCE 3
14 @@ -3959,6 +3962,21 @@
15                 int r;
16  #ifdef _WIN32
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