Opened 15 years ago

Last modified 15 years ago

#106 new enhancement

XBATCH documentation

Reported by: Julien ÉLIE Owned by: eagle
Priority: low Milestone:
Component: doc Version:
Severity: wishlist Keywords: compliance
Cc:

Description

XBATCH should probably be documented in an Informational Internet-Draft.

Change History (1)

comment:1 Changed 15 years ago by Julien ÉLIE

Component: innddoc

According to Russ Allbery in an IETF-NNTP posting:

Compressed feeds in general require something that replaces the current data conveyance method so that you can convey arbitrary binary data over NNTP. The problem with the existing NNTP protocol for binary data is that the data MUST end in CRLF, which is considered part of the data. We need some way of avoiding that, or some set of commands that say that the first CRLF of CRLF.CRLF isn't part of the data.

XBATCH is worth documenting. I don't know if it's worth standardizing as BATCH, but I wouldn't mind at all. Most of the work there will be defining the batch format, and that will depend on how many different transforms people feel like writing up (c7unbatch, cunbatch, gunbatch, etc.).

In practice, there are five interesting batch formats: straight rnews, the binary compressed formats for compress, gzip, and bzip2 (cunbatch, gunbatch, and bunbatch respectively), and c7unbatch, which is cunbatch with a transport encoding that I'm not sure anything else uses

The encoding uses characters from 0x20 (' ') through 0x7A ('z'). (That fits nicely into the UUCP 'f' protocol by Piet Beertema.) First, expand three eight-bit charcters into four six-bit ones. Collect until we have 13, and spread the last one over the first 12, so that we have 12 6.5-bit characters. Since there are very few half-bit machines, collect them into pairs, making six 13-bit characters. We can do this as A * 91 + B where A and B are less then 91 after we add 0x20 to make it printable.

All of them except c7unbatch are fairly easy to document. c7unbatch we might be able to get away with just declaring obsolete.

Note: See TracTickets for help on using tickets.