Home | History | Annotate | only in /src/usr.sbin/mountd
History log of /src/usr.sbin/mountd
RevisionDateAuthorComments
 1.21 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.20 13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.19 23-Dec-2015  christos branches: 1.19.16;
Split out get_net function so that it is easily testable. Restore
functionality where 1.2.3/24 -> 1.2.3.0/24 not 1.2.0.3/24 now that
getaddrinfo(3) parses old-style incomplete dotted quads as old
style addresses.
 1.18 28-May-2007  tls Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.17 16-May-2003  itojun blank line
 1.16 21-Sep-2002  christos PR/15692: Love: specify ipsec policy for mountd.
 1.15 29-Oct-1998  christos - KNF, remove extraneous casts
- split up parsing code
- centralize malloc checking
- use fparseln.
 1.14 18-Oct-1997  lukem enable WARNS=1 by default, but disable in unclean 3rd party code
 1.13 28-Aug-1997  lukem update for WARNS?=1
check getopt() against -1 not EOF
 1.12 11-May-1995  cgd don't build netgroup(5) here.
 1.11 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.10 22-Dec-1994  cgd specify man pages the new way.
 1.9 08-Jun-1994  mycroft Update from 4.4-Lite, with local changes.
 1.8 28-Jan-1994  cgd don't need -lutil
 1.7 08-Oct-1993  cgd no more librpc
 1.6 01-Aug-1993  mycroft Add RCS identifiers.
 1.5 15-Jun-1993  mycroft Add some library dependencies.
 1.4 12-Apr-1993  cgd added -DNFSSERVER to makefile. another point for glass.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.19.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.39 29-Mar-2024  uwe exports(5): mark up the list of groups to --maproot &c as optional
 1.38 29-Mar-2024  riastradh exports(5): Tiny punctuation fix in man page.
 1.37 29-Mar-2024  snj pick some nits
 1.36 27-Mar-2024  uwe exports(5): improve mark up
 1.35 27-Mar-2024  riastradh exports(5): Substantially rewrite for clarity.

Hope this is an improvement over the turgid paragraphs all about
first/second/third cases of everything.

PR misc/58063
 1.34 27-Mar-2024  riastradh exports(5): Revert warning about `-ro' on read/write file systems.

Looks like the nfs server does enforce that after all, in spite of
the rather oblique commentary in the BUGS section about export
options being tied to local mount point options with which they must
be noncontradictory.

And there's no reason in principle it shouldn't enforce this -- it
just need to block various file system _operations_, rather than the
subtree issue where the criteria for evaluating whether operations
are allowed on particular _file handles_ are too painful to
contemplate.

PR misc/58063
 1.33 26-Mar-2024  riastradh exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.

PR misc/58063
 1.32 28-Mar-2013  njoly branches: 1.32.30; 1.32.38;
Remove unknown \*(tN and \*(sP macros.

ok wiz.
 1.31 26-Aug-2012  wiz branches: 1.31.2;
Dots as macro arguments need quoting.
Bug reported by Paul Goyette.
 1.30 09-Oct-2006  wiz branches: 1.30.40;
Fix a typo.
 1.29 08-Oct-2006  apb Document the -network=netname/prefixlength syntax. Requested in
PR 26891 by Arto Selonen.

Also some mdoc improvements.
 1.28 18-Sep-2006  wiz Improve CAVEATS section. Based on mail by yamt@. Bump date.
 1.27 10-Sep-2006  wiz Drop trailing space.
 1.26 08-Sep-2006  yamt - discourage nfs re-exporting.
- bump date.
 1.25 18-Oct-2005  wiz New sentence, new line. Use more, and more appropriate, mdoc macros.
 1.24 18-Oct-2005  hubertf mountd's -r option always was a dummy, don't advertize using it.
OK'd by fvdl.
 1.23 07-Aug-2003  agc branches: 1.23.6;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22366, verified by myself.
 1.22 27-Jun-2003  wiz Sm off -> Sm on (Sm off...Sm off is not too smart).
 1.21 19-Jan-2002  wiz Punctuation nits.
 1.20 03-Apr-2001  wiz Xref inet 4, not 5.
 1.19 20-Jun-2000  hubertf branches: 1.19.2;
Tell people how to make the system re-read this file after changing it
Fixes PR 10398 by John Refling <refling@comet.lbl.gov>.
 1.18 12-Jun-2000  itojun mountd(8) supports scoped IPv6 address properly (exports(5) requires
scope identifier). remove mention in BUGS section and add note on
scope identifier.
 1.17 10-Jun-2000  itojun support IPv6 addresses start with hex digit or colon (like ::1).
in manpages, warn that scoped IPv6 addresses are not supported.
 1.16 09-Jun-2000  fvdl Make address handling in mountd more generic, to allow IPv6 mounting.
Add IPv6 example to exports manpage. Allow /prefix notation for
networks.
 1.15 17-Feb-2000  fvdl branches: 1.15.2;
Note that -kerb option is not implemented.
 1.14 07-Oct-1998  christos Explain what happens when there is no host set specified in the exports
line, or when a netgroup that has no host is in the set.
 1.13 19-Oct-1997  fvdl Add a warning about exporting a filesystem using WebNFS and also exporting
it the normal way, read/write to specific clients.
 1.12 24-Jun-1997  fvdl Document new options.
 1.11 30-Mar-1997  fvdl Split handling reserved port handling for NFS rpcs and mount rpcs up;
-noresport -> -noresvport, and new option: -noresvmnt

Include a warning in the exports manual page on how -alldirs does
not guarantee that all accesses from a client stay below the mounted
subdirectory.
 1.10 23-Mar-1997  fvdl Checking for the use reserved ports by clients (both for mount/umount
and individual NFS requests) now depends on the '-noresport' option
in the exports file. Checking for reserved ports is the default.

The -n option has become obsolete but is maintained for backwards
compatibility.
 1.9 18-Feb-1996  fvdl Bring in NFSv3 code by Rick Macklem (from Lite2)
 1.8 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.7 08-Jun-1994  mycroft Update from 4.4-Lite, with local changes.
 1.6 06-Jan-1994  deraadt allow mounting/exporting of NFS files (not just directories) for diskless
swap. thanks to <ws@TooLs.DE> and <roland@frob.com>
 1.5 09-Sep-1993  ws Allow exporting whole directory trees with -alldir option in /etc/exports
 1.4 01-Aug-1993  mycroft Add RCS indentifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 09-Jan-1997  tls Import from 4.4BSD-Lite2
 1.1.1.2 13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.15.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.19.2.2 04-Apr-2001  he Pull up revision 1.20 (requested by wiz):
Xref inet 4, not 5.
 1.19.2.1 20-Jun-2000  he file exports.5 was added on branch netbsd-1-5 on 2001-04-04 16:33:41 +0000
 1.23.6.1 21-Oct-2005  riz Pull up following revision(s) (requested by feyrer in ticket #902):
usr.sbin/mountd/exports.5: revision 1.24
mountd's -r option always was a dummy, don't advertize using it.
OK'd by fvdl.
 1.30.40.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.30.40.1 30-Oct-2012  yamt sync with head
 1.31.2.1 23-Jun-2013  tls resync from head
 1.32.38.1 24-Aug-2024  martin Pull up following revision(s) (requested by riastradh in ticket #807):

usr.sbin/mountd/exports.5: revision 1.33
usr.sbin/mountd/exports.5: revision 1.34
sbin/fsirand/fsirand.8: revision 1.11
usr.sbin/mountd/exports.5: revision 1.35
usr.sbin/mountd/exports.5: revision 1.36
usr.sbin/mountd/mountd.8: revision 1.43
usr.sbin/mountd/exports.5: revision 1.37
usr.sbin/mountd/exports.5: revision 1.38

exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.
PR misc/58063

exports(5): Revert warning about `-ro' on read/write file systems.

