Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Oct 1998 10:00:56 -0500 (CDT)
From:      ejh@eas.slu.edu
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   bin/8266: nfsd should allow just nfs version two registration
Message-ID:  <199810111500.KAA00540@gumbo.eas.slu.edu>

next in thread | raw e-mail | index | archive | help

>Number:         8266
>Category:       bin
>Synopsis:       nfsd should allow just nfs version two registration
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 11 08:10:00 PDT 1998
>Last-Modified:
>Originator:     Eric J. Haug
>Organization:
Saint Louis University
>Release:        FreeBSD 3.0-BETA i386
>Environment:
FreeBSD NFS server in a Solaris 2.5, 2.51, and 2.6 environment.

>Description:
The Solaris 2.6 system trying to automount using the /net
mechanism will refuse negotiate down to nfs version 2
if it finds version 3 registered with the portmaper.
Mountd is running and only allowing version 2 mounts.
I believe BETA 3.0 is known to have NFS version 3 problems.

>How-To-Repeat:
Have a default 3.0 BETA system with exported filesystems
login to a Solaris 2.6 system and try to list one of
the exported directories. Note the failure.

Also note that 3.0 BETA will reliably crash while an NFS
version 3 client is doing a tar extract.

>Fix:
Allow nfsd to have a -2 option as well.	
The following diff could be applied to
/usr/src/sbin/nfsd.c
And -2 added to the nfsd options in the rc.conf script.

48c48
< 	"$Id: nfsd.c,v 1.14 1998/10/10 13:35:00 ejh Exp $";
---
> 	"$Id: nfsd.c,v 1.13 1998/07/15 06:33:15 charnier Exp $";
148d147
< 	int twoonly;
189d187
< 	twoonly = 0;
194c192
< #define	GETOPT	"2n:rtu"
---
> #define	GETOPT	"n:rtu"
199,201d196
< 		case '2':
< 			twoonly = 1;
< 			break;
267,278c262,269
< 		if (udpflag ) {
< 		    if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_UDP, NFS_PORT))
< 			err(1, "can't register version 2 with portmap for UDP");
< 		    if (!twoonly && !pmap_set(RPCPROG_NFS, 3, IPPROTO_UDP, NFS_PORT))
< 			err(1, "can't register version 3 with portmap for UDP");
< 		}
< 		if (tcpflag ) {
< 		    if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_TCP, NFS_PORT))
< 			err(1, "can't register version 2 with portmap for TCP");
< 		    if (!twoonly && !pmap_set(RPCPROG_NFS, 3, IPPROTO_TCP, NFS_PORT))
< 			err(1, "can't register version 3 with portmap for TCP");
< 		}
---
> 		if (udpflag &&
> 		    (!pmap_set(RPCPROG_NFS, 2, IPPROTO_UDP, NFS_PORT) ||
> 		     !pmap_set(RPCPROG_NFS, 3, IPPROTO_UDP, NFS_PORT)))
> 			err(1, "can't register with portmap for UDP");
> 		if (tcpflag &&
> 		    (!pmap_set(RPCPROG_NFS, 2, IPPROTO_TCP, NFS_PORT) ||
> 		     !pmap_set(RPCPROG_NFS, 3, IPPROTO_TCP, NFS_PORT)))
> 			err(1, "can't register with portmap for TCP");
400,405c391,393
< 		if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_UDP, NFS_PORT)) {
< 			syslog(LOG_ERR, "can't register version 2 with udp portmap");
< 			exit(1);
< 		}
< 		if ( !twoonly && !pmap_set(RPCPROG_NFS, 3, IPPROTO_UDP, NFS_PORT)) {
< 			syslog(LOG_ERR, "can't register version 3 with udp portmap");
---
> 		if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_UDP, NFS_PORT) ||
> 		    !pmap_set(RPCPROG_NFS, 3, IPPROTO_UDP, NFS_PORT)) {
> 			syslog(LOG_ERR, "can't register with udp portmap");
484,489c472,474
< 		if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_TCP, NFS_PORT)) {
< 			syslog(LOG_ERR, "can't register version 2 tcp with portmap");
< 			exit(1);
< 		}
< 		if (!twoonly && !pmap_set(RPCPROG_NFS, 3, IPPROTO_TCP, NFS_PORT)) {
< 			syslog(LOG_ERR, "can't register version 3 tcp with portmap");
---
> 		if (!pmap_set(RPCPROG_NFS, 2, IPPROTO_TCP, NFS_PORT) ||
> 		    !pmap_set(RPCPROG_NFS, 3, IPPROTO_TCP, NFS_PORT)) {
> 			syslog(LOG_ERR, "can't register tcp with portmap");
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810111500.KAA00540>