Sun Jun 25 19:38:29 1995  Alexander O. Yuriev (alex@bach.cis.temple.edu)

	* Added interactive BUILD script. This script now takes care
	  of ugidd configuration.
	* If nfsd is compiled without uid mapping support, rpc.ugidd is
	  replaced with a dummy program.
	* exports file access control added to auth_init.c

Sat Jun 24 15:11:06 1995  Miquel van Smoorenburg (miquels@drinkel.ow.org)

	* Added support for FIFOs and UNIX sockets in nfsproc_create_2.
	  UNIX socket creation is currently supported only on Linux.

Fri Jun 23 14:16:16 1995  Olaf Kirch (okir@monad.swb.de)

	* Added a call to auth_fh at the top of nfsdproc_lookup.
	  Without this call, the directory file handle would sometimes
	  be checked with the wrong uid/gid.

Tue Jun 13 18:23:01 1995  Olaf Kirch (okir@monad.swb.de)

	* Enabled Multiple-Server hack. This option
	  implies global read-only export. See nfsd.8 manpage.

Sat May 27 00:34:06 1995  Olaf Kirch (okir@monad.swb.de)

	* Added selective squashing (squash_uids=...) and
	  client-specific nobody uid (anonuid=..) support.
	  Rewrote exports.5 manpage.

	* uid mapping is now compiled in unconditionally.

Thu May 25 13:58:55 1995  Olaf Kirch (okir@monad.swb.de)

	* Added MNT_DUMP patches by Dariush Shirazi
	  <dshirazi@uhl.uiowa.edu>.

	* Added SIGHUP handlers to mountd and nfsd for re-reading
	  the exports file and flushing the fh cache.

	* Added files mountd.h and mount_dispatch.c. The latter replaces
	  mount_svc.c.

	* Support for multi-homed clients.

