Difference between revisions of "CRLFDOT (filter)"
Line 1: | Line 1: | ||
The ''CRLFDOT'' filter is useful for data I/O in such protocols as POP3 and SMTP. | The ''CRLFDOT'' filter is useful for data I/O in such protocols as POP3 and SMTP. | ||
− | In [[MU_FILTER_ENCODE|encode]] mode, this filter replaces each LF ('\n' or ASCII 10) character by CRLF ("\r\n", ASCII 13 10), and "[[byte-stuffing|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". | + | In [[MU_FILTER_ENCODE|encode]] mode, this filter replaces each LF ('\n' or ASCII 10) character by CRLF ("\r\n", ASCII 13 10), and "[[byte-stuffing|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 <tt>-n</tt> option, it preserves each CRLF input sequence untranslated, thereby "normalizing" the output (hence the option name). | If created with the <tt>-n</tt> option, it preserves each CRLF input sequence untranslated, thereby "normalizing" the output (hence the option name). |
Revision as of 16:52, 16 December 2017
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.