add rpcbind
Signed-off-by: Peter Wagner <tripolar@gmx.at>
This commit is contained in:
parent
1f77a05825
commit
7f7fda67bd
3 changed files with 111 additions and 0 deletions
69
net/rpcbind/Makefile
Normal file
69
net/rpcbind/Makefile
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=rpcbind
|
||||||
|
PKG_VERSION:=1.2.5
|
||||||
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
|
PKG_SOURCE_URL:=@SF/rpcbind
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
|
PKG_HASH:=2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
|
||||||
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
|
PKG_CPE_ID:=cpe:/a:rpcbind_project:rpcbind
|
||||||
|
|
||||||
|
PKG_FIXUP:=autoreconf
|
||||||
|
PKG_REMOVE_FILES:=autogen.sh aclocal.m4
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
|
PKG_CONFIG_DEPENDS:= \
|
||||||
|
CONFIG_RPCBIND_LIBWRAP
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/rpcbind
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
DEPENDS:=+libtirpc +RPCBIND_LIBWRAP:libwrap
|
||||||
|
TITLE:=Universal addresses to RPC mapper
|
||||||
|
URL:=http://rpcbind.sourceforge.net/
|
||||||
|
USERID:=rpc=65533:rpc=65533
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/rpcbind/description
|
||||||
|
The rpcbind utility is a server that converts RPC program numbers into universal addresses.
|
||||||
|
It must be running on the host to be able to make RPC calls on a server on that machine.
|
||||||
|
|
||||||
|
Rpcbind replaces portmap for NFS v2/v3. It has more features, like ipv6 support.
|
||||||
|
Note: Nfs4 only configurations can run without it.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/rpcbind/config
|
||||||
|
if PACKAGE_rpcbind
|
||||||
|
config RPCBIND_LIBWRAP
|
||||||
|
bool "Enable libwrap (TCP wrappers) support."
|
||||||
|
default y
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
CONFIGURE_ARGS += \
|
||||||
|
--with-rpcuser=rpc \
|
||||||
|
--without-systemdsystemunitdir \
|
||||||
|
--enable-warmstarts
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_RPCBIND_LIBWRAP),y)
|
||||||
|
CONFIGURE_ARGS += --enable-libwrap
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS += --disable-libwrap
|
||||||
|
endif
|
||||||
|
|
||||||
|
define Package/rpcbind/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rpcinfo $(1)/usr/bin/
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rpcbind $(1)/usr/sbin/
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/rpcbind.init $(1)/etc/init.d/rpcbind
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,rpcbind))
|
13
net/rpcbind/files/rpcbind.init
Normal file
13
net/rpcbind/files/rpcbind.init
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
START=19
|
||||||
|
STOP=19
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command /usr/sbin/rpcbind -f -w
|
||||||
|
procd_set_param respawn
|
||||||
|
procd_close_instance
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
|
||||||
|
Date: 2017-05-29
|
||||||
|
Initial Package Version: 0.2.4 (also affects earlier versions)
|
||||||
|
Upstream Status: Unknown
|
||||||
|
Origin: Guido Vranken
|
||||||
|
Description: Fixes CVE-2017-8779 (DOS by remote attackers - memory consumption
|
||||||
|
without subsequent free).
|
||||||
|
|
||||||
|
diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
|
||||||
|
index 5862c26..e11f61b 100644
|
||||||
|
--- a/src/rpcb_svc_com.c
|
||||||
|
+++ b/src/rpcb_svc_com.c
|
||||||
|
@@ -48,6 +48,7 @@
|
||||||
|
#include <rpc/rpc.h>
|
||||||
|
#include <rpc/rpcb_prot.h>
|
||||||
|
#include <rpc/svc_dg.h>
|
||||||
|
+#include <rpc/rpc_com.h>
|
||||||
|
#include <netconfig.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
@@ -432,7 +433,7 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rqstp /*__unused*/,
|
||||||
|
static bool_t
|
||||||
|
xdr_encap_parms(XDR *xdrs, struct encap_parms *epp)
|
||||||
|
{
|
||||||
|
- return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0));
|
||||||
|
+ return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), RPC_MAXDATASIZE));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
Loading…
Reference in a new issue