Re: minor comments on draft-ietf-nfsv4-00.txt

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Spencer Shepler (shepler@eng.sun.com)
Date: 08/12/99-02:44:18 PM Z


Message-ID: <37B32412.A6B3418@eng.sun.com>
Date: Thu, 12 Aug 1999 14:44:18 -0500
From: Spencer Shepler <shepler@eng.sun.com>
Subject: Re: minor comments on draft-ietf-nfsv4-00.txt

Mike Eisler wrote:
> 
> minor comments on the June 1999 edition of the draft:
> 
...

> >        This section will be expanded to include the pertinent
> >        details from draft-ietf-nfsv4-nfssec-00.txt.
> 
> Rather than expand it, perhaps the section should simply refer to
> RFC 2623.

Will update the draft.

> > 10.2.  Procedure 1: COMPOUND - Compound Operations
> ...
> >
> >    RESULT
> >
> >      struct COMPOUND4resok {
> >        utf8string tag;
> >        resultdata data<>;
> >      };
> >
> >      union COMPOUND4res switch (nfsstat4 status){
> >       case NFS4_OK:
> >         COMPOUND4resok resok4;
> >       default:
> >         void;
> >      };
> 
> The above doesn't quite do what I was looking for.
> The above returns a void result if the global status is non-zero.
> 
> What I was seeking was:
> 
>      struct COMPOUND4resok {
>        utf8string tag;
>        resultdata data<>;
>      };
> 
>      struct COMPOUND4res {
>                 nfsstat4 status; /* status of last operation */
>                 utf8string tag;
>                 resultdata data<>
> 
>      };
> 
> This way, the NFS client can quickly determine the status code for the
> purpose of deciding if there is say a JUKEBOX error that requires
> retrying the operations that didn't complete.

Sounds reasonable and it appears that COMPOUND4resok is not needed since
the data is contained in COMPOUND4res.

> There seems to be lots of cases where  white space between a data type and
> field is missing:
> 
>      struct CLOSE4args {
>        stateid4stateid;
>      };

I will check the document formatting.

> >    enum rpc_flavor4 {
> >            AUTH4_NONE              = 0,
> >            AUTH4_SYS               = 1,
> >            AUTH4_DH                = 2,
> >            AUTH4_KRB4              = 3,
> >            AUTH4_RPCSEC_GSS        = 4
>                                        ^
> 
> BTW, RPCSEC_GSS is 6, not 4.

Will change.

> > 10.29.  Procedure 28: SECINFO - Obtain Available Security
> ...
> >    RESULT
> >
> >      struct rpc_flavor_info {
> >        sec_oid4oid;
> >        qop4qop;
> >        rpc_gss_svc_t service;
> >      };
> >
> >      struct secinfo4 {
> >        rpc_flavor4flavor;
> >        rpc_flavor_info *flavor_info;
> >        secinfo4*nextentry;
> >      };
> >
> >      struct SECINFO4resok {
> >        secinfo4reply;
> >      };
> >
> >
> >      union SECINFO4res switch (nfsstat4 status) {
> >       case NFS4_OK:
> >         SECINFO4resokresok4;
> >       default:
> >         void;
> >      };
> 
> Instead of linked list, the secinfo4 entries ought to be in an
> array. I don't expect the list to be lengthy, so an array is more
> appropriate.

Okay.

> While the WG has reached consensus on the use of RPCSEC_GSS, NFS V4
> should be flexible enough to work over other kinds of security flavors,
> jsut as NFS V3's mount protocol should have been flexible enough to work
> over flavors other than AUTH_NONE, AUTH_SYS, AUTH_KERB, AUTH_DES, and
> wasn't.
> 
> So I propose:
> 
>         /* delete rpc_flavor4 enum */
> 
>      struct rpcsec_gss_info {
>        sec_oid4 oid;
>        qop4 qop;
>        rpc_gss_svc_t service;
>      };
> 
>      struct secinfo4 {
>        unsigned int flavor;
>        opaque flavor info /* null for AUTH_SYS, AUTH_NONE, contains
>                 rpcsec_gss_info for RPCSEC_GSS.
>      };
> 
>      struct SECINFO4resok {
>        secinfo4 reply<>;
>      };
> 
> 
>      union SECINFO4res switch (nfsstat4 status) {
>       case NFS4_OK:
>         SECINFO4resok resok4;
>       default:
>         void;
>      };
> 
> The abve has the side benefits of using less bandwidth for flavors other
> than RPCSEC_GSS, and less bandwidth if there are two more more
> RPCSEC_GSS flavors in the results.

Good idea.  If no objections, I will go ahead and update.

> >   [SPNEGO]
> >   Baize, E., Pinkas, D., "The Simple and Protected GSS-API Negotiation
> >   Mechanism", draft-ietf-cat-snego-09.txt, Bull, April 1998.
> >
> >   ftp://ftp.isi.edu/internet-drafts/draft-ietf-cat-snego-09.txt
> 
> There doesn't appear to be a reference to this document in specification.
> This i-d has become RFC 2478.

Will change.

Spencer


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.2 : 03/04/05-01:47:30 AM Z CST