[arch-commits] Commit in rpcbind/trunk (5 files)

Andreas Radke andyrtr at archlinux.org
Thu Dec 1 21:08:07 UTC 2016


    Date: Thursday, December 1, 2016 @ 21:08:07
  Author: andyrtr
Revision: 282496

upgpkg: rpcbind 0.2.4-1

upstream update 0.2.4

Modified:
  rpcbind/trunk/PKGBUILD
Deleted:
  rpcbind/trunk/bug-940191.patch
  rpcbind/trunk/do_not_use_the_xp_auth_pointer_directly.diff
  rpcbind/trunk/rpcbind.service
  rpcbind/trunk/rpcbind.socket

----------------------------------------------+
 PKGBUILD                                     |   30 ++-------
 bug-940191.patch                             |   80 -------------------------
 do_not_use_the_xp_auth_pointer_directly.diff |   40 ------------
 rpcbind.service                              |   11 ---
 rpcbind.socket                               |    8 --
 5 files changed, 8 insertions(+), 161 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-12-01 20:50:31 UTC (rev 282495)
+++ PKGBUILD	2016-12-01 21:08:07 UTC (rev 282496)
@@ -3,8 +3,8 @@
 # Maintainer: Tobias Powalowski <tpowa at archlinux.org>
 
 pkgname=rpcbind
-pkgver=0.2.3
-pkgrel=3
+pkgver=0.2.4
+pkgrel=1
 pkgdesc="portmap replacement which supports RPC over various protocols"
 arch=(i686 x86_64)
 backup=('etc/conf.d/rpcbind')
@@ -14,20 +14,14 @@
 license=('custom')
 replaces=('portmap')
 # see also http://git.infradead.org/users/steved/rpcbind.git
-source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
-        bug-940191.patch
-        do_not_use_the_xp_auth_pointer_directly.diff
+source=(https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
         rpcbind-sunrpc.patch
-        rpcbind.service
-        rpcbind.socket
+#        rpcbind.service
+#        rpcbind.socket
         rpcbind.conf)
 install=rpcbind.install
