History log of /freebsd-10.1-release/usr.sbin/rpc.statd/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


231118 07-Feb-2012 dim

Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor
set via ${CPP} is used, instead of always using hardcoded /usr/bin/cpp.

MFC after: 1 week


222627 02-Jun-2011 rmacklem

Fix the nfs related daemons so that they don't intermittently
fail with "bind: address already in use". This problem was reported
to the freebsd-stable@ mailing list on Feb. 19 under the subject
heading "statd/lockd startup failure" by george+freebsd at m5p dot com.
The problem is that the first combination of {udp,tcp X ipv4,ipv6}
would select a port# dynamically, but one of the other three combinations
would have that port# already in use. The patch is somewhat involved
because it was requested by dougb@ that the four combinations use the
same port# wherever possible. The patch splits the create_service()
function into two functions. The first goes as far as bind(2) in a
loop for up to GETPORT_MAXTRY - 1 times, attempting to use the same port#
for all four cases. If these attempts fail, the last attempt allows
the 4 cases to use different port #s. After this function has succeeded,
the second function, called complete_service(), does the rest of what
create_service() did.
The three daemons mountd, rpc.lockd and rpc.statd all have a
create_service() function that is patched in a similar way. However,
create_service() has non-trivial differences for the three daemons
that made it impractical to share the same functions between them.

Reviewed by: jhb
MFC after: 2 weeks


201390 02-Jan-2010 ed

The last big commit: let usr.sbin/ use WARNS=6 by default.


180025 26-Jun-2008 dfr

Re-implement the client side of rpc.lockd in the kernel. This implementation
provides the correct semantics for flock(2) style locks which are used by the
lockf(1) command line tool and the pidfile(3) library. It also implements
recovery from server restarts and ensures that dirty cache blocks are written
to the server before obtaining locks (allowing multiple clients to use file
locking to safely share data).

Sponsored by: Isilon Systems
PR: 94256
MFC after: 2 weeks


177963 06-Apr-2008 kan

Fix apparent mis-paste in previous check-in by author.


177950 06-Apr-2008 dfr

Call listen(2) on bound tcp sockets before passing them to svc_tli_create.


173411 07-Nov-2007 matteo

Check the correct variables for malloc failures.

Submitted by: Michiel Boland <michiel@boland.org>


173263 01-Nov-2007 matteo

Add the -h <bindip> option to rpc.statd, similar to the one in nfsd(8)
and in mountd(8)

-h bindip
Specify specific IP addresses to bind to for TCP and UDP requests.
This option may be specified multiple times. If no -h option is
specified, rpc.statd will bind to INADDR_ANY. Note that when specifying
IP addresses with -h, rpc.statd will automatically add 127.0.0.1 and if
IPv6 is enabled, ::1 to the list.

(coming for rpc.lockd too)

PR: bin/98500
MFC after: 1 week


171816 13-Aug-2007 truckman

If the mmap() call in rpc.statd fails, rpc.statd prints a warning
message and then dumps core because the subsequent code assumes that
mmap() succeeded. Since rpc.statd does not have fallback code to
implement the functionality needed to operate on the status file if
it is not memory mapped, rpc.statd should use err() to force the process
to exit if the mmap() call fails.

PR: bin/115430 (mmap() failure previously fixed in statd.c 1.15)
Approved by: re (kensmith)
MFC after: 1 week


171733 05-Aug-2007 truckman

The call to init_file() needs to be moved outside the loop in statd.c,
otherwise mmap() gets called multiple times, which eventually fails due
to address space exhaustion on i386.

Approved by: re (kensmith)
MFC after: 1 week


168325 03-Apr-2007 matteo

Add the "-p" option, which allows to specify a port which the daemon
should bind to.

PR: bin/94920
Reviewed by: alfred@
MFC after: 1 week


168276 02-Apr-2007 matteo

Make rpc.statd INET* indipendent by converting sockaddr_in structures
to sockaddr ones and using svc_getrpccaller instead of svc_getcaller.
A similar patch was committed to rpc.lockd back in 2002 .

PR: bin/42004
MFC after: 1 week


162263 13-Sep-2006 charnier

