Portmap is not maintained anymore that's why it is replaced by rpcbind. Rpcbind provides also rpcinfo which is quite useful for debugging.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/common/armv5tel/initscripts | 2 +- config/rootfiles/common/i586/initscripts | 2 +- config/rootfiles/common/x86_64/initscripts | 2 +- config/rootfiles/packages/portmap | 7 -- config/rootfiles/packages/rpcbind | 5 ++ lfs/nfs | 2 +- lfs/portmap | 85 --------------------- lfs/rpcbind | 86 ++++++++++++++++++++++ make.sh | 2 +- src/initscripts/init.d/portmap | 38 ---------- src/initscripts/init.d/rpcbind | 46 ++++++++++++ src/paks/portmap/install.sh | 29 -------- src/paks/portmap/uninstall.sh | 27 ------- src/paks/portmap/update.sh | 26 ------- src/paks/rpcbind/install.sh | 33 +++++++++ src/paks/rpcbind/uninstall.sh | 27 +++++++ src/paks/rpcbind/update.sh | 26 +++++++ .../rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch | 48 ++++++++++++ 18 files changed, 276 insertions(+), 217 deletions(-) delete mode 100644 config/rootfiles/packages/portmap create mode 100644 config/rootfiles/packages/rpcbind delete mode 100644 lfs/portmap create mode 100644 lfs/rpcbind delete mode 100644 src/initscripts/init.d/portmap create mode 100644 src/initscripts/init.d/rpcbind delete mode 100644 src/paks/portmap/install.sh delete mode 100644 src/paks/portmap/uninstall.sh delete mode 100644 src/paks/portmap/update.sh create mode 100644 src/paks/rpcbind/install.sh create mode 100644 src/paks/rpcbind/uninstall.sh create mode 100644 src/paks/rpcbind/update.sh create mode 100644 src/patches/rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch
diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/common/armv5tel/initscripts index b827b1c..bc253c0 100644 --- a/config/rootfiles/common/armv5tel/initscripts +++ b/config/rootfiles/common/armv5tel/initscripts @@ -103,13 +103,13 @@ etc/rc.d/init.d/ntp #etc/rc.d/init.d/nut #etc/rc.d/init.d/openvmtools etc/rc.d/init.d/partresize -#etc/rc.d/init.d/portmap #etc/rc.d/init.d/postfix #etc/rc.d/init.d/pound etc/rc.d/init.d/random etc/rc.d/init.d/rc etc/rc.d/init.d/reboot etc/rc.d/init.d/rngd +#etc/rc.d/init.d/rpcbind #etc/rc.d/init.d/rtpproxy #etc/rc.d/init.d/samba #etc/rc.d/init.d/sane diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/common/i586/initscripts index 51185f6..61f330e 100644 --- a/config/rootfiles/common/i586/initscripts +++ b/config/rootfiles/common/i586/initscripts @@ -105,13 +105,13 @@ etc/rc.d/init.d/ntp #etc/rc.d/init.d/nut #etc/rc.d/init.d/openvmtools etc/rc.d/init.d/partresize -#etc/rc.d/init.d/portmap #etc/rc.d/init.d/postfix #etc/rc.d/init.d/pound etc/rc.d/init.d/random etc/rc.d/init.d/rc etc/rc.d/init.d/reboot etc/rc.d/init.d/rngd +#etc/rc.d/init.d/rpcbind #etc/rc.d/init.d/rtpproxy #etc/rc.d/init.d/samba #etc/rc.d/init.d/sane diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/common/x86_64/initscripts index 51185f6..61f330e 100644 --- a/config/rootfiles/common/x86_64/initscripts +++ b/config/rootfiles/common/x86_64/initscripts @@ -105,13 +105,13 @@ etc/rc.d/init.d/ntp #etc/rc.d/init.d/nut #etc/rc.d/init.d/openvmtools etc/rc.d/init.d/partresize -#etc/rc.d/init.d/portmap #etc/rc.d/init.d/postfix #etc/rc.d/init.d/pound etc/rc.d/init.d/random etc/rc.d/init.d/rc etc/rc.d/init.d/reboot etc/rc.d/init.d/rngd +#etc/rc.d/init.d/rpcbind #etc/rc.d/init.d/rtpproxy #etc/rc.d/init.d/samba #etc/rc.d/init.d/sane diff --git a/config/rootfiles/packages/portmap b/config/rootfiles/packages/portmap deleted file mode 100644 index 4b60d64..0000000 --- a/config/rootfiles/packages/portmap +++ /dev/null @@ -1,7 +0,0 @@ -etc/rc.d/init.d/portmap -sbin/portmap -#sbin/pmap_dump -#sbin/pmap_set -#usr/share/man/man8/pmap_dump.8 -#usr/share/man/man8/pmap_set.8 -#usr/share/man/man8/portmap.8 diff --git a/config/rootfiles/packages/rpcbind b/config/rootfiles/packages/rpcbind new file mode 100644 index 0000000..5270207 --- /dev/null +++ b/config/rootfiles/packages/rpcbind @@ -0,0 +1,5 @@ +etc/rc.d/init.d/rpcbind +sbin/rpcbind +sbin/rpcinfo +#usr/share/man/man8/rpcbind.8 +#usr/share/man/man8/rpcinfo.8 diff --git a/lfs/nfs b/lfs/nfs index b6cef7b..ee9b3a0 100644 --- a/lfs/nfs +++ b/lfs/nfs @@ -34,7 +34,7 @@ TARGET = $(DIR_INFO)/$(THISAPP) PROG = nfs PAK_VER = 7
-DEPS = "portmap" +DEPS = "rpcbind"
LIBNFSIDMAP = 0.25
diff --git a/lfs/portmap b/lfs/portmap deleted file mode 100644 index c903547..0000000 --- a/lfs/portmap +++ /dev/null @@ -1,85 +0,0 @@ -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see http://www.gnu.org/licenses/. # -# # -############################################################################### - -############################################################################### -# Definitions -############################################################################### - -include Config - -VER = 6.0 - -THISAPP = portmap_$(VER) -DL_FILE = $(THISAPP).tgz -DL_FROM = $(URL_IPFIRE) -DIR_APP = $(DIR_SRC)/$(THISAPP) -TARGET = $(DIR_INFO)/$(THISAPP) -PROG = portmap -PAK_VER = 2 - -DEPS = "" - -############################################################################### -# Top-level Rules -############################################################################### - -objects = $(DL_FILE) - -$(DL_FILE) = $(DL_FROM)/$(DL_FILE) - -$(DL_FILE)_MD5 = ac108ab68bf0f34477f8317791aaf1ff - -install : $(TARGET) - -check : $(patsubst %,$(DIR_CHK)/%,$(objects)) - -download :$(patsubst %,$(DIR_DL)/%,$(objects)) - -md5 : $(subst %,%_MD5,$(objects)) - -dist: - @$(PAK) - -############################################################################### -# Downloading, checking, md5sum -############################################################################### - -$(patsubst %,$(DIR_CHK)/%,$(objects)) : - @$(CHECK) - -$(patsubst %,$(DIR_DL)/%,$(objects)) : - @$(LOAD) - -$(subst %,%_MD5,$(objects)) : - @$(MD5) - -############################################################################### -# Installation Details -############################################################################### - -$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) - @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xvfz $(DIR_DL)/$(DL_FILE) -# cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/portmap-5beta-compilation_fixes-3.patch -# cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/portmap-5beta-glibc_errno_fix-1.patch - cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) - cd $(DIR_APP) && make install - @rm -rf $(DIR_APP) - @$(POSTBUILD) diff --git a/lfs/rpcbind b/lfs/rpcbind new file mode 100644 index 0000000..d9e2885 --- /dev/null +++ b/lfs/rpcbind @@ -0,0 +1,86 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.2.3 + +THISAPP = rpcbind-$(VER) +DL_FILE = $(THISAPP).tar.bz2 +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = rpcbind +PAK_VER = 1 + +DEPS = "libtirpc" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = c8875246b2688a1adfbd6ad43480278d + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && sed -i "/servname/s:rpcbind:sunrpc:" src/rpcbind.c + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch + cd $(DIR_APP) && ./configure --prefix=/usr --bindir=/sbin --with-rpcuser=root --without-systemdsystemunitdir --disable-ipv6 + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 6219f29..3293fd8 100755 --- a/make.sh +++ b/make.sh @@ -679,7 +679,7 @@ buildipfire() { ipfiremake libevent ipfiremake libevent2 ipfiremake libtirpc - ipfiremake portmap + ipfiremake rpcbind ipfiremake nfs ipfiremake gnu-netcat ipfiremake ncat diff --git a/src/initscripts/init.d/portmap b/src/initscripts/init.d/portmap deleted file mode 100644 index 00516a2..0000000 --- a/src/initscripts/init.d/portmap +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Begin $rc_base/init.d/portmap - -#$LastChangedBy: bdubbs $ -#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ - -. /etc/sysconfig/rc -. $rc_functions - -case "$1" in - start) - boot_mesg "Starting RPC Portmap" - loadproc /sbin/portmap - ;; - - stop) - boot_mesg "Stopping Portmap" - killproc /sbin/portmap - ;; - - restart) - $0 stop - sleep 1 - $0 start - ;; - - status) - statusproc /sbin/portmap - ;; - - *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 - ;; - -esac - -# End $rc_base/init.d/portmap diff --git a/src/initscripts/init.d/rpcbind b/src/initscripts/init.d/rpcbind new file mode 100644 index 0000000..7216acd --- /dev/null +++ b/src/initscripts/init.d/rpcbind @@ -0,0 +1,46 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/rpcbind +# +# Description : rpcbind init script +# +# Authors : Jonatan Schlag jonatan.schlag@ipfire.org +# +# Version : 01.00 +# +# Notes : +# +######################################################################## + +. /etc/sysconfig/rc +. $rc_functions + +case "$1" in + start) + boot_mesg "Starting rpcbind" + loadproc /sbin/rpcbind + ;; + + stop) + boot_mesg "Stopping rpcbind" + killproc /sbin/rpcbind + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /sbin/rpcbind + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; + +esac + +# End $rc_base/init.d/rpcbind diff --git a/src/paks/portmap/install.sh b/src/paks/portmap/install.sh deleted file mode 100644 index 6c391d6..0000000 --- a/src/paks/portmap/install.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -extract_files -start_service --background ${NAME} -ln -sf ../init.d/portmap /etc/rc.d/rc0.d/K49portmap -ln -sf ../init.d/portmap /etc/rc.d/rc3.d/S22portmap -ln -sf ../init.d/portmap /etc/rc.d/rc6.d/K49portmap diff --git a/src/paks/portmap/uninstall.sh b/src/paks/portmap/uninstall.sh deleted file mode 100644 index 12ecada..0000000 --- a/src/paks/portmap/uninstall.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -stop_service ${NAME} -remove_files -rm -rf /etc/rc.d/rc*.d/*portmap diff --git a/src/paks/portmap/update.sh b/src/paks/portmap/update.sh deleted file mode 100644 index 89c40d0..0000000 --- a/src/paks/portmap/update.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -./uninstall.sh -./install.sh diff --git a/src/paks/rpcbind/install.sh b/src/paks/rpcbind/install.sh new file mode 100644 index 0000000..e523183 --- /dev/null +++ b/src/paks/rpcbind/install.sh @@ -0,0 +1,33 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +# remove portmap +/etc/init.d/portmap stop +rm -rf /etc/rc.d/rc*.d/*portmap /sbin/portmap /etc/rc.d/init.d/portmap +# install rpcbind +extract_files +start_service --background ${NAME} +ln -sf ../init.d/rpcbind /etc/rc.d/rc0.d/K49rpcbind +ln -sf ../init.d/rpcbind /etc/rc.d/rc3.d/S22rpcbind +ln -sf ../init.d/rpcbind /etc/rc.d/rc6.d/K49rpcbind diff --git a/src/paks/rpcbind/uninstall.sh b/src/paks/rpcbind/uninstall.sh new file mode 100644 index 0000000..e705c8c --- /dev/null +++ b/src/paks/rpcbind/uninstall.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +stop_service ${NAME} +remove_files +rm -rf /etc/rc.d/rc*.d/*rpcbind diff --git a/src/paks/rpcbind/update.sh b/src/paks/rpcbind/update.sh new file mode 100644 index 0000000..89c40d0 --- /dev/null +++ b/src/paks/rpcbind/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh diff --git a/src/patches/rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch b/src/patches/rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch new file mode 100644 index 0000000..bdf73a3 --- /dev/null +++ b/src/patches/rpcbind/rpcbind-0.2.3-tirpc_fix-1.patch @@ -0,0 +1,48 @@ +Submitted By: Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org> +Date: 2015-11-29 +Initial Package Version: 0.2.3 +Upstream Status: Already in upstream git repository +Origin: Upstream +Description: This patch fixes rpcbind to be able to build with + recent tirpc versions. + +From 9194122389f2a56b1cd1f935e64307e2e963c2da Mon Sep 17 00:00:00 2001 +From: Steve Dickson steved@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@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 +