Hi Deri, At 2024-12-18T17:41:59+0000, Deri wrote: > On Wednesday, 18 December 2024 01:07:45 GMT G. Branden Robinson wrote: > > This is an extremely helpful presentation. I have some questions. > > > > 1. Where was the foregoing distinction documented in, say, the > > groff 1.22.3 era? > > > > 2. How confident are you that these distinctions were consciously > > designed in, and to what _extent_ do you think that was the > > case? Are they (or were they, back in groff 1.22.4 and earlier) > > consistent between .devicem and \Y as well? > > > > 3. I want to understand one of your applications better. [...] > Explication part 2. > > Although the concept of in-band and side-band streams is a well known > concept,
From AM radio to microarchitectural timing channel attacks! 😈
[rearranging]
> I suspect its presence in groff is only due to the second feature of
> these escapes - that they copy 'anything' to grout (in copy mode)
>
> This feature is well documented,
Yes. That bit of it is.
> and to achieve this groff avoids parsing the line into nodes, so it
> never gets added to the node list. and given the way it was
> implemented, it resulted in the side-band channel.
Yes. That bit of it was not, and I submit that it is startling behavior
with hard-to-predict consequences unless one thinks to look closely at
the grout GNU troff produces.
> The in-band channel is far more useful and if \!, .output, et al,
> produced a new kind of node which had a value of "anything" in copy
> mode, I would cheer, since synchronicity would be preserved.
I'm thrilled to hear you say that. The tray of surgical instruments
gleams at me seductively.
> After your changes to \X it now provides curated content to grout,
> removing "nodes" from the string (except \ [uXXXX]), it would be nice
> to have an in-band "anything" escape.
Agreed. I think it would be nice to close the side channel and come up
with a different way to encapsulate an uninterpreted character stream[1]
(that can be constructed on the fly, unlike with `cf` or `trf`) for
embedding in grout, and at a point in the stream that is (fairly) easily
predictable given any text, requests, or escape sequences in propinquity
to it.
Mmmm. Good objective for 1.25.
Regards,
Branden
[1] You already know what's coming. My hobnail boots and swagger stick
say "you get code points 0x20 to 0x7E in your uninterpreted stream
and nothing else".
signature.asc
Description: PGP signature
