Commit Graph

27 Commits

Author SHA1 Message Date
Konstantin Belousov
6b462d2762 Increase YPMAXRECORD to 16M to be compatible with Linux.
Since YP protocol definition uses the constant to declare
variable-size opaque byte strings, the change should be binary
compatible with existing installations which do not expose keys or
values larger than 1024 bytes.

All uses of local variables with YPMAXRECORD sizes were removed to
avoid insane stack use.  On the other hand, variables with static
lifetime should be fine and only result in increased VA use.

Glibc made same change, increasing the allowed length for keys and
values in YP to 16M, in 2013.

Reviewed by:	markj
Discussed with:	ian
Sponsored by:	Mellanox Technologies
MFC after:	3 weeks
Differential revision:	https://reviews.freebsd.org/D20900
2019-08-12 20:27:33 +00:00
Pedro F. Giffuni
df57947f08 spdx: initial adoption of licensing ID tags.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.

Initially, only tag files that use BSD 4-Clause "Original" license.

RelNotes:	yes
Differential Revision:	https://reviews.freebsd.org/D13133
2017-11-18 14:26:50 +00:00
Marcelo Araujo
033af09de1 Staticfy and constify some variables and clean up the code a bit to make it
more readable. No functional change.

Differential Revision:	D3166
Reviewed by:		kib
Sponsored by:		gandi.net
2015-07-28 02:32:40 +00:00
Craig Rodrigues
35ee6bbaef Fix some gcc compiler warnings.
Submitted by:   Sascha Wildner <swildner@dragonflybsd.org>
Obtained from:  DragonFlyBSD (commit 51798e10f3dd)
2015-05-31 20:45:35 +00:00
Ed Schouten
1fa2ff1f64 Remove unused variables. 2010-01-02 11:06:39 +00:00
Thomas Quinot
97a733dff0 Remove unsafe use of asynchronous I/O (the SIGIO handler could cause
incorrect reentrant calls to the libc memory manager).

Add missing error handling:
  * for an incoming response with an incorrect tid;
  * for a failure to register the response RPC program,

Fix error handling for failure to malloc job descriptor (this needs to
be done before the transient RPC program is registered).

PR:		bin/102143
MFC after:	2 weeks
2006-08-16 12:58:41 +00:00
Ruslan Ermilov
0f9e9c60c0 Don't push a map on a master server which will fail anyway.
PR:		bin/72881
Submitted by:	thomas (slightly coloured by me)
2006-08-13 19:57:32 +00:00
Thomas Quinot
d1ac5c1981 (handler): When exitting upon an abnormal signal, yppush_exit() should not
attempt to clear its pending jobs list, as this could trigger another
signal, and cause an infinite recursion. What yppush_exit() tests
in order to determine whether to flush pending jobs is the
yppush_joblist chained list, so this is what needs to be cleared
in that case (not the yppush_jobs counter).

Reviewed by:	audit@ (no objection)
MFC after:	2 weeks
2005-04-12 15:02:57 +00:00
Stefan Farfeleder
b08f8f39ca Remove definition of struct dom_binding, it's non-standard C code and
unnecessary since src/include/rpcsvc/ypclnt.h's revision 1.10.
2004-10-17 19:33:33 +00:00
David E. O'Brien
b728350ee6 Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
Dag-Erling Smørgrav
f249dbcc71 Spell void * as void * rather than caddr_t. This is complicated by the
fact that caddr_t is often misspelled as char *.

Sponsored by:	DARPA, NAI Labs
2002-04-28 15:18:50 +00:00
Dag-Erling Smørgrav
85dc707c53 Constify and stylify yppusherr_string(). 2002-04-16 22:08:35 +00:00
Dag-Erling Smørgrav
dc584ddbc5 ANSIfy and remove some dead code.
Sponsored by:	DARPA, NAI Labs
2002-02-06 15:26:07 +00:00
Dag-Erling Smørgrav
ed4d1c46a2 Apply the following mechanical transformations in preparation for
ansification and constification:

    s{\s+__P\((\(.*?\))\)}{$1}g;
    s{\(\s+}{\(}g;
    s{\s+\)}{\)}g;
    s{\s+,}{,}g;
    s{(\s+)(for|if|switch|while)\(}{$1$2 \(}g;
    s{return ([^\(].*?);}{return ($1);}g;
    s{([\w\)])([!=+/\*-]?=)([\w\(+-])}{$1 $2 $3}g;
    s{\s+$}{\n};g

Also add $FreeBSD$ where needed.

MFC after:	1 week
2002-02-06 13:30:31 +00:00
John Polstra
c95abc0ee8 Initialize the sa_flags member of an auto struct sigaction variable.
It contained whatever garbage happened to be on the stack.

PR:		bin/27457 (not confirmed yet, but almost certain)
MFC after:	1 day
2001-06-06 21:08:15 +00:00
Alfred Perlstein
8360efbd6c 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
2001-03-19 12:50:13 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Bruce Evans
9064aa963a Don't assume that time_t is long. 1998-06-29 18:15:21 +00:00
Philippe Charnier
73aabc1f3c Cosmetics in yp_error() and usage(). 1997-11-03 07:53:44 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
1130b656e5 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.
1997-01-14 07:20:47 +00:00
Peter Wemm
db0b35d139 Ack! You can't strdup() a DB datum that is not null terminated, or you
get seemingly random SEGV's...
1996-06-09 07:34:27 +00:00
Bill Paul
1eb476ce90 Fix embarassing mind-o: transient RPC program numbers run from
0x40000000 to 0x5FFFFFFF, not 0x4000000 to 0x5FFFFFF. *sigh*
1996-04-29 05:24:26 +00:00
Bill Paul
92a11b8721 yppush_main.c:
- Remove unused 'pid' member from the jobs structure. (This was left over
  from an earlier incarnation of the program that used multiple processes.)

- Remove #ifdef'ed longjmp() stuff.

- Print warning message if the 'pushing' host is not the master for
  a map being pushed but don't bail out. (While yppush should only
  be used on an NIS master, using it elsewhere is not an unpardonable sin.)

yppush.8:

- Fix a couple of mind-os.

Makefile

- Change format to hopefully ease bootstrapping. (Suggested by wollman.)
  Other Makefiles should follow.
1996-04-03 03:24:03 +00:00
Bill Paul
8ef82f38c6 Sync with my sources at home:
- Don't do longjmp()s from inside a signal handler. Even though I got
  things to work the way I wanted, it's bad karma.

- Remember to clear the sa_mask with sigemptyset() before masking signals
  when using sigaction() to set up the SIGIO handler.

- Break out of the wait loop in yppush_exit() when the five minute
  timeout expires instead of looping around for another pass. If ypxfr
  on the other end fails somehow and never sends a response, we don't
  want to wait around forever.
1996-01-31 15:15:47 +00:00
Bill Paul
434584a95a Import the new yppush.
This program does what the old one did, PLUS:

- Supports parallel jobs (like the SunOS yppush)
- Does everything in one proces instead of fork()ing off
  children processes as callback listeners (this is done
  using async socket I/O).
- Can be used to transmit maps to user-specified hosts.
- Has a much more verbose verbose option.
- Reuses existing code from ypserv and ypxfr.
- Uses some rpcgen-erated code as well.
- Isn't fattening. :)

Note that this is going in /usr/sbin rather than /usr/bin like
the old one. yppush is an administrative command it it's anything.
1996-01-12 07:03:33 +00:00