Re: [kitten] RFC2743 errata 4251

mrex@sap.com (Martin Rex) Sat, 08 November 2014 01:48 UTC

Return-Path: <mrex@sap.com>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8965A1A00CD for <kitten@ietfa.amsl.com>; Fri, 7 Nov 2014 17:48:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.551
X-Spam-Level:
X-Spam-Status: No, score=-6.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YYu4S4KqF__X for <kitten@ietfa.amsl.com>; Fri, 7 Nov 2014 17:48:22 -0800 (PST)
Received: from smtpde02.smtp.sap-ag.de (smtpde02.smtp.sap-ag.de [155.56.68.140]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D139A1A00A6 for <kitten@ietf.org>; Fri, 7 Nov 2014 17:48:21 -0800 (PST)
Received: from mail05.wdf.sap.corp (mail05.sap.corp [194.39.131.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtpde02.smtp.sap-ag.de (Postfix) with ESMTPS id 72A3E3A338; Sat, 8 Nov 2014 02:48:20 +0100 (CET)
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) by mail05.wdf.sap.corp (Postfix) with ESMTP id 3ADEF422AE; Sat, 8 Nov 2014 02:48:20 +0100 (CET)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id 3278A1AFAB; Sat, 8 Nov 2014 02:48:20 +0100 (CET)
In-Reply-To: <20141104204714.GI7913@localhost>
To: Nico Williams <nico@cryptonector.com>
Date: Sat, 08 Nov 2014 02:48:20 +0100
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20141108014820.3278A1AFAB@ld9781.wdf.sap.corp>
From: mrex@sap.com
Archived-At: http://mailarchive.ietf.org/arch/msg/kitten/wtQSmSTvWdqXnhve_Xt-2se47ag
Cc: kitten@ietf.org
Subject: Re: [kitten] RFC2743 errata 4251
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 Nov 2014 01:48:23 -0000

Nico Williams wrote:
> I wrote this yesterday but neglected to click the submit button.  Just
> submitted:
> 
> http://www.rfc-editor.org/errata_search.php?eid=4151


I hate to do this (to you), but I'm "violently" opposed to this errata.

I believe you have misunderstood the meaning of the original text.

Quoting from your errata:

  Section 2.2.4 says:

   o  GSS_S_FAILURE indicates that the context is recognized, but that
   the GSS_Process_context_token() operation could not be performed for
   reasons unspecified at the GSS-API level.

  It should say:

   o  GSS_S_FAILURE indicates that the peer had an error consuming the
   last context token sent to it (when the local side must have been
   fully established but the peer hadn't yet been).  The minor status
   code provides error information from the input token.


You find similar descriptions for GSS_S_FAILURE semantics all over
the GSS-API specification _on_purpose_, and you _may_not_ remove that
meaning here.

You may at most add a hint that the minor_status(!!) that must
accompany a GSS_S_FAILURE major_status returned from
gss_process_context_token() may not just cover reasons that are
a "local matter" (i.e. implementation issue of the current gssapi
mechanism) but include reasons conveyed through an error token
from the remote side.  It will be impossible to define portable
behaviour to programmatically react to specific such reasons,
because what will be returned is not just a local issue, but
a remote plus local issue combined.


And Ben is right that GSS_S_FAILURE is explicitly supposed to include
situations of local resource shortage (no more memory, no more filehandles,
no more socket handles, whathaveyou).

Btw. any minor_status that conveys an error from a remote peer that
was carried in an error token ought to clearly say that this information
came from the remote peer (and is not a local error) in the textual
translation from gss_display_status().


-Martin