--- nfs-server-2.2beta29/rmtab.c.ewt Tue Oct 21 16:33:27 1997 +++ nfs-server-2.2beta29/rmtab.c Tue Oct 21 16:33:52 1997 @@ -238,12 +238,15 @@ if (stat(_PATH_RMTAB, &newstat)) { int zappa; + umask(022); if ((zappa = creat(_PATH_RMTAB, 0644)) < 0) { + umask(0); Dprintf(L_ERROR, "failed to create '%s'\n", _PATH_RMTAB); return; } close(zappa); + umask(0); if (stat(_PATH_RMTAB, &newstat)) { Dprintf(L_ERROR, "failed to stat '%s'\n", --- nfs-server-2.2beta29/fh.c.ewt Tue Oct 21 16:34:53 1997 +++ nfs-server-2.2beta29/fh.c Tue Oct 21 16:37:32 1997 @@ -82,7 +82,7 @@ struct { enum nfsstat error; - int errno; + int nfs_errno; } nfs_errtbl[]= { { NFS_OK, 0 }, { NFSERR_PERM, EPERM }, @@ -281,8 +281,8 @@ int i; for (i = 0; nfs_errtbl[i].error != -1; i++) { - if (nfs_errtbl[i].errno == errno) - return (nfs_errtbl[i].error); + if (nfs_errtbl[i].nfs_errno == errno) + return (nfs_errtbl[i].nfs_errno); } Dprintf(L_ERROR, "non-standard errno: %d (%s)\n", errno, strerror(errno)); --- nfs-server-2.2beta29/fh.h.ewt Tue Oct 21 16:36:51 1997 +++ nfs-server-2.2beta29/fh.h Tue Oct 21 16:38:10 1997 @@ -58,6 +58,7 @@ /* * Type of a pseudo inode */ +#include typedef __u32 psi_t; /* @@ -115,7 +116,7 @@ /* Global function prototypes. */ extern nfsstat nfs_errno(void); -extern psi_t pseudo_inode(u_long inode, u_short dev); +psi_t pseudo_inode(ino_t inode, dev_t dev); extern void fh_init(void); extern char *fh_pr(nfs_fh *fh); extern int fh_create(nfs_fh *fh, char *path); --- nfs-server-2.2beta29/auth_clnt.c.ewt Tue Oct 21 16:38:41 1997 +++ nfs-server-2.2beta29/auth_clnt.c Tue Oct 21 16:42:16 1997 @@ -15,6 +15,8 @@ #include "nfsd.h" #include "fakefsuid.h" +#include + #ifndef svc_getcaller #define svc_getcaller(x) ((struct sockaddr_in *) &(x)->xp_rtaddr.buf) #endif @@ -118,6 +120,7 @@ cred_gid = unix_cred->aup_gid; cred_len = unix_cred->aup_len; cred_gids = unix_cred->aup_gids; +#if 0 /* glibc doesn't seem to supoprt this? */ } else if (rqstp->rq_cred.oa_flavor == AUTH_DES) { short uid, gid, grplen = NGRPS; int groups[NGRPS], i; @@ -131,6 +134,7 @@ cred_len = grplen; for (i = 0; i < grplen; i++) cred_gids[i] = groups[i]; +#endif } else { /* We will want to support AUTH_DES/AUTH_KRB one day, * but for now we treat all other authentication flavor --- nfs-server-2.2beta29/auth.c.ewt Tue Oct 21 16:39:22 1997 +++ nfs-server-2.2beta29/auth.c Tue Oct 21 16:39:32 1997 @@ -24,9 +24,12 @@ * It appears to be an old and long-standing tradition on Unices not * to declare the netgroup functions in any header file */ +#if 0 extern int setnetgrent(char *netgroup); -extern int getnetgrent(char **host, char **user, char **domain); extern int endnetgrent(void); +#endif + +extern int getnetgrent(char **host, char **user, char **domain); extern int innetgr(const char *netgroup, const char *host, const char *user, const char *domain);