forked from rpms/rpcbind
Reworked how the state directory, use in warm starts, is defined.
This commit is contained in:
parent
f766b07fc0
commit
5af042e80a
@ -1,13 +1,13 @@
|
|||||||
--- rpcbind-0.1.4/man/rpcbind.8.orig 2004-10-25 08:07:44.000000000 -0400
|
--- rpcbind-0.1.4/man/rpcbind.8.orig 2004-10-25 08:07:44.000000000 -0400
|
||||||
+++ rpcbind-0.1.4/man/rpcbind.8 2006-08-10 16:19:55.000000000 -0400
|
+++ rpcbind-0.1.4/man/rpcbind.8 2007-04-03 08:31:57.000000000 -0400
|
||||||
@@ -131,6 +131,14 @@ to use non-privileged ports for outgoing
|
@@ -131,6 +131,14 @@
|
||||||
clients from using
|
clients from using
|
||||||
.Nm
|
.Nm
|
||||||
to connect to services from a privileged port.
|
to connect to services from a privileged port.
|
||||||
+.It Fl w
|
+.It Fl w
|
||||||
+Cause
|
+Cause
|
||||||
+.Nm
|
+.Nm
|
||||||
+to do a "warm start" by read a state file (in /tmp) when
|
+to do a "warm start" by read a state file when
|
||||||
+.Nm
|
+.Nm
|
||||||
+starts up. The state file is created when
|
+starts up. The state file is created when
|
||||||
+.Nm
|
+.Nm
|
||||||
@ -15,8 +15,39 @@
|
|||||||
.El
|
.El
|
||||||
.Sh NOTES
|
.Sh NOTES
|
||||||
All RPC servers must be restarted if
|
All RPC servers must be restarted if
|
||||||
--- rpcbind-0.1.4/src/Makefile.am.orig 2006-08-10 14:56:50.000000000 -0400
|
--- rpcbind-0.1.4/src/warmstart.c.orig 2004-10-25 08:07:42.000000000 -0400
|
||||||
+++ rpcbind-0.1.4/src/Makefile.am 2006-08-10 15:36:04.000000000 -0400
|
+++ rpcbind-0.1.4/src/warmstart.c 2007-04-03 08:32:21.000000000 -0400
|
||||||
|
@@ -46,17 +46,21 @@
|
||||||
|
#include <syslog.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include "rpcbind.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX this code is unsafe and is not used. It should be made safe.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifndef RPCBIND_STATEDIR
|
||||||
|
+#define RPCBIND_STATEDIR "/tmp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* These files keep the pmap_list and rpcb_list in XDR format */
|
||||||
|
-#define RPCBFILE "/tmp/rpcbind.file"
|
||||||
|
+#define RPCBFILE RPCBIND_STATEDIR "/rpcbind.file"
|
||||||
|
#ifdef PORTMAP
|
||||||
|
-#define PMAPFILE "/tmp/portmap.file"
|
||||||
|
+#define PMAPFILE RPCBIND_STATEDIR "/portmap.file"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static bool_t write_struct __P((char *, xdrproc_t, void *));
|
||||||
|
--- /dev/null 2007-04-02 10:04:26.771658626 -0400
|
||||||
|
+++ rpcbind-0.1.4/src/config.h.in 2007-04-03 08:31:57.000000000 -0400
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+/* this define where the state files live for warm starts */
|
||||||
|
+#undef RPCBIND_STATEDIR
|
||||||
|
--- rpcbind-0.1.4/src/Makefile.am.orig 2007-04-03 08:31:44.000000000 -0400
|
||||||
|
+++ rpcbind-0.1.4/src/Makefile.am 2007-04-03 08:31:57.000000000 -0400
|
||||||
@@ -1,5 +1,14 @@
|
@@ -1,5 +1,14 @@
|
||||||
INCLUDES = -I$(srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \
|
INCLUDES = -I$(srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \
|
||||||
-D_GNU_SOURCE -Wall -pipe
|
-D_GNU_SOURCE -Wall -pipe
|
||||||
@ -32,7 +63,7 @@
|
|||||||
|
|
||||||
bin_PROGRAMS = rpcbind rpcinfo
|
bin_PROGRAMS = rpcbind rpcinfo
|
||||||
|
|
||||||
@@ -18,10 +27,6 @@ rpcbind_LDFLAGS = -lpthread -ltirpc
|
@@ -18,10 +27,6 @@
|
||||||
rpcbind_LDADD = $(LIB_TIRPC)
|
rpcbind_LDADD = $(LIB_TIRPC)
|
||||||
AM_CPPFLAGS = -I/usr/include/tirpc -DCHECK_LOCAL -DPORTMAP \
|
AM_CPPFLAGS = -I/usr/include/tirpc -DCHECK_LOCAL -DPORTMAP \
|
||||||
-DFACILITY=LOG_MAIL -DSEVERITY=LOG_INFO
|
-DFACILITY=LOG_MAIL -DSEVERITY=LOG_INFO
|
||||||
@ -43,9 +74,21 @@
|
|||||||
|
|
||||||
$(rpcbind_OBJECTS) : security.o util.o check_bound.o pmap_svc.o \
|
$(rpcbind_OBJECTS) : security.o util.o check_bound.o pmap_svc.o \
|
||||||
rpcb_svc.o rpcb_svc_com.o rpcb_svc_4.o \
|
rpcb_svc.o rpcb_svc_com.o rpcb_svc_4.o \
|
||||||
--- rpcbind-0.1.4/configure.in.orig 2006-08-10 10:47:42.000000000 -0400
|
--- rpcbind-0.1.4/configure.in.orig 2007-04-03 08:31:44.000000000 -0400
|
||||||
+++ rpcbind-0.1.4/configure.in 2006-08-10 15:37:29.000000000 -0400
|
+++ rpcbind-0.1.4/configure.in 2007-04-03 08:31:57.000000000 -0400
|
||||||
@@ -18,6 +18,14 @@ AC_ARG_ENABLE(debug,[ --enable-debug
|
@@ -9,7 +9,10 @@
|
||||||
|
##AC_PROG_RANLIB
|
||||||
|
AC_HEADER_DIRENT
|
||||||
|
AC_PREFIX_DEFAULT(/usr)
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+AC_CONFIG_SRCDIR([src/config.h.in])
|
||||||
|
+AC_CONFIG_HEADERS([src/config.h])
|
||||||
|
+
|
||||||
|
AC_ARG_ENABLE(debug,[ --enable-debug Turns on rpcbind debugging],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) debug=true ;;
|
||||||
|
@@ -18,6 +21,23 @@
|
||||||
esac],[debug=false])
|
esac],[debug=false])
|
||||||
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
|
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
|
||||||
|
|
||||||
@ -56,6 +99,15 @@
|
|||||||
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-warmstarts) ;;
|
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-warmstarts) ;;
|
||||||
+ esac],[warmstarts=false])
|
+ esac],[warmstarts=false])
|
||||||
+AM_CONDITIONAL(WARMSTART, test x$warmstarts = xtrue)
|
+AM_CONDITIONAL(WARMSTART, test x$warmstarts = xtrue)
|
||||||
|
+
|
||||||
|
+if test "$warmstarts" = "true" ; then
|
||||||
|
+ AC_ARG_WITH(statedir,
|
||||||
|
+ [ --with-statedir=/foo use state dir /foo [/tmp]],
|
||||||
|
+ statedir=$withval,
|
||||||
|
+ statedir=/tmp)
|
||||||
|
+ AC_SUBST(statedir)
|
||||||
|
+ AC_DEFINE_UNQUOTED(RPCBIND_STATEDIR, "$statedir", [This defines the location where the state files will be kept for warm starts])
|
||||||
|
+fi
|
||||||
+
|
+
|
||||||
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h \
|
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h \
|
||||||
netinet/in.h stdlib.h string.h \
|
netinet/in.h stdlib.h string.h \
|
||||||
|
@ -25,6 +25,7 @@ Obsoletes: portmap < 0.1.4-1
|
|||||||
Patch1: rpcbind-0.1.4-compile.patch
|
Patch1: rpcbind-0.1.4-compile.patch
|
||||||
Patch2: rpcbind-0.1.4-debug.patch
|
Patch2: rpcbind-0.1.4-debug.patch
|
||||||
Patch3: rpcbind-0.1.4-warmstarts.patch
|
Patch3: rpcbind-0.1.4-warmstarts.patch
|
||||||
|
Patch4: rpcbind-0.1.4-rpcuser.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The rpcbind utility is a server that converts RPC program numbers into
|
The rpcbind utility is a server that converts RPC program numbers into
|
||||||
@ -37,6 +38,7 @@ RPC calls on a server on that machine.
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
#%patch4 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%ifarch s390 s390x
|
%ifarch s390 s390x
|
||||||
@ -45,11 +47,14 @@ PIE="-fPIE"
|
|||||||
PIE="-fpie"
|
PIE="-fpie"
|
||||||
%endif
|
%endif
|
||||||
export PIE
|
export PIE
|
||||||
|
|
||||||
|
RPCBDIR=/var/lib/rpcbind
|
||||||
CFLAGS="`echo $RPM_OPT_FLAGS $ARCH_OPT_FLAGS $PIE`"
|
CFLAGS="`echo $RPM_OPT_FLAGS $ARCH_OPT_FLAGS $PIE`"
|
||||||
|
|
||||||
autoreconf -fisv
|
autoreconf -fisv
|
||||||
%configure CFLAGS="$CFLAGS" LDFLAGS="-pie" \
|
%configure CFLAGS="$CFLAGS" LDFLAGS="-pie" \
|
||||||
--enable-warmstarts \
|
--enable-warmstarts \
|
||||||
|
--with-statedir="$RPCBDIR" \
|
||||||
--enable-debug
|
--enable-debug
|
||||||
|
|
||||||
make all
|
make all
|
||||||
@ -117,6 +122,7 @@ fi
|
|||||||
pages don't conflict.
|
pages don't conflict.
|
||||||
- Added the creation of /var/lib/rpcinfo which will be
|
- Added the creation of /var/lib/rpcinfo which will be
|
||||||
used to store state files.
|
used to store state files.
|
||||||
|
- Make rpcbind run with the 'rpc' uid/gid when it exists.
|
||||||
|
|
||||||
* Wed Feb 21 2007 Steve Dickson <steved@redhat.com> 0.1.4-1
|
* Wed Feb 21 2007 Steve Dickson <steved@redhat.com> 0.1.4-1
|
||||||
- Initial commit
|
- Initial commit
|
||||||
|
Loading…
Reference in New Issue
Block a user