On Friday, April 08, 2005 09:38:40 AM -0400 Glen Matthews <Glen%montreal.hcl.com@localhost> wrote:
Hi,Is anyone on this list (which seems to include most SSH implementors)going >tohave their SSH implementation inconvenienced by the current text? Thatis,does it affect any real SSH implementation? If it directly affectsyour >code,please let us know.I agree the debate is silly, but I certainly don't want to have to support so-called flat files using the equivalent of lrecl and recfm (I used to program on MVS a few, well, quite a few, years ago). I did this once for an ftp implementation and would rather never do it again. To convert data between systems is damn annoying, frankly - eg ASCII vs. EBCDIC - and why we'd wish this upon ourselves is mystifying. I supposed the point of standards was to make specs system independent. As far as I am concerned, to support anything *other* than the current draft recommendations of <CR> and <LF> combinations would seriously inconvenience my implementation. And I frankly probably wouldn't bother unless a customer specifically requested this. Clearly, the ambiguity in the <CR> and <LF> characters is designed to satisfy *nix and MS systems. I'd prefer just one, and don't care which.
OK; this is starting to get out of hand. We are debating a solution without a clear or consistent view of the requirements. So, let me ask a question...
Are we specifying a local storage format, or a portable interchange format?If we're specifying a local storage format, then it should be defined in terms of lines, using whatever the local conventions happen to be. The document should make no mention of line terminators.
If we're specifying a portable interchange format, then it is essentially a wire protocol, and we must specify the exact format of the octet stream that will actually be exchanged, via whatever protocol (http, ftp, scp, email). If it's going to be text-based, then we should REQUIRE that lines be separated by the Internet-standard line terminator, which is CRLF. We should also RECOMMEND that implemenations be able to handle CR-only and LF-only line terminators, because doing so will likely increase interoperability. We should probably also consider registering a MIME type. (application/ssh-public-key ?)
Now, which is it? -- Jeff