head	1.24;
access;
symbols
	RELENG_8_4:1.24.0.2
	RELENG_9_1_0_RELEASE:1.20.2.4.2.2
	RELENG_9_1:1.20.2.4.0.2
	RELENG_9_1_BP:1.20.2.4
	RELENG_8_3_0_RELEASE:1.17.2.4.2.1
	RELENG_8_3:1.17.2.4.0.2
	RELENG_8_3_BP:1.17.2.4
	RELENG_9_0_0_RELEASE:1.20.2.1.2.2
	RELENG_9_0:1.20.2.1.0.2
	RELENG_9_0_BP:1.20.2.1
	RELENG_9:1.20.0.2
	RELENG_9_BP:1.20
	RELENG_7_4_0_RELEASE:1.13.10.2.6.1
	RELENG_8_2_0_RELEASE:1.17.2.1.6.1
	RELENG_7_4:1.13.10.2.0.6
	RELENG_7_4_BP:1.13.10.2
	RELENG_8_2:1.17.2.1.0.6
	RELENG_8_2_BP:1.17.2.1
	RELENG_8_1_0_RELEASE:1.17.2.1.4.1
	RELENG_8_1:1.17.2.1.0.4
	RELENG_8_1_BP:1.17.2.1
	RELENG_7_3_0_RELEASE:1.13.10.2.4.1
	RELENG_7_3:1.13.10.2.0.4
	RELENG_7_3_BP:1.13.10.2
	RELENG_8_0_0_RELEASE:1.17.2.1.2.1
	RELENG_8_0:1.17.2.1.0.2
	RELENG_8_0_BP:1.17.2.1
	RELENG_8:1.17.0.2
	RELENG_8_BP:1.17
	RELENG_7_2_0_RELEASE:1.13.10.2.2.1
	RELENG_7_2:1.13.10.2.0.2
	RELENG_7_2_BP:1.13.10.2
	RELENG_7_1_0_RELEASE:1.13.10.1.2.1
	RELENG_6_4_0_RELEASE:1.13.2.1.2.1
	RELENG_7_1:1.13.10.1.0.2
	RELENG_7_1_BP:1.13.10.1
	RELENG_6_4:1.13.2.1.0.2
	RELENG_6_4_BP:1.13.2.1
	RELENG_7_0_0_RELEASE:1.13.14.1
	RELENG_6_3_0_RELEASE:1.13
	RELENG_7_0:1.13.0.14
	RELENG_7_0_BP:1.13
	RELENG_6_3:1.13.0.12
	RELENG_6_3_BP:1.13
	RELENG_7:1.13.0.10
	RELENG_7_BP:1.13
	RELENG_6_2_0_RELEASE:1.13
	RELENG_6_2:1.13.0.8
	RELENG_6_2_BP:1.13
	RELENG_5_5_0_RELEASE:1.12.2.1
	RELENG_5_5:1.12.2.1.0.6
	RELENG_5_5_BP:1.12.2.1
	RELENG_6_1_0_RELEASE:1.13
	RELENG_6_1:1.13.0.6
	RELENG_6_1_BP:1.13
	RELENG_6_0_0_RELEASE:1.13
	RELENG_6_0:1.13.0.4
	RELENG_6_0_BP:1.13
	RELENG_6:1.13.0.2
	RELENG_6_BP:1.13
	RELENG_5_4_0_RELEASE:1.12.2.1
	RELENG_5_4:1.12.2.1.0.4
	RELENG_5_4_BP:1.12.2.1
	RELENG_5_3_0_RELEASE:1.12.2.1
	RELENG_5_3:1.12.2.1.0.2
	RELENG_5_3_BP:1.12.2.1
	RELENG_5:1.12.0.2
	RELENG_5_BP:1.12
	RELENG_5_2_1_RELEASE:1.9
	RELENG_5_2_0_RELEASE:1.9
	RELENG_5_2:1.9.0.4
	RELENG_5_2_BP:1.9
	RELENG_5_1_0_RELEASE:1.9
	RELENG_5_1:1.9.0.2
	RELENG_5_1_BP:1.9
	RELENG_5_0_0_RELEASE:1.8
	RELENG_5_0:1.8.0.2
	RELENG_5_0_BP:1.8
	head_20020621:1.1.1.2
	head_20010615:1.1.1.1
	NETBSD:1.1.1;