compile under WARNS=6


161228 11-Aug-2006 thomas

(sm_mon_1_svc): Fix debugging output: when establising a monitoring
request, correctly report the location (usually localhost) to which
a callback will be made when a notification is received for the
monitored host. Previsouly, the name of the monitored host was
reported instead.

MFC after: 2 weeks


140442 18-Jan-2005 ru

Sort sections.


131500 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


127861 04-Apr-2004 charnier

Add FBSDID. Use getopt(3).


121560 26-Oct-2003 peter

Deal with xdrproc_t casts. Make these compile cleanly with WARNS=2
(but I haven't turned it on)


113091 04-Apr-2003 obrien

style.Makefile(5)


109363 16-Jan-2003 mbr

Implement nonblocking tpc-connections. rpcgen -m does still
produce backcompatible code.

Reviewed by: rwatson
Obtained from: NetBSD
MFC after: 1 day


100126 15-Jul-2002 alfred

use getaddrinfo() instead of gethostbyname().

Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>


100125 15-Jul-2002 alfred

Nuke unused variable.


100120 15-Jul-2002 alfred

Port to TI/RPC and/or IPV6.

Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>


99968 14-Jul-2002 charnier

The .Nm utility


99804 11-Jul-2002 alfred

mark unused variable.


99803 11-Jul-2002 alfred

conditionally set WARNS via ?=.


99798 11-Jul-2002 alfred

make mostly WARNS=4 clean.
constify, mark unsued args, fixup prototypes.


99795 11-Jul-2002 alfred

Log the IP of the machine if an invalid host is passed over the wire.

PR: bin/29406


99791 11-Jul-2002 alfred

Fix return values in the sm_notify_1 service routine to return an answer
most of the time (unless fork fails). This should fix the problem where
FreeBSD won't respond to a remote host and therefor the remote hosts
tries indefinitely to contact the FreeBSD hosts thereby irritating the
system administrator.

PR: misc/27810


99790 11-Jul-2002 alfred

Fix syslog format errors introduced in 1.6.


99789 11-Jul-2002 alfred

add includes for inet_ntoa prototype.


99787 11-Jul-2002 alfred

include string.h for strcmp(3) prototype.


99786 11-Jul-2002 alfred

include stdlib.h for exit(3) prototype.


99783 11-Jul-2002 alfred

Do not allow unsafe characters in monitored hostnames.

This is modified version of the fix posted in the PR, I've taken Wollman's
advice and used strvis(3) to properly show invalid hostnames.

PR: bin/39815


92970 22-Mar-2002 alfred

rename 'enum res' and 'struct status' to 'enum sm_res' and 'struct sm_status'
to avoid -Wshadow warnings in consumers of its generated header files.


80029 20-Jul-2001 obrien

Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.


79755 15-Jul-2001 dd

Remove whitespace at EOL.


74816 26-Mar-2001 ru

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


74532 20-Mar-2001 ru

Set the default manual section for usr.sbin/ to 8.


74499 20-Mar-2001 alfred

Included in the updated version of tirpc's sm_inter.x Sun added the
SM_NOTIFY procedure.

Remove our hand-coded one as it was causing world breakage for
worlds compiled with NOSHARED=yes because the static linker is a
bit less forgiving (or not as broken as) our dynamic linker.

Add $FreeBSD$ while I'm here.

Pointed out by: bde


74462 19-Mar-2001 alfred

Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and
associated changes that had to happen to make this possible as well as
bugs fixed along the way.

Bring in required TLI library routines to support this.

Since we don't support TLI we've essentially copied what NetBSD
has done, adding a thin layer to emulate direct the TLI calls
into BSD socket calls.

This is mostly from Sun's tirpc release that was made in 1994,
however some fixes were backported from the 1999 release (supposedly
only made available after this porting effort was underway).

The submitter has agreed to continue on and bring us up to the
1999 release.

Several key features are introduced with this update:
Client calls are thread safe. (1999 code has server side thread
safe)
Updated, a more modern interface.

Many userland updates were done to bring the code up to par with
the recent RPC API.

There is an update to the pthreads library, a function
pthread_main_np() was added to emulate a function of Sun's threads
library.

While we're at it, bring in NetBSD's lockd, it's been far too
long of a wait.

New rpcbind(8) replaces portmap(8) (supporting communication over
an authenticated Unix-domain socket, and by default only allowing
set and unset requests over that channel). It's much more secure
than the old portmapper.

Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded
to support TI-RPC and to support IPV6.

Umount(8) is also fixed to unmount pathnames longer than 80 chars,
which are currently truncated by the Kernel statfs structure.

Submitted by: Martin Blapp <mb@imp.ch>
Manpage review: ru
Secure RPC implemented by: wpaul


70403 27-Dec-2000 ru

Prepare for mdoc(7)NG.


68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


51948 05-Oct-1999 marcel

Undo previous change.

Submitted by: bde


51794 29-Sep-1999 marcel

sigset_t change (part 5 of 5)
-----------------------------

Most of the userland changes are in libc. For both the alpha
and the i386 setjmp has been changed to accomodate for the
new sigset_t. Internally, libc is mostly rewritten to use the
new syscalls. The exception is in compat-43/sigcompat.c

The POSIX thread library has also been rewritten to use the
new sigset_t. Except, that it currently only handles NSIG
signals instead of the maximum _SIG_MAXSIG. This should not
be a problem because current applications don't use any
signals higher than NSIG.

There are version bumps for the following libraries:
libdialog
libreadline
libc
libc_r
libedit
libftpio
libss

These libraries either a) have one of the modified structures
visible in the interface, or b) use sigset_t internally and
may cause breakage if new binaries are used against libraries
that don't have the sigset_t change. This not an immediate
issue, but will be as soon as applications start using the
new range to its fullest.

