Forward ported the following:

- Fixed and added debugging statements to rpc.mountd.
- Fixed -p arg to work with priviledged ports (bz 156655)
- Changed nfslock initscript to set LOCKD_TCPPORT and LOCKD_UDPPORT (bz
    162133)
- Added MOUNTD_NFS_V1 variable to version 1 of the mount protocol can be
    turned off. (bz 175729)
- Fixed gssd to handel mixed case characters in the domainname. (bz 186069)
This commit is contained in:
Steve Dickson 2006-06-30 14:17:52 +00:00
parent 90d10917dd
commit 7060f16551
5 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,31 @@
--- nfs-utils-1.0.6/utils/gssd/gssd_proc.c.gssd 2006-03-02 14:36:10.000000000 -0500
+++ nfs-utils-1.0.6/utils/gssd/gssd_proc.c 2006-03-02 14:38:47.000000000 -0500
@@ -53,6 +53,7 @@
#include <pwd.h>
#include <grp.h>
#include <string.h>
+#include <ctype.h>
#include <dirent.h>
#include <poll.h>
#include <fcntl.h>
@@ -115,6 +116,7 @@ read_service_info(char *info_file_name,
int fd = -1;
struct hostent *ent = NULL;
int numfields;
+ char *s;
*servicename = *servername = *protocol = NULL;
@@ -155,6 +157,12 @@ read_service_info(char *info_file_name,
printerr(0, "ERROR: can't resolve server %s name\n", address);
goto fail;
}
+
+ /* don't allow mixed-case names to rain on our parade */
+ for (s = ent->h_name; s && *s; s++) {
+ *s = tolower((int)*s);
+ }
+
if (!(*servername = calloc(strlen(ent->h_name) + 1, 1)))
goto fail;
memcpy(*servername, ent->h_name, strlen(ent->h_name));

View File

@ -0,0 +1,28 @@
--- nfs-utils-1.0.8/utils/statd/statd.c.orig 2005-12-19 23:12:47.000000000 -0500
+++ nfs-utils-1.0.8/utils/statd/statd.c 2006-06-30 10:03:38.000000000 -0400
@@ -231,7 +231,7 @@ int main (int argc, char **argv)
extern char *optarg;
int pid;
int arg;
- int port = 0, out_port = 0;
+ int port = 0, out_port = 0, doonce = 0;
struct rlimit rlim;
int pipefds[2] = { -1, -1};
@@ -440,7 +440,6 @@ int main (int argc, char **argv)
create_pidfile();
atexit(truncate_pidfile);
- drop_privs();
for (;;) {
if (!(run_mode & MODE_NOTIFY_ONLY)) {
@@ -469,6 +468,8 @@ int main (int argc, char **argv)
if (!(run_mode & MODE_NOTIFY_ONLY)) {
rpc_init("statd", SM_PROG, SM_VERS, sm_prog_1, port);
}
+ if (doonce++ < 1)
+ drop_privs();
/*
* Handle incoming requests: SM_NOTIFY socket requests, as

View File

@ -20,6 +20,9 @@ Patch51: nfs-utils-1.0.6-mountd.patch
Patch52: nfs-utils-1.0.6-idmap.conf.patch Patch52: nfs-utils-1.0.6-idmap.conf.patch
Patch53: nfs-utils-1.0.8-nfsd-vers.patch Patch53: nfs-utils-1.0.8-nfsd-vers.patch
Patch54: nfs-utils-1.0.8-nfsd-ports.patch Patch54: nfs-utils-1.0.8-nfsd-ports.patch
Patch55: nfs-utils-1.0.8-mountd-debug.patch
Patch56: nfs-utils-1.0.6-gssd_mixed_case.patch
Patch57: nfs-utils-1.0.8-privports.patch
Patch100: nfs-utils-1.0.8-compile.patch Patch100: nfs-utils-1.0.8-compile.patch
@ -64,6 +67,9 @@ clients which are mounted on that host.
%patch52 -p1 %patch52 -p1
%patch53 -p1 %patch53 -p1
%patch54 -p1 %patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
# Do the magic to get things to compile # Do the magic to get things to compile
%patch100 -p1 %patch100 -p1
@ -221,6 +227,14 @@ fi
* Fri Jun 30 2006 <SteveD@RedHat.com> 1.0.8-3 * Fri Jun 30 2006 <SteveD@RedHat.com> 1.0.8-3
- Split the controlling of nfs version, ports, and protocol - Split the controlling of nfs version, ports, and protocol
into two different patches into two different patches
- Fixed and added debugging statements to rpc.mountd.
- Fixed -p arg to work with priviledged ports (bz 156655)
- Changed nfslock initscript to set LOCKD_TCPPORT and
LOCKD_UDPPORT (bz 162133)
- Added MOUNTD_NFS_V1 variable to version 1 of the
mount protocol can be turned off. (bz 175729)
- Fixed gssd to handel mixed case characters in
the domainname. (bz 186069)
* Wed Jun 21 2006 <SteveD@RedHat.com> 1.0.8-2 * Wed Jun 21 2006 <SteveD@RedHat.com> 1.0.8-2
- Updated to nfs-utils-1.0.8 - Updated to nfs-utils-1.0.8

View File

@ -74,6 +74,11 @@ case "$1" in
[ -n "$MOUNTD_PORT" ] \ [ -n "$MOUNTD_PORT" ] \
&& RPCMOUNTDOPTS="$RPCMOUNTDOPTS -p $MOUNTD_PORT" && RPCMOUNTDOPTS="$RPCMOUNTDOPTS -p $MOUNTD_PORT"
case $MOUNTD_NFS_V1 in
no|NO)
RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 1" ;;
esac
case $MOUNTD_NFS_V2 in case $MOUNTD_NFS_V2 in
no|NO) no|NO)
RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 2" ;; RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 2" ;;

View File

@ -58,6 +58,16 @@ start() {
echo -n $"Starting NFS locking: " echo -n $"Starting NFS locking: "
daemon rpc.lockd daemon rpc.lockd
echo echo
else
# See if the kernel lockd should start up
# listening on a particular port
#
LOCKDARG=""
[ -n "$LOCKD_TCPPORT" ] && LOCKDARG="nlm_tcpport=$LOCKD_TCPPORT"
[ -n "$LOCKD_UDPPORT" ] && \
LOCKDARG="$LOCKDARG nlm_udpport=$LOCKD_UDPPORT"
[ -n "$LOCKDARG" ] && \
modprobe lockd $LOCKDARG
fi fi
echo -n $"Starting NFS statd: " echo -n $"Starting NFS statd: "
# See if a statd's ports has been defined # See if a statd's ports has been defined
@ -79,6 +89,7 @@ stop() {
killproc lockd -KILL killproc lockd -KILL
echo echo
fi fi
echo -n $"Stopping NFS statd: " echo -n $"Stopping NFS statd: "
killproc rpc.statd killproc rpc.statd
RETVAL=0 RETVAL=0