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.
Files changed (254) hide show
  1. package/.githooks/pre-commit +41 -0
  2. package/.prettierignore +7 -0
  3. package/.qlty/.gitignore +7 -0
  4. package/.qlty/configs/.shellcheckrc +1 -0
  5. package/.qlty/qlty.toml +15 -0
  6. package/CHANGELOG.md +1898 -0
  7. package/CONTRIBUTORS.md +34 -0
  8. package/Dockerfile +50 -0
  9. package/LICENSE +22 -0
  10. package/Plugins.md +227 -0
  11. package/README.md +119 -4
  12. package/SECURITY.md +178 -0
  13. package/TODO +22 -0
  14. package/bin/haraka +593 -0
  15. package/bin/haraka_grep +32 -0
  16. package/config/aliases +2 -0
  17. package/config/auth_flat_file.ini +7 -0
  18. package/config/auth_vpopmaild.ini +9 -0
  19. package/config/connection.ini +79 -0
  20. package/config/delay_deny.ini +7 -0
  21. package/config/host_list +3 -0
  22. package/config/host_list_regex +6 -0
  23. package/config/http.ini +11 -0
  24. package/config/lmtp.ini +7 -0
  25. package/config/log.ini +11 -0
  26. package/config/outbound.bounce_message +18 -0
  27. package/config/outbound.bounce_message_html +36 -0
  28. package/config/outbound.bounce_message_image +106 -0
  29. package/config/outbound.ini +24 -0
  30. package/config/plugins +67 -0
  31. package/config/smtp.ini +37 -0
  32. package/config/smtp_bridge.ini +4 -0
  33. package/config/smtp_forward.ini +31 -0
  34. package/config/smtp_proxy.ini +27 -0
  35. package/config/tarpit.timeout +1 -0
  36. package/config/tls.ini +83 -0
  37. package/config/watch.ini +12 -0
  38. package/config/xclient.hosts +2 -0
  39. package/connection.js +1865 -0
  40. package/contrib/Haraka.cf +6 -0
  41. package/contrib/Haraka.pm +35 -0
  42. package/contrib/bad_smtp_server.pl +25 -0
  43. package/contrib/bsd-rc.d/haraka +63 -0
  44. package/contrib/debian-init.d/haraka +87 -0
  45. package/contrib/haraka.init +96 -0
  46. package/contrib/haraka.service +23 -0
  47. package/contrib/plugin2npm.sh +81 -0
  48. package/contrib/ubuntu-upstart/haraka.conf +27 -0
  49. package/docs/Body.md +1 -0
  50. package/docs/Config.md +1 -0
  51. package/docs/Connection.md +153 -0
  52. package/docs/CoreConfig.md +96 -0
  53. package/docs/CustomReturnCodes.md +3 -0
  54. package/docs/HAProxy.md +62 -0
  55. package/docs/Header.md +1 -0
  56. package/docs/Logging.md +129 -0
  57. package/docs/Outbound.md +210 -0
  58. package/docs/Plugins.md +372 -0
  59. package/docs/Results.md +7 -0
  60. package/docs/Transaction.md +135 -0
  61. package/docs/Tutorial.md +183 -0
  62. package/docs/deprecated/access.md +3 -0
  63. package/docs/deprecated/backscatterer.md +9 -0
  64. package/docs/deprecated/connect.rdns_access.md +53 -0
  65. package/docs/deprecated/data.headers.md +3 -0
  66. package/docs/deprecated/data.nomsgid.md +7 -0
  67. package/docs/deprecated/data.noreceived.md +11 -0
  68. package/docs/deprecated/data.rfc5322_header_checks.md +11 -0
  69. package/docs/deprecated/dkim_sign.md +97 -0
  70. package/docs/deprecated/dkim_verify.md +28 -0
  71. package/docs/deprecated/dnsbl.md +80 -0
  72. package/docs/deprecated/dnswl.md +73 -0
  73. package/docs/deprecated/lookup_rdns.strict.md +67 -0
  74. package/docs/deprecated/mail_from.access.md +52 -0
  75. package/docs/deprecated/mail_from.blocklist.md +18 -0
  76. package/docs/deprecated/mail_from.nobounces.md +8 -0
  77. package/docs/deprecated/rcpt_to.access.md +53 -0
  78. package/docs/deprecated/rcpt_to.blocklist.md +18 -0
  79. package/docs/deprecated/rcpt_to.routes.md +3 -0
  80. package/docs/deprecated/rdns.regexp.md +30 -0
  81. package/docs/plugins/aliases.md +3 -0
  82. package/docs/plugins/auth/auth_bridge.md +34 -0
  83. package/docs/plugins/auth/auth_ldap.md +4 -0
  84. package/docs/plugins/auth/auth_proxy.md +36 -0
  85. package/docs/plugins/auth/auth_vpopmaild.md +33 -0
  86. package/docs/plugins/auth/flat_file.md +40 -0
  87. package/docs/plugins/block_me.md +18 -0
  88. package/docs/plugins/data.signatures.md +11 -0
  89. package/docs/plugins/delay_deny.md +23 -0
  90. package/docs/plugins/max_unrecognized_commands.md +6 -0
  91. package/docs/plugins/prevent_credential_leaks.md +22 -0
  92. package/docs/plugins/process_title.md +42 -0
  93. package/docs/plugins/queue/deliver.md +3 -0
  94. package/docs/plugins/queue/discard.md +32 -0
  95. package/docs/plugins/queue/lmtp.md +24 -0
  96. package/docs/plugins/queue/qmail-queue.md +16 -0
  97. package/docs/plugins/queue/quarantine.md +87 -0
  98. package/docs/plugins/queue/smtp_bridge.md +32 -0
  99. package/docs/plugins/queue/smtp_forward.md +127 -0
  100. package/docs/plugins/queue/smtp_proxy.md +68 -0
  101. package/docs/plugins/queue/test.md +7 -0
  102. package/docs/plugins/rcpt_to.in_host_list.md +34 -0
  103. package/docs/plugins/rcpt_to.max_count.md +3 -0
  104. package/docs/plugins/record_envelope_addresses.md +20 -0
  105. package/docs/plugins/relay.md +3 -0
  106. package/docs/plugins/reseed_rng.md +16 -0
  107. package/docs/plugins/status.md +41 -0
  108. package/docs/plugins/tarpit.md +50 -0
  109. package/docs/plugins/tls.md +235 -0
  110. package/docs/plugins/toobusy.md +27 -0
  111. package/docs/plugins/xclient.md +10 -0
  112. package/docs/tutorials/Migrating_from_v1_to_v2.md +96 -0
  113. package/docs/tutorials/SettingUpOutbound.md +62 -0
  114. package/eslint.config.mjs +2 -0
  115. package/haraka.js +74 -0
  116. package/haraka.sh +2 -0
  117. package/http/html/404.html +58 -0
  118. package/http/html/index.html +47 -0
  119. package/http/package.json +21 -0
  120. package/line_socket.js +24 -0
  121. package/logger.js +322 -0
  122. package/outbound/client_pool.js +59 -0
  123. package/outbound/config.js +134 -0
  124. package/outbound/hmail.js +1504 -0
  125. package/outbound/index.js +349 -0
  126. package/outbound/qfile.js +93 -0
  127. package/outbound/queue.js +399 -0
  128. package/outbound/tls.js +85 -0
  129. package/outbound/todo.js +17 -0
  130. package/package.json +100 -4
  131. package/plugins/.eslintrc.yaml +3 -0
  132. package/plugins/auth/auth_base.js +261 -0
  133. package/plugins/auth/auth_bridge.js +20 -0
  134. package/plugins/auth/auth_proxy.js +227 -0
  135. package/plugins/auth/auth_vpopmaild.js +162 -0
  136. package/plugins/auth/flat_file.js +44 -0
  137. package/plugins/block_me.js +88 -0
  138. package/plugins/data.signatures.js +30 -0
  139. package/plugins/delay_deny.js +153 -0
  140. package/plugins/prevent_credential_leaks.js +61 -0
  141. package/plugins/process_title.js +197 -0
  142. package/plugins/profile.js +11 -0
  143. package/plugins/queue/deliver.js +12 -0
  144. package/plugins/queue/discard.js +27 -0
  145. package/plugins/queue/lmtp.js +45 -0
  146. package/plugins/queue/qmail-queue.js +93 -0
  147. package/plugins/queue/quarantine.js +133 -0
  148. package/plugins/queue/smtp_bridge.js +45 -0
  149. package/plugins/queue/smtp_forward.js +371 -0
  150. package/plugins/queue/smtp_proxy.js +142 -0
  151. package/plugins/queue/test.js +15 -0
  152. package/plugins/rcpt_to.host_list_base.js +65 -0
  153. package/plugins/rcpt_to.in_host_list.js +56 -0
  154. package/plugins/record_envelope_addresses.js +17 -0
  155. package/plugins/reseed_rng.js +7 -0
  156. package/plugins/status.js +274 -0
  157. package/plugins/tarpit.js +45 -0
  158. package/plugins/tls.js +164 -0
  159. package/plugins/toobusy.js +47 -0
  160. package/plugins/xclient.js +124 -0
  161. package/plugins.js +605 -0
  162. package/run_tests +11 -0
  163. package/server.js +827 -0
  164. package/smtp_client.js +504 -0
  165. package/test/.eslintrc.yaml +11 -0
  166. package/test/config/auth_flat_file.ini +5 -0
  167. package/test/config/block_me.recipient +1 -0
  168. package/test/config/block_me.senders +1 -0
  169. package/test/config/dhparams.pem +8 -0
  170. package/test/config/host_list +2 -0
  171. package/test/config/outbound_tls_cert.pem +1 -0
  172. package/test/config/outbound_tls_key.pem +1 -0
  173. package/test/config/plugins +7 -0
  174. package/test/config/smtp.ini +11 -0
  175. package/test/config/smtp_forward.ini +30 -0
  176. package/test/config/tls/example.com/_.example.com.key +28 -0
  177. package/test/config/tls/example.com/example.com.crt +25 -0
  178. package/test/config/tls/haraka.local.pem +51 -0
  179. package/test/config/tls.ini +45 -0
  180. package/test/config/tls_cert.pem +21 -0
  181. package/test/config/tls_key.pem +28 -0
  182. package/test/connection.js +820 -0
  183. package/test/fixtures/haproxy_allowed/config/connection.ini +3 -0
  184. package/test/fixtures/haproxy_disabled/config/connection.ini +3 -0
  185. package/test/fixtures/haproxy_untrusted/config/connection.ini +3 -0
  186. package/test/fixtures/line_socket.js +21 -0
  187. package/test/fixtures/todo_qfile.txt +0 -0
  188. package/test/fixtures/util_hmailitem.js +156 -0
  189. package/test/installation/config/test-plugin-flat +1 -0
  190. package/test/installation/config/test-plugin.ini +10 -0
  191. package/test/installation/config/tls.ini +1 -0
  192. package/test/installation/node_modules/load_first/index.js +5 -0
  193. package/test/installation/node_modules/load_first/package.json +11 -0
  194. package/test/installation/node_modules/test-plugin/config/test-plugin-flat +1 -0
  195. package/test/installation/node_modules/test-plugin/config/test-plugin.ini +9 -0
  196. package/test/installation/node_modules/test-plugin/package.json +5 -0
  197. package/test/installation/node_modules/test-plugin/test-plugin.js +5 -0
  198. package/test/installation/plugins/base_plugin.js +3 -0
  199. package/test/installation/plugins/folder_plugin/index.js +3 -0
  200. package/test/installation/plugins/folder_plugin/package.json +11 -0
  201. package/test/installation/plugins/inherits.js +7 -0
  202. package/test/installation/plugins/load_first.js +3 -0
  203. package/test/installation/plugins/plugin.js +1 -0
  204. package/test/installation/plugins/tls.js +3 -0
  205. package/test/logger.js +217 -0
  206. package/test/loud/config/dhparams.pem +0 -0
  207. package/test/loud/config/tls/goobered.pem +45 -0
  208. package/test/loud/config/tls.ini +43 -0
  209. package/test/mail_specimen/base64-root-part.txt +23 -0
  210. package/test/mail_specimen/varied-fold-lengths-preserve-data.txt +283 -0
  211. package/test/outbound/bounce_net_errors.js +133 -0
  212. package/test/outbound/bounce_rfc3464.js +226 -0
  213. package/test/outbound/hmail.js +210 -0
  214. package/test/outbound/index.js +385 -0
  215. package/test/outbound/qfile.js +124 -0
  216. package/test/outbound/queue.js +325 -0
  217. package/test/plugins/auth/auth_base.js +620 -0
  218. package/test/plugins/auth/auth_bridge.js +80 -0
  219. package/test/plugins/auth/auth_vpopmaild.js +81 -0
  220. package/test/plugins/auth/flat_file.js +123 -0
  221. package/test/plugins/block_me.js +141 -0
  222. package/test/plugins/data.signatures.js +111 -0
  223. package/test/plugins/delay_deny.js +262 -0
  224. package/test/plugins/prevent_credential_leaks.js +174 -0
  225. package/test/plugins/process_title.js +141 -0
  226. package/test/plugins/queue/deliver.js +98 -0
  227. package/test/plugins/queue/discard.js +78 -0
  228. package/test/plugins/queue/lmtp.js +137 -0
  229. package/test/plugins/queue/qmail-queue.js +98 -0
  230. package/test/plugins/queue/quarantine.js +80 -0
  231. package/test/plugins/queue/smtp_bridge.js +152 -0
  232. package/test/plugins/queue/smtp_forward.js +1023 -0
  233. package/test/plugins/queue/smtp_proxy.js +138 -0
  234. package/test/plugins/rcpt_to.host_list_base.js +102 -0
  235. package/test/plugins/rcpt_to.in_host_list.js +186 -0
  236. package/test/plugins/record_envelope_addresses.js +66 -0
  237. package/test/plugins/reseed_rng.js +34 -0
  238. package/test/plugins/status.js +207 -0
  239. package/test/plugins/tarpit.js +90 -0
  240. package/test/plugins/tls.js +86 -0
  241. package/test/plugins/toobusy.js +198 -0
  242. package/test/plugins/xclient.js +119 -0
  243. package/test/plugins.js +230 -0
  244. package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_fixed +0 -0
  245. package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_haraka +0 -0
  246. package/test/queue/1508269674999_1508269674999_0_34002_socVUF_1_haraka +0 -0
  247. package/test/queue/1508455115683_1508455115683_0_90253_9Q4o4V_1_haraka +0 -0
  248. package/test/queue/zero-length +0 -0
  249. package/test/server.js +1012 -0
  250. package/test/smtp_client.js +1303 -0
  251. package/test/tls_socket.js +321 -0
  252. package/test/transaction.js +554 -0
  253. package/tls_socket.js +771 -0
  254. package/transaction.js +267 -0
