History log of /freebsd-current/usr.sbin/yppush/yppush_main.c
Revision Date Author Comments
# e5f905c7 03-Nov-2023 Elyes Haouas <ehaouas@noos.fr>

yppush: Remove return statement at the end of void functions

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 6b462d27 12-Aug-2019 Konstantin Belousov <kib@FreeBSD.org>

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


# df57947f 18-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

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


# 033af09d 27-Jul-2015 Marcelo Araujo <araujo@FreeBSD.org>

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


# 35ee6bba 31-May-2015 Craig Rodrigues <rodrigc@FreeBSD.org>

Fix some gcc compiler warnings.

Submitted by: Sascha Wildner <swildner@dragonflybsd.org>
Obtained from: DragonFlyBSD (commit 51798e10f3dd)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 1fa2ff1f 02-Jan-2010 Ed Schouten <ed@FreeBSD.org>

Remove unused variables.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 97a733df 15-Aug-2006 Thomas Quinot <thomas@FreeBSD.org>

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


# 0f9e9c60 13-Aug-2006 Ruslan Ermilov <ru@FreeBSD.org>

Don't push a map on a master server which will fail anyway.

PR: bin/72881
Submitted by: thomas (slightly coloured by me)


# d1ac5c19 12-Apr-2005 Thomas Quinot <thomas@FreeBSD.org>

(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


# b08f8f39 17-Oct-2004 Stefan Farfeleder <stefanf@FreeBSD.org>

Remove definition of struct dom_binding, it's non-standard C code and
unnecessary since src/include/rpcsvc/ypclnt.h's revision 1.10.


# b728350e 03-May-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID over rcsid[]. Protect copyright[] where needed.


# f249dbcc 28-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# 85dc707c 16-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Constify and stylify yppusherr_string().


# dc584ddb 06-Feb-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

ANSIfy and remove some dead code.

Sponsored by: DARPA, NAI Labs


# ed4d1c46 06-Feb-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# c95abc0e 06-Jun-2001 John Polstra <jdp@FreeBSD.org>

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


# 8360efbd 18-Mar-2001 Alfred Perlstein <alfred@FreeBSD.org>

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


# 97d92980 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 9064aa96 29-Jun-1998 Bruce Evans <bde@FreeBSD.org>

Don't assume that time_t is long.


# 73aabc1f 03-Nov-1997 Philippe Charnier <charnier@FreeBSD.org>

Cosmetics in yp_error() and usage().


# 6c3f552a 30-Mar-1997 Warner Losh <imp@FreeBSD.org>

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 476602a9 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# db0b35d1 09-Jun-1996 Peter Wemm <peter@FreeBSD.org>

Ack! You can't strdup() a DB datum that is not null terminated, or you
get seemingly random SEGV's...


# 1eb476ce 28-Apr-1996 Bill Paul <wpaul@FreeBSD.org>

Fix embarassing mind-o: transient RPC program numbers run from
0x40000000 to 0x5FFFFFFF, not 0x4000000 to 0x5FFFFFF. *sigh*


# 92a11b87 02-Apr-1996 Bill Paul <wpaul@FreeBSD.org>

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.


# 8ef82f38 31-Jan-1996 Bill Paul <wpaul@FreeBSD.org>

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.


# 0cc39166 12-Jan-1996 cvs2svn <cvs2svn@FreeBSD.org>

This commit was manufactured by cvs2svn to create branch 'WPAUL'.


# 434584a9 12-Jan-1996 Bill Paul <wpaul@FreeBSD.org>

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.