Tom Mairs
b435e210bb
Add Note about CIDR strictness
2023-04-28 09:03:24 -07:00
Wez Furlong
ef2abc7031
allow comments in json parsed by kumo.json_load, kumo.json_parse
2023-04-26 15:08:29 -07:00
Mike Hillyer
969d079eb6
Finish FBL and Bounce chapters, add chapter on Sending IPs.
2023-04-24 10:17:51 -04:00
Mike Hillyer
e2be05804a
Build out FBL and Domain Config chapters, tweak SMTP Listener content.
2023-04-22 12:09:44 -04:00
Mike Hillyer
2e2a283692
Update bounce file name in TOC
2023-04-08 13:56:56 -04:00
Mike Hillyer
d619a8eb63
Introduce bounce & fbl chapter, initial fill of bounce section.
2023-04-08 13:56:56 -04:00
Mike Hillyer
475e28fbb5
Update logging documentation.
2023-04-07 21:30:40 -04:00
Wez Furlong
e87a5b18bb
Improve performance of finding CRLF.CRLF for large messages by 20x
...
Using a better tuned algorithm for finding a substring match removes
a CPU bottleneck and improves message throughput by 20x at 100Kb
message sizes.
2023-03-27 09:39:51 -07:00
Wez Furlong
6740a68fad
add kumo.set_diagnostic_log_filter for adjusting log levels via config
2023-03-24 09:02:10 -07:00
Wez Furlong
36de652dd2
docs: fix indent
2023-03-22 17:05:03 -07:00
Wez Furlong
0167041ed0
add kumo.memoize as a way to add caching to any lua function
2023-03-22 17:01:07 -07:00
Wez Furlong
be0fd76d0b
add ehlo_domain config option
2023-03-14 22:26:07 -07:00
Wez Furlong
e1f0939d81
add json functions
2023-03-14 20:07:40 -07:00
Wez Furlong
4c71090669
docs: standardize the header before the generated list of functions
2023-03-14 10:17:55 -07:00
Wez Furlong
b56bed5060
docs: fix admonish syntax, explain the global variable thing better
2023-03-11 23:06:59 -07:00
Wez Furlong
7054fb31c9
switch to using human time for the queue related time intervals
2023-03-06 19:33:05 -07:00
Wez Furlong
00c253a9dd
add maildir support
...
This is to facilitate end-to-end testing to validate that the
right bits come out at the end.
2023-03-06 19:05:49 -07:00
Wez Furlong
cd5f7efbb0
docs: link to ARF rfc, add note about extensions:
2023-03-05 20:37:45 -07:00
Wez Furlong
c6292440d0
docs: fix a typo and add a missing paragraph
2023-03-05 20:34:29 -07:00
Wez Furlong
1bfa3a42af
Add custom logging
2023-03-05 20:29:14 -07:00
Wez Furlong
a0e73b72b1
allow logging selected meta and headers to the logs
2023-03-05 15:58:19 -07:00
Wez Furlong
1ac929e6b2
add max_segment_duration option to the logger
2023-03-05 15:25:08 -07:00
Wez Furlong
0ca585bd5a
Optionally use redis for throttles
2023-03-05 10:39:56 -07:00
Wez Furlong
c184214253
allow loading TLS key+cert from hashicorp vault
...
refactor to allow reusing the same key loader logic for dkim, smtp
and http.
2023-03-04 11:01:35 -07:00
Wez Furlong
c93c9af2eb
refine default list of meta fields for supplemental trace header
2023-03-04 10:21:45 -07:00
Wez Furlong
52f7ab6150
add prohibited_hosts and skip_hosts for outbound resolving
...
While in that part of the code, handle null MX destination domains
(such as `example.com) more nicely.
2023-03-04 10:09:17 -07:00
Wez Furlong
7eb33d2ca5
make smtp server read timeout configurable
...
client_timeout is the config, and it defaults to 1m
2023-03-04 07:52:53 -07:00
Wez Furlong
6204642270
add trace headers configuration and link to ARF parsing
2023-03-04 07:22:02 -07:00
Wez Furlong
61f974d066
adjust listener domains config to support more relaying options
...
a domain can now specify:
* relay_from: mail from the domain is allowed to relay anywhere
if the peer matches the cidr list
* relay_to: mail from anywhere is allowed to relay to the domain
* log_arf: ARF FBL reports are allowed to be received and their
contents will be logged
* log_oob: oob bounces are allowed to be received and their
contents will be logged
2023-03-03 22:53:56 -07:00
Wez Furlong
03c3484cd7
rename fbl -> arf
...
The spec is talking about ARF, so let's use that terminology
2023-03-03 14:34:06 -07:00
Wez Furlong
ef7fa59355
synthesize OOB log records from OOB reports
...
* When logging the reception of a message, if we can parse it
as an rfc3464 oob report, then synthesize OOB records for
each recipient
* Add config to allow relaying for domains for which bounces
are received, so that we can accept their message content.
* If the domain config allows bounces but not relaying, then
the message will not be spooled or queued after reception;
it will be dropped with no additional logging.
2023-03-03 06:53:33 -07:00
Wez Furlong
d5b13a263b
Add kumo.configure_bounce_classifier
...
and connect it to the logger
2023-03-02 08:59:03 -07:00
Wez Furlong
cd7ba3a2bb
make smtp client timeouts configurable by command
2023-03-01 12:19:45 -07:00
Wez Furlong
557fff650d
implement max_deliveries_per_connection
2023-02-28 15:12:15 -07:00
Wez Furlong
a691d7afcc
docs: note about the unspecified pool as the default
2023-02-28 13:58:50 -07:00
Wez Furlong
c275c696ff
implement message and connection rate throttles
...
These use the local/in-process throttles.
Seems to work in my very light testing so far.
2023-02-28 13:56:58 -07:00
Wez Furlong
50eabe6f98
docs: update get_egress_path_config parameters
2023-02-28 11:47:54 -07:00
Wez Furlong
f912fab58b
docs: egress source, egress path etc.
2023-02-28 10:31:00 -07:00
Wez Furlong
9ab1727792
rename: dest_site -> egress path
2023-02-28 09:56:20 -07:00
Wez Furlong
a6a4bdd37c
allow specifying remote smtp port in site config
2023-02-26 22:46:45 -07:00
Wez Furlong
9338de3d06
delay ready queue when target site is persistently unavailable
...
Tidy up the logging around this; move some error logs to debug level,
especially since we log message events to the log file for that purpose;
there is no need to log errors to the console for this.
2023-02-26 22:26:03 -07:00
Wez Furlong
6645763606
docs: document HTTP APIs
2023-02-25 22:42:08 -07:00
Wez Furlong
51d9928ead
docs: add more reference content
2023-02-25 20:41:50 -07:00
Wez Furlong
b869d10e17
docs: add define_spool
2023-02-25 16:14:12 -07:00
Wez Furlong
82dc9c7821
docs: add configure_local_logs, start_esmtp_listener
2023-02-25 15:55:14 -07:00
Wez Furlong
bfe1d5f94b
docs: add some basic reference info
...
The content here needs to be fleshed out some more, but this commit
is intended to get the skeleton in place.
2023-02-25 14:59:20 -07:00
Wez Furlong
831bfe9aab
docs: skeleton for building the docs
...
Rather than edit SUMMARY.md, you edit docs/generate-toc.py
and it will flesh out sections based on the list of files
in a directory.
2023-02-25 10:50:58 -07:00