CRLFDOT (filter)

From Mailutils
Revision as of 16:52, 16 December 2017 by Gray (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The CRLFDOT filter is useful for data I/O in such protocols as POP3 and SMTP.

In encode mode, this filter replaces each LF ('\n' or ASCII 10) character by CRLF ("\r\n", ASCII 13 10), and "byte-stuffs" the output by producing an additional '.' in front of any '.' appearing at the beginning of a line in input. Upon end of input, it outputs additional ".\r\n", if the last output character was '\n', or "\r\n.\r\n" otherwise.

If created with the -n option, it preserves each CRLF input sequence untranslated, thereby "normalizing" the output (hence the option name).

When decoding, the reverse is performed: each CRLF is replaced by a single LF byte, and additional dots are removed from beginning of lines. A single dot on a line by itself marks the end of the stream and causes the filter to return EOF.

See also