wok rev 174

Typo in patch disable-tcp_wrapper
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Fri Feb 01 12:12:28 2008 +0100 (2008-02-01)
parents cd509ecf0435
children 0a43c4b80c53
files coreutils/receipt portmap/receipt portmap/stuff/init.d/portmap portmap/stuff/portmap-5beta-compilation_fixes-3.patch portmap/stuff/portmap-5beta-disable-tcp_wrapper.patch portmap/stuff/portmap-5beta-glibc_errno_fix-1.patch
line diff
     1.1 --- a/coreutils/receipt	Fri Feb 01 00:22:55 2008 +0100
     1.2 +++ b/coreutils/receipt	Fri Feb 01 12:12:28 2008 +0100
     1.3 @@ -41,6 +41,7 @@
     1.4  	cp -a $_pkg/usr/bin/shuf $fs/usr/bin
     1.5  	cp -a $_pkg/usr/bin/split $fs/usr/bin
     1.6  	cp -a $_pkg/usr/bin/users $fs/usr/bin
     1.7 +	cp -a $_pkg/usr/bin/groups $fs/usr/bin
     1.8  	strip -s $fs/usr/bin/* 2>/dev/null
     1.9  	# Locale
    1.10  	cp -a $_pkg/usr/share/locale/fr $fs/usr/share/locale
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/portmap/receipt	Fri Feb 01 12:12:28 2008 +0100
     2.3 @@ -0,0 +1,65 @@
     2.4 +# SliTaz package receipt.
     2.5 +
     2.6 +PACKAGE="portmap"
     2.7 +VERSION="5beta"
     2.8 +CATEGORY="extra"
     2.9 +SHORT_DESC=""
    2.10 +MAINTAINER="Erjo <erjo@slitaz.org>"
    2.11 +DEPENDS=""
    2.12 +TARBALL="${PACKAGE}_${VERSION}.tar.gz"
    2.13 +WEB_SITE="http://www.linuxfromscratch.org/blfs/view/stable/basicnet/portmap.html"
    2.14 +WGET_URL="ftp://ftp.porcupine.org/pub/security/${TARBALL}"
    2.15 +
    2.16 +src=${PACKAGE}_${VERSION}	
    2.17 +
    2.18 +# rules to configure and make the package.
    2.19 +compile_rules()
    2.20 +{
    2.21 +	# Ovewriting default $src definition
    2.22 +	
    2.23 +	src=${PACKAGE}_${VERSION}	
    2.24 +	cd $src
    2.25 +	
    2.26 +	# Applying some patches 
    2.27 +	# see Beyond Linux From Scratch for details.
    2.28 +	patch -Np1 -i ../stuff/portmap-5beta-compilation_fixes-3.patch
    2.29 +	patch -Np1 -i ../stuff/portmap-5beta-glibc_errno_fix-1.patch
    2.30 +	patch -Np1 -i ../stuff/portmap-5beta-disable-tcp_wrapper.patch
    2.31 +	
    2.32 +	# Build e
    2.33 +	make
    2.34 +}
    2.35 +
    2.36 +# Rules to gen a SliTaz package suitable for Tazpkg.
    2.37 +genpkg_rules()
    2.38 +{
    2.39 +	src=${PACKAGE}_${VERSION}	
    2.40 +	_pkg=${PACKAGE}_${VERSION}/_pkg	
    2.41 +	
    2.42 +
    2.43 +	mkdir -p $fs/usr/sbin
    2.44 +	cp -a $src/pmap_dump $fs/usr/sbin
    2.45 +	cp -a $src/pmap_set $fs/usr/sbin
    2.46 +	cp -a $src/portmap $fs/usr/sbin
    2.47 +	strip -s $fs/usr/sbin/*
    2.48 +	
    2.49 +	mkdir -p $fs/etc
    2.50 +	cp -a stuff/init.d $fs/etc
    2.51 +}
    2.52 +
    2.53 +
    2.54 +post_install()
    2.55 +{
    2.56 +	local root
    2.57 +	root=$1
    2.58 +	echo "Processing some post-install commands..."
    2.59 +	
    2.60 +	chown root.root $root/etc/init.d/portmap
    2.61 +	chmod 0755 $root/etc/init.d/portmap
    2.62 +	
    2.63 +	# Post message when installing.
    2.64 +	echo -e "\nTo starts $PACKAGE server you can run :\n"
    2.65 +        echo "/etc/init.d/$PACKAGE start"
    2.66 +	echo -e "Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf\n"
    2.67 +	                        
    2.68 +}
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/portmap/stuff/init.d/portmap	Fri Feb 01 12:12:28 2008 +0100
     3.3 @@ -0,0 +1,72 @@
     3.4 +#!/bin/sh
     3.5 +# /etc/init.d/portmap : Start, stop and restart RPC portmapper on SliTaz, at
     3.6 +# boot time or with the command line.
     3.7 +#
     3.8 +# To start RPC portmapper at boot time, just put dropbear in the $RUN_DAEMONS
     3.9 +# variable of /etc/rcS.conf and configure options with /etc/daemons.conf
    3.10 +#
    3.11 +. /etc/init.d/rc.functions
    3.12 +. /etc/daemons.conf
    3.13 +
    3.14 +NAME=portmap
    3.15 +DESC="RPC portmapper"
    3.16 +DAEMON=/usr/sbin/portmap
    3.17 +OPTIONS=
    3.18 +PIDFILE=/var/run/$NAME.pid
    3.19 +
    3.20 +
    3.21 +test -f $DAEMON || exit 0
    3.22 +
    3.23 +case "$1" in
    3.24 +    start)
    3.25 +   	if [ -f $PIDFILE ] ; then
    3.26 +      		echo "$NAME already running."
    3.27 +      		exit 1
    3.28 +    	fi
    3.29 +
    3.30 +    	echo -n "Starting $DESC: $NAME... "
    3.31 +    	$DAEMON $OPTIONS
    3.32 +    	
    3.33 +    	# registering PID
    3.34 +    	if [ $? -eq 0 ]; then
    3.35 +    		pidof -s $NAME > $PIDFILE
    3.36 +    	fi
    3.37 +    	status
    3.38 + 
    3.39 +	if [ -f /var/run/portmap.upgrade-state ]; then
    3.40 +          echo -n "Restoring old RPC service information..."
    3.41 +          sleep 1 # needs a short pause or pmap_set won't work. :(
    3.42 +	  pmap_set </var/run/portmap.upgrade-state
    3.43 +	  rm -f /var/run/portmap.upgrade-state
    3.44 +          echo "done."
    3.45 +        fi
    3.46 +
    3.47 +	;;
    3.48 +    stop)
    3.49 +        if [ ! -f $PIDFILE ] ; then
    3.50 +           echo "$NAME is not running."
    3.51 +           exit 1
    3.52 +        fi
    3.53 +        echo -n "Stopping $DESC: $NAME... "
    3.54 +        kill `cat $PIDFILE`
    3.55 +        rm -f $PIDFILE
    3.56 +        status
    3.57 +	;;
    3.58 +    restart)
    3.59 +	pmap_dump >/var/run/portmap.state
    3.60 +        $0 stop
    3.61 +        $0 start
    3.62 +	if [ ! -f /var/run/portmap.upgrade-state ]; then
    3.63 +       		sleep 1
    3.64 + 		pmap_set </var/run/portmap.state
    3.65 +	fi
    3.66 +	rm -f /var/run/portmap.state
    3.67 +	;;
    3.68 +    *)
    3.69 +		echo "Usage: $DAEMON {start|stop|reload|restart}"
    3.70 +		exit 1
    3.71 +	;;
    3.72 +esac
    3.73 +
    3.74 +exit 0
    3.75 +
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/portmap/stuff/portmap-5beta-compilation_fixes-3.patch	Fri Feb 01 12:12:28 2008 +0100
     4.3 @@ -0,0 +1,705 @@
     4.4 +Submitted By: Kevin P. Fleming <kpfleming at linuxfromscratch dot org>
     4.5 +Date: 2004-05-02
     4.6 +Initial Package Version: 5beta
     4.7 +Origin: http://archives.linuxfromscratch.org/mail-archives/blfs-dev/2003-January/001960.html
     4.8 +Description: The patch was created from the portmap modified package by Mark Heerdink.
     4.9 +This patch provides the following improvements:
    4.10 +    * Link against dynamic tcp_wrappers.
    4.11 +    * Create an install target for portmap.
    4.12 +    * Compilation and security fixes.
    4.13 +    * Documentation fixes.
    4.14 +
    4.15 +Originally created by Tushar Teredesai, updated by kpfleming to ensure
    4.16 +portmap will compile without tcp_wrappers installed.
    4.17 +diff -Naur portmap_5beta/BLURB portmap_5beta.gimli/BLURB
    4.18 +--- portmap_5beta/BLURB	1996-07-06 16:09:46.000000000 -0500
    4.19 ++++ portmap_5beta.gimli/BLURB	2002-01-07 09:13:58.000000000 -0600
    4.20 +@@ -1,3 +1,6 @@
    4.21 ++
    4.22 ++###############################################################################
    4.23 ++
    4.24 + @(#) BLURB 1.5 96/07/06 23:09:45
    4.25 + 
    4.26 + This is the fifth replacement portmapper release.
    4.27 +diff -Naur portmap_5beta/Makefile portmap_5beta.gimli/Makefile
    4.28 +--- portmap_5beta/Makefile	1996-07-06 16:06:19.000000000 -0500
    4.29 ++++ portmap_5beta.gimli/Makefile	2002-07-15 16:00:07.000000000 -0500
    4.30 +@@ -8,7 +8,7 @@
    4.31 + # if you disagree. See `man 3 syslog' for examples. Some syslog versions
    4.32 + # do not provide this flexibility.
    4.33 + #
    4.34 +-FACILITY=LOG_MAIL
    4.35 ++FACILITY=LOG_DAEMON
    4.36 + 
    4.37 + # To disable tcp-wrapper style access control, comment out the following
    4.38 + # macro definitions.  Access control can also be turned off by providing
    4.39 +@@ -16,7 +16,8 @@
    4.40 + # daemon, is always treated as an authorized host.
    4.41 + 
    4.42 + HOSTS_ACCESS= -DHOSTS_ACCESS
    4.43 +-WRAP_LIB = $(WRAP_DIR)/libwrap.a
    4.44 ++#WRAP_LIB = $(WRAP_DIR)/libwrap.a
    4.45 ++WRAP_LIB = -lwrap
    4.46 + 
    4.47 + # Comment out if your RPC library does not allocate privileged ports for
    4.48 + # requests from processes with root privilege, or the new portmap will
    4.49 +@@ -71,7 +72,7 @@
    4.50 + # With verbose logging on, HP-UX 9.x and AIX 4.1 leave zombies behind when
    4.51 + # SIGCHLD is not ignored. Enable next macro for a fix.
    4.52 + #
    4.53 +-# ZOMBIES = -DIGNORE_SIGCHLD	# AIX 4.x, HP-UX 9.x
    4.54 ++ZOMBIES = -DIGNORE_SIGCHLD	# AIX 4.x, HP-UX 9.x
    4.55 + 
    4.56 + # Uncomment the following macro if your system does not have u_long.
    4.57 + #
    4.58 +@@ -81,7 +82,7 @@
    4.59 + # libwrap.a object library. WRAP_DIR should specify the directory with
    4.60 + # that library.
    4.61 + 
    4.62 +-WRAP_DIR= ../tcp_wrappers
    4.63 ++WRAP_DIR= $(TCPD_DIR)
    4.64 + 
    4.65 + # Auxiliary object files that may be missing from your C library.
    4.66 + #
    4.67 +@@ -99,22 +100,31 @@
    4.68 + 
    4.69 + # Comment out if your compiler talks ANSI and understands const
    4.70 + #
    4.71 +-CONST   = -Dconst=
    4.72 ++#CONST   = -Dconst=
    4.73 + 
    4.74 + ### End of configurable stuff.
    4.75 + ##############################
    4.76 + 
    4.77 ++GLIBC=$(shell grep -s -c __GLIBC__ /usr/include/features.h)
    4.78 ++
    4.79 ++ifeq ($(GLIBC),0)
    4.80 ++LIBS   += # -lbsd
    4.81 ++else
    4.82 ++LIBS   += -lnsl
    4.83 ++endif
    4.84 ++
    4.85 ++
    4.86 + SHELL	= /bin/sh
    4.87 + 
    4.88 +-COPT	= $(CONST) -Dperror=xperror $(HOSTS_ACCESS) $(CHECK_PORT) \
    4.89 ++COPT	= $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
    4.90 + 	$(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(SA_LEN) \
    4.91 + 	$(LOOPBACK) $(SETPGRP)
    4.92 +-CFLAGS	= $(COPT) -O $(NSARCHS)
    4.93 ++CFLAGS	= -Wall $(COPT) -O2 $(NSARCHS)
    4.94 + OBJECTS	= portmap.o pmap_check.o from_local.o $(AUX)
    4.95 + 
    4.96 + all:	portmap pmap_dump pmap_set
    4.97 + 
    4.98 +-portmap: $(OBJECTS) $(WRAP_DIR)/libwrap.a
    4.99 ++portmap: $(OBJECTS) # $(WRAP_DIR)/libwrap.a
   4.100 + 	$(CC) $(CFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
   4.101 + 
   4.102 + pmap_dump: pmap_dump.c
   4.103 +@@ -129,6 +139,17 @@
   4.104 + get_myaddress: get_myaddress.c
   4.105 + 	cc $(CFLAGS) -DTEST -o $@ get_myaddress.c $(LIBS)
   4.106 + 
   4.107 ++install: all
   4.108 ++	install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
   4.109 ++	install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/usr/sbin
   4.110 ++	install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/usr/sbin
   4.111 ++	install -o root -g root -m 0644 portmap.8 ${BASEDIR}/usr/share/man/man8
   4.112 ++	install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
   4.113 ++	install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
   4.114 ++#	cat README BLURB >${BASEDIR}/usr/share/doc/portmap/portmapper.txt
   4.115 ++#	gzip -9f ${BASEDIR}/usr/share/doc/portmap/portmapper.txt
   4.116 ++
   4.117 ++
   4.118 + lint:	
   4.119 + 	lint $(COPT) $(OBJECTS:%.o=%.c)
   4.120 + 
   4.121 +diff -Naur portmap_5beta/daemon.c portmap_5beta.gimli/daemon.c
   4.122 +--- portmap_5beta/daemon.c	1992-06-11 15:53:12.000000000 -0500
   4.123 ++++ portmap_5beta.gimli/daemon.c	2002-01-07 09:22:24.000000000 -0600
   4.124 +@@ -36,16 +36,13 @@
   4.125 + #endif /* LIBC_SCCS and not lint */
   4.126 + 
   4.127 + #include <fcntl.h>
   4.128 +-
   4.129 +-/* From unistd.h */
   4.130 +-#define STDIN_FILENO	0
   4.131 +-#define STDOUT_FILENO	1
   4.132 +-#define STDERR_FILENO	2
   4.133 ++#include <unistd.h>
   4.134 ++#include <sys/types.h>
   4.135 + 
   4.136 + /* From paths.h */
   4.137 + #define _PATH_DEVNULL	"/dev/null"
   4.138 + 
   4.139 +-daemon(nochdir, noclose)
   4.140 ++int daemon(nochdir, noclose)
   4.141 + 	int nochdir, noclose;
   4.142 + {
   4.143 + 	int cpid;
   4.144 +diff -Naur portmap_5beta/from_local.c portmap_5beta.gimli/from_local.c
   4.145 +--- portmap_5beta/from_local.c	1996-05-31 08:52:58.000000000 -0500
   4.146 ++++ portmap_5beta.gimli/from_local.c	2002-01-07 09:25:49.000000000 -0600
   4.147 +@@ -35,7 +35,7 @@
   4.148 +  * Mountain View, California  94043
   4.149 +  */
   4.150 + 
   4.151 +-#ifndef lint
   4.152 ++#ifdef lint
   4.153 + static char sccsid[] = "@(#) from_local.c 1.3 96/05/31 15:52:57";
   4.154 + #endif
   4.155 + 
   4.156 +@@ -51,6 +51,9 @@
   4.157 + #include <net/if.h>
   4.158 + #include <sys/ioctl.h>
   4.159 + #include <syslog.h>
   4.160 ++#include <stdlib.h>
   4.161 ++#include <string.h>
   4.162 ++#include <unistd.h>
   4.163 + 
   4.164 + #ifndef TRUE
   4.165 + #define	TRUE	1
   4.166 +@@ -96,7 +99,7 @@
   4.167 + 
   4.168 + /* find_local - find all IP addresses for this host */
   4.169 + 
   4.170 +-find_local()
   4.171 ++int find_local()
   4.172 + {
   4.173 +     struct ifconf ifc;
   4.174 +     struct ifreq ifreq;
   4.175 +@@ -154,7 +157,7 @@
   4.176 + 
   4.177 + /* from_local - determine whether request comes from the local system */
   4.178 + 
   4.179 +-from_local(addr)
   4.180 ++int from_local(addr)
   4.181 + struct sockaddr_in *addr;
   4.182 + {
   4.183 +     int     i;
   4.184 +diff -Naur portmap_5beta/pmap_check.c portmap_5beta.gimli/pmap_check.c
   4.185 +--- portmap_5beta/pmap_check.c	1996-07-07 03:49:10.000000000 -0500
   4.186 ++++ portmap_5beta.gimli/pmap_check.c	2002-01-07 09:37:58.000000000 -0600
   4.187 +@@ -32,7 +32,7 @@
   4.188 +   * Computing Science, Eindhoven University of Technology, The Netherlands.
   4.189 +   */
   4.190 + 
   4.191 +-#ifndef lint
   4.192 ++#ifdef lint
   4.193 + static char sccsid[] = "@(#) pmap_check.c 1.8 96/07/07 10:49:10";
   4.194 + #endif
   4.195 + 
   4.196 +@@ -45,6 +45,11 @@
   4.197 + #include <netinet/in.h>
   4.198 + #include <rpc/rpcent.h>
   4.199 + #endif
   4.200 ++#include <sys/types.h>
   4.201 ++#include <unistd.h>
   4.202 ++#ifdef HOSTS_ACCESS
   4.203 ++#include <tcpd.h>
   4.204 ++#endif
   4.205 + 
   4.206 + extern char *inet_ntoa();
   4.207 + 
   4.208 +@@ -110,7 +113,7 @@
   4.209 + 
   4.210 + /* check_default - additional checks for NULL, DUMP, GETPORT and unknown */
   4.211 + 
   4.212 +-check_default(addr, proc, prog)
   4.213 ++int check_default(addr, proc, prog)
   4.214 + struct sockaddr_in *addr;
   4.215 + u_long  proc;
   4.216 + u_long  prog;
   4.217 +@@ -128,7 +131,7 @@
   4.218 + 
   4.219 + /* check_privileged_port - additional checks for privileged-port updates */
   4.220 + 
   4.221 +-check_privileged_port(addr, proc, prog, port)
   4.222 ++int check_privileged_port(addr, proc, prog, port)
   4.223 + struct sockaddr_in *addr;
   4.224 + u_long  proc;
   4.225 + u_long  prog;
   4.226 +@@ -173,7 +176,7 @@
   4.227 + 
   4.228 + #else
   4.229 + 
   4.230 +-check_setunset(addr, proc, prog, port)
   4.231 ++int check_setunset(addr, proc, prog, port)
   4.232 + struct sockaddr_in *addr;
   4.233 + u_long  proc;
   4.234 + u_long  prog;
   4.235 +@@ -197,7 +200,7 @@
   4.236 + 
   4.237 + /* check_callit - additional checks for forwarded requests */
   4.238 + 
   4.239 +-check_callit(addr, proc, prog, aproc)
   4.240 ++int check_callit(addr, proc, prog, aproc)
   4.241 + struct sockaddr_in *addr;
   4.242 + u_long  proc;
   4.243 + u_long  prog;
   4.244 +@@ -249,13 +252,13 @@
   4.245 +     };
   4.246 +     struct proc_map *procp;
   4.247 +     static struct proc_map procmap[] = {
   4.248 +-	PMAPPROC_CALLIT, "callit",
   4.249 +-	PMAPPROC_DUMP, "dump",
   4.250 +-	PMAPPROC_GETPORT, "getport",
   4.251 +-	PMAPPROC_NULL, "null",
   4.252 +-	PMAPPROC_SET, "set",
   4.253 +-	PMAPPROC_UNSET, "unset",
   4.254 +-	0, 0,
   4.255 ++	{ PMAPPROC_CALLIT, "callit" },
   4.256 ++	{ PMAPPROC_DUMP, "dump" },
   4.257 ++	{ PMAPPROC_GETPORT, "getport" },
   4.258 ++	{ PMAPPROC_NULL, "null" },
   4.259 ++	{ PMAPPROC_SET, "set" },
   4.260 ++	{ PMAPPROC_UNSET, "unset" },
   4.261 ++	{ 0, 0 }
   4.262 +     };
   4.263 + 
   4.264 +     /*
   4.265 +@@ -269,7 +272,7 @@
   4.266 + 
   4.267 + 	if (prognum == 0) {
   4.268 + 	    progname = "";
   4.269 +-	} else if (rpc = getrpcbynumber((int) prognum)) {
   4.270 ++	} else if ((rpc = getrpcbynumber((int) prognum)) != NULL) {
   4.271 + 	    progname = rpc->r_name;
   4.272 + 	} else {
   4.273 + 	    sprintf(progname = progbuf, "%lu", prognum);
   4.274 +diff -Naur portmap_5beta/pmap_dump.8 portmap_5beta.gimli/pmap_dump.8
   4.275 +--- portmap_5beta/pmap_dump.8	1969-12-31 18:00:00.000000000 -0600
   4.276 ++++ portmap_5beta.gimli/pmap_dump.8	2002-01-07 09:13:58.000000000 -0600
   4.277 +@@ -0,0 +1,24 @@
   4.278 ++.TH PMAP_DUMP 8 "21th June 1997" Linux "Linux Programmer's Manual"
   4.279 ++.SH NAME
   4.280 ++pmap_dump \- print a list of all registered RPC programs
   4.281 ++.SH SYNOPSIS
   4.282 ++.B pmap_dump
   4.283 ++.SH DESCRIPTION
   4.284 ++The
   4.285 ++.B pmap_dump
   4.286 ++command can be used to restart a running portmapper or to print
   4.287 ++a list of all registered RPC programs on the local host. If you
   4.288 ++want to use the program to restart the portmapper you have to
   4.289 ++redirect the output of
   4.290 ++.B pmap_dump
   4.291 ++to a file. After this you can restart the portmapper and restore
   4.292 ++the list of the registered RPC programs by feeding the output
   4.293 ++of
   4.294 ++.B pmap_dump
   4.295 ++to the
   4.296 ++.B pmap_set
   4.297 ++command.
   4.298 ++.SH SEE ALSO
   4.299 ++.BR pmap_set (8),
   4.300 ++.BR rpc.portmap (8)
   4.301 ++
   4.302 +diff -Naur portmap_5beta/pmap_dump.c portmap_5beta.gimli/pmap_dump.c
   4.303 +--- portmap_5beta/pmap_dump.c	1992-06-11 15:53:16.000000000 -0500
   4.304 ++++ portmap_5beta.gimli/pmap_dump.c	2002-01-07 09:20:19.000000000 -0600
   4.305 +@@ -5,7 +5,7 @@
   4.306 +   * Computing Science, Eindhoven University of Technology, The Netherlands.
   4.307 +   */
   4.308 + 
   4.309 +-#ifndef lint
   4.310 ++#ifdef lint
   4.311 + static char sccsid[] = "@(#) pmap_dump.c 1.1 92/06/11 22:53:15";
   4.312 + #endif
   4.313 + 
   4.314 +@@ -23,7 +23,20 @@
   4.315 + 
   4.316 + static char *protoname();
   4.317 + 
   4.318 +-main(argc, argv)
   4.319 ++#ifndef INADDR_LOOPBACK
   4.320 ++#define INADDR_LOOPBACK ntohl(inet_addr("127.0.0.1"))
   4.321 ++#endif
   4.322 ++
   4.323 ++static void    get_myloopaddress(addrp)
   4.324 ++struct sockaddr_in *addrp;
   4.325 ++{
   4.326 ++    memset((char *) addrp, 0, sizeof(*addrp));
   4.327 ++    addrp->sin_family = AF_INET;
   4.328 ++    addrp->sin_port = htons(PMAPPORT);
   4.329 ++    addrp->sin_addr.s_addr = htonl(INADDR_LOOPBACK);
   4.330 ++}
   4.331 ++
   4.332 ++int main(argc, argv)
   4.333 + int     argc;
   4.334 + char  **argv;
   4.335 + {
   4.336 +@@ -31,7 +44,7 @@
   4.337 +     register struct pmaplist *list;
   4.338 +     register struct rpcent *rpc;
   4.339 + 
   4.340 +-    get_myaddress(&addr);
   4.341 ++    get_myloopaddress(&addr);
   4.342 + 
   4.343 +     for (list = pmap_getmaps(&addr); list; list = list->pml_next) {
   4.344 + 	rpc = getrpcbynumber((int) list->pml_map.pm_prog);
   4.345 +diff -Naur portmap_5beta/pmap_set.8 portmap_5beta.gimli/pmap_set.8
   4.346 +--- portmap_5beta/pmap_set.8	1969-12-31 18:00:00.000000000 -0600
   4.347 ++++ portmap_5beta.gimli/pmap_set.8	2002-01-07 09:13:58.000000000 -0600
   4.348 +@@ -0,0 +1,24 @@
   4.349 ++.TH PMAP_SET 8 "21th June 1997" Linux "Linux Programmer's Manual"
   4.350 ++.SH NAME
   4.351 ++pmap_set \- set the list of registered RPC programs
   4.352 ++.SH SYNOPSIS
   4.353 ++.B pmap_set
   4.354 ++.SH DESCRIPTION
   4.355 ++The
   4.356 ++.B pmap_set
   4.357 ++command can be used to restart a running portmapper or to set
   4.358 ++the list of registered RPC programs on the local host. If you
   4.359 ++want to use the program to restart the portmapper you have to
   4.360 ++redirect the output of
   4.361 ++.B pmap_dump
   4.362 ++to a file. After this you can restart the portmapper and restore
   4.363 ++the list of the registered RPC programs by feeding the output
   4.364 ++of
   4.365 ++.B pmap_dump
   4.366 ++to the
   4.367 ++.B pmap_set
   4.368 ++command.
   4.369 ++.SH SEE ALSO
   4.370 ++.BR pmap_dump (8),
   4.371 ++.BR rpc.portmap (8)
   4.372 ++
   4.373 +diff -Naur portmap_5beta/pmap_set.c portmap_5beta.gimli/pmap_set.c
   4.374 +--- portmap_5beta/pmap_set.c	1996-07-06 16:06:23.000000000 -0500
   4.375 ++++ portmap_5beta.gimli/pmap_set.c	2002-01-07 09:22:10.000000000 -0600
   4.376 +@@ -5,7 +5,7 @@
   4.377 +   * Computing Science, Eindhoven University of Technology, The Netherlands.
   4.378 +   */
   4.379 + 
   4.380 +-#ifndef lint
   4.381 ++#ifdef lint
   4.382 + static char sccsid[] = "@(#) pmap_set.c 1.2 96/07/06 23:06:23";
   4.383 + #endif
   4.384 + 
   4.385 +@@ -17,7 +17,9 @@
   4.386 + #include <rpc/rpc.h>
   4.387 + #include <rpc/pmap_clnt.h>
   4.388 + 
   4.389 +-main(argc, argv)
   4.390 ++int parse_line(char *buf, u_long *prog, u_long *vers, int *prot, unsigned *port);
   4.391 ++
   4.392 ++int main(argc, argv)
   4.393 + int     argc;
   4.394 + char  **argv;
   4.395 + {
   4.396 +@@ -40,16 +42,16 @@
   4.397 + 
   4.398 + /* parse_line - convert line to numbers */
   4.399 + 
   4.400 +-parse_line(buf, prog, vers, prot, port)
   4.401 ++int parse_line(buf, prog, vers, prot, port)
   4.402 + char   *buf;
   4.403 + u_long *prog;
   4.404 + u_long *vers;
   4.405 + int    *prot;
   4.406 + unsigned *port;
   4.407 + {
   4.408 +-    char    proto_name[BUFSIZ];
   4.409 ++    char    proto_name[256];
   4.410 + 
   4.411 +-    if (sscanf(buf, "%lu %lu %s %u", prog, vers, proto_name, port) != 4) {
   4.412 ++    if (sscanf(buf, "%lu %lu %255s %u", prog, vers, proto_name, port) != 4) {
   4.413 + 	return (0);
   4.414 +     }
   4.415 +     if (strcmp(proto_name, "tcp") == 0) {
   4.416 +diff -Naur portmap_5beta/portmap.8 portmap_5beta.gimli/portmap.8
   4.417 +--- portmap_5beta/portmap.8	1969-12-31 18:00:00.000000000 -0600
   4.418 ++++ portmap_5beta.gimli/portmap.8	2002-01-07 09:13:58.000000000 -0600
   4.419 +@@ -0,0 +1,146 @@
   4.420 ++.\" Copyright (c) 1987 Sun Microsystems
   4.421 ++.\" Copyright (c) 1990, 1991 The Regents of the University of California.
   4.422 ++.\" All rights reserved.
   4.423 ++.\"
   4.424 ++.\" Redistribution and use in source and binary forms, with or without
   4.425 ++.\" modification, are permitted provided that the following conditions
   4.426 ++.\" are met:
   4.427 ++.\" 1. Redistributions of source code must retain the above copyright
   4.428 ++.\"    notice, this list of conditions and the following disclaimer.
   4.429 ++.\" 2. Redistributions in binary form must reproduce the above copyright
   4.430 ++.\"    notice, this list of conditions and the following disclaimer in the
   4.431 ++.\"    documentation and/or other materials provided with the distribution.
   4.432 ++.\" 3. All advertising materials mentioning features or use of this software
   4.433 ++.\"    must display the following acknowledgement:
   4.434 ++.\"	This product includes software developed by the University of
   4.435 ++.\"	California, Berkeley and its contributors.
   4.436 ++.\" 4. Neither the name of the University nor the names of its contributors
   4.437 ++.\"    may be used to endorse or promote products derived from this software
   4.438 ++.\"    without specific prior written permission.
   4.439 ++.\"
   4.440 ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   4.441 ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   4.442 ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   4.443 ++.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   4.444 ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   4.445 ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   4.446 ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   4.447 ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   4.448 ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   4.449 ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   4.450 ++.\" SUCH DAMAGE.
   4.451 ++.\"
   4.452 ++.\"     from: @(#)portmap.8	5.3 (Berkeley) 3/16/91
   4.453 ++.\"	$Id: portmap-5beta-compilation_fixes-3.patch,v 1.1 2004/06/08 04:53:09 jim Exp $
   4.454 ++.\"
   4.455 ++.Dd March 16, 1991
   4.456 ++.Dt PORTMAP 8
   4.457 ++.Os BSD 4.3
   4.458 ++.Sh NAME
   4.459 ++.Nm portmap
   4.460 ++.Nd
   4.461 ++.Tn DARPA
   4.462 ++port to
   4.463 ++.Tn RPC
   4.464 ++program number mapper
   4.465 ++.Sh SYNOPSIS
   4.466 ++.Nm portmap
   4.467 ++.Op Fl d
   4.468 ++.Op Fl v
   4.469 ++.Sh DESCRIPTION
   4.470 ++.Nm Portmap
   4.471 ++is a server that converts
   4.472 ++.Tn RPC
   4.473 ++program numbers into
   4.474 ++.Tn DARPA
   4.475 ++protocol port numbers.
   4.476 ++It must be running in order to make
   4.477 ++.Tn RPC
   4.478 ++calls.
   4.479 ++.Pp
   4.480 ++When an
   4.481 ++.Tn RPC
   4.482 ++server is started, it will tell
   4.483 ++.Nm portmap
   4.484 ++what port number it is listening to, and what
   4.485 ++.Tn RPC
   4.486 ++program numbers it is prepared to serve.
   4.487 ++When a client wishes to make an
   4.488 ++.Tn RPC
   4.489 ++call to a given program number,
   4.490 ++it will first contact
   4.491 ++.Nm portmap
   4.492 ++on the server machine to determine
   4.493 ++the port number where
   4.494 ++.Tn RPC
   4.495 ++packets should be sent.
   4.496 ++.Pp
   4.497 ++.Nm Portmap
   4.498 ++must be started before any
   4.499 ++.Tn RPC
   4.500 ++servers are invoked.
   4.501 ++.Pp
   4.502 ++Normally
   4.503 ++.Nm portmap
   4.504 ++forks and dissociates itself from the terminal
   4.505 ++like any other daemon.
   4.506 ++.Nm Portmap
   4.507 ++then logs errors using
   4.508 ++.Xr syslog 3 .
   4.509 ++.Pp
   4.510 ++Option available:
   4.511 ++.Bl -tag -width Ds
   4.512 ++.It Fl d
   4.513 ++(debug) prevents
   4.514 ++.Nm portmap
   4.515 ++from running as a daemon,
   4.516 ++and causes errors and debugging information
   4.517 ++to be printed to the standard error output.
   4.518 ++.It Fl v
   4.519 ++(verbose) run
   4.520 ++.Nm portmap
   4.521 ++in verbose mode.
   4.522 ++.El
   4.523 ++
   4.524 ++This
   4.525 ++.Nm portmap
   4.526 ++version is protected by the
   4.527 ++.Nm tcp_wrapper
   4.528 ++library. You have to give the clients access to
   4.529 ++.Nm portmap
   4.530 ++if they should be allowed to use it. To allow connects from clients of
   4.531 ++the .bar.com domain you could use the following line in /etc/hosts.allow:
   4.532 ++
   4.533 ++portmap: .bar.com
   4.534 ++
   4.535 ++You have to use the daemon name 
   4.536 ++.Nm portmap
   4.537 ++for the daemon name (even if the binary has a different name). For the
   4.538 ++client names you can only use the keyword ALL or IP addresses (NOT
   4.539 ++host or domain names).
   4.540 ++
   4.541 ++For further information please have a look at the
   4.542 ++.Xr tcpd 8 ,
   4.543 ++.Xr hosts_allow 5
   4.544 ++and
   4.545 ++.Xr hosts_access 5
   4.546 ++manual pages.
   4.547 ++
   4.548 ++.Sh SEE ALSO
   4.549 ++.Xr inetd.conf 5 ,
   4.550 ++.Xr rpcinfo 8 ,
   4.551 ++.Xr pmap_set 8 ,
   4.552 ++.Xr pmap_dump 8 ,
   4.553 ++.Xr inetd 8
   4.554 ++.Xr tcpd 8
   4.555 ++.Xr hosts_access 5
   4.556 ++.Xr hosts_options 5
   4.557 ++.Sh BUGS
   4.558 ++If
   4.559 ++.Nm portmap
   4.560 ++crashes, all servers must be restarted.
   4.561 ++.Sh HISTORY
   4.562 ++The
   4.563 ++.Nm
   4.564 ++command appeared in
   4.565 ++.Bx 4.3
   4.566 +diff -Naur portmap_5beta/portmap.c portmap_5beta.gimli/portmap.c
   4.567 +--- portmap_5beta/portmap.c	1996-07-06 16:06:24.000000000 -0500
   4.568 ++++ portmap_5beta.gimli/portmap.c	2002-01-07 09:26:41.000000000 -0600
   4.569 +@@ -37,7 +37,7 @@
   4.570 +  All rights reserved.\n";
   4.571 + #endif /* not lint */
   4.572 + 
   4.573 +-#ifndef lint
   4.574 ++#ifdef lint
   4.575 + static char sccsid[] = "@(#) portmap.c 1.6 96/07/06 23:06:23";
   4.576 + #endif /* not lint */
   4.577 + 
   4.578 +@@ -80,6 +80,9 @@
   4.579 +  * Mountain View, California  94043
   4.580 +  */
   4.581 + 
   4.582 ++#if defined(__GLIBC__)
   4.583 ++#include <rpc/xdr.h>
   4.584 ++#endif /* __GLIBC__ */
   4.585 + #include <rpc/rpc.h>
   4.586 + #include <rpc/pmap_prot.h>
   4.587 + #include <stdio.h>
   4.588 +@@ -94,6 +97,8 @@
   4.589 + #ifdef SYSV40
   4.590 + #include <netinet/in.h>
   4.591 + #endif
   4.592 ++#include <sys/types.h>
   4.593 ++#include <unistd.h>
   4.594 + 
   4.595 + extern char *strerror();
   4.596 + #include <stdlib.h>
   4.597 +@@ -148,7 +153,7 @@
   4.598 + #endif
   4.599 + #endif
   4.600 + 
   4.601 +-main(argc, argv)
   4.602 ++int main(argc, argv)
   4.603 + 	int argc;
   4.604 + 	char **argv;
   4.605 + {
   4.606 +@@ -350,7 +355,7 @@
   4.607 + 		 */
   4.608 + 		/* remote host authorization check */
   4.609 + 		check_default(svc_getcaller(xprt), rqstp->rq_proc, (u_long) 0);
   4.610 +-		if (!svc_sendreply(xprt, xdr_void, (caddr_t)0) && debugging) {
   4.611 ++		if (!svc_sendreply(xprt, (xdrproc_t) xdr_void, (caddr_t)0) && debugging) {
   4.612 + 			abort();
   4.613 + 		}
   4.614 + 		break;
   4.615 +@@ -359,7 +364,7 @@
   4.616 + 		/*
   4.617 + 		 * Set a program,version to port mapping
   4.618 + 		 */
   4.619 +-		if (!svc_getargs(xprt, xdr_pmap, &reg))
   4.620 ++		if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
   4.621 + 			svcerr_decode(xprt);
   4.622 + 		else {
   4.623 + 			/* reject non-local requests, protect priv. ports */
   4.624 +@@ -401,7 +406,7 @@
   4.625 + 				ans = 1;
   4.626 + 			}
   4.627 + 		done:
   4.628 +-			if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
   4.629 ++			if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&ans)) &&
   4.630 + 			    debugging) {
   4.631 + 				(void) fprintf(stderr, "svc_sendreply\n");
   4.632 + 				abort();
   4.633 +@@ -413,7 +418,7 @@
   4.634 + 		/*
   4.635 + 		 * Remove a program,version to port mapping.
   4.636 + 		 */
   4.637 +-		if (!svc_getargs(xprt, xdr_pmap, &reg))
   4.638 ++		if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
   4.639 + 			svcerr_decode(xprt);
   4.640 + 		else {
   4.641 + 			ans = 0;
   4.642 +@@ -447,7 +452,7 @@
   4.643 + 					prevpml->pml_next = pml;
   4.644 + 				free(t);
   4.645 + 			}
   4.646 +-			if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
   4.647 ++			if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&ans)) &&
   4.648 + 			    debugging) {
   4.649 + 				(void) fprintf(stderr, "svc_sendreply\n");
   4.650 + 				abort();
   4.651 +@@ -459,7 +464,7 @@
   4.652 + 		/*
   4.653 + 		 * Lookup the mapping for a program,version and return its port
   4.654 + 		 */
   4.655 +-		if (!svc_getargs(xprt, xdr_pmap, &reg))
   4.656 ++		if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
   4.657 + 			svcerr_decode(xprt);
   4.658 + 		else {
   4.659 + 			/* remote host authorization check */
   4.660 +@@ -474,7 +479,7 @@
   4.661 + 				port = fnd->pml_map.pm_port;
   4.662 + 			else
   4.663 + 				port = 0;
   4.664 +-			if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&port)) &&
   4.665 ++			if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&port)) &&
   4.666 + 			    debugging) {
   4.667 + 				(void) fprintf(stderr, "svc_sendreply\n");
   4.668 + 				abort();
   4.669 +@@ -486,7 +491,7 @@
   4.670 + 		/*
   4.671 + 		 * Return the current set of mapped program,version
   4.672 + 		 */
   4.673 +-		if (!svc_getargs(xprt, xdr_void, NULL))
   4.674 ++		if (!svc_getargs(xprt, (xdrproc_t) xdr_void, (caddr_t) NULL))
   4.675 + 			svcerr_decode(xprt);
   4.676 + 		else {
   4.677 + 			/* remote host authorization check */
   4.678 +@@ -497,7 +502,7 @@
   4.679 + 			} else {
   4.680 + 				p = pmaplist;
   4.681 + 			}
   4.682 +-			if ((!svc_sendreply(xprt, xdr_pmaplist,
   4.683 ++			if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist,
   4.684 + 			    (caddr_t)&p)) && debugging) {
   4.685 + 				(void) fprintf(stderr, "svc_sendreply\n");
   4.686 + 				abort();
   4.687 +@@ -645,7 +650,7 @@
   4.688 + 	timeout.tv_sec = 5;
   4.689 + 	timeout.tv_usec = 0;
   4.690 + 	a.rmt_args.args = buf;
   4.691 +-	if (!svc_getargs(xprt, xdr_rmtcall_args, &a))
   4.692 ++	if (!svc_getargs(xprt, (xdrproc_t) xdr_rmtcall_args, (caddr_t) &a))
   4.693 + 		return;
   4.694 + 	/* host and service access control */
   4.695 + 	if (!check_callit(svc_getcaller(xprt), 
   4.696 +@@ -674,9 +679,9 @@
   4.697 + 			   au->aup_uid, au->aup_gid, au->aup_len, au->aup_gids);
   4.698 + 		}
   4.699 + 		a.rmt_port = (u_long)port;
   4.700 +-		if (clnt_call(client, a.rmt_proc, xdr_opaque_parms, &a,
   4.701 +-		    xdr_len_opaque_parms, &a, timeout) == RPC_SUCCESS) {
   4.702 +-			svc_sendreply(xprt, xdr_rmtcall_result, (caddr_t)&a);
   4.703 ++		if (clnt_call(client, a.rmt_proc, (xdrproc_t) xdr_opaque_parms, (char*) &a,
   4.704 ++		    (xdrproc_t) xdr_len_opaque_parms, (char*) &a, timeout) == RPC_SUCCESS) {
   4.705 ++			svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (caddr_t)&a);
   4.706 + 		}
   4.707 + 		AUTH_DESTROY(client->cl_auth);
   4.708 + 		clnt_destroy(client);
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/portmap/stuff/portmap-5beta-disable-tcp_wrapper.patch	Fri Feb 01 12:12:28 2008 +0100
     5.3 @@ -0,0 +1,23 @@
     5.4 +--- portmap_5beta/Makefile	Fri Feb  1 11:54:29 2008
     5.5 ++++ Makefile	Fri Feb  1 11:55:19 2008
     5.6 +@@ -15,9 +15,9 @@
     5.7 + # no access control tables. The local system, since it runs the portmap
     5.8 + # daemon, is always treated as an authorized host.
     5.9 + 
    5.10 +-HOSTS_ACCESS= -DHOSTS_ACCESS
    5.11 ++#HOSTS_ACCESS= -DHOSTS_ACCESS
    5.12 + #WRAP_LIB = $(WRAP_DIR)/libwrap.a
    5.13 +-WRAP_LIB = -lwrap
    5.14 ++#WRAP_LIB = -lwrap
    5.15 + 
    5.16 + # Comment out if your RPC library does not allocate privileged ports for
    5.17 + # requests from processes with root privilege, or the new portmap will
    5.18 +@@ -25,7 +25,7 @@
    5.19 + # ports. You can find out by running "rpcinfo -p"; if all mountd and NIS
    5.20 + # daemons use a port >= 1024 you should probably disable the next line.
    5.21 + 
    5.22 +-CHECK_PORT = -DCHECK_PORT
    5.23 ++#CHECK_PORT = -DCHECK_PORT
    5.24 + 
    5.25 + # Warning: troublesome feature ahead!! Enable only when you are really
    5.26 + # desperate!!
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/portmap/stuff/portmap-5beta-glibc_errno_fix-1.patch	Fri Feb 01 12:12:28 2008 +0100
     6.3 @@ -0,0 +1,17 @@
     6.4 +Submitted By: Tushar Teredesai <tushar@linuxfromscratch.org>
     6.5 +Date: 2003-10-04
     6.6 +Initial Package Version: 5beta
     6.7 +Origin: None
     6.8 +Description: Fix compilation with recent glibc versions.
     6.9 +--- portmap_5beta/portmap.c	2003-03-10 12:32:26.000000000 -0600
    6.10 ++++ portmap_5beta/portmap.c.new	2003-03-10 12:38:01.000000000 -0600
    6.11 +@@ -129,7 +129,8 @@
    6.12 + static void callit();
    6.13 + struct pmaplist *pmaplist;
    6.14 + int debugging = 0;
    6.15 +-extern int errno;
    6.16 ++#include <errno.h>
    6.17 ++/* extern int errno; */
    6.18 + 
    6.19 + #include "pmap_check.h"
    6.20 +