Commit Graph

185 Commits

Author SHA1 Message Date
Mike Hillyer 2cde2e472d Undo column width fixing attempts. 2024-01-05 14:49:04 -05:00
Mike Hillyer c962577faa Trying another column width fix. 2024-01-05 14:29:50 -05:00
Mike Hillyer 414d5515f8 Attempt to fix column width. 2024-01-05 14:26:45 -05:00
Mike Hillyer 72492df381 Create new master metadata index page, update existing metadata pages to reflect the change. 2024-01-05 13:54:12 -05:00
Wez Furlong b1375f8e6b docs: update for latest release 2024-01-03 13:49:55 -07:00
Wez Furlong 5d206834ce docs: fixup outdated source + pool information
Some sections didn't get updated to match changes
around how pools and sources are retrieved from the
configuration.

Thanks to @farhadhf for raising this

closes: https://github.com/KumoCorp/kumomta/pull/107
2023-12-14 17:17:06 -07:00
Wez Furlong 2925c7f565 docs: add missing socks5 config to reference section 2023-12-14 17:17:06 -07:00
Mike Hillyer 95c3e3b444 Build out new page on inbound SMTP AUTH, update related documents and TOC, rename smtpauth page outbound_auth to differentiate from inbound_auth.md. Update smtp listener page to point to it, update refman auth plain page to reflect latest fields. 2023-12-07 17:00:58 -05:00
Wez Furlong cdfe11cf22 Allow simple wildcard suffixes for header names in logs
refs: https://github.com/KumoCorp/kumomta/issues/74
2023-12-04 12:10:15 -07:00
Wez Furlong ec937b52ef Allow using arbitrary bounce classification labels
refs: https://github.com/KumoCorp/kumomta/issues/98
2023-11-29 12:09:05 -07:00
Wez Furlong 8af7e85c6b docs: update version info for latest release 2023-11-29 12:08:34 -07:00
Wez Furlong c40f86e039 Add suppress-logging option to admin bounces
closes: https://github.com/KumoCorp/kumomta/issues/75
2023-11-23 08:36:07 -07:00
Wez Furlong 9282110479 docs: update openapi snapshots
Meant to include this in the previous commit!

refs: https://github.com/KumoCorp/kumomta/issues/96
2023-11-22 12:54:17 -07:00
Wez Furlong 0fc1108308 openapi: tidy up server URL and auth bits for rapidoc
refs: https://github.com/KumoCorp/kumomta/issues/96
2023-11-22 12:51:10 -07:00
Wez Furlong 0b87c020b4 add openapi.json metadata for http api
Adds `/api-docs/openapi.json` and `/rapidoc` endpoints to both
kumod and tsa-daemon.

The former exposes the subset of the API that is expressable
in the openapi schema as a json file that can be imported into
other tools.

The latter is a single-page web app that consumes the former
to provide an interactive API explorer.
We're using rapidoc for this, because I happen to think it looks
nicest and easiest to use, and we can integrate it into the docs
fairly nicely.

Which leads in nicely to say: I've integrated a read-only version
of rapidoc into the docs, and it even detects and adjusts to the
selected light/dark mode.

The `docs/update-openapi.sh` extracts the openapi.json data from
kumod and tsa-daemon and outputs to the correct place in the docs
directory structure to enable this.

refs: https://github.com/KumoCorp/kumomta/issues/96
2023-11-21 15:30:13 -07:00
Wez Furlong a03fcb2bf1 docs: fix sqlite auth example 2023-11-10 07:01:58 -07:00
Wez Furlong 38179d59c4 docs: fix some broken links 2023-11-06 08:14:11 -07:00
Wez Furlong c1c4ce723e add pre_init event 2023-11-06 08:10:53 -07:00
Wez Furlong 1872dc71a0 shaping: calling shaper.should_enqueue_log_record is no longer required
Allow multiple should_enqueue_log_record hooks to be registered,
and take advantage of that inside the shaping helper.

`shaper.should_enqueue_log_record` no longer needs to be explicitly
plumbed from the config, but we allow calling it still for compatibility
reasons.

We will remove that compatibility after the next stable release.
2023-11-03 08:52:40 -07:00
Wez Furlong 929d51deba events: plumbing for registering multiple handlers
Previously, we'd restrict `kumo.on` to allowing just a single
instance of an event to be registered. The purpose of this was
to help surface logical errors where copypasta would result in
a bogus configuration.

With multiple helper lua modules now wanting to take responsibility
for some portion of the event handling, it is becoming more complex
to stitch things together.

It is desirable to allow multiple handlers for certain events,
so that a module can handle just its area of responsibility
without worry other modules about it.

This commit introduces a CallbackSignature type that allows
defining the function signature for event callbacks.

The signature can be pre-created and registered ahead of setting
up any lua contexts, which allows declaring whether an event
can have multiple callbacks registered.

The `get_queue_config` event handler has been set to allow multiple
callbacks.
2023-11-02 18:11:17 -07:00
Wez Furlong ffc15f2f74 docs: smtp_client_rewrite_delivery_status: see also memoize 2023-11-01 13:45:05 -07:00
Wez Furlong 10bade362b docs: add version info to rewrite and regex set map 2023-11-01 13:41:34 -07:00
Wez Furlong 343411c3d2 Add event for rewriting a failed smtp response
This will only trigger for messages where we've gotten to MAIL FROM or
later, and where we got a non-250 response.