locks; strict;
comment	@# @;


1.24
date	2012.11.17.01.49.05;	author svnexp;	state Exp;
branches
	1.24.2.1;
next	1.23;

1.23
date	2012.02.14.10.51.24;	author dougb;	state Exp;
branches;
next	1.22;

1.22
date	2012.01.14.02.18.41;	author dougb;	state Exp;
branches;
next	1.21;

1.21
date	2011.11.05.16.47.47;	author dim;	state Exp;
branches;
next	1.20;

1.20
date	2011.07.07.20.59.42;	author rmacklem;	state Exp;
branches
	1.20.2.1;
next	1.19;

1.19
date	2011.05.08.01.01.27;	author rmacklem;	state Exp;
branches;
next	1.18;

1.18
date	2011.04.26.00.22.17;	author rmacklem;	state Exp;
branches;
next	1.17;

1.17
date	2009.06.02.22.15.47;	author rmacklem;	state Exp;
branches
	1.17.2.1;
next	1.16;

1.16
date	2008.11.03.10.38.00;	author dfr;	state Exp;
branches;
next	1.15;

1.15
date	2008.07.16.19.50.29;	author dougb;	state Exp;
branches;
next	1.14;

1.14
date	2007.12.08.07.20.22;	author dougb;	state Exp;
branches;
next	1.13;

1.13
date	2004.10.07.13.55.26;	author mtm;	state Exp;
branches
	1.13.2.1
	1.13.10.1
	1.13.14.1;
next	1.12;

1.12
date	2004.03.08.12.25.05;	author pjd;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2004.01.17.10.59.43;	author mtm;	state Exp;
branches;
next	1.10;

1.10
date	2004.01.17.10.16.38;	author mtm;	state Exp;
branches;
next	1.9;

1.9
date	2003.01.24.00.37.52;	author mtm;	state Exp;
branches;
next	1.8;

1.8
date	2002.10.12.10.31.31;	author schweikh;	state Exp;
branches;
next	1.7;

1.7
date	2002.09.06.16.18.05;	author gordon;	state Exp;
branches;
next	1.6;

1.6
date	2002.09.03.16.02.57;	author gordon;	state Exp;
branches;
next	1.5;

1.5
date	2002.08.20.00.14.11;	author gordon;	state Exp;
branches;
next	1.4;

1.4
date	2002.08.14.05.44.32;	author gordon;	state Exp;
branches;
next	1.3;

1.3
date	2002.07.07.22.19.08;	author gordon;	state Exp;
branches;
next	1.2;

1.2
date	2002.06.13.22.14.36;	author gordon;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.16.07.16.14;	author obrien;	state Exp;
branches
	1.1.1.1;
next	;

1.24.2.1
date	2012.11.17.01.49.05;	author svnexp;	state dead;
branches;
next	1.24.2.2;

1.24.2.2
date	2013.03.28.13.02.44;	author svnexp;	state Exp;
branches;
next	;

1.20.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.20.2.1.2.1;
next	1.20.2.2;

1.20.2.2
date	2011.11.17.08.07.16;	author dim;	state Exp;
branches;
next	1.20.2.3;

1.20.2.3
date	2012.02.14.10.16.56;	author dougb;	state Exp;
branches;
next	1.20.2.4;

1.20.2.4
date	2012.02.15.22.59.15;	author dougb;	state Exp;
branches
	1.20.2.4.2.1;
next	1.20.2.5;

1.20.2.5
date	2012.11.17.11.36.11;	author svnexp;	state Exp;
branches;
next	;

1.20.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.20.2.1.2.2;

1.20.2.1.2.2
date	2011.11.17.08.12.12;	author dim;	state Exp;
branches;
next	1.20.2.1.2.3;

1.20.2.1.2.3
date	2012.11.17.08.36.11;	author svnexp;	state Exp;
branches;
next	;

1.20.2.4.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.20.2.4.2.2;

1.20.2.4.2.2
date	2012.11.17.08.47.01;	author svnexp;	state Exp;
branches;
next	;

1.17.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.17.2.1.2.1
	1.17.2.1.4.1
	1.17.2.1.6.1;
next	1.17.2.2;

1.17.2.2
date	2012.02.14.10.17.14;	author dougb;	state Exp;
branches;
next	1.17.2.3;

