1commit 88b6984ef0bf3b703c1c851092662b95e91db1ff
2Author: farrah rashid <farrah.rashid@windriver.com>
3Date:   Tue Feb 12 09:53:50 2013 -0500
4
5    tcp-wrappers Support for building with glibc
6
7    Added support for socklen_t type to len argument passed to socket related
8    calls. This fixes a bug that causes tcp wrappers to fail when using sshd.
9
10    Upstream-Status: Pending
11
12    Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
13
14diff --git a/fix_options.c b/fix_options.c
15index 7473adf..fe2b442 100644
16--- a/fix_options.c
17+++ b/fix_options.c
18@@ -38,7 +38,12 @@ struct request_info *request;
19 #ifdef IP_OPTIONS
20     unsigned char optbuf[BUFFER_SIZE / 3], *cp;
21     char    lbuf[BUFFER_SIZE], *lp;
22-    int     optsize = sizeof(optbuf), ipproto;
23+#ifdef __GLIBC__
24+    socklen_t  optsize = sizeof(optbuf);
25+#else
26+    int     optsize = sizeof(optbuf);
27+#endif
28+    int ipproto;
29     struct protoent *ip;
30     int     fd = request->fd;
31     unsigned int opt;
32diff --git a/socket.c b/socket.c
33index 4b2c575..a0d2987 100644
34--- a/socket.c
35+++ b/socket.c
36@@ -95,7 +95,11 @@ struct request_info *request;
37     static struct sockaddr_in client;
38     static struct sockaddr_in server;
39 #endif
40+#ifdef __GLIBC__
41+    socklen_t  len;
42+#else
43     int     len;
44+#endif
45     char    buf[BUFSIZ];
46     int     fd = request->fd;
47
48@@ -426,7 +430,11 @@ int     fd;
49 #else
50     struct sockaddr_in sin;
51 #endif
52+#ifdef __GLIBC__
53+    socklen_t  size = sizeof(sin);
54+#else
55     int     size = sizeof(sin);
56+#endif
57
58     /*
59      * Eat up the not-yet received datagram. Some systems insist on a
60