summaryrefslogtreecommitdiffstats
path: root/net/socks5/files/patch-aa
blob: 2a50a26f15bc6c396eb6e4ecd1e0d5162b583643 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- lib/rld.c.orig	Wed Aug  4 04:59:28 1999
+++ lib/rld.c	Mon Feb 21 03:55:45 2000
@@ -197,6 +197,26 @@
     lsInRLDFunctions = 0;
     S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: gethostbyname2 results: %s %s", name, hp?hp->h_name:"???");
     return hp;
+}
+#endif
+
+#ifdef HAVE_GETADDRINFO
+int REAL(getaddrinfo)(const char *hostname, const char *servname,
+		      const struct addrinfo *hints, struct addrinfo **aip) {
+    int error;
+    static void *func = NULL;
+
+    S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: getaddrinfo: %s", hostname);
+    GetOriginalFunc(&func, "_getaddrinfo", TRY_LIBC | TRY_LIBNSL | TRY_LIBRESOLV);
+    if (!func || func == (void *)-1) return NULL;
+
+    lsInRLDFunctions = 1;
+    error = ((int (*)P((const char *, const char *, const struct addrinfo *,
+			struct addrinfo **)))func)(hostname, servname,
+						   hints, aip);
+    lsInRLDFunctions = 0;
+    S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: getaddrinfo results: %s %s", hostname, (*aip&&(*aip)->ai_canonname)?(*aip)->ai_canonname:"???");
+    return error;
 }
 #endif
 
OpenPOWER on IntegriCloud