1.17.2.3
date	2012.02.15.23.00.31;	author dougb;	state Exp;
branches;
next	1.17.2.4;

1.17.2.4
date	2012.02.19.22.24.01;	author dougb;	state Exp;
branches
	1.17.2.4.2.1;
next	1.17.2.5;

1.17.2.5
date	2012.11.17.10.35.57;	author svnexp;	state Exp;
branches;
next	;

1.17.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.17.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.17.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.17.2.4.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.17.2.4.2.2;

1.17.2.4.2.2
date	2012.11.17.08.24.38;	author svnexp;	state Exp;
branches;
next	;

1.13.2.1
date	2008.01.28.08.22.33;	author dougb;	state Exp;
branches
	1.13.2.1.2.1;
next	1.13.2.2;

1.13.2.2
date	2012.11.17.07.39.08;	author svnexp;	state Exp;
branches;
next	;

1.13.2.1.2.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.13.10.1
date	2008.01.28.07.55.44;	author dougb;	state Exp;
branches
	1.13.10.1.2.1;
next	1.13.10.2;

1.13.10.2
date	2009.03.24.02.48.54;	author dougb;	state Exp;
branches
	1.13.10.2.2.1
	1.13.10.2.4.1
	1.13.10.2.6.1;
next	1.13.10.3;

1.13.10.3
date	2012.02.14.10.17.30;	author dougb;	state Exp;
branches;
next	1.13.10.4;

1.13.10.4
date	2012.11.17.08.01.22;	author svnexp;	state Exp;
branches;
next	;

1.13.10.1.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.13.10.2.2.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.13.10.2.4.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.13.10.2.6.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.13.10.2.6.2;

1.13.10.2.6.2
date	2012.11.17.08.16.37;	author svnexp;	state Exp;
branches;
next	;

1.13.14.1
date	2008.01.28.07.58.31;	author dougb;	state Exp;
branches;
next	;

1.12.2.1
date	2004.10.10.09.50.54;	author mtm;	state Exp;
branches;
next	;

1.1.1.1
date	2001.06.16.07.16.14;	author obrien;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2002.06.21.19.07.21;	author obrien;	state Exp;
branches;
next	;


desc
@@


1.24
log
@Switching exporter and resync
@
text
@#!/bin/sh
#
# $FreeBSD: head/etc/rc.d/nfsd 231667 2012-02-14 10:51:24Z dougb $
#

# PROVIDE: nfsd
# REQUIRE: mountd hostname gssd nfsuserd
# KEYWORD: nojail shutdown

. /etc/rc.subr

name="nfsd"
rcvar="nfs_server_enable"
command="/usr/sbin/${name}"

load_rc_config $name
start_precmd="nfsd_precmd"
sig_stop="USR1"

nfsd_precmd()
{
	if checkyesno oldnfs_server_enable; then
		rc_flags="-o ${nfs_server_flags}"

		# Load the module now, so that the vfs.nfsrv sysctl
		# oids are available.
		load_kld nfsserver

		if checkyesno nfs_reserved_port_only; then
			echo 'NFS on reserved port only=YES'
			sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
		else
			sysctl vfs.nfsrv.nfs_privport=0 > /dev/null
		fi
	else
		rc_flags="${nfs_server_flags}"

		# Load the modules now, so that the vfs.nfsd sysctl
		# oids are available.
		load_kld nfsd

		if checkyesno nfs_reserved_port_only; then
			echo 'NFS on reserved port only=YES'
			sysctl vfs.nfsd.nfs_privport=1 > /dev/null
		else
			sysctl vfs.nfsd.nfs_privport=0 > /dev/null
		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
		fi
	fi

	force_depend rpcbind || return 1
	force_depend mountd || return 1
}

run_rc_command "$1"
@


1.24.2.1
log
@file nfsd was added on branch RELENG_8_4 on 2013-03-28 13:02:44 +0000
@
text
@d1 62
@


1.24.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 46
#!/bin/sh
#
# $FreeBSD: releng/8.4/etc/rc.d/nfsd 231917 2012-02-19 22:24:01Z dougb $
#

# PROVIDE: nfsd
# REQUIRE: mountd hostname gssd nfsuserd
# KEYWORD: nojail shutdown

. /etc/rc.subr

name="nfsd"
rcvar="nfs_server_enable"
command="/usr/sbin/${name}"

