Haraka 3.0.1 → 3.0.3

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.
Files changed (64) hide show
  1. package/Changes.md +56 -0
  2. package/Dockerfile +3 -3
  3. package/Plugins.md +5 -4
  4. package/README.md +4 -4
  5. package/TODO +1 -24
  6. package/config/access.domains +1 -1
  7. package/config/auth_flat_file.ini +1 -0
  8. package/config/auth_vpopmaild.ini +4 -2
  9. package/config/helo.checks.ini +1 -1
  10. package/config/outbound.ini +1 -1
  11. package/config/rabbitmq_amqplib.ini +8 -1
  12. package/connection.js +32 -10
  13. package/docs/Connection.md +1 -1
  14. package/docs/Outbound.md +6 -15
  15. package/docs/Plugins.md +46 -39
  16. package/docs/Transaction.md +1 -1
  17. package/docs/{plugins → deprecated}/connect.rdns_access.md +1 -1
  18. package/docs/{plugins → deprecated}/mail_from.access.md +1 -1
  19. package/docs/{plugins → deprecated}/rcpt_to.access.md +1 -1
  20. package/docs/plugins/auth/auth_vpopmaild.md +15 -19
  21. package/docs/plugins/auth/flat_file.md +23 -30
  22. package/docs/plugins/clamd.md +1 -1
  23. package/docs/plugins/queue/rabbitmq_amqplib.md +7 -0
  24. package/docs/plugins/queue/smtp_forward.md +16 -38
  25. package/docs/plugins/queue/smtp_proxy.md +9 -11
  26. package/docs/plugins/relay.md +2 -2
  27. package/outbound/hmail.js +2 -2
  28. package/outbound/queue.js +5 -0
  29. package/outbound/tls.js +1 -1
  30. package/package.json +31 -31
  31. package/plugins/auth/auth_base.js +27 -11
  32. package/plugins/auth/auth_vpopmaild.js +29 -19
  33. package/plugins/auth/flat_file.js +17 -12
  34. package/plugins/clamd.js +1 -0
  35. package/plugins/dns_list_base.js +3 -3
  36. package/plugins/helo.checks.js +15 -7
  37. package/plugins/queue/rabbitmq_amqplib.js +1 -1
  38. package/plugins/queue/smtp_forward.js +21 -15
  39. package/plugins/tls.js +1 -1
  40. package/plugins.js +1 -0
  41. package/tests/config/helo.checks.ini +52 -0
  42. package/tests/plugins/dns_list_base.js +41 -31
  43. package/tests/plugins/helo.checks.js +212 -239
  44. package/tests/plugins/queue/smtp_forward.js +36 -7
  45. package/tests/queue/multibyte +0 -0
  46. package/tests/queue/plain +0 -0
  47. package/transaction.js +1 -1
  48. package/config/lookup_rdns.strict.ini +0 -12
  49. package/config/lookup_rdns.strict.timeout +0 -1
  50. package/config/lookup_rdns.strict.whitelist +0 -1
  51. package/config/lookup_rdns.strict.whitelist_regex +0 -5
  52. package/config/rcpt_to.blocklist +0 -1
  53. package/config/rdns.allow_regexps +0 -0
  54. package/config/rdns.deny_regexps +0 -0
  55. package/config.js +0 -6
  56. package/coverage/lcov.info +0 -13863
  57. package/coverage/tmp/coverage-42958-1658373250585-0.json +0 -1
  58. package/coverage/tmp/coverage-42961-1658373250529-0.json +0 -1
  59. package/docs/plugins/relay_acl.md +0 -29
  60. package/docs/plugins/relay_all.md +0 -15
  61. package/docs/plugins/relay_force_routing.md +0 -33
  62. package/plugins/data.headers.js +0 -4
  63. package/plugins/relay_all.js +0 -13
  64. /package/docs/{plugins → deprecated}/rcpt_to.routes.md +0 -0
@@ -1,29 +0,0 @@
1
- relay\_acl
2
- ========
3
-
4
- This plugin makes it possible to relay outbound mails using IP based ACLs
5
- and relay inbound mails using destination domains.
6
-
7
- Configuration
8
- -------------
9
-
10
- * `config/relay_acl_allow`
11
- Allowed IP ranges in CIDR notation, one per line.
12
- IPs listed in here will be allowed to send mails without any furthur
13
- checks.
14
-
15
- * `config/relay_dest_domains.ini`
16
- Allowed destination domains. The format is in ini file, the domain
17
- is the key and the value is in JSON, all under the [domains] section.
18
- Currently supported field is "action": where the value can be
19
- "accept" (accept the mail without further checks), "continue" (mails
20
- are still subjected to further checks) or "deny" (reject the mails).
21
-
22
- An example:
23
-
24
- [domains]
25
- test.com = { "action": "continue" }
26
-
27
- Please note that this config/relay\_dest\_domains.ini is shared with
28
- plugins/relay\_force\_routing.js, which uses additional fields.
29
-
@@ -1,15 +0,0 @@
1
- relay\_all
2
- =========
3
-
4
- This plugin is useful in spamtraps to accept mail to any host, and to allow
5
- any user from anywhere to send email.
6
-
7
- Do NOT use this plugin on a real mail server, unless you really know what
8
- you are doing. If you use this plugin with anything that relays mail (such
9
- as forwarding to a real mail server, or the `deliver` plugin), your mail
10
- server is now an open relay.
11
-
12
- This is BAD. Hence the big letters. In short: DO NOT USE THIS PLUGIN.
13
-
14
- It is useful for testing, hence why it is here. Also I work with spamtraps
15
- a lot, so it is useful there.
@@ -1,33 +0,0 @@
1
- relay\_force\_routing.js
2
- ========
3
-
4
- This plugin allows you to force the next hop for the configured domains.
5
- It works a lot like the transport map of Postfix.
6
-
7
- Configuration
8
- -------------
9
-
10
- * `config/relay_dest_domains.ini`
11
- This config file is shared with relay\_acl.js, for the basics see the
12
- documentation provided by plugins/relay\_acl.js.
13
-
14
- relay\_force\_routing.js adds the field "nexthop": in the JSON value
15
- of the domain. The value of "nexthop": can be hostname or IP optionally
16
- follow by :port.
17
-
18
- Example:
19
-
20
- [domains]
21
- test.com = { "action": "continue", "nexthop": "127.0.0.1:2525" }
22
-
23
- You can also define a default relay using the "any" domain, which will be
24
- used if the message's destination domain doesn't match any of the domains
25
- already defined.
26
-
27
- Example:
28
- ```
29
- [domains]
30
- test.com = { "action": "continue", "nexthop": "127.0.0.1:2525" }
31
- my.test.com = { "action": "continue", "nexthop": "127.0.0.1:2527" }
32
- any = { "action": "continue", "nexthop": "10.10.10.1:2525"}
33
- ```
@@ -1,4 +0,0 @@
1
-
2
- exports.register = function () {
3
- this.logerror(this, "data.headers is deprecated, remove it from config/plugins. See 'haraka -h headers'");
4
- }
@@ -1,13 +0,0 @@
1
- // Just relay everything - could be useful for a spamtrap
2
-
3
- exports.register = function () {
4
- this.logerror(this, "deprecated. see 'haraka -h relay'");
5
- this.register_hook('rcpt', 'confirm_all');
6
- }
7
-
8
- exports.confirm_all = function (next, connection, params) {
9
- const recipient = params.shift();
10
- connection.loginfo(this, `confirming recipient ${recipient}`);
11
- connection.relaying = true;
12
- next(OK);
13
- }
File without changes