Author: rmacklem
Date: Mon Nov 30 22:29:11 2015
New Revision: 291536
URL: https://svnweb.freebsd.org/changeset/base/291536

Log:
  Add support for the new "-manage-gids" option for the nfsuserd daemon
  to the rc scripts. With these changes, setting nfs_server_managegids="YES"
  in /etc/rc.conf will enable this capability.
  
  Suggested by: jpaetzel
  Tested by:    jpaetzel
  Reviewed by:  rc (pending)
  MFC after:    2 weeks

Modified:
  head/etc/defaults/rc.conf
  head/etc/rc.d/nfsd
  head/etc/rc.d/nfsuserd

Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf   Mon Nov 30 22:16:30 2015        (r291535)
+++ head/etc/defaults/rc.conf   Mon Nov 30 22:29:11 2015        (r291536)
@@ -326,6 +326,7 @@ nfs_client_enable="NO"              # This host is a
 nfs_access_cache="60"          # Client cache timeout in seconds
 nfs_server_enable="NO"         # This host is an NFS server (or NO).
 nfs_server_flags="-u -t"       # Flags to nfsd (if enabled).
+nfs_server_managegids="NO"     # The NFS server maps gids for AUTH_SYS (or NO).
 mountd_enable="NO"             # Run mountd (or NO).
 mountd_flags="-r"              # Flags to mountd (if NFS server enabled).
 weak_mountd_authentication="NO"        # Allow non-root mount requests to be 
served.

Modified: head/etc/rc.d/nfsd
==============================================================================
--- head/etc/rc.d/nfsd  Mon Nov 30 22:16:30 2015        (r291535)
+++ head/etc/rc.d/nfsd  Mon Nov 30 22:29:11 2015        (r291536)
@@ -32,9 +32,13 @@ nfsd_precmd()
                sysctl vfs.nfsd.nfs_privport=0 > /dev/null
        fi
 
+       if checkyesno nfsv4_server_enable || \
+           checkyesno nfs_server_managegids; then
+               force_depend nfsuserd || err 1 "Cannot run nfsuserd"
+       fi
+
        if checkyesno nfsv4_server_enable; then
                sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
-               force_depend nfsuserd || err 1 "Cannot run nfsuserd"
        else
                echo 'NFSv4 is disabled'
                sysctl vfs.nfsd.server_max_nfsvers=3 > /dev/null

Modified: head/etc/rc.d/nfsuserd
==============================================================================
--- head/etc/rc.d/nfsuserd      Mon Nov 30 22:16:30 2015        (r291535)
+++ head/etc/rc.d/nfsuserd      Mon Nov 30 22:29:11 2015        (r291536)
@@ -15,5 +15,14 @@ command="/usr/sbin/${name}"
 sig_stop="USR1"
 
 load_rc_config $name
+start_precmd="nfsuserd_precmd"
+
+nfsuserd_precmd()
+{
+       if checkyesno nfs_server_managegids; then
+               rc_flags="-manage-gids ${nfsuserd_flags}"
+       fi
+       return 0
+}
 
 run_rc_command "$1"
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to