
Tue Feb 28 14:00:00 1995  Renee Teunissen  (renee@freudsys.iaf.nl)

	** WARNING PRE-RELEASE **

	This is minimal tested code. Don't use this on systems
	which ought to be very secure!!!  Be aware!!! 

	[no_]rmdir, [no_]mkdir, [no_]chmod, [no_]chown, 
	[no_]symlink, [no_]link, [no_]create:

	These options forbit several systemcalls to be "exported".
	This helps you to secure your system.	

	[no_]squash, [no_]root_squash[=UID,GID]:
 
	Sometimes it's not possible to be sure that anyone else 
	then the superuser can gain root access. In these cases 
	we would like to be sure that NO ONE can (remotely) create
	files/direcories owned to the super user. Root_squash maps
	every uid/gid that equals to zero to the NOBODY id. The 
	squash option maps every uid/gid to NOBODY or to the value 
	specified, for example squash=UID,GID. 

	export_mask=file_mask [, dir_mask [, other_mask]]
	access_mask=file_mask [, dir_mask [, other_mask]]


	The systemcall blocks are welltested. The export_mask and
	access_mask are not that well tested due to a lack of 
	resources. 

	For more info about this, please mail me and I will try to
	fix my mistakes.
	

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.