load_rc_config $name
start_precmd="nfsd_precmd"
sig_stop="USR1"

nfsd_precmd()
{
	if checkyesno nfsv4_server_enable; then
		# If nfsv4_server_enable is yes, force use
		# of the experimental server
		#
		rc_flags="-e ${nfs_server_flags}"

		force_depend nfsuserd || return 1
	else
		rc_flags="${nfs_server_flags}"

		if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
			force_depend nfsserver || return 1
		fi

		if checkyesno nfs_reserved_port_only; then
			echo 'NFS on reserved port only=YES'
			sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
		fi
	fi

	force_depend rpcbind || return 1
	force_depend mountd || return 1
}

run_rc_command "$1"
@


1.23
log
@SVN rev 231667 on 2012-02-14 10:51:24Z by dougb

Fix various issues with the NFS and RPC related scripts:

1. Add new functionality to the force_depend method to incorporate the
   tests for whether the service is enabled and/or already running.
2. Add a new option to bypass checking only that the service is enabled
   at boot time, and always check if it is running.
3. Use this new functionality to greatly simplify the rc.d scripts that
   use force_depend.
4. Add a force_depend for statd in lockd
5. Remove the check that either nfs_server or nfs_client is _enable'd
   from statd and lockd. This was always overkill, and prevented using
   the {one|force}start options, as well as stop'ing on the command line.
6. The yp* scripts had some of their arguments in various weird orders.
   Bring them into line with the model.
7. If mountd fails to create /var/db/mountdtab, err out.

Ideas, suggestions, and/or review from delphij and jilles.
Pointy hats are completely my responsibility however.
@
text
@d3 1
a3 1
# $FreeBSD$
@


1.22
log
@SVN rev 230099 on 2012-01-14 02:18:41Z by dougb

Prepare for the removal of set_rcvar() by changing the rcvar=
assignments to the literal values it would have returned.

The concept of set_rcvar() was nice in theory, but the forks
it creates are a drag on the startup process, which is especially
noticeable on slower systems, such as embedded ones.

During the discussion on freebsd-rc@@ a preference was expressed for
using ${name}_enable instead of the literal values. However the
code portability concept doesn't really apply since there are so
many other places where the literal name has to be searched for
and replaced. Also, using the literal value is also a tiny bit
faster than dereferencing the variables, and every little bit helps.
@
text
@d51 1
a51 7
			if ! checkyesno nfsuserd_enable  && \
			    ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
			then
				if ! force_depend nfsuserd; then
					err 1 "Cannot run nfsuserd"
				fi
			fi
d58 2
a59 12
	if ! checkyesno rpcbind_enable  && \
	    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
	then
		force_depend rpcbind || return 1
	fi

	if ! checkyesno mountd_enable  && \
	    ! /etc/rc.d/mountd forcestatus 1>/dev/null 2>&1
	then
		force_depend mountd || return 1
	fi
	return 0
@


1.21
log
@SVN rev 227112 on 2011-11-05 16:47:47Z by dim

Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.

Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.

Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.

I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.

Reviewed by:	rmacklem
Silence from:	rc@@
MFC after:	3 days
@
text
@d13 1
a13 1
rcvar=`set_rcvar nfs_server`
@


1.20
log
@SVN rev 223847 on 2011-07-07 20:59:42Z by rmacklem

Fix the /etc/rc.d/nfsd script so that it no longer uses
the /etc/rc.d/nfsserver script to load the old nfs server
module.

Tested by:	sgk at troutmask.apl.washington.edu
Reviewed by:	rc (hrs)
@
text
@d32 2
d45 2
d50 1
@


1.20.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.20.2.2
log
@SVN rev 227607 on 2011-11-17 08:07:16Z by dim

MFC r227112:

Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.

Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.

Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.

I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.

Reviewed by:	rmacklem
Silence from:	rc@@
Approved by:	re (kib)
@
text
@a31 2
		else
			sysctl vfs.nfsrv.nfs_privport=0 > /dev/null
a42 2
		else
			sysctl vfs.nfsd.nfs_privport=0 > /dev/null
a45 1
			sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
@


1.20.2.3
log
@SVN rev 231653 on 2012-02-14 10:16:56Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d13 1
a13 1
rcvar="nfs_server_enable"
@


1.20.2.4
log
@SVN rev 231792 on 2012-02-15 22:59:15Z by dougb

MFC r231667:

