$NetBSD: patch-ab,v 1.5 2004/09/08 12:14:59 wiz Exp $ --- plpnfsd/mp_mount.c.orig 2002-07-12 16:45:41.000000000 +0200 +++ plpnfsd/mp_mount.c @@ -21,7 +21,7 @@ extern int inet_addr(char *); #define PORTMAP /* I need svcudp_create in rpc/svc_soc.h, sol 2.4 */ #endif -#include +#include "OSdefs.h" #include #include #include @@ -63,6 +63,17 @@ static char nfshost[128]; #endif #endif /* __FreeBSD__ */ +#ifdef __NetBSD__ +#include +#include +#include +#include +#include +#include +#include +#include +#endif /* __NetBSD__ */ + #include #include "nfs_prot.h" @@ -156,7 +167,7 @@ static void doexit() { struct mntent *ent; #endif #endif -#ifndef __FreeBSD__ +#if !defined(__FreeBSD__) && !defined(__NetBSD__) struct stat statb; #endif @@ -277,7 +288,7 @@ mount_and_run(char *dir, void (*proc)(), #else struct nfs_args nfs_args; #endif -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__NetBSD__) int mount_flags; #endif @@ -453,20 +464,23 @@ mount_and_run(char *dir, void (*proc)(), #endif #ifdef __NetBSD__ + nfs_args.version = NFS_ARGSVERSION; nfs_args.addrlen = sizeof(sain); nfs_args.sotype = SOCK_DGRAM; nfs_args.maxgrouplist = NGROUPS; nfs_args.readahead = 1; nfs_args.addr = (struct sockaddr *) &sain; nfs_args.fh = (void *) root_fh; + nfs_args.fhsize = sizeof(*root_fh); nfs_args.wsize = PBUFSIZE; nfs_args.rsize = PBUFSIZE; nfs_args.retrans = 10; nfs_args.timeo = 600; nfs_args.hostname = PSIONHOSTNAME; nfs_args.flags = NFSMNT_INT | NFSMNT_RETRANS | NFSMNT_TIMEO - | NFSMNT_NOCONN | NFSMNT_DUMBTIMR | NFSMNT_MYWRITE + | NFSMNT_NOCONN | NFSMNT_DUMBTIMR | NFSMNT_WSIZE | NFSMNT_RSIZE; + mount_flags = MNT_NOSUID | MNT_NODEV | MNT_NOEXEC | MNT_NOATIME; #endif #if defined(_IBMR2) @@ -496,7 +510,7 @@ mount_and_run(char *dir, void (*proc)(), #if defined(__sgi) || (defined(sun) && defined(__SVR4)) if (mount("", dir, MS_DATA, "nfs", &nfs_args, sizeof(nfs_args))) #endif -#if defined(__NetBSD__) || defined(__NeXT__) +#if defined(__NeXT__) if (mount(MOUNT_NFS, dir, 0, (caddr_t) & nfs_args)) #endif #ifdef hpux @@ -512,7 +526,7 @@ mount_and_run(char *dir, void (*proc)(), if (aix3_mount("psion:loc", dir, 0, MOUNT_TYPE_NFS, &nfs_args, "plpnfsd")) #endif -#ifdef __FreeBSD__ +#if defined(__NetBSD__) || defined(__FreeBSD__) #if __FreeBSD_version >= 300001 if (mount("nfs", dir, mount_flags, &nfs_args)) #else