Commit Graph

22 Commits

Author SHA1 Message Date
thomas
babdb5cd99 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
ru
1ca146c450 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
31e06cd562 (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
stefanf
8d3bcc2e7a 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
obrien
7293a24a2b Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
des
e48f76df85 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
des
e7b383ae2c Constify and stylify yppusherr_string(). 2002-04-16 22:08:35 +00:00
des
d7b064e238 ANSIfy and remove some dead code.
Sponsored by:	DARPA, NAI Labs
2002-02-06 15:26:07 +00:00
des
0f2cb9b020 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
jdp
99368be502 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
f67e4a8fc7 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
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
bde
b43cf77fb7 Don't assume that time_t is long. 1998-06-29 18:15:21 +00:00
charnier
0d290b832a Cosmetics in yp_error() and usage(). 1997-11-03 07:53:44 +00:00
imp
691010efad 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
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
jkh
808a36ef65 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
2f734506ac 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
wpaul
934e692b00 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
wpaul
d0c71521cd 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
wpaul
a683c77241 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
wpaul
226cb5fee9 This commit was generated by cvs2svn to compensate for changes in r13394,
which included commits to RCS files with non-trunk default branches.
1996-01-12 07:03:33 +00:00