summary refs log tree commit diff
path: root/rfc2047.c
Commit message (Collapse)AuthorAgeFilesLines
* rfc2047: blaze822_decode_rfc2047: fix memory leak of srcencLeah Neukirchen2018-01-111-1/+1
|
* rfc2047: blaze822_decode_rfc2047: check for NUL bytes at the very end of ↵Leah Neukirchen2017-12-051-3/+9
| | | | decoding
* rfc2047: blaze822_decode_rfc2047: don't decode encoded-words that contain ↵Leah Neukirchen2017-12-051-1/+4
| | | | | | | | | | | | | | | | | | NUL bytes This is a lax interpretation of RFC 2047, 4.5: > Only printable and white space character data should be encoded using > this scheme. However, since these encoding schemes allow the > encoding of arbitrary octet values, mail readers that implement this > decoding should also ensure that display of the decoded data on the > recipient's terminal will not cause unwanted side-effects. Since many of the code that deals with header values does not support inline NUL bytes, it's best to not decode them here. We check for this after iconv, so quoted-printable UTF-32 e.g. should be safe. Also see https://www.mailsploit.com/
* rfc2047: blaze822_decide_rfc2047: ensure enough space for NUL-terminationLeah Neukirchen2017-11-111-2/+2
| | | | Closes #76.
* use appropriate integer typesLeah Neukirchen2017-10-061-1/+1
| | | | Mainly found with clang -Wconversion -Wshorten-64-to-32.
* rfc2047: blaze822_decode_qp: decode invalid qp-codes as literalLeah Neukirchen2017-09-271-3/+3
|
* styleLeah Neukirchen2017-08-311-3/+3
|
* rfc2047: blaze822_decode_b64: ensure nul-termination of resultLeah Neukirchen2017-07-301-1/+3
| | | | Fixes #70.
* rfc2047: blaze822_decode_rfc2047: ignore RFC 2231 language tagLeah Neukirchen2017-04-061-0/+3
|
* rfc2047: only decode _ as spaces when decoding headersChristian Neukirchen2016-11-081-3/+3
|
* rfc2047: blaze822_decode_qp: don't waste 75% memoryChristian Neukirchen2016-11-021-1/+1
|
* rfc2047: detect partial multibyte sequences and decode them correctlyChristian Neukirchen2016-10-141-9/+49
|
* rfc2047: blaze822_decode_qp: skip =CRLFChristian Neukirchen2016-07-291-0/+2
|
* rfc2047: allow empty encoded-wordsChristian Neukirchen2016-07-291-1/+1
| | | | This is non-conforming, but happens in the wild occasionally.
* rfc2047: blaze822_decode_rfc2047: initialize dec and decchunk.Christian Neukirchen2016-07-211-2/+2
| | | | Found by clang-analyzer.
* clean up header includesChristian Neukirchen2016-07-181-2/+2
|
* rfc2047: decode ??? on errorsChristian Neukirchen2016-07-151-3/+12
|
* rfc2047: revert in blaze822_decode_b64Christian Neukirchen2016-07-151-15/+2
|
* rfc2047: try sliced version of blaze822_decode_b64 (no benefit in practise)Christian Neukirchen2016-07-151-2/+15
|
* rfc2047: blaze822_decode_b64: check boundsChristian Neukirchen2016-07-141-23/+30
|
* rfc2047: blaze822_decode_qp: check boundsChristian Neukirchen2016-07-141-1/+5
|
* rfc2047: blaze822_decode_qp: off-by-one in qp decodingChristian Neukirchen2016-07-131-1/+1
|
* rfc2047: free all things in blaze822_decode_rfc2047Christian Neukirchen2016-07-131-2/+8
|
* blaze822_priv.h: add isfwsChristian Neukirchen2016-07-131-2/+2
|
* blaze822_priv.h: macro cleanupChristian Neukirchen2016-07-131-4/+2
|
* blaze822: api refactoringChristian Neukirchen2016-07-131-4/+5
|
* rfc2047: detect iconv_open error properlyChristian Neukirchen2016-07-121-3/+1
|
* rfc2047: suppress common error messagesChristian Neukirchen2016-07-121-4/+8
|
* rfc2047: consistencyChristian Neukirchen2016-07-121-2/+5
|
* rfc2047: better base64 memory boundChristian Neukirchen2016-07-121-1/+1
|
* rfc2047: avoid tolowerChristian Neukirchen2016-07-121-1/+4
|
* rfc2047: handle uint properlyChristian Neukirchen2016-07-121-4/+15
|
* fix unsigned computationChristian Neukirchen2016-07-121-1/+1
|
* add rfc2047 decoderChristian Neukirchen2016-07-111-0/+216