Home | History | Annotate | only in /src/usr.sbin/rpcbind
History log of /src/usr.sbin/rpcbind
RevisionDateAuthorComments
 1.18 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.17 07-Mar-2021  christos - Enable WARMSTART
- Pass fd to libwrap
- Add blocklist
From Greg A. Woods

- Tidy up debugging
 1.16 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.15 24-Apr-2019  roy Fix building rpcbind with MKYP=no

We add enough of the YP headers to security.c so the security checks
can remain as is.
 1.14 17-Aug-2017  ginsbach branches: 1.14.4;
Revert accidently committed enabling WARMSTART.
 1.13 16-Aug-2017  ginsbach Write the "warm start" file to /var/run rather than /tmp.
(Restore changes clobbered by merge of FreeBSD changes. Hi christos!)
 1.12 22-Apr-2009  lukem Enable WARNS=4 by default, except for:
cpuctl dumplfs hprop ipf iprop-log kadmin kcm kdc kdigest
kimpersonate kstash ktutil makefs ndbootd ntp pppd quot
racoon racoonctl rtadvd sntp sup tcpdchk tcpdmatch tcpdump
traceroute traceroute6 user veriexecgen wsmoused zic
(Mostly third-party applications)
 1.11 27-Aug-2007  dsl branches: 1.11.14;
Depracate ND_DEBUG and BIND_DEBUG in favour of RPCBIND_DEBUG.
Add commented out entries for RPCBIND_DEBUG and SVC_RUN_DEBUG in Makefile.
 1.10 28-May-2007  tls branches: 1.10.4;
Since Christos cleaned up the use of libc internals here, we can switch
these from USE_SSP to USE_FORT as they should be.
 1.9 28-May-2007  christos get rid of libc cruft. requested by tls
 1.8 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.7 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.6 10-Jan-2005  lukem Only compile in IPv6 support if ${USE_INET6} != "no"

MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
 1.5 07-Dec-2003  matt Make building IPv6 support controllable by MKINET6
 1.4 18-Sep-2002  lukem use NETBSDSRCDIR as appropriate
 1.3 20-Jun-2000  fvdl branches: 1.3.2;
Oops, previous should not have been committed.
 1.2 20-Jun-2000  fvdl Free buffer used in xdrmem_create.
 1.1 02-Jun-2000  fvdl rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.3.2.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.2.1 20-Jun-2000  minoura file Makefile was added on branch minoura-xpg4dl on 2000-06-22 18:01:11 +0000
 1.10.4.1 06-Nov-2007  matt sync with HEAD
 1.11.14.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.14.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.14.4.1 10-Jun-2019  christos Sync with HEAD
 1.9 17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.8 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.7 16-Aug-2017  christos branches: 1.7.2; 1.7.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.6 08-Nov-2015  christos merge RUMP changes.
 1.5 27-Aug-2007  dsl Depracate ND_DEBUG and BIND_DEBUG in favour of RPCBIND_DEBUG.
Add commented out entries for RPCBIND_DEBUG and SVC_RUN_DEBUG in Makefile.
 1.4 13-May-2007  christos branches: 1.4.4;
- WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.3 25-May-2006  christos Coverity CID 3653: Fix memory leak.
 1.2 22-Jun-2000  fvdl branches: 1.2.2;
Plug a few memory leaks.
 1.1 02-Jun-2000  fvdl branches: 1.1.2;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.2.1 23-Jun-2000  hannken Pull up revision 1.2:
- Fix memory leaks.
 1.2.2.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.2.1 22-Jun-2000  minoura file check_bound.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:11 +0000
 1.4.4.1 06-Nov-2007  matt sync with HEAD
 1.7.4.1 10-Jun-2019  christos Sync with HEAD
 1.7.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.10 07-Mar-2021  christos - Enable WARMSTART
- Pass fd to libwrap
- Add blocklist
From Greg A. Woods

- Tidy up debugging
 1.9 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.8 08-Nov-2015  christos merge RUMP changes.
 1.7 19-Oct-2013  christos fix unused variable warnings.
 1.6 16-May-2007  christos branches: 1.6.34; 1.6.40;
