Leah Neukirchen
|
11ae5504fd
|
blaze822: blaze822_addr: don't read over the trailing nul byte when resolving \
|
6 years ago |
Leah Neukirchen
|
9dfbf48be4
|
blaze822: blaze822_addr: take care of string end in comments inside <
|
6 years ago |
Leah Neukirchen
|
01b2f1abc6
|
blaze822: blaze822_addr: skip remaining characters when token is full, also with [
|
6 years ago |
Leah Neukirchen
|
5a8bb16289
|
blaze822: blaze822_addr: skip remaining characters when token is full
|
6 years ago |
Leah Neukirchen
|
5fc3115c3f
|
blaze822: blaze822_addr: don't drop last char when comment is not closed
Found by duncaen with afl.
|
6 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.
|
6 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.
|
6 years ago |
Leah Neukirchen
|
6ea32480f1
|
blaze822: blaze822_mmap: fix memleak
Found by clang 7.0.1.
|
6 years ago |
Leah Neukirchen
|
4198cd42fa
|
blaze822: blaze822_mem: fix memleak
Found by clang 7.0.1.
|
6 years ago |
Leah Neukirchen
|
adb5850983
|
blaze822: safe_append: avoid different signedness in comparison
|
6 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.
|
7 years ago |
Leah Neukirchen
|
2708f184e9
|
blaze822: blaze822_addr: empty ttok after using it
|
7 years ago |
Leah Neukirchen
|
86b08d1925
|
blaze822: blaze822_addr: spaces in local-part need quoting too
|
7 years ago |
Leah Neukirchen
|
4e18bb2131
|
blaze822: blaze822_addr: make < in <> reset mail address parsing
|
7 years ago |
Leah Neukirchen
|
fce30ace50
|
blaze822: blaze822_addr: move previous addr contents to disp
|
7 years ago |
Leah Neukirchen
|
09c92d5dd8
|
blaze822: blaze822_addr: <> always resets the address
|
7 years ago |
Leah Neukirchen
|
effc645f8a
|
blaze822: safe_append: off by one
|
7 years ago |
Leah Neukirchen
|
a5026c9b99
|
blaze822: blaze822_addr: rewrite address parsing
This hopefully fixes many bugs and subtleties related to extracting
adresses.
|
7 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
|
8 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 |
Christian Neukirchen
|
7b6436797c
|
blaze822: remaining fixes in new loop
|
8 years ago |
Christian Neukirchen
|
1ff1ff3dd0
|
blaze822: avoid overflow in blaze822_hdr_
|
8 years ago |