The event is passed the response + the domain, tenant, campaign and
routing domain.  It can return an alternative response code value
or `null` to indicate no change.
2023-11-01 13:25:15 -07:00
Wez Furlong 8942ef7f86 Add regex_set_map type
This is useful for efficiently matching a string simultaneously against
multiple regular expressions.

The motivating use case is to use it together with the
smtp_client_rewrite_delivery_status event.
2023-11-01 12:52:39 -07:00
Wez Furlong 8cbc60410d docs: update for dane 2023-10-26 17:03:00 -07:00
Wez Furlong 903189d873 add tls info to Delivery log records
refs: https://github.com/KumoCorp/kumomta/issues/39
refs: https://github.com/KumoCorp/kumomta/issues/8
2023-10-26 17:03:00 -07:00
Wez Furlong f3241dc3c7 docs: fix typo 2023-10-26 17:03:00 -07:00
Wez Furlong 39a046e07c docs: add missing routing_domain param to get_queue_config event examples 2023-10-18 06:56:01 -07:00
Wez Furlong 4c36489681 First pass at accounting db
This keeps track of the volume of receptions and deliveries over time.
2023-10-12 20:43:58 -04:00
Wez Furlong d943a1fc13 logging: add filter_event
This is useful when combining log hooks with local logging, as it
enables you to filter out the log hooks from the local file logs.
2023-09-15 12:10:46 -07:00
Wez Furlong 3cdab67595 logging: add optional segment_header
This is useful for implementing CSV file style logging.
2023-09-15 11:20:10 -07:00
Wez Furlong e7f20cf814 logs: allow using log_record in templates 2023-09-14 14:34:02 -07:00
Wez Furlong 3b10d637f9 docs: show how to use dkim verification
refs: https://github.com/KumoCorp/kumomta/issues/82
2023-09-14 13:03:41 -07:00
Wez Furlong 18223c7799 docs: add note about http_auth 2023-09-12 12:59:40 -07:00
Nathalie Cai 1aca4ae3a8 add dkim canonicalization to dkim helper 2023-09-08 06:51:04 -07:00
Wez Furlong d3b4a191af MTA-STS: expose to path config, implement in smtp_dispatcher
This should be sufficient to enable this feature!

refs: https://github.com/KumoCorp/kumomta/issues/7
2023-08-31 08:54:12 -07:00
Nathalie Cai 6bb9ac387c add mx_list_ip_map to smtp protocole for tls connection (#80)
add mx_list_ip_map to smtp protocole for tls connection

Co-authored-by: Nathalie Cai <ncai@chapsvision.com>
2023-08-30 08:29:18 -07:00
Wez Furlong 5d9d32e7ed Automated doc formatting fix 2023-08-30 00:25:15 +00:00
Wez Furlong 884f8b0171 docs for msg:check_fix_conformance
refs: #17
refs: #24
refs: #26
2023-08-29 17:08:16 -07:00
Wez Furlong 0acef1959a smtp_server: add line_length_hard_limit parameter
refs: https://github.com/KumoCorp/kumomta/issues/25
2023-08-29 06:45:08 -07:00
Wez Furlong 88eca8b838 Add invalid CRLF conformance option to SMTP listener
There's just one option for the whole of the message payload; we don't
distinguish between headers and body for this.

closes: https://github.com/KumoCorp/kumomta/issues/23
closes: https://github.com/KumoCorp/kumomta/issues/22
2023-08-28 18:38:19 -07:00
Wez Furlong 24909f4cde docs: update for 2023.08.22-4d895015 release 2023-08-25 08:38:09 -07:00
Wez Furlong 4d89501564 update trust-dns-resolver to 0.23
With the mail-auth dep removed, we can now update this dep.
2023-08-22 17:40:14 -07:00
Wez Furlong 05e52d4ce6 message: switch ed25519 dkim signing to cfdkim
With the upgraded ed25519-dalek crate, it's now possible to
pass in either DER or PEM encoded PKCS8 signing keys, which
makes it feasible to remove the mail-auth dep from this crate.

That in turns reduces the amount of code in here, which is nice.
2023-08-22 17:27:06 -07:00
Wez Furlong 74f3ebd26e allow configuring DNS resolver parameters 2023-08-22 11:32:23 -07:00
Wez Furlong 71924490d3 message: add set_recipient and set_sender methods 2023-08-15 14:51:35 -07:00
Wez Furlong 55770052a5 add kumo.encode module
This provides a variety of encode/decode functions for things
like base64 and base32 encoding
2023-08-12 08:42:44 -07:00
Wez Furlong d35bffc80d Automated doc formatting fix 2023-08-12 13:55:14 +00:00
Wez Furlong 99fcfbc64e kumod: refresh queue_config periodically
This commit causes the scheduled queue maintainer to refresh
the queue config by calling the get_queue_config event approximately
every minute while the queue is alive.

In addition, we now thread the routing_domain through to get_queue_config
2023-08-12 06:22:54 -07:00
Wez Furlong d8a6bceef0 add kumo.digest lua module
Compute hashes
2023-08-11 21:44:40 -07:00