Fri May 19 21:36:53 1995  Olaf Kirch (okir@monad.swb.de)

	* (dispatch.c): log_call is now only called when debugging has
	  really been enabled. Otherwise the pr_* functions get called
	  regardless of debug state. This saves about 30-50% of execution
	  time per call.

	* Moved generic RPC startup code (as generated by rpcgen from
	  Rick's rpc-0.9) into rpcmisc.c. These routines are now used
	  by both nfsd and mountd.

	* Added hosts_access control to ugidd.

	* ugidd would crash if someone asked for a nonexistent user
	  or group name. uid_name and gid_group would return NULL
	  in this case, which makes xdr_string segfault.

	* mountd would re-export NFS-mounted file systems regardless
	  or whether it had been started with --re-export or not. Fixed.

	* creat calls on existing special files should now work even on
	  read-only FSs. Again, this is for the sake of Sun's
	  echo >/dev/null.

Thu May 18 00:19:50 1995  Olaf Kirch (okir@monad.swb.de)

	* Added per-call profiling. See the description of -DCALL_PROFILE
	  in the Makefile.

	* Added netgroup support to /etc/exports parsing.

Sat Apr 29 00:58:42 1995  Olaf Kirch (okir@monad.swb.de)

	* The file handle flushing code is now executed more frequently.
	  File descriptors are closed after about 2 minutes of inactivity
	  so that files deleted behind our back actually go away.  Thanks
	  to David Coons <davec@fa.disney.com> for his very helpful bug
	  report.

Thu Apr 27 01:50:27 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed a bug with fd reuse in fh_fd. A previously opened
	  file was not checked for access restrictions when another
	  user tried to read it. 

	* Redid much of the uid mapping code in ugid_map.c. Hopefully
	  a lot cleaner and robust now. This code is still experimental,
	  though.

Wed Apr 26 01:46:11 1995  Ricky Beam (cramer@catt.ncsu.edu)

	* Incorporated Mark Shand's ugid mapping code to handle nfs calls
	  for unmatched filesystems -- a common thing I see under linux.

	* The actual source of the ugid code is unknown -- I've had it for
	  several years as the end result of a week long archie.

Tue Apr 11 00:45:10 1995  Olaf Kirch (okir@monad.swb.de)

	* Clients may now again appear as both wildcards and exact
	  names. In early 2.2 versions, foo.bar.edu would not get the
	  mount points for *.bar.edu.

	* Wildcards are matched from most specific to least specific. 
	  This allows to have both *.pal.xgw.fi and *.xgw.fi in your
	  /etc/exports.

Thu Mar 30 23:01:57 1995  Olaf Kirch (okir@monad.swb.de)

	* auth.c: redone entire client authentication.

	* auth.c: client lookup now uses hash table indexed by client
	  IP address.

	* nfsd.c: authenticate fh's on every request. Removed check_ro
	  and added general auth_fh function.

	* implemented root_squash.

	* added setfsuid/setfsgid. If it's not in the library, a static
	  inline asm function is kludged for Linux ix86.

	* nfsd.c (nfsproc_create_2): "echo > /dev/null" still wouldn't 
	  work from Suns (it would create a regular file instead). We now
	  set the request's attr.size field to major/minor number of the
	  device if we see this sort of thing.

	* auth_init.c: moved check for nobody's uid and gid to auth_init
	  so this check is performed at run time. Removed AC_NOBODY
	  checks from configure.in and friends.

Mon Dec 27 22:37:12 1993  Rick Sladkey  (jrs@lepton)

	* released as Universal NFS Server 2.0

	* dispatch.c (nfs_dispatch): omit comparision of unsigned >= 0.

	* fh.c (fh_find): quiet gcc 2.5 format warning.

	* nfsd.h (realpath prototype): only if not HAVE_REALPATH defined.

Sun Nov 21 09:48:07 1993  Rick Sladkey  (jrs@lepton)

	* system.h (setreuid, setregid): change to seteuid and setegid.

	* configure.in (AC_HAVE_FUNCS): check for seteuid.

	* dispatch.c (set_ids), fh.c (path_open): change
	setreuid and setregid to seteuid and setegid forms.

Thu Nov  4 22:20:51 1993  Rick Sladkey  (jrs@lepton)

	* auth_clnt.c (auth_clnt): fix a NULL dereference bug
	found due to the new qmagic binary format, nice.

	* fh.c (fh_find), getattr.c (getattr), logging.c (dprintf):
	replace blind usage of a raw string as the format string
	to a printf-like function.  Now filenames with a % in them work.

	* nfsd.c (nfsd_nfsproc_create_2): it seems incredible
	but the latest patch still didn't allow SunOS to say
	echo >/dev/null on a read-only filesystem.  One more try.

Sat Oct 30 22:51:13 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (main): use setsid in preference to TIOCNOCTTY.

Thu Oct 28 21:02:39 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (nfsd_nfsproc_create_2): allow buggy SunOS
	clients to `create' existing char and block devices on
	read-only filesystems.

Wed Oct 27 21:03:24 1993  Rick Sladkey  (jrs@lepton)

	* logging.c (toggle_logging): bug in interrupt
	handler on systems where signals need to be re-armed.

	* nfsd.c (nfsd_nfsproc_setattr_2): bug reported
	by Ross Becker where files were not being truncated
	properly.

Wed Oct 13 20:08:45 1993  Rick Sladkey  (jrs@lepton)

	* nfsmounted.c: new file.

	* mountd.8, nfsd.8: general overhaul of the manual pages.

	* mountd.c, nfsd.c, auth_init.c: new option `--re-export'.

	* aclocal.m4, configure.in: minor changes for autoconf 1.6.

	* dispatch.c (set_ids): failsafe check on size of cred_len
	suggested by Glenn Moloney.

Tue Oct 12 00:36:17 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (config.status target rule): build config.status
	using old config.status with --recheck, not configure with
	--no-create.

Fri Oct  8 01:12:25 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in: new library target libns.a.

	* xmalloc.c, xstrdup.c, strdup.c, strstr.c: new
	files from fileutils 3.6.

Thu Oct  7 00:07:05 1993  Rick Sladkey  (jrs@lepton)

	* aclocal.h: new macro AC_MOUNTLIST based on the
	configure.in from fileutils 3.6.

	* mountlist.c, mountlist.h: new files from fileutils 3.6.

Wed Oct  6 01:20:14 1993  Rick Sladkey  (jrs@lepton)

	* aclocal.m4, acconfig.h, configure.in: new autoconf
	macro to detect uid and gid for nobody and nogroup.

Tue Oct  5 00:04:48 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in: new rules for configure and config.h.in.

	* aclocal.m4: new file of macros from configure.in.

	* dispatch.c: change -2 uid/gid for nobody to 65534.

	* system.h: try to extract or define PATH_MAX and NAME_MAX.
	
	* dispatch.c (xsetgroups):  it turns out that the type of
	the aup_gids field of authunix_parms structure is the same
	as the gids argument to setgroups on all systems I could
	test.  Therefore xsetgroups was not correct and may not
	be necessary.

	* system.h: new file for system dependencies.

	* nfsd.h: handle broken stat macros.

	* acconfig.h: new file.

	* config.h.in: new file created by autoheader.

Mon Oct  4 19:30:31 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (serveral functions): replace chown with lchown.

	* dispatch.c (xsetgroups): new function to acount for
	BSD systems where arg to setgroups is not a gid_t pointer.

	* nfsd.c (nfsd_nfsproc_create_2): handle situation where
	the client's major and minor don't agree with the server's.

	* dispatch.c (nfs_dispatch): add support for supplementary
	groups based on Stephen Harris's patch.

	* eaccess.c: new file from fileutils 3.6.  Might use this
	to avoid ever changing user or group IDs.

	* utimes.c (utimes): allow for missing NULL utime argument.

	* nfsd.c (nfsd_nfsproc_create_2): account for a sunos41
	bug where created regular files have a missing S_IFMT value.

Sun Oct  3 22:12:05 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (mount_svc.c rule): account for solaris2
	braindamage wrt _rpcfdtype.

	* configure.in, Makefile.in: account for possible alloca.c.

	* alloca.c: new file, getopt.c may need it, arghh.

	* fh.c, auth_init.c, auth_clnt.c, nfsd.c: rename
	variables called "name" to "fname" or "hname" because
	"name" is an rpcgen typdef in mount.h and some compilers
	croak on variables with the same name as a type.

	* dispatch.c (table_ent macro): added support for
	pre-ANSI token concatenation and stringification.

	* many files: changed function definitions with ANSI
	prototypes to K&R style declarations.

Sat Oct  2 11:56:12 1993  Rick Sladkey  (jrs@lepton)

	* utimes.c: new file for systems without utimes(2).

	* nfsd.h: defines for setreuid, setregid and getdtablesize.

	* configure.in: check for setreuid, utimes, and
	getdtablesize functions.

	* nfsd.c (check_ro_attrib): fixed bug in Eric's ro checking.
	The argument rqstp was being ignored in favor of the global
	variable svc_rqstp.

	* fh.c (fh_compose): change Job's new .. checking to use
	auth_clnt instead of using the mountfh list.

	* auth_init.c (auth_init): undo Job's new .. checking setup.
	It doesn't work when an export point is a leading substring
	of another mount point.

	* nfs.d (nfsd_nfsproc_readlink_2): fixed bug in Eric's
	new ro permission checking.  The code was checking what
	the link pointed to, not the link itself.

	* many files: Replaced bzero, bcmp, bcopy, index and rindex
	with their ANSI counterparts.

	* nfsd.h (string functions): use or define the string
	functions memcmp, memset, memcpy, strchr and strrchr.

	* Makefile.in (dependencies for C GENFILES): when using VPATH,
	rpcgen gets the include path wrong for the header file.
	Use sed to fix it.

Thu Sep 23 13:30:00 1993  Eric Kasten (tigger@tigger.cl.msu.edu)

	* Added code to allow for proper mounting of a mixture of
        ro and rw file systems.  Most changes are in nfsd.c, including
        the coding of the function check_ro_attrib(), and the 
	inclusion of the calls to this function in the following 
	functions:

		nfsd_nfsproc_setattr_2()
		nfsd_nfsproc_create_2()
		nfsd_nfsproc_remove_2()
		nfsd_nfsproc_rename_2()
		nfsd_nfsproc_link_2()
		nfsd_nfsproc_symlink_2()
		nfsd_nfsproc_mkdir_2()
		nfsd_nfsproc_rmdir_2()


Sat Oct  2 01:32:55 1993  Rick Sladkey  (jrs@lepton)

	* many files: add patch from Job de Haas to prohibit .. on mountpoints.

Fri Oct  1 01:28:46 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (mount_svc rule): ensure _rpcpmstart isn't static.

	* mountd.c: make _rpcpmstart and forking depend on HAVE_RPCGEN_I.

	* mountd.c: make _svc suffix depend on HAVE_RPCGEN_C.

	* configure.in, Makefile.in: detect rpcgen, rpcgen -C, and rpcgen -I.

	* Makefile.in: add dependencies for headers.

	* mountd.c (main): use setsid if TIOCNOTTY isn't defined.

	* nfsd.c (main): use setsid if TIOCNOTTY isn't defined.

	* mkinstalldirs: new version.

	* showmount.c (main, usage): added long options.

	* nfsd.c (main, usage): added long options.

	* mountd.c (main, usage): added long options.

	* getopt.c, getopt1.c, getopt.h: new files.

	* fh.c (path_open): fixed a stupid bug where new files couldn't be
	created.

Tue Sep 21 20:08:02 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (nfsd_nfsproc_create_2): rework Mark Eichin's special
	file patch so that mknod from the client now works.

	* fh.c (path_open): ensure EISDIR is returned for all special files.

	* many files: pervasive changes for autoconf dependencies.

	* strerror.c, mkdir.c, rename.c: new files based on tar-1.11.2.

	* fsusage.c, fsusage.h: new files from fileutils-3.6.

	* Makefile.in, configure.in, mkinstalldirs, COPYING, INSTALL:
	new files based on autoconf and GNU standards.

Thu Aug  5 19:51:50 1993  Rick Sladkey  (jrs@lepton)

	* showmount.c (main): use gethostname as default instead of localhost.

	* showmount.c (main): zero out RPC data structures before use.

	* showmount.c (main): calculate exact column width for exports display.

	* showmount.c (main): fix "(everybody)" netgroup display problem.

	* nfsd.h (declarations): add prototype for realpath.

	* auth_init.c (auth_init): use realpath to excise symlinks here too.

	* mountd.c (mountproc_mnt_1): don't force leading slash on filenames.

	* mountd.c (mountproc_mnt_1): permit files as well as directories
	to be mounted by clients.

	* mountd.c (mountproc_mnt_1): use `realpath()' as a replacement for
	the incomplete symlink expansion.

	* realpath.c: new file.

	* fh.c (path_open): emulate Sun NFS server's EISDIR response
	to reads or writes on character or block special files.

	* fh.c (path_open): added support for clients being able to read
	execute-only files.

	* fh.c (nfs_errtbl): added support for EINVAL that Sun forgot.

Sat Apr 24 01:10:29 1993  Rick Sladkey  (jrs@lepton)

	* auth_clnt.c (auth_clnt): restored the "move to front" feature of
	auth_clnt while maintaining FNvK fix below.

Sun Apr  5 02:21:00 1993  Fred N. van Kempen  (waltje@uwalt.nl.mugnet.org)

	* auth_clnt.c (auth_clnt): Fixed the "looping" bug.

Sat Apr 10 21:56:10 1993  Rick Sladkey  (jrs@lepton)

	* packaged and released as nfs-server-1.5.

	* mountd.c (mountproc_mnt_1): resolve all symlinks in the pathname
	of a mount request.
	Bug reported by Peter McDonald <pmacdona@sanjuan.UVic.CA>.

	* fh.c (path_open): extended stateless server fix to allow reading
	a unreadable file if owned by requesting uid.

Sun Feb 14 00:00:00 1993  Fred N. van Kempen  (waltje@uwalt.nl.mugnet.org)

	* total re-organization of the source distribution.

	* added SYSLOG support.  Removed logfile support.

	* fixed /etc/exports reading bug.

Thu Feb  4 00:40:42 1993  Rick Sladkey  (jrs@lepton)

	* many files: added in obz@raster.Kodak.COM (Orest Zborowski)
	changes to support multiple file descriptor caching and debug
	changes.

	* fh.c (fh_fd): added stateless server capability to write to
	read-only file if owned by requesting uid.

Fri Jan 29 01:39:25 1993  Rick Sladkey  (jrs@lepton)

	* packaged and released as nfs-server-1.2.

Sun Jan 24 02:07:21 1993  Rick Sladkey  (jrs@lepton)

	* added anonymous mounts, lots of reorganizations.

Sat Jan 23 21:09:39 1993  Rick Sladkey  (jrs@lepton)

	* added showmount -e support to mountd.

	* added authentication and pathname validation to mountd.

	* added support for hostname patterns in exports file.

	* renamed lots of files to more generic names.

Sat Jan 16 13:17:08 1993  Rick Sladkey  (jrs@lepton)

	* main.c (main): added support for tcp version of nfsd as well as
	the ability to start nfsd from inetd.

	* dispatch.c: changed NOBODY and NOGROUP defines to -2.

Mon Jan 11 23:57:59 1993  Rick Sladkey  (jrs@lepton)

	* Makefile: added support for tcp version of mountd.

