summary refs log tree commit diff
path: root/blaze822.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* clean up header includesChristian Neukirchen2016-07-181-8/+8
|
* seq: import most parts of mseq, make blaze822_loop resolve rangesChristian Neukirchen2016-07-181-24/+0
|
* blaze822: add blaze822_headerlenChristian Neukirchen2016-07-161-0/+6
|
* blaze822: add blaze822_chdr to search for a header passed as C stringChristian Neukirchen2016-07-161-0/+9
|
* blaze822: iterate over headersChristian Neukirchen2016-07-141-0/+17
|
* blaze822: add mmap-based mail readerChristian Neukirchen2016-07-141-3/+54
|
* blaze822: remaining fixes in new loopChristian Neukirchen2016-07-141-5/+5
|
* blaze822: avoid overflow in blaze822_hdr_Christian Neukirchen2016-07-141-1/+1
|
* blaze822: rewrite inner loopChristian Neukirchen2016-07-131-44/+58
| | | | | Do nul and crlf clean up first, only when required. Replace line-detection loop with strchr.
* blaze822: allow freeing of null pointersChristian Neukirchen2016-07-131-0/+2
|
* blaze822: blaze822_mem: use body=bodyend instead of body=0Christian Neukirchen2016-07-131-1/+2
| | | | | Else we lose track of where we are during multipart when there is no body (really a body of length 0).
* blaze822: detect too short/empty headersChristian Neukirchen2016-07-131-0/+3
|
* blaze822: compression fixesChristian Neukirchen2016-07-131-2/+4
|
* blaze822: give in and actually unfold the linesChristian Neukirchen2016-07-131-10/+22
|
* blaze822: free line in blaze822_loopChristian Neukirchen2016-07-131-0/+1
|
* blaze822: off by one in blaze822_memChristian Neukirchen2016-07-131-1/+1
|
* blaze822: fix blaze822_mem body startChristian Neukirchen2016-07-131-6/+9
|
* blaze822: fix blaze822_file return value on errorChristian Neukirchen2016-07-131-1/+1
|