NOTE: libncurses already had an version bump and has not been
given one now.

NOTE: doscmd is a real casualty and has been disconnected for
the moment. Reconnection will eventually happen after
doscmd has been fixed. I'm aware that being the last one
to touch it, I'm automaticly promoted to being maintainer.
According to good taste this means that I will receive a
badge which either will be glued or mechanically stapled,
drilled or otherwise violently forced onto me :-)

NOTE: pcvt/vttest cannot be compiled with -traditional. The
change cause sys/types to be included along the way which
contains the const and volatile modifiers. I don't consider
this a solution, but more a workaround.


50479 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48791 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


35910 10-May-1998 bde

Removed bogus dependencies of generated .c files on generated headers.


34082 06-Mar-1998 bde

Don't use the FreeBSD misfeature DPSRCS or give explicit dependencies
on generated headers. Just put generated headers in SRCS so that
bsd.*.mk can generate better dependencies.


30376 13-Oct-1997 charnier

Use err(3). Add usage() and #includes.


26053 23-May-1997 asami

Typo fix: ${.DESTDIR} -> ${DESTDIR}.

Reviewed by: bde


23929 16-Mar-1997 mpp

Typo police.

Partially obtained from: NetBSD PR# 3333


22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21880 20-Jan-1997 wosch

Sort cross references.


21786 16-Jan-1997 alex

Sweep through the tree fixing mmap() usage:

- Use MAP_FAILED instead of the constant -1 to indicate
failure (required by POSIX).
- Removed flag arguments of '0' (required by POSIX).
- Fixed code which expected an error return of 0.
- Fixed code which thought any address with the high bit set
was an error.
- Check for failure where no checks were present.

Discussed with: bde


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


17050 09-Jul-1996 nate

Add sm_inter.h to DPSRCS so that make depend is not required to build
this.


15096 07-Apr-1996 mpp

Correct the rpc.lockd and rpc.statd man pages to not reference
their path names in the synopsis line (especially since they
referenced the wrong path!). Corrected some other minor problems
with the rpc.lockd man page.


14982 01-Apr-1996 peter

Some minor tweaks for statd
- use rpcgen to generate unmodified code instead of havinf it in the
repository
- use "natural" function names to avoid conflicts with prototypes etc.


14126 17-Feb-1996 peter

This commit was generated by cvs2svn to compensate for changes in r14125,
which included commits to RCS files with non-trunk default branches.