diff options
Diffstat (limited to 'meta/recipes-extended/libtirpc')
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch | 62 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch | 32 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch | 30 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch | 24 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch | 144 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb (renamed from meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb) | 24 |
7 files changed, 96 insertions, 246 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch deleted file mode 100644 index 50613ba312..0000000000 --- a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch +++ /dev/null @@ -1,62 +0,0 @@ -Subject: [PATCH] Add missing rwlock_unlocks in xprt_register - -It looks like in b2c9430f46c4ac848957fb8adaac176a3f6ac03f when svc_run -switched to poll, an early return was added, but the rwlock was not -unlocked. - -I observed that rpcbind built against libtirpc-1.0.1 would handle only -one request before hanging, and tracked it down to a missing -rwlock_unlock here. - -Fixes: b2c9430f46c4 ('Use poll() instead of select() in svc_run()') - -Upstream-Status: Backport - -Signed-off-by: Michael Forney <mforney@mforney.org> -Signed-off-by: Steve Dickson <steved@redhat.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - src/svc.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - --- -2.5.3 - diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch new file mode 100644 index 0000000000..1fe9833afe --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch @@ -0,0 +1,32 @@ +From b80d3b573c1dade2b29b22f8acc3b9e2c7ddefd7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 20 May 2017 13:36:43 -0700 +Subject: [PATCH] include stdint.h for uintptr_t + +Fixes +| ../../libtirpc-1.0.1/src/xdr_sizeof.c:93:13: error: 'uintptr_t' undeclared (first use in this function); did you mean '__intptr_t'? +| if (len < (uintptr_t)xdrs->x_base) { +| ^~~~~~~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/xdr_sizeof.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c +index d23fbd1..79d6707 100644 +--- a/src/xdr_sizeof.c ++++ b/src/xdr_sizeof.c +@@ -39,6 +39,7 @@ + #include <rpc/xdr.h> + #include <sys/types.h> + #include <stdlib.h> ++#include <stdint.h> + #include "un-namespace.h" + + /* ARGSUSED */ +-- +2.13.0 + diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch new file mode 100644 index 0000000000..d2b4da6ae2 --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch @@ -0,0 +1,30 @@ +From 20badc3e3608953fb5b36bb2e16fa51bd731aebc Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Apr 2017 09:35:35 -0700 +Subject: [PATCH] replace __bzero() with memset() API + +memset is available across all libc implementation + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/des_impl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/des_impl.c b/src/des_impl.c +index 9dbccaf..15bec2a 100644 +--- a/src/des_impl.c ++++ b/src/des_impl.c +@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, struct desparams *desp) + } + tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; + tbuf[0] = tbuf[1] = 0; +- __bzero (schedule, sizeof (schedule)); ++ memset (schedule, 0, sizeof (schedule)); + + return (1); + } +-- +2.12.2 + diff --git a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch b/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch new file mode 100644 index 0000000000..a276ba27a5 --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch @@ -0,0 +1,24 @@ +Add key_secretkey_is_set to exported symbols map + +key_secret_is_set is a typo in libtirpc map +Patch taken from + +https://sourceforge.net/p/libtirpc/discussion/637321/thread/fd73d431/ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: libtirpc-1.0.1/src/libtirpc.map +=================================================================== +--- libtirpc-1.0.1.orig/src/libtirpc.map ++++ libtirpc-1.0.1/src/libtirpc.map +@@ -298,7 +298,7 @@ TIRPC_0.3.2 { + key_gendes; + key_get_conv; + key_setsecret; +- key_secret_is_set; ++ key_secretkey_is_set; + key_setnet; + netname2host; + netname2user; 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 deleted file mode 100644 index 4a785d344a..0000000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix a possible overflow (reported by _FORTIFY_SOURCE=2) - -Ported from Gentoo - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: libtirpc-0.2.1/src/getrpcport.c -=================================================================== ---- libtirpc-0.2.1.orig/src/getrpcport.c -+++ libtirpc-0.2.1/src/getrpcport.c -@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto - - if ((hp = gethostbyname(host)) == NULL) - return (0); -+ if (hp->h_length != sizeof(addr.sin_addr.s_addr)) -+ return (0); - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = 0; -- if (hp->h_length > sizeof(addr)) -- hp->h_length = sizeof(addr); - memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length); - /* Inconsistent interfaces need casts! :-( */ - return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, diff --git a/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch b/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch deleted file mode 100644 index 512e93497d..0000000000 --- a/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch +++ /dev/null @@ -1,144 +0,0 @@ -uclibc and musl does not provide des functionality. Lets disable it. - -Upstream-Status: Inappropriate [uclibc and musl specific] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- -diff -Naur libtirpc-1.0.1-orig/src/Makefile.am libtirpc-1.0.1/src/Makefile.am ---- libtirpc-1.0.1-orig/src/Makefile.am 2015-10-30 17:15:14.000000000 +0200 -+++ libtirpc-1.0.1/src/Makefile.am 2015-12-21 15:56:17.094702429 +0200 -@@ -22,9 +22,8 @@ - pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ - rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ -- svc_auth_des.c \ - svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c debug.c -+ debug.c - - ## XDR - libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c -@@ -41,8 +40,8 @@ - libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) - endif - --libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c --libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c -+#libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c -+#libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c - - CLEANFILES = cscope.* *~ - DISTCLEANFILES = Makefile.in -diff -Naur libtirpc-1.0.1-orig/src/rpc_soc.c libtirpc-1.0.1/src/rpc_soc.c ---- libtirpc-1.0.1-orig/src/rpc_soc.c 2015-10-30 17:15:14.000000000 +0200 -+++ libtirpc-1.0.1/src/rpc_soc.c 2015-12-21 15:56:17.095702416 +0200 -@@ -61,7 +61,6 @@ - #include <string.h> - #include <unistd.h> - #include <fcntl.h> --#include <rpcsvc/nis.h> - - #include "rpc_com.h" - -@@ -522,86 +521,6 @@ - } - - /* -- * Create the client des authentication object. Obsoleted by -- * authdes_seccreate(). -- */ --AUTH * --authdes_create(servername, window, syncaddr, ckey) -- char *servername; /* network name of server */ -- u_int window; /* time to live */ -- struct sockaddr *syncaddr; /* optional hostaddr to sync with */ -- des_block *ckey; /* optional conversation key to use */ --{ -- AUTH *nauth; -- char hostname[NI_MAXHOST]; -- -- if (syncaddr) { -- /* -- * Change addr to hostname, because that is the way -- * new interface takes it. -- */ -- switch (syncaddr->sa_family) { -- case AF_INET: -- if (getnameinfo(syncaddr, sizeof(struct sockaddr_in), hostname, -- sizeof hostname, NULL, 0, 0) != 0) -- goto fallback; -- break; -- case AF_INET6: -- if (getnameinfo(syncaddr, sizeof(struct sockaddr_in6), hostname, -- sizeof hostname, NULL, 0, 0) != 0) -- goto fallback; -- break; -- default: -- goto fallback; -- } -- nauth = authdes_seccreate(servername, window, hostname, ckey); -- return (nauth); -- } --fallback: -- return authdes_seccreate(servername, window, NULL, ckey); --} -- --/* -- * Create the client des authentication object. Obsoleted by -- * authdes_pk_seccreate(). -- */ --extern AUTH *authdes_pk_seccreate(const char *, netobj *, u_int, const char *, -- const des_block *, nis_server *); -- --AUTH * --authdes_pk_create(servername, pkey, window, syncaddr, ckey) -- char *servername; /* network name of server */ -- netobj *pkey; /* public key */ -- u_int window; /* time to live */ -- struct sockaddr *syncaddr; /* optional hostaddr to sync with */ -- des_block *ckey; /* optional conversation key to use */ --{ -- AUTH *nauth; -- char hostname[NI_MAXHOST]; -- -- if (syncaddr) { -- /* -- * Change addr to hostname, because that is the way -- * new interface takes it. -- */ -- switch (syncaddr->sa_family) { -- case AF_INET: -- if (getnameinfo(syncaddr, sizeof(struct sockaddr_in), hostname, -- sizeof hostname, NULL, 0, 0) != 0) -- goto fallback; -- break; -- default: -- goto fallback; -- } -- nauth = authdes_pk_seccreate(servername, pkey, window, hostname, ckey, NULL); -- return (nauth); -- } --fallback: -- return authdes_pk_seccreate(servername, pkey, window, NULL, ckey, NULL); --} -- -- --/* - * Create a client handle for a unix connection. Obsoleted by clnt_vc_create() - */ - CLIENT * -diff -Naur libtirpc-1.0.1-orig/src/svc_auth.c libtirpc-1.0.1/src/svc_auth.c ---- libtirpc-1.0.1-orig/src/svc_auth.c 2015-10-30 17:15:14.000000000 +0200 -+++ libtirpc-1.0.1/src/svc_auth.c 2015-12-21 15:56:17.095702416 +0200 -@@ -114,9 +114,6 @@ - case AUTH_SHORT: - dummy = _svcauth_short(rqst, msg); - return (dummy); -- case AUTH_DES: -- dummy = _svcauth_des(rqst, msg); -- return (dummy); - #ifdef HAVE_RPCSEC_GSS - case RPCSEC_GSS: - dummy = _svcauth_gss(rqst, msg, no_dispatch); diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb index e321d479ec..cea23381f6 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb @@ -9,32 +9,28 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \ PROVIDES = "virtual/librpc" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \ - ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \ - file://libtirpc-0.2.1-fortify.patch \ - file://0001-Add-missing-rwlock_unlocks-in-xprt_register.patch \ - " +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ + file://export_key_secretkey_is_set.patch \ + file://0001-replace-__bzero-with-memset-API.patch \ + file://0001-include-stdint.h-for-uintptr_t.patch \ + " SRC_URI_append_libc-uclibc = " file://remove-des-functionality.patch \ " -SRC_URI_append_libc-musl = " file://remove-des-functionality.patch \ +SRC_URI_append_libc-musl = " \ file://Use-netbsd-queue.h.patch \ " -SRC_URI[libtirpc.md5sum] = "36ce1c0ff80863bb0839d54aa0b94014" -SRC_URI[libtirpc.sha256sum] = "5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e" -SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" -SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" +SRC_URI[md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6" +SRC_URI[sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5" inherit autotools pkgconfig EXTRA_OECONF = "--disable-gssapi" -do_configure_prepend () { - cp -r ${S}/../tirpc ${S} -} - do_install_append() { chown root:root ${D}${sysconfdir}/netconfig } + +BBCLASSEXTEND = "native nativesdk" |