Re: KITTEN: IETF 75 - 76

Nicolas Williams <Nicolas.Williams@sun.com> Thu, 03 September 2009 16:20 UTC

Return-Path: <Nicolas.Williams@sun.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 5614B3A6D64 for <kitten@core3.amsl.com>; Thu, 3 Sep 2009 09:20:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.846
X-Spam-Level:
X-Spam-Status: No, score=-5.846 tagged_above=-999 required=5 tests=[AWL=0.200, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553, 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 KOs3-dK1oKva for <kitten@core3.amsl.com>; Thu, 3 Sep 2009 09:20:09 -0700 (PDT)
Received: from sca-ea-mail-4.sun.com (sca-ea-mail-4.Sun.COM [192.18.43.22]) by core3.amsl.com (Postfix) with ESMTP id 3F6363A6D8B for <kitten@ietf.org>; Thu, 3 Sep 2009 09:20:02 -0700 (PDT)
Received: from dm-central-01.central.sun.com ([129.147.62.4]) by sca-ea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n83FvCUq006899 for <kitten@ietf.org>; Thu, 3 Sep 2009 15:57:12 GMT
Received: from binky.Central.Sun.COM (binky.Central.Sun.COM [129.153.128.104]) by dm-central-01.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL, v2.2) with ESMTP id n83FvB4J057010 for <kitten@ietf.org>; Thu, 3 Sep 2009 09:57:11 -0600 (MDT)
Received: from binky.Central.Sun.COM (localhost [127.0.0.1]) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id n83FVH9Q009850; Thu, 3 Sep 2009 10:31:17 -0500 (CDT)
Received: (from nw141292@localhost) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3/Submit) id n83FVGUa009849; Thu, 3 Sep 2009 10:31:16 -0500 (CDT)
X-Authentication-Warning: binky.Central.Sun.COM: nw141292 set sender to Nicolas.Williams@sun.com using -f
Date: Thu, 03 Sep 2009 10:31:16 -0500
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: Jeffrey Hutzelman <jhutz@cmu.edu>
Subject: Re: KITTEN: IETF 75 - 76
Message-ID: <20090903153116.GI1033@Sun.COM>
References: <396484EF-9812-40CE-9221-F1A1319FD10B@kth.se> <20090901181307.fe1d4efa.miallen@ioplex.com> <98F14484-1B48-45A1-86E7-5E78383F5109@kth.se> <20090901214059.17a309e6.miallen@ioplex.com> <4A9E22D9.9050405@samba.org> <20090902153241.GJ1033@Sun.COM> <20090902172015.da056c19.miallen@ioplex.com> <20090902212652.GX1033@Sun.COM> <395_1251953035_n834hs6R012125_20090902211200.8a2dd378.miallen@ioplex.com> <0AB8FDC38BE7B55EB358D7FA@minbar.fac.cs.cmu.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <0AB8FDC38BE7B55EB358D7FA@minbar.fac.cs.cmu.edu>
User-Agent: Mutt/1.5.7i
Cc: kitten@ietf.org, Love@core3.amsl.com, Volker Lendecke <vl@SerNet.DE>
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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: Thu, 03 Sep 2009 16:20:11 -0000

On Thu, Sep 03, 2009 at 10:45:01AM -0400, Jeffrey Hutzelman wrote:
> Really, I think we have three options here:
> 
> 1) Assume POSIX threads(*).
> 2) Assume POSIX threads(*), but allow the existence of an implementation
>   dependent means of indicating use of some other threading model.

(2) is feasible.  You simply provide completion callbacks and say that
they must be async-signal-safe.

> 3) Recognize that there is no sane way to provide an portable async API
>   without either a portable threading model or a portable event model,
>   and give up.  Applications which want to call the GSS-API in an
>   asynchronous manner can simulate it by running the GSS-API call in
>   its own thread (under a platform-specific thread model).

4) Assume file descriptors and one or more of poll(), select(),
   /dev/poll, kevent, event ports, ...

Since (3) works today I'm very tempted to do nothing.

> (*) This means "you can't have this API unless you have threads".
> Unfortunately, it also means we're in the unenviable position of pushing
> an API which requires the use of threads but is not itself MT-safe.

The GSS-API is not inherently MT-unsafe.  Its MT-safety is not defined
-- _that_ is a problem.  (Should one lock around per-msg token functions
called with the same security context handle?)

Nico
--