diff options
Diffstat (limited to 'meta/recipes-extended/libtirpc')
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 @@ | |||
1 | Fix a possible overflow (reported by _FORTIFY_SOURCE=2) | ||
2 | |||
3 | Ported from Gentoo | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | |||
9 | Index: 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 @@ | |||
1 | uclibc does not provide des functionality unlike eglibc so lets disable ssl support | ||
2 | |||
3 | Upstream-Status: Inappropriate [uclibc specific] | ||
4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
5 | |||
6 | Index: 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() | ||
26 | Index: 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 @@ | |||
1 | SUMMARY = "Transport-Independent RPC library" | ||
2 | DESCRIPTION = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux" | ||
3 | SECTION = "libs/network" | ||
4 | HOMEPAGE = "http://sourceforge.net/projects/libtirpc/" | ||
5 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=183075&atid=903784" | ||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \ | ||
8 | file://src/netname.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24" | ||
9 | |||
10 | DEPENDS += "xz-native" | ||
11 | PROVIDES = "virtual/librpc" | ||
12 | |||
13 | SRC_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 | |||
18 | SRC_URI_append_libc-uclibc = " file://remove-des-uclibc.patch" | ||
19 | |||
20 | SRC_URI[libtirpc.md5sum] = "8cd41a5ef5a9b50d0fb6abb98af15368" | ||
21 | SRC_URI[libtirpc.sha256sum] = "62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db" | ||
22 | SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" | ||
23 | SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" | ||
24 | |||
25 | inherit autotools pkgconfig | ||
26 | |||
27 | EXTRA_OECONF = "--disable-gssapi" | ||
28 | |||
29 | do_configure_prepend () { | ||
30 | cp -r ${S}/../tirpc ${S} | ||
31 | } | ||
32 | |||
33 | do_install_append() { | ||
34 | chown root:root ${D}${sysconfdir}/netconfig | ||
35 | } | ||