Looks like the nfs server does enforce that after all, in spite of
the rather oblique commentary in the BUGS section about export
options being tied to local mount point options with which they must
be noncontradictory.

And there's no reason in principle it shouldn't enforce this -- it
just need to block various file system _operations_, rather than the
subtree issue where the criteria for evaluating whether operations
are allowed on particular _file handles_ are too painful to
contemplate.

PR misc/58063

exports(5): Substantially rewrite for clarity.

Hope this is an improvement over the turgid paragraphs all about
first/second/third cases of everything.
PR misc/58063

exports(5): improve mark up

fsirand(8): Fix security claims.
PR misc/58063
pick some nits

exports(5): Tiny punctuation fix in man page.
 1.32.30.1 24-Aug-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1882):

usr.sbin/mountd/exports.5: revision 1.33
usr.sbin/mountd/exports.5: revision 1.34
sbin/fsirand/fsirand.8: revision 1.11
usr.sbin/mountd/exports.5: revision 1.35
usr.sbin/mountd/exports.5: revision 1.36
usr.sbin/mountd/mountd.8: revision 1.43
usr.sbin/mountd/exports.5: revision 1.37
usr.sbin/mountd/exports.5: revision 1.38

exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.
PR misc/58063

exports(5): Revert warning about `-ro' on read/write file systems.

Looks like the nfs server does enforce that after all, in spite of
the rather oblique commentary in the BUGS section about export
options being tied to local mount point options with which they must
be noncontradictory.

And there's no reason in principle it shouldn't enforce this -- it
just need to block various file system _operations_, rather than the
subtree issue where the criteria for evaluating whether operations
are allowed on particular _file handles_ are too painful to
contemplate.

PR misc/58063

exports(5): Substantially rewrite for clarity.

Hope this is an improvement over the turgid paragraphs all about
first/second/third cases of everything.
PR misc/58063

exports(5): improve mark up

fsirand(8): Fix security claims.
PR misc/58063
pick some nits

exports(5): Tiny punctuation fix in man page.
 1.3 23-Apr-2020  joerg Rename debug to mountd_debug to avoid overlap in rump tests
 1.2 24-Dec-2015  christos fix comment, from kre
 1.1 23-Dec-2015  christos Split out get_net function so that it is easily testable. Restore
functionality where 1.2.3/24 -> 1.2.3.0/24 not 1.2.0.3/24 now that
getaddrinfo(3) parses old-style incomplete dotted quads as old
style addresses.
 1.43 26-Mar-2024  riastradh exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.

PR misc/58063
 1.42 15-Mar-2023  uwe mountd(8): comma before "and"

Not a serial comma, technically, as there are only two items, but it
makes reading easier, IMHO.
 1.41 15-Mar-2023  uwe mountd(8): fix minor markup nits

While here, use $() instead of `` in the example.
 1.40 16-Feb-2021  wiz branches: 1.40.6;
Reword slightly.
 1.39 16-Feb-2021  hannken Add support for multiple exports files. This will be useful for example for
ZFS, where we have an automatically generated /etc/zfs/exports file, which
should not be edited directly.
 1.38 24-Dec-2016  abhinav branches: 1.38.16;
Remove xref to signal(7).

As noted by wiz, it is probably not a good idea to mention signal(7) in SEE ALSO
every time a signal name is used in a man page.
 1.37 22-Dec-2016  abhinav Add xrefs to ipsec_set_policy(3) and signal(7)
 1.36 02-Nov-2011  wiz branches: 1.36.22;
Spelling.
 1.35 02-Nov-2011  wiz New sentence, new line.
 1.34 02-Nov-2011  christos mention macos/x needing -N
 1.33 02-Nov-2011  christos Don't document long defunct flags
 1.32 05-Jan-2006  yamt branches: 1.32.42;
mention /var/db/mountdtab.
 1.31 23-Sep-2005  jmmv Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
file sys/nfs/nfs_export.c. The former was becoming large and its code
is always compiled, regardless of the build options. Using the latter,
the code is only compiled in when NFSSERVER is enabled. While doing this,
also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
path and a set of export entries. At the moment it can only clear the
exports list or append entries, one by one, but it is done in a way that
allows setting the whole set of entries atomically in the future (see the
comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
that it becomes file system agnostic. In fact, all this whole thing was
done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
exports initialization; done internally by the kernel when initializing
the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
subsystems can run arbitrary code upon receipt of specific VFS events.
At the moment, this only provides support for unmount and is used to
destroy NFS exports lists from the file systems being unmounted, though it
has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.
 1.30 19-Sep-2005  wiz Sort options.
 1.29 19-Sep-2005  christos Allow setting the reserved port we bind, witb -p. I've had this patch for
3 months stashed...
 1.28 17-Jan-2005  wiz Add -N to SYNOPSIS; bump date for new -N flag; sort options.
 1.27 14-Jan-2005  thorpej Add a -N option that causes all exports to have "-noresvport -noresvmnt"
added to them.
 1.26 07-Sep-2003  wiz Consistently use 'RFC 1234' instead of 'RFC1234' or 'RFC-1234'.
From jmc@openbsd.
 1.25 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22366, verified by myself.
 1.24 25-Sep-2002  wiz Drop trailing whitespace.
 1.23 21-Sep-2002  christos PR/15692: Love: specify ipsec policy for mountd.
 1.22 03-Jul-2000  enami Substitute the cross reference to portmap(8) with rpcbind(8).
 1.21 12-Jun-2000  itojun branches: 1.21.2;
mountd(8) supports scoped IPv6 address properly (exports(5) requires
scope identifier). remove mention in BUGS section and add note on
scope identifier.
 1.20 10-Jun-2000  itojun support IPv6 addresses start with hex digit or colon (like ::1).
in manpages, warn that scoped IPv6 addresses are not supported.
 1.19 07-Oct-1998  christos branches: 1.19.8;
Explains what happens when we get SIGTERM...
 1.18 15-Jul-1998  fvdl Clarify -n comment.
 1.17 28-Apr-1998  fair Principally, change foo(N) to .Xr foo N
Also, do some other mdoc tagging.
 1.16 06-Feb-1998  perry macroize BSD, NetBSD, FreeBSD and misc cleanup
 1.15 14-Sep-1997  lukem - use .Nm instead of .Xr
- don't refer to the command as /sbin/mountd - it's not there anymore
 1.14 30-Mar-1997  fvdl Split handling reserved port handling for NFS rpcs and mount rpcs up;
-noresport -> -noresvport, and new option: -noresvmnt

Include a warning in the exports manual page on how -alldirs does
not guarantee that all accesses from a client stay below the mounted
subdirectory.
 1.13 23-Mar-1997  fvdl Checking for the use reserved ports by clients (both for mount/umount
and individual NFS requests) now depends on the '-noresport' option
in the exports file. Checking for reserved ports is the default.

The -n option has become obsolete but is maintained for backwards
compatibility.
 1.12 08-Mar-1997  mouse alternate -> alternative, per PR 2643
 1.11 18-Feb-1996  fvdl Bring in NFSv3 code by Rick Macklem (from Lite2)
 1.10 06-Nov-1995  thorpej Don't require compiling with -DDEBUG to enable debugging messages. Instead,
add a new option flag "-d", which enables debugging output. Compile all
of the code that used to be enabled with -DDEBUG unconditionally. The
amount of extra code is negligable, and all of the tests to check if
debugging is enabled were done regardless of -DDEBUG anyway. Adjust
SYSLOG() to DTRT if debugging is not enabled.
 1.9 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.8 23-Sep-1994  mycroft Changes to match POSIXication of kill(1).
 1.7 12-Aug-1994  cgd from branch (oops)
 1.6 08-Jun-1994  mycroft branches: 1.6.2;
Update from 4.4-Lite, with local changes.
 1.5 19-Nov-1993  jtc Fix spelling mistake.
 1.4 01-Aug-1993  mycroft Add RCS indentifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 09-Jan-1997  tls Import from 4.4BSD-Lite2
 1.1.1.2 13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.2.1 12-Aug-1994  cgd fix behaviour of -n
 1.19.8.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.21.2.1 03-Jul-2000  thorpej Pull up rev. 1.22:
Substitute the cross reference to portmap(8) with rpcbind(8).
 1.32.42.1 10-Nov-2011  yamt sync with head
 1.36.22.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.38.16.1 24-Aug-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1882):

usr.sbin/mountd/exports.5: revision 1.33
usr.sbin/mountd/exports.5: revision 1.34
sbin/fsirand/fsirand.8: revision 1.11
usr.sbin/mountd/exports.5: revision 1.35
usr.sbin/mountd/exports.5: revision 1.36
usr.sbin/mountd/mountd.8: revision 1.43
usr.sbin/mountd/exports.5: revision 1.37
usr.sbin/mountd/exports.5: revision 1.38

exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.
PR misc/58063

exports(5): Revert warning about `-ro' on read/write file systems.

