1110290Sgordon#!/bin/sh 2110290Sgordon# 3110290Sgordon# $FreeBSD$ 4110290Sgordon# 5110290Sgordon 6110290Sgordon# PROVIDE: nfsd 7110290Sgordon# REQUIRE: mountd hostname gssd nfsuserd 8110290Sgordon# KEYWORD: nojail shutdown 9110290Sgordon 10110290Sgordon. /etc/rc.subr 11110290Sgordon 12110290Sgordonname="nfsd" 13110290Sgordonrcvar="nfs_server_enable" 14110290Sgordoncommand="/usr/sbin/${name}" 15110290Sgordon 16110290Sgordonload_rc_config $name 17110290Sgordonstart_precmd="nfsd_precmd" 18110290Sgordonsig_stop="USR1" 19110290Sgordon 20110290Sgordonnfsd_precmd() 21110290Sgordon{ 22110290Sgordon if checkyesno oldnfs_server_enable; then 23110290Sgordon rc_flags="-o ${nfs_server_flags}" 24110290Sgordon 25110290Sgordon # Load the module now, so that the vfs.nfsrv sysctl 26110290Sgordon # oids are available. 27116196Sobrien load_kld nfsserver 28116196Sobrien 29116196Sobrien if checkyesno nfs_reserved_port_only; then 30110290Sgordon echo 'NFS on reserved port only=YES' 31110290Sgordon sysctl vfs.nfsrv.nfs_privport=1 > /dev/null 32110290Sgordon else 33219029Snetchild sysctl vfs.nfsrv.nfs_privport=0 > /dev/null 34110290Sgordon fi 35110290Sgordon else 36110290Sgordon rc_flags="${nfs_server_flags}" 37110290Sgordon 38110290Sgordon # Load the modules now, so that the vfs.nfsd sysctl 39110290Sgordon # oids are available. 40110290Sgordon load_kld nfsd 41110290Sgordon 42110290Sgordon if checkyesno nfs_reserved_port_only; then 43110290Sgordon echo 'NFS on reserved port only=YES' 44110290Sgordon sysctl vfs.nfsd.nfs_privport=1 > /dev/null 45110290Sgordon else 46219029Snetchild sysctl vfs.nfsd.nfs_privport=0 > /dev/null 47219029Snetchild fi 48110290Sgordon 49110290Sgordon if checkyesno nfsv4_server_enable || \ 50110290Sgordon checkyesno nfs_server_managegids; then 51110290Sgordon force_depend nfsuserd || err 1 "Cannot run nfsuserd" 52110290Sgordon fi 53110290Sgordon 54110290Sgordon if checkyesno nfsv4_server_enable; then 55110290Sgordon sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null 56110290Sgordon else 57110290Sgordon echo 'NFSv4 is disabled' 58110290Sgordon sysctl vfs.nfsd.server_max_nfsvers=3 > /dev/null 59110290Sgordon fi 60110290Sgordon fi 61110290Sgordon 62110290Sgordon force_depend rpcbind || return 1 63110290Sgordon force_depend mountd || return 1 64110290Sgordon} 65110290Sgordon 66110290Sgordonrun_rc_command "$1" 67110290Sgordon