haraka 0.0.33 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.githooks/pre-commit +41 -0
- package/.prettierignore +7 -0
- package/.qlty/.gitignore +7 -0
- package/.qlty/configs/.shellcheckrc +1 -0
- package/.qlty/qlty.toml +15 -0
- package/CHANGELOG.md +1898 -0
- package/CONTRIBUTORS.md +34 -0
- package/Dockerfile +50 -0
- package/LICENSE +22 -0
- package/Plugins.md +227 -0
- package/README.md +119 -4
- package/SECURITY.md +178 -0
- package/TODO +22 -0
- package/bin/haraka +593 -0
- package/bin/haraka_grep +32 -0
- package/config/aliases +2 -0
- package/config/auth_flat_file.ini +7 -0
- package/config/auth_vpopmaild.ini +9 -0
- package/config/connection.ini +79 -0
- package/config/delay_deny.ini +7 -0
- package/config/host_list +3 -0
- package/config/host_list_regex +6 -0
- package/config/http.ini +11 -0
- package/config/lmtp.ini +7 -0
- package/config/log.ini +11 -0
- package/config/outbound.bounce_message +18 -0
- package/config/outbound.bounce_message_html +36 -0
- package/config/outbound.bounce_message_image +106 -0
- package/config/outbound.ini +24 -0
- package/config/plugins +67 -0
- package/config/smtp.ini +37 -0
- package/config/smtp_bridge.ini +4 -0
- package/config/smtp_forward.ini +31 -0
- package/config/smtp_proxy.ini +27 -0
- package/config/tarpit.timeout +1 -0
- package/config/tls.ini +83 -0
- package/config/watch.ini +12 -0
- package/config/xclient.hosts +2 -0
- package/connection.js +1865 -0
- package/contrib/Haraka.cf +6 -0
- package/contrib/Haraka.pm +35 -0
- package/contrib/bad_smtp_server.pl +25 -0
- package/contrib/bsd-rc.d/haraka +63 -0
- package/contrib/debian-init.d/haraka +87 -0
- package/contrib/haraka.init +96 -0
- package/contrib/haraka.service +23 -0
- package/contrib/plugin2npm.sh +81 -0
- package/contrib/ubuntu-upstart/haraka.conf +27 -0
- package/docs/Body.md +1 -0
- package/docs/Config.md +1 -0
- package/docs/Connection.md +153 -0
- package/docs/CoreConfig.md +96 -0
- package/docs/CustomReturnCodes.md +3 -0
- package/docs/HAProxy.md +62 -0
- package/docs/Header.md +1 -0
- package/docs/Logging.md +129 -0
- package/docs/Outbound.md +210 -0
- package/docs/Plugins.md +372 -0
- package/docs/Results.md +7 -0
- package/docs/Transaction.md +135 -0
- package/docs/Tutorial.md +183 -0
- package/docs/deprecated/access.md +3 -0
- package/docs/deprecated/backscatterer.md +9 -0
- package/docs/deprecated/connect.rdns_access.md +53 -0
- package/docs/deprecated/data.headers.md +3 -0
- package/docs/deprecated/data.nomsgid.md +7 -0
- package/docs/deprecated/data.noreceived.md +11 -0
- package/docs/deprecated/data.rfc5322_header_checks.md +11 -0
- package/docs/deprecated/dkim_sign.md +97 -0
- package/docs/deprecated/dkim_verify.md +28 -0
- package/docs/deprecated/dnsbl.md +80 -0
- package/docs/deprecated/dnswl.md +73 -0
- package/docs/deprecated/lookup_rdns.strict.md +67 -0
- package/docs/deprecated/mail_from.access.md +52 -0
- package/docs/deprecated/mail_from.blocklist.md +18 -0
- package/docs/deprecated/mail_from.nobounces.md +8 -0
- package/docs/deprecated/rcpt_to.access.md +53 -0
- package/docs/deprecated/rcpt_to.blocklist.md +18 -0
- package/docs/deprecated/rcpt_to.routes.md +3 -0
- package/docs/deprecated/rdns.regexp.md +30 -0
- package/docs/plugins/aliases.md +3 -0
- package/docs/plugins/auth/auth_bridge.md +34 -0
- package/docs/plugins/auth/auth_ldap.md +4 -0
- package/docs/plugins/auth/auth_proxy.md +36 -0
- package/docs/plugins/auth/auth_vpopmaild.md +33 -0
- package/docs/plugins/auth/flat_file.md +40 -0
- package/docs/plugins/block_me.md +18 -0
- package/docs/plugins/data.signatures.md +11 -0
- package/docs/plugins/delay_deny.md +23 -0
- package/docs/plugins/max_unrecognized_commands.md +6 -0
- package/docs/plugins/prevent_credential_leaks.md +22 -0
- package/docs/plugins/process_title.md +42 -0
- package/docs/plugins/queue/deliver.md +3 -0
- package/docs/plugins/queue/discard.md +32 -0
- package/docs/plugins/queue/lmtp.md +24 -0
- package/docs/plugins/queue/qmail-queue.md +16 -0
- package/docs/plugins/queue/quarantine.md +87 -0
- package/docs/plugins/queue/smtp_bridge.md +32 -0
- package/docs/plugins/queue/smtp_forward.md +127 -0
- package/docs/plugins/queue/smtp_proxy.md +68 -0
- package/docs/plugins/queue/test.md +7 -0
- package/docs/plugins/rcpt_to.in_host_list.md +34 -0
- package/docs/plugins/rcpt_to.max_count.md +3 -0
- package/docs/plugins/record_envelope_addresses.md +20 -0
- package/docs/plugins/relay.md +3 -0
- package/docs/plugins/reseed_rng.md +16 -0
- package/docs/plugins/status.md +41 -0
- package/docs/plugins/tarpit.md +50 -0
- package/docs/plugins/tls.md +235 -0
- package/docs/plugins/toobusy.md +27 -0
- package/docs/plugins/xclient.md +10 -0
- package/docs/tutorials/Migrating_from_v1_to_v2.md +96 -0
- package/docs/tutorials/SettingUpOutbound.md +62 -0
- package/eslint.config.mjs +2 -0
- package/haraka.js +74 -0
- package/haraka.sh +2 -0
- package/http/html/404.html +58 -0
- package/http/html/index.html +47 -0
- package/http/package.json +21 -0
- package/line_socket.js +24 -0
- package/logger.js +322 -0
- package/outbound/client_pool.js +59 -0
- package/outbound/config.js +134 -0
- package/outbound/hmail.js +1504 -0
- package/outbound/index.js +349 -0
- package/outbound/qfile.js +93 -0
- package/outbound/queue.js +399 -0
- package/outbound/tls.js +85 -0
- package/outbound/todo.js +17 -0
- package/package.json +100 -4
- package/plugins/.eslintrc.yaml +3 -0
- package/plugins/auth/auth_base.js +261 -0
- package/plugins/auth/auth_bridge.js +20 -0
- package/plugins/auth/auth_proxy.js +227 -0
- package/plugins/auth/auth_vpopmaild.js +162 -0
- package/plugins/auth/flat_file.js +44 -0
- package/plugins/block_me.js +88 -0
- package/plugins/data.signatures.js +30 -0
- package/plugins/delay_deny.js +153 -0
- package/plugins/prevent_credential_leaks.js +61 -0
- package/plugins/process_title.js +197 -0
- package/plugins/profile.js +11 -0
- package/plugins/queue/deliver.js +12 -0
- package/plugins/queue/discard.js +27 -0
- package/plugins/queue/lmtp.js +45 -0
- package/plugins/queue/qmail-queue.js +93 -0
- package/plugins/queue/quarantine.js +133 -0
- package/plugins/queue/smtp_bridge.js +45 -0
- package/plugins/queue/smtp_forward.js +371 -0
- package/plugins/queue/smtp_proxy.js +142 -0
- package/plugins/queue/test.js +15 -0
- package/plugins/rcpt_to.host_list_base.js +65 -0
- package/plugins/rcpt_to.in_host_list.js +56 -0
- package/plugins/record_envelope_addresses.js +17 -0
- package/plugins/reseed_rng.js +7 -0
- package/plugins/status.js +274 -0
- package/plugins/tarpit.js +45 -0
- package/plugins/tls.js +164 -0
- package/plugins/toobusy.js +47 -0
- package/plugins/xclient.js +124 -0
- package/plugins.js +605 -0
- package/run_tests +11 -0
- package/server.js +827 -0
- package/smtp_client.js +504 -0
- package/test/.eslintrc.yaml +11 -0
- package/test/config/auth_flat_file.ini +5 -0
- package/test/config/block_me.recipient +1 -0
- package/test/config/block_me.senders +1 -0
- package/test/config/dhparams.pem +8 -0
- package/test/config/host_list +2 -0
- package/test/config/outbound_tls_cert.pem +1 -0
- package/test/config/outbound_tls_key.pem +1 -0
- package/test/config/plugins +7 -0
- package/test/config/smtp.ini +11 -0
- package/test/config/smtp_forward.ini +30 -0
- package/test/config/tls/example.com/_.example.com.key +28 -0
- package/test/config/tls/example.com/example.com.crt +25 -0
- package/test/config/tls/haraka.local.pem +51 -0
- package/test/config/tls.ini +45 -0
- package/test/config/tls_cert.pem +21 -0
- package/test/config/tls_key.pem +28 -0
- package/test/connection.js +820 -0
- package/test/fixtures/haproxy_allowed/config/connection.ini +3 -0
- package/test/fixtures/haproxy_disabled/config/connection.ini +3 -0
- package/test/fixtures/haproxy_untrusted/config/connection.ini +3 -0
- package/test/fixtures/line_socket.js +21 -0
- package/test/fixtures/todo_qfile.txt +0 -0
- package/test/fixtures/util_hmailitem.js +156 -0
- package/test/installation/config/test-plugin-flat +1 -0
- package/test/installation/config/test-plugin.ini +10 -0
- package/test/installation/config/tls.ini +1 -0
- package/test/installation/node_modules/load_first/index.js +5 -0
- package/test/installation/node_modules/load_first/package.json +11 -0
- package/test/installation/node_modules/test-plugin/config/test-plugin-flat +1 -0
- package/test/installation/node_modules/test-plugin/config/test-plugin.ini +9 -0
- package/test/installation/node_modules/test-plugin/package.json +5 -0
- package/test/installation/node_modules/test-plugin/test-plugin.js +5 -0
- package/test/installation/plugins/base_plugin.js +3 -0
- package/test/installation/plugins/folder_plugin/index.js +3 -0
- package/test/installation/plugins/folder_plugin/package.json +11 -0
- package/test/installation/plugins/inherits.js +7 -0
- package/test/installation/plugins/load_first.js +3 -0
- package/test/installation/plugins/plugin.js +1 -0
- package/test/installation/plugins/tls.js +3 -0
- package/test/logger.js +217 -0
- package/test/loud/config/dhparams.pem +0 -0
- package/test/loud/config/tls/goobered.pem +45 -0
- package/test/loud/config/tls.ini +43 -0
- package/test/mail_specimen/base64-root-part.txt +23 -0
- package/test/mail_specimen/varied-fold-lengths-preserve-data.txt +283 -0
- package/test/outbound/bounce_net_errors.js +133 -0
- package/test/outbound/bounce_rfc3464.js +226 -0
- package/test/outbound/hmail.js +210 -0
- package/test/outbound/index.js +385 -0
- package/test/outbound/qfile.js +124 -0
- package/test/outbound/queue.js +325 -0
- package/test/plugins/auth/auth_base.js +620 -0
- package/test/plugins/auth/auth_bridge.js +80 -0
- package/test/plugins/auth/auth_vpopmaild.js +81 -0
- package/test/plugins/auth/flat_file.js +123 -0
- package/test/plugins/block_me.js +141 -0
- package/test/plugins/data.signatures.js +111 -0
- package/test/plugins/delay_deny.js +262 -0
- package/test/plugins/prevent_credential_leaks.js +174 -0
- package/test/plugins/process_title.js +141 -0
- package/test/plugins/queue/deliver.js +98 -0
- package/test/plugins/queue/discard.js +78 -0
- package/test/plugins/queue/lmtp.js +137 -0
- package/test/plugins/queue/qmail-queue.js +98 -0
- package/test/plugins/queue/quarantine.js +80 -0
- package/test/plugins/queue/smtp_bridge.js +152 -0
- package/test/plugins/queue/smtp_forward.js +1023 -0
- package/test/plugins/queue/smtp_proxy.js +138 -0
- package/test/plugins/rcpt_to.host_list_base.js +102 -0
- package/test/plugins/rcpt_to.in_host_list.js +186 -0
- package/test/plugins/record_envelope_addresses.js +66 -0
- package/test/plugins/reseed_rng.js +34 -0
- package/test/plugins/status.js +207 -0
- package/test/plugins/tarpit.js +90 -0
- package/test/plugins/tls.js +86 -0
- package/test/plugins/toobusy.js +198 -0
- package/test/plugins/xclient.js +119 -0
- package/test/plugins.js +230 -0
- package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_fixed +0 -0
- package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_haraka +0 -0
- package/test/queue/1508269674999_1508269674999_0_34002_socVUF_1_haraka +0 -0
- package/test/queue/1508455115683_1508455115683_0_90253_9Q4o4V_1_haraka +0 -0
- package/test/queue/zero-length +0 -0
- package/test/server.js +1012 -0
- package/test/smtp_client.js +1303 -0
- package/test/tls_socket.js +321 -0
- package/test/transaction.js +554 -0
- package/tls_socket.js +771 -0
- package/transaction.js +267 -0
package/SECURITY.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
Security fixes are applied to the **current release** only. We encourage all users to run the latest version.
|
|
6
|
+
|
|
7
|
+
| Version | Supported |
|
|
8
|
+
| -------------- | --------- |
|
|
9
|
+
| 3.1.x (latest) | ✅ |
|
|
10
|
+
| < 3.1 | ❌ |
|
|
11
|
+
|
|
12
|
+
## Reporting a Vulnerability
|
|
13
|
+
|
|
14
|
+
**Please do not report security vulnerabilities through public GitHub issues.**
|
|
15
|
+
|
|
16
|
+
Use [GitHub Private Vulnerability Reporting](https://github.com/haraka/Haraka/security/advisories/new) to disclose security issues confidentially. This allows the maintainers to assess and patch the issue before public disclosure.
|
|
17
|
+
|
|
18
|
+
Include as much of the following as possible:
|
|
19
|
+
|
|
20
|
+
- A description of the vulnerability and its potential impact
|
|
21
|
+
- Steps to reproduce or a proof-of-concept
|
|
22
|
+
- Affected version(s)
|
|
23
|
+
- Any suggested mitigations or patches
|
|
24
|
+
|
|
25
|
+
## Response Process
|
|
26
|
+
|
|
27
|
+
1. **Acknowledgement** — We aim to acknowledge reports within **72 hours**.
|
|
28
|
+
2. **Assessment** — We will confirm the issue, determine severity, and identify affected versions.
|
|
29
|
+
3. **Fix & Release** — A patch release will be prepared and coordinated with the reporter.
|
|
30
|
+
4. **Disclosure** — A GitHub Security Advisory (and CVE if applicable) will be published after the fix is available.
|
|
31
|
+
|
|
32
|
+
We follow [coordinated vulnerability disclosure](https://vuls.cert.org/confluence/display/CVD). Reporters are credited in the advisory unless they prefer otherwise.
|
|
33
|
+
|
|
34
|
+
## Security Advisories
|
|
35
|
+
|
|
36
|
+
Published advisories are listed at:
|
|
37
|
+
**https://github.com/haraka/Haraka/security/advisories**
|
|
38
|
+
|
|
39
|
+
## Threat Model
|
|
40
|
+
|
|
41
|
+
Haraka is an SMTP server and plugin host. It accepts inbound network
|
|
42
|
+
connections, parses SMTP commands and message content, and can deliver mail
|
|
43
|
+
outbound when an operator enables relaying or outbound.
|
|
44
|
+
|
|
45
|
+
This threat model assumes the operator controls the host, configuration,
|
|
46
|
+
enabled plugins, credentials, TLS material, and any external services Haraka
|
|
47
|
+
is configured to use.
|
|
48
|
+
|
|
49
|
+
### Data flow
|
|
50
|
+
|
|
51
|
+
```mermaid
|
|
52
|
+
flowchart LR
|
|
53
|
+
client["SMTP client<br/>(untrusted)"]
|
|
54
|
+
dns["DNS resolver<br/>(untrusted)"]
|
|
55
|
+
peer["Outbound peer<br/>(untrusted)"]
|
|
56
|
+
operator(["Operator<br/>(trusted)"])
|
|
57
|
+
subgraph haraka["Haraka process — trust boundary"]
|
|
58
|
+
listener["Listener / TLS / Parser"] --> plugins["Plugin pipeline"]
|
|
59
|
+
plugins --> queue[("Queue · FS")]
|
|
60
|
+
queue --> delivery["Delivery"]
|
|
61
|
+
stores[("Config · TLS keys · Logs")]
|
|
62
|
+
end
|
|
63
|
+
client <--> listener
|
|
64
|
+
plugins <--> dns
|
|
65
|
+
delivery --> peer
|
|
66
|
+
operator -.-> stores
|
|
67
|
+
operator -.-> plugins
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The trust boundary is the Haraka process. External peers (SMTP clients, DNS
|
|
71
|
+
resolvers, outbound peers) are untrusted; data crossing the boundary inbound
|
|
72
|
+
must be validated before it affects delivery, state, or process behavior.
|
|
73
|
+
Inside the boundary, plugins, the queue, configuration, TLS material, and
|
|
74
|
+
logs share the Haraka process privilege and are the operator's
|
|
75
|
+
responsibility — they are not a security boundary against each other.
|
|
76
|
+
|
|
77
|
+
### Assets
|
|
78
|
+
|
|
79
|
+
The assets Haraka aims to protect:
|
|
80
|
+
|
|
81
|
+
- **Message content** in transit and queued on disk
|
|
82
|
+
- **AUTH credentials** received via SMTP AUTH, and any upstream credentials
|
|
83
|
+
Haraka holds for outbound or backend services
|
|
84
|
+
- **TLS private keys** and certificates used by the listener and for
|
|
85
|
+
outbound delivery
|
|
86
|
+
- **Queue integrity** — no injection, alteration, or deletion of queued
|
|
87
|
+
messages from outside the trust boundary
|
|
88
|
+
- **Availability** of the SMTP service to legitimate clients
|
|
89
|
+
- **Sender reputation** of the operator's deployment — Haraka must not be
|
|
90
|
+
abusable as an open relay or spam amplifier under documented
|
|
91
|
+
configuration
|
|
92
|
+
|
|
93
|
+
### Entry points and actors
|
|
94
|
+
|
|
95
|
+
Untrusted data enters Haraka through:
|
|
96
|
+
|
|
97
|
+
- **SMTP listeners** on the operator-configured ports (typically 25, 465,
|
|
98
|
+
587, and any additional listeners enabled by plugins or configuration)
|
|
99
|
+
- **PROXY protocol or XCLIENT metadata** when the operator has enabled
|
|
100
|
+
trusted-relay forwarding
|
|
101
|
+
- **DNS responses** to lookups performed by Haraka core or plugins
|
|
102
|
+
(rDNS, SPF, DKIM, MX, DNSBL, etc.)
|
|
103
|
+
- **Outbound SMTP responses** received from peers during delivery
|
|
104
|
+
|
|
105
|
+
Haraka distinguishes these actors:
|
|
106
|
+
|
|
107
|
+
- **Anonymous SMTP client** — connecting from the network without
|
|
108
|
+
authentication; trusted only to issue SMTP commands subject to policy
|
|
109
|
+
- **Authenticated submission user** — passed SMTP AUTH; trusted with the
|
|
110
|
+
envelope and policy the operator's auth backend permits, nothing more
|
|
111
|
+
- **Trusted relay peer** — a network source the operator has configured to
|
|
112
|
+
bypass certain checks (e.g. permitted to relay, or whose PROXY/XCLIENT
|
|
113
|
+
metadata is honored)
|
|
114
|
+
- **Operator** — controls the host, configuration, and installed plugins;
|
|
115
|
+
fully trusted
|
|
116
|
+
- **Plugin code** — runs inside the trust boundary with full process
|
|
117
|
+
privilege; treated as trusted-as-installed, and not a security boundary
|
|
118
|
+
|
|
119
|
+
### Haraka does not trust
|
|
120
|
+
|
|
121
|
+
- SMTP clients and other remote peers, including commands, envelopes, headers,
|
|
122
|
+
bodies, attachments, authentication attempts, HELO/EHLO names, and proxied
|
|
123
|
+
client metadata before validation
|
|
124
|
+
- Data returned by remote services Haraka communicates with, such as DNS
|
|
125
|
+
lookups and outbound SMTP peers
|
|
126
|
+
- Untrusted remote input must not be able to trigger behavior beyond
|
|
127
|
+
documented SMTP and plugin semantics, such as unauthorized relaying,
|
|
128
|
+
unintended command execution, protected-data disclosure, or service
|
|
129
|
+
unavailability
|
|
130
|
+
|
|
131
|
+
### Haraka trusts
|
|
132
|
+
|
|
133
|
+
- The operating system, filesystem, Node.js runtime, local network, process
|
|
134
|
+
privileges, and local administrators operating the service
|
|
135
|
+
- Haraka configuration and deployment choices, including listener exposure,
|
|
136
|
+
relay and authentication policy, TLS certificates, proxy settings, and
|
|
137
|
+
enabled plugins
|
|
138
|
+
- Code loaded as plugins or dependencies. Plugins run with Haraka's process
|
|
139
|
+
privileges and are not a security boundary
|
|
140
|
+
- Upstream services and dependencies as separate projects; flaws in those
|
|
141
|
+
components are usually reported upstream unless Haraka's integration creates
|
|
142
|
+
a distinct vulnerability
|
|
143
|
+
|
|
144
|
+
### STRIDE summary
|
|
145
|
+
|
|
146
|
+
In-scope threats are classified using [STRIDE][stride] applied at the
|
|
147
|
+
Haraka trust boundary shown above. A finding that lets a remote peer
|
|
148
|
+
cause any of the following under documented or default-safe configuration
|
|
149
|
+
is generally a vulnerability.
|
|
150
|
+
|
|
151
|
+
| Category | Example threats at the Haraka boundary |
|
|
152
|
+
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
153
|
+
| **S**poofing | Forged HELO/EHLO or AUTH, identity bypass, unvalidated XCLIENT or proxy metadata accepted as authoritative |
|
|
154
|
+
| **T**ampering | SMTP smuggling, CRLF or header injection, parser inconsistencies that change how a message is delivered or interpreted |
|
|
155
|
+
| **R**epudiation | Remote input that erases or forges the Received: trail, or otherwise defeats logging under default configuration |
|
|
156
|
+
| **I**nformation disclosure | Leakage of message content, credentials, or internal state through SMTP responses, DSNs, error messages, or logs |
|
|
157
|
+
| **D**enial of service | Deterministic resource exhaustion or crashes triggered by remote input without operator misconfiguration |
|
|
158
|
+
| **E**levation of privilege | Remote code execution, or escape of documented SMTP/plugin semantics into arbitrary behavior inside the Haraka process |
|
|
159
|
+
|
|
160
|
+
Plugins execute inside the trust boundary by design, so a malicious or
|
|
161
|
+
vulnerable plugin can produce any STRIDE category above. Findings that
|
|
162
|
+
require installing such a plugin are not vulnerabilities in Haraka itself.
|
|
163
|
+
|
|
164
|
+
[stride]: https://en.wikipedia.org/wiki/STRIDE_model
|
|
165
|
+
|
|
166
|
+
## Scope
|
|
167
|
+
|
|
168
|
+
Issues that require control of a trusted element are out of scope, including:
|
|
169
|
+
|
|
170
|
+
- Vulnerabilities requiring control of the host OS, filesystem, Node.js
|
|
171
|
+
runtime, local administrator account, or other trusted infrastructure
|
|
172
|
+
- Malicious or compromised plugins or dependencies intentionally installed or
|
|
173
|
+
enabled by the operator
|
|
174
|
+
- Pure misconfiguration of listeners, relay policy, TLS, proxying, or
|
|
175
|
+
outbound destinations unless Haraka's documented defaults create the
|
|
176
|
+
insecure state
|
|
177
|
+
|
|
178
|
+
Issues in third-party plugins maintained outside this repository should be reported to their respective maintainers.
|
package/TODO
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
- Milter support
|
|
2
|
+
- Ability to modify the body of email
|
|
3
|
+
- Done for banners. Modifying the rest, not so much.
|
|
4
|
+
|
|
5
|
+
Outbound improvements
|
|
6
|
+
- Provide better command line tools for manipulating/inspecting the queue
|
|
7
|
+
- Add the ability to force a run on a specific queue file or destination domain
|
|
8
|
+
- Make retry times configurable (handle RFC requirements for 5 days and DSN queued warnings)
|
|
9
|
+
- Disable deliveries for a domain
|
|
10
|
+
|
|
11
|
+
Plugin behavior changes
|
|
12
|
+
- in SpamAssassin plugin, change default behavior of 'legacy' status header.
|
|
13
|
+
Presently, when undefined, legacy is used. Legacy support should be changed to
|
|
14
|
+
only when requested, with a sunset date.
|
|
15
|
+
- data.uribl; expand short URLs before lookups, add support for uri-a (sbl.spamhaus.org), uri-ns, uri-ns-a lookup types.
|
|
16
|
+
|
|
17
|
+
Built-in HTTP server
|
|
18
|
+
- use the same TLS/SSL certs as smtpd
|
|
19
|
+
- auth against SMTP-AUTH provider
|
|
20
|
+
|
|
21
|
+
Update tests to detect HARAKA_NETWORK_TESTS and skip network tests unless it's set
|
|
22
|
+
(to prevent annoying test suite failures that are tangential to Haraka)
|