Commit Graph

1251 Commits

Author SHA1 Message Date
0xd34df00d
6eb63399a1 Try obtaining content disposition for all body parts types 2020-08-21 13:22:08 +02:00
0xd34df00d
4edb9ed949 Text body part can also have a name 2020-08-21 13:22:08 +02:00
0xd34df00d
d14038dd66 Refactor out getPartName() 2020-08-21 13:22:08 +02:00
Richard Steele
22ae6a91f5 Fix #223 2020-08-21 13:22:08 +02:00
Jan Osusky
d4cc5cfc9b Editorial changes in DSN attributes 2020-08-21 13:13:55 +02:00
Vincent Richard
4c330bc623
Merge pull request #241 from 0xd34df00d/body_type_parsing
Body type parsing
2020-08-09 11:02:53 +02:00
0xd34df00d
c137bc55af Try obtaining content disposition for all body parts types 2020-08-08 14:46:19 -04:00
0xd34df00d
1806e0be0e Text body part can also have a name 2020-08-08 12:50:53 -04:00
0xd34df00d
83a2669a51 Refactor out getPartName() 2020-08-08 12:44:03 -04:00
Vincent Richard
e02ea9d178
Merge pull request #233 from RichardSteele/fix-openssl-223
Fix #223
2020-07-31 18:02:46 +02:00
Jan Osusky
64ef65e03c Create class for DSN attributes
The three attributes needed to request a Delivery Status Notification are now passed as an "dsnAttributes" object to the send methods.
Fixed code style at some related palces.
2020-07-23 10:42:15 +02:00
Jan Osusky
e30766cf2a Add basic support for delivery status notifications (DSN)
Added possibility to send e-mails with explicit request for delivery status notification and its content.
2020-07-22 08:26:04 +02:00
Vincent Richard
0f99387648
Merge pull request #239 from kisli/laurent-richard-fix-message-flag-set
Fix message flag assignment with FLAG_MODE_SET.
2020-07-17 23:42:13 +02:00
laurent-richard
3052e5b998
Fix message flag assignment with FLAG_MODE_SET 2020-07-16 10:32:10 +02:00
vincent-richard
5c00f7867a #238 Fixed whitespace between encoded words 2020-06-16 19:47:33 +02:00
vincent-richard
9a10a839ec Added test. 2020-06-02 18:13:34 +02:00
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