Fix various issues with the NFS and RPC related scripts.
Add new functionality to the force_depend method.
@
text
@d51 7
a57 1
			force_depend nfsuserd || err 1 "Cannot run nfsuserd"
d64 12
a75 2
	force_depend rpcbind || return 1
	force_depend mountd || return 1
@


1.20.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d3 1
a3 1
# $FreeBSD: stable/9/etc/rc.d/nfsd 231792 2012-02-15 22:59:15Z dougb $
@


1.20.2.4.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.20.2.4.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.1/etc/rc.d/nfsd 231792 2012-02-15 22:59:15Z dougb $
@


1.20.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.20.2.1.2.2
log
@SVN rev 227608 on 2011-11-17 08:12:12Z by dim

MFC r227112:

Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.

Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.

Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.

I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.

Reviewed by:	rmacklem
Silence from:	rc@@
Approved by:	re (kib)
@
text
@a31 2
		else
			sysctl vfs.nfsrv.nfs_privport=0 > /dev/null
a42 2
		else
			sysctl vfs.nfsd.nfs_privport=0 > /dev/null
a45 1
			sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
@


1.20.2.1.2.3
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.0/etc/rc.d/nfsd 227608 2011-11-17 08:12:12Z dim $
@


1.19
log
@SVN rev 221615 on 2011-05-08 01:01:27Z by rmacklem

Change the new NFS server so that it uses vfs.nfsd naming
for its sysctls instead of vfs.newnfs. This separates the
names from the ones used by the client.
@
text
@d25 3
a27 3
		if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
			force_depend nfsserver || return 1
		fi
@


1.18
log
@SVN rev 221046 on 2011-04-26 00:22:17Z by rmacklem

Update the /etc/rc.d scripts for mountd and nfsd so they
can use the "-o" option to force the old NFS server to run.
Running the old NFS server is enabled by setting
oldnfs_server_enable="YES". The scripts will only enable
providing service for NFSv4 if nfsv4_server_enable="YES"
is set.

Reviewed by:	dougb (rc)
@
text
@d36 1
a36 1
		# Load the modules now, so that the vfs.newnfs sysctl
d42 1
a42 1
			sysctl vfs.newnfs.nfs_privport=1 > /dev/null
d55 1
a55 1
			sysctl vfs.newnfs.server_max_nfsvers=3 > /dev/null
@


1.17
log
@SVN rev 193354 on 2009-06-02 22:15:47Z by rmacklem

Add support for the experimental nfs subsystem to the scripts in
/etc/rc.d. They use the following new rc variables:
  nfsv4_server_enable - set to "YES" to run the experimental server
  nfsuserd_enable - set to "YES" to run nfsuserd for NFSv4 client and
    server
  nfsuserd_flags - command line flags for nfsuserd
  nfscbd_enable - set to "YES" to run the experimental nfs client's
    NFSv4 callback daemon
  nfscbd_flags - command line flags for nfscbd

Reviewed by:	dougb
Approved by:	kib (mentor)
@
text
@d22 2
a23 13
	if checkyesno nfsv4_server_enable; then
		# If nfsv4_server_enable is yes, force use
		# of the experimental server
		#
		rc_flags="-e ${nfs_server_flags}"

		if ! checkyesno nfsuserd_enable  && \
		    ! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
		then
			force_depend nfsuserd || return 1
		fi
	else
		rc_flags="${nfs_server_flags}"
d33 24
@


1.17.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.17.2.2
log
@SVN rev 231655 on 2012-02-14 10:17:14Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d13 1
a13 1
rcvar="nfs_server_enable"
@


1.17.2.3
log
@SVN rev 231793 on 2012-02-15 23:00:31Z by dougb

MFC r231667:

Fix various issues with the NFS and RPC related scripts.
Add new functionality to the force_depend method.
@
text
@d46 12
a57 2
	force_depend rpcbind || return 1
	force_depend mountd || return 1
@


1.17.2.4
log
@SVN rev 231917 on 2012-02-19 22:24:01Z by dougb

Remove the last wrapper around force_depend ... missed in the r231667 MFC

This is a direct commit to stable/8 because the file differs from that
in HEAD

Approved by:	re (kib)
@
text
@d28 5
a32 1
		force_depend nfsuserd || return 1
@


1.17.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d3 1
a3 1
# $FreeBSD: stable/8/etc/rc.d/nfsd 231917 2012-02-19 22:24:01Z dougb $
@