Looks like the nfs server does enforce that after all, in spite of
the rather oblique commentary in the BUGS section about export
options being tied to local mount point options with which they must
be noncontradictory.

And there's no reason in principle it shouldn't enforce this -- it
just need to block various file system _operations_, rather than the
subtree issue where the criteria for evaluating whether operations
are allowed on particular _file handles_ are too painful to
contemplate.

PR misc/58063

exports(5): Substantially rewrite for clarity.

Hope this is an improvement over the turgid paragraphs all about
first/second/third cases of everything.
PR misc/58063

exports(5): improve mark up

fsirand(8): Fix security claims.
PR misc/58063
pick some nits

exports(5): Tiny punctuation fix in man page.
 1.40.6.1 24-Aug-2024  martin Pull up following revision(s) (requested by riastradh in ticket #807):

usr.sbin/mountd/exports.5: revision 1.33
usr.sbin/mountd/exports.5: revision 1.34
sbin/fsirand/fsirand.8: revision 1.11
usr.sbin/mountd/exports.5: revision 1.35
usr.sbin/mountd/exports.5: revision 1.36
usr.sbin/mountd/mountd.8: revision 1.43
usr.sbin/mountd/exports.5: revision 1.37
usr.sbin/mountd/exports.5: revision 1.38

exports(5), mountd(8): First pass at clarifying export semantics.

The exports(5) man page is full of walls of turgid prose that should
be itemized lists with syntax templates, and I'm itching to rewrite
it, but let's get the security-relevant warnings out of the way
first.
PR misc/58063

exports(5): Revert warning about `-ro' on read/write file systems.

Looks like the nfs server does enforce that after all, in spite of
the rather oblique commentary in the BUGS section about export
options being tied to local mount point options with which they must
be noncontradictory.

And there's no reason in principle it shouldn't enforce this -- it
just need to block various file system _operations_, rather than the
subtree issue where the criteria for evaluating whether operations
are allowed on particular _file handles_ are too painful to
contemplate.

PR misc/58063

exports(5): Substantially rewrite for clarity.

Hope this is an improvement over the turgid paragraphs all about
first/second/third cases of everything.
PR misc/58063

exports(5): improve mark up

fsirand(8): Fix security claims.
PR misc/58063
pick some nits

exports(5): Tiny punctuation fix in man page.
 1.137 05-Jun-2021  hannken Fix typo, its the element not the array ...
 1.136 04-Jun-2021  hannken Change get_exportlist() to collect all exports and emit all
exports for a single mount in one call to nfssvc(2).

Should finally fix PR kern/5844 (NFS server sends "permission denied"
while mound re-read exports).
 1.135 04-Jun-2021  hannken Restructure do_nfssvc() and simplify the left cases GT_HOST and GT_NET.

Add a helper add_export_arg() that emits a single export_args item and
does the IPv6 check.
Always use the path of the mount point for the export.
 1.134 16-Feb-2021  hannken branches: 1.134.4;
Add support for multiple exports files. This will be useful for example for
ZFS, where we have an automatically generated /etc/zfs/exports file, which
should not be edited directly.
 1.133 16-Feb-2021  hannken Split get_exportlist() into get_exportlist() and get_exportlist_one()
in preparation to support multiple input files.

No functional change intended.
 1.132 17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.131 23-Apr-2020  joerg Rename debug to mountd_debug to avoid overlap in rump tests
 1.130 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.129 23-Dec-2015  christos Split out get_net function so that it is easily testable. Restore
functionality where 1.2.3/24 -> 1.2.3.0/24 not 1.2.0.3/24 now that
getaddrinfo(3) parses old-style incomplete dotted quads as old
style addresses.
 1.128 08-Nov-2015  christos Again copying code is bad; the second copy of mountd was completely stale.
 1.127 05-Aug-2015  jnemeth PR/50125 - Jarle Greipsland -- Incorrect PID in /var/run/mountd.pid

Move call to pidfile() after daemon() so that correct (child) pid is
written to pidfile.
 1.126 04-Apr-2014  gson branches: 1.126.4;
When daemonizing, delay the parent exit until the daemon is ready to
provide service. Fixes a race that is a third possible cause of
PR misc/48282, in addition to the ones in rpc.rquotad and nfsd that
were fixed earlier.
 1.125 19-Oct-2013  christos fix unused variable warnings.
 1.124 04-Jan-2012  drochner branches: 1.124.6;
include <netipsec/ipsec.h> rather than <netinet6/ipsec.h> from userland
where possible, for consistency and compatibility to FreeBSD
(exception: KAME specific statistics gathering in netstat(1) and systat(1))
 1.123 02-Nov-2011  christos Don't document long defunct flags
 1.122 30-Aug-2011  joerg branches: 1.122.2;
ANSIfy. Use __dead.
 1.121 30-Aug-2011  plunky Apply casts to cases where xdrproc_t is expected but is not
strictly passed, for example because the second argument is
a different kind of pointer.
 1.120 11-Oct-2009  pooka make this compatible with bool.h. no functional change intended.
 1.119 17-Apr-2009  lukem Fix WARNS=4 issues (-Wshadow -Wcast-qual -Wsign-compare)
 1.118 29-Aug-2008  gmcgarry branches: 1.118.6;
No empty structure initialisation.
 1.117 21-Jul-2008  lukem Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.116 27-Feb-2008  ad branches: 1.116.4;
The ISO stuff has never worked, remove it.
 1.115 09-Feb-2008  dholland branches: 1.115.2;
Fix typo in error message
 1.114 19-Jan-2008  dholland Improve an error message. Was buried in PR 6594 from Greg A. Woods.
 1.113 13-Jan-2008  dholland Bail out cleanly if kernel nfs server support is missing, instead of
dumping core.
 1.112 16-Jan-2007  hubertf branches: 1.112.4;
* Don't include headers twice
* Remove a few trailing whitespaces
* Rearrange and join to one #if for some headers

Patch contributed by Slava Semushin <slava.semushin@gmail.com>
in private mail.
 1.111 02-Sep-2006  yamt deal with variable-sized filehandles.
 1.110 26-Aug-2006  christos Programs that had their own efuns, use libutil's now.
 1.109 31-Jul-2006  martin Make filehandles opaque to userland
 1.108 13-Jul-2006  yamt mntsrv: wrap a long line.
 1.107 13-Jul-2006  martin Fix alignement problems for fhandle_t, exposed by gcc4.1.

While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
 1.106 25-May-2006  christos Coverity CID 601: Remove unused code.
 1.105 25-May-2006  christos Coverity CID 3308: Free the head of the group list, not the tail.
 1.104 14-May-2006  christos Another uninitialized var XXX: GCC
 1.103 11-May-2006  mrg pass an array of gid_t, not int, to getgrouplist().
 1.102 23-Mar-2006  wiz Remove last Kerberos 4 support in non-3RDPARTY code.
 1.101 05-Jan-2006  yamt do_nfssvc: remove code to go up the path, as it's nonsense and
sometimes even harmful.
 1.100 04-Dec-2005  christos Don't log an error if a delete exports request is not supported. Also fix
the error message to print the reason delete exports failed.
 1.99 18-Nov-2005  yamt make -noresvmnt in DEFSET work.
 1.98 23-Sep-2005  jmmv Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
file sys/nfs/nfs_export.c. The former was becoming large and its code
is always compiled, regardless of the build options. Using the latter,
the code is only compiled in when NFSSERVER is enabled. While doing this,
also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
path and a set of export entries. At the moment it can only clear the
exports list or append entries, one by one, but it is done in a way that
allows setting the whole set of entries atomically in the future (see the
comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
that it becomes file system agnostic. In fact, all this whole thing was
done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
exports initialization; done internally by the kernel when initializing
the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
subsystems can run arbitrary code upon receipt of specific VFS events.
At the moment, this only provides support for unmount and is used to
destroy NFS exports lists from the file systems being unmounted, though it
has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.
 1.97 19-Sep-2005  wiz Sync usage with man page.
 1.96 19-Sep-2005  christos Allow setting the reserved port we bind, witb -p. I've had this patch for
3 months stashed...
 1.95 02-Jun-2005  lukem appease gcc -Wuninitialized
 1.94 27-Apr-2005  perseant Allow exports of LFS filesystems.
 1.93 15-Mar-2005  briggs branches: 1.93.2;
If -d (debug mode) is specified on the command line, include
LOG_PERROR in openlog() to send log output to stderr as well.
Suggested by Darrin Jewell.
 1.92 17-Jan-2005  wiz Add -n and -N to usage.
 1.91 14-Jan-2005  thorpej Don't exit if we can't read the exports file; we can still reload it
after a SIGHUP.
 1.90 14-Jan-2005  thorpej Add a -N option that causes all exports to have "-noresvport -noresvmnt"
added to them.
 1.89 16-Nov-2004  itojun NI_WITHSCOPEID was not picked up by IETF standardization process.
 1.88 30-Oct-2004  dsl Add (unsigned char) cast to ctype functions
 1.87 21-Apr-2004  christos Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
 1.86 05-Jan-2004  jmmv Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
 1.85 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22366, verified by myself.
 1.84 16-May-2003  christos - zero out the sockaddr before passing it to the kernel.
- print the reason of the export failure.
 1.83 17-Apr-2003  lukem clear errno before strtol() if we're going to test it for ERANGE afterwards
 1.82 06-Jan-2003  wiz through, not throught.
 1.81 08-Nov-2002  fvdl Use a non-blocking SVC for TCP connections.
 1.80 21-Sep-2002  christos PR/15692: Love: specify ipsec policy for mountd.
 1.79 29-Nov-2001  christos branches: 1.79.2;
use struct uucred.
 1.78 16-Oct-2001  itojun s/IPV6_BINDV6ONLY/IPV6_V6ONLY/ to follow changes made yesterday.
 1.77 24-Apr-2001  fvdl Don't allow -mask for v6 addresses, otherwise there could be confusion
leading to incorrect masks being used. Problem pointed out by
Martin Blapp (mb@imp.ch) who ported the code to FreeBSD, fixed
differently for the time being.
 1.76 19-Jul-2000  enami Free the storage allocated by fparseln when skipping an empty line.
 1.75 16-Jul-2000  itojun always check getnameinfo errors. pass NI_WITHSCOPEID to
getnameinfo if declared.
 1.74 16-Jul-2000  itojun remove debug printf().
 1.73 16-Jul-2000  itojun fatal typo: need listen(tcp6sock).
 1.72 27-Jun-2000  thorpej Add some extra instrumentation in the `debug' case.
 1.71 21-Jun-2000  enami Avoid null pointer dereference; the `addrp' is NULL if a mount point
is default exported.
 1.70 19-Jun-2000  fvdl branches: 1.70.2;
Don't try to push v6 addresses into the kernel when they're not supported.
 1.69 16-Jun-2000  hannken Fix bad registration of mountd/tcp/v3 on port of mountd/udp/v3.
 1.68 13-Jun-2000  itojun avoid memory leak and duplicated free.
 1.67 10-Jun-2000  itojun check scope id when we compare two AF_INET6 sockaddrs.
XXX still not sure if it is enough, so I do not remove warning from
documentation yet.
 1.66 10-Jun-2000  itojun support IPv6 addresses start with hex digit or colon (like ::1).
in manpages, warn that scoped IPv6 addresses are not supported.
 1.65 10-Jun-2000  itojun bark if too-big-masklen on "-network prefix/masklen".
 1.64 09-Jun-2000  fvdl Make address handling in mountd more generic, to allow IPv6 mounting.
Add IPv6 example to exports manpage. Allow /prefix notation for
networks.
 1.63 03-Jun-2000  fvdl Fix last arg to clnt_broadcast.
 1.62 16-Feb-2000  enami branches: 1.62.2;
Backout revision 1.58-1.61; Since we currently only have a way to unexport
per mount point, the way ``try to export and unexport an unnecessary
mount point later'' may leave unwanted information in the kernel, and
doesn't work if a mount point is default exported or publically exported.

To fix the race condtion, we need another way.
 1.61 16-Feb-2000  dante Fix a bug which caused mountd to don't work at all
 1.60 15-Feb-2000  enami Fix path component parsing bug that I've introduced in previous commit.
 1.59 03-Feb-2000  enami If failed to export some mount point, unexport and try again. This is a
workaround to fix the bug that mountd fails to export the currently exported
mount point if it is exported everyone or only export option is changed.
 1.58 14-Nov-1999  sommerfeld After some light testing, it worked for me, so...
Commit mrg's fix from pr8791: don't un-export filesystems which are just going
to be re-exported; instead, do additions, then deletions.
 1.57 10-Sep-1999  jdolecek branches: 1.57.4;
Add ntfs to the list of exportable filesystem types, now that's it's actually
exportable
 1.56 25-Aug-1999  mjl Reorder arguments to error message so the message actually makes
sense. Closes PR/ by Martin Berger <>.
 1.55 16-Aug-1999  simonb Spell "privilege" correctly (correct spelling from Jonathan Stone).
 1.54 09-Aug-1999  perseant Add nullfs, umapfs, unionfs to the list of exportable filesystem types, now
that these FSs are in fact exportable. (Left over from PR 5603.)
 1.53 06-Jun-1999  thorpej Use pidfile(3).
 1.52 12-Jan-1999  christos branches: 1.52.2;
iPr/6121: Mycroft, diagnostics messages were not helpful.
 1.51 07-Nov-1998  christos PR/6409: Martin Husemann: /etc/exports parsing breaks if file has empty lines.
 1.50 02-Nov-1998  christos free line returned by fparseln().
 1.49 01-Nov-1998  christos Initialize struct statfs properly while parsing each line.
 1.48 29-Oct-1998  christos fix the size_t printf and initialize lineno.
 1.47 29-Oct-1998  christos - KNF, remove extraneous casts
- split up parsing code
- centralize malloc checking
- use fparseln.
 1.46 29-Oct-1998  ross Fix two ancient bugs involving netgroups where mountd may try to free(3)
a string constant in one place and a null char ** in another. Why the
recent rather minor changes by Christos uncovered these bugs after so much
time is a mystery to me.
 1.45 07-Oct-1998  christos - Add some MIT KRB/NFS pieces, someday I'll commit the rest.
- fix prototypes for signal handlers.
- use constants from rpcsvc/mount.h, instead the RPCMNT crap.
- don't core-dump when finding a netgroup that has no host part,
complain instead
 1.44 13-Jul-1998  mrg - standardise some option processing
- don't bother copying the exports filename, it isn't necessary
- unblock SIGHUP after returning "mount refuse" error
- KNF, and remove the singular register
 1.43 01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.42 21-Feb-1998  fvdl When getting an unmount request from a non-reserved port, don't loop
forever.
 1.41 28-Aug-1997  lukem branches: 1.41.2;
update for WARNS?=1
check getopt() against -1 not EOF
 1.40 28-Aug-1997  lukem Prevent info gathering attacks by returning EACCES when a directory
doesn't exist as well as when there aren't enough privileges.
As highlighted on BUGTRAQ.
 1.39 13-Aug-1997  bouyer Add MOUNT_EXT2FS to the list of filesystem which need to be deleted from
the export list in the kernel when re-reading /etc/exports.
 1.38 24-Jun-1997  fvdl Enable exporting filesystems the WebNFS way. Add the -public, -webnfs
and -index option for that purpose.
 1.37 30-Mar-1997  fvdl Split handling reserved port handling for NFS rpcs and mount rpcs up;
-noresport -> -noresvport, and new option: -noresvmnt

Include a warning in the exports manual page on how -alldirs does
not guarantee that all accesses from a client stay below the mounted
subdirectory.
 1.36 23-Mar-1997  fvdl Checking for the use reserved ports by clients (both for mount/umount
and individual NFS requests) now depends on the '-noresport' option
in the exports file. Checking for reserved ports is the default.

The -n option has become obsolete but is maintained for backwards
compatibility.
 1.35 07-Oct-1996  cgd u_long -> u_int32_t when dealing with address lists returned by the resolver.
 1.34 28-Sep-1996  thorpej Correct spelling of `successful'.
From Peter Seebach <seebs@solon.com>, PR #2783.
 1.33 19-Sep-1996  cgd declare the variable "bad", used to hold errors, as a long, so it can
safely be xdr_long()ed.
 1.32 22-May-1996  mrg make some errors more verbose. inspired from pr#1509
 1.31 18-Feb-1996  fvdl branches: 1.31.4;
Bring in NFSv3 code by Rick Macklem (from Lite2)
 1.30 28-Nov-1995  jtc merge in changes from 1.1 release branch
 1.29 16-Nov-1995  thorpej Clear the mount argument list before filling it in. This is the patch
from Michael Hitch in pr#1722. As noted in the pr, this may not be the
most correct fix, but at least it prevents crashes.
 1.28 06-Nov-1995  thorpej Don't require compiling with -DDEBUG to enable debugging messages. Instead,
add a new option flag "-d", which enables debugging output. Compile all
of the code that used to be enabled with -DDEBUG unconditionally. The
amount of extra code is negligable, and all of the tests to check if
debugging is enabled were done regardless of -DDEBUG anyway. Adjust
SYSLOG() to DTRT if debugging is not enabled.
 1.27 19-Aug-1995  chopps branches: 1.27.2;
add adosfs.
 1.26 22-Jun-1995  mycroft Allow exporting regular files.
 1.25 18-Jun-1995  cgd don't assume f_fstypename is larger than MFSNAMELEN or is nul-terminated
 1.24 09-Jun-1995  mycroft Fix def_anon initializer.
 1.23 07-Jun-1995  cgd typeof(timeval.tv_sec) != time_t
 1.22 02-Jun-1995  mycroft Set cr_gid properly, and adjust for getgrouplist() change.
 1.21 28-May-1995  jtc <sys/syslog.h> -> <syslog.h>
 1.20 21-Mar-1995  mycroft Use POSIX signals.
 1.19 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.18 18-Dec-1994  cgd -Wall cleanups from Jim Jegers
 1.17 31-Oct-1994  cgd deal with RPC protos.
 1.16 15-Oct-1994  mycroft Register a TCP service.
 1.15 23-Sep-1994  mycroft Eliminate uses of some obsolete functions.
 1.14 12-Aug-1994  cgd from branch (oops)
 1.13 18-Jul-1994  ws Make msdosfs exportable
 1.12 08-Jun-1994  mycroft branches: 1.12.2;
Update from 4.4-Lite, with local changes.
 1.11 06-Jan-1994  ws Try getting the filehandle of the exported path when reading /etc/exports
 1.10 06-Jan-1994  deraadt allow mounting/exporting of NFS files (not just directories) for diskless
swap. thanks to <ws@TooLs.DE> and <roland@frob.com>
 1.9 09-Sep-1993  ws Allow exporting whole directory trees with -alldir option in /etc/exports
 1.8 07-Sep-1993  ws Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
 1.7 25-Aug-1993  brezak Fix rcs headers
 1.6 25-Aug-1993  brezak Add code so inetd can start mountd. Reread exports if changed more frequently. Cleanup to use rpcsvc headers.
 1.5 01-Aug-1993  mycroft Add RCS identifiers.
 1.4 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.3 22-Mar-1993  cgd added rcs ids to all files
 1.2 21-Mar-1993  cgd after 0.2.2 "stable" patches applied
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 09-Jan-1997  tls Import from 4.4BSD-Lite2
 1.1.1.2 13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12.2.3 15-Oct-1994  mycroft Update from trunk.
 1.12.2.2 12-Aug-1994  cgd fix behaviour of -n
 1.12.2.1 19-Jul-1994  cgd update from trunk, per mycroft
 1.27.2.2 16-Nov-1995  thorpej Update from trunk; clear the mount args before filling in.
 1.27.2.1 01-Nov-1995  jtc complete ufs -> ffs change (From John Kohl; PR #1403)
 1.31.4.1 05-Dec-1996  rat Pullup from trunk by request from Chris G Demetriou <cgd@NetBSD.ORG>

>1.33 fixed a problem on the Alpha where mountd would crash if an error
>ever had to be returned in response to a mount request.
>
>1.35 fixed a problem on the Alpha where host access lists would not
>work, and would improperly deny access to some hosts specified in the
>access list.
 1.41.2.1 14-Jul-1998  mellon Pull up 1.42 (cgd)
 1.52.2.5 18-Feb-2000  he Undo pull-up of revision 1.58 (requested by enami):
The fix for the reexportation problem caused other problems,
and the original problem is minor (a temporary race condition).
 1.52.2.4 18-Feb-2000  he Undo pull-up of revision 1.59 (requested by enami and fvdl):
The fix for the reexportation problem caused other problems,
and the original problem is minor (a temporary race condition).
 1.52.2.3 04-Feb-2000  he Pull up revision 1.59 (via patch, requested by enami):
Fix reexportation problem when options are being used or modified,
or if export point was globally exported.
 1.52.2.2 21-Nov-1999  he Pull up revision 1.56 (requested by mjl):
Reorder arguments to error message so the message actually makes
sense.
 1.52.2.1 20-Nov-1999  he Pull up revision 1.58 (via patch, requested by sommerfeld):
Avoid spurious inaccessibility of exported file systems while
mountd is restarted or told to reload the exports file, fixing
PR#8791.
 1.57.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.62.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.70.2.7 10-Feb-2002  he Pull up revision 1.79 (requested by windsor):
Widen cr_ref to prevent overflow.
(Missed in previous round of commits on this issue.)
 1.70.2.6 01-May-2001  he Pull up revision 1.77 (requested by fvdl):
Fix some minor security-related issues.
 1.70.2.5 22-Jul-2000  enami Pullup revision 1.76 (requested by thorpej):
Free the storage allocated by fparseln when skipping an empty line.
 1.70.2.4 17-Jul-2000  itojun pullup 1.72 -> 1.74 (approved by releng-1-5)
fatal typo: need listen(tcp6sock).
 1.70.2.3 27-Jun-2000  thorpej Ooops, merge botch in last.
 1.70.2.2 27-Jun-2000  thorpej Pull up rev. 1.72:
Add some extra instrumentation in the `debug' case.
 1.70.2.1 21-Jun-2000  enami Pull up rev. 1.71, requested by Jason R. Thorpe:
Avoid null pointer dereference; the `addrp' is NULL if a mount point
is default exported.
 1.79.2.1 06-Jan-2003  jmc Pull up revisions 1.80-1.81 (hand patched) (requested by fvdl in ticket #1037)
Use a non-blocking SVC for TCP connections.
 1.93.2.1 07-May-2005  tron Apply patch (requested by perseant in ticket #242):
* fsck_lfs buffer cache fixes, including PR #29151
* Change fsck_lfs phase 0 message to reflect reality
* fsck_lfs: check phase 5 (cleanerinfo accounting) even on
roll-forward
* Keep better track of the free list during roll-forward, avoiding
a core dump
* Improve hash table use for fsck_lfs buffer and vnode cache
* Document fsck_lfs flag -f, and implement -q
* Add resize_lfs, including kernel support
* Add LFS to mountd's list of exportable filesystem types
* Make the LFS lkm work again [christos@]
* Add MP locking to the LFS kernel subsystem
* Fix pager_map deadlock in lfs_putpages()
* Avoid incomplete file extension that looks like "partial
truncation" to fsck
* Use lfs_malloc for cleaner malloc, since the cleaner often runs
in low-memory conditions.
* Use splay trees, not hash table, to track page allocation for
write.
* Fix mkdir panic on full fs
* Fix page accounting leak by counting differently.
* Use rightly named structure for lfs_getattr [skrll@]
* Cosmetic changes for readability.
 1.112.4.1 23-Mar-2008  matt sync with HEAD
 1.115.2.1 24-Mar-2008  keiichi sync with head.
 1.116.4.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.118.6.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.122.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.122.2.2 17-Apr-2012  yamt sync with head
 1.122.2.1 10-Nov-2011  yamt sync with head
 1.124.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.126.4.1 06-Aug-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #936):
usr.sbin/mountd/mountd.c: revision 1.127
PR/50125 - Jarle Greipsland -- Incorrect PID in /var/run/mountd.pid
Move call to pidfile() after daemon() so that correct (child) pid is
written to pidfile.
 1.134.4.1 06-Jun-2021  cjep sync with head
 1.4 23-Apr-2020  joerg Rename debug to mountd_debug to avoid overlap in rump tests
 1.3 29-Dec-2015  pgoyette Add missing $NetBSD$ tag, and copy License/Copyright from mountd.c

OK christos@
 1.2 24-Dec-2015  christos fix whitespace
 1.1 23-Dec-2015  christos Split out get_net function so that it is easily testable. Restore
functionality where 1.2.3/24 -> 1.2.3.0/24 not 1.2.0.3/24 now that
getaddrinfo(3) parses old-style incomplete dotted quads as old
style addresses.
 1.8 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22366, verified by myself.
 1.7 06-Jun-1999  thorpej Use pidfile(3).
 1.6 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.5 08-Jun-1994  mycroft Update from 4.4-Lite, with local changes.
 1.4 01-Aug-1993  mycroft Add RCS identifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources

RSS XML Feed