Commit Graph

1285 Commits

Author SHA1 Message Date
vincent-richard
16912a5ed7 Expose Content-Disposition on net message parts. 2020-05-10 10:34:48 +02:00
vincent-richard
fe5492ceb3 Fixed false positives in tests. 2020-04-06 18:20:03 +02:00
vincent-richard
6d90a15bc5 Map '*' to '\*' in non-strict mode. 2020-04-06 18:12:41 +02:00
vincent-richard
f23cc90a6d Added support for pipelined and out-of-order replies. 2020-04-05 11:13:04 +02:00
vincent-richard
2d369b9ac9 INBOX folder special use. 2020-03-26 19:22:23 +01:00
vincent-richard
36cc0c65c8 Misc changes for CPack. 2020-02-14 23:02:58 +01:00
vincent-richard
749a2a0f85 #236 OpenSSL license exception 2020-02-14 22:25:58 +01:00
Vincent Richard
8ac5b7f5fc
Merge pull request #232 from RichardSteele/fix-sni-231
Fix #231: SNI breaks STARTTLS
2019-11-18 21:26:19 +01:00
Richard Steele
893726c3d8 Use peerName instead of peerAddress 2019-11-18 12:22:56 +01:00
Richard Steele
39ece29fed Fix #231 (GnuTLS) 2019-11-18 12:16:10 +01:00
Richard Steele
3c372b08ac Fix #223 2019-11-18 11:54:19 +01:00
Richard Steele
44eb473c9a Fix #231 2019-11-18 11:47:44 +01:00
Vincent Richard
19fb3c2491
Merge pull request #226 from 0xd34df00d/master
Added support for SNI.
2019-10-14 08:51:35 +02:00
0xd34df00d
86b59de8d0 Set SNI name in the gnutls backend as well 2019-10-13 17:21:43 -04:00
Vincent Richard
ab340b561d
Merge pull request #227 from Kopano-dev/boundaryprefix
Boundary marker parsing: WS rules and EQ check
2019-10-07 10:50:30 +02:00
Jan Engelhardt
b06e9e6f86 Skip delimiter lines that are not exactly equal to the boundary
There is crap software out there that generates mails violating the
prefix ban clause from RFC 2046 §5.1 ¶2.

Switch vmime from a prefix match to an equality match, similar to
what Alpine and Thunderbird do too.
2019-10-05 11:37:09 +02:00
Jan Engelhardt
df32418df5 Disregard whitespace between leading boundary hyphens and marker
The way I read the RFC is that whitespace is not allowed before the
boundary marker, only afterwards, so the checks for leading WS are
removed, and the missing check for trailing WS is added.

See RFC 2046 §5.1.1: """The boundary delimiter line is then defined
as a line consisting entirely of two hyphen characters ("-", decimal
value 45) followed by the boundary parameter value from the
Content-Type header field, optional linear whitespace, and a
terminating CRLF."""
2019-10-05 11:31:51 +02:00
Jan Engelhardt
c9119effd7 Reduce indent by 3 levels in findNextBoundary 2019-10-05 11:31:51 +02:00
Jan Engelhardt
6de75f0c95 Modernize RFC reference for boundary line characteristics 2019-10-05 11:31:51 +02:00
0xd34df00d
0fcf45b131 Set SNI in the openssl backend 2019-10-02 21:51:39 -04:00
Vincent Richard
7168f3c4ee
Merge pull request #225 from 0xd34df00d/patch-1
Avoid extern "C" blocks around ICU includes
2019-09-23 21:03:37 +02:00
0xd34df00d
e96aeeb14d
Avoid extern "C" blocks around ICU includes
Looks like it's not necessary, and, moreover, I'm getting this with recent ICU (64.2):
```
/usr/include/unicode/localpointer.h:67:1: error: template with C linkage
   67 | template<typename T>
      | ^~~~~~~~
/var/tmp/portage/dev-libs/vmime-9999/work/vmime-9999/src/vmime/charsetConverter_icu.cpp:37:1: note: ‘extern "C"’ linkage started here
   37 | extern "C" {
      | ^~~~~~~~~~
```

(there's also an issue about that, #218)
2019-09-22 08:26:11 -04:00
Vincent Richard
182e8f5dd8 Simplified IMAP parser objects. 2019-07-20 10:15:41 +02:00
Vincent Richard
523aacb499 Added support for OpenSSL 1.1.0. 2019-07-07 09:56:41 +02:00
Vincent Richard
8f4db13e7f #217 Fixed memory leak 2019-07-02 23:26:29 +02:00
Vincent Richard
e2fc1911f1 Merge branch 'master' of https://github.com/kisli/vmime 2019-04-18 11:29:28 +02:00
Vincent Richard
b59e97d0a7 #213 Add support for invalid empty () in FETCH body structure (non-strict) 2019-04-18 11:28:48 +02:00
Vincent Richard
dad5b4a855
Merge pull request #212 from jengelh/hostname
Unbreak own hostname qualification on POSIX systems
2019-02-07 19:50:33 +01:00
Jan Engelhardt
e1faa92593 Unbreak own hostname qualification on POSIX systems
Partial revert commit v0.9.2-6-g9a3d6880 (issue #160), because
invoking getaddrinfo(NULL, ... AI_CANONNAME) is illegal and never
succeeds.
2019-02-06 23:46:06 +01:00
Vincent Richard
414661858d
Merge pull request #210 from jengelh/twoaddr
Handle parsing of further non-conformant From lines
2019-02-04 21:10:47 +01:00
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
0368adade1 #206 Initialize and delete pointers 2018-10-17 20:26:44 +02: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
0c81108cc8
Merge pull request #183 from josusky/master
Fix of compilation warning reported by GCC 4.9.3.
2018-09-07 21:02:26 +02:00
Vincent Richard
71968d978d
Merge branch 'master' into master 2018-09-07 20:32:51 +02:00
Vincent Richard
ea0d24809d Useless mutex does not make nl_langinfo() thread-safe. 2018-09-06 20:09:54 +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
258f943ded Moved implementation. 2018-09-06 00:13:24 +02:00
Vincent Richard
3bd864efc2 Fixed possible memory leak. 2018-09-06 00:05:13 +02:00
Vincent Richard
b55bdc9c0b Code style and clarity. 2018-09-05 23:54:48 +02:00
Vincent Richard
71a0fa4b26
Merge pull request #198 from xguerin/master
Import multiple certificates withing a single stream
2018-09-05 23:35:50 +02:00
Vincent Richard
5cd1f2990a
Merge pull request #201 from 0xd34df00d/master
Added net::message::getName() + the IMAP implementation
2018-08-31 18:59:36 +02:00
Vincent Richard
d4c386beda Removed useless 'constCast's. 2018-08-18 19:51:21 +02:00
Vincent Richard
f173b0a535 Avoid copy by passing shared_ptr<> with const reference. 2018-08-18 16:08:25 +02:00
Vincent Richard
997616c629 Fixed delete array. 2018-08-18 13:52:20 +02:00
Vincent Richard
81e73c0f56 Fixed compilation errors with OpenSSL 1.1.0. 2018-08-17 21:29:02 +02:00
Vincent Richard
1e56a3617d Force classic locale when formatting IMAP UIDs. 2018-08-17 21:22:11 +02:00
Vincent Richard
5eae3b1bd6 Fixed warnings with GCC 7. 2018-08-17 21:10:48 +02:00