Jan Engelhardt
d1190b496f
Improve address parser for malformed mailbox specifications
...
Spammers use "Name <addr> <addr>" to trick some parsers.
My expectations as to what the outcome should be is presented
in the updated mailboxTest.cpp.
The DFA in mailbox::parseImpl is hereby redone so as to pick the
rightmost address-looking portion as the address, rather than
something in between. While doing so, it will also no longer mangle
the name part anymore (it does this by keeping a "as_if_name"
variable around until the end).
2019-01-25 08:11:07 +01:00
Jan Engelhardt
cc18aa39c1
tests: add more malformation tests to mailboxTest
2019-01-24 13:17:52 +01:00
Vincent Richard
df135b5a8b
Removed 'stringProxy' since COW std::string is no longer valid in C++11.
2018-09-15 07:41:26 +02:00
Vincent Richard
cfd4492915
More tests.
2018-09-06 00:22:34 +02:00
Vincent Richard
7e29cf01fa
Fixed bug in implementation of isStringEqualNoCase().
2018-09-06 00:16:48 +02:00
Vincent Richard
b55bdc9c0b
Code style and clarity.
2018-09-05 23:54:48 +02:00
Vincent Richard
f173b0a535
Avoid copy by passing shared_ptr<> with const reference.
2018-08-18 16:08:25 +02:00
Vincent Richard
abba40e97d
Added unit test related to PR #192 .
2018-03-12 20:33:27 +01:00
Vincent Richard
d7a1b5817e
Issue #186 : SMTPUTF8 is not an argument to RCPT + UTF8 in recipient address must switch the whole message to SMTPUTF8.
2017-12-14 22:11:58 +01:00
Vincent Richard
1592cccb61
Fixed #186 : use SMTPUTF8 only when needed.
2017-12-14 21:39:29 +01:00
Vincent Richard
604b713562
Issue #168 : multiple sequences of 'LF..' not replaced correctly.
2017-03-28 22:31:04 +02:00
Vincent Richard
9a3d6880e8
Fixed issue #160 : invalid characters in hostname.
2017-02-10 21:20:22 +01:00
Vincent Richard
e973619d7e
Issue #163 : default encoder (fallback).
2017-02-08 21:27:10 +01:00
Vincent Richard
ec5f4370b6
Fixed #159 : parsing error on invalid FETCH BODYSTRUCTURE response.
2017-01-18 21:10:10 +01:00
Vincent Richard
c53e914ea5
Always ignore newlines between words.
2017-01-02 21:40:38 +01:00
Vincent Richard
5424aa2381
Fixed #149 : don't loose charset when fixing invalid broken words.
2016-11-05 13:31:54 +01:00
Vincent Richard
b1c2d4b61e
Clarified object construction where 'enabled_shared_from_this' is used. Use it only where it is needed.
2016-04-05 22:11:47 +02:00
Vincent Richard
12781598bd
Fixed special value 'last' in message sets.
2016-03-24 20:34:27 +01:00
Vincent Richard
b03c398b47
Fixed types.
2016-03-23 20:32:13 +01:00
Vincent Richard
4b62ae4174
Issue #126 : fixed warnings about sign mismatch.
2016-03-23 20:05:59 +01:00
Vincent Richard
4fd8976515
Issue #126 : more warnings fixed.
2016-03-13 20:15:22 +01:00
Vincent Richard
3dd5975422
Fixed possible endless loop with some buffer sizes (thanks to John van der Kamp).
2015-06-11 20:03:38 +02:00
Vincent Richard
c446afddd4
Estimate generated size of parameterized field.
2015-06-07 21:32:44 +02:00
Vincent Richard
e88b8eeac2
Fixed parsing of UTF8 email addresses (RFC-2047 local part + IDNA domain name).
2015-05-03 19:17:00 +02:00
Vincent Richard
19321f9026
Fixed unit test so that is does not depend on the current locale charset.
2015-02-19 21:24:41 +01:00
Vincent Richard
c5c66f9fdc
Issue #103 : fix badly encoded words.
2015-02-16 18:43:03 +01:00
Vincent Richard
e7739c0efe
Fixed issue #98 : support for wrongly padded B64 words.
2015-01-14 19:35:28 +01:00
Vincent Richard
a32bb6c954
Fixed 'body_fld_lang' optional in IMAP response.
2014-09-19 18:31:43 +02:00
Vincent Richard
03a0e36e91
Added support for language specification in RFC-2047 encoded words and RFC-2231 parameter values.
2014-06-30 22:48:42 +02:00
Vincent Richard
0863f50c26
Allow choosing between encoding modes for parameter values.
2014-06-17 21:08:22 +02:00
Vincent Richard
a46e520902
Fixed issue #86 : workaround for invalid response from Exchange server.
2014-06-08 18:34:01 +02:00
Vincent Richard
4aefcca374
Removed useless 'virtual' inheritance (fixed issue #84 ).
2014-06-06 19:26:01 +02:00
Vincent Richard
30ea54f269
Fixed parsing of empty lines in header field value.
2014-06-01 20:46:17 +02:00
Vincent Richard
17d764d65c
Fixed segfault in POP3 test.
2014-06-01 19:57:43 +02:00
Vincent Richard
99d919c6d7
Fixed unit test.
2014-04-21 20:13:17 +02:00
Vincent Richard
bbfdcc36a0
Trace socket/connection events.
2014-03-25 23:34:03 +01:00
Vincent Richard
9b3f8124f1
Unit tests for IMAP utils.
2014-03-17 23:51:54 +01:00
Vincent Richard
84e570bbbb
Connection trace facility.
2014-03-16 22:52:40 +01:00
Vincent Richard
cfe9c6b1e7
Modified IMAP parser constructor to make testing easier.
2014-03-16 09:57:36 +01:00
Vincent Richard
9d73fc5382
IMAP commands.
2014-03-15 23:33:20 +01:00
Vincent Richard
c860c273d3
Added support for initial response in SASL authentication.
2014-02-13 22:23:59 +01:00
Vincent Richard
0d20ee083b
Better polling. Fixed possible connection issues on POSIX with slow network. Better error handling in POSIX sockets.
2014-02-05 20:18:20 +01:00
Vincent Richard
58bad6e488
Path to/from string conversion.
2014-01-19 17:25:25 +01:00
Vincent Richard
2afe340b7b
In SSL socket, use timeout handler of underlying socket. Throw exception when reading from/writing to disconnected SSL socket.
2014-01-19 16:36:45 +01:00
Vincent Richard
24eff0069b
Added test for "+" not followed by space in continue_req.
2014-01-16 22:51:33 +01:00
Vincent Richard
ef892af655
Do not make calls to setlocale() in a library. Use default user locale in tests and examples.
2014-01-16 00:27:51 +01:00
Vincent Richard
d0ffbb60e6
Use equivalence instead of strict equality for path components.
2014-01-16 00:15:21 +01:00
Vincent Richard
fe43da096f
Reset line length after encoding a hard line break in QP encoding.
2014-01-14 08:18:24 +01:00
Vincent Richard
8e51494486
Report sending progress when chunking is supported.
2014-01-05 13:53:44 +01:00
Vincent Richard
bd378bbfa2
Added support for SPECIAL-USE extension (IMAP).
2014-01-03 20:41:32 +01:00