Commit Graph

11 Commits

Author SHA1 Message Date
Warner Losh
675502b9dd Back out the casts that rid us of warnings, but paper over the broken
by design xdr routines.  And I'm not going to bite off fixing xdr.
2003-04-27 13:32:21 +00:00
Warner Losh
891c2f9e3e Fix warnings:
o Add break; to default: label
o Cast args to clnt_call to be xdrproc_t type.
2003-04-27 07:09:33 +00:00
Ian Dowse
0e366cda47 Don't ignore SIGINT and SIGQUIT. The comment said "Ignore SIGINT
and SIGQUIT during shutdown", but rpc.umntall is also run at boot
time, so ignoring these signals is a really bad idea: it makes it
impossible to ^C the process as it waits for a server response. I
can't see any reason to block these signals during shutdown either.

MFC after:	3 days
2001-12-09 20:18:36 +00:00
Ian Dowse
146e669b8d Fix a few bugs, some of which I introduced in recent commits:
- clean_mtab():
    Actually use the strdup'd version of the host that we go to the
    trouble of creating.
- do_umntall/do_umount:
    Don't return success if clnt_create() fails.
    Don't access a client pointer after it has been destroyed.
    Remember to destroy the authentication information we created.
2001-08-02 21:46:21 +00:00
Ian Dowse
afe1ef249f Fix some bugs and general brain damage in mounttab:
- Declare mtabhead as an extern in mounttab.h and define it only in
  mounttab.c.
- Remove shared global `verbose' and instead pass it as a parameter.
- Remove the `mtabp' argument to read_mtab(). It served no purpose
  whatsoever, although read_mtab() did use it as a temporary local
  variable.
- Don't check for impossible conditions when parsing mounttab, and
  do detect zero-length fields.
- Correctly test for strtoul() failures - just testing ERANGE is wrong.
- Include a field name in syslog errors, and avoid passing NULL to
  a syslog %s field.
- Don't test if arrays are NULL.
- If there are duplicates when writing out mounttab, keep the last
  entry instead of the first, as it will have a later timestamp.
- Fix a few formatting issues.

Update rpc.umntall and umount to match the mounttab interface changes.
2001-07-22 12:17:51 +00:00
Ian Dowse
d730d3b491 Fix a selection of bugs, and improve code layout:
- Remove unnecessary and unused local variables.
- Include useful information in error and warning messages.
- Fix the logic for expiring mounttab entries.
- Remove calls to getaddrinfo - the results were not used.
- Simplify some string handling by using snprintf.
- Fix usage.
2001-07-22 01:25:25 +00:00
Jonathan Lemon
7b2df3846d Fix warning (and obviously broken code)
77: warning: cast from pointer to integer of different size
2001-06-16 07:15:48 +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
Brian Feldman
ab80d6fabc This is another in Martin Blapp's N-series of mount-related cleanups :)
Changes are:
 - rpc.umntall is called at the right places now in /etc/rc*
 - rpc.umntall timeout has been lowered from two days (too high) to one
 - verbose messages in rpc.umntall have been clarified
 - kill double entries in /var/db/mounttab when rpc.umntall is invoked
 - ${early_nfs_mounts} has been removed from /etc/rc
 - patched mount(8) -p to print different pass/dump values for ufs filesystems.
   (last patch recieved from dan <bugg@bugg.strangled.net>)

Submitted by:	Martin Blapp <mbr@imp.ch>, dan <bugg@bugg.strangled.net>
2000-01-15 14:28:14 +00:00
Greg Lehey
10cb4f4a62 Fix errors unmounting remote systems which don't understand RPC_UMNTALL.
Submitted by:	Martin Blapp <mblapp@kassiopeja.lan.attic.ch>
1999-12-08 22:29:30 +00:00
Matthew Dillon
c69a34d486 Add rpc.umntall utility, to be used by startup and shutdown scripts
to replace (broken) umntall signal code previously in mountd.

Submitted by:	Martin Blapp <mb@imp.ch>
1999-11-21 08:06:00 +00:00