Ari Keränen
2017-07-22 13:34:07 UTC
Hi all,
In the Friday CoRE session we discussed that adding ";" to the allowed characters of SenML names could be useful for accommodating for certain kinds of URIs, like "ni". However, as I mentioned during the meeting, whether the ";" character is safe for names needs to be checked with experts on the topic. We got now feedback that it is *not* safe to use that character and should not be included in the character set.
Therefore, instead of allowing ";" in names, we could consider documenting simple translation rule for "ni" URIs: just switch the ";" into ":". In the ni-URIs the ";" character is used just once: between base64 encoded hash and the algorithm used to generate the hash value [1]. And to avoid issues with encoding the authority part, we could use just the alg-val part of the URI as name.
This could be done in the SenML base spec, or we could leave all such translation / name-mapping rules for future spec(s) since they are just a special case for name generation and not a requirement for SenML as such. I'm perhaps leaning towards the latter option to get SenML shipped now.
Comments / opinions on this?
Cheers,
Ari
[1] https://tools.ietf.org/html/rfc6920#section-3
In the Friday CoRE session we discussed that adding ";" to the allowed characters of SenML names could be useful for accommodating for certain kinds of URIs, like "ni". However, as I mentioned during the meeting, whether the ";" character is safe for names needs to be checked with experts on the topic. We got now feedback that it is *not* safe to use that character and should not be included in the character set.
Therefore, instead of allowing ";" in names, we could consider documenting simple translation rule for "ni" URIs: just switch the ";" into ":". In the ni-URIs the ";" character is used just once: between base64 encoded hash and the algorithm used to generate the hash value [1]. And to avoid issues with encoding the authority part, we could use just the alg-val part of the URI as name.
This could be done in the SenML base spec, or we could leave all such translation / name-mapping rules for future spec(s) since they are just a special case for name generation and not a requirement for SenML as such. I'm perhaps leaning towards the latter option to get SenML shipped now.
Comments / opinions on this?
Cheers,
Ari
[1] https://tools.ietf.org/html/rfc6920#section-3