libtirpc: Enable des APIs for musl

Use memset() API instead of __bzero()
Drop the patch removing des_* functions for musl

(From OE-Core rev: 8264826911888bd45b1d0cc914675d30a1a78546)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2017-04-18 09:40:13 -07:00 committed by Richard Purdie
parent 9a4f6264d2
commit 4517909ce6
3 changed files with 33 additions and 141 deletions

View File

@ -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

View File

@ -1,139 +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>
---
Index: libtirpc-1.0.1/src/Makefile.am
===================================================================
--- libtirpc-1.0.1.orig/src/Makefile.am
+++ libtirpc-1.0.1/src/Makefile.am
@@ -22,9 +22,8 @@ libtirpc_la_SOURCES = auth_none.c auth_u
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 des_crypt.c des_impl.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 @@ if GSS
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
Index: libtirpc-1.0.1/src/rpc_soc.c
===================================================================
--- libtirpc-1.0.1.orig/src/rpc_soc.c
+++ libtirpc-1.0.1/src/rpc_soc.c
@@ -522,86 +522,6 @@ clnt_broadcast(prog, vers, proc, xargs,
}
/*
- * 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 *
Index: libtirpc-1.0.1/src/svc_auth.c
===================================================================
--- libtirpc-1.0.1.orig/src/svc_auth.c
+++ libtirpc-1.0.1/src/svc_auth.c
@@ -114,9 +114,6 @@ _gss_authenticate(rqst, msg, no_dispatch
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);

View File

@ -14,12 +14,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
file://libtirpc-1.0.2-rc3.patch \
file://libtirpc-0.2.1-fortify.patch \
file://export_key_secretkey_is_set.patch \
"
file://0001-replace-__bzero-with-memset-API.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 \
"