deal with namespace pollution caused by tcpd.
 1.5 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.4 13-Jul-2003  itojun use bounded string op
 1.3 03-Mar-2002  cjep Fix typo in a comment (from Onno van der Linden; PR#15792)
 1.2 20-Oct-2000  fvdl Make showmount -e work on lp64be. From Matt Green. While at it, also
fix another occurence of passing &int to xdr_long.
 1.1 02-Jun-2000  fvdl branches: 1.1.2; 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file pmap_svc.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:11 +0000
 1.1.2.1 30-Oct-2000  tv Pullup 1.2 [fvdl]:
Make showmount -e work on lp64be. From Matt Green. While at it, also
fix another occurence of passing &int to xdr_long.
 1.6.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.34.1 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.7 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.6 16-Aug-2017  christos branches: 1.6.2; 1.6.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.5 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.4 17-Mar-2006  elad Fix off-by-one found by Coverity, CID 1529.
 1.3 21-Oct-2003  fvdl Don't compare a char to NULL.
 1.2 04-Jul-2000  matt More #include <stdlib.h> string, etc. cleanup
 1.1 02-Jun-2000  fvdl branches: 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file rpcb_stat.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:11 +0000
 1.6.4.1 10-Jun-2019  christos Sync with HEAD
 1.6.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.4 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.3 31-Aug-2011  plunky NULL does not need a cast
 1.2 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.1 02-Jun-2000  fvdl branches: 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file rpcb_svc.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.9 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.8 16-Aug-2017  christos branches: 1.8.2; 1.8.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.7 31-Aug-2011  plunky NULL does not need a cast
 1.6 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.5 25-May-2006  christos Coverity CID 1070: Check for NULL deref that cannot happen.
 1.4 25-May-2006  christos Coverity CID 3653: Fix memory leak.
 1.3 02-Jun-2005  lukem appease gcc -Wuninitialized
 1.2 30-Apr-2001  fvdl For the local case, return serv_uaddr in addrmerge, not the address
by which the client contacted rpcbind.

Also fix a missing \n in a debug printf.

From Martin Blapp, mb@imp.ch
 1.1 02-Jun-2000  fvdl branches: 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file rpcb_svc_4.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.8.4.1 10-Jun-2019  christos Sync with HEAD
 1.8.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.28 09-Feb-2024  andvar fix spelling mistakes, mainly in comments and log messages.
 1.27 30-Oct-2021  nia rpcbind(8): restore previous behaviour. Wait instead of breaking from
the loop if svc_fdset_getmax fails.

thanks rin.
 1.26 30-Oct-2021  nia rpcbind(8): Use reallocarr, fix reallocation logic.

In my_svc_run(), only update the fd count _after_ the allocation
succeeds (which may be after waiting in the loop). This function
previously tried to go to a label that doesn't exist. I wonder why
GCC didn't catch this before but does now.
 1.25 13-Apr-2021  mrg avoid potential uninitialised variable use.
 1.24 07-Mar-2021  christos - Enable WARMSTART
- Pass fd to libwrap
- Add blocklist
From Greg A. Woods

- Tidy up debugging
 1.23 17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.22 03-Jan-2019  christos check strdup results too
include the function name in out of memory messages
 1.21 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.20 16-Aug-2017  christos branches: 1.20.2; 1.20.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.19 03-May-2017  christos Limit size of buffer:
https://github.com/guidovranken/rpcbomb/blob/master/rpcbind_patch.txt
XXX: pullup-7
 1.18 10-Nov-2015  christos branches: 1.18.6;
CID 1338514: Check NULL returns
 1.17 08-Nov-2015  christos merge RUMP changes.
 1.16 31-Aug-2011  plunky NULL does not need a cast
 1.15 31-Aug-2011  joerg Use __dead
 1.14 18-Jan-2009  lukem fix -Wsign-compare issues
 1.13 27-Aug-2007  dsl This code has been broken for ~ 20 years!
Initialise the 'fromlen' parameter for recvfrom() prior to the call, instead
of passing in a 'random' value off the stack.
This should fix the problems with ypbind on current.
I suspect the old kernel was not objecting to -ve buffer lengths.
 1.12 16-May-2007  christos branches: 1.12.4;
deal with namespace pollution caused by tcpd.
 1.11 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.10 21-Oct-2003  fvdl branches: 1.10.16; 1.10.18;
Don't compare a char to NULL.
 1.9 08-Nov-2002  fvdl Use a non-blocking SVC for TCP connections.
 1.8 23-Sep-2002  mycroft null commit
 1.7 23-Sep-2002  itojun poll.h, not sys/poll.h
 1.6 03-Aug-2000  fvdl branches: 1.6.2;
Do not check unitialized variables as error values. This is generally
frowned upon, or so I hear.
 1.5 22-Jun-2000  fvdl branches: 1.5.2;
Plug memory leak in error case (would have happened very rarely).
 1.4 22-Jun-2000  fvdl Make sure that freeing the temporary buffer always happens; previous
commit would still result in a leak.
 1.3 22-Jun-2000  fvdl Plug a few memory leaks.
 1.2 20-Jun-2000  fvdl Free buffer used in xdrmem_create.
 1.1 02-Jun-2000  fvdl branches: 1.1.2;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.2.2 05-Aug-2000  fvdl Pull up version 1.6:
Do not check unitialized variables as error values. This is generally
frowned upon, or so I hear.
 1.1.2.1 23-Jun-2000  hannken Pull up revisions 1.1-1.5:
- Fix memory leaks.
 1.5.2.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.2.1 22-Jun-2000  minoura file rpcb_svc_com.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.6.2.1 06-Jan-2003  jmc Pull up revisions 1.8-1.9 (requested by fvdl in ticket #1037)
Use a non-blocking SVC for TCP connections.
 1.10.18.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.10.16.1 28-Aug-2007  liamjfoy Pull up following revision(s) (requested by dsl in ticket #840):
usr.sbin/rpcbind/rpcb_svc_com.c: revision 1.13
Initialise the 'fromlen' parameter for recvfrom() prior to the call, instead
of passing in a 'random' value off the stack.
This should fix the problems with ypbind on current.
 1.12.4.1 06-Nov-2007  matt sync with HEAD
 1.18.6.1 11-May-2017  pgoyette Sync with HEAD
 1.20.4.1 10-Jun-2019  christos Sync with HEAD
 1.20.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.15 17-Aug-2017  christos fix path to the warmstart file.
 1.14 16-Aug-2017  wiz Use today's date. Sort options. Remove superfluous Tn macro. Wording improvement.
 1.13 16-Aug-2017  christos fix typo, date, document -L
 1.12 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.11 11-Mar-2009  joerg Fix preamble
 1.10 19-Oct-2008  snj branches: 1.10.4;
Xref netconfig(5). Requested by Martin S. Weber in PR bin/39605.
 1.9 12-Jan-2006  jmmv Capitalize a letter to match other sentences in the list.
 1.8 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.7 12-Aug-2002  itojun document that access control is provided by libwrap.
 1.6 02-Feb-2002  wiz Sort sections, drop a .Pp.
 1.5 26-Apr-2001  wiz Fix date, and add RCS Id.
 1.4 10-Oct-2000  ad rpcinfo is in section 8.
 1.3 21-Jun-2000  enami branches: 1.3.2;
- Fix .Nd usage; no need to supply hyphen explicitly and the description is
short enough to put on the same line.
- Kill the comma at the end of SEE ALSO list.
- Remove empty line in the source.
- Break line at the end of statement in the source for better output (in other
words, let the roff to format it).
 1.2 03-Jun-2000  fvdl branches: 1.2.2;
Reflect changed Unix domain socket name.
 1.1 02-Jun-2000  fvdl rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.2.2.1 21-Jun-2000  enami Pull up rev. 1.3, requested by Jason R. Thorpe:
- Fix .Nd usage; no need to supply hyphen explicitly and the description is
short enough to put on the same line.
- Kill the comma at the end of SEE ALSO list.
- Remove empty line in the source.
- Break line at the end of statement in the source for better output (in other
words, let the roff to format it).
 1.3.2.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.2.1 21-Jun-2000  minoura file rpcbind.8 was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.10.4.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.31 30-Oct-2021  nia rpcbind(8): Use reallocarr, fix reallocation logic.

In my_svc_run(), only update the fd count _after_ the allocation
succeeds (which may be after waiting in the loop). This function
previously tried to go to a label that doesn't exist. I wonder why
GCC didn't catch this before but does now.
 1.30 07-Mar-2021  christos - Enable WARMSTART
- Pass fd to libwrap
- Add blocklist
From Greg A. Woods

- Tidy up debugging
 1.29 17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.28 13-May-2019  christos Don't pass an uinitialized pm_prot to rpcinfo. It expects 0 for local,
so give it 0.
 1.27 03-Jan-2019  christos check strdup results too
include the function name in out of memory messages
 1.26 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.25 21-Aug-2017  christos branches: 1.25.2; 1.25.4;
don't lock for RUMP
 1.24 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.23 08-Nov-2015  christos merge RUMP changes.
 1.22 09-May-2015  christos use EXIT_SUCCESS/EXIT_FAILURE consistently.
 1.21 09-May-2015  dholland check setrlimit too
 1.20 09-May-2015  christos CID 1009289: Check getrlimit
 1.19 19-Oct-2013  christos fix unused variable warnings.
 1.18 31-Aug-2011  plunky branches: 1.18.2; 1.18.8;
NULL does not need a cast
 1.17 31-Aug-2011  joerg Use __dead
 1.16 14-Mar-2011  pooka remove unnecessary superuser check -- bind will fail if bind fails
 1.15 27-Aug-2007  dsl Depracate ND_DEBUG and BIND_DEBUG in favour of RPCBIND_DEBUG.
Add commented out entries for RPCBIND_DEBUG and SVC_RUN_DEBUG in Makefile.
 1.14 04-Jun-2007  christos branches: 1.14.4;
PR/36440: Martin Husemann: rpcbind complains about non-errors.
Don't complain about EAFNOSUPPORT.
 1.13 16-May-2007  christos deal with namespace pollution caused by tcpd.
 1.12 13-May-2007  christos PR/36319: Michael van Elst: rpcinfo -p requires root privileges
Explicitly chmod 777 the local socket.
 1.11 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.10 13-May-2007  christos PR/36313: Juergen Hannken-Illjes: Change the name "rpcbind" to "sunrpc"
which is used in the new services.
 1.9 14-Jun-2006  ginsbach branches: 1.9.4; 1.9.6;
Adapt rpcbind(8) to new return value from socket(2) for unsupported
address families.
 1.8 25-May-2006  christos Coverity CID 2294: Fix memory leak.
While here remove some bogus casts.
 1.7 20-May-2004  martin branches: 1.7.2;
Decrease log severity to debug if a protocol is not supported by the
kernel. This avoids "rpcbind: cannot create socket for tcp6" messages
at startup on IPv4-only kernels.
 1.6 29-Oct-2003  fvdl branches: 1.6.2;
Make a v6 socket v6-only, since rpcbind does host-based checking (all NFS
code already did this).
 1.5 21-Oct-2003  fvdl Don't pass NULL as an integer.
 1.4 13-Jul-2003  itojun use bounded string op
 1.3 08-Nov-2002  fvdl Use a non-blocking SVC for TCP connections.
 1.2 11-Jan-2001  lukem branches: 1.2.2;
don't use LOG_CONS
 1.1 02-Jun-2000  fvdl branches: 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file rpcbind.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.2.2.1 06-Jan-2003  jmc Pull up revisions 1.2-1.3 (requested by fvdl in ticket #1037)
Use a non-blocking SVC for TCP connections.
 1.6.2.1 30-May-2004  tron Pull up revision 1.7 (requested by martin in ticket #414):
Decrease log severity to debug if a protocol is not supported by the
kernel. This avoids "rpcbind: cannot create socket for tcp6" messages
at startup on IPv4-only kernels.
 1.7.2.1 15-Oct-2007  riz Pull up following revision(s) (requested by christos in ticket #1861):
usr.sbin/rpcbind/rpcbind.c: revision 1.12
PR/36319: Michael van Elst: rpcinfo -p requires root privileges
Explicitly chmod 777 the local socket.
 1.9.6.1 04-Jun-2007  wrstuden Update to today's netbsd-4.
 1.9.4.1 23-May-2007  riz Pull up following revision(s) (requested by christos in ticket #651):
usr.sbin/rpcbind/rpcbind.c: revision 1.12
PR/36319: Michael van Elst: rpcinfo -p requires root privileges
Explicitly chmod 777 the local socket.
 1.14.4.1 06-Nov-2007  matt sync with HEAD
 1.18.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.2.1 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.25.4.1 10-Jun-2019  christos Sync with HEAD
 1.25.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.6 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.5 31-Aug-2011  joerg Use __dead
 1.4 18-Jan-2009  lukem fix -Wsign-compare issues
 1.3 16-May-2007  christos deal with namespace pollution caused by tcpd.
 1.2 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.1 03-Jun-2000  fvdl branches: 1.1.4;
This file was omitted in the original commit.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 03-Jun-2000  minoura file rpcbind.h was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.14 07-Mar-2021  christos - Enable WARMSTART
- Pass fd to libwrap
- Add blocklist
From Greg A. Woods

- Tidy up debugging
 1.13 24-Apr-2019  roy Fix building rpcbind with MKYP=no

We add enough of the YP headers to security.c so the security checks
can remain as is.
 1.12 16-Aug-2017  christos branches: 1.12.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.11 18-Jan-2009  lukem fix -Wsign-compare issues
 1.10 16-May-2007  christos deal with namespace pollution caused by tcpd.
 1.9 13-May-2007  christos - WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.8 17-Mar-2006  elad Proper bounds access, found by Coverity, CID 1470.
 1.7 13-Jul-2003  itojun use bounded string op
 1.6 16-Jan-2001  cgd labels (even default:) _must_ be followed by statements! usr.bin/fgen/fgen.l
 1.5 08-Jun-2000  fvdl branches: 1.5.4;
Ok.. really get it right this time (that's ntohs, not htons.. need coffee).
 1.4 08-Jun-2000  fvdl Fix botched reserved port check for the -L option case. From
IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>, PR 10321

Use IPV6PORT_RESERVED in the INET6 case, for consistency.
 1.3 04-Jun-2000  fvdl Host access checking for a local socket makes no sense.
 1.2 04-Jun-2000  thorpej Need <string.h> for LP64 systems.
 1.1 02-Jun-2000  fvdl rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.5.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.4.1 08-Jun-2000  minoura file security.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.12.4.1 10-Jun-2019  christos Sync with HEAD
 1.24 17-Jun-2020  kamil Include explicitly <rump/rump_syscallshotgun.h> for previous indirect users
via <rump/rump.h>.
 1.23 23-Jan-2019  christos - fix wrong size allocation that triggers buffer overflow
- remove unneeded casts and assertions
XXX: pullup-8
 1.22 03-Jan-2019  christos Handle memory allocations and error exit codes consistently.
 1.21 16-Aug-2017  christos branches: 1.21.2; 1.21.4;
merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.20 08-Nov-2015  christos branches: 1.20.8;
merge RUMP changes.
 1.19 09-May-2015  dholland perror -> warn
 1.18 11-Mar-2015  christos CID 1018907: Freeifaddrs
 1.17 19-Oct-2013  christos use new scopeid functions
 1.16 18-Jan-2009  lukem branches: 1.16.8; 1.16.14;
fix -Wsign-compare issues
 1.15 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.14 27-Aug-2007  dsl branches: 1.14.6;
Depracate ND_DEBUG and BIND_DEBUG in favour of RPCBIND_DEBUG.
Add commented out entries for RPCBIND_DEBUG and SVC_RUN_DEBUG in Makefile.
 1.13 13-May-2007  christos branches: 1.13.4;
- WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.12 25-May-2006  christos Coverity CID 783: Add an assertion for a NULL deref.
 1.11 07-Jun-2005  lukem Support MKINET6=no building after the -Wuninitalized fix.
Noted by Jukka Salmi in email.
 1.10 02-Jun-2005  lukem appease gcc -Wuninitialized
 1.9 23-Sep-2002  mycroft null commit
 1.8 23-Sep-2002  itojun poll.h, not sys/poll.h
 1.7 30-Apr-2001  fvdl For the local case, return serv_uaddr in addrmerge, not the address
by which the client contacted rpcbind.

Also fix a missing \n in a debug printf.

From Martin Blapp, mb@imp.ch
 1.6 22-Apr-2001  fvdl For an AF_LOCAL connection, don't attempt to do the address merge dance.
While here, fix some memory leaks in error cases.
 1.5 10-Jan-2001  jmc Move routines which fill in tbuf in addrmerge(). The fixes in 1.4 pick a new
interface but don't fill in tbuf which results in clients getting garbage back
in part of the answer. This makes sure there's something in tbuf.

At some point this whole logic should be looked at, as just picking a random
local up interface for non-local requests doesn't feel right.
 1.4 03-Aug-2000  fvdl When merging addresses, and no direct match is found, pick the first
configured interface that is preferably not local or point to point.
This appears to be what Solaris does as well.
 1.3 22-Jun-2000  fvdl branches: 1.3.2;
Make sure to free the netconfig entry in addrmerge().
 1.2 04-Jun-2000  thorpej branches: 1.2.2;
Need <string.h> for LP64 systems.
 1.1 02-Jun-2000  fvdl rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.2.2.4 04-Sep-2002  itojun pullup usr.sbin/rpcbind/util.c 1.5 (bouyer)

Move routines which fill in tbuf in addrmerge(), making sure tbuf is always
initialised.
 1.2.2.3 01-May-2001  he Pull up revisions 1.6-1.7 (requested by fvdl):
Fix some minor security-related issues.
 1.2.2.2 05-Aug-2000  fvdl Pull up version 1.4:
When merging addresses, and no direct match is found, pick the first
configured interface that is preferably not local or point to point.
This appears to be what Solaris does as well.
 1.2.2.1 23-Jun-2000  hannken Pull up revision 1.3:
- Fix memory leaks.
 1.3.2.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.2.1 22-Jun-2000  minoura file util.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.13.4.1 06-Nov-2007  matt sync with HEAD
 1.14.6.1 18-May-2008  yamt sync with head.
 1.16.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.8.1 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.20.8.1 24-Jan-2019  martin Pull up following revision(s) (requested by christos in ticket #1167):

usr.sbin/rpcbind/util.c: revision 1.23

- fix wrong size allocation that triggers buffer overflow
- remove unneeded casts and assertions

XXX: pullup-8
 1.21.4.1 10-Jun-2019  christos Sync with HEAD
 1.21.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.21.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.8 17-Aug-2017  ginsbach Fix compile warnings.
(Restore changes clobbered by merge of FreeBSD changes. Hi christos!)
 1.7 16-Aug-2017  ginsbach Write the "warm start" file to /var/run rather than /tmp.
(Restore changes clobbered by merge of FreeBSD changes. Hi christos!)
 1.6 16-Aug-2017  christos merge FreeBSD changes:
- fixes CVE-2015-7236
- adds -h hostip to bind, -6 for only ipv6 access, -a for abort gracefully
- documents -w (warmstart)
XXX: should fix warmstart file to go to /var/run instead of /tmp
 1.5 06-Aug-2017  ginsbach Fix compile warnings.
 1.4 06-Aug-2017  ginsbach Write the "warm start" file to /var/run rather than /tmp.
 1.3 12-Oct-2007  christos - unlink the warmstart file first and then open it exclusively.
(From Brian Ginsbach)
- ifdef the whole file #ifdef WARMSTART to save space.
 1.2 13-May-2007  christos branches: 1.2.4;
- WARNS = 4
- De __P
- While starting up, send messages to stderr not syslog.
- Fix error messages
- Don't play with umask and forget to restore it on error
 1.1 02-Jun-2000  fvdl branches: 1.1.4;
rpcbind, the successor to portmap. Taken from Sun TI-RPC source code,
then modified. This still contains some ugly special casing for
procedures in the security section, but I haven't found a nicer way
so far.
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 02-Jun-2000  minoura file warmstart.c was added on branch minoura-xpg4dl on 2000-06-22 18:01:12 +0000
 1.2.4.1 06-Nov-2007  matt sync with HEAD

RSS XML Feed