Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version number relationship to ASCII and UTF-8 #507

Closed
aphillips opened this issue Oct 23, 2022 · 1 comment · Fixed by #511
Closed

Version number relationship to ASCII and UTF-8 #507

aphillips opened this issue Oct 23, 2022 · 1 comment · Fixed by #511
Assignees
Labels
i18n-needs-resolution Issue the Internationalization Group has raised and looks for a response on.

Comments

@aphillips
Copy link

3.2.2.1 version
https://www.w3.org/TR/trace-context-2/#version

version = 2HEXDIGLC ; this document assumes version 00. Version ff is forbidden

The value is US-ASCII encoded (which is UTF-8 compliant).

Version (version) is 1 byte representing an 8-bit unsigned integer. Version ff is invalid. The current specification assumes the version is set to 00

The ABNF is 2HEXDIGLC (which is two lowercase hex digits, e.g. [0-9a-f]). Mentioning US-ASCII or UTF-8 here is misleading and/or confusing, since non-ASCII characters are not permitted and EBCDIC would be unexpected 😉. It is the case that ASCII is a subset of UTF-8, but pointing this out doesn't really add anything to your spec.

The text about the "version" being "1 byte" is also confusing, since the hex digits are two-bytes long. I would probably change your description to say:

version = 2HEXDIGLC ; this document assumes version 00. Version ff is forbidden

Version (version) is an 8-bit unsigned integer value, serialized as an ASCII string. Version ff is invalid. The value can be stored as a single byte. This specification assumes the version is set to 00.

@aphillips aphillips added the i18n-needs-resolution Issue the Internationalization Group has raised and looks for a response on. label Oct 23, 2022
basti1302 pushed a commit to instana/trace-context that referenced this issue Dec 1, 2022
This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes w3c#507
basti1302 pushed a commit to instana/trace-context that referenced this issue Dec 1, 2022
This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes w3c#507
@basti1302
Copy link
Contributor

Thanks @aphillips for the proposed new wording. The existing wording was definitely not ideal. I took your suggestion (with minor edits) -> #511.

We will first merge #511 to main branch and then backport it to our level-2 branch which should resolve this issue here. Feel free to take a look at the proposed new wording if you are interested.

basti1302 pushed a commit to instana/trace-context that referenced this issue Dec 1, 2022
This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes w3c#507
basti1302 pushed a commit to instana/trace-context that referenced this issue Dec 1, 2022
This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes w3c#507
kalyanaj pushed a commit that referenced this issue Dec 10, 2022
)

* improve description of version field in traceparent request header

This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes #507

* improve wording for current header version
basti1302 added a commit to instana/trace-context that referenced this issue Dec 21, 2022
…3c#511)

* improve description of version field in traceparent request header

This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes w3c#507

* improve wording for current header version
basti1302 added a commit that referenced this issue Jan 31, 2023
)

* improve description of version field in traceparent request header

This fixes the confusing wording in the description of the version
field, which previously didn't clearly distinguish between a possible
internal representation (1 byte) and the format on the wire
(two ascii chars). New wording (mostly) contributed by @aphillips.

fixes #507

* improve wording for current header version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i18n-needs-resolution Issue the Internationalization Group has raised and looks for a response on.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants