Commit Graph

75 Commits (604afb501107cf9f7b0d0a60fbeade525e8ab1fd)

Author SHA1 Message Date
Leah Neukirchen 604afb5011 mytimegm: replace with own implementation 4 years ago
Leah Neukirchen 081a9404cd blaze822: blaze822_addr: fix parsing of () at end of string
Found by lhynes.
5 years ago
Leah Neukirchen 11ae5504fd blaze822: blaze822_addr: don't read over the trailing nul byte when resolving \ 5 years ago
Leah Neukirchen 9dfbf48be4 blaze822: blaze822_addr: take care of string end in comments inside < 5 years ago
Leah Neukirchen 01b2f1abc6 blaze822: blaze822_addr: skip remaining characters when token is full, also with [ 5 years ago
Leah Neukirchen 5a8bb16289 blaze822: blaze822_addr: skip remaining characters when token is full 5 years ago
Leah Neukirchen 5fc3115c3f blaze822: blaze822_addr: don't drop last char when comment is not closed
Found by duncaen with afl.
5 years ago
Leah Neukirchen 3d3fffd7e8 blaze822: blaze822_addr: fix reading over the end of address if it ends with , or ;
Found by duncaen with afl.
5 years ago
Leah Neukirchen 3f2c714b42 blaze822: safe_append: fixes for various border cases
This fixes dstmax == dstlen and when src is completely full.

Found by duncaen with afl.
5 years ago
Leah Neukirchen 6ea32480f1 blaze822: blaze822_mmap: fix memleak
Found by clang 7.0.1.
5 years ago
Leah Neukirchen 4198cd42fa blaze822: blaze822_mem: fix memleak
Found by clang 7.0.1.
5 years ago
Leah Neukirchen adb5850983 blaze822: safe_append: avoid different signedness in comparison 5 years ago
Leah Neukirchen 35c11688eb blaze822: compress_hdr: avoid stepping h too far
This resulted in the message consisting of the empty line to contain a
single header which consisted of only a space.
6 years ago
Leah Neukirchen 2708f184e9 blaze822: blaze822_addr: empty ttok after using it 6 years ago
Leah Neukirchen 86b08d1925 blaze822: blaze822_addr: spaces in local-part need quoting too 6 years ago
Leah Neukirchen 4e18bb2131 blaze822: blaze822_addr: make < in <> reset mail address parsing 6 years ago
Leah Neukirchen fce30ace50 blaze822: blaze822_addr: move previous addr contents to disp 6 years ago
Leah Neukirchen 09c92d5dd8 blaze822: blaze822_addr: <> always resets the address 6 years ago
Leah Neukirchen effc645f8a blaze822: safe_append: off by one 6 years ago
Leah Neukirchen a5026c9b99 blaze822: blaze822_addr: rewrite address parsing
This hopefully fixes many bugs and subtleties related to extracting
adresses.
6 years ago
Leah Neukirchen be6bbf6056 blaze822: blaze822_addr: ensure strlen is not run on null pointer
Found by Larry Hynes.
7 years ago
Leah Neukirchen ce9ac3aff4 blaze822: blaze822_addr: quote local-part if needed 7 years ago
Leah Neukirchen 66d0eff12f style 7 years ago
Leah Neukirchen 635dfe95ad blaze822: blaze822_addr: support backslashes in atoms
This happens a lot in the real world, even if it's not RFC conforming.
7 years ago
Leah Neukirchen ea32b6a45e blaze822: blaze822_addr: ensure space for terminal null 7 years ago
Leah Neukirchen 4ac581b131 blaze822: blaze822_addr: unquote quoted strings 7 years ago
Leah Neukirchen 4d2607fe21 blaze822: blaze822_addr: skip spaces after > 7 years ago
Leah Neukirchen 10a011b94e blaze822: blaze822_addr: use memcpy instead of strcpy, we know the length 7 years ago
Leah Neukirchen 2b4e3aa66d clean up whitespace 7 years ago
Christian Neukirchen 06cc4bd693 mblaze822: blaze822_addr: add simple group parsing
Just ignores the group name, and considers ; an address separator too.
8 years ago
Christian Neukirchen e725365d45 blaze822: blaze822_addr: add bounds check when extracting display name
Discovered using the TREC 2005 Spam Public Corpora.
http://plg.uwaterloo.ca/~gvcormac/treccorpus/README.html
8 years ago
Christian Neukirchen 4bb35cbead blaze822: blaze822_addr: make a bit more robust
Start over when seeing another < in the address part.

Support "..." in the address part.
8 years ago
Christian Neukirchen d458439970 import and use timegm from musl
It's ridiculous this function is not in the standards.
8 years ago
Christian Neukirchen 7575e07b9f blaze822: keep a pointer to the original header, if we have it anyway 8 years ago
Christian Neukirchen 2aaa3cecd8 blaze822: blaze822_chdr: downcase header 8 years ago
Christian Neukirchen 4296c369f6 blaze822: blaze822_hdr_: off-by-one for first header 8 years ago
Christian Neukirchen 7636f0977c blaze822: blaze822_file: allocate enough space for read 8 years ago
Christian Neukirchen 3d0c2f8b47 cleanups 8 years ago
Christian Neukirchen fc4c696e3d blaze822: blaze822_file: allow unknown file size (e.g. pipes) 8 years ago
Christian Neukirchen 6592bdb912 import musl memmem 8 years ago
Christian Neukirchen 182a32ff9d blaze822: blaze822_addr: return 0 when no address is found
Also return null pointers instead of empty strings.
8 years ago
Christian Neukirchen ac679b264c blaze822: fix header finding with CRLF 8 years ago
Christian Neukirchen 98c03d9023 blaze822: forgot to free
Found by clang-analyzer.
8 years ago
Christian Neukirchen c12aa23777 blaze822: fix months. duh 8 years ago
Christian Neukirchen 22f456a2a0 clean up header includes 8 years ago
Christian Neukirchen 08032f89ba seq: import most parts of mseq, make blaze822_loop resolve ranges 8 years ago
Christian Neukirchen d1e4b5f503 blaze822: add blaze822_headerlen 8 years ago
Christian Neukirchen 963380c9f1 blaze822: add blaze822_chdr to search for a header passed as C string 8 years ago
Christian Neukirchen 54f695dddf blaze822: iterate over headers 8 years ago
Christian Neukirchen f101b728d9 blaze822: add mmap-based mail reader 8 years ago