Commit Graph

530 Commits

Author SHA1 Message Date
Vincent Richard
495526a5e6 Let whitespace break the value of a parameterized header field, not just a ';' (thanks to Zarafa). 2013-03-24 11:35:08 +01:00
Vincent Richard
1d04b0a579 Checks for a charset in all words of a parameter in a parameterizedHeader.
Fixes filename encoding when the quoted-printable starts halfway, but
if multiple charsets are used (unlikely) it may still fail (thanks to
Zarafa).
2013-03-24 11:29:03 +01:00
Vincent Richard
555dcca979 Also check for RFC-2047 end sequence. 2013-03-24 11:24:58 +01:00
Vincent Richard
84415da8e1 Fixed parsing header field value on next line. 2013-03-24 10:02:23 +01:00
Vincent Richard
005e7af6cd Fixed whitespace parsing before word. 2013-03-24 10:00:30 +01:00
Vincent Richard
32a80f6c1e Fixed mailbox and mailbox group parsing. Added unit tests. 2013-03-11 10:05:09 +01:00
Vincent Richard
aa8f39e321 Fixed compilation warnings. 2013-03-06 22:49:27 +01:00
Vincent Richard
4df4ed54dd Fixed maximum block size for read(). 2013-03-06 22:49:27 +01:00
Vincent Richard
b9ace81807 Fixed issue #26: strcpy_s not available on MinGW. 2013-02-28 09:16:40 +01:00
Vincent Richard
8378b350df Throw exception when an invalid value type is set in a header field. 2013-02-27 14:59:37 +01:00
Vincent Richard
d2c2f52a23 Fixed wrong function called. 2013-02-27 09:44:21 +01:00
Vincent Richard
0d6aef8491 Use secure versions of time/string functions on Windows. 2013-02-26 17:51:44 +01:00
Vincent Richard
49f9628c0a Fixed typo in function name. 2013-02-25 13:10:15 +01:00
Vincent Richard
43f78c2e96 Defaults to local charset when assigning word from raw string. 2013-02-25 13:03:58 +01:00
Vincent Richard
a17cb75694 Merge pull request #25 from mabrand/fix-case
fix include file case
2013-02-24 07:37:54 -08:00
Vincent Richard
0c5d4a10e6 Message generation/parsing context. Charset conversion options. Preliminary implementation of RFC-6532. 2013-02-24 16:28:13 +01:00
Mark Brand
b3da087306 fix include file case 2013-02-24 16:07:29 +01:00
Vincent Richard
86720eb1dc Fixed filename case. 2013-02-23 17:16:40 +01:00
Vincent Richard
05a9f75874 Fixed comparison always true. 2013-02-22 18:17:05 +01:00
Vincent Richard
0b78377635 7bit is the default encoding. Do not force CTE field with default value to be added in header. 2013-02-20 18:23:16 +01:00
Vincent Richard
d3f539bf92 Fixed SMTP dot stuffing at the beginning of content. 2013-02-20 16:07:00 +01:00
Vincent Richard
e3bb8020e0 Process header before transmitting message via SMTP. 2013-02-18 22:00:29 +01:00
Vincent Richard
d8b3d2b641 Added helper function to replace header field. 2013-02-17 22:18:32 +01:00
Vincent Richard
281300ed6a SMTP response code 251 for RCPT TO is now treated as successful. 2013-02-17 21:14:56 +01:00
Vincent Richard
0757efad0d Reset SMTP session state (using RSET command) if transport is being reused. 2013-02-17 18:07:23 +01:00
Vincent Richard
51111254a4 The seekableInputStreamRegionAdapter now stores its own current position, to avoid issues when multiple adapters share the same underlying stream. 2013-02-15 14:58:00 +01:00
Vincent Richard
fd5f0c0707 Trim first line of POP3 response to get rid of CR, if any. 2013-02-13 10:03:18 +01:00
Vincent Richard
feabba4470 Unit tests for SMTPCommand and SMTPCommandSet. Fixed SMTPCommandSet::isFinished(). 2013-02-12 17:54:36 +01:00
Vincent Richard
83c5ba96b9 Rewrote SMTP command sending. Better code for pipelining. Report full command text on MAIL/RCPT errors. 2013-02-12 16:58:27 +01:00
Vincent Richard
f0e12cbadc Fixed invalid use of freed memory. 2013-02-11 21:10:19 +01:00
Vincent Richard
b02e6ab664 Added missing includes. 2013-02-11 09:37:32 +01:00
Vincent Richard
ddf3cff495 Check for MLang on Windows platform. 2013-02-10 21:12:41 +01:00
Vincent Richard
4457dec512 Fixed issue #23. Avoid additional queries if gethostname() is already a FQDN. Use getaddrinfo() instead of gethostbyname() for IPv6 compatibility. 2013-02-10 20:59:14 +01:00
Vincent Richard
173c665e0c Additional MDN fields (thanks to Mehmet Bozkurt). 2013-02-08 14:23:48 +01:00
Vincent Richard
c2474f2b2b Check for localtime_r and gmtime_r at build instead of testing _REENTRANT. Use localtime_s and gmtime_s on Windows, if available. 2013-02-05 14:21:21 +01:00
Vincent Richard
1da9117fa5 Gives access to X.509 certificate underlying structure. 2013-02-05 13:01:59 +01:00
Vincent Richard
099d7a7882 Moved includes to fix compilation issue. 2013-01-15 13:24:45 +01:00
Vincent Richard
ea06bc1de1 Renamed TYPE_BOOL to avoid name collision on MacOS. 2013-01-15 13:21:10 +01:00
Vincent Richard
b74955cee5 Better test for stream state. 2013-01-15 13:05:21 +01:00
Vincent Richard
65f235d647 Removed unused includes for OpenSSL. 2013-01-15 12:01:58 +01:00
Vincent Richard
ad9bef78c4 Updated copyright year and maintainer email address. 2013-01-10 17:30:31 +01:00
Vincent Richard
3ac625efa5 Fixed issue #17. 2012-12-27 21:14:24 +01:00
Mark Brand
1c43b53cde exclude defaultCertificateVerifier.cpp unless VMIME_HAVE_TLS_SUPPORT 2012-12-24 16:26:06 +01:00
Vincent Richard
9e8cdca585 Fixed type for maximum line length. 2012-12-22 13:40:18 +01:00
Vincent Richard
0305c3c5a9 Fixed first modifier not being generated. 2012-12-22 12:18:52 +01:00
Vincent Richard
a63c0c5094 Misc fixes for Windows build (thanks to Mehmet Bozkurt). 2012-12-17 17:02:08 +01:00
Vincent Richard
e192ce6716 More robust check for EOF in input stream. 2012-12-13 18:37:01 +01:00
Vincent Richard
c9f0641b06 Fixed seeking after EOF in input stream. 2012-12-13 18:34:22 +01:00
Vincent Richard
e91495e3c3 Also do not re-encode Quoted-Printable and UUEncode. 2012-12-13 13:16:52 +01:00
Vincent Richard
3a5621c2aa Trivial 64-bit warning fixes. 2012-12-12 16:35:55 +01:00
Vincent Richard
7a9db510f5 Do not re-encode data if it is already encoded (thanks to Mehmet Bozkurt). 2012-12-12 14:56:07 +01:00
Vincent Richard
afec9aa66f Ignore empty modifiers (thanks to Mehmet Bozkurt). 2012-12-12 14:47:15 +01:00
Vincent Richard
dc791215f5 Fixed wrong class name (copy/paste is BAD ;-) ). 2012-12-11 21:48:43 +01:00
Vincent Richard
87259631e4 SSL server identity check. 2012-12-10 22:59:19 +01:00
Vincent Richard
1ba5e8698c Moved POP3 response receiving and parsing to a separate class. 2012-12-06 11:02:31 +01:00
Vincent Richard
053d2b4ee0 Fixed progression notification when message size is lower than 64K. 2012-12-05 21:02:34 +01:00
Vincent Richard
052cf47fcc Use message size for progress listener. 2012-11-30 20:11:33 +01:00
Mark Brand
d78f17b8af remove stray argument from windowsSocket::sendRawNonBlocking
follow-up to 3e9e8c9265
2012-11-29 23:35:29 +01:00
Vincent Richard
71f06fab91 Trivial 64-bit warning fixes. 2012-11-29 22:33:31 +01:00
Vincent Richard
3e9e8c9265 Better handling of SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE. Sockets on Windows platform are now non-blocking (thanks to Mehmet Bozkurt). 2012-11-29 22:33:31 +01:00
Mark Brand
fa97c5e2d8 add missing wincrypt.h 2012-11-12 12:22:03 +01:00
Vincent Richard
6ae75bc971 SMTP Command Pipelining (RFC-2920). 2012-11-11 21:55:44 +01:00
Vincent Richard
f4c42cc0cf Compatibility with RFC-1341. 2012-11-10 17:47:55 +01:00
Vincent Richard
defc1bba1d Fixed compilation issues on Windows. 2012-11-06 16:05:24 +01:00
Vincent Richard
a6a098b473 Thread-safe initialization for OpenSSL. 2012-11-06 16:05:04 +01:00
Vincent Richard
5e83d1d57c Fixed runtime error on cast. 2012-11-03 09:47:48 +01:00
Vincent Richard
d4052b2589 Fixed compilation issues. 2012-11-03 09:36:22 +01:00
Vincent Richard
bc63892291 OpenSSL support (thanks to Mehmet Bozkurt). 2012-11-03 09:27:12 +01:00
Vincent Richard
cce1c28bce Migrated build system to CMake. Conditional file compilation. Automatic selection of platform handler. 2012-11-01 18:20:06 +01:00
Vincent Richard
794afe9a1b Added support for timeout when receiving data from a socket (POSIX platform). 2012-10-15 13:33:54 +02:00
Vincent Richard
2b09c6ea6c Support for bogus encoding name 'bmoted-printable' (Zarafa). 2012-10-15 13:33:54 +02:00
Vincent Richard
e4102b4374 Do not fail if charset is not recognized. 2012-10-15 13:33:54 +02:00
Vincent Richard
ff462a5ee1 Fixed body part extraction (only body should be extracted). 2012-07-30 20:45:17 +02:00
Vincent Richard
a68cebf12a Added functions to get messages by UID (IMAP only for now). 2012-07-28 13:01:48 +02:00
Vincent Richard
891aba49ff Fixed issue #10. 2012-07-06 18:45:02 +02:00
Vincent Richard
4f33877820 Added ability to parse directly from an input stream (eg. file). This allows very big messages to be parsed without loading the whole message data into memory. 2012-04-16 22:32:33 +02:00
Vincent Richard
cc49395dd2 Split stream.hpp/.cpp into multiple source files. 2012-04-14 13:46:05 +02:00
Vincent Richard
b5927243a2 Fixed memory leak. 2012-04-06 22:26:18 +02:00
Vincent Richard
0633a49b04 Fixed wrong encoding of line breaks in QP-encoded text (issue #7). 2012-04-05 23:15:04 +02:00
Vincent Richard
92c445dd63 Added function to retrieve sequence numbers of messages whose UID is greater or equal than a specified UID (thanks to Zahi Mashael). 2012-04-05 11:46:39 +02:00
Vincent Richard
3b20040e9f Set Diffie-Hellman prime size (bug SF#3434852). 2011-11-15 11:46:07 +00:00
Vincent Richard
50f82c3a04 GNU TLS 3 has no 'extra' (thanks to mabrand). 2011-11-15 11:40:42 +00:00
Vincent Richard
f68a466dc0 Removed dependency on gcrypt for gnutls version >= 2.12. 2011-08-21 08:55:46 +00:00
Vincent Richard
bcdffb5355 Use gnutls_strerror() for reporting errors. 2011-08-20 06:35:06 +00:00
Vincent Richard
92b4dc8648 Fixed encoding of whitespace. Fixed old test case. 2011-06-26 12:47:25 +00:00
Vincent Richard
4365a126e3 Use gnutls_priority_set_direct() instead of GNUTLS deprecated functions. 2011-06-26 08:19:11 +00:00
Vincent Richard
a55c574436 Fixed parsing of empty body parts (thanks to John van der Kamp, from Zarafa). 2011-06-25 17:07:53 +00:00
Vincent Richard
4f9dc93200 Added support for mailboxes that specify an (encoded) full name with an empty email address, set by a <> marker (Zarafa). 2011-06-19 18:49:55 +00:00
Vincent Richard
fbdb750496 Fixed messageBuilder to accept an empty mailbox group in 'To:' field, to allow for undisclosed-recipients (Zarafa). 2011-06-19 18:39:35 +00:00
Vincent Richard
4286a80d9d Alias for UTF-7 charset. 2011-06-19 18:16:49 +00:00
Vincent Richard
ac03342507 Correctly generate attachment names which are long and have high characters for Outlook Express (Zarafa). 2011-06-19 18:08:12 +00:00
Vincent Richard
49cc5dc40a Fixed parsing of an attachment filename that is between 66 and 76 characters long (Zarafa). 2011-06-19 17:51:33 +00:00
Vincent Richard
d7c2fb2e58 Flush stateful data from iconv (thanks to John van der Kamp, Zarafa). 2011-03-31 19:13:03 +00:00
Vincent Richard
98b4d91d01 Fixed bug #3174903. Fixed word parsing when buffer does not end with NL. Fixed 'no encoding' when forced. 2011-03-09 18:03:31 +00:00
Vincent Richard
773d750f5c Fixed possible read to invalid memory location (thanks to Alexander Konovalov). 2011-01-28 12:11:08 +00:00
Vincent Richard
3cec9612fa Fixed possible infinite loop (thanks to John van der Kamp, Zarafa). 2011-01-21 15:28:06 +00:00
Vincent Richard
9e4867b641 Fixed boundary parsing (thanks to John van der Kamp, Zarafa). 2010-12-10 16:54:38 +00:00
Vincent Richard
20ba86512f No extra space between ':' and '<' in MAIL FROM and RCPT TO. Wait for server response after QUIT and before closing connection. 2010-12-08 08:52:54 +00:00
Vincent Richard
7e5a9a404f Return failed email address in exception for RCPT TO. 2010-10-20 09:37:39 +00:00
Vincent Richard
fa06cf1652 Added support for DRAFT flag. 2010-10-19 13:28:43 +00:00