summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/libtirpc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/libtirpc')
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch26
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch38
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb35
3 files changed, 99 insertions, 0 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch
new file mode 100644
index 0000000000..4a785d344a
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch
@@ -0,0 +1,26 @@
1Fix a possible overflow (reported by _FORTIFY_SOURCE=2)
2
3Ported from Gentoo
4
5Upstream-Status: Pending
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8
9Index: libtirpc-0.2.1/src/getrpcport.c
10===================================================================
11--- libtirpc-0.2.1.orig/src/getrpcport.c
12+++ libtirpc-0.2.1/src/getrpcport.c
13@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto
14
15 if ((hp = gethostbyname(host)) == NULL)
16 return (0);
17+ if (hp->h_length != sizeof(addr.sin_addr.s_addr))
18+ return (0);
19 memset(&addr, 0, sizeof(addr));
20 addr.sin_family = AF_INET;
21 addr.sin_port = 0;
22- if (hp->h_length > sizeof(addr))
23- hp->h_length = sizeof(addr);
24 memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length);
25 /* Inconsistent interfaces need casts! :-( */
26 return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum,
diff --git a/meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch b/meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch
new file mode 100644
index 0000000000..d003348af9
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/remove-des-uclibc.patch
@@ -0,0 +1,38 @@
1uclibc does not provide des functionality unlike eglibc so lets disable ssl support
2
3Upstream-Status: Inappropriate [uclibc specific]
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6Index: libtirpc-0.2.3/src/rpc_soc.c
7===================================================================
8--- libtirpc-0.2.3.orig/src/rpc_soc.c 2013-03-10 16:00:51.355282153 -0700
9+++ libtirpc-0.2.3/src/rpc_soc.c 2013-03-10 16:00:51.703282148 -0700
10@@ -520,6 +520,7 @@
11 (resultproc_t) rpc_wrap_bcast, "udp");
12 }
13
14+#if 0
15 /*
16 * Create the client des authentication object. Obsoleted by
17 * authdes_seccreate().
18@@ -551,6 +552,7 @@
19 dummy = authdes_seccreate(servername, window, NULL, ckey);
20 return (dummy);
21 }
22+#endif
23
24 /*
25 * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
26Index: libtirpc-0.2.3/src/Makefile.am
27===================================================================
28--- libtirpc-0.2.3.orig/src/Makefile.am 2013-03-10 16:00:51.355282153 -0700
29+++ libtirpc-0.2.3/src/Makefile.am 2013-03-10 16:00:51.703282148 -0700
30@@ -50,7 +50,7 @@
31 rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
32 rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
33 svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
34- auth_time.c auth_des.c authdes_prot.c
35+ auth_time.c
36
37 ## XDR
38 libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
diff --git a/meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb b/meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb
new file mode 100644
index 0000000000..3edf002497
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb
@@ -0,0 +1,35 @@
1SUMMARY = "Transport-Independent RPC library"
2DESCRIPTION = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux"
3SECTION = "libs/network"
4HOMEPAGE = "http://sourceforge.net/projects/libtirpc/"
5BUGTRACKER = "http://sourceforge.net/tracker/?group_id=183075&atid=903784"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
8 file://src/netname.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
9
10DEPENDS += "xz-native"
11PROVIDES = "virtual/librpc"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
14 ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \
15 file://libtirpc-0.2.1-fortify.patch \
16 "
17
18SRC_URI_append_libc-uclibc = " file://remove-des-uclibc.patch"
19
20SRC_URI[libtirpc.md5sum] = "8cd41a5ef5a9b50d0fb6abb98af15368"
21SRC_URI[libtirpc.sha256sum] = "62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db"
22SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445"
23SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83"
24
25inherit autotools pkgconfig
26
27EXTRA_OECONF = "--disable-gssapi"
28
29do_configure_prepend () {
30 cp -r ${S}/../tirpc ${S}
31}
32
33do_install_append() {
34 chown root:root ${D}${sysconfdir}/netconfig
35}