Thus said Ken Hornstein on Wed, 22 Feb 2023 20:59:31 -0500:
> I had an inkling popular MTAs would DTRT.
Well, qmail's hardly "popular" these days, but Professor Bernstein had a
penchant to make string handling robust to avoid exploits, so he got NUL
handling as a benefit.
I run minority MTA
>While POP's LIST does actually include the size of the message in bytes,
>that's prior to any CRLF mangling that happens so it cannot be used
>reliably as a method for determining when to stop reading. Unfortunate.
Right, but that's mostly because of the way multiline responses are
handled
Thus said Ken Hornstein on Tue, 21 Feb 2023 21:29:16 -0500:
> So you're told "I am sending this many bytes exactly", and you don't
> have to deal with "lines", so the implementations I've seen tend to
> call read() (or the equivalent) until they get the correct number of
> bytes, and
> > I wonder if it would be better to use fwrite instead of write, to
> > avoid mixing stdio and Posix-style output? (It would also avoid an
> > unbuffered write of 1 byte.)
> Good point. How about the attached?
Looks sensible to me!
David.