[AFS3-std] Re: rxgk ClientInfo and TokenInfo
   
    Benjamin Kaduk
     
    kaduk@MIT.EDU
       
    Tue, 12 Feb 2013 18:08:17 -0500 (EST)
    
    
  
On Tue, 12 Feb 2013, Andrew Deason wrote:
> On Tue, 5 Feb 2013 11:05:56 -0500 (EST)
> Benjamin Kaduk <kaduk@MIT.EDU> wrote:
>
>> It seems that the ClientInfo structure contains all of the fields of
>> the TokenInfo structure (in the same order, even!).  I would like to
When implementing I noticed that lifetime, bytelife, and errorcode are 
unsigned in the TokenInfo, but signed in StartParams and ClientInfo.  (So 
the fields are not actually the same.)
I that we should make the signedness agree in all locations, with the 
lifetime and bytelife unsigned, but the errorcode signed.
>> make ClientInfo contain a TokenInfo instead of repeating all the
>> fields.  Both structures are in the rxgk document already.
>
> I'm not sure if the 'errorcode' in those is conceptually the same?
> TokenInfo.errorcode is an error for CombineTokens/AFSCombineTokens,
> where ClientInfo.errorcode is an error for GSSNegotiate.
It could be seen as different, I suppose.  It's still an error producing 
the token that the structure is supposed to describe, though.
> I don't know if that really matters; they both need a 32-bit error, and
> they both have a 32-bit error. But it seems odd to me to either
> duplicate the errorcode field, or have the GSSNegotiate error be in
> ClientInfo.tokeninfo.errorcode (but maybe that's just me?).
>
> You could treat errorcode as separate, and just have the rest of the
> clients moved into another structure, TokenOptions or TokenDetails or
> something. But if that doesn't seem necessary, just putting a TokenInfo
> in ClientInfo seems fine.
I don't think there would be benefit in such a tokendetails structure.
However, given that the implementation is just going to have a 
source-of-truth data structure for the proto-token, and copy information 
from that into the ClientInfo and Token structure, I no longer see a real 
need to collapse the data types.
-Ben