[AFS3-std] Last Call: afs3-rxgk-04, afs3-rxgk-afs-02

Benjamin Kaduk kaduk@MIT.EDU
Wed, 1 May 2013 00:48:07 -0400 (EDT)


On Fri, 26 Apr 2013, Benjamin Kaduk wrote:

> On Thu, 25 Apr 2013, Simon Wilkinson wrote:
>
>> Same question here - RXGK_Data has no limits.
>
> But what would the limit be?
> I suppose I can mention my commit message for when I went and put in length 
> restrictions:
> %%%%%%%%%%%%%%
>    Supply bounds for variable-length arrays
>
>    Define constants and use them.
>
>    There is no limit for the RXGK_Data typedef at this time, though that
>    is perhaps the most important case to consider.  Such a limit should
>    probably be merged in with a prospective limit on the generic OpenAFS
>    rx_opaque type.
>
>    The authenticator limit implicitly limits the appdata and call_numbers
>    fields, so separate limits are not needed there.
> %%%%%%%%%%%%%%
>
> It is tempting to say that we need not talk about a global limit for this 
> document and can move such discussion to the thread Andrew started 
> ("Unlimited array lengths").  I suppose I can look if there is literature on 
> the size of GSS negotiation tokens for guidance.

A couple of data points: the RPCSEC_GSS spec (used for NFS) specifies an 
opaque gss_token<> with no limit, and my examination of the FreeBSD and 
linux NFS kernel sources did not find particular limits on most variable 
length arrays.  I don't think there's strong precedent for any particular 
limit.

After reflection, I think that if we are to say anything about the limit 
for the general RXGK_Data type (and similar), leaving flexibility for the 
application as in Jeff's suggestion is the best option.  This would 
involve some customization of RPC-L for each application, but that doesn't 
seem like a big issue.

I do feel like a generic solution (e.g., in rxgen, but still 
application-specific) will be appropriate, and would supercede anything 
specific here.

-Ben