[AFS3-std] rxgk CombineTokens and enctypes
Benjamin Kaduk
kaduk@MIT.EDU
Wed, 2 Jan 2013 17:17:30 -0500 (EST)
On Tue, 11 Dec 2012, Jeffrey Hutzelman wrote:
> On Tue, 2012-12-11 at 21:12 -0500, Benjamin Kaduk wrote:
>> Replying to myself with some comments, trawling for other input...
>>
>> On Wed, 28 Nov 2012, Benjamin Kaduk wrote:
>>
>>> On Tue, 27 Nov 2012, Simon Wilkinson wrote:
>>>
>>>> I haven't reviewed the series completely yet, but I wonder if initial error
>>>> list for CombineTokens is far too verbose. It isn't clear to me the
>>>> situation in which many of the suggested errors would occur, and I'm wary
>>>> of over specifying here.
>>>
>>> It's quite possible that the current list is too large. I was essentially
>>> brainstorming when coming up with it, and some of the scenarios may be
>>> application-specific (and thus end up in the high half of the range).
>>> I consider the list quite flexible at the moment and welcome more input.
>>> I'll include the current list below for the mailing list to comment.
>>>
>>> -Ben
>>>
>>>
>
> I don't see that an "application-specific block" is needed. Rx RPCs,
> including this one, either succeed (which the library represents as a
> return value of 0) or abort with a non-zero error code. With the
> exception of errors emittted by the rx core, code generated by rxgen,
> and (for historical reasons only) the volume package, our errors come
> from com_err. rxgk should concentrate on defining error codes that are
> relevant to the rxgk error or for which interoperability and reasonable
> code-sharing require that a code for an application-level failure not be
> application-specific. For example, it would be appropriate to define an
> rxgk error code for a policy violation that application-independent code
> might reasonably handle in some specific way other than just passing the
> error upwards. For application-specific policy issues, applications are
> free to define their own error tables, and have probably already done
> so.
Further discussion with Jeff convinced me that we should not try to
standardize RPC-specific error codes, and instead use com_err tables for
everything. This makes us have RXGK-specific codes instead of
RPC-specific codes, which is probably a good thing, and also lets
application error codes come in naturally without a separate reserved
block. The com_err table is pretty easy to extend, so it doesn't
have to be perfect or comprehensive right away. Commits
3d56ed GSSNegotiate policy errors are com_err
7a9155e CombineTokens errors are com_err errors
on https://github.com/kaduk/openafs/commits/prot make these changes for
the language of the CombineTokens and GSSNegotiate RPCs, moving the list
of error codes to an AFS-3 Registry Concerns section at the end. Thanks
to Simon for pulling up YFS's error table.
Separate mail about other updates on github coming soon.
-Ben