1.17.2.4.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.17.2.4.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/8.3/etc/rc.d/nfsd 231917 2012-02-19 22:24:01Z dougb $
@


1.17.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.17.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.17.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.16
log
@SVN rev 184588 on 2008-11-03 10:38:00Z by dfr

Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager.  I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.

The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.

To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.

As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.

Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.

The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.

Sponsored by:	Isilon Systems
MFC after:	1 month
@
text
@d7 1
a7 1
# REQUIRE: mountd hostname gssd
a16 1
command_args="${nfs_server_flags}"
d22 22
a43 2
	if ! sysctl vfs.nfsrv >/dev/null 2>&1; then
		force_depend nfsserver || return 1
a56 5

	if checkyesno nfs_reserved_port_only; then
		echo 'NFS on reserved port only=YES'
		sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
	fi
@


1.15
log
@SVN rev 180564 on 2008-07-16 19:50:29Z by dougb

Add the shutdown KEYWORD to those scripts that start persistent services
to allow them to do a "clean" shutdown.

I purposely avoided making changes to network-related stuff since the
system shutting down is pretty conclusive, and there may be complicated
dependencies on the network that I would rather not try to unravel.

I also skipped kerberos-related stuff for the reasons above, and
because I have no way to test it.
@
text
@d7 1
a7 1
# REQUIRE: mountd
@


1.14
log
@Remove $NetBSD$ CVS tags. We no longer attempt to synch our rc.d files
with theirs, so this information doesn't need to be in the live file.
Having it in our CVS history is enough.
@
text
@d8 1
a8 1
# KEYWORD: nojail
@


1.13
log
@Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
@
text
@a2 1
# $NetBSD: nfsd,v 1.4 2001/06/16 06:13:10 lukem Exp $
@


1.13.2.1
log
@MFC the purely cosmetic changes, including removal of $NetBSD$ Ids,
a few spurious #'s, an empty REQUIRE, and a never-used KEYWORD.
@
text
@d3 1
@


1.13.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/6/etc/rc.d/nfsd 175742 2008-01-28 08:22:33Z dougb $
@


1.13.2.1.2.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.13.14.1
log
@MFC the purely cosmetic changes, including removal of $NetBSD$ Ids,
a few spurious #'s, an empty REQUIRE, and a never-used KEYWORD.

Approved by:	re (kensmith)
@
text
@d3 1
@


1.13.10.1
log
@MFC the purely cosmetic changes, including removal of $NetBSD$ Ids,
a few spurious #'s, an empty REQUIRE, and a never-used KEYWORD.
@
text
@d3 1
@


1.13.10.2
log
@SVN rev 190362 on 2009-03-24 02:48:54Z by dougb

MFC r180564, addition of the SHUTDOWN keyword to those scripts that
start persistent services.
@
text
@d8 1
a8 1
# KEYWORD: nojail shutdown
@


1.13.10.3
log
@SVN rev 231656 on 2012-02-14 10:17:30Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d13 1
a13 1
rcvar="nfs_server_enable"
@


1.13.10.4
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/7/etc/rc.d/nfsd 231656 2012-02-14 10:17:30Z dougb $
@


1.13.10.2.6.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.13.10.2.6.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/7.4/etc/rc.d/nfsd 190362 2009-03-24 02:48:54Z dougb $
@


1.13.10.2.4.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.13.10.2.2.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.13.10.1.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.12
log
@Mark scripts as not usable inside a jail by adding keyword 'nojail'.

Some suggestions from:	rwatson, Ruben de Groot <mail25@@bzerk.org>
@
text
@d9 1
a9 1
# KEYWORD: FreeBSD nojail
@


1.12.2.1
log
@RCS file: /home/ncvs/src/etc/rc,v
----------------------------
revision 1.335
date: 2004/10/08 14:23:49;  author: mtm;  state: Exp;  lines: +0 -1
Remove an unused variable.

Submitted by: Pawel Worach <pawel.worach@@telia.com>
----------------------------
revision 1.334
date: 2004/10/07 13:55:25;  author: mtm;  state: Exp;  lines: +1 -1
Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/nsswitch,v
----------------------------
revision 1.4
date: 2004/09/16 17:03:12;  author: keramida;  state: Exp;  lines: +1 -1
Fix requirement of `network' to `NETWORK' because the former isn't
provided by any rc.d script.