@@ -0,0 +1,79 @@
1
+ ;
2
+ [main]
3
+
4
+ ; Spooling
5
+ ; Save memory by spooling large messages to disk
6
+ ; directory to create temporary spool files in (default: /tmp - see https://github.com/haraka/message-stream)
7
+ ; spool_dir=/var/spool/haraka
8
+ ; Specify -1 to never spool to disk (default)
9
+ ; Specify 0 to always spool to disk
10
+ ; Otherwise specify a size in bytes, once reached the
11
+ ; message will be spooled to disk to save memory.
12
+ ; spool_after=
13
+
14
+ ; Require 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.
15
+ ; strict_rfc1869 = false
16
+
17
+ ; Liberal envelope parsing. See @haraka/email-address for what postel mode relaxes.
18
+ ; postel = false
19
+
20
+ ; Advertise support for SMTPUTF8 (RFC-6531)
21
+ ; smtputf8=true
22
+
23
+
24
+ [haproxy]
25
+ ; Bool: enable HAProxy PROXY protocol support and SMTPS pre-parsing.
26
+ ; enabled=true
27
+
28
+ ; Array: hosts or CIDRs that Haraka should enable the PROXY protocol from. See docs/HAProxy for format
29
+ hosts[] =
30
+ ; hosts[] = 192.0.2.4
31
+ ; hosts[] = 192.0.2.5
32
+ ; hosts[] = [2001:db8::1]
33
+ ; hosts[] = [2001:db8::2]
34
+
35
+
36
+ [headers]
37
+ ; add_received=true
38
+ ; clean_auth_results=true
39
+
40
+ ; show_version=true
41
+
42
+ max_lines=1000
43
+
44
+ max_received=100
45
+
46
+
47
+ [max]
48
+ ; Integer. The maximum SIZE of an email
49
+ bytes=26214400
50
+
51
+ ; Integer. Limit a potential denial of service in potentially hostile emails.
52
+ mime_parts=1000
53
+
54
+ ; Integer. The maximum length of lines in SMTP session commands (e.g. RCPT, HELO etc). Defaults to 512 (bytes) as 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.
55
+ line_length=512
56
+
57
+ ; Integer. The maximum length of lines in the DATA section of emails. Defaults to 992 (bytes), 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`.
58
+ data_line_length=992
59
+
60
+
61
+ [message]
62
+ ; Array. The greeting used when a client connects.
63
+ ; greeting[]=My Custom
64
+ ; greeting[]=Greeting Message
65
+
66
+ helo=Haraka is at your service.
67
+
68
+ ; String. Override the default connection close message.
69
+ close=closing connection. Have a jolly good day.
70
+
71
+
72
+ [uuid]
73
+ ; integer, how many UUID chars to show.
74
+ ; 0 = none, 6 is enough to be unique per day, 40 will include the
75
+ ; full connection and transaction UUID
76
+ banner_chars=6
77
+
78
+ ; include N characters of the uuid (in brackets) at the start of each line of the deny message
79
+ deny_chars=0
@@ -0,0 +1,7 @@
1
+
2
+ ; excluded plugins: a list of denials that are to be excluded (ie, all the immediate rejection)
3
+ ; Examples: <plugin>
4
+ ; <plugin>:<hook>
5
+ ; <plugin>:<hook>:<function name>
6
+ ;
7
+ ;excluded_plugins=spf,lookup_rdns_strict
@@ -0,0 +1,3 @@
1
+ # add hosts in here we want to accept mail for
2
+ haraka.local
3
+
@@ -0,0 +1,6 @@
1
+ # Add regexes in here we want to accept mail for.
2
+ # Specifies the list of regexes that are local to this server. Note
3
+ # all these regexes are anchored with ^regex$. One can not choose not to
4
+ # anchor with .* and that there is a good potential for bad regexes being
5
+ # over permissive if we don't do this.
6
+
@@ -0,0 +1,11 @@
1
+
2
+ ; listen: the HTTP address:port(s) to listen on
3
+ ; default: [::]:80 (port 80 on all IPv4 and IPv6 addresses)
4
+ ; listen=[::]:80
5
+
6
+ ; listen can also be a unix socket path, with an optional 3-digit permission mask
7
+ ; e.g. listen=/path/to/some.sock or listen=/path/to/some.sock:777
8
+ ; if no mask is specified, the default permissions are determined by the umask.
9
+
10
+ ; docroot: the directory where web content is served from
11
+ ;docroot=/usr/local/haraka/html
@@ -0,0 +1,7 @@
1
+ ;
2
+ ; [main]
3
+ ; host=127.0.0.1
4
+
5
+ ; [example.com]
6
+ ; host=mail.example.com
7
+ ; port=24
package/config/log.ini ADDED
@@ -0,0 +1,11 @@
1
+ [main]
2
+
3
+ ; level=data, protocol, debug, info, notice, warn, error, crit, alert, emerg
4
+ level=info
5
+
6
+ ; prepend timestamps to log entries? This setting does NOT affect logs emitted
7
+ ; by logging plugins (like syslog).
8
+ timestamps=false
9
+
10
+ ; format=default, logfmt, json
11
+ format=default
@@ -0,0 +1,18 @@
1
+ Received: (Haraka {pid} invoked for bounce); {date}
2
+ Date: {date}
3
+ From: MAILER-DAEMON@{me}
4
+ To: {to}
5
+ Auto-Submitted: auto-replied
6
+ Subject: failure notice
7
+ Message-Id: {msgid}
8
+
9
+ Hi. This is the Haraka Mailer program at {me}.
10
+ I'm afraid I wasn't able to deliver your message
11
+ "{subject}"
12
+ to the following addresses.
13
+ This is a permanent error; I've given up. Sorry it didn't work out.
14
+
15
+ Intended Recipients: {recipients}
16
+ Failure Reason: {reason}
17
+
18
+ {extended_reason}
@@ -0,0 +1,36 @@
1
+ <html>
2
+ <head>
3
+ <style>
4
+ * {
5
+ font-family:Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
6
+ }
7
+ </style>
8
+ </head>
9
+ <body>
10
+ <table cellpadding="0" cellspacing="0" class="email-wrapper" style="padding-top:32px;background-color:#ffffff;"><tbody>
11
+ <tr><td>
12
+ <table cellpadding=0 cellspacing=0><tbody>
13
+ <tr><td style="max-width:560px;padding:24px 24px 32px;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:2px">
14
+ <img style="padding:0 24px 16px 0;float:left" width=72 height=72 alt="Foutpictogram" src="cid:icon.png">
15
+ <table style="min-width:272px;padding-top:8px"><tbody>
16
+ <tr><td><h2 style="font-size:20px;color:#212121;font-weight:bold;margin:0">
17
+ Message not delivered
18
+ </h2></td></tr>
19
+ <tr><td style="padding-top:20px;color:#757575;font-size:16px;font-weight:normal;text-align:left">
20
+ A problem has occurred when trying to deliver your mail to <a style='color:#212121;text-decoration:none'><b>{recipients}</b></a> . Look below for the technical details.
21
+ </td></tr>
22
+ </tbody></table>
23
+ </td></tr>
24
+ </tbody></table>
25
+ </td></tr>
26
+ <tr style="border:none;background-color:#fff;font-size:12.8px;width:90%">
27
+ <td align="left" style="padding:48px 10px">
28
+ Reaction of the server: <br/>
29
+ <p style="font-family:monospace">
30
+ {reason}
31
+ </p>
32
+ </td>
33
+ </tr>
34
+ </tbody></table>
35
+ </body>
36
+ </html>
@@ -0,0 +1,106 @@
1
+ Content-Type: image/png; name="icon.png"
2
+ Content-Disposition: attachment; filename="icon.png"
3
+ Content-Transfer-Encoding: base64
4
+ Content-ID: <icon.png>
5
+
6
+ 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
@@ -0,0 +1,24 @@
1
+ ; see http://haraka.github.io/core/Outbound
2
+ ;
3
+ ; disabled (default: false)
4
+ ; disabled=true
5
+
6
+ ; concurrency_max (default: 100)
7
+ ; concurrency_max=100
8
+
9
+ ; uncomment to disable tls for outbound mail
10
+ ; enable_tls=false
11
+
12
+ ; maxTempFailures (default: 13)
13
+
14
+ ; load_pid_queue
15
+ ; flush_queue
16
+
17
+ ; always_split: default: false
18
+ ; always_split=true
19
+
20
+ ; received_header (default: "Haraka outbound")
21
+ ; received_header=Haraka outbound
22
+
23
+ ; inet_prefer (default: default)
24
+ ; inet_prefer=v4
package/config/plugins ADDED
@@ -0,0 +1,67 @@
1
+ # This file lists plugins that Haraka will run
2
+ #
3
+ # Plugin ordering often matters, run 'haraka -o -c /path/to/haraka/config'
4
+ # to see the order plugins (and their hooks) will run.
5
+ #
6
+ # To see a list of installed plugins, run 'haraka -l'
7
+ #
8
+ # The plugin registry: https://github.com/haraka/Haraka/blob/master/Plugins.md
9
+ #
10
+ # To see the docs for a plugin, run 'haraka -h plugin.name'
11
+
12
+ # status
13
+ # process_title
14
+ # syslog
15
+
16
+ # CONNECT
17
+ # ----------
18
+ # toobusy
19
+ # karma
20
+ # relay
21
+ # access
22
+ # geoip
23
+ # asn
24
+ # fcrdns
25
+ # dns-list
26
+
27
+ # HELO
28
+ # ----------
29
+ # early_talker
30
+ # helo.checks
31
+ # see 'haraka -h tls' before enabling!
32
+ # tls
33
+ #
34
+ # AUTH plugins require TLS before AUTH is advertised, see
35
+ # https://github.com/haraka/Haraka/wiki/Require-SSL-TLS
36
+ # ----------
37
+ # auth/flat_file
38
+ # auth/auth_proxy
39
+
40
+ # MAIL FROM
41
+ # ----------
42
+ mail_from.is_resolvable
43
+ # spf
44
+
45
+ # RCPT TO
46
+ # ----------
47
+ # At least one rcpt_to plugin is REQUIRED for inbound email.
48
+ rcpt_to.in_host_list
49
+ # qmail-deliverable
50
+
51
+ # DATA
52
+ # ----------
53
+ # attachment
54
+ # bounce
55
+ # clamd
56
+ # dkim
57
+ # headers
58
+ # limit
59
+ # rspamd
60
+ # spamassassin
61
+ # uribl
62
+
63
+ # QUEUE
64
+ # ----------
65
+ # queues: discard qmail-queue quarantine smtp_forward smtp_proxy
66
+ # Queue mail via smtp - see config/smtp_forward.ini for where your mail goes
67
+ queue/smtp_forward
@@ -0,0 +1,37 @@
1
+ ; address to listen on (default: all IPv6 and IPv4 addresses, port 25)
2
+ ; use "[::0]:25" to listen on IPv6 and IPv4 (not all OSes)
3
+ ;listen=[::0]:25
4
+
5
+ ; Note you can listen on multiple IPs/ports using commas:
6
+ ;listen=127.0.0.1:2529,127.0.0.2:2529,127.0.0.3:2530
7
+
8
+ ; public IP address (default: none)
9
+ ; If your machine is behind a NAT, some plugins (SPF, GeoIP) gain features
10
+ ; if they know the servers public IP. If 'stun' is installed, Haraka will
11
+ ; try to figure it out. If that doesn't work, set it here.
12
+ ;public_ip=N.N.N.N
13
+
14
+ ; Time in seconds to let sockets be idle with no activity
15
+ ;inactivity_timeout=300
16
+
17
+ ; Drop privileges to this user/group
18
+ ;user=smtp
19
+ ;group=smtp
20
+
21
+ ; Don't stop Haraka if plugins fail to compile
22
+ ;ignore_bad_plugins=0
23
+
24
+ ; Run using cluster to fork multiple backend processes
25
+ ; Ref: https://github.com/haraka/Haraka/wiki/Performance-Tuning
26
+ ;nodes=cpus
27
+
28
+ ; Daemonize
29
+ ;daemonize=true
30
+ ;daemon_log_file=/var/log/haraka.log
31
+ ;daemon_pid_file=/var/run/haraka.pid
32
+
33
+ ; Force Shutdown Timeout
34
+ ; - Haraka tries to close down gracefully, but if everything is shut down
35
+ ; after this time it will hard close. 30s is usually long enough to
36
+ ; wait for outbound connections to finish.
37
+ ;force_shutdown_timeout=30
@@ -0,0 +1,4 @@
1
+ host=localhost
2
+ #port=
3
+ #auth_type=
4
+ #priority=10
@@ -0,0 +1,31 @@
1
+ ; host to connect to
2
+ host=localhost
3
+ ;
4
+ ; port to connect to
5
+ port=2555
6
+ ;
7
+ ; uncomment to enable TLS to the backend SMTP server
8
+ ;enable_tls=true
9
+ ;
10
+ ; for messages that have multiple RCPT, send a separate message for each RCPT
11
+ ; when forwarding.
12
+ ;one_message_per_rcpt=true
13
+ ;
14
+ ; uncomment to use smtp client authorization
15
+ ;auth_type=plain
16
+ ;auth_user=
17
+ ;auth_pass=
18
+
19
+ ; should outbound messages be delivered by smtp_forward?
20
+ ; see #1472 and #2795
21
+ ; enable_outbound=false
22
+
23
+ ; Options here override the same option in tls.ini [main]
24
+ [tls]
25
+ ; rejectUnauthorized=true
26
+ ; minVersion=TLSv1.2
27
+ ; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
28
+ ; key=outbound_tls_key.pem
29
+ ; cert=outbound_tls_cert.pem
30
+ ; no_tls_hosts[]=10.0.0.5
31
+ ; force_tls_hosts[]=mx.example.com
@@ -0,0 +1,27 @@
1
+ ; host to connect to
2
+ host=localhost
3
+ ;
4
+ ; port to connect to
5
+ port=2555
6
+ ;
7
+ ; uncomment to enable TLS to the backend SMTP server
8
+ ; enable_tls=1
9
+ ;
10
+ ; uncomment to use smtp client authorization
11
+ ;auth_type=plain
12
+ ;auth_user=
13
+ ;auth_pass=
14
+
15
+ ; should outbound messages be delivered by smtp_proxy?
16
+ ; see https://github.com/haraka/Haraka/issues/1472
17
+ ; enable_outbound=true
18
+
19
+ ; Options here override the same option in tls.ini [main]
20
+ [tls]
21
+ ; rejectUnauthorized=true
22
+ ; minVersion=TLSv1.2
23
+ ; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
24
+ ; key=outbound_tls_key.pem
25
+ ; cert=outbound_tls_cert.pem
26
+ ; no_tls_hosts[]=10.0.0.5
27
+ ; force_tls_hosts[]=mx.example.com
@@ -0,0 +1 @@
1
+ 0
package/config/tls.ini ADDED
@@ -0,0 +1,83 @@
1
+ ; See 'haraka -h tls'
2
+
3
+ ; key=tls_key.pem
4
+ ; cert=tls_cert.pem
5
+ ; dhparam=dhparams.pem
6
+
7
+ ; ciphers: a list of permitted ciphers
8
+ ; The default cipher list is provided by node.js and is considered secure at
9
+ ; the time of that versions release. If you have problems with the default cipher
10
+ ; list, try enabling this "kinda high but more compatible" setting.
11
+ ; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
12
+
13
+ ; minimum TLS version (node.js 11.4+ required)
14
+ ; Allowed values are 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'
15
+ ; The default value is node.js's tls.DEFAULT_MIN_VERSION
16
+ ; minVersion=TLSv1
17
+
18
+ ; honorCipherOrder=true
19
+ ; rejectUnauthorized=false
20
+ ; requestCert=true
21
+ ; requestOCSP=false
22
+
23
+ ; rejectUnauthorized above requires verified TLS certs on EVERY TLS connection. When
24
+ ; rejectUnauthorized=false (default), you can require verified TLS certs on only the
25
+ ; ports you specify.
26
+ ; requireAuthorized[]=465
27
+ ; requireAuthorized[]=587
28
+
29
+ ; send client certificate(s). If you use this setting and value it, report
30
+ ; your use case at https://github.com/haraka/Haraka/issues/2693
31
+ ; mutual_tls=false
32
+
33
+ ; haraka will not advertise STARTTLS on these ports it is listening on
34
+ ; no_starttls_ports[]=2525
35
+
36
+ [redis]
37
+ ; options in this block require redis to be enabled in config/plugins.
38
+
39
+ ; Remember when a remote fails STARTTLS, the next time they/we connect,
40
+ ; don't offer/use STARTTLS option (so message gets delivered).
41
+ ; pro: increases mail reliability
42
+ ; con: reduces security
43
+ ; outbound only warning: **you must restart haraka** after changing this option
44
+ ; default: false
45
+ ; disable_for_failed_hosts=true
46
+
47
+ ; The following section applies to outbound only:
48
+ ; host = 127.0.0.1
49
+ ; "TLS NO-GO" db
50
+ ; db = 3
51
+ ; TLS NO-GO Expiry time in seconds
52
+ ; disable_expiry = 604800
53
+
54
+ ; TLS NO-GO Inbound expiry time in seconds
55
+ ; disable_inbound_expiry = 3600
56
+
57
+
58
+ ; no_tls_hosts - disable TLS for servers with broken TLS. (applies to inbound only)
59
+ [no_tls_hosts]
60
+ ; 127.0.0.1
61
+ ; 192.168.1.1
62
+ ; 172.16.0.0/16
63
+
64
+
65
+ ; hosts that require us to present a cert signed by a CA we both trust
66
+ [mutual_auth_hosts]
67
+ ;travel.state.gov ; use default TLS cert
68
+ ;xo.huggable.gov=special.my-tld.com ; specify cert by CN
69
+
70
+
71
+ ; these hosts request mutual TLS and reject our TLS certificate
72
+ [mutual_auth_hosts_exclude]
73
+ ;bofh.no-such-agency.gov
74
+
75
+
76
+ [outbound]
77
+ ; key=tls_key.pem
78
+ ; cert=tls_cert.pem
79
+ ; dhparam=dhparams.pem
80
+ ; no_tls_hosts[]=127.0.0.1
81
+ ; no_tls_hosts[]=192.168.1.1
82
+
83
+ ; and other options from [main] section above
@@ -0,0 +1,12 @@
1
+ ; watch - a web interface for viewing Haraka activity
2
+
3
+ ; Sampling:Limit display to 1 connection per second (Default: false)
4
+ ; sampling=false
5
+
6
+ [wss]
7
+ ; url (Default: same URL as HTTP client used)
8
+ ; The WebSocket client will attempt to connect via the same URI (changing only
9
+ ; the scheme) as the initial HTTP connection. WSS is stricter than typical
10
+ ; HTTP so the scheme and hostname *must* match else it silently fails.
11
+ ;
12
+ ; url=wss://mail.example.com/
@@ -0,0 +1,2 @@
1
+ # List of IP addresses that are allowed to use XCLIENT
2
+ 127.0.0.1