Commit Graph

553 Commits

Author SHA1 Message Date
Vincent Richard
7ab35173bc Moved POP3 connection-related things to POP3Connection object. 2013-06-12 14:02:40 +02:00
Vincent Richard
dfe563f391 Moved POP3 client command related things to POP3Command class. 2013-06-11 22:50:44 +02:00
Vincent Richard
d65d02cf09 Added function to return email address as a string. 2013-06-09 22:17:56 +02:00
Vincent Richard
eddc33038f Charset conversion output stream for ICU. 2013-06-09 11:49:32 +02:00
Vincent Richard
b63537b609 Include <winsock2.h> before <windows.h>, to avoid <winsock.h> inclusion. 2013-06-07 15:23:52 +02:00
Vincent Richard
e7e472a544 No need to read another response line in an empty 334 response. 2013-05-14 18:50:54 +02:00
Vincent Richard
5fcb20d996 Do not increment tag after sending command (parser needs current tag). 2013-05-13 21:28:43 +02:00
Vincent Richard
ea700d80f5 Cross-platform and (truly) thread-safe OpenSSL initialization. 2013-05-13 16:05:56 +02:00
Vincent Richard
eb1e29811b Lowered wait delay on Windows. 2013-05-12 17:31:15 +02:00
Vincent Richard
5fb81d3322 Fixed missing includes. 2013-05-12 16:29:51 +02:00
Vincent Richard
64f6f5c594 Fixed BIO_METHOD initialization for thread safety. 2013-05-12 16:09:17 +02:00
Vincent Richard
845b9ebf81 Better random seed. 2013-05-12 15:13:18 +02:00
Vincent Richard
5a3d88855b Added unit tests for IMAPTag. Initialize sequence number at 1. 2013-04-26 22:47:51 +02:00
Vincent Richard
3f1c507555 Issue #36: added support for wildcard in Common Name when verifying host name (thanks to Anthony Dervish). 2013-04-26 20:58:04 +02:00
Vincent Richard
d6805634d9 Fixed invalid buffer access. 2013-04-26 20:48:40 +02:00
Vincent Richard
28c386f54e Fixed issue #37. 2013-04-26 14:43:28 +02:00
Vincent Richard
ff05f2228e Fixed double read of response. 2013-04-18 12:14:12 +02:00
Vincent Richard
462311e382 Added filtered output stream to transform LFs to CRLFs. 2013-04-16 12:03:13 +02:00
Vincent Richard
ff8827bdd3 Issue #4: set envelope sender. 2013-04-03 09:02:15 +02:00
Jan Engelhardt
251cf21cee Remove +x bit from source files 2013-03-27 17:00:45 +01:00
Vincent Richard
9d2703c376 Added support for charset conversion with ICU (thanks to Mehmet Bozkurt). 2013-03-25 12:32:48 +01:00
Vincent Richard
32eb1ebe34 Strip spaces at end of header lines (Zarafa). 2013-03-24 15:50:16 +01:00
Vincent Richard
21945be4c4 Fixed warnings and 64-bit issues. 2013-03-24 12:30:26 +01:00
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