From owner-freebsd-bugs Sat Apr 8 09:02:23 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id JAA17503 for bugs-outgoing; Sat, 8 Apr 1995 09:02:23 -0700 Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id JAA17497 for ; Sat, 8 Apr 1995 09:02:16 -0700 Received: from sax.sax.de by irz301.inf.tu-dresden.de with SMTP (5.67b+/DEC-Ultrix/4.3) id AA14929; Sat, 8 Apr 1995 18:02:09 +0200 Received: by sax.sax.de (8.6.9/8.6.9-s1) with UUCP id SAA03019 for freebsd-bugs@FreeBSD.org; Sat, 8 Apr 1995 18:02:09 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.6.11/8.6.9) id RAA00953 for freebsd-bugs@FreeBSD.org; Sat, 8 Apr 1995 17:57:11 +0200 From: J Wunsch Message-Id: <199504081557.RAA00953@uriah.heep.sax.de> Subject: Re: bug in kernel NFS To: freebsd-bugs@FreeBSD.org (FreeBSD bugs list) Date: Sat, 8 Apr 1995 17:57:11 +0200 (MET DST) In-Reply-To: <199503180706.XAA00310@zorch.sf-bay.org> from "Scott Hazen Mueller" at Mar 17, 95 11:06:07 pm Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) X-Phone: +49-351-2012 669 X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 1492 Sender: bugs-owner@FreeBSD.org Precedence: bulk This is waiting for too long in my inbox. Can someone comment on this? As Scott Hazen Mueller wrote: > > 2.0 Release (I reported a bug against libc/rpc earlier today, same release). > nfs/nfs_subs.c: code seems to assume that file type information is lurking > in the high bits of fa_mode; this is (likely) true if the server is UNIX, but > not so true if the server is not (e.g. MS Windows). The code replaces the > type field received over the wire with the high bits of the mode field; my > inelegant solution is to require that there be something in the high bits > of the mode field before replacing the original type value. > > \scott > > *** nfs_subs.c Fri Mar 17 22:50:42 1995 > --- nfs_subs.c.orig Fri Mar 17 23:05:46 1995 > *************** > *** 711,717 **** > fp = (struct nfsv2_fattr *)cp2; > vtyp = nfstov_type(fp->fa_type); > vmode = fxdr_unsigned(u_short, fp->fa_mode); > ! if ((vtyp == VNON || vtyp == VREG) && vmode > 4096 ) > vtyp = IFTOVT(vmode); > if (isnq) { > rdev = fxdr_unsigned(long, fp->fa_nqrdev); > --- 711,717 ---- > fp = (struct nfsv2_fattr *)cp2; > vtyp = nfstov_type(fp->fa_type); > vmode = fxdr_unsigned(u_short, fp->fa_mode); > ! if (vtyp == VNON || vtyp == VREG) > vtyp = IFTOVT(vmode); > if (isnq) { > rdev = fxdr_unsigned(long, fp->fa_nqrdev); > > -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-)