Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII

Eliot Lear <lear@cisco.com> Fri, 19 May 2017 18:07 UTC

Return-Path: <lear@cisco.com>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50605129ADF; Fri, 19 May 2017 11:07:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.503
X-Spam-Level:
X-Spam-Status: No, score=-14.503 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 s6BMm6-QPW_D; Fri, 19 May 2017 11:07:02 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 75BEF129AD7; Fri, 19 May 2017 11:07:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7786; q=dns/txt; s=iport; t=1495217221; x=1496426821; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=FLrXf0rfKdxxuCuF9erD2HdcGnYkqcTqRz889ui+bJ8=; b=kbzbISYidRDyAI6LaRuSeQD4Zi6oqcuTKe/G1fB3Uvt+GR6lUikFzh2W KGkTL5gCV0GVOCbiMF5vSW3jtqlUO5VDyl9YIbwbz8CN0nGg/mfdReSW2 GZgFnHUzrut0XGfuGNEwZLaEW9WwaUuEBoxySnm7MeDmUKFuMezFQ1mfU M=;
X-Files: signature.asc : 481
X-IronPort-AV: E=Sophos;i="5.38,365,1491264000"; d="asc'?scan'208";a="654809896"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 May 2017 18:06:59 +0000
Received: from [10.61.86.141] (ams3-vpn-dhcp5774.cisco.com [10.61.86.141]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v4JI6xOE016706; Fri, 19 May 2017 18:06:59 GMT
To: "Douglas Gash (dcmgash)" <dcmgash@cisco.com>, Alan DeKok <aland@deployingradius.com>, "t.petch" <ietfc@btconnect.com>
Cc: IETF OOPSAWG <opsawg@ietf.org>, "draft-ietf-opsawg-tacacs@ietf.org" <draft-ietf-opsawg-tacacs@ietf.org>
References: <D53BBCC7.22ECC8%dcmgash@cisco.com> <61D9FC7A-6F10-44E6-8400-578C4FEE1988@deployingradius.com> <D53C62F4.22F82E%dcmgash@cisco.com> <E7D62944-46B9-4091-BF16-0AF8CA47626D@deployingradius.com> <fc8a1ff5-db6f-d463-8ff7-77ec03f1f25f@gmail.com> <006101d2cd9c$e8c0afe0$4001a8c0@gateway.2wire.net> <D53FAB1A.23396E%dcmgash@cisco.com> <010d01d2ce79$477ceda0$4001a8c0@gateway.2wire.net> <D5411107.2340EF%dcmgash@cisco.com> <632EB4D0-15C0-4BF7-9187-9AFCD7EDE306@ll.mit.edu> <D54116DA.23412A%dcmgash@cisco.com> <6B9DFA23-41BD-4896-B80C-EC0EAB51D5FD@deployingradius.com> <017f01d2d08c$7096de20$4001a8c0@gateway.2wire.net> <61BFF2A7-680E-433F-8D7E-E0F0B95A2DC6@deployingradius.com> <D544ECD9.2353FB%dcmgash@cisco.com>
From: Eliot Lear <lear@cisco.com>
Message-ID: <5210a082-6c5d-c7fc-b55d-abe11689c090@cisco.com>
Date: Fri, 19 May 2017 20:06:58 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <D544ECD9.2353FB%dcmgash@cisco.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="WVANWNthiddotbAWlmD3m5t6jM58xdmE1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/h9Yan80s1zIjm3AgKh8XXKBpD8Q>
Subject: Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 18:07:04 -0000

Isn't this handled by RFC 20?


On 5/19/17 7:51 PM, Douglas Gash (dcmgash) wrote:
>
> On 19/05/2017 18:11, "Alan DeKok" <aland@deployingradius.com> wrote:
>
>> On May 19, 2017, at 6:38 AM, t.petch <ietfc@btconnect.com> wrote:
>>> Another fresh topic, so a slight change in the Subject:
>>>
>>> I think that the use of the term ASCII needs more thought.
>>  Speaking only as an opinionated WG member... yes.
>>
>>> d) in some places, I think that the term ASCII is being used too
>>> loosely.  ASCII is a character set and an encoding.  If you simply say
>>> US-ASCII, then you are including DC3 and FF, for example, which are
>>> unlikely to be valid.  Some use US-ASCII to mean printable ASCII, some
>>> to mean alphameric plus a few others such as hyphen-minus and period.
>>> This needs defining.  I don't know how many different character sets you
>>> have - I was surprised that '&£#' (or some such) is a valid identifier
>>> in places where an equal sign is not - so this needs more work.
>>  I agree.
> Will align the ASCII references for sure, and tie down. I propose to
> restrict to printable. Though, to add to complexity: it is common
> practice, for example, to include newline in banners.
>
>>> e) this leads into data types, which Alan raised.  Boolean is used as a
>>> data type. (I have seen it as a character string of 'true'/'false' of
>>> '0'/'1' with zero meaning either true or false or vice versa or as a
>>> binary integer of some number of bits or ....)  As Alan implied, section
>>> 7 and others are full of data types but on the one hand, what type it is
>>> is usually omitted and on the other hand, the data types are not
>>> defined.
>>  The main issue with data types is that TACACS+ is a protocol based on
>> printable strings.  So "data types" really means "printed versions of
>> data types", which is a lot more problematic than "32-bit integer".
> I agree. Will put a section in regarding at a types, specifically for
> attributes (As Alan pointed out).
>
>>> You need to define datatypes; from the current I-D, I do not know how
>>> many there would be; probably not many.  Look for example at TLS
>>> (RFC5246) or YANG (RFC6020) which nail down the datatypes, semantic and
>>> encoding, before they define data structures.  This is what I think that
>>> you should do, on a smaller scale.  Since YANG is being so widely
>>> deployed, you would get brownie points IMO for being in line with YANG
>>> wherever possible
>>  That's good, tho there are inconsistencies.  e.g. Yang "string" doesn't
>> exactly map to TACACS+ "US-ASCII thing".  Yang "boolean" is "true/false",
>> while TACACS+ has used "yes/no".
>>
>>  We added data types to RADIUS, because it had (roughly) data types from
>> day one, 32-bit integers, and all of the implementors had already agreed
>> on meanings / encodings for them.  So RFC8044 was just a codification of
>> existing practices, and not any change to implementations.
>>
>>  Then there's the additional issue of trying to define data types for a
>> protocol that's entirely string based, and has 18 years of implementation
>> practice.
>>
>>  i.e. before defining data types, it would be good to know what
>> implementors have done, and then define types that match that.
>>
>>  However, implementors are largely silent about all possible TACACS+
>> issues.  Which makes me think that the draft should name the data types,
>> but be a bit vague about what they contain.
> Agreed, but try to be explicit about the vagueness.
>
>
>>> I see a need for boolean, character string/text, IPv4 address, IPv6
>>> address, time interval, integer (positive ?negative).  I would like a
>>> section on datatypes at the front, section 1 or 2.
>>  I'd agree, subject to the caveats raised above.  i.e. "boolean is
>> boolean, typically yes/no, but maybe also true/false, we really don't
>> know..."
>>
>>> f) in a similar vein, you use what I take to be hexadecimal
>>> representation but are inconsistent with it. I see
>>> OX0D 0x0D 0x1 0x01
>>> This should be consistent and is also worth defining, as a
>>> representation.
>>  I agree, subject to the same caveats.  It would also be nice to know
>> what implementations do...
>>
>>> g) and then there is i18n, which gets an implicit mention with UTF8 but
>>> harks back to d).  How much of UTF8 is allowed and where; it encompasses
>>> over 65k characters these day:-(
>
> Well, the approach we had in mind is printable US-ASCII for all fields,
> apart form username and passwords, which are the hard points in
> interfacing to identity provides which support. For these fields, to allow
> UTF-8 on top of the byte streams.
>
>
>>  IMHO, the draft should just mention 18n, and run away screaming. :(
>>
>>  As in, "we know about it, we don't know how to fix it, we don't know
>> what implementations do, the fields are defined to be US-ASCII, if they
>> contain anything else, that's bad."
>>
>>> This amounts to a lot of potential detailed change, but I would like to
>>> see consensus on the approach first before edits are proposed or made.
>>  I think this is the right approach.
>>
>>  Alan DeKok.
>>
> _______________________________________________
> OPSAWG mailing list
> OPSAWG@ietf.org
> https://www.ietf.org/mailman/listinfo/opsawg
>