Home | History | Annotate | Download | only in nfsd
History log of /src/usr.sbin/nfsd/nfsd.c
RevisionDateAuthorComments
 1.74  27-Nov-2021  rillig usr.sbin: remove unnecessary CONSTCOND, lint no longer needs it

Since 2021-01-31, lint no longer requires a CONSTCOND comment in a
do-while-0 statement since this is a common code pattern, especially in
statement-like macros.

sed -i -E 's,} while \(/\* ?CONSTCOND ?\*/ ?0\),} while (0),' */*.[ch]
 1.73  17-Sep-2020  christos Revert previous, don't write to the parent too early because it can exit
before the child is ready to serve. The child will write in daemon2_detach()
when it is ready.
While here:
- return EXIT_{SUCCESS,FAILURE)
- check syscall error against -1
 1.72  26-Aug-2020  gson Fix indentation
 1.71  26-Aug-2020  gson Remove trailing whitespace
 1.70  26-Aug-2020  gson Remove superfluous empty line
 1.69  17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.68  23-Aug-2016  christos Don't exit if we have udp only sockets, instead wait for all the workers
to terminate.
 1.67  22-Aug-2016  christos PR/51437: Hauke Fath: write a byte to the socket so that nfsd -u does not die.
 1.66  17-Mar-2016  christos Expose debugging
 1.65  23-Dec-2015  christos Rump-ify.
 1.64  12-Sep-2015  joerg Typo
 1.63  05-Dec-2014  christos Memset the whole cfg array, not piecemeal because otherwise you'll end
up with random data depending on the options set.
XXX: pullup 7
 1.62  29-Mar-2014  gson branches: 1.62.4;
When daemonizing, delay the parent exit until the daemon is
ready to provide service. Fixes one of the race conditions
of PR misc/48282.
 1.61  15-Aug-2012  joerg branches: 1.61.2;
Fix memset usage.
 1.60  14-Aug-2012  christos use freeaddrinfo()
 1.59  13-Aug-2012  christos Let nfsd behave like all other programs: tries to use both inet4 and inet6
by default and both udp and tcp: -4 uses only inet4, -6 uses only inet6,
-t uses only tcp, -u uses only udp. For compatibility, we detect old option
usage, we warn, and DTRT.
 1.58  30-Aug-2011  joerg branches: 1.58.2;
static + ANSIfy + __dead
 1.57  21-Dec-2009  christos PR/42486: Ed Ravin nfsd sometimes exits prematurely during port-scan fix
from freebsd bin 61084 applied (preserving errno properly). The accept
code should be merged.
 1.56  21-Nov-2008  pooka Silly-rename child to worker (no pun intended .. maybe).
nfsd is threading these days.
 1.55  21-Nov-2008  pooka use varargs macro to make -DDDEBUG compile
 1.54  21-Jul-2008  lukem branches: 1.54.4;
Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.53  17-Mar-2008  yamt branches: 1.53.4;
remove MAXNFSDCNT.
 1.52  27-Feb-2008  ad The ISO stuff has never worked, remove it.
 1.51  11-Jul-2007  yamt branches: 1.51.4; 1.51.8;
after switching to threads:
- g/c SIGCHLD handler.
- pthread_setname_np rather than setproctitle.

the patch provided by Andrew Doran.
 1.50  10-Jul-2007  yamt use pthread_create instead of fork.
 1.49  07-Oct-2006  elad branches: 1.49.2;
PR/18906: roskens at elfin dot net: misc. select() to poll() updates.

Adapted to -current by myself, thanks for the patch!
 1.48  25-Aug-2006  hubertf In two TCP error cases, say that it's TCP, not UDP.
Pointed out by pee- on IRCnet #NetBSD.
 1.47  09-May-2006  mrg branches: 1.47.2;
change (mostly) int to socklen_t. GCC 4 doesn't like that int and
socklen_t are different signness.
 1.46  23-Mar-2006  dogcow Since KerberosIV has gone away, so should NFSKERB.
 1.45  02-Jun-2005  lukem appease gcc -Wuninitialized
 1.44  06-Dec-2003  jonathan Increase userspace (/usr/sbin/nfsd) limit on nfsd count from 20 to 1024.

Jason Thorpe suggests removing the limit altogether; anyone who needs
more than 1024 nfsds can still do "nfsd -n 1024" multiple times, and
this provides _some_ saftey-net against nfsd (issued by root) from
eating all the avaiable process slots.
 1.43  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.42  23-Jul-2003  itojun include des.h, not kerberosIV/des.h
 1.41  24-Sep-2002  mycroft Fix PR 18391, from Geoff Wing.
 1.40  23-Sep-2002  mycroft null commit
 1.39  23-Sep-2002  itojun poll.h, not sys/poll.h
 1.38  20-Sep-2002  mycroft Set fd of unused pollfd entries to -1.
 1.37  20-Sep-2002  mycroft select() -> poll()
 1.36  16-Oct-2001  itojun s/IPV6_BINDV6ONLY/IPV6_V6ONLY/ to follow changes made yesterday.
 1.35  16-Jan-2001  cgd comment or delete text after CPP directives.
 1.34  11-Jan-2001  lukem minor knf
 1.33  11-Jan-2001  lukem remove unnecessary ":" in openlog ident
 1.32  09-Jun-2000  fvdl Update to use ti-rpc interface. Add -6 flag for IPv6 usage. This flag
will not cause an error if IPv6 is not available, so that things work
on v4 only kernels.
 1.31  31-Aug-1999  soren branches: 1.31.6;
Per the documented behaviour in the man page, default to
serving UDP requests if none of the -t or -u options are
given.

Previously, nfsd wouldn't actually do anything at all
if it was not told to do UDP and/or TCP, which could be
confusing.

Note that at least Solaris and IRIX default to both TCP
and UDP when nfsd is run without options. This might be
useful for NetBSD as well.

Fixes PR bin/7358.
 1.30  07-Jun-1999  thorpej Re-indent some of the NFSKERB code, to make the entire loop its in easier
to read.
 1.29  07-Jun-1999  thorpej Add a missing close bracket, in some currently-unused code.
 1.28  26-Mar-1999  lukem branches: 1.28.2;
fix comments
 1.27  25-Jan-1999  fvdl Do not block SIGTERM, so that nfsd exits gracefully at shutdown.
 1.26  12-Jul-1998  mrg minor KNF.
 1.25  03-Feb-1998  perry change includes to fix compiler warning
 1.24  18-Oct-1997  lukem use memcmp/memset/memmove instead of bcmp/bzero/bcopy
 1.23  17-Oct-1997  lukem WARNSify
 1.22  08-Oct-1997  kleink getopt(3) usage police: EOF is deprecated, check against -1.
 1.21  05-Sep-1997  fvdl Add missing argument to 2 warnx() calls. From <msaitoh@spa.is.uec.ac.jp>,
PR 4086.
 1.20  16-Sep-1996  mycroft Clear the sin_zero fields explicitly.
 1.19  18-Feb-1996  mycroft branches: 1.19.4;
Reorder #includes.
 1.18  18-Feb-1996  fvdl Bring in NFSv3 code by Rick Macklem (from Lite2).
 1.17  28-May-1995  jtc <sys/syslog.h> -> <syslog.h>
 1.16  18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.15  18-Oct-1994  mycroft Better patch for the previous.
 1.14  18-Oct-1994  mycroft Don't wedge in an infinite loop if NFSSERVER is not configured.
 1.13  18-Oct-1994  mycroft Change process titles to be less redundant.
 1.12  23-Sep-1994  mycroft Eliminate uses of some obsolete functions.
 1.11  08-Jun-1994  mycroft branches: 1.11.2;
Update from 4.4-Lite, with local changes.
 1.10  14-Apr-1994  cgd use setproctitle
 1.9  05-Dec-1993  deraadt should bzero automatic sockaddr's before use
 1.8  05-Oct-1993  cgd use syslog to report errors Vernon Schryver (vjs@calcite.rhyolite.com)
 1.7  01-Aug-1993  mycroft Add RCS identifiers.
 1.6  02-Jun-1993  cgd update to use PS_STRINGS to set proc title
 1.5  11-May-1993  glass now you too can partake in this offense against any higher being there
may be. basically to find out whether nfsserver support is in the kernel
earlier and thus avoid the loop problem, call nfssvc() with a bogus fd and
see whether you get a -1 return value or a SIGSYS...
 1.4  10-Apr-1993  glass doesn't core when nfsserver support is not in kernel
 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.11.2.1  18-Oct-1994  cgd from trunk.
 1.19.4.1  10-Dec-1996  mycroft From trunk:
Clear the sin_zero fields explicitly.
 1.28.2.1  29-Sep-1999  he Pull up revision 1.31 (requested by soren):
Serve UDP requests by default if neither UDP nor TCP is specified,
as already documented in the man page. Fixes PR#7358.
 1.31.6.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.47.2.1  02-Sep-2006  riz Pull up following revision(s) (requested by hubertf in ticket #102):
usr.sbin/nfsd/nfsd.c: revision 1.48
In two TCP error cases, say that it's TCP, not UDP.
Pointed out by pee- on IRCnet #NetBSD.
 1.49.2.1  22-Mar-2011  snj Pull up following revision(s) (requested by bouyer in ticket #1414):
usr.sbin/nfsd/nfsd.c: revision 1.57 via patch
PR/42486: Ed Ravin nfsd sometimes exits prematurely during port-scan fix
from freebsd bin 61084 applied (preserving errno properly). The accept
code should be merged.
 1.51.8.1  24-Mar-2008  keiichi sync with head.
 1.51.4.1  23-Mar-2008  matt sync with HEAD
 1.53.4.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.54.4.1  07-Jan-2011  riz Pull up following revision(s) (requested by bouyer in ticket #1515):
usr.sbin/nfsd/nfsd.c: revision 1.57
PR/42486: Ed Ravin nfsd sometimes exits prematurely during port-scan fix
from freebsd bin 61084 applied (preserving errno properly). The accept
code should be merged.
 1.58.2.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.58.2.1  30-Oct-2012  yamt sync with head
 1.61.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.62.4.1  14-Apr-2015  snj Pull up following revision(s) (requested by christos in ticket #687):
usr.sbin/nfsd/nfsd.c: revision 1.63
Memset the whole cfg array, not piecemeal because otherwise you'll end
up with random data depending on the options set.

RSS XML Feed