Skip to content

Commit

Permalink
deps: bump nuxt, rm pnpm-lock (#60)
Browse files Browse the repository at this point in the history
* deps: bump nuxt
* plugins: update urls, ES: update docs
* doc(CoreConfig): update with connection.ini, pairs with haraka/Haraka#3440
* delete pnpm-lock.yaml
* add lock files to .gitignore
  • Loading branch information
msimerson authored Feb 12, 2025
1 parent 4c5f50f commit 2c03835
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 9,834 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ dist
sw.*
.env
.output
pnpm-lock.yaml
yarn.lock
package-lock.json
99 changes: 18 additions & 81 deletions content/6.core/5.CoreConfig.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,16 @@ title: Core Configuration Files
_path: /core/CoreConfig
---

# Core Configuration Files

See [Logging](/core/Logging).

The Haraka core reads some configuration files to determine a few actions:

* smtp.yaml or smtp.json

If either of these files exist then they are loaded first after log.ini.
If either of these files exist then they are loaded first.
This file is designed to use the JSON/YAML file overrides documented in
[Config](/core/Config) to optionally provide the entire configuration in a single file.

* databytes

Contains the maximum SIZE of an email that Haraka will receive.

* plugins

The list of plugins to load
Expand All @@ -44,35 +38,29 @@ The list of plugins to load
specify -1 to disable spooling completely or 0 to force all messages to be spooled to disk.
* graceful\_shutdown - (default: false) enable this to wait for sockets on shutdown instead of closing them quickly
* force_shutdown_timeout - (default: 30) number of seconds to wait for a graceful shutdown
* smtputf8 - (default: true) advertise support for SMTPUTF8
* strict\_rfc1869 - (default: false) Requires senders to conform to RFC 1869 and RFC 821 when sending the MAIL FROM and RCPT TO commands. In particular,
the inclusion of spurious spaces or missing angle brackets will be rejected.

* me

A name to use for this server. Used in received lines and elsewhere. Setup
by default to be your hostname.

* deny\_includes\_uuid

Each connection and mail in Haraka includes a UUID which is also in most log
messages. If you put a `1` in this file then every denied mail (either via
DENY/5xx or DENYSOFT/4xx return codes) will include the uuid at the start
of each line of the deny message in brackets, making it easy to track
problems back to the logs.

Because UUIDs are long, if you put a number greater than 1 in the config
file, it will be truncated to that length. We recommend a 6 as a good
balance of finding in the logs and not making lines too long.

* banner\_includes\_uuid
* connection.ini

This will add the full UUID to the first line of the SMTP greeting banner.
See inline comments in connection.ini for the following settings:

* early\_talker\_delay

If clients talk early we *punish* them with a delay of this many milliseconds
default: 1000.
* haproxy.hosts\_ipv4
* haproxy.hosts\_ipv6
* headers.\*
* max.bytes
* max.line\_length
* max.data\_line\_length
* max.mime\_parts
* message.greeting
* message.close
* smtputf8
* strict\_rfc1869
* uuid.deny\_chars
* uuid.banner\_bytes

* plugin\_timeout

Expand All @@ -85,59 +73,8 @@ The list of plugins to load
If the plugin is in a sub-directory of plugins, then you must create this file
in the equivalent path e.g. the queue/smtp_forward would need a timeout file in `config/queue/smtp_forward.timeout`

* smtpgreeting

The greeting line used when a client connects. This can be multiple lines
if required (this may cause some connecting machines to fail - though
usually only spam-bots).

* max\_received\_count

The maximum number of "Received" headers allowed in an email. This is a
simple protection against mail loops. Defaults to 100.

* max\_line\_length

The maximum length of lines in SMTP session commands (e.g. RCPT, HELO etc).
Defaults to 512 (bytes) which is mandated by RFC 5321 §4.5.3.1.4. Clients
exceeding this limit will be immediately disconnected with a "521 Command
line too long" error.

* max\_data\_line\_length

The maximum length of lines in the DATA section of emails. Defaults to 992
(bytes) which is the limit set by Sendmail. When this limit is exceeded the
three bytes "\r\n " (0x0d 0x0a 0x20) are inserted into the stream to "fix"
it. This has the potential to "break" some email, but makes it more likely
to be accepted by upstream/downstream services, and is the same behaviour
as Sendmail. Also when the data line length limit is exceeded
`transaction.notes.data_line_length_exceeded` is set to `true`.

* outbound.concurrency\_max

Maximum concurrency to use when delivering mails outbound. Defaults to 100.

* outbound.disabled

Put a `1` in this file to temporarily disable outbound delivery. Useful
while figuring out network issues or testing.
* outbound.ini

* outbound.bounce\_message

The bounce message if delivery of the message fails. The default is normally fine. Bounce messages contain a number of template
replacement values which are best discovered by looking at the source code.

* haproxy\_hosts

A list of HAProxy hosts that Haraka should enable the PROXY protocol from.
See [HAProxy](/core/HAProxy)

* max_mime_parts

Defaults to 1000. There's a potential denial of service in large numbers of
MIME parts in carefully crafted emails. If this limit is too low for some
reason you can increase it by setting a value in this file.

* connection\_close\_message

Defaults to `closing connection. Have a jolly good day.` can be overrridden with custom text
The bounce message if delivery of the message fails. The default is normally fine. Bounce messages contain a number of template replacement values which are best discovered by looking at the source code.
4 changes: 2 additions & 2 deletions content/8.plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ A comprehensive list of known plugins. Create a PR to add yours to these lists.
[url-limit]: https://github.com/haraka/haraka-plugin-limit
[url-logreader]: https://github.com/haraka/haraka-plugin-log-reader
[url-milter]: https://github.com/haraka/haraka-plugin-milter
[url-mfres]: https://github.com/haraka/Haraka/blob/master/docs/plugins/mail_from.is_resolvable.md
[url-mfres]: https://github.com/haraka/haraka-plugin-mail_from.is_resolvable
[url-msgsniff]: https://github.com/haraka/haraka-plugin-messagesniffer
[url-ms]: http://www.armresearch.com/Products/
[url-creds]: https://github.com/haraka/Haraka/blob/master/docs/plugins/prevent_credential_leaks.md
Expand All @@ -194,7 +194,7 @@ A comprehensive list of known plugins. Create a PR to add yours to these lists.
[url-rqmd]: https://github.com/haraka/haraka-plugin-qmail-deliverable
[url-rroutes]: https://github.com/haraka/haraka-plugin-recipient-routes
[url-recordenv]: https://github.com/haraka/Haraka/blob/master/docs/plugins/record_envelope_addresses.md
[url-relay]: https://github.com/haraka/Haraka/blob/master/docs/plugins/relay.md
[url-relay]: https://github.com/haraka/haraka-plugin-relay
[url-rng]: https://github.com/haraka/Haraka/blob/master/docs/plugins/reseed_rng.md
[url-rspamd]: https://github.com/haraka/haraka-plugin-rspamd
[url-spamass]: https://github.com/haraka/haraka-plugin-spamassassin
Expand Down
Loading

0 comments on commit 2c03835

Please sign in to comment.