summary refs log tree commit diff
path: root/blaze822.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* blaze822_priv.h: macro cleanupChristian Neukirchen2016-07-131-6/+0
|
* blaze822: api refactoringChristian Neukirchen2016-07-131-50/+39
|
* blaze822: don't prefix first header with nul bytesChristian Neukirchen2016-07-131-111/+73
| | | | | Instead, look for the first header as a special case. This allows us to parse a header as-is without shifting in memory.
* blaze822: parsing of in-memory messagesChristian Neukirchen2016-07-131-0/+130
|
* blaze822: header cleanupChristian Neukirchen2016-07-131-6/+4
|
* blaze822: hackfixChristian Neukirchen2016-07-121-1/+1
|
* blaze822: default to 0 seconds when none givenChristian Neukirchen2016-07-121-0/+2
|
* blaze822: only increment end if we found the a header separatorChristian Neukirchen2016-07-121-1/+1
|
* blaze822: avoid tolowerChristian Neukirchen2016-07-121-1/+4
|