[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