mailpopbox.git
4 years agoSet OOM properties on mailpopbox.service. v1.2.1
Robert Sesek [Fri, 13 Sep 2019 06:10:36 +0000 (02:10 -0400)]
Set OOM properties on mailpopbox.service.

7 years agoSupport reloading the TLS config via SIGHUP. v1.2.0
Robert Sesek [Fri, 7 Apr 2017 04:06:12 +0000 (00:06 -0400)]
Support reloading the TLS config via SIGHUP.

- Breaks out running an Accept loop into a goroutine.
- Changes how the servers communicate back to the main event loop,
  using an enum instead of an error object.

7 years agoLower-case the addresses in smtp.conn.parsePath. v1.1.1
Robert Sesek [Tue, 17 Jan 2017 02:21:25 +0000 (21:21 -0500)]
Lower-case the addresses in smtp.conn.parsePath.

7 years agoEnsure stable message list order in pop3/conn_test.go. v1.1.0
Robert Sesek [Mon, 2 Jan 2017 08:21:40 +0000 (03:21 -0500)]
Ensure stable message list order in pop3/conn_test.go.

7 years agoImplement the POP3 CAPA command from RFC 2449.
Robert Sesek [Mon, 2 Jan 2017 08:14:15 +0000 (03:14 -0500)]
Implement the POP3 CAPA command from RFC 2449.

7 years agoAdd more logging for the POP3 server.
Robert Sesek [Mon, 2 Jan 2017 08:07:56 +0000 (03:07 -0500)]
Add more logging for the POP3 server.

7 years agoFix slice range panics in the POP3 USER and PASS commands.
Robert Sesek [Mon, 2 Jan 2017 06:47:32 +0000 (01:47 -0500)]
Fix slice range panics in the POP3 USER and PASS commands.

7 years agoFix pop3.Mailbox.Reset implementation.
Robert Sesek [Mon, 2 Jan 2017 06:42:52 +0000 (01:42 -0500)]
Fix pop3.Mailbox.Reset implementation.

7 years agoImplement the POP3 UIDL command.
Robert Sesek [Mon, 2 Jan 2017 06:32:26 +0000 (01:32 -0500)]
Implement the POP3 UIDL command.

7 years agoAdd better logging in the pop3 connection.
Robert Sesek [Mon, 2 Jan 2017 06:05:02 +0000 (01:05 -0500)]
Add better logging in the pop3 connection.

7 years agoAdd list of RFCs to the README.
Robert Sesek [Mon, 2 Jan 2017 05:56:46 +0000 (00:56 -0500)]
Add list of RFCs to the README.

7 years agoFix post-STARTTLS protocol bug.
Robert Sesek [Mon, 2 Jan 2017 01:22:00 +0000 (20:22 -0500)]
Fix post-STARTTLS protocol bug.

After the TLS handshake, the server should *not* reply with a greeting again,
but it should wait for an EHLO, per RFC 3207 ยง 4.2 & 5. Previously the server
would re-send the greeting, which un-syncs the protocol.

7 years agoDo not keep around the old net.Conn when doing SMTP STARTTLS.
Robert Sesek [Sun, 18 Dec 2016 21:47:34 +0000 (16:47 -0500)]
Do not keep around the old net.Conn when doing SMTP STARTTLS.

7 years agoAdd small program to help debug TLS issues using a non-Go stack.
Robert Sesek [Sun, 1 Jan 2017 06:37:40 +0000 (01:37 -0500)]
Add small program to help debug TLS issues using a non-Go stack.

7 years agoAllow additional parameters after the address in smtp.connection.parasePath. v1.0.0
Robert Sesek [Sun, 18 Dec 2016 20:26:51 +0000 (15:26 -0500)]
Allow additional parameters after the address in smtp.connection.parasePath.

7 years agoDo not break out of a switch, use return.
Robert Sesek [Sun, 18 Dec 2016 15:19:31 +0000 (10:19 -0500)]
Do not break out of a switch, use return.

7 years agoFix not handling invalid RCPT TO addresses.
Robert Sesek [Sun, 18 Dec 2016 07:45:12 +0000 (02:45 -0500)]
Fix not handling invalid RCPT TO addresses.

7 years agoAdd more logging to debug production issues.
Robert Sesek [Sun, 18 Dec 2016 07:37:58 +0000 (02:37 -0500)]
Add more logging to debug production issues.

7 years agoBreak out of the connection loops if EOF is reached.
Robert Sesek [Sun, 18 Dec 2016 06:26:35 +0000 (01:26 -0500)]
Break out of the connection loops if EOF is reached.

7 years agoAdd zap logging through the servers.
Robert Sesek [Sun, 18 Dec 2016 06:21:28 +0000 (01:21 -0500)]
Add zap logging through the servers.

