Re: KITTEN: IETF 75 - 76

Martin Rex <Martin.Rex@sap.com> Mon, 17 August 2009 23:10 UTC

Return-Path: <Martin.Rex@sap.com>
X-Original-To: kitten@core3.amsl.com
Delivered-To: kitten@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 023A63A6CB7 for <kitten@core3.amsl.com>; Mon, 17 Aug 2009 16:10:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.669
X-Spam-Level:
X-Spam-Status: No, score=-5.669 tagged_above=-999 required=5 tests=[AWL=0.580, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nmSE35B0MA8m for <kitten@core3.amsl.com>; Mon, 17 Aug 2009 16:10:17 -0700 (PDT)
Received: from smtpde03.sap-ag.de (smtpde03.sap-ag.de [155.56.68.140]) by core3.amsl.com (Postfix) with ESMTP id 2A0AD3A6A0E for <kitten@ietf.org>; Mon, 17 Aug 2009 16:10:17 -0700 (PDT)
Received: from mail.sap.corp by smtpde03.sap-ag.de (26) with ESMTP id n7HNA9Yo011934 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 18 Aug 2009 01:10:09 +0200 (MEST)
From: Martin Rex <Martin.Rex@sap.com>
Message-Id: <200908172310.n7HNA875008595@fs4113.wdf.sap.corp>
Subject: Re: KITTEN: IETF 75 - 76
To: Nicolas.Williams@sun.com
Date: Tue, 18 Aug 2009 01:10:08 +0200
In-Reply-To: <20090817222500.GC1043@Sun.COM> from "Nicolas Williams" at Aug 17, 9 05:25:01 pm
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal07
X-SAP: out
Cc: kitten@ietf.org, Shawn.Emery@sun.com
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: martin.rex@sap.com
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Mon, 17 Aug 2009 23:10:19 -0000

Nicolas Williams wrote:
> 
> > 
> > hmm, is asynchronous calls related to exportable contexts perhaps...?
> 
> No.  Think of how gss_init_sec_context() and gss_accept_sec_context()
> can go off and do things like: DNS lookups, TGS exchanges, certificate
> validation (including OSCP and/or CRL checking), ...  All those tasks
> must complete before those functions can return, but each of those tasks
> can take a long time to complete or fail to complete.
> 
> I.e., we want versions of gss_init/accept_sec_context() that will do as
> much work as they can, then return without necessarily completing their
> work, instead returning some completion event object so the application
> can wait for completion in its event loop.
> 
> The basic problem here are is that async APIs tend to be very
> OS-specific.  But I think we can still have an OS-agnostic design IF we
> can rely on background threads (i.e., on a multi-threaded process
> model).  Relying on bg-threads might not be feasible on systems where a
> multi-threaded process model can't be relied upon (well, on such systems
> the async functions can just always operate synchronously when called in
> a single-threaded process).

To me that sounds like barking up the wrong tree.

If an application does not want to get blocked, it should use
seperate threads for the UI and other events that it does want
to do in parallel.  The application should take care about
and have control over each an every thread in a process.
Having service APIs create additional threads invisible to
the application will open a huge can of worms.

Maybe you want an API to specify timeouts after which a
gssapi call should give up and return an error?  Ideally,
that should already be configurable in an implementation specific
fashion (but often is not).


-Martin