summaryrefslogtreecommitdiff
path: root/meta/recipes-extended/tcp-wrappers
diff options
context:
space:
mode:
authorRoy.Li <rongqing.li@windriver.com>2013-02-02 16:18:22 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-06 09:35:02 +0000
commit6c418ec278335c93692c2e19ec0b7b84b471e2b9 (patch)
tree8dbe6be784488d83bce54aafccea3ac4d1086adb /meta/recipes-extended/tcp-wrappers
parent0f8583e6fe729f8cacc8fec8c66a5c7f7c944947 (diff)
downloadopenembedded-core-6c418ec278335c93692c2e19ec0b7b84b471e2b9.tar.gz
openembedded-core-6c418ec278335c93692c2e19ec0b7b84b471e2b9.tar.bz2
openembedded-core-6c418ec278335c93692c2e19ec0b7b84b471e2b9.zip
tcp-wrappers: remove size_t.patch
1. it introduces bug in 64bit big endian process with __GLIBC__, At that condition, size_t is 8byte, and the third parameter of getpeername is socklen_t which is 4 byte. As a result, getpeername sees third parameter is always 0, and can not return right value. The similar program is below, the output is 0, not 9 on PPC64 cpu main() { long aa=9; printf("%d \n", *((int *)&aa)); } 2. The correct fix is to change getpeername/getsockopt/recvfrom.. last parameter type from int to socklen_t, but to simplify, we can remove size_t.patch, since the size of int is same as socklen_t in 32bit/64bit cpu. and size_t.patch only change three places, there are other places which uses int, and work well. 2. Fedora, redhat el4 do not use this patch, but Debian uses it, does not find why this patch is written, maybe it is gcc legency issue which does not exist. Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-extended/tcp-wrappers')
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/size_t.patch44
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb3
2 files changed, 1 insertions, 46 deletions
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/size_t.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
deleted file mode 100644
index 8373e8aa53..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Upstream-Status: Backport
-
-diff -ruN tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
---- tcp_wrappers_7.6.orig/fix_options.c 2003-08-21 03:41:33.000000000 +0200
-+++ tcp_wrappers_7.6/fix_options.c 2003-08-21 03:41:27.000000000 +0200
-@@ -38,7 +38,11 @@
- #ifdef IP_OPTIONS
- unsigned char optbuf[BUFFER_SIZE / 3], *cp;
- char lbuf[BUFFER_SIZE], *lp;
-+#ifdef __GLIBC__
-+ size_t optsize = sizeof(optbuf), ipproto;
-+#else
- int optsize = sizeof(optbuf), ipproto;
-+#endif
- struct protoent *ip;
- int fd = request->fd;
- unsigned int opt;
-diff -ruN tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
---- tcp_wrappers_7.6.orig/socket.c 2003-08-21 03:41:33.000000000 +0200
-+++ tcp_wrappers_7.6/socket.c 2003-08-21 03:40:51.000000000 +0200
-@@ -90,7 +90,11 @@
- static struct sockaddr_in client;
- static struct sockaddr_in server;
- #endif
-+#ifdef __GLIBC__
-+ size_t len;
-+#else
- int len;
-+#endif
- char buf[BUFSIZ];
- int fd = request->fd;
-
-@@ -421,7 +425,11 @@
- #else
- struct sockaddr_in sin;
- #endif
-+#ifdef __GLIBC__
-+ size_t size = sizeof(sin);
-+#else
- int size = sizeof(sin);
-+#endif
-
- /*
- * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 9b865ba806..51ec7b292f 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -5,7 +5,7 @@ SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
-PR ="r9"
+PR ="r10"
PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
@@ -36,7 +36,6 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://safe_finger.patch \
file://sig_fix.patch \
file://siglongjmp.patch \
- file://size_t.patch \
file://tcpdchk_libwrapped.patch \
file://ldflags.patch \
\