7 years agoAdd a systemd unit file for the server.
Robert Sesek [Sun, 18 Dec 2016 05:07:50 +0000 (00:07 -0500)]
Add a systemd unit file for the server.

7 years agoFormat the TLS string in the receive-trace.
Robert Sesek [Sun, 18 Dec 2016 03:40:48 +0000 (22:40 -0500)]
Format the TLS string in the receive-trace.

7 years agoImplement STARTTLS in the SMTP server.
Robert Sesek [Sun, 18 Dec 2016 01:32:12 +0000 (20:32 -0500)]
Implement STARTTLS in the SMTP server.

7 years agoSupport TLS in POP3.
Robert Sesek [Sun, 18 Dec 2016 00:47:32 +0000 (19:47 -0500)]
Support TLS in POP3.

7 years agoStart saving SMTP messages in the maildrop.
Robert Sesek [Sat, 17 Dec 2016 23:22:14 +0000 (18:22 -0500)]
Start saving SMTP messages in the maildrop.

7 years agoWhen receiving a message, the SMTP server must add its trace information.
Robert Sesek [Sat, 17 Dec 2016 22:27:32 +0000 (17:27 -0500)]
When receiving a message, the SMTP server must add its trace information.

This also computes a Message-ID for the Envelope.

7 years agoAdd a test for POP3 RETR.
Robert Sesek [Sat, 17 Dec 2016 21:23:18 +0000 (16:23 -0500)]
Add a test for POP3 RETR.

Fixes a bug where the code line was not sent.

7 years agoFix case sensitivity in the POP3 sever.
Robert Sesek [Sat, 17 Dec 2016 21:16:41 +0000 (16:16 -0500)]
Fix case sensitivity in the POP3 sever.

7 years agoHandle case-insensitivity properly for SMTP commands.
Robert Sesek [Wed, 14 Dec 2016 05:52:14 +0000 (00:52 -0500)]
Handle case-insensitivity properly for SMTP commands.

7 years agoDo not implement SMTP VRFY.
Robert Sesek [Wed, 14 Dec 2016 05:23:01 +0000 (00:23 -0500)]
Do not implement SMTP VRFY.

7 years agoAdd a test for the POP3 server.
Robert Sesek [Wed, 14 Dec 2016 02:56:31 +0000 (21:56 -0500)]
Add a test for the POP3 server.

Fixes issues with trying to operate on deleted messages.

7 years agoGo back to using pop3.Message rather than IDs for most pop3.Mailbox methods.
Robert Sesek [Tue, 13 Dec 2016 19:26:02 +0000 (14:26 -0500)]
Go back to using pop3.Message rather than IDs for most pop3.Mailbox methods.

But also add a Mailbox.GetMessage method to make it easier to convert.

7 years agoImplement POP3 LIST, RETR, and DELE.
Robert Sesek [Tue, 13 Dec 2016 05:59:58 +0000 (00:59 -0500)]
Implement POP3 LIST, RETR, and DELE.

7 years agoInitial POP3 server.
Robert Sesek [Tue, 13 Dec 2016 05:27:13 +0000 (00:27 -0500)]
Initial POP3 server.

7 years agoComplete the unittest by adding smtp.Server.VerifyAddress.
Robert Sesek [Tue, 13 Dec 2016 03:48:20 +0000 (22:48 -0500)]
Complete the unittest by adding smtp.Server.VerifyAddress.

7 years agoAdd the first test for SMTP connections, based on the exchange in RFC 5321.
Robert Sesek [Tue, 13 Dec 2016 02:31:41 +0000 (21:31 -0500)]
Add the first test for SMTP connections, based on the exchange in RFC 5321.

This fixes a few bugs caught by the test.

7 years agoSupport SMTP along with ESMTP.
Robert Sesek [Mon, 12 Dec 2016 07:01:03 +0000 (02:01 -0500)]
Support SMTP along with ESMTP.

7 years agoDefine an smtp.Envelope that can be delivered to an smtp.Server.
Robert Sesek [Mon, 12 Dec 2016 06:30:16 +0000 (01:30 -0500)]
Define an smtp.Envelope that can be delivered to an smtp.Server.

Also introduce a smtp.ReplyLine rather than smpt.commnection.write*() methods.

7 years agoA basic SMTP server.
Robert Sesek [Mon, 12 Dec 2016 05:57:40 +0000 (00:57 -0500)]
A basic SMTP server.

7 years agoSimple accept/listen loop for the SMTP server.
Robert Sesek [Mon, 12 Dec 2016 04:35:56 +0000 (23:35 -0500)]
Simple accept/listen loop for the SMTP server.

7 years agoLay out basic config file structure.
Robert Sesek [Mon, 12 Dec 2016 04:05:57 +0000 (23:05 -0500)]
Lay out basic config file structure.

7 years agoThe mission statement.
Robert Sesek [Mon, 12 Dec 2016 03:42:38 +0000 (22:42 -0500)]
The mission statement.