From 2588dcf82a00ac9b484c374b0a3a49715607f607f0ba857186220f828622a05a Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 5 Sep 2008 19:56:33 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libtirpc?expand=0&rev=3 --- libtirpc-0.1.7-arm.patch | 23 --- libtirpc-0.1.7-bindresvport-ntohs.patch | 29 ---- libtirpc-0.1.7-bindresvport_ports.patch | 64 -------- libtirpc-0.1.7-bufoverflow.patch | 35 ----- libtirpc-0.1.7-clnt_raw-mutex.patch | 39 ----- libtirpc-0.1.7-dgcall-iprecverr.patch | 98 ------------ libtirpc-0.1.7-gssglue.patch | 28 ---- libtirpc-0.1.7-libtirpc-pc.patch | 51 ------- libtirpc-0.1.7-man-install.patch | 35 ----- libtirpc-0.1.7-netconfig.patch | 15 -- libtirpc-0.1.7-ppc64.patch | 12 -- libtirpc-0.1.7-snprintf.patch | 150 ------------------- libtirpc-0.1.7-svc-rtaddr.patch | 52 ------- libtirpc-0.1.7-svc-run.patch | 19 --- libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch | 13 -- libtirpc-0.1.7-svcauthdestroy.patch | 12 -- libtirpc-0.1.7-svcauthnone.patch | 101 ------------- libtirpc-0.1.7-use_sysconfdir.patch | 16 +- libtirpc-0.1.7-version.patch | 26 ---- libtirpc-0.1.7-xdr_bufferoverlow.patch | 45 ------ libtirpc-0.1.7.tar.bz2 | 3 - libtirpc-0.1.9-fix_broadcast.patch | 23 +++ libtirpc-0.1.9-ipv6_sockets_v6only.patch | 56 +++++++ libtirpc-0.1.9-lib_version.patch | 13 ++ libtirpc-0.1.9.tar.bz2 | 3 + libtirpc.changes | 28 ++++ libtirpc.spec | 94 ++++++------ 27 files changed, 176 insertions(+), 907 deletions(-) delete mode 100644 libtirpc-0.1.7-arm.patch delete mode 100644 libtirpc-0.1.7-bindresvport-ntohs.patch delete mode 100644 libtirpc-0.1.7-bindresvport_ports.patch delete mode 100644 libtirpc-0.1.7-bufoverflow.patch delete mode 100644 libtirpc-0.1.7-clnt_raw-mutex.patch delete mode 100644 libtirpc-0.1.7-dgcall-iprecverr.patch delete mode 100644 libtirpc-0.1.7-gssglue.patch delete mode 100644 libtirpc-0.1.7-libtirpc-pc.patch delete mode 100644 libtirpc-0.1.7-man-install.patch delete mode 100644 libtirpc-0.1.7-netconfig.patch delete mode 100644 libtirpc-0.1.7-ppc64.patch delete mode 100644 libtirpc-0.1.7-snprintf.patch delete mode 100644 libtirpc-0.1.7-svc-rtaddr.patch delete mode 100644 libtirpc-0.1.7-svc-run.patch delete mode 100644 libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch delete mode 100644 libtirpc-0.1.7-svcauthdestroy.patch delete mode 100644 libtirpc-0.1.7-svcauthnone.patch delete mode 100644 libtirpc-0.1.7-version.patch delete mode 100644 libtirpc-0.1.7-xdr_bufferoverlow.patch delete mode 100644 libtirpc-0.1.7.tar.bz2 create mode 100644 libtirpc-0.1.9-fix_broadcast.patch create mode 100644 libtirpc-0.1.9-ipv6_sockets_v6only.patch create mode 100644 libtirpc-0.1.9-lib_version.patch create mode 100644 libtirpc-0.1.9.tar.bz2 diff --git a/libtirpc-0.1.7-arm.patch b/libtirpc-0.1.7-arm.patch deleted file mode 100644 index 61ea3ce..0000000 --- a/libtirpc-0.1.7-arm.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 3f947c093f828629c2fc5624aa3ad8c7465f76d1 -Author: Steve Dickson -Date: Thu Oct 25 10:55:57 2007 -0400 - - Added " || defined(__arm__)" to xdr_float.c which allows libtirpc - to build on ARM processors. - - Author-by: Lennert Buytenhek - Signed-off-by: Steve Dickson - -diff --git a/src/xdr_float.c b/src/xdr_float.c -index 375e535..d8b22e6 100644 ---- a/src/xdr_float.c -+++ b/src/xdr_float.c -@@ -59,7 +59,7 @@ - defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ - defined(__arm32__) || defined(__ppc__) || defined(__ia64__) || \ - defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) || \ -- defined(__powerpc__) || defined(__s390__) -+ defined(__powerpc__) || defined(__s390__) || defined(__arm__) - #include - #define IEEEFP - #endif diff --git a/libtirpc-0.1.7-bindresvport-ntohs.patch b/libtirpc-0.1.7-bindresvport-ntohs.patch deleted file mode 100644 index e6da731..0000000 --- a/libtirpc-0.1.7-bindresvport-ntohs.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 83cb8b02f87fe6fd7bbd903e4825f7cb38e59ec4 -Author: Steve Dickson -Date: Fri May 4 12:19:27 2007 -0400 - - A couple ntohs() were needed in bindresvport_sa() - - Signed-off-by: Steve Dickson - -diff --git a/src/bindresvport.c b/src/bindresvport.c -index bc75d29..6aac03c 100644 ---- a/src/bindresvport.c -+++ b/src/bindresvport.c -@@ -101,14 +101,14 @@ bindresvport_sa(sd, sa) - case AF_INET: - sin = (struct sockaddr_in *)sa; - salen = sizeof(struct sockaddr_in); -- port = sin->sin_port; -+ port = ntohs(sin->sin_port); - portp = &sin->sin_port; - break; - #ifdef INET6 - case AF_INET6: - sin6 = (struct sockaddr_in6 *)sa; - salen = sizeof(struct sockaddr_in6); -- port = sin6->sin6_port; -+ port = ntohs(sin6->sin6_port); - portp = &sin6->sin6_port; - break; - #endif diff --git a/libtirpc-0.1.7-bindresvport_ports.patch b/libtirpc-0.1.7-bindresvport_ports.patch deleted file mode 100644 index e104472..0000000 --- a/libtirpc-0.1.7-bindresvport_ports.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit c254b435007ebd4ed471737198975d5ccf4e7949 -Author: Steve Dickson -Date: Thu Apr 26 17:20:21 2007 -0400 - - Added a optimization to bindresvport that allows more - ports to be tried. - - Signed-off-by: Steve Dickson - -diff --git a/src/bindresvport.c b/src/bindresvport.c -index b197efa..bc75d29 100644 ---- a/src/bindresvport.c -+++ b/src/bindresvport.c -@@ -62,6 +62,7 @@ bindresvport(sd, sin) - #ifdef __linux__ - - #define STARTPORT 600 -+#define LOWPORT 512 - #define ENDPORT (IPPORT_RESERVED - 1) - #define NPORTS (ENDPORT - STARTPORT + 1) - -@@ -76,10 +77,13 @@ bindresvport_sa(sd, sa) - #ifdef INET6 - struct sockaddr_in6 *sin6; - #endif -- u_int16_t port; - u_int16_t *portp; -+ static u_int16_t port; -+ static short startport = STARTPORT; - socklen_t salen; -- int i; -+ int nports = ENDPORT - startport + 1; -+ int endport = ENDPORT; -+ int i; - - if (sa == NULL) { - salen = sizeof(myaddr); -@@ -119,13 +123,22 @@ bindresvport_sa(sd, sa) - } - res = -1; - errno = EADDRINUSE; -- for (i = 0; i < NPORTS && res < 0 && errno == EADDRINUSE; i++) { -+ again: -+ for (i = 0; i < nports; ++i) { - *portp = htons(port++); -- if (port > ENDPORT) { -- port = STARTPORT; -- } -+ if (port > endport) -+ port = startport; - res = bind(sd, sa, salen); -+ if (res >= 0 || errno != EADDRINUSE) -+ break; - } -+ if (i == nports && startport != LOWPORT) { -+ startport = LOWPORT; -+ endport = STARTPORT - 1; -+ nports = STARTPORT - LOWPORT; -+ port = LOWPORT + port % (STARTPORT - LOWPORT); -+ goto again; -+ } - return (res); - } - #else diff --git a/libtirpc-0.1.7-bufoverflow.patch b/libtirpc-0.1.7-bufoverflow.patch deleted file mode 100644 index 3a15166..0000000 --- a/libtirpc-0.1.7-bufoverflow.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit 3cf1a3ce1a409e647f9b8ca4497c26e6d066f293 -Author: Steve Dickson -Date: Thu Jan 24 15:01:22 2008 -0500 - - Protect from buffer overflow in the GSS code. - - Signed-off-by: Steve Dickson - -diff -up libtirpc-0.1.7/src/svc_auth_gss.c.orig libtirpc-0.1.7/src/svc_auth_gss.c ---- libtirpc-0.1.7/src/svc_auth_gss.c.orig 2008-01-24 14:41:21.000000000 -0500 -+++ libtirpc-0.1.7/src/svc_auth_gss.c 2008-01-24 14:59:31.000000000 -0500 -@@ -294,6 +294,15 @@ svcauth_gss_validate(struct svc_rpc_gss_ - memset(rpchdr, 0, sizeof(rpchdr)); - - /* XXX - Reconstruct RPC header for signing (from xdr_callmsg). */ -+ oa = &msg->rm_call.cb_cred; -+ if (oa->oa_length > MAX_AUTH_BYTES) -+ return (FALSE); -+ -+ /* 8 XDR units from the IXDR macro calls. */ -+ if (sizeof(rpchdr) < (8 * BYTES_PER_XDR_UNIT + -+ RNDUP(oa->oa_length))) -+ return (FALSE); -+ - buf = (int32_t *)rpchdr; - IXDR_PUT_LONG(buf, msg->rm_xid); - IXDR_PUT_ENUM(buf, msg->rm_direction); -@@ -301,7 +310,6 @@ svcauth_gss_validate(struct svc_rpc_gss_ - IXDR_PUT_LONG(buf, msg->rm_call.cb_prog); - IXDR_PUT_LONG(buf, msg->rm_call.cb_vers); - IXDR_PUT_LONG(buf, msg->rm_call.cb_proc); -- oa = &msg->rm_call.cb_cred; - IXDR_PUT_ENUM(buf, oa->oa_flavor); - IXDR_PUT_LONG(buf, oa->oa_length); - if (oa->oa_length) { diff --git a/libtirpc-0.1.7-clnt_raw-mutex.patch b/libtirpc-0.1.7-clnt_raw-mutex.patch deleted file mode 100644 index 0b3582f..0000000 --- a/libtirpc-0.1.7-clnt_raw-mutex.patch +++ /dev/null @@ -1,39 +0,0 @@ -commit 419d35db75ab8bd8f79c424f529a6c2f7c4f5fa7 -Author: Steve Dickson -Date: Fri May 4 09:27:00 2007 -0400 - - Fixed mutex locking problem in clnt_raw.c. One should grab the - clntraw_lock before accessing at clntraw_private, not after. - - Signed-off-by: Steve Dickson - -Index: libtirpc-0.1.7/src/clnt_raw.c -=================================================================== ---- libtirpc-0.1.7.orig/src/clnt_raw.c -+++ libtirpc-0.1.7/src/clnt_raw.c -@@ -82,12 +82,13 @@ clnt_raw_create(prog, vers) - rpcprog_t prog; - rpcvers_t vers; - { -- struct clntraw_private *clp = clntraw_private; -+ struct clntraw_private *clp; - struct rpc_msg call_msg; -- XDR *xdrs = &clp->xdr_stream; -- CLIENT *client = &clp->client_object; -+ XDR *xdrs; -+ CLIENT *client; - - mutex_lock(&clntraw_lock); -+ clp = clntraw_private; - if (clp == NULL) { - clp = (struct clntraw_private *)calloc(1, sizeof (*clp)); - if (clp == NULL) { -@@ -100,6 +101,8 @@ clnt_raw_create(prog, vers) - clp->_raw_buf = __rpc_rawcombuf; - clntraw_private = clp; - } -+ xdrs = &clp->xdr_stream; -+ client = &clp->client_object; - /* - * pre-serialize the static part of the call msg and stash it away - */ diff --git a/libtirpc-0.1.7-dgcall-iprecverr.patch b/libtirpc-0.1.7-dgcall-iprecverr.patch deleted file mode 100644 index 59e9737..0000000 --- a/libtirpc-0.1.7-dgcall-iprecverr.patch +++ /dev/null @@ -1,98 +0,0 @@ -commit 40ab0c28e995786d5844bd490a31b788ecabf546 -Author: Steve Dickson -Date: Fri May 4 14:26:56 2007 -0400 - - Added IP_RECVERR processing with to clnt_dg_call() so - application will see errors instead of timing out - - Signed-off-by: Steve Dickson - -diff --git a/src/clnt_dg.c b/src/clnt_dg.c -index 151b449..0e35742 100644 ---- a/src/clnt_dg.c -+++ b/src/clnt_dg.c -@@ -55,6 +55,13 @@ - #include - #include "rpc_com.h" - -+#ifdef IP_RECVERR -+#include -+#include -+#include -+#endif -+ -+ - #define MAX_DEFAULT_FDS 20000 - - static struct clnt_ops *clnt_dg_ops(void); -@@ -246,6 +253,12 @@ clnt_dg_create(fd, svcaddr, program, version, sendsz, recvsz) - #if 0 - (void)bindresvport_sa(fd, (struct sockaddr *)svcaddr->buf); - #endif -+#ifdef IP_RECVERR -+ { -+ int on = 1; -+ setsockopt(fd, SOL_IP, IP_RECVERR, &on, sizeof(on)); -+ } -+#endif - ioctl(fd, FIONBIO, (char *)(void *)&one); - /* - * By default, closeit is always FALSE. It is users responsibility -@@ -352,7 +365,7 @@ call_again: - xid++; - *(u_int32_t *)(void *)(cu->cu_outbuf) = htonl(xid); - -- if ((! XDR_PUTINT32(xdrs, &proc)) || -+ if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || - (! (*xargs)(xdrs, argsp))) { - cu->cu_error.re_status = RPC_CANTENCODEARGS; -@@ -404,6 +417,48 @@ get_reply: - } - break; - } -+#ifdef IP_RECVERR -+ if (fd.revents & POLLERR) -+ { -+ struct msghdr msg; -+ struct cmsghdr *cmsg; -+ struct sock_extended_err *e; -+ struct sockaddr_in err_addr; -+ struct sockaddr_in *sin = (struct sockaddr_in *)&cu->cu_raddr; -+ struct iovec iov; -+ char *cbuf = (char *) alloca (outlen + 256); -+ int ret; -+ -+ iov.iov_base = cbuf + 256; -+ iov.iov_len = outlen; -+ msg.msg_name = (void *) &err_addr; -+ msg.msg_namelen = sizeof (err_addr); -+ msg.msg_iov = &iov; -+ msg.msg_iovlen = 1; -+ msg.msg_flags = 0; -+ msg.msg_control = cbuf; -+ msg.msg_controllen = 256; -+ ret = recvmsg (cu->cu_fd, &msg, MSG_ERRQUEUE); -+ if (ret >= 0 -+ && memcmp (cbuf + 256, cu->cu_outbuf, ret) == 0 -+ && (msg.msg_flags & MSG_ERRQUEUE) -+ && ((msg.msg_namelen == 0 -+ && ret >= 12) -+ || (msg.msg_namelen == sizeof (err_addr) -+ && err_addr.sin_family == AF_INET -+ && memcmp (&err_addr.sin_addr, &sin->sin_addr, -+ sizeof (err_addr.sin_addr)) == 0 -+ && err_addr.sin_port == sin->sin_port))) -+ for (cmsg = CMSG_FIRSTHDR (&msg); cmsg; -+ cmsg = CMSG_NXTHDR (&msg, cmsg)) -+ if (cmsg->cmsg_level == SOL_IP && cmsg->cmsg_type == IP_RECVERR) -+ { -+ e = (struct sock_extended_err *) CMSG_DATA(cmsg); -+ cu->cu_error.re_errno = e->ee_errno; -+ return (cu->cu_error.re_status = RPC_CANTRECV); -+ } -+ } -+#endif - - /* We have some data now */ - do { diff --git a/libtirpc-0.1.7-gssglue.patch b/libtirpc-0.1.7-gssglue.patch deleted file mode 100644 index 29f7d84..0000000 --- a/libtirpc-0.1.7-gssglue.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up libtirpc-0.1.7/configure.in.orig libtirpc-0.1.7/configure.in ---- libtirpc-0.1.7/configure.in.orig 2007-10-17 12:03:25.000000000 -0400 -+++ libtirpc-0.1.7/configure.in 2007-10-17 12:07:18.000000000 -0400 -@@ -10,6 +10,10 @@ AC_ARG_ENABLE(gss,[ --enable-gss - *) AC_MSG_ERROR(bad value ${enableval} for --enable-gss) ;; - esac],[gss=false]) - AM_CONDITIONAL(GSS, test x$gss = xtrue) -+if test x$gss = xtrue; then -+ PKG_CHECK_MODULES(GSSGLUE, libgssglue, [], -+ AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) -+fi - - - AC_PROG_CC -diff -up libtirpc-0.1.7/src/Makefile.am.orig libtirpc-0.1.7/src/Makefile.am ---- libtirpc-0.1.7/src/Makefile.am.orig 2007-10-17 12:03:25.000000000 -0400 -+++ libtirpc-0.1.7/src/Makefile.am 2007-10-17 12:06:19.000000000 -0400 -@@ -29,8 +29,8 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c x - ## Secure-RPC - if GSS - libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c -- libtirpc_la_LDFLAGS += -lgssapi -- libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS -+ libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) -+ libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS -I/usr/include/gssglue $(GSSGLUE_LIBS) - endif - - ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c diff --git a/libtirpc-0.1.7-libtirpc-pc.patch b/libtirpc-0.1.7-libtirpc-pc.patch deleted file mode 100644 index 60a8b0c..0000000 --- a/libtirpc-0.1.7-libtirpc-pc.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 4d77b479511a27fb52b54811020176bb32099444 -Author: Steve Dickson -Date: Mon Feb 18 17:30:46 2008 -0500 - - Added that libtirpc.pc.in that will create - the /usr/lib/pkgconfig/libtirpc.pc file that is - used by the pkg-config(1) command - - Signed-off-by: Steve Dickson - -diff --git a/Makefile.am b/Makefile.am -index 1a212e8..4e1503c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -43,6 +43,9 @@ nobase_include_HEADERS = tirpc/un-namespace.h \ - tirpc/rpc/auth_gss.h \ - tirpc/rpc/auth_des.h - -+pkgconfigdir=$(libdir)/pkgconfig -+pkgconfig_DATA = libtirpc.pc -+ - install-exec-local: - cp -p ./doc/etc_netconfig /etc/netconfig - chmod 0644 /etc/netconfig -diff --git a/configure.in b/configure.in -index dc597dd..e907c31 100644 ---- a/configure.in -+++ b/configure.in -@@ -27,4 +27,4 @@ AC_CHECK_LIB([pthread], [pthread_create]) - - - AC_CONFIG_FILES([Makefile src/Makefile]) --AC_OUTPUT() -+AC_OUTPUT(libtirpc.pc) -diff --git a/libtirpc.pc.in b/libtirpc.pc.in -new file mode 100644 -index 0000000..df9e7ed ---- /dev/null -+++ b/libtirpc.pc.in -@@ -0,0 +1,11 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+Name: libtirpc -+Description: Transport Independent RPC Library -+Requires: -+Version: @PACKAGE_VERSION@ -+Libs: -L@libdir@ -ltirpc -+Cflags: -I@includedir@/tirpc diff --git a/libtirpc-0.1.7-man-install.patch b/libtirpc-0.1.7-man-install.patch deleted file mode 100644 index 8bec012..0000000 --- a/libtirpc-0.1.7-man-install.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: libtirpc-0.1.7/man/Makefile.am -=================================================================== ---- /dev/null -+++ libtirpc-0.1.7/man/Makefile.am -@@ -0,0 +1,9 @@ -+ -+man5_MANS = netconfig.5 -+man3_MANS = bindresvport.3t des_crypt.3t getnetconfig.3t getnetpath.3t \ -+ getrpcent.3t getrpcport.3t rpc.3t rpc_clnt_auth.3t rpc_clnt_calls.3t \ -+ rpc_clnt_create.3t rpc_secure.3t rpc_soc.3t rpc_svc_calls.3t \ -+ rpc_svc_create.3t rpc_svc_err.3t rpc_svc_reg.3t rpc_xdr.3t rtime.3t -+ -+EXTRA_DIST = $(man5_MANS) $(man3_MANS) -+ -Index: libtirpc-0.1.7/configure.in -=================================================================== ---- libtirpc-0.1.7.orig/configure.in -+++ libtirpc-0.1.7/configure.in -@@ -26,5 +26,5 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h li - AC_CHECK_LIB([pthread], [pthread_create]) - - --AC_CONFIG_FILES([Makefile src/Makefile]) -+AC_CONFIG_FILES([Makefile src/Makefile man/Makefile]) - AC_OUTPUT(libtirpc.pc) -Index: libtirpc-0.1.7/Makefile.am -=================================================================== ---- libtirpc-0.1.7.orig/Makefile.am -+++ libtirpc-0.1.7/Makefile.am -@@ -1,4 +1,4 @@ --SUBDIRS = src -+SUBDIRS = src man - - nobase_include_HEADERS = tirpc/un-namespace.h \ - tirpc/spinlock.h \ diff --git a/libtirpc-0.1.7-netconfig.patch b/libtirpc-0.1.7-netconfig.patch deleted file mode 100644 index 88a74dc..0000000 --- a/libtirpc-0.1.7-netconfig.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- libtirpc-0.1.7/doc/etc_netconfig.orig 2005-05-18 01:10:50.000000000 -0400 -+++ libtirpc-0.1.7/doc/etc_netconfig 2007-07-24 09:45:40.000000000 -0400 -@@ -10,10 +10,10 @@ - # The and fields are always empty in this - # implementation. - # --#udp6 tpi_clts v inet6 udp - - --#tcp6 tpi_cots_ord v inet6 tcp - - - udp tpi_clts v inet udp - - - tcp tpi_cots_ord v inet tcp - - -+udp6 tpi_clts - inet6 udp6 - - -+tcp6 tpi_cots_ord - inet6 tcp6 - - - rawip tpi_raw - inet - - - - local tpi_cots_ord - loopback - - - - unix tpi_cots_ord - loopback - - - diff --git a/libtirpc-0.1.7-ppc64.patch b/libtirpc-0.1.7-ppc64.patch deleted file mode 100644 index df8d6d4..0000000 --- a/libtirpc-0.1.7-ppc64.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- libtirpc-0.1.7/src/xdr_float.c.orig 2005-05-18 01:10:50.000000000 -0400 -+++ libtirpc-0.1.7/src/xdr_float.c 2006-08-16 08:41:43.000000000 -0400 -@@ -58,7 +58,8 @@ - #if defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ - defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ - defined(__arm32__) || defined(__ppc__) || defined(__ia64__) || \ -- defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) -+ defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) || \ -+ defined(__powerpc__) || defined(__s390__) - #include - #define IEEEFP - #endif diff --git a/libtirpc-0.1.7-snprintf.patch b/libtirpc-0.1.7-snprintf.patch deleted file mode 100644 index 74d8f81..0000000 --- a/libtirpc-0.1.7-snprintf.patch +++ /dev/null @@ -1,150 +0,0 @@ -commit a3a3a4e5157932c254200e3b31a78739f5878071 -Author: Steve Dickson -Date: Fri May 4 11:27:43 2007 -0400 - - Ignore the return value of snprintf() and use strlen() instead - to bump the pointer in clnt_sperror() - - Also removed calls to assert(), not needed. - - Signed-off-by: Steve Dickson - -diff --git a/src/clnt_perror.c b/src/clnt_perror.c -index e46d95f..8f53f8e 100644 ---- a/src/clnt_perror.c -+++ b/src/clnt_perror.c -@@ -36,7 +36,6 @@ - * Copyright (C) 1984, Sun Microsystems, Inc. - * - */ --#include - #include - #include - #include -@@ -75,8 +74,8 @@ clnt_sperror(rpch, s) - char *strstart; - size_t len, i; - -- assert(rpch != NULL); -- assert(s != NULL); -+ if (rpch == NULL || s == NULL) -+ return(0); - - str = _buf(); /* side effect: sets CLNT_PERROR_BUFLEN */ - if (str == 0) -@@ -85,7 +84,8 @@ clnt_sperror(rpch, s) - strstart = str; - CLNT_GETERR(rpch, &e); - -- if ((i = snprintf(str, len, "%s: ", s)) > 0) { -+ if (snprintf(str, len, "%s: ", s) > 0) { -+ i = strlen(str); - str += i; - len -= i; - } -@@ -113,7 +113,8 @@ clnt_sperror(rpch, s) - - case RPC_CANTSEND: - case RPC_CANTRECV: -- i = snprintf(str, len, "; errno = %s", strerror(e.re_errno)); -+ snprintf(str, len, "; errno = %s", strerror(e.re_errno)); -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; -@@ -121,8 +122,9 @@ clnt_sperror(rpch, s) - break; - - case RPC_VERSMISMATCH: -- i = snprintf(str, len, "; low version = %u, high version = %u", -+ snprintf(str, len, "; low version = %u, high version = %u", - e.re_vers.low, e.re_vers.high); -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; -@@ -131,18 +133,20 @@ clnt_sperror(rpch, s) - - case RPC_AUTHERROR: - err = auth_errmsg(e.re_why); -- i = snprintf(str, len, "; why = "); -+ snprintf(str, len, "; why = "); -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; - } - if (err != NULL) { -- i = snprintf(str, len, "%s",err); -+ snprintf(str, len, "%s",err); - } else { -- i = snprintf(str, len, -+ snprintf(str, len, - "(unknown authentication error - %d)", - (int) e.re_why); - } -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; -@@ -150,8 +154,9 @@ clnt_sperror(rpch, s) - break; - - case RPC_PROGVERSMISMATCH: -- i = snprintf(str, len, "; low version = %u, high version = %u", -+ snprintf(str, len, "; low version = %u, high version = %u", - e.re_vers.low, e.re_vers.high); -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; -@@ -159,8 +164,9 @@ clnt_sperror(rpch, s) - break; - - default: /* unknown */ -- i = snprintf(str, len, "; s1 = %u, s2 = %u", -+ snprintf(str, len, "; s1 = %u, s2 = %u", - e.re_lb.s1, e.re_lb.s2); -+ i = strlen(str); - if (i > 0) { - str += i; - len -= i; -@@ -177,8 +183,8 @@ clnt_perror(rpch, s) - const char *s; - { - -- assert(rpch != NULL); -- assert(s != NULL); -+ if (rpch == NULL || s == NULL) -+ return; - - (void) fprintf(stderr, "%s\n", clnt_sperror(rpch,s)); - } -@@ -236,13 +242,15 @@ clnt_spcreateerror(s) - char *str; - size_t len, i; - -- assert(s != NULL); -+ if (s == NULL) -+ return(0); - - str = _buf(); /* side effect: sets CLNT_PERROR_BUFLEN */ - if (str == 0) - return(0); - len = CLNT_PERROR_BUFLEN; -- i = snprintf(str, len, "%s: ", s); -+ snprintf(str, len, "%s: ", s); -+ i = strlen(str); - if (i > 0) - len -= i; - (void)strncat(str, clnt_sperrno(rpc_createerr.cf_stat), len - 1); -@@ -287,7 +295,8 @@ clnt_pcreateerror(s) - const char *s; - { - -- assert(s != NULL); -+ if (s == NULL) -+ return; - - (void) fprintf(stderr, "%s\n", clnt_spcreateerror(s)); - } diff --git a/libtirpc-0.1.7-svc-rtaddr.patch b/libtirpc-0.1.7-svc-rtaddr.patch deleted file mode 100644 index c9bab13..0000000 --- a/libtirpc-0.1.7-svc-rtaddr.patch +++ /dev/null @@ -1,52 +0,0 @@ -commit f8ff8f0de33606ff544dc87c0a9993fd3a0f5475 -Author: Steve Dickson -Date: Mon Jul 30 07:26:45 2007 -0400 - - - Make sure remote address (xp_rtaddr) is populated - with the correct type of address. - - Signed-off-by: Steve Dickson - -diff --git a/src/svc_vc.c b/src/svc_vc.c -index 48494e1..3d77aef 100644 ---- a/src/svc_vc.c -+++ b/src/svc_vc.c -@@ -239,7 +239,10 @@ svc_fd_create(fd, sendsize, recvsize) - warnx("svc_fd_create: no mem for local addr"); - goto freedata; - } -- memcpy(ret->xp_rtaddr.buf, &sin6, (size_t)sizeof(ss)); -+ if (ss.ss_family == AF_INET) -+ memcpy(ret->xp_rtaddr.buf, &ss, (size_t)sizeof(ss)); -+ else -+ memcpy(ret->xp_rtaddr.buf, &sin6, (size_t)sizeof(ss)); - #ifdef PORTMAP - if (sin6.sin6_family == AF_INET6 || sin6.sin6_family == AF_LOCAL) { - memcpy(&ret->xp_raddr, ret->xp_rtaddr.buf, -@@ -343,20 +346,23 @@ again: - newxprt = makefd_xprt(sock, r->sendsize, r->recvsize); - if (addr.ss_family == AF_INET) { - map_ipv4_to_ipv6((struct sockaddr_in *)&addr, &sin6); -- len = sizeof(struct sockaddr_in6); - } else { - memcpy(&sin6, &addr, len); - } - newxprt->xp_rtaddr.buf = mem_alloc(len); - if (newxprt->xp_rtaddr.buf == NULL) - return (FALSE); -- memcpy(newxprt->xp_rtaddr.buf, &sin6, len); -+ -+ if (addr.ss_family == AF_INET) -+ memcpy(newxprt->xp_rtaddr.buf, &addr, len); -+ else -+ memcpy(newxprt->xp_rtaddr.buf, &sin6, len); - newxprt->xp_rtaddr.maxlen = newxprt->xp_rtaddr.len = len; - #ifdef PORTMAP - if (sin6.sin6_family == AF_INET6 || sin6.sin6_family == AF_LOCAL) { - memcpy(&newxprt->xp_raddr, newxprt->xp_rtaddr.buf, - sizeof(struct sockaddr_in6)); -- newxprt->xp_addrlen = len; -+ newxprt->xp_addrlen = sizeof(struct sockaddr_in6); - } - #endif /* PORTMAP */ - if (__rpc_fd2sockinfo(sock, &si) && si.si_proto == IPPROTO_TCP) { diff --git a/libtirpc-0.1.7-svc-run.patch b/libtirpc-0.1.7-svc-run.patch deleted file mode 100644 index 40fff40..0000000 --- a/libtirpc-0.1.7-svc-run.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- libtirpc-0.1.7/src/svc_run.c.orig 2005-05-18 01:10:50.000000000 -0400 -+++ libtirpc-0.1.7/src/svc_run.c 2007-07-09 12:52:23.000000000 -0400 -@@ -51,14 +51,14 @@ svc_run() - struct timeval timeout; - extern rwlock_t svc_fd_lock; - -- timeout.tv_sec = 30; -- timeout.tv_usec = 0; - - for (;;) { - rwlock_rdlock(&svc_fd_lock); - readfds = svc_fdset; - cleanfds = svc_fdset; - rwlock_unlock(&svc_fd_lock); -+ timeout.tv_sec = 30; -+ timeout.tv_usec = 0; - switch (select(svc_maxfd+1, &readfds, NULL, NULL, &timeout)) { - case -1: - FD_ZERO(&readfds); diff --git a/libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch b/libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch deleted file mode 100644 index 4eafb9d..0000000 --- a/libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: libtirpc-0.1.7/src/svc_auth_gss.c -=================================================================== ---- libtirpc-0.1.7.orig/src/svc_auth_gss.c -+++ libtirpc-0.1.7/src/svc_auth_gss.c -@@ -390,7 +390,7 @@ _svcauth_gss(struct svc_req *rqst, struc - return (AUTH_FAILED); - } - auth->svc_ah_ops = &svc_auth_gss_ops; -- SVCAUTH_PRIVATE(auth) = gd; -+ auth->svc_ah_private = gd; - rqst->rq_xprt->xp_auth = auth; - } - else gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth); diff --git a/libtirpc-0.1.7-svcauthdestroy.patch b/libtirpc-0.1.7-svcauthdestroy.patch deleted file mode 100644 index 337f69d..0000000 --- a/libtirpc-0.1.7-svcauthdestroy.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- libtirpc-0.1.7/tirpc/rpc/svc_auth.h.orig 2005-05-18 01:10:51.000000000 -0400 -+++ libtirpc-0.1.7/tirpc/rpc/svc_auth.h 2006-08-28 08:13:37.801283000 -0400 -@@ -54,6 +54,9 @@ - caddr_t svc_ah_private; - } SVCAUTH; - -+#define SVCAUTH_DESTROY(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) -+#define svcauth_destroy(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) -+ - /* - * Server side authenticator - */ diff --git a/libtirpc-0.1.7-svcauthnone.patch b/libtirpc-0.1.7-svcauthnone.patch deleted file mode 100644 index 82a4d81..0000000 --- a/libtirpc-0.1.7-svcauthnone.patch +++ /dev/null @@ -1,101 +0,0 @@ -Index: libtirpc-0.1.7/src/svc_auth_none.c -=================================================================== ---- /dev/null -+++ libtirpc-0.1.7/src/svc_auth_none.c -@@ -0,0 +1,73 @@ -+/* -+ svc_auth_none.c -+ -+ Copyright (c) 2000 The Regents of the University of Michigan. -+ All rights reserved. -+ -+ Copyright (c) 2000 Dug Song . -+ All rights reserved, all wrongs reversed. -+ -+ Redistribution and use in source and binary forms, with or without -+ modification, are permitted provided that the following conditions -+ are met: -+ -+ 1. Redistributions of source code must retain the above copyright -+ notice, this list of conditions and the following disclaimer. -+ 2. Redistributions in binary form must reproduce the above copyright -+ notice, this list of conditions and the following disclaimer in the -+ documentation and/or other materials provided with the distribution. -+ 3. Neither the name of the University nor the names of its -+ contributors may be used to endorse or promote products derived -+ from this software without specific prior written permission. -+ -+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+ DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ $Id: svc_auth_none.c,v 1.1 2004/10/22 17:24:30 bfields Exp $ -+ */ -+ -+#include -+ -+static bool_t svcauth_none_destroy(); -+static bool_t svcauth_none_wrap(); -+ -+struct svc_auth_ops svc_auth_none_ops = { -+ svcauth_none_wrap, -+ svcauth_none_wrap, -+ svcauth_none_destroy -+}; -+ -+SVCAUTH svc_auth_none = { -+ &svc_auth_none_ops, -+ NULL, -+}; -+ -+static bool_t -+svcauth_none_destroy(SVCAUTH *auth) -+{ -+ return (TRUE); -+} -+ -+static bool_t -+svcauth_none_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, -+ caddr_t xdr_ptr) -+{ -+ return ((*xdr_func)(xdrs, xdr_ptr)); -+} -+ -+enum auth_stat -+_svcauth_none(struct svc_req *rqst, struct rpc_msg *msg) -+{ -+ rqst->rq_xprt->xp_auth = &svc_auth_none; -+ -+ return (AUTH_OK); -+} -Index: libtirpc-0.1.7/src/Makefile.am -=================================================================== ---- libtirpc-0.1.7.orig/src/Makefile.am -+++ libtirpc-0.1.7/src/Makefile.am -@@ -28,7 +28,8 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c x - - ## Secure-RPC - if GSS -- libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c -+ libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \ -+ svc_auth_none.c - libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) - libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS -I/usr/include/gssglue $(GSSGLUE_LIBS) - endif -@@ -49,7 +50,7 @@ $(libtirpc_la_OBJECTS) :auth_none.c auth - svc_raw.c svc_run.c svc_simple.c svc_vc.c \ - xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c \ - auth_gss.c authgss_prot.c svc_auth_gss.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c -+ auth_time.c auth_des.c authdes_prot.c svc_auth_none.c - - else - $(libtirpc_la_OBJECTS) :auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ diff --git a/libtirpc-0.1.7-use_sysconfdir.patch b/libtirpc-0.1.7-use_sysconfdir.patch index ca5e8ea..3cf4742 100644 --- a/libtirpc-0.1.7-use_sysconfdir.patch +++ b/libtirpc-0.1.7-use_sysconfdir.patch @@ -1,13 +1,13 @@ -Index: libtirpc-0.1.7/Makefile.am +Index: libtirpc-0.1.9/Makefile.am =================================================================== ---- libtirpc-0.1.7.orig/Makefile.am -+++ libtirpc-0.1.7/Makefile.am -@@ -44,5 +44,6 @@ nobase_include_HEADERS = tirpc/un-namesp - tirpc/rpc/auth_des.h - +--- libtirpc-0.1.9.orig/Makefile.am 2008-07-09 20:13:20.000000000 +0200 ++++ libtirpc-0.1.9/Makefile.am 2008-09-02 13:40:24.000000000 +0200 +@@ -47,5 +47,6 @@ pkgconfigdir=$(libdir)/pkgconfig + pkgconfig_DATA = libtirpc.pc + install-exec-local: -- cp -p ./doc/etc_netconfig /etc/netconfig -- chmod 0644 /etc/netconfig +- cp -p ./doc/etc_netconfig $(DESTDIR)/etc/netconfig +- chmod 0644 $(DESTDIR)/etc/netconfig + mkdir -p $(DESTDIR)$(sysconfdir) + cp -p ./doc/etc_netconfig $(DESTDIR)$(sysconfdir)/netconfig + chmod 0644 $(DESTDIR)$(sysconfdir)/netconfig diff --git a/libtirpc-0.1.7-version.patch b/libtirpc-0.1.7-version.patch deleted file mode 100644 index 74b6738..0000000 --- a/libtirpc-0.1.7-version.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: libtirpc-0.1.7/configure.in -=================================================================== ---- libtirpc-0.1.7.orig/configure.in -+++ libtirpc-0.1.7/configure.in -@@ -1,6 +1,6 @@ - --AC_INIT(libtirpc, 0.1.5) --AM_INIT_AUTOMAKE(libtirpc, 0.1.5) -+AC_INIT(libtirpc, 0.1.7) -+AM_INIT_AUTOMAKE(libtirpc, 0.1.7) - AM_MAINTAINER_MODE - AC_CONFIG_SRCDIR([src/auth_des.c]) - -Index: libtirpc-0.1.7/src/Makefile.am -=================================================================== ---- libtirpc-0.1.7.orig/src/Makefile.am -+++ libtirpc-0.1.7/src/Makefile.am -@@ -11,7 +11,7 @@ INCLUDES = -I../tirpc -DPORTMAP -DINET6 - - lib_LTLIBRARIES = libtirpc.la - --libtirpc_la_LDFLAGS = -lnsl -lpthread -+libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:7:0 - - libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ - clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ diff --git a/libtirpc-0.1.7-xdr_bufferoverlow.patch b/libtirpc-0.1.7-xdr_bufferoverlow.patch deleted file mode 100644 index c4e72c3..0000000 --- a/libtirpc-0.1.7-xdr_bufferoverlow.patch +++ /dev/null @@ -1,45 +0,0 @@ -commit 30431c6d846eab1bc6b7a3a91a7894f3acf2680f -Author: Steve Dickson -Date: Thu Apr 26 14:42:16 2007 -0400 - - Check for buffer overflow in xdr_string. - - Signed-off-by: Steve Dickson - -diff --git a/src/xdr.c b/src/xdr.c -index 764c30f..292723b 100644 ---- a/src/xdr.c -+++ b/src/xdr.c -@@ -669,6 +669,8 @@ xdr_string(xdrs, cpp, maxsize) - } - /* FALLTHROUGH */ - case XDR_ENCODE: -+ if (sp == NULL) -+ return FALSE; - size = strlen(sp); - break; - case XDR_DECODE: -@@ -681,6 +683,13 @@ xdr_string(xdrs, cpp, maxsize) - return (FALSE); - } - nodesize = size + 1; -+ if (nodesize == 0) { -+ /* This means an overflow. It a bug in the caller which -+ * provided a too large maxsize but nevertheless catch it -+ * here. -+ */ -+ return FALSE; -+ } - - /* - * now deal with the actual bytes -@@ -688,9 +697,6 @@ xdr_string(xdrs, cpp, maxsize) - switch (xdrs->x_op) { - - case XDR_DECODE: -- if (nodesize == 0) { -- return (TRUE); -- } - if (sp == NULL) - *cpp = sp = mem_alloc(nodesize); - if (sp == NULL) { diff --git a/libtirpc-0.1.7.tar.bz2 b/libtirpc-0.1.7.tar.bz2 deleted file mode 100644 index 0c52500..0000000 --- a/libtirpc-0.1.7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c66778f179fd5883d2cf8172c6aa730edacb2c1e4fc30ed4db165aed82d4c984 -size 450332 diff --git a/libtirpc-0.1.9-fix_broadcast.patch b/libtirpc-0.1.9-fix_broadcast.patch new file mode 100644 index 0000000..f9c3581 --- /dev/null +++ b/libtirpc-0.1.9-fix_broadcast.patch @@ -0,0 +1,23 @@ +From: Olaf Kirch +Subject: Fix incorrect sizeof() in __rpc_getbroadifs + +__rpc_getbroadifs returns bad broadcast addresses on 32bit +machines because when copying the broadcast addresses, ite +applies the sizeof() operator to a pointer to a sockaddr, +rather than the sockaddr itself. + +Signed-off-by: Olaf Kirch + +Index: libtirpc-0.1.7/src/clnt_bcast.c +=================================================================== +--- libtirpc-0.1.7.orig/src/clnt_bcast.c ++++ libtirpc-0.1.7/src/clnt_bcast.c +@@ -163,7 +163,7 @@ __rpc_getbroadifs(int af, int proto, int + /* memcpy(&bip->broadaddr, ifap->ifa_broadaddr, + (size_t)ifap->ifa_broadaddr->sa_len);*/ + memcpy(&bip->broadaddr, ifap->ifa_broadaddr, +- (size_t)sizeof(ifap->ifa_broadaddr)); ++ sizeof(bip->broadaddr)); + sin = (struct sockaddr_in *)(void *)&bip->broadaddr; + sin->sin_port = + ((struct sockaddr_in *) diff --git a/libtirpc-0.1.9-ipv6_sockets_v6only.patch b/libtirpc-0.1.9-ipv6_sockets_v6only.patch new file mode 100644 index 0000000..55f2235 --- /dev/null +++ b/libtirpc-0.1.9-ipv6_sockets_v6only.patch @@ -0,0 +1,56 @@ +From: Olaf Kirch +Subject: Always make IPv6 sockets V6ONLY + +Assume you have a netconfig file looking like this: + +udp tpi_clts v inet udp - - +udp6 tpi_clts v inet6 udp - - +... + +a call to svc_tli_create(... &someaddr, "udp") will fail to create an +IPv6 server socket. The problem is that on Linux, passive IPv6 sockets +will also accept packets/connections from IPv4, and will simply map +the sender's address to an IPv6 mapped IPv4 address. So if you want to +bind both a UDPv4 and UDPv6 socket to the same port, this will fail with +EADDRINUSE. + +The way to avoid this behavior is to change the socket to V6ONLY, +which tells the kernel to avoid the autmatic mapping. + +The change proposed in the patch below does this. I *think* this is +a good place to do this, as it will also fix applications that do not +use svc_tli_create() - such as rpcbind, which creates the sockets on +its own using __rpc_nconf2fd. + +I think this also improves portability, as BSD code assumes BSD +behavior, where this mapping does not occur either. + +Signed-off-by: okir@suse.de +--- + src/rpc_generic.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +Index: libtirpc/src/rpc_generic.c +=================================================================== +--- libtirpc.orig/src/rpc_generic.c ++++ libtirpc/src/rpc_generic.c +@@ -525,11 +525,18 @@ int + __rpc_nconf2fd(const struct netconfig *nconf) + { + struct __rpc_sockinfo si; ++ int fd; + + if (!__rpc_nconf2sockinfo(nconf, &si)) + return 0; + +- return socket(si.si_af, si.si_socktype, si.si_proto); ++ if ((fd = socket(si.si_af, si.si_socktype, si.si_proto)) >= 0 && ++ si.si_af == AF_INET6) { ++ int val = 1; ++ ++ setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val)); ++ } ++ return fd; + } + + int diff --git a/libtirpc-0.1.9-lib_version.patch b/libtirpc-0.1.9-lib_version.patch new file mode 100644 index 0000000..a825c11 --- /dev/null +++ b/libtirpc-0.1.9-lib_version.patch @@ -0,0 +1,13 @@ +Index: libtirpc-0.1.9/src/Makefile.am +=================================================================== +--- libtirpc-0.1.9.orig/src/Makefile.am 2008-07-09 20:13:20.000000000 +0200 ++++ libtirpc-0.1.9/src/Makefile.am 2008-09-02 19:24:32.000000000 +0200 +@@ -11,7 +11,7 @@ INCLUDES = -I../tirpc -DPORTMAP -DINET6 + + lib_LTLIBRARIES = libtirpc.la + +-libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:8:0 ++libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:9:0 + + libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ + clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ diff --git a/libtirpc-0.1.9.tar.bz2 b/libtirpc-0.1.9.tar.bz2 new file mode 100644 index 0000000..699941d --- /dev/null +++ b/libtirpc-0.1.9.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a8deae8e62dc75e1eb4f2ae01c1f047823040b3c196c639b6e0d795be3d1552 +size 411219 diff --git a/libtirpc.changes b/libtirpc.changes index 4473c52..33237e2 100644 --- a/libtirpc.changes +++ b/libtirpc.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Tue Sep 2 18:49:16 CEST 2008 - mkoenig@suse.de + +- update to version 0.1.9 + * several bugfixes +- fix rpc_broadcast [bnc#421950] +- fix ipv4+ipv6 binding [bnc#421976] +- removed patches + libtirpc-0.1.7-arm.patch + libtirpc-0.1.7-bindresvport-ntohs.patch + libtirpc-0.1.7-bindresvport_ports.patch + libtirpc-0.1.7-bufoverflow.patch + libtirpc-0.1.7-clnt_raw-mutex.patch + libtirpc-0.1.7-dgcall-iprecverr.patch + libtirpc-0.1.7-gssglue.patch + libtirpc-0.1.7-libtirpc-pc.patch + libtirpc-0.1.7-man-install.patch + libtirpc-0.1.7-netconfig.patch + libtirpc-0.1.7-ppc64.patch + libtirpc-0.1.7-snprintf.patch + libtirpc-0.1.7-svcauthdestroy.patch + libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch + libtirpc-0.1.7-svcauthnone.patch + libtirpc-0.1.7-svc-rtaddr.patch + libtirpc-0.1.7-svc-run.patch + libtirpc-0.1.7-version.patch + libtirpc-0.1.7-xdr_bufferoverlow.patch + ------------------------------------------------------------------- Fri Aug 1 17:32:28 CEST 2008 - ro@suse.de diff --git a/libtirpc.spec b/libtirpc.spec index 0952a36..9762051 100644 --- a/libtirpc.spec +++ b/libtirpc.spec @@ -1,10 +1,17 @@ # -# spec file for package libtirpc (Version 0.1.7) +# spec file for package libtirpc (Version 0.1.9) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -16,33 +23,16 @@ Name: libtirpc License: Other uncritical OpenSource License; Sun Industry Standards Source License 1.0 Group: System/Libraries AutoReqProv: on -Version: 0.1.7 -Release: 4 +Version: 0.1.9 +Release: 1 Summary: Transport Independent RPC Library Url: http://nfsv4.bullopensource.org/doc/tirpc_rpcbind.php Source: %{name}-%{version}.tar.bz2 -Patch1: libtirpc-0.1.7-netconfig.patch -Patch2: libtirpc-0.1.7-gssglue.patch -Patch3: libtirpc-0.1.7-svcauthnone.patch -Patch4: libtirpc-0.1.7-ppc64.patch -Patch5: libtirpc-0.1.7-svcauthdestroy.patch -Patch6: libtirpc-0.1.7-xdr_bufferoverlow.patch -Patch7: libtirpc-0.1.7-bindresvport_ports.patch -Patch8: libtirpc-0.1.7-svc-run.patch -Patch9: libtirpc-0.1.7-clnt_raw-mutex.patch -Patch10: libtirpc-0.1.7-snprintf.patch -Patch11: libtirpc-0.1.7-bindresvport-ntohs.patch -Patch12: libtirpc-0.1.7-dgcall-iprecverr.patch -Patch13: libtirpc-0.1.7-svc-rtaddr.patch -Patch14: libtirpc-0.1.7-arm.patch -Patch15: libtirpc-0.1.7-bufoverflow.patch -Patch16: libtirpc-0.1.7-libtirpc-pc.patch -Patch17: libtirpc-0.1.7-man-install.patch -# Patch20: libtirpc-0.1.7-use_sysconfdir.patch Patch21: libtirpc-0.1.7-overflow_fix.patch -Patch22: libtirpc-0.1.7-version.patch -Patch23: libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch +Patch24: libtirpc-0.1.9-fix_broadcast.patch +Patch25: libtirpc-0.1.9-ipv6_sockets_v6only.patch +Patch26: libtirpc-0.1.9-lib_version.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define debug_package_requires libtirpc1 = %{version} @@ -80,7 +70,7 @@ Authors: %package devel License: Other uncritical OpenSource License; Sun Industry Standards Source License 1.0 Summary: Transport Independent RPC Library -Group: System/Libraries +Group: Development/Libraries/C and C++ Requires: libtirpc1 = %{version} %description devel @@ -98,30 +88,11 @@ Authors: %prep %setup -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -pushd man -for f in *.3; do mv $f ${f}t; done -popd +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 %build autoreconf -fi @@ -154,8 +125,8 @@ rm -rf $RPM_BUILD_ROOT %files -n libtirpc1 %defattr(-,root,root) +%config %{_sysconfdir}/netconfig /%{_lib}/libtirpc.so.1* -%{_sysconfdir}/netconfig %{_mandir}/man5/netconfig.5.gz %files devel @@ -167,6 +138,31 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/* %changelog +* Tue Sep 02 2008 mkoenig@suse.de +- update to version 0.1.9 + * several bugfixes +- fix rpc_broadcast [bnc#421950] +- fix ipv4+ipv6 binding [bnc#421976] +- removed patches + libtirpc-0.1.7-arm.patch + libtirpc-0.1.7-bindresvport-ntohs.patch + libtirpc-0.1.7-bindresvport_ports.patch + libtirpc-0.1.7-bufoverflow.patch + libtirpc-0.1.7-clnt_raw-mutex.patch + libtirpc-0.1.7-dgcall-iprecverr.patch + libtirpc-0.1.7-gssglue.patch + libtirpc-0.1.7-libtirpc-pc.patch + libtirpc-0.1.7-man-install.patch + libtirpc-0.1.7-netconfig.patch + libtirpc-0.1.7-ppc64.patch + libtirpc-0.1.7-snprintf.patch + libtirpc-0.1.7-svcauthdestroy.patch + libtirpc-0.1.7-svc_auth_gss_lvalue_fix.patch + libtirpc-0.1.7-svcauthnone.patch + libtirpc-0.1.7-svc-rtaddr.patch + libtirpc-0.1.7-svc-run.patch + libtirpc-0.1.7-version.patch + libtirpc-0.1.7-xdr_bufferoverlow.patch * Fri Aug 01 2008 ro@suse.de - fix requires for debuginfo package * Wed Mar 19 2008 mkoenig@suse.de