Commit graph

39 commits

Author SHA1 Message Date
Christian Joergensen
03861efdd8 Improve the command parser to try to parse malformed commands.
Timon Relitzki reported that some systems, for example the Synology
DSM Rackstations, will send an extra space character with their SMTP
commands.

MAIL FROM:<christian@technobabble.dk>

Becomes:

MAIL FROM: <christian@technobabble.dk>

This confused the command parser. In the spirit of the robustness
principle if have choosen to improve the command parse to also handle
these extra spaces.

The command parser has also been extended with some extra unit tests,
to demonstrate the problem.
2017-05-23 21:42:13 +02:00
Christian Joergensen
83640db51d Merge. 2017-05-22 19:54:10 +02:00
Christian Joergensen
afa9ece3d0 Proxy protocol support, go vet. 2017-05-22 19:45:42 +02:00
Marcel Voigt
8ac2db7670 Add ProtocolLogger to Server
- If set, logs received and sent SMTP messages
2016-05-01 15:37:06 +02:00
Craig
4ee795bd09 fix error messages 2016-02-12 01:35:10 +00:00
Craig
7363d03b27 Fix several panics on invalid input 2016-02-12 01:26:50 +00:00
Christian Joergensen
c33eb5f9c8 Add synopsis for dkim-proxy. 2014-07-27 14:35:08 +02:00
Christian Joergensen
439fccb42e Example DKIM proxy using the smtpd package. 2014-07-27 13:47:32 +02:00
Christian Joergensen
658216f605 go fmt 2014-07-27 13:47:14 +02:00
Christian Joergensen
af68fd9bbc Refactored ssl test setup. 2014-07-27 09:37:42 +02:00
Christian Joergensen
d6f9de9519 Tests refactoring, readme updated. 2014-07-26 18:29:14 +02:00
Christian Joergensen
94f9926189 Fix panic on blank line. 2014-07-22 08:49:12 +02:00
Christian Joergensen
01f125545f More test cases. 2014-07-21 13:27:05 +02:00
Christian Joergensen
9020489912 Added new Server field Hostname for the FQDN over the server (and updated various uses of the hostname). Moved Server.Addr to a parameter for ListenAndServe, as it was only used there. 2014-07-21 12:43:42 +02:00
Christian Joergensen
4ba7fea939 Added TLS param to Peer. Added option to prepend Received header to envelope data. 2014-07-21 00:06:56 +02:00
Christian Joergensen
73d3eb24c5 Update synopsis. 2014-07-20 21:53:47 +02:00
Christian Joergensen
e30fdeff7a XCLIENT support. 2014-07-20 21:51:39 +02:00
Christian Joergensen
38a9c27d35 Handle too long lines. Make envelope reset into a session method. 2014-07-19 20:55:40 +02:00
Christian Joergensen
50ed5fd57a Send the HELO hostname to the HeloChecker. 2014-07-18 08:46:39 +02:00
Christian Joergensen
95ed425097 Reset envelope on duplicate HELO/EHLO and after DATA. 2014-07-17 16:49:58 +02:00
Christian Joergensen
2d30d62009 Different fixes.
Handle empty e-mail addresses.
Implemented MaxRecipients check.
Announce PIPELINING support.
Corrected error code on Too Busy error.
Implemented DataTimeout for timeouts on DATA.
Use textproto.DotReader in handleDATA to implement dot-stuffing.
Reset deadlines on old socket in STARTTLS, add new deadlines to new TLS socket.
2014-07-17 16:00:44 +02:00
Christian Joergensen
b29fcf9fb6 Add Authenticator test in AUTH handler. 2014-07-15 20:14:29 +02:00
Christian Joergensen
7b9d6461a0 Use separate package for tests and example. 2014-07-15 13:38:50 +02:00
Christian Joergensen
51430d7777 Typo, README. 2014-07-15 13:22:18 +02:00
Christian Joergensen
533c2d154c Extra test cases. 2014-07-15 13:07:47 +02:00
Christian Joergensen
53daf099cd Cleanup, added license. 2014-07-15 12:37:25 +02:00
Christian Joergensen
3bb8f319e4 Fixes. 2014-07-15 11:16:34 +02:00
Christian Joergensen
b41158c331 newSession cannot fail. 2014-07-15 10:11:37 +02:00
Christian Joergensen
f4fcc4c8dc go fmt. 2014-07-15 10:09:34 +02:00
Christian Joergensen
0e0eb0eda4 Implemented MaxConnections, corrected examples, removed MailAddress. 2014-07-15 10:07:58 +02:00
Christian Joergensen
c214cd0c15 Examples. 2014-07-14 20:44:14 +02:00
Christian Joergensen
526873ea5d Extra tests. 2014-07-14 20:06:32 +02:00
Christian Joergensen
1fbb720c5e Test cases, fixes. 2014-07-14 19:44:10 +02:00
Christian Joergensen
1dd26fbd96 Fixes. 2014-07-14 14:51:31 +02:00
Christian Joergensen
b9243e732a go fmt. 2014-07-14 14:20:36 +02:00
Christian Joergensen
fdbafdab4b Authentication support. 2014-07-14 14:20:08 +02:00
Christian Joergensen
c4ca156f45 Fix. 2014-07-14 13:59:30 +02:00
Christian Joergensen
d4842cb08d Refactor. 2014-07-14 13:55:41 +02:00
Christian Joergensen
cbb043f2e6 Initial checkin. 2014-07-13 23:24:13 +02:00