-sha1sums=('e79974a99d09b6d6fff9d86bf00225dc33723ce2'
-          '717e2700510b1b40f452eddb929a7be00df4292b'
-          '3fa6138b6a559b5b3a5610686ec1de045a0b8d1d'
+sha1sums=('8a6045dd3397e9f71bf3a7c9d269e255cca537bd'
           '1b997ce76f9727efc8c72fc5f97189591c9a60e2'
-          '3534c7bcdecebda90182fe2328a16137353cb1ad'
-          'c52f8396cd05181b788fbdf74898730343c03c9a'
           '08246ff18d12cee01e5c9391c6ba8f5597cac936')
 
 prepare() {
@@ -34,14 +28,6 @@
   cd $srcdir/$pkgname-$pkgver
   # patch for iana services file # FS#20273
   patch -Np1 -i ../rpcbind-sunrpc.patch
-  
-  # fix a memory corruption crash when remote scanning
-  # https://bugs.archlinux.org/task/46341
-  # http://seclists.org/oss-sec/2015/q3/581
-  patch -Np1 -i ../bug-940191.patch
-  
-  # upstream fix for libtirpc 1.0.1
-  patch -Np1 -i ../do_not_use_the_xp_auth_pointer_directly.diff
 }
 
 build() {
@@ -61,9 +47,9 @@
   # install missing man page - https://bugs.archlinux.org/task/21271
   install -m644 man/rpcinfo.8 $pkgdir/usr/share/man/man8/
   # install systemd service file
-  install -D -m644 $srcdir/rpcbind.service $pkgdir/usr/lib/systemd/system/rpcbind.service
+#  install -D -m644 $srcdir/rpcbind.service $pkgdir/usr/lib/systemd/system/rpcbind.service
   # install system socket activation
-  install -D -m644 $srcdir/rpcbind.socket $pkgdir/usr/lib/systemd/system/rpcbind.socket
+#  install -D -m644 $srcdir/rpcbind.socket $pkgdir/usr/lib/systemd/system/rpcbind.socket
   # add state directory
   install -d -m 700 -o 32 -g 32 $pkgdir/var/lib/rpcbind
   # install license

Deleted: bug-940191.patch
===================================================================
--- bug-940191.patch	2016-12-01 20:50:31 UTC (rev 282495)
+++ bug-940191.patch	2016-12-01 21:08:07 UTC (rev 282496)
@@ -1,80 +0,0 @@
-commit 06f7ebb1dade2f0dbf872ea2bedf17cff4734bdd
-Author: Olaf Kirch <okir () suse de>
-Date:   Thu Aug 6 16:27:20 2015 +0200
-
-    Fix memory corruption in PMAP_CALLIT code
-    
-     - A PMAP_CALLIT call comes in on IPv4 UDP
-     - rpcbind duplicates the caller's address to a netbuf and stores it in
-       FINFO[0].caller_addr. caller_addr->buf now points to a memory region A
-       with a size of 16 bytes
-     - rpcbind forwards the call to the local service, receives a reply
-     - when processing the reply, it does this in xprt_set_caller:
-         xprt->xp_rtaddr = *FINFO[0].caller_addr
-       It sends out the reply, and then frees the netbuf caller_addr and
-       caller_addr.buf.
-       However, it does not clear xp_rtaddr, so xp_rtaddr.buf now refers
-       to memory region A, which is free.
-     - When the next call comes in on the UDP/IPv4 socket, svc_dg_recv will
-       be called, which will set xp_rtaddr to the client's address.
-       It will reuse the buffer inside xp_rtaddr, ie it will write a
-       sockaddr_in to region A
-    
-    Some time down the road, an incoming TCP connection is accepted,
-    allocating a fresh SVCXPRT. The memory region A is inside the
-    new SVCXPRT
-    
-     - While processing the TCP call, another UDP call comes in, again
-       overwriting region A with the client's address
-     - TCP client closes connection. In svc_destroy, we now trip over
-       the garbage left in region A
-    
-    We ran into the case where a commercial scanner was triggering
-    occasional rpcbind segfaults. The core file that was captured showed
-    a corrupted xprt->xp_netid pointer that was really a sockaddr_in.
-    
-    Signed-off-by: Olaf Kirch <okir () suse de>
-
----
- src/rpcb_svc_com.c |   23 ++++++++++++++++++++++-
- 1 file changed, 22 insertions(+), 1 deletion(-)
-
-Index: rpcbind-0.1.6+git20080930/src/rpcb_svc_com.c
-===================================================================
---- rpcbind-0.1.6+git20080930.orig/src/rpcb_svc_com.c
-+++ rpcbind-0.1.6+git20080930/src/rpcb_svc_com.c
-@@ -1298,12 +1298,33 @@ check_rmtcalls(struct pollfd *pfds, int
- 	return (ncallbacks_found);
- }
- 
-+/*
-+ * This is really a helper function defined in libtirpc, but unfortunately, it hasn't
-+ * been exported yet.
-+ */
-+static struct netbuf *
-+__rpc_set_netbuf(struct netbuf *nb, const void *ptr, size_t len)
-+{
-+	if (nb->len != len) {
-+		if (nb->len)
-+			mem_free(nb->buf, nb->len);
-+		nb->buf = mem_alloc(len);
-+		if (nb->buf == NULL)
-+			return NULL;
-+
-+		nb->maxlen = nb->len = len;
-+	}
-+	memcpy(nb->buf, ptr, len);
-+	return nb;
-+}
-+
- static void
- xprt_set_caller(SVCXPRT *xprt, struct finfo *fi)
- {
-+	const struct netbuf *caller = fi->caller_addr;
- 	u_int32_t *xidp;
- 
--	*(svc_getrpccaller(xprt)) = *(fi->caller_addr);
-+	__rpc_set_netbuf(svc_getrpccaller(xprt), caller->buf, caller->len);
- 	xidp = __rpcb_get_dg_xidp(xprt);
- 	*xidp = fi->caller_xid;
- }

Deleted: do_not_use_the_xp_auth_pointer_directly.diff
===================================================================
--- do_not_use_the_xp_auth_pointer_directly.diff	2016-12-01 20:50:31 UTC (rev 282495)
+++ do_not_use_the_xp_auth_pointer_directly.diff	2016-12-01 21:08:07 UTC (rev 282496)
@@ -1,40 +0,0 @@
-From 9194122389f2a56b1cd1f935e64307e2e963c2da Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved at redhat.com>
-Date: Mon, 2 Nov 2015 17:05:18 -0500
-Subject: [PATCH] handle_reply: Don't use the xp_auth pointer directly
-
-In the latest libtirpc version to access the xp_auth
-one must use the SVC_XP_AUTH macro. To be backwards
-compatible a couple ifdefs were added to use the
-macro when it exists.
-
-Signed-off-by: Steve Dickson <steved at redhat.com>
----
- src/rpcb_svc_com.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 4ae93f1..22d6c84 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -1295,10 +1295,17 @@ handle_reply(int fd, SVCXPRT *xprt)
- 	a.rmt_localvers = fi->versnum;
- 
- 	xprt_set_caller(xprt, fi);
-+#if defined(SVC_XP_AUTH)
-+	SVC_XP_AUTH(xprt) = svc_auth_none;
-+#else 
- 	xprt->xp_auth = &svc_auth_none;
-+#endif
- 	svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
-+#if !defined(SVC_XP_AUTH)
- 	SVCAUTH_DESTROY(xprt->xp_auth);
- 	xprt->xp_auth = NULL;
-+#endif
-+
- done:
- 	if (buffer)
- 		free(buffer);
--- 
-1.8.2.1
-

Deleted: rpcbind.service
===================================================================
--- rpcbind.service	2016-12-01 20:50:31 UTC (rev 282495)
+++ rpcbind.service	2016-12-01 21:08:07 UTC (rev 282496)
@@ -1,11 +0,0 @@
-[Unit]
-Description=RPC bind service
-Requires=rpcbind.socket
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/rpcbind
-ExecStart=/usr/bin/rpcbind -w ${RPCBIND_ARGS}
-
-[Install]
-Also=rpcbind.socket

Deleted: rpcbind.socket
===================================================================
--- rpcbind.socket	2016-12-01 20:50:31 UTC (rev 282495)
+++ rpcbind.socket	2016-12-01 21:08:07 UTC (rev 282496)
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPCbind Server Activation Socket
-
-[Socket]
-ListenStream=/var/run/rpcbind.sock
-
-[Install]
-WantedBy=sockets.target



More information about the arch-commits mailing list