Commit Graph

1273 Commits

Author SHA1 Message Date
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
Vincent Richard
f9a4099837 Added section about tracing. 2018-08-17 20:30:21 +02:00
0xd34df00d
52042b2b5b Added net::message::getName() + the IMAP implementation. 2018-07-04 16:03:49 -04:00
Xavier Guérin
df8051d8db Import multiple certificates withing a single stream 2018-05-30 22:17:15 -04:00
Xavier Guérin
6ad4c1a0d5 Fix X509Certificate::getIssuerString signature 2018-05-30 20:20:56 -04:00
Vincent Richard
a9b822140b #196 Allow overriding CMAKE_CXX_FLAGS 2018-04-24 20:31:26 +02:00
Vincent Richard
8495ce1116 #194 Fixed documentation 2018-04-04 20:10:28 +02:00
Vincent Richard
8564b2f8b0 #193 Dropped support for boot::shared_ptr<>, enabled C++11 support in CMake 2018-04-01 11:29:07 +02:00
Vincent Richard
ed825ba255
Merge pull request #181 from rusdevops/patch-2
Update CMakeLists.txt
2018-03-12 20:42:03 +01:00
Vincent Richard
f04190bafa #191 X509Certificate::import() now auto-detects format 2018-03-12 20:37:12 +01:00
Vincent Richard
abba40e97d Added unit test related to PR #192. 2018-03-12 20:33:27 +01:00
Vincent Richard
754e556aeb
Merge pull request #192 from bosim/address-parsing
Handle parsing of a@b.c <e@f.g>
2018-03-12 20:31:03 +01:00
Bo Simonsen
b73d765f51 Handle parsing of a@b.c <e@f.g>
The behavior of current VMIME implementation will result in address a@b.c
with an empty name. That is because the parsing is stopped whenever a
wihtespace and a at-character is seen. We should continue the parsing to
deduce the real address (e@f.g in the example).
2018-02-19 13:08:09 +01:00