Approved by:	mtm
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/pflog,v
----------------------------
revision 1.3
date: 2004/09/16 17:04:20;  author: keramida;  state: Exp;  lines: +1 -1
We don't have any providers of `beforenetlkm' in FreeBSD.  Remove the
dependency to it from our rc.d scripts.

Approved by:	mtm
=============================================================================

Approved by: re/scottl
@
text
@d9 1
a9 1
# KEYWORD: nojail
@


1.11
log
@Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, remove
NetBSD specific stuff (which made our scripts more complicated
than necessary).

The NetBSD ident string will be left intact, both for history and
also incase we wish to pull in future versions.
@
text
@d9 1
a9 1
# KEYWORD: FreeBSD
@


1.10
log
@Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, begin removal
of NetBSD specific stuff (which made our scripts more complicated
than necessary), starting with the NetBSD KEYWORD.
@
text
@d18 3
a20 11
case ${OSTYPE} in
FreeBSD)
	command_args="${nfs_server_flags}"
	start_precmd="nfsd_precmd"
	sig_stop="USR1"
	;;
NetBSD)
	required_vars="mountd rpcbind"
	start_precmd=
	;;
esac
@


1.9
log
@Cleanup as many instances of rc.conf variable use before
calling load_rc_config().

Approved by:	markm (mentor) dougb
@
text
@d9 1
a9 1
# KEYWORD: FreeBSD NetBSD
@


1.8
log
@Fix style bugs:
* Space -> tabs conversion.
* Removed blanks before semicolon in "if ... ; then".
* Proper indentation of misindented lines.
* Put a full stop after some comments.
* Removed whitespace at end of line.

Approved by:	silence from gordon
@
text
@d17 1
a54 1
load_rc_config $name
@


1.7
log
@Convert from `${CMD_OSTYPE}` to ${OSTYPE}. This saves a shell invocation on
OS-dependent case switches.
@
text
@d47 1
a47 1
	if checkyesno nfs_reserved_port_only ; then
@


1.6
log
@nfsd doesn't die on SIGTERM but on SIGUSR1, correct script to kill nfsd with
the right signal.
@
text
@d17 1
a17 1
case `${CMD_OSTYPE}` in
@


1.5
log
@Print out a carriage return to make the screen output make more sense

Submitted by:	mike@@
@
text
@d21 1
@


1.4
log
@Clean up the scripts to use the new variables:
xntpd_* -> ntpd_*
portmap_* -> rpcbind_*

Also change single_mountd_enable -> mountd_enable
Changing the mountd flags brings us closer to NetBSD.

All of the old variable names are shimmed so you can continue to use the
old variable name.

Finally make /etc/rc.d/mountd no longer dependent on nfs as there are
(apparently) other consumers of mountd.

Submitted by:	Mike Makonnen <makonnen@@pacbell.net>
@
text
@d47 1
a47 1
		echo -n ' NFS on reserved port only=YES'
@


1.3
log
@nfsd and mountd now live in /usr/sbin not /sbin. Correct the command args.
This also reduces the diff to NetBSD (very marginally).

Reviewed by:	jake (mentor)
@
text
@a19 1
	required_vars="portmap_enable"
d32 12
@


1.2
log
@Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next.

Submitted by:	Mike Makonnen <makonnen@@pacbell.net>
Reviewed by:	silence on -current and -hackers
Prodded by:	rwatson
@
text
@d15 1
a18 1
	command="/sbin/nfsd"
a23 1
	command="/usr/sbin/${name}"
@


1.1
log
@Initial revision
@
text
@d3 2
a4 1
# $NetBSD: nfsd,v 1.2 2000/05/13 08:45:07 lukem Exp $
d9 1
d14 28
a41 3
rcvar="nfs_server"
command="/usr/sbin/${name}"
required_vars="rpcbind"
@


1.1.1.1
log
@Import the NetBSD 1.5 RC system.

Note that `rc' and `rc.shutdown' could not be imported because we already
have files with those names.
@
text
@@


1.1.1.2
log
@Sync with NetBSD's mainline.
@
text
@d3 1
a3 1
# $NetBSD: nfsd,v 1.3 2000/06/02 22:54:12 fvdl Exp $
d14 1
a14 1
required_vars="mountd rpcbind"
@

