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" <al...@deployingradius.com> wrote:
>
>> On May 19, 2017, at 6:38 AM, t.petch <ie...@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
>


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
OPSAWG mailing list
OPSAWG@ietf.org
https://www.ietf.org/mailman/listinfo/opsawg

Reply via email to