Should enforcing a string using PRECIS be idempotent? If I apply the enforce operation to a string twice, should I get the same result as applying it just once?
The nickname profile is NOT idempotent for some inputs. 1. Certain characters are NFKC normalized to sequences with ASCII spaces. This can lead to nicknames that begin with a space or contain adjacent interior spaces that are removed if you apply the nickname profile again. U+00A8 => U+0020 U+0308 => U+0308 2. Some characters can be further case mapped after NFKC normalization. U+1F11 => (K) => (k) I also noticed that the RFC 7700 has case-mapping defined only when comparing nicknames. I thought this was confusing. I didn't understand why username is split into two profiles (CasePreserved and CaseMapped), but nickname is not. If not all PRECIS profiles are idempotent, it would help to mention this in the IANA Profile registry, e.g. Idempotent: No. As an implementer, I would prefer profiles that are idempotent. Regards, Bill
_______________________________________________ precis mailing list precis@ietf.org https://www.ietf.org/mailman/listinfo/precis