about summary refs log tree commit diff
path: root/blaze822.c
Commit message (Collapse)AuthorAgeFilesLines
* blaze822: blaze822/blaze822_mem: detect line ending before scanning end of ↵Leah Neukirchen2021-08-301-12/+31
| | | | | | | | | | | | header A mail using CRLF which contained (for some reason) a LFLF pair would be misparsed as the header was read until the LFLF. Instead, scan for the first LF, check if it's preceded by CR, and then search for the proper header terminator only. Closes #212.
* blaze822: remove blaze822_mmap, never used.Leah Neukirchen2021-08-301-49/+0
|
* seq: - now refers to the message on stdin, use .- for previous messageLeah Neukirchen2020-07-031-1/+5
|
* blaze822: blaze822_addr: null-terminate ttok at the current position before ↵Leah Neukirchen2020-04-031-0/+1
| | | | appending
* blaze822: blaze822_addr: don't force add space before quoted wordsLeah Neukirchen2020-04-031-2/+0
|
* blaze822: blaze822_addr: ignore leading obs-routeLeah Neukirchen2020-04-031-1/+1
|
* mytimegm: replace with own implementationLeah Neukirchen2020-03-281-1/+1
|
* blaze822: blaze822_addr: fix parsing of () at end of stringLeah Neukirchen2019-03-011-1/+1
| | | | Found by lhynes.
* blaze822: blaze822_addr: don't read over the trailing nul byte when resolving \Leah Neukirchen2019-02-281-1/+1
|
* blaze822: blaze822_addr: take care of string end in comments inside <Leah Neukirchen2019-02-281-1/+3
|
* blaze822: blaze822_addr: skip remaining characters when token is full, also ↵Leah Neukirchen2019-02-271-0/+2
| | | | with [
* blaze822: blaze822_addr: skip remaining characters when token is fullLeah Neukirchen2019-02-271-0/+2
|
* blaze822: blaze822_addr: don't drop last char when comment is not closedLeah Neukirchen2019-02-271-1/+2
| | | | Found by duncaen with afl.
* blaze822: blaze822_addr: fix reading over the end of address if it ends with ↵Leah Neukirchen2019-02-271-1/+2
| | | | | | , or ; Found by duncaen with afl.
* blaze822: safe_append: fixes for various border casesLeah Neukirchen2019-02-271-2/+5
| | | | | | This fixes dstmax == dstlen and when src is completely full. Found by duncaen with afl.
* blaze822: blaze822_mmap: fix memleakLeah Neukirchen2019-02-101-0/+1
| | | | Found by clang 7.0.1.
* blaze822: blaze822_mem: fix memleakLeah Neukirchen2019-02-101-1/+3
| | | | Found by clang 7.0.1.
* blaze822: safe_append: avoid different signedness in comparisonLeah Neukirchen2019-02-031-6/+9
|
* blaze822: compress_hdr: avoid stepping h too farLeah Neukirchen2018-03-021-1/+1
| | | | | This resulted in the message consisting of the empty line to contain a single header which consisted of only a space.
* blaze822: blaze822_addr: empty ttok after using itLeah Neukirchen2018-01-141-0/+1
|
* blaze822: blaze822_addr: spaces in local-part need quoting tooLeah Neukirchen2018-01-141-1/+1
|
* blaze822: blaze822_addr: make < in <> reset mail address parsingLeah Neukirchen2018-01-141-0/+3
|
* blaze822: blaze822_addr: move previous addr contents to dispLeah Neukirchen2018-01-131-0/+6
|
* blaze822: blaze822_addr: <> always resets the addressLeah Neukirchen2018-01-131-0/+1
|
* blaze822: safe_append: off by oneLeah Neukirchen2018-01-131-1/+1
|
* blaze822: blaze822_addr: rewrite address parsingLeah Neukirchen2018-01-071-66/+125
| | | | | This hopefully fixes many bugs and subtleties related to extracting adresses.
* blaze822: blaze822_addr: ensure strlen is not run on null pointerLeah Neukirchen2017-10-081-1/+1
| | | | Found by Larry Hynes.
* blaze822: blaze822_addr: quote local-part if neededLeah Neukirchen2017-10-031-0/+26
|
* styleLeah Neukirchen2017-08-311-6/+6
|
* blaze822: blaze822_addr: support backslashes in atomsLeah Neukirchen2017-06-131-1/+5
| | | | This happens a lot in the real world, even if it's not RFC conforming.
* blaze822: blaze822_addr: ensure space for terminal nullLeah Neukirchen2017-06-131-1/+1
|
* blaze822: blaze822_addr: unquote quoted stringsLeah Neukirchen2017-06-121-1/+4
|
* blaze822: blaze822_addr: skip spaces after >Leah Neukirchen2017-06-031-0/+2
|
* blaze822: blaze822_addr: use memcpy instead of strcpy, we know the lengthLeah Neukirchen2017-06-031-2/+4
|
* clean up whitespaceLeah Neukirchen2017-01-261-16/+16
|
* mblaze822: blaze822_addr: add simple group parsingChristian Neukirchen2016-09-071-1/+6
| | | | Just ignores the group name, and considers ; an address separator too.
* blaze822: blaze822_addr: add bounds check when extracting display nameChristian Neukirchen2016-09-011-1/+1
| | | | | Discovered using the TREC 2005 Spam Public Corpora. http://plg.uwaterloo.ca/~gvcormac/treccorpus/README.html
* blaze822: blaze822_addr: make a bit more robustChristian Neukirchen2016-08-091-2/+15
| | | | | | Start over when seeing another < in the address part. Support "..." in the address part.
* import and use timegm from muslChristian Neukirchen2016-08-081-1/+1
| | | | It's ridiculous this function is not in the standards.
* blaze822: keep a pointer to the original header, if we have it anywayChristian Neukirchen2016-08-061-1/+9
|
* blaze822: blaze822_chdr: downcase headerChristian Neukirchen2016-08-011-0/+4
|
* blaze822: blaze822_hdr_: off-by-one for first headerChristian Neukirchen2016-07-291-2/+4
|
* blaze822: blaze822_file: allocate enough space for readChristian Neukirchen2016-07-291-3/+4
|
* cleanupsChristian Neukirchen2016-07-261-16/+5
|
* blaze822: blaze822_file: allow unknown file size (e.g. pipes)Christian Neukirchen2016-07-261-9/+48
|
* import musl memmemChristian Neukirchen2016-07-261-10/+7
|
* blaze822: blaze822_addr: return 0 when no address is foundChristian Neukirchen2016-07-251-9/+8
| | | | Also return null pointers instead of empty strings.
* blaze822: fix header finding with CRLFChristian Neukirchen2016-07-211-3/+6
|
* blaze822: forgot to freeChristian Neukirchen2016-07-211-0/+1
| | | | Found by clang-analyzer.
* blaze822: fix months. duhChristian Neukirchen2016-07-181-2/+2
|