Web lists-archives.com

Re: textmode for stdout, what is "correct" now?




On Feb 15 20:26, Jeffrey Walton wrote:
> On Thu, Feb 14, 2019 at 10:23 AM Michael Haubenwallner
> <michael.haubenwallner@xxxxxxxxxxxxxxxx> wrote:
> >
> > so I find myself struggling with textmode versus binmode for stdio again.
> >
> > Running the openssl command (from within the apps/ build directory here) does
> > yield different results regarding carriage return depending on the version:
> >
> > $ ./apps/openssl version
> > OpenSSL 1.0.2p  14 Aug 2018
> > $ ./apps/openssl x509 -hash -noout -in /etc/pki/tls/cert.pem | xxd
> > 00000000: 6139 3464 3039 6535 0a                   a94d09e5.
> >
> >
> > $ ./apps/openssl version
> > OpenSSL 1.1.0j  20 Nov 2018
> > $ ./apps/openssl x509 -hash -noout -in /etc/pki/tls/cert.pem | xxd
> > 00000000: 6139 3464 3039 6535 0d0a                 a94d09e5..
> >
> > Some subsequent shell script does create wrong symlink filenames
> > (with embedded CR) when used with openssl-1.1.x.
> >
> > The commit that changed this behaviour in openssl-1.1 is:
> > https://github.com/openssl/openssl/commit/bdd58d98467e9f0f6635c1628e1eae304383afb1
> >
> > From an openssl developer's point of view, I can understand to set
> > textmode when the intent is to output some text, and to set
> > binmode when the intent is to output some binary data.
> >
> > Question now is: These days, what is the correct way to handle this?
> 
> 
> RFC 1421, Privacy Enhanced Mail (PEM)
> (https://www.ietf.org/rfc/rfc1421.txt), is the controlling document.
> Lines should break at 64 characters, and EOL is CRLF pairs.
> 
>  * 64-char lines is covered in section 4.3.2.4, Printable Encodings
>  * CRLF is covered in section 4.3.1  Constraints
> 
> Line breaks at 64 chars is an anachronism (in my opinion), but some
> software still enforces it. Some software will reject keys and
> certificates if not properly broken.

POSIX software has to write the \r explicitely since it can't rely
on DOS textmode.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

Attachment: signature.asc
Description: PGP signature