1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00
Commit Graph

108 Commits

Author SHA1 Message Date
Alberto Bertogli
8c22b3beef Add timeouts for the connection and individual commands
This patch introduces a general connection timeout (20m); and a shorter one
(1m) for individual command round-trips.

DATA is excluded from the latter, because it is expected that it takes more
time; we use the general connection timeout for it.
2015-10-26 04:06:40 +00:00
Alberto Bertogli
a5510607e8 Add some tests
This patch adds some tests that cover the SMTP commands, including STARTTLS
and various correctness checks.

There are also two simple benchmarks, that are not optimized and are more
useful for stress testing and profiling than anything else.
2015-10-26 03:40:33 +00:00
Alberto Bertogli
ca9c366087 Handle null reverse paths ("MAIL FROM:<>")
Null reverse paths are explicitly allowed, and used when sending delivery
notifications (https://tools.ietf.org/html/rfc2821#section-4.5.5).
2015-10-26 03:40:32 +00:00
Alberto Bertogli
5978c96fd6 Create a Server structure and start organizing its configuration
This is in preparation for the tests, which will come soon.
2015-10-26 03:40:32 +00:00
Alberto Bertogli
f5cab62c1e Implement STARTTLS 2015-10-26 03:40:32 +00:00
Alberto Bertogli
2c612002a9 Implement DATA receiving
This patch implements the receiving of DATA from the client.
We still don't do anything with it, though.
2015-10-26 03:40:32 +00:00
Alberto Bertogli
d92860c1de Implement more basic commands
Implement NOOP, RSET, MAIL FROM, RCPT TO, and the skeleton for DATA.
2015-10-26 03:40:32 +00:00
Alberto Bertogli
1ee6bf563e Initial commit
Extremely basic and hacky chasquid.go.
Hard-codes ports and hostname.

"Implements" EHLO, HELO, HELP and QUIT.
2015-10-26 03:40:26 +00:00