Haraka 3.0.3 → 3.0.5

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 (239) hide show
  1. package/.eslintrc.yaml +4 -9
  2. package/CONTRIBUTORS.md +11 -0
  3. package/Changes.md +1397 -1213
  4. package/Plugins.md +117 -105
  5. package/README.md +4 -13
  6. package/bin/haraka +198 -298
  7. package/config/auth_flat_file.ini +1 -0
  8. package/config/dhparams.pem +8 -0
  9. package/config/mail_from.is_resolvable.ini +4 -2
  10. package/config/me +1 -0
  11. package/config/outbound.ini +0 -2
  12. package/config/plugins +35 -36
  13. package/config/smtp.ini +1 -1
  14. package/config/smtp.json +17 -0
  15. package/config/tls.ini +2 -0
  16. package/config/tls_cert.pem +23 -0
  17. package/config/tls_key.pem +28 -0
  18. package/connection.js +46 -73
  19. package/contrib/bsd-rc.d/haraka +3 -1
  20. package/contrib/plugin2npm.sh +6 -36
  21. package/docs/CoreConfig.md +2 -2
  22. package/docs/Logging.md +7 -21
  23. package/docs/Outbound.md +104 -201
  24. package/docs/Plugins.md +2 -2
  25. package/docs/Transaction.md +59 -82
  26. package/docs/plugins/queue/smtp_proxy.md +5 -10
  27. package/docs/plugins/tls.md +37 -9
  28. package/endpoint.js +16 -13
  29. package/haraka.js +10 -14
  30. package/host_pool.js +5 -5
  31. package/http/html/index.html +6 -5
  32. package/line_socket.js +3 -4
  33. package/logger.js +44 -28
  34. package/outbound/client_pool.js +27 -23
  35. package/outbound/config.js +4 -6
  36. package/outbound/fsync_writestream.js +1 -1
  37. package/outbound/hmail.js +178 -218
  38. package/outbound/index.js +86 -99
  39. package/outbound/qfile.js +1 -1
  40. package/outbound/queue.js +51 -44
  41. package/outbound/timer_queue.js +3 -2
  42. package/outbound/tls.js +19 -7
  43. package/package.json +60 -51
  44. package/plugins/.eslintrc.yaml +0 -6
  45. package/plugins/auth/auth_base.js +4 -2
  46. package/plugins/auth/auth_proxy.js +14 -12
  47. package/plugins/auth/auth_vpopmaild.js +1 -1
  48. package/plugins/block_me.js +1 -1
  49. package/plugins/data.signatures.js +2 -4
  50. package/plugins/early_talker.js +2 -1
  51. package/plugins/mail_from.is_resolvable.js +65 -135
  52. package/plugins/queue/deliver.js +4 -5
  53. package/plugins/queue/lmtp.js +11 -12
  54. package/plugins/queue/qmail-queue.js +2 -2
  55. package/plugins/queue/quarantine.js +2 -2
  56. package/plugins/queue/rabbitmq.js +16 -17
  57. package/plugins/queue/smtp_forward.js +3 -3
  58. package/plugins/queue/smtp_proxy.js +10 -1
  59. package/plugins/queue/test.js +2 -2
  60. package/plugins/rcpt_to.host_list_base.js +5 -5
  61. package/plugins/rcpt_to.in_host_list.js +2 -2
  62. package/plugins/relay.js +6 -7
  63. package/plugins/reseed_rng.js +1 -1
  64. package/plugins/status.js +37 -33
  65. package/plugins/tls.js +2 -2
  66. package/plugins/xclient.js +3 -2
  67. package/plugins.js +50 -54
  68. package/run_tests +3 -30
  69. package/server.js +190 -190
  70. package/smtp_client.js +30 -23
  71. package/{tests → test}/config/plugins +0 -2
  72. package/{tests → test}/config/smtp.ini +3 -1
  73. package/test/config/tls/example.com/_.example.com.key +28 -0
  74. package/test/config/tls/example.com/example.com.crt +25 -0
  75. package/{tests/loud → test}/config/tls.ini +4 -2
  76. package/test/connection.js +302 -0
  77. package/test/endpoint.js +94 -0
  78. package/{tests → test}/fixtures/line_socket.js +1 -1
  79. package/{tests → test}/fixtures/util_hmailitem.js +19 -25
  80. package/{tests → test}/host_pool.js +42 -57
  81. package/test/logger.js +258 -0
  82. package/test/outbound/hmail.js +141 -0
  83. package/test/outbound/index.js +220 -0
  84. package/test/outbound/qfile.js +126 -0
  85. package/test/outbound_bounce_net_errors.js +142 -0
  86. package/{tests → test}/outbound_bounce_rfc3464.js +110 -122
  87. package/test/plugins/auth/auth_base.js +484 -0
  88. package/test/plugins/auth/auth_vpopmaild.js +83 -0
  89. package/test/plugins/early_talker.js +104 -0
  90. package/test/plugins/mail_from.is_resolvable.js +35 -0
  91. package/test/plugins/queue/smtp_forward.js +206 -0
  92. package/test/plugins/rcpt_to.host_list_base.js +122 -0
  93. package/test/plugins/rcpt_to.in_host_list.js +193 -0
  94. package/test/plugins/relay.js +303 -0
  95. package/test/plugins/status.js +130 -0
  96. package/test/plugins/tls.js +70 -0
  97. package/test/plugins.js +228 -0
  98. package/test/rfc1869.js +73 -0
  99. package/test/server.js +491 -0
  100. package/test/smtp_client.js +299 -0
  101. package/test/tls_socket.js +277 -0
  102. package/test/transaction.js +270 -0
  103. package/tls_socket.js +202 -252
  104. package/transaction.js +8 -23
  105. package/CONTRIBUTING.md +0 -1
  106. package/bin/dkimverify +0 -40
  107. package/config/access.domains +0 -13
  108. package/config/attachment.ctype.regex +0 -2
  109. package/config/attachment.filename.regex +0 -1
  110. package/config/avg.ini +0 -5
  111. package/config/bounce.ini +0 -15
  112. package/config/data.headers.ini +0 -61
  113. package/config/dkim/dkim_key_gen.sh +0 -78
  114. package/config/dkim_sign.ini +0 -4
  115. package/config/dkim_verify.ini +0 -7
  116. package/config/dnsbl.ini +0 -23
  117. package/config/greylist.ini +0 -43
  118. package/config/helo.checks.ini +0 -52
  119. package/config/messagesniffer.ini +0 -18
  120. package/config/spamassassin.ini +0 -56
  121. package/dkim.js +0 -614
  122. package/docs/plugins/avg.md +0 -35
  123. package/docs/plugins/bounce.md +0 -69
  124. package/docs/plugins/clamd.md +0 -147
  125. package/docs/plugins/esets.md +0 -8
  126. package/docs/plugins/greylist.md +0 -90
  127. package/docs/plugins/helo.checks.md +0 -135
  128. package/docs/plugins/messagesniffer.md +0 -163
  129. package/docs/plugins/spamassassin.md +0 -180
  130. package/outbound/mx_lookup.js +0 -70
  131. package/plugins/auth/auth_ldap.js +0 -3
  132. package/plugins/avg.js +0 -162
  133. package/plugins/backscatterer.js +0 -25
  134. package/plugins/bounce.js +0 -381
  135. package/plugins/clamd.js +0 -382
  136. package/plugins/data.uribl.js +0 -4
  137. package/plugins/dkim_sign.js +0 -395
  138. package/plugins/dkim_verify.js +0 -62
  139. package/plugins/dns_list_base.js +0 -221
  140. package/plugins/dnsbl.js +0 -146
  141. package/plugins/dnswl.js +0 -58
  142. package/plugins/esets.js +0 -71
  143. package/plugins/graph.js +0 -5
  144. package/plugins/greylist.js +0 -645
  145. package/plugins/helo.checks.js +0 -533
  146. package/plugins/messagesniffer.js +0 -381
  147. package/plugins/rcpt_to.ldap.js +0 -3
  148. package/plugins/rcpt_to.max_count.js +0 -24
  149. package/plugins/spamassassin.js +0 -384
  150. package/tests/config/dkim/example.com/dns +0 -29
  151. package/tests/config/dkim/example.com/private +0 -6
  152. package/tests/config/dkim/example.com/public +0 -4
  153. package/tests/config/dkim/example.com/selector +0 -1
  154. package/tests/config/dkim.private.key +0 -6
  155. package/tests/config/dkim_sign.ini +0 -4
  156. package/tests/config/helo.checks.ini +0 -52
  157. package/tests/connection.js +0 -327
  158. package/tests/endpoint.js +0 -128
  159. package/tests/fixtures/vm_harness.js +0 -59
  160. package/tests/logger.js +0 -327
  161. package/tests/outbound/hmail.js +0 -112
  162. package/tests/outbound/index.js +0 -324
  163. package/tests/outbound/qfile.js +0 -67
  164. package/tests/outbound_bounce_net_errors.js +0 -173
  165. package/tests/plugins/auth/auth_base.js +0 -463
  166. package/tests/plugins/auth/auth_vpopmaild.js +0 -91
  167. package/tests/plugins/bounce.js +0 -307
  168. package/tests/plugins/clamd.js +0 -224
  169. package/tests/plugins/deprecated/relay_acl.js +0 -140
  170. package/tests/plugins/deprecated/relay_all.js +0 -59
  171. package/tests/plugins/dkim_sign.js +0 -315
  172. package/tests/plugins/dkim_signer.js +0 -108
  173. package/tests/plugins/dns_list_base.js +0 -259
  174. package/tests/plugins/dnsbl.js +0 -101
  175. package/tests/plugins/early_talker.js +0 -115
  176. package/tests/plugins/greylist.js +0 -58
  177. package/tests/plugins/helo.checks.js +0 -525
  178. package/tests/plugins/mail_from.is_resolvable.js +0 -116
  179. package/tests/plugins/queue/smtp_forward.js +0 -221
  180. package/tests/plugins/rcpt_to.host_list_base.js +0 -132
  181. package/tests/plugins/rcpt_to.in_host_list.js +0 -218
  182. package/tests/plugins/relay.js +0 -339
  183. package/tests/plugins/spamassassin.js +0 -171
  184. package/tests/plugins/status.js +0 -138
  185. package/tests/plugins/tls.js +0 -84
  186. package/tests/plugins.js +0 -247
  187. package/tests/rfc1869.js +0 -61
  188. package/tests/server.js +0 -510
  189. package/tests/smtp_client/auth.js +0 -105
  190. package/tests/smtp_client/basic.js +0 -101
  191. package/tests/smtp_client.js +0 -80
  192. package/tests/tls_socket.js +0 -333
  193. package/tests/transaction.js +0 -284
  194. /package/docs/{plugins → deprecated}/dkim_sign.md +0 -0
  195. /package/docs/{plugins → deprecated}/dkim_verify.md +0 -0
  196. /package/docs/{plugins → deprecated}/dnsbl.md +0 -0
  197. /package/docs/{plugins → deprecated}/dnswl.md +0 -0
  198. /package/{tests → test}/.eslintrc.yaml +0 -0
  199. /package/{tests → test}/config/auth_flat_file.ini +0 -0
  200. /package/{tests → test}/config/dhparams.pem +0 -0
  201. /package/{tests → test}/config/host_list +0 -0
  202. /package/{tests → test}/config/outbound_tls_cert.pem +0 -0
  203. /package/{tests → test}/config/outbound_tls_key.pem +0 -0
  204. /package/{tests → test}/config/smtp_forward.ini +0 -0
  205. /package/{tests → test}/config/tls/ec.pem +0 -0
  206. /package/{tests → test}/config/tls/haraka.local.pem +0 -0
  207. /package/{tests → test}/config/tls/mismatched.pem +0 -0
  208. /package/{tests → test}/config/tls_cert.pem +0 -0
  209. /package/{tests → test}/config/tls_key.pem +0 -0
  210. /package/{tests → test}/fixtures/todo_qfile.txt +0 -0
  211. /package/{tests → test}/installation/config/test-plugin-flat +0 -0
  212. /package/{tests → test}/installation/config/test-plugin.ini +0 -0
  213. /package/{tests → test}/installation/config/tls.ini +0 -0
  214. /package/{tests → test}/installation/node_modules/load_first/index.js +0 -0
  215. /package/{tests → test}/installation/node_modules/load_first/package.json +0 -0
  216. /package/{tests → test}/installation/node_modules/test-plugin/config/test-plugin-flat +0 -0
  217. /package/{tests → test}/installation/node_modules/test-plugin/config/test-plugin.ini +0 -0
  218. /package/{tests → test}/installation/node_modules/test-plugin/package.json +0 -0
  219. /package/{tests → test}/installation/node_modules/test-plugin/test-plugin.js +0 -0
  220. /package/{tests → test}/installation/plugins/base_plugin.js +0 -0
  221. /package/{tests → test}/installation/plugins/folder_plugin/index.js +0 -0
  222. /package/{tests → test}/installation/plugins/folder_plugin/package.json +0 -0
  223. /package/{tests → test}/installation/plugins/inherits.js +0 -0
  224. /package/{tests → test}/installation/plugins/load_first.js +0 -0
  225. /package/{tests → test}/installation/plugins/plugin.js +0 -0
  226. /package/{tests → test}/installation/plugins/tls.js +0 -0
  227. /package/{tests → test}/loud/config/dhparams.pem +0 -0
  228. /package/{tests → test}/loud/config/tls/goobered.pem +0 -0
  229. /package/{tests → test/loud}/config/tls.ini +0 -0
  230. /package/{tests → test}/mail_specimen/base64-root-part.txt +0 -0
  231. /package/{tests → test}/mail_specimen/varied-fold-lengths-preserve-data.txt +0 -0
  232. /package/{tests → test}/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_fixed +0 -0
  233. /package/{tests → test}/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_haraka +0 -0
  234. /package/{tests → test}/queue/1508269674999_1508269674999_0_34002_socVUF_1_haraka +0 -0
  235. /package/{tests → test}/queue/1508455115683_1508455115683_0_90253_9Q4o4V_1_haraka +0 -0
  236. /package/{tests → test}/queue/multibyte +0 -0
  237. /package/{tests → test}/queue/plain +0 -0
  238. /package/{tests → test}/queue/zero-length +0 -0
  239. /package/{tests → test}/test-queue/delete-me +0 -0
package/Changes.md CHANGED
@@ -1,12 +1,142 @@
1
+ # Changelog
2
+
3
+ The format is based on [Keep a Changelog](https://keepachangelog.com/).
1
4
 
2
5
  ### Unreleased
3
6
 
7
+ ### [3.0.5] - 2024-09-27
8
+
9
+ #### Fixed
10
+
11
+ - fix(q/lmtp): revert a refactoring error #3407
12
+ - fix: install Plugins.md when haraka -i #3406
13
+ - fix(haraka -h): add missing return for plugin list #3405
14
+ - fix `no_tls_hosts` related docs & tests #3404
15
+ - fix: install docs/Plugins.md when haraka -i installed
16
+ - fix(changes): spelling correction #3397
17
+
18
+ #### Changed
19
+
20
+ - lint: remove deprecated semi-style rule
21
+ - removed dependency on ldap plugins #3399
22
+ - doc(tls.md): add note for no_tls_hosts for outbound
23
+ - test(tls): add tests for no_tls_hosts for inbound & outbound
24
+ - dep version bumps:
25
+ - haraka-email-message: 1.2.4, #3408
26
+ - nodemailer: 6.9.15
27
+ - nopt: 8.0.0
28
+ - tld: 1.2.2
29
+ - plugin-dkim: 1.0.7
30
+ - plugin-dns-list: 1.2.1
31
+ - plugin-elastisearch: 8.0.3
32
+ - test-fixtures: 1.3.8
33
+
34
+
35
+ ### [3.0.4] - 2024-08-21
36
+
37
+ #### Added
38
+
39
+ - doc: add CONTRIBUTORS #3312
40
+ - tls_socket: `config/tls` dir loading is now recursive
41
+
42
+ #### Changed
43
+
44
+ - prefix node libs with 'node:' #3359
45
+ - .gitignore: add config/me and config/*.pem
46
+ - auth_base: enable disabling constrain_sender at runtime #3298
47
+ - auth_base: skip constrain_sender when auth user has no domain #3319
48
+ - avg: repackaged as NPM module #3347
49
+ - bounce: repackaged plugin as NPM module #3341
50
+ - clamd: repackaged plugin as NPM module
51
+ - config/plugins: consistent formatting #3359
52
+ - connection: check remote is connected before queue #3338
53
+ - improve log message for queue* hooks, fixes #2998
54
+ - support IPv6 when setting remote.is_private #3295
55
+ - in setTLS, replace forEach with for...of
56
+ - NOTE: remove a handful of 3.0 sunset property names #3315
57
+ - contrib/plugin2npm.sh: fix path to package.json #3359
58
+ - deps: bump all versions to latest #3303, #3344, #3391
59
+ - dkim: repackaged as NPM module #3311
60
+ - esets: repackaged as NPM module #3353
61
+ - greylist: repackaged as NPM module
62
+ - helo.checks: require a successful HELO/EHLO #3352
63
+ - new NPM plugin dns-list, repackages dnsbl, dnswl, backscatterer #3313
64
+ - when using message-stream, don't send default options #3290
65
+ - rcpt_to.host_list: add connection ID to log messages #3322
66
+ - line_socket: remove unused callback #3344
67
+ - logger: don't load outbound (race condition). Instead, set name property #3322
68
+ - logger: extend add_log_methods to Classes (connection, plugins, hmail) #3322
69
+ - logger: when logging via `logger` methods, use short names #3322
70
+ - logger: check Object.hasOwn to avoid circular deps
71
+ - mail_from.resolvable: refactored, leaning on improved net_utils #3322
72
+ - fixes haraka/haraka-net-utils#88
73
+ - messagesniffer: repackaged as NPM module
74
+ - outbound
75
+ - check for local_mx only when default route is used #3307
76
+ - client_pool: use tls_socket directly (shed line_socket)
77
+ - client_pool: sock.name is now JSON of socket args
78
+ - client_pool.get_client & release_client: arity of 5 -> 2
79
+ - mx_lookup: make it async/await
80
+ - mx_lookup: deleted. Logic moved into net_utils #3322
81
+ - use net_utils.HarakaMx for get_mx parsing #3344
82
+ - emit log message when ignoring local MX #3285
83
+ - pass in config when initiating txn #3315
84
+ - minor es6 updates #3315, #3322
85
+ - logging improvements #3322
86
+ - was: [-] [core] [outbound] Failed to get socket: Outbound connection error: Error: connect ECONNREFUSED 172.16.16.14:25
87
+ - now: [A63B62DF-F3B8-4096-8996-8CE83494A188.1.1] [outbound] Failed to get socket: connect ECONNREFUSED 172.16.16.14:25
88
+ - shorter logger syntax: logger.loginfo -> logger.info
89
+ - remove log prefixes of `[outbound] `, no longer needed
90
+ - delete try_deliver_host. Use net_utils to resolve MX hosts to IPs #3322
91
+ - remove config setting ipv6_enabled #3322
92
+ - remove undocumented use of send_email with arity of 2. #3322
93
+ - encapsulate force_tls logic into get_force_tls #3322
94
+ - es6(async/promise): pre_send_trans_email_respond, process_delivery
95
+ - queue/lmtp: refactored for DRY and improved readability #3322
96
+ - smtp_client: pass connect_timeout, maybe fixes #3281
97
+ - spamassassin: repackaged as NPM module #3348
98
+ - style(es6): more for...of loops
99
+ - deps: moved attachment, spf, & dkim into optional deps
100
+ - doc(Plugins.md): update registry
101
+ - doc(Outbound.md): improve GHFM formatting
102
+ - remove last vestiges of header_hide_version (long ago renamed)
103
+ - server.js: use the local logger methods
104
+ - es6(async): _graceful, get_smtp_server, setup_smtp_listeners
105
+ - replace async.eachLimit with Promise.all batches
106
+ - status: replace async.map with Promise.allSettled
107
+ - get Haraka version from utils.getVersion (which includes git id if running from repo)
108
+ - tls_socket: remove secureConnection. Fixes #2743
109
+ - getSocketOpts is now async
110
+ - parse_x509 is now async
111
+ - shed dependency on caolin/async & openssl-wrapper
112
+ - get_certs_dir is now async
113
+ - completely refactored.
114
+ - transaction: init with conn.init_transaction, always pass in cfg #3315
115
+ - test: add a connection.response test case with DSN #3305
116
+ - test: convert test runner to mocha
117
+ - test: rename tests -> test (where test runner expect) #3340
118
+
119
+ #### Fixed
120
+
121
+ - fix(logger): refactor add_log_methods, don't set extra `loglog*` names
122
+ - doc(connection): update rfc7001 URL
123
+ - fix(bin/haraka): list NPM installed plugin #3310
124
+ - fix(bin/haraka): get hook list from doc/Plugins #3306
125
+ - fix(outbound): call cb even if no MX is found #3294
126
+ - fix(helo.checks): declare reject.literal_mismatch as boolean #3293
127
+ - fix(outbound): allow LHLO over insecure socket if TLS is forced #3278
128
+ - fix(outbound): include return path param SMTPUTF8 when required #3289
129
+ - fix(outbound): replace empty Message-ID header #3288
130
+ - fix(outbound): don't send SNI servername when connecting to an IP
131
+ - fix(outbound): chown queue dir after creation #3291
132
+ - fix(server): async endpoint.bind() and await in server.js #3366
133
+ - fix(outbound): get_mx DNS error handling #3376
134
+
4
135
  ### [3.0.3] - 2024-02-07
5
136
 
6
137
  #### Added
7
138
 
8
139
  - feat(auth_vpopmaild): when outbound, assure the envelope domain matches AUTH domain #3265
9
- - docs(outbound): remove example setting outbound_ip #3253
10
140
  - doc(Plugins.md): add pi-queue-kafka #3247
11
141
  - feat(rabbitmq_amqplib): configurable optional queue arguments #3239
12
142
  - feat(clamd): add x-haraka-virus header #3207
@@ -31,7 +161,6 @@
31
161
  - dep(tld): bump version to 1.2.0
32
162
  - remove defunct config files: lookup_rdns.strict.ini, lookup_rdns.strict.timeout, lookup_rdns.strict.whitelist, lookup_rdns.strict.whitelist_regex, rcpt_to.blocklist, rdns.allow_regexps, rdns.deny_regexps
33
163
 
34
-
35
164
  ### [3.0.2] - 2023-06-12
36
165
 
37
166
  #### Fixed
@@ -55,7 +184,6 @@
55
184
  - doc(outbound.ini) update link #3159
56
185
  - doc(clamd.md) fixed spelling error #3155
57
186
 
58
-
59
187
  ### [3.0.1] - 2023-01-19
60
188
 
61
189
  #### Fixed
@@ -69,7 +197,6 @@
69
197
  - plugins: Add haraka-plugin-outbound-logger to registry #3146
70
198
  - dep(pi-spf): bump version 1.1.3 to 1.2.0
71
199
 
72
-
73
200
  ### [3.0.0] - 2022-12-17
74
201
 
75
202
  #### Added
@@ -81,7 +208,7 @@
81
208
 
82
209
  - fix(tls): redis promise syntax for tls & ob/tls #3064
83
210
  - fix(attachment): error handling with complex archive #3035
84
- - fix(smtp_client): run "secured" once, fixes #3020
211
+ - fix(smtp_client): run "secured" once, fixes #3020
85
212
  - fix(smtp_client): add missing `$` char in front of interpolated string
86
213
  - fix(auth_proxy): run "secured" only once, improvement for #3022
87
214
  - fix(helo): remove multi-check from should_skip #3041
@@ -104,16 +231,16 @@
104
231
  - style(plugin/\*): transaction guarding #3032
105
232
  - dep(spf): remove to separate plugin #3078
106
233
  - dep(iconv): removed, declared in haraka-email-message)
107
- - dep(haraka-plugin-redis)!: 1.0 -> 2.0 #3038
234
+ - dep(haraka-plugin-redis)!: 1.0 -> 2.0 #3038
108
235
  - dep(redis)!: 3.1 -> 4.1 #3058
109
236
  - dep(generic-pool): remove pooling from outbound #3115
110
237
  - smtp_client: remove smtp_\* pooling support in #3113
111
238
  - dep: bump plugin versions #3063
112
239
  - dep: bump haraka-plugin-asn from 1.0.9 to 2.0.0 #3062
113
240
  - dep(redis): 3.1 -> 4.1 #3058
114
- - dep(nopt): 5 -> 6.0.0 #3076
115
- - dep(haraka-plugin-fcrdns): 1.0.3 -> 1.1.0 #3076
116
- - dep(haraka-plugin-redis): 1.0 -> 2.0 #3038
241
+ - dep(nopt): 5 -> 6.0.0 #3076
242
+ - dep(haraka-plugin-fcrdns): 1.0.3 -> 1.1.0 #3076
243
+ - dep(haraka-plugin-redis): 1.0 -> 2.0 #3038
117
244
  - dep(nodemailer): 6.7.0 to 6.7.2 #3000, #3004
118
245
  - dep: add explicit dependency on node-gyp 9
119
246
  - ci: github action tweaks #3047
@@ -133,14 +260,13 @@
133
260
  - uribl: timeout DNS 1 second before plugin, #3077
134
261
  - uribl: load .ini config to plugin.cfg, add basic tests #3077
135
262
 
263
+ ### 2.8.28 - 2021-10-14
136
264
 
137
- ## 2.8.28 - 2021-10-14
138
-
139
- ### Changes
265
+ #### Changes
140
266
 
141
267
  - breaking: dkim.js has changed the constructor opts
142
268
  - tls_socket: more flexible pem file parsing #2986
143
- - move bad certs into different directory, avoid test suite noise
269
+ - move bad certs into different directory, avoid test suite noise
144
270
  - added ability to define a default relay in relay_dest_domains
145
271
  - spamassassin: replace msg_too_big & should_check with should_skip #2972
146
272
  - spamassassin: allow returning DENYSOFT on errors #2967
@@ -151,9 +277,9 @@
151
277
  - dep: redis is now a dependency #2896
152
278
  - use address-rfc2821 2.0.0
153
279
  - http: use CDN for bootstrap/jquery, drop bower #2891
154
- - drop support for node 10 #2890
280
+ - drop support for node 10 #2890
155
281
 
156
- ### New features
282
+ #### New features
157
283
 
158
284
  - tls: require secure and verified sockets for configured hosts/domains
159
285
  - DKIM plugin has got a couple of config options now
@@ -162,7 +288,7 @@
162
288
  - skip plugins at runtime by pushing name into transaction.skip_plugins #2966
163
289
  - outbound: add ability to specify delay times for temporary fails in `temp_fail_intervals` #2969
164
290
 
165
- ### Fixes
291
+ #### Fixes
166
292
 
167
293
  - bounce: correctly set fail recipients #2901
168
294
  - bounce: correctly set bounce recipients #2899
@@ -171,10 +297,9 @@
171
297
  - use RFC-2045 Quoted-Printable in email message body
172
298
  - use RFC-2047 Q encoded-words in email headers
173
299
 
300
+ ### 2.8.27 - 2021-01-05
174
301
 
175
- ## 2.8.27 - 2021-01-05
176
-
177
- ### Changes
302
+ #### Changes
178
303
 
179
304
  - bump verions of several dependencies #2888
180
305
  - propagate hmail notes to split copies #2887
@@ -183,1221 +308,1280 @@
183
308
  - strip _haraka-plugin-_ prefixes off plugin names in config/plugins #2873
184
309
  - pass smtp.ini config from Server into connections & transactions #2872
185
310
 
186
- ### New features
311
+ #### New features
187
312
 
188
313
  - add ability to disable SMTPUTF8 advertisement #2866
189
314
 
190
- ### Fixes
315
+ #### Fixes
191
316
 
192
317
  - assure headers.max_lines is initialized as integer #2878
193
- - require haraka-net-utils >= 1.2.2 #2876
194
-
195
-
196
- ## 2.8.26 - 2020-11-18
197
-
198
- ### Changes
199
-
200
- * add config options for OAR & AR headers #2855
201
- * plugins.js: also strip haraka-plugin prefix from plugin.name #2846
202
- * smtp_forward/spamssassin: grab refs of conn/txn to avoid crashes due to lack of existence. #2847
203
- * outbound: add extended reason to bounce message #2843
204
- * hgrep: replaced perl script with shell script #2842
205
- * connection: send temp error when requested #2841
206
- * headers: updated deprecated messages #2845
207
- * hmail: socket.on -> socket.once #2838
208
- * hmail: check for zero length queue file #2835
209
- * outbound: add os.hostname() as default for outbound HELO #2813
210
- * use node v10's mkdir instead of mkdirp #2797
211
- * CI: drop appveyor and Travis #2784
212
- * lint: add 'prefer-template'
213
- * update async to version 3.2.0 #2764
214
- * update redis to version 3.0.0 #2759
215
- * remove deprecated max_unrecognized_commands from config #2755
216
- * CI: add ES2017 support, drop node 8 #2740
217
- * fix broken bannering on nested mime parts #2736
218
- * restore TLS version info, set correctly #2723
219
- * better error message when invalid HELO hostname is rejected
220
- * bring STARTTLS "TLS NO-GO" feature in line with Outbound's #2792
221
- * add listener for secureConnect #2828
222
- * removed plugins/data.headers to haraka-plugin-headers #2826
223
- * add zero-length queue size check
224
- * send temp instead of hard error when asked to by `unrecognized_command`
225
-
226
- ### New features
227
-
228
- * Allow web interface to be bound to unix socket #2768
229
- * tls: add configurable minVersion to tls socket options #2738
230
- * connection_close_message: added ability to override close connection message replacing `closing connection. Have a jolly good day.` #2730
231
- * add JSON format for logging #2739
232
- * support binding web interface to unix socket
233
-
234
- ### Fixes
235
-
236
- * check for punycode domain names when resolving MX, avoid crash #2861
237
- * wait until entire message is spooled when spool_after in use #2840
238
- * hmail: add missing space in temp_fail emitter #2837
239
- * fix outbound config reloading after outbound split #2802
240
- * smtp_forward: remove redundant outbound hook #2796
241
- * smtp_forward: this plugin does not use the queue_outbound hook anymore #2795
242
- * Fix connection pool not being unique when hosts and ports were equal between domains #2789
243
- * fix connection pool not being unique when hosts and ports were equal between domains #2788
244
- * Fix outbound.bounce_message To: header (and add Auto-Submitted) #2782
245
- * Fix support for DKIM signing when forwarding and aliasing is enabled #2776
246
- * Better error message when EHLO hostname does not have a dot #2775
247
- * fix bannering on nested mime parts #2737
248
- * TLS: don't abort loading certs in config/tls dir when an error is encountered. Process every cert file and then emit errors. #2729
249
- * restore TLS version, correctly #2723
250
-
251
-
252
- ## 2.8.25 - 2019-10-11
253
-
254
- ### Changes
255
-
256
- * conn: remove TLS version from header #2648
257
- * Actually enforce using key for INTERNALCMD #2643
258
- * trans: assign conditions to named vars #2638
259
- * drop node.js v6 support #2632
260
- * conn: use is_local instead of localhost addr tests #2627
261
- * spamassassin: spamassassin: strip useless WS from tests #2624
262
- * es6: many updates #2615, #2674, #2680
263
- * systemctl: update service definition #2612
264
- * lint: bracket style to match newer eslint:recommended #2680
265
- * lint: use object shorthands (eslint:recommended) #2680
266
- * logger: use safer Object.prototype.hasOwnProperty #2680
267
- * outbound: permit # char in SMTP status code response #2689
268
- * dkim_sign: improve docs, add tests, es6 updates #2649
269
- * dkim_sign: restore default key signing feature #2649
270
- * tmp module: update to latest #2614
271
- * semver: update to latest #2616, #2651
272
- * async: update to latest #2653, #2664
273
- * repo cleanup: replaced deprecated plugins with list #2681
274
- * spf: es6 patterns, results.pass, test improvements, es6 patterns #2700
275
-
276
- ### New features
277
-
278
- * spf: add config option to fail on NONE #2644
279
-
280
- ### Fixes
281
-
282
- * mailheader: fully quality header name in _remove_more #2647
283
- * haraka: Connection.createConnection is not a constructor #2618
284
- * problems with japanese characters in body and part header #2675
285
- * toobusy: fix hook name (connect_pre -> connect) #2672
286
- * outbound: watch for socket timeouts #2687
287
- * outbound: permit # char prefix in SMTP status code response #2691
288
- * mailheader: strip whitespace between encoded-words #2702
289
-
290
-
291
- ## 2.8.24 - Mar 12, 2019
292
-
293
- ### Changes
294
-
295
- * early_talker: skip if sender has good karma #2551
296
- * dockerfile: update to node 10 #2552
297
- * Update deprecated usages of Buffer #2553
298
- * early_talker: extend reasons to skip checking #2564
299
- * tls: add 'ca' option (for CA root file) #2571
300
- * outbound: little cleanups #2572
301
- * smtp_client: pass pool_timeout to new SMTPClient #2574
302
- * server: default to nodes=1 (was undefined) #2573
303
- * test/server: use IPv4 127.0.0.1 instead of localhost #2584
304
- * queue/smtp_*: add v3 upgrade notice and config setting #2585
305
- * spf: use the skip config for helo/ehlo checks #2587
306
- * spf: avoid 2nd EHLO evaluation if EHLO host is identical #2592
307
- * queue.js refactoring #2593
308
- * Log dkim_sign parse errors with connection ID #2596
309
- * Update ipaddr.js to the latest version #2599
310
- * make inactivity timeout match docs #2607
311
-
312
- ### New Features
313
-
314
- * Implement SIGTERM graceful shutdown if pid is 1 #2547
315
- * tls: require validated certs on some ports with requireAuthorized #2554
316
- * spamassassin: disable checks when requested #2564
317
- * clamd: permit skipping for relay clients #2564
318
- * outbound: exported outbound.temp_fail_queue, outbound.delivery_queue and add TimerQueue.discard()
319
- * status: new plugin #2577
320
-
321
- ### Fixes
322
-
323
- * mf.resolvable: reduce timeout by one second (so < plugin.timeout) #2544
324
- * LMTP blocks under stress #2556
325
- * invalid DKIM when empty body #2410
326
- * prevent running callback multiple times on TLS unix socket #2509
327
- * add missing callback when listing queue and empty directory
328
- * correct MIME parsing when charset: utf8 and encoding: 8bit #2582
329
- * spamassassin: default check flags to true #2583
330
- * smtp_client: destroy when connection gets conn timeout error #2604
331
- * on error and timeout, remove listeners and destroy conn. #2606
332
-
333
-
334
- ## 2.8.23 - Nov 18, 2018
335
-
336
- ### Changes
337
-
338
- * tighten Haraka pattern in .gitignore #2542
339
-
340
-
341
- ## 2.8.22 - Nov 17, 2018
342
-
343
- ### New Features
344
-
345
- * enable tls/ssl for rabbitmq amqplib plugin #2518
346
-
347
- ### Fixes
348
-
349
- * hmail: don't send RSET to LMTP #2530
350
-
351
- ### Changes
352
-
353
- * clamd: add check.authenticated, check.private_ip, check.local_ip option
354
- * use get_decoded on headers that may be encoded #2537
355
- * connection: move max_mime_part config load to connection init #2528
356
- * outbound: init TLS when we send email, not when old queue file is loaded #2503
357
-
358
- ### Changes
359
-
360
- * relay: update port 465 doc #2522
361
- * hmail: log the correct err message #2531
362
- * ob/tls: consistently use obtls (vs plugin) for "this" name #2524
363
- * outbound: add domain to loginfo message #2523
364
- * Add connection.remote.is_local #2532
365
- * update license #2525
366
- * perf: move max_mime_parts config load to connection init #2529
367
- * update semver to version 5.6.0 #2517
368
- * added hint to encrypted file authentication #2514
369
- * dkim_sign: improved log messages #2499
370
- * ehlo_hello_message: config/ehlo_hello_message can be used to overwrite the EHLO/HELO msg replacing `, Haraka is at your service` #2498
371
- * connection: add connection.remote.is_local flag for detecting loopback and link local IPs
372
- * add .name to outbound TLS for logs #2492
373
-
374
- ## 2.8.21 - Jul 20, 2018
375
-
376
- ### New Features
377
-
378
- * outbound: skip STARTTLS after remote host fails TLS upgrade #2429
379
- * dns_list_base: introduce global plugin.lookback_is_rejected flag #2422
380
-
381
- ### Fixes
382
-
383
- * replace all _ chars in hostnames with code points #2485
384
- * Don't die on invalid commands #2481
385
- * outbound: check list exists before attempting to use it #2478
386
- * refactor outbound/hmail.process_ehlo_data #2488
387
- * tls: skip when redis is undefined #2472
388
- * Don't run delivered hook on LMTP fail #2470
389
- * Add tls_socket.load_tls_ini() to tls.register() #2465
390
-
391
- ### Changes
392
-
393
- * outbound/tls: make into a class #2474
394
- * plugins: clear timeout on cancel #2477
395
- * txn.parse_body consistently a boolean #2476
396
- * update ipaddr.js to version 1.8.0 #2468
397
-
398
-
399
- ## 2.8.20 - Jun 29, 2018
400
-
401
- * New Features
402
- * n/a
403
- * Fixes
404
- * data_headers: check defined-ness of hdr_address *after* try/catch #2458
405
- * tls: remove tls.ini loading from plugins/tls #2459
406
- * tls: remove invalid opt from load_tls_ini #2456
407
- * outbound: escape values in HTML bounce correctly #2446
408
- * dkim_sign: catch exceptions when address-rfc2822 fails to parse From #2457
409
- * Changes
410
- * logger: Add "obj" log param to log hook that contains log data by type #2425
411
- * logger: include outbound client ID in logging #2425
412
- * logger: allow specifying uuid in params when logging #2425
413
-
414
- ## 2.8.19 - Jun 26, 2018
415
-
416
- * New features
417
- * outbound: received_header=disabled supresses outbound Received header addition. #2409
418
- * auth_base.js: `check_plain_passwd` and `check_cram_md5_passwd` can now pass `message` and `code` to callback routine
419
- * spf: allow bypass for relay and AUTH clients #2417
420
- * spf: optionally add OpenSPF help text to rejection #2417
421
- * auth_base: prevent storing of AUTH password in connection.notes.auth_passwd by setting plugin.blackout_password. #2421
422
- * Fixes
423
- * Mitigate MIME part explosion attack #2447
424
- * Always prefix ClamAV with a Received header #2407
425
- * plugins/data.headers.js: wrap address-rfc2822 header parse into try block #2373
426
- * tls_socket: as client, only apply TLS opts if config is valid #2414
427
- * when installing, creates config/me if missing #2413
428
- * queue/qmail-queue: fix a 2nd crash bug when client disconnects unexpectedly #2360
429
- * remove desconstruction of SMTP commands to prevent exception #2398
430
- * attstream: return self so that pipe() calls can be chained together. #2424
431
- * outbound: fix dotfile cleanup to consider platform-based prefix. #2395
432
- * outbound: fix handling of LMTP socket when a socket path is specified. #2376
433
- * Changes
434
- * relay: move relay acl check to connect_init so flag is set earlier #2442
435
- * process\_title: add total recipients, avg rcpts/msg, recipients/sec cur/avg/max and messages/conn #2389
436
- * when relaying is set in a transaction, don't persist beyond the transaction #2393
437
- * connection.set supports dot delimited path syntax #2390
438
- * remove deprecated (since 2.8.16) ./dsn.js
439
- * Add transaction.msg_status property that reflects message status. #2427
440
- * Add transaction.notes.proxy object that hold HAProxy details. #2427
441
- * spamassassin: make relay header configurable. #2418
442
- * deprecate max_unrecognized_commands plugin in favor of limit. #2402
443
- * xclient: add support for DESTADDR/DESTPORT. #2396
444
-
445
- ## 2.8.18 - Mar 8, 2018
446
-
447
- * New features
448
- * smtp_forward: domain configuration is now chosen based on domain_selector #2346
449
- * Fixes
450
- * queue/qmail-queue: fix crash bug when client disconnects unexpectedly #2360
451
- * tls: fix crash bug in `unrecognized_command` hook
452
- * `dkim_key_gen.sh`: improve usability and parameter parsing #2355
453
- * Changes
454
- * document `force_shutdown_timeout` and `graceful_shutdown` settings #2350
455
-
456
- ## 2.8.17 - Feb 16, 2017
457
-
458
- * New Features
459
- * SMTPS port is configurable #2269
460
- * smtp_forward: enable_outbound can be set per domain #2335
461
- * Fixes
462
- * Fix ability to set log level to emerg #2128
463
- * outbound/hmail: use Buffer to correctly read binary file data + tests #2231
464
- * quarantine: consolidate 2x hook_init_master functions
465
- * tls_socket: restore SNI functionality, emit count of TLS certs #2293
466
- * fix smtp_client error handling #2298
467
- * fix outbound pools #2317
468
- * add openssl-wrapper as dependency #2320
469
- * replace _ chars in hostnames with code points #2324
470
- * add this.removeAllListeners('connection-error') #2323
471
- * Fix crashing on RSET #2328
472
- * Prevent data headers crit fail #2329
473
- * Fix undefined max_lines in log message #2337
474
- * Changes
475
- * line_socket: remove superfluous function #2339
476
- * consistent end of function declaration semicolon #2336
477
- * connection: assure hostname is set #2338
478
- * smtp_client: Fix log message typo #2334
479
- * Update ipaddr.js to version 1.6.0 #2333
480
- * Warn on max_header_lines #2331
481
- * update jquery version #2322
482
- * plugins: add SRS plugin to registry #2318
483
- * tls_socket: only generate dhparam.pem on master process #2313
484
- * add ENOTFOUND to also check A record #2310
485
- * smtp_forward: correct config file name in docs #2309
486
- * reduce severity of iconv conversion failure #2307
487
- * Add txn UUID to "250 Message Queued" #2305
488
- * mailheader: reduce log level priority #2299
489
- * greylist: only log redis DB errors when exist #2295
490
- * data.headers: reduce undef MLM logerror to logdebug #2294
491
- * quarantine: consolidate 2x hook_init_master() #2292
492
- * move test_queue to queue/test #2291
493
- * in haraka plugin test mode, add server.notes #2248
494
- * outbound/hmail: refactor #2238
495
- * outbound/hmail: add JSON sanity test before JSON.parse #2231
496
- * outbound/index: use newer Buffer.from syntax #2231
497
- * outbound/hmail: make haraka queue files human friendly #2231
498
- * plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
499
- * plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
500
- * plugins/smtp_forward: enable_outbound can be enabled/disabled for specific domains
501
- * auth_proxy: read TLS key and cert files from tls.ini #2212
502
- * README: typo fixes #2210
503
- * incorrect RCPT TO reply message #2227
504
- * Resolve decoding bug when root part is base64 encoded. #2204
505
- * Resolve base64 data truncation #2188
506
- * Fix damaged encoding when body is non-utf #2187
507
- * Fix disconnect hooks #2184
508
- * ability to set log level to emerg #2128
509
- * Improve docs for `Address` objects #2224
510
- * connection: replace 3x ternaries with get_remote() #2169
511
- * connection.local.host populated with hostname (from config/me) #2165
512
- * connection.local.info populated with Haraka/version #2196
513
- * npm packaged plugins:
514
- * plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
515
- * plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
516
- * plugins/graph -> haraka-plugin-graph #2185
517
- * config: replace ./config.js with haraka-config #2119
518
- * Replace concatenated strings with template literals (#2129) in:
519
- * attachment #2260
520
- * bin/spf #2129
521
- * bin/dkimverify #2278
522
- * connection #2129, #2243
523
- * delay_deny #2264
524
- * dkim #2216
525
- * dsn #2265
526
- * host_pool #2198, #2245
527
- * logger #2277, #2246
528
- * mailbody #2280
529
- * max_unrecognised_commands #2171
530
- * outbound/hmail #2259
531
- * outbound/index #2249
532
- * outbound/todo #2233
533
- * plugins #2239
534
- * plugins/aliases #2229
535
- * plugins/attachment #2155
536
- * plugins/auth_base #2252
537
- * plugins/avg #2156
538
- * plugins/backscatterer #2261
539
- * plugins/bounce #2229
540
- * plugins/clamd #2237
541
- * plugins/connect.rdns_access #2262
542
- * plugins/data.headers #2263
543
- * plugins/data.uribl #2258
544
- * plugins/helo.checks #2255
545
- * plugins/rcpt_to.in_host_list #2253
546
- * plugins/spamassassin #2256
547
- * plugins/profile #2170
548
- * plugins/rcpt_to.host_list_base #2254
549
- * plugins/relay #2174
550
- * plugins/relay_acl #2177
551
- * plugins/spf #2266
552
- * plugins/toobusy #2186
553
- * plugins/xclient #2159
554
- * rfc1869 #2159
555
- * smtp_client #2129, #2208
556
- * tests/host_pool #2159
557
- * use es6 destructuring (#2075) in:
558
- * connection #2230
559
- * dkim #2232
560
- * use es6 classes (#2133) in:
561
- * attachment #2260
562
- * attachment_stream #2215
563
- * chunkemitter #2219
564
- * dkim #2206
565
- * dsn #2247
566
- * host_pool #2194
567
- * mailheader #2213
568
- * mailbody #2213
569
- * smtp_client #2221
570
- * spf #2214
571
- * tls_socket #2190
572
- * timer_queue #2226
573
- * outbound/hmail #2197
574
- * outbound/todo #2233
575
- * Automatically set connection.remote.is_private when connection.remote.ip is set #2192
576
- * Add remove_msgid and remove_date options to outbound.send_email #2209
577
- * Add origin option to outbound.send_mail #2314
578
-
579
-
580
- ## 2.8.16 - Sep 30, 2017
581
-
582
- * Changes
583
- * additional tests get var -> const/let medicine #2122
584
- * move connection states into haraka-constants #2121
585
- * lint: remove useless escapes #2117
586
- * lint: switch no-var to error #2109
587
- * rspamd: repackaged as NPM module #2106
588
- * dsn: repackaged as NPM module haraka-dsn #2105
589
- * outbound: add results when queueing #2103
590
- * spamassassin: skip adding headers when value is empty #2102
591
- * Replace console.log with stdout #2100
592
- * update js-yaml to version 3.10.0 #2097
593
- * repackage p0f plugin to NPM #2076
594
- * ES6: replace var with const or let #2073
595
-
596
- * New Features
597
- * Bounces can have an HTML part #2091
598
- * Fixes
599
- * daemon cwd #2126
600
- * updated fcrdns plugin name passed to results #2115
601
- * tls: only apply default key/cert paths when undefined #2111
602
- * dkim_verify: fix formatting of auth results #2107
603
- * smtp_forward: consistently use queue.wants #2107
604
- * haraka was adding TLS header on non-TLS connection #2103
605
- * dkim typo fix #2101
606
- * fix rfc2231 parsing code to cope with continuation #2089
607
-
608
- ## 2.8.15 - Sep 10, 2017
609
-
610
- * Changes
611
- * Permit log settings to be set w/o LOG prefix #2057
612
- * additional results storing in smtp_forward and quarantine #2067
613
- * publish p0f plugin to NPM #2076
614
- * smtp_forward stores queue note at queue.wants #2083
615
- * Remove unused folders from installation #2088
616
- * smtp_forward stores queue note at queue.wants #2083
617
- * add get/set to conn/txn.notes #2082
618
- * additional results storing in smtp_forward and quarantine #2067
619
- * Permit log settings to be set w/o LOG prefix #2057
620
- * support INFO *and* LOGINFO as config settings #2056
621
- * log.ini, new default location for log related settings #2054
622
- * dcc: replace with npm packaged version #2052
623
- * qmd: replace rcpt_to.qmail_deliverable with npm #2051
624
- * rspamd: pass SPF evaluation #2050
625
- * add logfmt support #2047
626
- * update ipaddr.js to version 1.5.0 #2037
627
- * update redis to version 2.8.0 #2033
628
- * disable graceful for SIGTERM #2028
629
- * add additional integration tests #2026
630
- * move most npm packaged plugins into optionalDependencies #2023
631
- * New Features
632
- * TLS certificate directory (config/tls) #2032
633
- * plugins can specify a queue plugin & next_hop route #2067
634
- * connection/transaction notes now have get/set #2082
635
- * Fixes
636
- * haraka cli will now create folders if they don't exist #2088
637
- * maybe fix for #1852 503 response #2064
638
- * crash when 'AUTH LOGIN' is sent after a successful auth #2039
639
- * docs: fixed swaks test command #2034
640
- * dkim: prevent dkim_verify from causing 'cannot pipe' #1693
641
-
642
- ## 2.8.14 - Jul 26, 2017
643
-
644
- * Changes
645
- * Fix auth plugin failure when re-selecting auth method #2000
646
- * don't crash Haraka when invalid YAML config encountered #2013
647
- * update semver to version 5.4.0 #2015
648
- * relay docs: correct the config file name #2012
649
- * rename config/xclient.hosts to match plugin & docs #2014
650
- * build_todo() is part of the outbound/index.js api #2016
651
- * update js-yaml to version 3.9.0 #2002
652
- * outbound/hmail: use WRITE_EXCL from haraka-constants #2011
653
- * replace plugins/log.elasticsearch with npm packaged #2004
654
- * Remove two spurious log statements #1989
655
- * access: rebuild blacklist upon change (vs supplement) #1990
656
- * deliver to qmail-queue with LF line endings (not CRLF) #1997
657
- * doc: add note that smtp_forward only supports STARTTLS #1988
658
- * import Plugins.md from v3 #1991
659
- * update async to 2.5.0 #1982
660
- * update iconv to 2.3.0 #1981
661
- * require node.js v6+ #1958
662
- * update ipaddr.js to 1.4.0 #1972
663
- * support newer address-rfc2822 #1970
664
- * update node-address-rfc2821 version to 1.1.1 #1968
665
- * outbound: be consistent with todo.domain #1960
666
- * bump haraka-results required version #1949
667
- * logger: load in a setImmediate call #1948
668
- * logger: strip intermediate \n chars #1947
669
- * tls consistency cleanups #1851
670
- * Get pool config handling simplifcation #1868
671
- * add integration test: send message w/smtp_client
672
- * replace some legacy code with es6 #1862
673
- * update async to version 2.2.0 #1863
674
- * update ipaddr.js to version 1.3.0 #1857
675
- * update redis to version 2.7.0 #1854
676
- * assure conn/tran still exists before storing results #1849
677
- * moved tls.ini parsing to net_utils #1848
678
- * smtp forward dest split routing #1847
679
- * rspamd: refactor complex condition into function #1840
680
- * block js attachments #1837
681
- * helo.checks: bring plugin into alignment with docs #1833
682
- * when proxy enabled, update remote.is_private too #1811
683
- * create an outbound queue filename handler #1792
684
- * replace fcrdns with npm package #1810
685
- * add an additional node_modules plugin search path #1805
686
- * Set graceful shutdown off by default #1927
687
- * Allow outbound pools to be disabled #1917
688
- * Outbound split and move into folder #1850
689
- * don't emit binary characters into the logs #1902
690
- * Add .editorconfig #1884
691
- * tls: remove interim variables #1871
692
- * New Features
693
- * Use punycode domain (support SMTPUTF8) #1944
694
- * Added RabbitMQ vhost support #1866
695
- * clamav: allow "Unknown Result" and Socket Error to try next host #1931
696
- * outbound client certificates #1908
697
- * Implement the missing upgrade method on SMTPClient #1901
698
- * Remove typo from relay.md #1886
699
- * Fixes
700
- * outbound: fix queue not loaded for single process #1941
701
- * outbound: Fix undefined variable platformDOT in hmail.js #1943
702
- * outbound: fix undefined FsyncWriteStream var #1953
703
- * Fix cluster messaging for node v6+ #1938
704
- * outbound: fix loading under cluster. #1934
705
- * Check pool exists before delete #1937
706
- * be more strict in attachment filename matching #1957
707
- * doc typo fix #1963
708
- * RabbitMQ: fix encoding of user and password string #1964
709
- * spf: improve modifier regexp #1859
710
- * rabbitmq doc typo in config file name #1865
711
- * URL to manual was 404, point to Plugins.md #1844
712
- * smtp_client: set idleTimeout to 1s < pool_timeout #1842
713
- * fix broken continuations #1843
714
- * doc error for the 'check.authenticated' setting in rspamd plugin #1834
715
- * emit _the_ result, not all of them #1829
716
- * fix outbound logger #1827
717
- * fix forwarding with client auth over TLS (forward to gmail) #1803
718
- * Don't blow the stack on qstat #1930
719
- * run dumped logs through log plugins, not console #1929
720
- * Fix path parsing bug on Windows platform #1919
721
- * helo: make sure list_re is defined before access #1903
722
- * TLS: handle case where OCSP server is unavailable #1880
723
- * rspamd: add missing 'default' keyword #1856
724
- * disable naïve comment stripping #1876
725
-
726
- ## 2.8.13 - Feb 03, 2017
727
-
728
- * Changes
729
- * new [haraka-plugin-limit](https://github.com/haraka/haraka-plugin-limit) #1785
730
- * replaces plugin/limit, plugin/rate_limit, and haraka-plugin-outbound-rate-limit
731
- * p0f: skip on private IPs (normally empty) #1758
732
- * spf: skip for outbound when context != myself #1763
733
- * redis: plugins using redis can inherit redis config #1777
734
- * redis: replace plugins/redis with haraka-plugin-redis #1786
735
- * lint: require space before function declaration #1784
736
- * lint: added eslint:recommended #1790
737
- * logger: remove logger.colorize code for legacy node versions
738
- * New Features
739
- * redis: add `redis_subscribe_pattern()` #1766
740
- * queue/discard: add ENV that permits discarding #1791
741
- * Improvements
742
- * rspamd: improve response parsing #1770
743
- * restore Windows testing to working state #1755
744
- * elasticsearch: use UTC dates for index creation #1771
745
- * tls: fix dhparam usage example syntax #1774
746
- * typo: logerr -> logerror #1776
747
- * when generating long DKIM keys, include a BIND compatible folded key #1775
748
- * in haraka-test-fixtures, access results via fixtures.results #1783
749
- * integration test: end to end server testing #1791
750
- * Bug Fixes
751
- * spf: restore functionality for relay context=myself #1759
752
- * rate_limit:if incr creates a new record, assure it has a TTL #1781
753
- * tls: do not create a top level secureContext #1787
754
- * dnswl: swap lines to fix missing inherited methods #1793
755
- * dnswl: fix config loader callback syntax #1794
756
- * tests/plugins: unset process.env.HARAKA to avoid side effects that interfere with other tests
757
- * remove auth_flat_file sample auth user #1796
758
-
759
-
760
- ## 2.8.12 - Jan 03, 2017
761
-
762
- * Changes
763
- * plugin/karma -> npm packaged haraka-plugin-karma #1747
764
- * update generic-pool 2.4.2 -> 2.5.0
765
- * New Features
766
- * Added option to bypass SpamAssassin headers' merge #1745
767
- * Improvements
768
- * reduce severity of debug message #1744
769
- * fix misleading entries in config/tls.ini #1734
770
- * Misc. performance improvements #1738
771
- * set tls.sessionIdContext property (for Thunderbird compat) #1740
772
- * Bug Fixes
773
- * Swap lines to avoid clobbering response array #1743
774
-
775
-
776
- ## 2.8.11 - Nov 24, 2016
777
-
778
- * Changes
779
- * rename core_require to haraka_require #1708
780
- * move log.syslog to haraka-plugin-syslog #1698
781
- * remove tls.ini loading and is_no_tls_host to net_utils #1690
782
- * replace ./utils with npm packaged haraka-utils #1720
783
- * require node 4
784
- * karma: add .top TLD scoring #1714
785
-
786
- * New Features
787
- * Implement OCSP Stapling #1724
788
-
789
- * Improvements
790
- * show help for npm packaged plugins included in core #1698
791
- * use tls.connect for client #1682
792
- * bring port 465 SMTPS TLS config support on par with STARTTLS #1667
793
- * use tls.connect instead of createSecurePair #1678
794
- * redis: improve error handling in tests #
795
- * replace / path seperators with path.\* for cross platform compat #1713
796
-
797
- * Bug Fixes
798
- * dkim_sign: per-domain key finding fixed #1707
799
- * Rspamd: restore spam report header #1702
800
- * auth/vpopmail: do not toString() when null #1695
801
- * fix outbound to avoid recursive reading key/cert after refactoring #1692
802
- * tls: fix option servername (not hostname) #1728
803
- * correct Auth-Results cleaning #1726
804
- * fix results for connection.remote_host and NXDOMAIN #1716
805
-
806
-
807
- ## 2.8.10 - Oct 20, 2016
808
-
809
- * Changes
810
- * use standard npm syntax for lint and tests #1646
811
- * remove ./net_utils to haraka-net-utils #1644
812
- * remove incorrect and unused spf.hello_host #1635
813
- * remove rogue DENYSOFT copy-pasta error #1634
814
- * update async to v2 #1545
815
- * remove plugin/dir support from base haraka #1668
816
- * use node_modules_dir support instead
817
- * use TLSSocket instead of createSecurePair #1672
818
- * refactor plugins/tls #1670
819
- * moved watch plugin to npm as haraka-plugin-watch #1657
820
- * normalize proxy properties #1650
821
-
822
- * New Features
823
- * added connection.remote.is_private boolean #1648
824
- * added additional TLS options (@typingArtist) #1651
825
- * added wildcard boolean support to config loader #1680
826
- * tls: allow multiple key and cert parameters for RSA+ECDSA #1663
827
- * permit specifying haraka plugins w/o haraka-plugin- prefix #1645
828
- * in config/plugins and resultstore
829
-
830
- * Improvements
831
- * connection.geoip replaced by haraka-plugin-geoip #1645
832
- * connection.asn replaced by haraka-plugin-asn #1645
833
- * permit specifying npm packaged plugins w/o haraka-plugin prefix #1647
834
- * normalized connection properties #1547, #1577
835
- * Rspamd: fix spambar for negative scores #1630
836
- * set connection.remote.is_private early
837
- * replace calls to net_utils with remote.is_private test
838
-
839
- * Bug Fixes
840
- * Tidy-up graceful shutdown and fix for non-cluster mode #1639
841
- * Fix data.headers plugin crash #1641
842
- * Fix access plugin crash #1640
843
- * Minor DKIM fix #1642
844
- * do not set TLS timer if timeout=0 #1632
845
- * do not overwrite config/host_list on install #1637
846
- * correct smtp_forward cfg for multiple rcpts #1680
847
- * fix TLS timeout errors #1665
848
-
849
-
850
- ## 2.8.9 - Oct 02, 2016
851
-
852
- * Changes
853
-
854
- * New Features
855
- * Support outbound.pool_timeout of 0 to effectively disable pooling. #1561
856
- * Added never_add_headers option to rspamd plugin. #1562
857
- * rcpt_to.routes URI format w/ LMTP support #1568
858
-
859
- * Improvements
860
- * The delay_deny plugin now has a whitelist mode (vs blacklist). #1564
861
- * Don't show the private key in logs for dkim_sign. #1565
862
- * update geoip for compat with newer ES (#1622)
863
- * drop node 0.10 testing / official support (#1621)
864
- * watch plugin displays UUIDs as URL (#1624)
865
- * Catch errors on header decode in rfc2231 #1599
866
- * Attachment plugin updates (#1606)
867
- * add outbound.ini pool_timeout example setting #1584
868
-
869
- * Bug Fixes
870
- * Fixed some small documentation issues. #1573, #1616, #1612
871
- * Fixed AUTH PLAIN when it spreads over two lines. #1550
872
- * Fixed dkim_verify calling next() too soon. #1566
873
- * Fixed bugs with outbound pools who shutdown before we QUIT. #1561, #1572
874
- * outbound issues #1615, #1603
875
- * Fixed adding/removing headers in rspamd plugin. #1562
876
- * Fixed process_title not shutting down. #1560
877
- * fix a spurious error emitted by p0f (#1623)
878
- * fix header version hiding (#1617)
879
- * messagestream returns destination (#1610)
880
- * plugins.getdenyfn now passed 3rd params arg (#1591)
881
- * Fix scope of spf logdebug (#1598)
882
- * fix rabbitmq deliveryMode bug (#1594)
883
- * fix dkim_sign TypeError with null mail_from.host (#1592)
884
- * fix dkim_sign attempting to lower an undefined (#1587)
885
-
886
- ## 2.8.8 - Jul 20, 2016
887
-
888
- * Changes
889
- * removed UPGRADE.doc to [wiki](https://github.com/haraka/Haraka/wiki/Upgrade-Haraka)
890
-
891
- * Improvements
892
- * support + wildcard in aliases plugin #1531
893
- * Support dkim_sign with outbound.send_email() #1512
894
- * spf: always check remote IP, then public IP if != pass #1528
895
- * spf: diplay IP used for SPF eval #1528
896
-
897
- * Bug Fixes
898
- * handle missing wss section in http.ini #1542
899
- * fix leak on socket write error #1541
900
- * add results property to outbound transaction #1535
901
- * don't unref unref'd wss server #1521
902
-
903
- ## 2.8.7 - Jun 18, 2016
904
-
905
- * Changes
906
- * Fix geoip test
907
-
908
- * Improvements
909
- * Allow alias plugin to explode to a list of aliases
910
- * Support IPv6 literals in HELO tests (#1507 thanks @gramakri)
911
- * Make ldap plugin use the modified address if a rcpt hook
912
- changes it (#1501 thanks @darkpixel)
913
-
914
- * Bug Fixes
915
- * Fix loading plugins as npm modules (#1513)
916
- * More DKIM fixes (#1506 thanks @zllovesuki)
917
- * Fix the long failing host-pool-timer test (#1508)
918
- * Fix clean shutdown of redis with new shutdown code
919
- (#1504 and #1502 thanks @darkpixel)
920
- * More fixes to clean shutdown (#1503)
921
-
922
- ## 2.8.6 - Jun 06, 2016
923
-
924
- * Bug Fixes
925
- * Fix loading under Node v4 which sends a blank message
926
- * Fix quit (SIGINT) when running without nodes=
927
-
928
- ## 2.8.5 - Jun 04, 2016
929
-
930
- * Changes
931
- * The connection object is now passed to `get_plain_passwd`. Older
932
- modules should continue to work as-is.
933
- * The reseed_rng plugin now just uses the Crypto module from core.
934
- Though it seems this plugin should be irrelevant with newer versions
935
- of node.js
936
-
937
- * New Features
938
- * Outbound mail now uses pooled connections, only sending a `QUIT`
939
- message if the connection has been idle for a while.
940
-
941
- * Improvements
942
- * Shut down and reload (via `haraka -c <path> --graceful`) is now
943
- graceful - allowing current connections to finish and plugins
944
- to clean up before ending.
945
-
946
- * Bug Fixes
947
- * Bind maxmind version to ignore API change (#1492)
948
- * Fix encodings when banners are used (#1477)
949
- * Various DKIM fixes (#1495)
950
-
951
- ## 2.8.4 - May 24, 2016
952
-
953
- * Bug Fixes
954
- * Fix plugin loading override when installed (#1471)
955
-
956
- ## 2.8.3 - May 18, 2016
957
-
958
- * Bug Fixes
959
- * Fix config overriding for core modules (#1468)
960
-
961
- ## 2.8.2 - May 17, 2016
962
-
963
- * Changes
964
- * Added Node v6 to travis tests
965
-
966
- * New Features
967
- * Added bin/haraka --qunstick <domain> to flush all mails
968
- for that domain (#1460)
969
-
970
- * Improvements
971
- * Make bin/haraka --qlist show much more information (#1452)
972
- * Allow CIDR ranges in no_tls_hosts (#1450)
973
-
974
- * Bug Fixes
975
- * 2.8.0 was shipped with a broken config/plugins. (#1453)
976
- * Stop haraka dying when ldap connections fail (#1456)
977
- * Pick up domain specific config correctly in ldap (#1456)
978
-
979
- ## 2.8.0 - May 06, 2016
980
-
981
- * Changes
982
- * updated dependency versions (#1426, #1425)
983
- * use utf8 encoding for body filters (#1429)
984
- * remove spameatingmonkey from tests (#1421)
985
- * replace ./constants.js with haraka-constants (#1353)
986
- * Document HMail and TODO items (#1343)
987
- * Copy only a minimal config/\* by default (#1341).
988
- * cfreader/\* removed to haraka/haraka-config (#1350)
989
- * outbound and smtp_client honor tls.ini settings (#1350)
990
- * outbound TLS defaults to enabled
991
- * lint: remove all unused variables (#1358)
992
- * replace ./address.js with address-rfc2181 (#1359)
993
-
994
- * New Features
995
- * smtp_forward: accepts a list of backend hosts, thanks @kgeoss (#1333)
996
- * config: add array[] syntax to INI files (#1345)
997
- * plugins.js: support require('./config') in plugins
998
- * Load plugin config from own folder and merge (#1335)
999
- * Allow original email's Subject to be included in bounce message (#1337)
1000
- * new queue/smtp_bridge plugin, thanks @jesucarr (#1351)
1001
-
1002
- * Improvements
1003
- * early_talker: supports IP whitelisting (#1423)
1004
- * loading plugins as packages (#1278)
1005
- * removed TLD stuff to haraka/haraka-tld (#1301)
1006
- * removed unused 'require('redis') in plugins/karma (#1348)
1007
- * improved MIME header support per rfc2231 (#1344)
1008
- * tls options can be defined for outbound and smtp\_\* (#1357)
1009
- * explicitly disable SSLv2 (#1395)
1010
- * cache STUN results
1011
- * xclient plugin improvements (#1405)
1012
- * tls: Set verify=NO correctly when no certificate presented (#1400)
1013
- * improved message header decoding (#1403, #1406)
1014
- * bounce: skip single_recipient check for relays/private_ips (#1385)
1015
- * rspamd docs: Clarify usage of check.private_ip (#1383)
1016
- * if rcpt_to returns DSN in msg, log it properly (#1375)
1017
-
1018
- * Bug Fixes
1019
- * fix out-of-range errors from banner insertion (#1334)
1020
- * dkim_verify: Call next only after message_stream ended (#1330)
1021
- * outbound: remove type check from pid match (#1322)
1022
- * lint: enable no-shadown and remove all shadow variables (#1349)
1023
- * spf: fix log_debug syntax (#1416)
1024
- * auto_proxy: fix a starttls loop (#1392)
1025
- * fcrdns: corrected err variable name (#1391)
1026
- * rspamd: Fix undefined variable (#1396)
1027
- * dkim_verify: Fix header handling (#1371)
1028
- * smtp_client: fix remote_ip (#1362)
1029
-
1030
-
1031
- ## 2.7.3 - Feb 04, 2016
1032
-
1033
- * Changes
1034
- * smtp_proxy & qmail-queue: default to enabled for outbound deliveries
1035
- (previously used Outbound), to better matches user expectations.
1036
-
1037
- * New Features
1038
- * outbound: allow passing notes to send_email (#1295)
1039
-
1040
- * Improvements
1041
- * logging: emit log message queue before shutting down (#1296)
1042
- * result_store: permit redis pub/sub to work when host != localhost (#1277)
1043
- * tests: quiet the extremely verbose messages (#1282)
1044
- * rspamd: add timeout error handling (#1276)
1045
- * watch: fix display of early_talker results (#1281)
1046
- * spamassassin: publish results to result_store (#1280)
1047
- * karma: can now connect to redis on hosts other than localhost (#1275)
1048
- * geoip & p0f: don't log empty/null values from RFC 1918 connects (#1267)
1049
- * redis: make plugin params match docs (#1273)
1050
- * mailbody: small refactoring (#1315)
1051
- * smtp_proxy & qmail-queue: default to enabled for outbound (#1308)
1052
-
1053
- * Bug Fixes
1054
- * redis: use correct path for db.select (#1273)
1055
- * count errors correctly (#1274)
1056
- * logger: ignore null arguments (#1299)
1057
- * connection: pause for hook_reset_transaction (#1303)
1058
- * rcpt_to.routes: update redis usage for compat with redis plugin (#1302)
1059
- * smtp_forward: use correct config path to auth settings (#1327)
1060
- * messagestream: correctly pass options parameter to get_data (#1316)
1061
- * spf: honour configuration for mfrom scope (#1322)
1062
- * outbound: Add missing dash to 'Final-Recipient' header name (#1320)
1063
-
1064
-
1065
- ## 2.7.2 - Dec 15, 2015
1066
-
1067
- * Bug Fixes
1068
- * Revert a change that broke plugin loading
1069
-
1070
-
1071
- ## 2.7.1 - Dec 14, 2015
1072
-
1073
- * New Features
1074
- * added debian init.d file (#1255) @slattery
1075
-
1076
- * Improvements
1077
- * smtp_forward auth settings now work (#430)
1078
- * better handling of broken messages (#1234)
1079
- * Docker: use latest Phusion image && stdout (#1238, #1239)
1080
- * Clean up plugin loading a tiny bit (#1242)
1081
- * make dkim keydir case insensitive (1251)
1082
- * ignore DNS errors that aren't errors (#1247)
1083
- * outbound doc updates (#1258) @Currerius
1084
- * outbound: return DENYSOFT on queue error (#1264)
1085
- * smtp_client: if enable_tls is set and TLS files missing, warn (#1266)
1086
-
1087
- * Bug Fixes
1088
- * Don't sent empty headers to rspamd (#1230)
1089
- * Fix auth_base.js key need to be a string - number.toString() (#1228)
1090
- * fix bug with empty charset= on mime parts … (#1225)
1091
- * Fix "passwd" check crash with numeric password. (#1254)
1092
- * result_store: show arrays when not empty (#1261)
1093
-
1094
-
1095
- ## 2.7.0 - Oct 07, 2015
1096
-
1097
- * New Features
1098
- * SPF bounce check
1099
- * rspamd plugin (@fatalbanana)
1100
- * watch plugin
1101
- * limit plugin (connection concurrency, errors, unrecognized commands)
1102
- * plugins can now be npm packages (see also #946)
1103
- * built-in HTTP server (Express backed)
1104
- * ESETS AV plugin
1105
- * DCC plugin (incomplete)
1106
- * Add LOGIN support to XCLIENT
1107
- * backscatterer plugin
1108
- * full IPv4 & IPv6 compatibility inbound #1120, #1123, #1154 (@Dexus)
1109
- * Early talker #1075 (@smfreegard, @msimerson)
1110
- * permit loading of plugins in node_modules #1056 (@msimerson)
1111
-
1112
- * Improvements
1113
- * Fix anti_spoof by use config #1171
1114
- * Add license clause #1170
1115
- * package.json dependencies and travis update #1147, #1168 (@Dexus)
1116
- * logging: remove node-syslog and strong-fork-syslog with modern-syslog #1145 (@Dexus)
1117
- * aliases: support for email, user and host aliases #1149 (@Dexus)
1118
- * add docs for use private key with TLS #1130 (@Dexus)
1119
- * outbound: ENOENT on dotfile - compatibility for windows #1129 (@Dexus)
1120
- * plugin/attachment: block more attachment file types #1191 (@Dexus)
1121
- * remove double functions #1126 (@Dexus)
1122
- * Outbound Bounce messages according to RFC3464 #1189 (@hatsebutz)
1123
- * toobusy: only run checks if toobusy.js installed and loads
1124
- * HAProxy: set local_ip, local_port and remote_port
1125
- * save auth pass/fail/user to result_store
1126
- * ini files no longer require values (useful for storing lists)
1127
- * connection: add MAIL and RCPT to results
1128
- * results_store: enable 'emit' feature for .push()
1129
- * add support for custom Outbound Received header value (@zombified)
1130
- * save smtp_forward result to result_store
1131
- * auth_base: permit a return message (@DarkSorrow)
1132
- * add DSN.create() and RFC 4954 support
1133
- * enhanced pipelining support
1134
- * added config/access.domains with some tips (@EyePulp)
1135
- * Add SSL detection over plain-text socket
1136
- * earlytalker: store results
1137
- * bounce: make it safe to check non_local_msgid
1138
- * AVG: store results, added defer options
1139
- * tls: change createCredentials to tls.createSecureContext (@DarkSorrow)
1140
- * update dependency versions (esp async 0.2.9 -> 1.0.0)
1141
- * ASN docs: add FTP download note for routeviews
1142
- * karma: removed concurrency limits (see limit plugin) and penalty feature
1143
- * added utils.elapsed()
1144
- * deny message includes hostname
1145
- * Add Fisher-Yates shuffle to randomize lookup order in data.uribl
1146
- * change default message size limit to 25mb
1147
- * auth_base: save auth results
1148
- * upgrade toobusy plugin to toobusy-js (@alexkavon)
1149
- * configfile: permit / char in ini keys
1150
- * added utils.node_min()
1151
- * added result_store.get_all()
1152
- * updated ubuntu upstart script
1153
- * plugin/rate_limit: return in no custom default is set 0 = unlimited #1186, #1185
1154
- * Outbound.send_email: added dot-stuffing #1176, #1165 (@hatsebutz)
1155
- * make sure server object is availabe to plugins loaded from node_modules #1162 (@bmonty)
1156
- * Net_utils.get_ips_by_host #1160 (@msimerson)
1157
- * fcrdns: don't log error for ENODATA #1140 (@msimerson)
1158
- * improve MUA detection #1137 (@msimerson)
1159
- * tls: tmp disable for hosts that fail STARTTLS #1136 (@msimerson)
1160
- * karma: skip deny on outbound hooks #1100 (@msimerson)
1161
- * Store HAProxy IP in connection object #1097 (@smfreegard)
1162
- * Remove UUID from queued message #1092 (@smfreegard)
1163
-
1164
- * Bug Fixes
1165
- * fix windows build and test failures #1076 (@msimerson)
1166
- * Fix plugin ordering #1081 (@smfreegard)
1167
- * Fix distance reporting to X-Haraka-GeoIP for geoip-lite #1086 (@smfreegard)
1168
- * uribl: prevent calling next() more than 1x #1138 (@msimerson)
1169
- * Fix so constants are imported when plugin is loaded from node_modules. #1133 (@bmonty)
1170
- * Include STMP-code in bounce-reason string for upstream 5XX responses #1117 (@hatsebutz)
1171
- * TLS fixes: add timed_out flag and karma should not run deny hook on it. #1109 (@smfreegard)
1172
- * Fix port to number instead of string for HAProxy #1108 (@DarkSorrow)
1173
- * Plugin dcc: fixed syntax error #1164 (@hatsebutz)
1174
- * config: fix flat files if \r\n lines #1187 (@Dexus)
1175
- * corrected hook_rcpt log code hook_rcpt_ok returns CONT
1176
- * fix crash bug when loglevel = LOGDEBUG
1177
- * corrected pathname in rcpt.ldap plugin (@abhas)
1178
- * added helo.checks boolean for proto_mismatch
1179
- * make rate_limit redis keys always expire @celesteking
1180
- * dkim_sign: Buffer.concat expects an array of buffers
1181
- * transaction: check discard_data before adding line end (@DarkSorrow)
1182
- * fix 8-bit msg not displayed properly in gmail
1183
- * fcrdns: always init results
1184
- * TLS timer on error
1185
- * dkim_verify: fixed timeout issue
1186
- * smtp\_[proxy|forward]: correct authentication example
1187
- * Fork child workers after init_master hook
1188
- * connection: return 450/550 for plugin DENY\* (was 452/552)
1189
- * spamassassin: don't call next() when transaction gone
1190
- * outbound: fix crash when sending bounce mail
1191
- * auth_base: fix bad protocol in auth_base.js #1121 (@Dexus)
1192
- * outbound: Fix HELO/rDNS issue while using multiple outbound ip #1128 (@Dexus)
1193
- * connection: Fix bug when client disconnect after sending data #1193
1194
- * Fix connect.geoip bug #1144 (@smfreegard)
1195
- * Fix tiny bug in messagesniffer #1198 (@smfreegard)
1196
-
1197
- ## 2.6.1 - Mar 27, 2015
1198
-
1199
- * added sedation timers for config file re-reading
1200
- * Add AUTH support to outbound
1201
- * tests/spf: quiet excessive DEBUG noise
1202
- * allow domains with underscore
1203
- * correct name of domains config file in access
1204
- * Fix SMTP AUTH in smtp_forward/proxy and add docs
1205
- * Fix opts not being passed to HMailItem \_bounce function
1206
- * log.syslog will try strong-fork-syslog (for node 0.12 compat)
1207
- * improvements to Plugin docs
1208
- * rename net_utils.is_rfc1918 -> is_private_ip
1209
- * IPv6 compat
1210
- * test coverage
1211
- * add IPv6 unique local fc00::/7
1212
- * pre-populated config/plugins
1213
- * added utils.extend, copies props onto objects
1214
-
1215
- ## 2.6.0 - Feb 21, 2015
1216
-
1217
- * other bug fixes
1218
- * updated a few tests so test suite passes on Windows
1219
- * log.syslog: handle failure to load node-syslog
1220
- * plugin directory is $ENV definable (@martin1yness)
1221
- * logging timestamps were static, fixed by @cloudbuy
1222
- * queue/rabbitmq_amqplib, new plugin for RabbitMQ using amqplib (@esevece)
1223
- * outbound:
1224
- * plugins can set the outbound IP (during get_mx)
1225
- * only replace line endings if not \r\n
1226
- * bannering fixes
1227
- * added support for per recipient routes
1228
- * tls: don't register hooks upless certs exist
1229
- * removed contrib/geolite-mirror-simple.pl (replaced by
318
+ - require haraka-net-utils >= 1.2.2 #2876
319
+
320
+ ### 2.8.26 - 2020-11-18
321
+
322
+ #### Changes
323
+
324
+ - add config options for OAR & AR headers #2855
325
+ - plugins.js: also strip haraka-plugin prefix from plugin.name #2846
326
+ - smtp_forward/spamssassin: grab refs of conn/txn to avoid crashes due to lack of existence. #2847
327
+ - outbound: add extended reason to bounce message #2843
328
+ - hgrep: replaced perl script with shell script #2842
329
+ - connection: send temp error when requested #2841
330
+ - headers: updated deprecated messages #2845
331
+ - hmail: socket.on -> socket.once #2838
332
+ - hmail: check for zero length queue file #2835
333
+ - outbound: add os.hostname() as default for outbound HELO #2813
334
+ - use node v10's mkdir instead of mkdirp #2797
335
+ - CI: drop appveyor and Travis #2784
336
+ - lint: add 'prefer-template'
337
+ - update async to version 3.2.0 #2764
338
+ - update redis to version 3.0.0 #2759
339
+ - remove deprecated max_unrecognized_commands from config #2755
340
+ - CI: add ES2017 support, drop node 8 #2740
341
+ - fix broken bannering on nested mime parts #2736
342
+ - restore TLS version info, set correctly #2723
343
+ - better error message when invalid HELO hostname is rejected
344
+ - bring STARTTLS "TLS NO-GO" feature in line with Outbound's #2792
345
+ - add listener for secureConnect #2828
346
+ - removed plugins/data.headers to haraka-plugin-headers #2826
347
+ - add zero-length queue size check
348
+ - send temp instead of hard error when asked to by `unrecognized_command`
349
+
350
+ #### New features
351
+
352
+ - Allow web interface to be bound to unix socket #2768
353
+ - tls: add configurable minVersion to tls socket options #2738
354
+ - connection_close_message: added ability to override close connection message replacing `closing connection. Have a jolly good day.` #2730
355
+ - add JSON format for logging #2739
356
+ - support binding web interface to unix socket
357
+
358
+ #### Fixes
359
+
360
+ - check for punycode domain names when resolving MX, avoid crash #2861
361
+ - wait until entire message is spooled when spool_after in use #2840
362
+ - hmail: add missing space in temp_fail emitter #2837
363
+ - fix outbound config reloading after outbound split #2802
364
+ - smtp_forward: remove redundant outbound hook #2796
365
+ - smtp_forward: this plugin does not use the queue_outbound hook anymore #2795
366
+ - Fix connection pool not being unique when hosts and ports were equal between domains #2789
367
+ - fix connection pool not being unique when hosts and ports were equal between domains #2788
368
+ - Fix outbound.bounce_message To: header (and add Auto-Submitted) #2782
369
+ - Fix support for DKIM signing when forwarding and aliasing is enabled #2776
370
+ - Better error message when EHLO hostname does not have a dot #2775
371
+ - fix bannering on nested mime parts #2737
372
+ - TLS: don't abort loading certs in config/tls dir when an error is encountered. Process every cert file and then emit errors. #2729
373
+ - restore TLS version, correctly #2723
374
+
375
+ ### 2.8.25 - 2019-10-11
376
+
377
+ #### Changes
378
+
379
+ - conn: remove TLS version from header #2648
380
+ - Actually enforce using key for INTERNALCMD #2643
381
+ - trans: assign conditions to named vars #2638
382
+ - drop node.js v6 support #2632
383
+ - conn: use is_local instead of localhost addr tests #2627
384
+ - spamassassin: spamassassin: strip useless WS from tests #2624
385
+ - es6: many updates #2615, #2674, #2680
386
+ - systemctl: update service definition #2612
387
+ - lint: bracket style to match newer eslint:recommended #2680
388
+ - lint: use object shorthands (eslint:recommended) #2680
389
+ - logger: use safer Object.prototype.hasOwnProperty #2680
390
+ - outbound: permit # char in SMTP status code response #2689
391
+ - dkim_sign: improve docs, add tests, es6 updates #2649
392
+ - dkim_sign: restore default key signing feature #2649
393
+ - tmp module: update to latest #2614
394
+ - semver: update to latest #2616, #2651
395
+ - async: update to latest #2653, #2664
396
+ - repo cleanup: replaced deprecated plugins with list #2681
397
+ - spf: es6 patterns, results.pass, test improvements, es6 patterns #2700
398
+
399
+ #### New features
400
+
401
+ - spf: add config option to fail on NONE #2644
402
+
403
+ #### Fixes
404
+
405
+ - mailheader: fully quality header name in \_remove_more #2647
406
+ - haraka: Connection.createConnection is not a constructor #2618
407
+ - problems with japanese characters in body and part header #2675
408
+ - toobusy: fix hook name (connect_pre -> connect) #2672
409
+ - outbound: watch for socket timeouts #2687
410
+ - outbound: permit # char prefix in SMTP status code response #2691
411
+ - mailheader: strip whitespace between encoded-words #2702
412
+
413
+ ### 2.8.24 - Mar 12, 2019
414
+
415
+ #### Changes
416
+
417
+ - early_talker: skip if sender has good karma #2551
418
+ - dockerfile: update to node 10 #2552
419
+ - Update deprecated usages of Buffer #2553
420
+ - early_talker: extend reasons to skip checking #2564
421
+ - tls: add 'ca' option (for CA root file) #2571
422
+ - outbound: little cleanups #2572
423
+ - smtp_client: pass pool_timeout to new SMTPClient #2574
424
+ - server: default to nodes=1 (was undefined) #2573
425
+ - test/server: use IPv4 127.0.0.1 instead of localhost #2584
426
+ - queue/smtp_*: add v3 upgrade notice and config setting #2585
427
+ - spf: use the skip config for helo/ehlo checks #2587
428
+ - spf: avoid 2nd EHLO evaluation if EHLO host is identical #2592
429
+ - queue.js refactoring #2593
430
+ - Log dkim_sign parse errors with connection ID #2596
431
+ - Update ipaddr.js to the latest version #2599
432
+ - make inactivity timeout match docs #2607
433
+
434
+ #### New Features
435
+
436
+ - Implement SIGTERM graceful shutdown if pid is 1 #2547
437
+ - tls: require validated certs on some ports with requireAuthorized #2554
438
+ - spamassassin: disable checks when requested #2564
439
+ - clamd: permit skipping for relay clients #2564
440
+ - outbound: exported outbound.temp_fail_queue, outbound.delivery_queue and add TimerQueue.discard()
441
+ - status: new plugin #2577
442
+
443
+ #### Fixes
444
+
445
+ - mf.resolvable: reduce timeout by one second (so < plugin.timeout) #2544
446
+ - LMTP blocks under stress #2556
447
+ - invalid DKIM when empty body #2410
448
+ - prevent running callback multiple times on TLS unix socket #2509
449
+ - add missing callback when listing queue and empty directory
450
+ - correct MIME parsing when charset: utf8 and encoding: 8bit #2582
451
+ - spamassassin: default check flags to true #2583
452
+ - smtp_client: destroy when connection gets conn timeout error #2604
453
+ - on error and timeout, remove listeners and destroy conn. #2606
454
+
455
+ ### 2.8.23 - Nov 18, 2018
456
+
457
+ #### Changes
458
+
459
+ - tighten Haraka pattern in .gitignore #2542
460
+
461
+ ### 2.8.22 - Nov 17, 2018
462
+
463
+ #### New Features
464
+
465
+ - enable tls/ssl for rabbitmq amqplib plugin #2518
466
+
467
+ #### Fixes
468
+
469
+ - hmail: don't send RSET to LMTP #2530
470
+
471
+ #### Changes
472
+
473
+ - clamd: add check.authenticated, check.private_ip, check.local_ip option
474
+ - use get_decoded on headers that may be encoded #2537
475
+ - connection: move max_mime_part config load to connection init #2528
476
+ - outbound: init TLS when we send email, not when old queue file is loaded #2503
477
+ - relay: update port 465 doc #2522
478
+ - hmail: log the correct err message #2531
479
+ - ob/tls: consistently use obtls (vs plugin) for "this" name #2524
480
+ - outbound: add domain to loginfo message #2523
481
+ - Add connection.remote.is_local #2532
482
+ - update license #2525
483
+ - perf: move max_mime_parts config load to connection init #2529
484
+ - update semver to version 5.6.0 #2517
485
+ - added hint to encrypted file authentication #2514
486
+ - dkim_sign: improved log messages #2499
487
+ - ehlo_hello_message: config/ehlo_hello_message can be used to overwrite the EHLO/HELO msg replacing `, Haraka is at your service` #2498
488
+ - connection: add connection.remote.is_local flag for detecting loopback and link local IPs
489
+ - add .name to outbound TLS for logs #2492
490
+
491
+ ### 2.8.21 - Jul 20, 2018
492
+
493
+ #### New Features
494
+
495
+ - outbound: skip STARTTLS after remote host fails TLS upgrade #2429
496
+ - dns_list_base: introduce global plugin.lookback_is_rejected flag #2422
497
+
498
+ #### Fixes
499
+
500
+ - replace all \_ chars in hostnames with code points #2485
501
+ - Don't die on invalid commands #2481
502
+ - outbound: check list exists before attempting to use it #2478
503
+ - refactor outbound/hmail.process_ehlo_data #2488
504
+ - tls: skip when redis is undefined #2472
505
+ - Don't run delivered hook on LMTP fail #2470
506
+ - Add tls_socket.load_tls_ini() to tls.register() #2465
507
+
508
+ #### Changes
509
+
510
+ - outbound/tls: make into a class #2474
511
+ - plugins: clear timeout on cancel #2477
512
+ - txn.parse_body consistently a boolean #2476
513
+ - update ipaddr.js to version 1.8.0 #2468
514
+
515
+ ### 2.8.20 - Jun 29, 2018
516
+
517
+ #### Fixes
518
+
519
+ - data_headers: check defined-ness of hdr_address _after_ try/catch #2458
520
+ - tls: remove tls.ini loading from plugins/tls #2459
521
+ - tls: remove invalid opt from load_tls_ini #2456
522
+ - outbound: escape values in HTML bounce correctly #2446
523
+ - dkim_sign: catch exceptions when address-rfc2822 fails to parse From #2457
524
+
525
+ #### Changes
526
+
527
+ - logger: Add "obj" log param to log hook that contains log data by type #2425
528
+ - logger: include outbound client ID in logging #2425
529
+ - logger: allow specifying uuid in params when logging #2425
530
+
531
+ ### 2.8.19 - Jun 26, 2018
532
+
533
+ #### New features
534
+
535
+ - outbound: received_header=disabled supresses outbound Received header addition. #2409
536
+ - auth_base.js: `check_plain_passwd` and `check_cram_md5_passwd` can now pass `message` and `code` to callback routine
537
+ - spf: allow bypass for relay and AUTH clients #2417
538
+ - spf: optionally add OpenSPF help text to rejection #2417
539
+ - auth_base: prevent storing of AUTH password in connection.notes.auth_passwd by setting plugin.blackout_password. #2421
540
+
541
+ #### Fixes
542
+
543
+ - Mitigate MIME part explosion attack #2447
544
+ - Always prefix ClamAV with a Received header #2407
545
+ - plugins/data.headers.js: wrap address-rfc2822 header parse into try block #2373
546
+ - tls_socket: as client, only apply TLS opts if config is valid #2414
547
+ - when installing, creates config/me if missing #2413
548
+ - queue/qmail-queue: fix a 2nd crash bug when client disconnects unexpectedly #2360
549
+ - remove desconstruction of SMTP commands to prevent exception #2398
550
+ - attstream: return self so that pipe() calls can be chained together. #2424
551
+ - outbound: fix dotfile cleanup to consider platform-based prefix. #2395
552
+ - outbound: fix handling of LMTP socket when a socket path is specified. #2376
553
+
554
+ #### Changes
555
+
556
+ - relay: move relay acl check to connect_init so flag is set earlier #2442
557
+ - process_title: add total recipients, avg rcpts/msg, recipients/sec cur/avg/max and messages/conn #2389
558
+ - when relaying is set in a transaction, don't persist beyond the transaction #2393
559
+ - connection.set supports dot delimited path syntax #2390
560
+ - remove deprecated (since 2.8.16) ./dsn.js
561
+ - Add transaction.msg_status property that reflects message status. #2427
562
+ - Add transaction.notes.proxy object that hold HAProxy details. #2427
563
+ - spamassassin: make relay header configurable. #2418
564
+ - deprecate max_unrecognized_commands plugin in favor of limit. #2402
565
+ - xclient: add support for DESTADDR/DESTPORT. #2396
566
+
567
+ ### 2.8.18 - Mar 8, 2018
568
+
569
+ #### New features
570
+
571
+ - smtp_forward: domain configuration is now chosen based on domain_selector #2346
572
+
573
+ #### Fixes
574
+
575
+ - queue/qmail-queue: fix crash bug when client disconnects unexpectedly #2360
576
+ - tls: fix crash bug in `unrecognized_command` hook
577
+ - `dkim_key_gen.sh`: improve usability and parameter parsing #2355
578
+
579
+ #### Changes
580
+
581
+ - document `force_shutdown_timeout` and `graceful_shutdown` settings #2350
582
+
583
+ ### 2.8.17 - Feb 16, 2017
584
+
585
+ #### New Features
586
+
587
+ - SMTPS port is configurable #2269
588
+ - smtp_forward: enable_outbound can be set per domain #2335
589
+
590
+ #### Fixes
591
+
592
+ - Fix ability to set log level to emerg #2128
593
+ - outbound/hmail: use Buffer to correctly read binary file data + tests #2231
594
+ - quarantine: consolidate 2x hook_init_master functions
595
+ - tls_socket: restore SNI functionality, emit count of TLS certs #2293
596
+ - fix smtp_client error handling #2298
597
+ - fix outbound pools #2317
598
+ - add openssl-wrapper as dependency #2320
599
+ - replace \_ chars in hostnames with code points #2324
600
+ - add this.removeAllListeners('connection-error') #2323
601
+ - Fix crashing on RSET #2328
602
+ - Prevent data headers crit fail #2329
603
+ - Fix undefined max_lines in log message #2337
604
+
605
+ #### Changes
606
+
607
+ - line_socket: remove superfluous function #2339
608
+ - consistent end of function declaration semicolon #2336
609
+ - connection: assure hostname is set #2338
610
+ - smtp_client: Fix log message typo #2334
611
+ - Update ipaddr.js to version 1.6.0 #2333
612
+ - Warn on max_header_lines #2331
613
+ - update jquery version #2322
614
+ - plugins: add SRS plugin to registry #2318
615
+ - tls_socket: only generate dhparam.pem on master process #2313
616
+ - add ENOTFOUND to also check A record #2310
617
+ - smtp_forward: correct config file name in docs #2309
618
+ - reduce severity of iconv conversion failure #2307
619
+ - Add txn UUID to "250 Message Queued" #2305
620
+ - mailheader: reduce log level priority #2299
621
+ - greylist: only log redis DB errors when exist #2295
622
+ - data.headers: reduce undef MLM logerror to logdebug #2294
623
+ - quarantine: consolidate 2x hook_init_master() #2292
624
+ - move test_queue to queue/test #2291
625
+ - in haraka plugin test mode, add server.notes #2248
626
+ - outbound/hmail: refactor #2238
627
+ - outbound/hmail: add JSON sanity test before JSON.parse #2231
628
+ - outbound/index: use newer Buffer.from syntax #2231
629
+ - outbound/hmail: make haraka queue files human friendly #2231
630
+ - plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
631
+ - plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
632
+ - plugins/smtp_forward: enable_outbound can be enabled/disabled for specific domains
633
+ - auth_proxy: read TLS key and cert files from tls.ini #2212
634
+ - README: typo fixes #2210
635
+ - incorrect RCPT TO reply message #2227
636
+ - Resolve decoding bug when root part is base64 encoded. #2204
637
+ - Resolve base64 data truncation #2188
638
+ - Fix damaged encoding when body is non-utf #2187
639
+ - Fix disconnect hooks #2184
640
+ - ability to set log level to emerg #2128
641
+ - Improve docs for `Address` objects #2224
642
+ - connection: replace 3x ternaries with get_remote() #2169
643
+ - connection.local.host populated with hostname (from config/me) #2165
644
+ - connection.local.info populated with Haraka/version #2196
645
+ - npm packaged plugins:
646
+ - plugins/rcpt_to.ldap -> haraka-plugin-rcpt-ldap #2144
647
+ - plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
648
+ - plugins/graph -> haraka-plugin-graph #2185
649
+ - config: replace ./config.js with haraka-config #2119
650
+ - Replace concatenated strings with template literals (#2129) in:
651
+ - attachment #2260
652
+ - bin/spf #2129
653
+ - bin/dkimverify #2278
654
+ - connection #2129, #2243
655
+ - delay_deny #2264
656
+ - dkim #2216
657
+ - dsn #2265
658
+ - host_pool #2198, #2245
659
+ - logger #2277, #2246
660
+ - mailbody #2280
661
+ - max_unrecognised_commands #2171
662
+ - outbound/hmail #2259
663
+ - outbound/index #2249
664
+ - outbound/todo #2233
665
+ - plugins #2239
666
+ - plugins/aliases #2229
667
+ - plugins/attachment #2155
668
+ - plugins/auth_base #2252
669
+ - plugins/avg #2156
670
+ - plugins/backscatterer #2261
671
+ - plugins/bounce #2229
672
+ - plugins/clamd #2237
673
+ - plugins/connect.rdns_access #2262
674
+ - plugins/data.headers #2263
675
+ - plugins/data.uribl #2258
676
+ - plugins/helo.checks #2255
677
+ - plugins/rcpt_to.in_host_list #2253
678
+ - plugins/spamassassin #2256
679
+ - plugins/profile #2170
680
+ - plugins/rcpt_to.host_list_base #2254
681
+ - plugins/relay #2174
682
+ - plugins/relay_acl #2177
683
+ - plugins/spf #2266
684
+ - plugins/toobusy #2186
685
+ - plugins/xclient #2159
686
+ - rfc1869 #2159
687
+ - smtp_client #2129, #2208
688
+ - tests/host_pool #2159
689
+ - use es6 destructuring (#2075) in:
690
+ - connection #2230
691
+ - dkim #2232
692
+ - use es6 classes (#2133) in:
693
+ - attachment #2260
694
+ - attachment_stream #2215
695
+ - chunkemitter #2219
696
+ - dkim #2206
697
+ - dsn #2247
698
+ - host_pool #2194
699
+ - mailheader #2213
700
+ - mailbody #2213
701
+ - smtp_client #2221
702
+ - spf #2214
703
+ - tls_socket #2190
704
+ - timer_queue #2226
705
+ - outbound/hmail #2197
706
+ - outbound/todo #2233
707
+ - Automatically set connection.remote.is_private when connection.remote.ip is set #2192
708
+ - Add remove_msgid and remove_date options to outbound.send_email #2209
709
+ - Add origin option to outbound.send_mail #2314
710
+
711
+ ### 2.8.16 - Sep 30, 2017
712
+
713
+ #### Changes
714
+
715
+ - additional tests get var -> const/let medicine #2122
716
+ - move connection states into haraka-constants #2121
717
+ - lint: remove useless escapes #2117
718
+ - lint: switch no-var to error #2109
719
+ - rspamd: repackaged as NPM module #2106
720
+ - dsn: repackaged as NPM module haraka-dsn #2105
721
+ - outbound: add results when queueing #2103
722
+ - spamassassin: skip adding headers when value is empty #2102
723
+ - Replace console.log with stdout #2100
724
+ - update js-yaml to version 3.10.0 #2097
725
+ - repackage p0f plugin to NPM #2076
726
+ - ES6: replace var with const or let #2073
727
+
728
+ #### New Features
729
+
730
+ - Bounces can have an HTML part #2091
731
+
732
+ #### Fixes
733
+
734
+ - daemon cwd #2126
735
+ - updated fcrdns plugin name passed to results #2115
736
+ - tls: only apply default key/cert paths when undefined #2111
737
+ - dkim_verify: fix formatting of auth results #2107
738
+ - smtp_forward: consistently use queue.wants #2107
739
+ - haraka was adding TLS header on non-TLS connection #2103
740
+ - dkim typo fix #2101
741
+ - fix rfc2231 parsing code to cope with continuation #2089
742
+
743
+ ### 2.8.15 - Sep 10, 2017
744
+
745
+ #### Changes
746
+
747
+ - Permit log settings to be set w/o LOG prefix #2057
748
+ - additional results storing in smtp_forward and quarantine #2067
749
+ - publish p0f plugin to NPM #2076
750
+ - smtp_forward stores queue note at queue.wants #2083
751
+ - Remove unused folders from installation #2088
752
+ - smtp_forward stores queue note at queue.wants #2083
753
+ - add get/set to conn/txn.notes #2082
754
+ - additional results storing in smtp_forward and quarantine #2067
755
+ - Permit log settings to be set w/o LOG prefix #2057
756
+ - support INFO _and_ LOGINFO as config settings #2056
757
+ - log.ini, new default location for log related settings #2054
758
+ - dcc: replace with npm packaged version #2052
759
+ - qmd: replace rcpt_to.qmail_deliverable with npm #2051
760
+ - rspamd: pass SPF evaluation #2050
761
+ - add logfmt support #2047
762
+ - update ipaddr.js to version 1.5.0 #2037
763
+ - update redis to version 2.8.0 #2033
764
+ - disable graceful for SIGTERM #2028
765
+ - add additional integration tests #2026
766
+ - move most npm packaged plugins into optionalDependencies #2023
767
+
768
+ #### New Features
769
+
770
+ - TLS certificate directory (config/tls) #2032
771
+ - plugins can specify a queue plugin & next_hop route #2067
772
+ - connection/transaction notes now have get/set #2082
773
+
774
+ #### Fixes
775
+
776
+ - haraka cli will now create folders if they don't exist #2088
777
+ - maybe fix for #1852 503 response #2064
778
+ - crash when 'AUTH LOGIN' is sent after a successful auth #2039
779
+ - docs: fixed swaks test command #2034
780
+ - dkim: prevent dkim_verify from causing 'cannot pipe' #1693
781
+
782
+ ### 2.8.14 - Jul 26, 2017
783
+
784
+ #### Changes
785
+
786
+ - Fix auth plugin failure when re-selecting auth method #2000
787
+ - don't crash Haraka when invalid YAML config encountered #2013
788
+ - update semver to version 5.4.0 #2015
789
+ - relay docs: correct the config file name #2012
790
+ - rename config/xclient.hosts to match plugin & docs #2014
791
+ - build_todo() is part of the outbound/index.js api #2016
792
+ - update js-yaml to version 3.9.0 #2002
793
+ - outbound/hmail: use WRITE_EXCL from haraka-constants #2011
794
+ - replace plugins/log.elasticsearch with npm packaged #2004
795
+ - Remove two spurious log statements #1989
796
+ - access: rebuild blacklist upon change (vs supplement) #1990
797
+ - deliver to qmail-queue with LF line endings (not CRLF) #1997
798
+ - doc: add note that smtp_forward only supports STARTTLS #1988
799
+ - import Plugins.md from v3 #1991
800
+ - update async to 2.5.0 #1982
801
+ - update iconv to 2.3.0 #1981
802
+ - require node.js v6+ #1958
803
+ - update ipaddr.js to 1.4.0 #1972
804
+ - support newer address-rfc2822 #1970
805
+ - update node-address-rfc2821 version to 1.1.1 #1968
806
+ - outbound: be consistent with todo.domain #1960
807
+ - bump haraka-results required version #1949
808
+ - logger: load in a setImmediate call #1948
809
+ - logger: strip intermediate \n chars #1947
810
+ - tls consistency cleanups #1851
811
+ - Get pool config handling simplifcation #1868
812
+ - add integration test: send message w/smtp_client
813
+ - replace some legacy code with es6 #1862
814
+ - update async to version 2.2.0 #1863
815
+ - update ipaddr.js to version 1.3.0 #1857
816
+ - update redis to version 2.7.0 #1854
817
+ - assure conn/tran still exists before storing results #1849
818
+ - moved tls.ini parsing to net_utils #1848
819
+ - smtp forward dest split routing #1847
820
+ - rspamd: refactor complex condition into function #1840
821
+ - block js attachments #1837
822
+ - helo.checks: bring plugin into alignment with docs #1833
823
+ - when proxy enabled, update remote.is_private too #1811
824
+ - create an outbound queue filename handler #1792
825
+ - replace fcrdns with npm package #1810
826
+ - add an additional node_modules plugin search path #1805
827
+ - Set graceful shutdown off by default #1927
828
+ - Allow outbound pools to be disabled #1917
829
+ - Outbound split and move into folder #1850
830
+ - don't emit binary characters into the logs #1902
831
+ - Add .editorconfig #1884
832
+ - tls: remove interim variables #1871
833
+
834
+ #### New Features
835
+
836
+ - Use punycode domain (support SMTPUTF8) #1944
837
+ - Added RabbitMQ vhost support #1866
838
+ - clamav: allow "Unknown Result" and Socket Error to try next host #1931
839
+ - outbound client certificates #1908
840
+ - Implement the missing upgrade method on SMTPClient #1901
841
+ - Remove typo from relay.md #1886
842
+
843
+ #### Fixes
844
+
845
+ - outbound: fix queue not loaded for single process #1941
846
+ - outbound: Fix undefined variable platformDOT in hmail.js #1943
847
+ - outbound: fix undefined FsyncWriteStream var #1953
848
+ - Fix cluster messaging for node v6+ #1938
849
+ - outbound: fix loading under cluster. #1934
850
+ - Check pool exists before delete #1937
851
+ - be more strict in attachment filename matching #1957
852
+ - doc typo fix #1963
853
+ - RabbitMQ: fix encoding of user and password string #1964
854
+ - spf: improve modifier regexp #1859
855
+ - rabbitmq doc typo in config file name #1865
856
+ - URL to manual was 404, point to Plugins.md #1844
857
+ - smtp_client: set idleTimeout to 1s < pool_timeout #1842
858
+ - fix broken continuations #1843
859
+ - doc error for the 'check.authenticated' setting in rspamd plugin #1834
860
+ - emit _the_ result, not all of them #1829
861
+ - fix outbound logger #1827
862
+ - fix forwarding with client auth over TLS (forward to gmail) #1803
863
+ - Don't blow the stack on qstat #1930
864
+ - run dumped logs through log plugins, not console #1929
865
+ - Fix path parsing bug on Windows platform #1919
866
+ - helo: make sure list_re is defined before access #1903
867
+ - TLS: handle case where OCSP server is unavailable #1880
868
+ - rspamd: add missing 'default' keyword #1856
869
+ - disable naïve comment stripping #1876
870
+
871
+ ### 2.8.13 - Feb 03, 2017
872
+
873
+ #### Changes
874
+
875
+ - new [haraka-plugin-limit](https://github.com/haraka/haraka-plugin-limit) #1785
876
+ - replaces plugin/limit, plugin/rate_limit, and haraka-plugin-outbound-rate-limit
877
+ - p0f: skip on private IPs (normally empty) #1758
878
+ - spf: skip for outbound when context != myself #1763
879
+ - redis: plugins using redis can inherit redis config #1777
880
+ - redis: replace plugins/redis with haraka-plugin-redis #1786
881
+ - lint: require space before function declaration #1784
882
+ - lint: added eslint:recommended #1790
883
+ - logger: remove logger.colorize code for legacy node versions
884
+
885
+ #### New Features
886
+
887
+ - redis: add `redis_subscribe_pattern()` #1766
888
+ - queue/discard: add ENV that permits discarding #1791
889
+
890
+ #### Improvements
891
+
892
+ - rspamd: improve response parsing #1770
893
+ - restore Windows testing to working state #1755
894
+ - elasticsearch: use UTC dates for index creation #1771
895
+ - tls: fix dhparam usage example syntax #1774
896
+ - typo: logerr -> logerror #1776
897
+ - when generating long DKIM keys, include a BIND compatible folded key #1775
898
+ - in haraka-test-fixtures, access results via fixtures.results #1783
899
+ - integration test: end to end server testing #1791
900
+
901
+ #### Fixes
902
+
903
+ - spf: restore functionality for relay context=myself #1759
904
+ - rate_limit:if incr creates a new record, assure it has a TTL #1781
905
+ - tls: do not create a top level secureContext #1787
906
+ - dnswl: swap lines to fix missing inherited methods #1793
907
+ - dnswl: fix config loader callback syntax #1794
908
+ - tests/plugins: unset process.env.HARAKA to avoid side effects that interfere with other tests
909
+ - remove auth_flat_file sample auth user #1796
910
+
911
+ ### 2.8.12 - Jan 03, 2017
912
+
913
+ #### Changes
914
+
915
+ - plugin/karma -> npm packaged haraka-plugin-karma #1747
916
+ - update generic-pool 2.4.2 -> 2.5.0
917
+
918
+ #### New Features
919
+
920
+ - Added option to bypass SpamAssassin headers' merge #1745
921
+
922
+ #### Improvements
923
+
924
+ - reduce severity of debug message #1744
925
+ - fix misleading entries in config/tls.ini #1734
926
+ - Misc. performance improvements #1738
927
+ - set tls.sessionIdContext property (for Thunderbird compat) #1740
928
+
929
+ #### Fixes
930
+
931
+ - Swap lines to avoid clobbering response array #1743
932
+
933
+ ### 2.8.11 - Nov 24, 2016
934
+
935
+ #### Changes
936
+
937
+ - rename core_require to haraka_require #1708
938
+ - move log.syslog to haraka-plugin-syslog #1698
939
+ - remove tls.ini loading and is_no_tls_host to net_utils #1690
940
+ - replace ./utils with npm packaged haraka-utils #1720
941
+ - require node 4
942
+ - karma: add .top TLD scoring #1714
943
+
944
+ #### New Features
945
+
946
+ - Implement OCSP Stapling #1724
947
+
948
+ #### Improvements
949
+
950
+ - show help for npm packaged plugins included in core #1698
951
+ - use tls.connect for client #1682
952
+ - bring port 465 SMTPS TLS config support on par with STARTTLS #1667
953
+ - use tls.connect instead of createSecurePair #1678
954
+ - redis: improve error handling in tests #
955
+ - replace / path seperators with path.* for cross platform compat #1713
956
+
957
+ #### Fixes
958
+
959
+ - dkim_sign: per-domain key finding fixed #1707
960
+ - Rspamd: restore spam report header #1702
961
+ - auth/vpopmail: do not toString() when null #1695
962
+ - fix outbound to avoid recursive reading key/cert after refactoring #1692
963
+ - tls: fix option servername (not hostname) #1728
964
+ - correct Auth-Results cleaning #1726
965
+ - fix results for connection.remote_host and NXDOMAIN #1716
966
+
967
+ ### 2.8.10 - Oct 20, 2016
968
+
969
+ #### Changes
970
+
971
+ - use standard npm syntax for lint and tests #1646
972
+ - remove ./net_utils to haraka-net-utils #1644
973
+ - remove incorrect and unused spf.hello_host #1635
974
+ - remove rogue DENYSOFT copy-pasta error #1634
975
+ - update async to v2 #1545
976
+ - remove plugin/dir support from base haraka #1668
977
+ - use node_modules_dir support instead
978
+ - use TLSSocket instead of createSecurePair #1672
979
+ - refactor plugins/tls #1670
980
+ - moved watch plugin to npm as haraka-plugin-watch #1657
981
+ - normalize proxy properties #1650
982
+
983
+ #### New Features
984
+
985
+ - added connection.remote.is_private boolean #1648
986
+ - added additional TLS options (@typingArtist) #1651
987
+ - added wildcard boolean support to config loader #1680
988
+ - tls: allow multiple key and cert parameters for RSA+ECDSA #1663
989
+ - permit specifying haraka plugins w/o haraka-plugin- prefix #1645
990
+ - in config/plugins and resultstore
991
+
992
+ #### Improvements
993
+
994
+ - connection.geoip replaced by haraka-plugin-geoip #1645
995
+ - connection.asn replaced by haraka-plugin-asn #1645
996
+ - permit specifying npm packaged plugins w/o haraka-plugin prefix #1647
997
+ - normalized connection properties #1547, #1577
998
+ - Rspamd: fix spambar for negative scores #1630
999
+ - set connection.remote.is_private early
1000
+ - replace calls to net_utils with remote.is_private test
1001
+
1002
+ #### Fixes
1003
+
1004
+ - Tidy-up graceful shutdown and fix for non-cluster mode #1639
1005
+ - Fix data.headers plugin crash #1641
1006
+ - Fix access plugin crash #1640
1007
+ - Minor DKIM fix #1642
1008
+ - do not set TLS timer if timeout=0 #1632
1009
+ - do not overwrite config/host_list on install #1637
1010
+ - correct smtp_forward cfg for multiple rcpts #1680
1011
+ - fix TLS timeout errors #1665
1012
+
1013
+ ### 2.8.9 - Oct 02, 2016
1014
+
1015
+ #### New Features
1016
+
1017
+ - Support outbound.pool_timeout of 0 to effectively disable pooling. #1561
1018
+ - Added never_add_headers option to rspamd plugin. #1562
1019
+ - rcpt_to.routes URI format w/ LMTP support #1568
1020
+
1021
+ #### Improvements
1022
+
1023
+ - The delay_deny plugin now has a whitelist mode (vs blacklist). #1564
1024
+ - Don't show the private key in logs for dkim_sign. #1565
1025
+ - update geoip for compat with newer ES (#1622)
1026
+ - drop node 0.10 testing / official support (#1621)
1027
+ - watch plugin displays UUIDs as URL (#1624)
1028
+ - Catch errors on header decode in rfc2231 #1599
1029
+ - Attachment plugin updates (#1606)
1030
+ - add outbound.ini pool_timeout example setting #1584
1031
+
1032
+ #### Fixes
1033
+
1034
+ - Fixed some small documentation issues. #1573, #1616, #1612
1035
+ - Fixed AUTH PLAIN when it spreads over two lines. #1550
1036
+ - Fixed dkim_verify calling next() too soon. #1566
1037
+ - Fixed bugs with outbound pools who shutdown before we QUIT. #1561, #1572
1038
+ - outbound issues #1615, #1603
1039
+ - Fixed adding/removing headers in rspamd plugin. #1562
1040
+ - Fixed process_title not shutting down. #1560
1041
+ - fix a spurious error emitted by p0f (#1623)
1042
+ - fix header version hiding (#1617)
1043
+ - messagestream returns destination (#1610)
1044
+ - plugins.getdenyfn now passed 3rd params arg (#1591)
1045
+ - Fix scope of spf logdebug (#1598)
1046
+ - fix rabbitmq deliveryMode bug (#1594)
1047
+ - fix dkim_sign TypeError with null mail_from.host (#1592)
1048
+ - fix dkim_sign attempting to lower an undefined (#1587)
1049
+
1050
+ ### 2.8.8 - Jul 20, 2016
1051
+
1052
+ #### Changes
1053
+
1054
+ - removed UPGRADE.doc to [wiki](https://github.com/haraka/Haraka/wiki/Upgrade-Haraka)
1055
+
1056
+ #### Improvements
1057
+
1058
+ - support + wildcard in aliases plugin #1531
1059
+ - Support dkim_sign with outbound.send_email() #1512
1060
+ - spf: always check remote IP, then public IP if != pass #1528
1061
+ - spf: diplay IP used for SPF eval #1528
1062
+
1063
+ #### Fixes
1064
+
1065
+ - handle missing wss section in http.ini #1542
1066
+ - fix leak on socket write error #1541
1067
+ - add results property to outbound transaction #1535
1068
+ - don't unref unref'd wss server #1521
1069
+
1070
+ ### 2.8.7 - Jun 18, 2016
1071
+
1072
+ #### Changes
1073
+
1074
+ - Fix geoip test
1075
+
1076
+ #### Improvements
1077
+
1078
+ - Allow alias plugin to explode to a list of aliases
1079
+ - Support IPv6 literals in HELO tests (#1507 thanks @gramakri)
1080
+ - Make ldap plugin use the modified address if a rcpt hook
1081
+ changes it (#1501 thanks @darkpixel)
1082
+
1083
+ #### Fixes
1084
+
1085
+ - Fix loading plugins as npm modules (#1513)
1086
+ - More DKIM fixes (#1506 thanks @zllovesuki)
1087
+ - Fix the long failing host-pool-timer test (#1508)
1088
+ - Fix clean shutdown of redis with new shutdown code
1089
+ (#1504 and #1502 thanks @darkpixel)
1090
+ - More fixes to clean shutdown (#1503)
1091
+
1092
+ ### 2.8.6 - Jun 06, 2016
1093
+
1094
+ #### Fixes
1095
+
1096
+ - Fix loading under Node v4 which sends a blank message
1097
+ - Fix quit (SIGINT) when running without nodes=
1098
+
1099
+ ### 2.8.5 - Jun 04, 2016
1100
+
1101
+ #### Changes
1102
+
1103
+ - The connection object is now passed to `get_plain_passwd`. Older modules should continue to work as-is.
1104
+ - The reseed_rng plugin now just uses the Crypto module from core. Though it seems this plugin should be irrelevant with newer versions of node.js
1105
+
1106
+ #### New Features
1107
+
1108
+ - Outbound mail now uses pooled connections, only sending a `QUIT` message if the connection has been idle for a while.
1109
+
1110
+ #### Improvements
1111
+
1112
+ - Shut down and reload (via `haraka -c <path> --graceful`) is now graceful - allowing current connections to finish and plugins to clean up before ending.
1113
+
1114
+ #### Fixes
1115
+
1116
+ - Bind maxmind version to ignore API change (#1492)
1117
+ - Fix encodings when banners are used (#1477)
1118
+ - Various DKIM fixes (#1495)
1119
+
1120
+ ### 2.8.4 - May 24, 2016
1121
+
1122
+ #### Fixes
1123
+
1124
+ - Fix plugin loading override when installed (#1471)
1125
+
1126
+ ### 2.8.3 - May 18, 2016
1127
+
1128
+ #### Fixes
1129
+
1130
+ - Fix config overriding for core modules (#1468)
1131
+
1132
+ ### 2.8.2 - May 17, 2016
1133
+
1134
+ #### Changes
1135
+
1136
+ - Added Node v6 to travis tests
1137
+
1138
+ #### New Features
1139
+
1140
+ - Added bin/haraka --qunstick <domain> to flush all mails
1141
+ for that domain (#1460)
1142
+
1143
+ #### Improvements
1144
+
1145
+ - Make bin/haraka --qlist show much more information (#1452)
1146
+ - Allow CIDR ranges in no_tls_hosts (#1450)
1147
+
1148
+ #### Fixes
1149
+
1150
+ - 2.8.0 was shipped with a broken config/plugins. (#1453)
1151
+ - Stop haraka dying when ldap connections fail (#1456)
1152
+ - Pick up domain specific config correctly in ldap (#1456)
1153
+
1154
+ ### 2.8.0 - May 06, 2016
1155
+
1156
+ #### Changes
1157
+
1158
+ - updated dependency versions (#1426, #1425)
1159
+ - use utf8 encoding for body filters (#1429)
1160
+ - remove spameatingmonkey from tests (#1421)
1161
+ - replace ./constants.js with haraka-constants (#1353)
1162
+ - Document HMail and TODO items (#1343)
1163
+ - Copy only a minimal config/* by default (#1341).
1164
+ - cfreader/* removed to haraka/haraka-config (#1350)
1165
+ - outbound and smtp_client honor tls.ini settings (#1350)
1166
+ - outbound TLS defaults to enabled
1167
+ - lint: remove all unused variables (#1358)
1168
+ - replace ./address.js with address-rfc2181 (#1359)
1169
+
1170
+ #### New Features
1171
+
1172
+ - smtp_forward: accepts a list of backend hosts, thanks @kgeoss (#1333)
1173
+ - config: add array[] syntax to INI files (#1345)
1174
+ - plugins.js: support require('./config') in plugins
1175
+ - Load plugin config from own folder and merge (#1335)
1176
+ - Allow original email's Subject to be included in bounce message (#1337)
1177
+ - new queue/smtp_bridge plugin, thanks @jesucarr (#1351)
1178
+
1179
+ #### Improvements
1180
+
1181
+ - early_talker: supports IP whitelisting (#1423)
1182
+ - loading plugins as packages (#1278)
1183
+ - removed TLD stuff to haraka/haraka-tld (#1301)
1184
+ - removed unused 'require('redis') in plugins/karma (#1348)
1185
+ - improved MIME header support per rfc2231 (#1344)
1186
+ - tls options can be defined for outbound and smtp_* (#1357)
1187
+ - explicitly disable SSLv2 (#1395)
1188
+ - cache STUN results
1189
+ - xclient plugin improvements (#1405)
1190
+ - tls: Set verify=NO correctly when no certificate presented (#1400)
1191
+ - improved message header decoding (#1403, #1406)
1192
+ - bounce: skip single_recipient check for relays/private_ips (#1385)
1193
+ - rspamd docs: Clarify usage of check.private_ip (#1383)
1194
+ - if rcpt_to returns DSN in msg, log it properly (#1375)
1195
+
1196
+ #### Fixes
1197
+
1198
+ - fix out-of-range errors from banner insertion (#1334)
1199
+ - dkim_verify: Call next only after message_stream ended (#1330)
1200
+ - outbound: remove type check from pid match (#1322)
1201
+ - lint: enable no-shadown and remove all shadow variables (#1349)
1202
+ - spf: fix log_debug syntax (#1416)
1203
+ - auto_proxy: fix a starttls loop (#1392)
1204
+ - fcrdns: corrected err variable name (#1391)
1205
+ - rspamd: Fix undefined variable (#1396)
1206
+ - dkim_verify: Fix header handling (#1371)
1207
+ - smtp_client: fix remote_ip (#1362)
1208
+
1209
+ ### 2.7.3 - Feb 04, 2016
1210
+
1211
+ #### Changes
1212
+
1213
+ - smtp_proxy & qmail-queue: default to enabled for outbound deliveries (previously used Outbound), to better matches user expectations.
1214
+
1215
+ #### New Features
1216
+
1217
+ - outbound: allow passing notes to send_email (#1295)
1218
+
1219
+ #### Improvements
1220
+
1221
+ - logging: emit log message queue before shutting down (#1296)
1222
+ - result_store: permit redis pub/sub to work when host != localhost (#1277)
1223
+ - tests: quiet the extremely verbose messages (#1282)
1224
+ - rspamd: add timeout error handling (#1276)
1225
+ - watch: fix display of early_talker results (#1281)
1226
+ - spamassassin: publish results to result_store (#1280)
1227
+ - karma: can now connect to redis on hosts other than localhost (#1275)
1228
+ - geoip & p0f: don't log empty/null values from RFC 1918 connects (#1267)
1229
+ - redis: make plugin params match docs (#1273)
1230
+ - mailbody: small refactoring (#1315)
1231
+ - smtp_proxy & qmail-queue: default to enabled for outbound (#1308)
1232
+
1233
+ #### Fixes
1234
+
1235
+ - redis: use correct path for db.select (#1273)
1236
+ - count errors correctly (#1274)
1237
+ - logger: ignore null arguments (#1299)
1238
+ - connection: pause for hook_reset_transaction (#1303)
1239
+ - rcpt_to.routes: update redis usage for compat with redis plugin (#1302)
1240
+ - smtp_forward: use correct config path to auth settings (#1327)
1241
+ - messagestream: correctly pass options parameter to get_data (#1316)
1242
+ - spf: honour configuration for mfrom scope (#1322)
1243
+ - outbound: Add missing dash to 'Final-Recipient' header name (#1320)
1244
+
1245
+ ### 2.7.2 - Dec 15, 2015
1246
+
1247
+ #### Fixes
1248
+
1249
+ - Revert a change that broke plugin loading
1250
+
1251
+ ### 2.7.1 - Dec 14, 2015
1252
+
1253
+ #### New Features
1254
+
1255
+ - added debian init.d file (#1255) @slattery
1256
+
1257
+ #### Improvements
1258
+
1259
+ - smtp_forward auth settings now work (#430)
1260
+ - better handling of broken messages (#1234)
1261
+ - Docker: use latest Phusion image && stdout (#1238, #1239)
1262
+ - Clean up plugin loading a tiny bit (#1242)
1263
+ - make dkim keydir case insensitive (1251)
1264
+ - ignore DNS errors that aren't errors (#1247)
1265
+ - outbound doc updates (#1258) @Currerius
1266
+ - outbound: return DENYSOFT on queue error (#1264)
1267
+ - smtp_client: if enable_tls is set and TLS files missing, warn (#1266)
1268
+
1269
+ #### Fixes
1270
+
1271
+ - Don't sent empty headers to rspamd (#1230)
1272
+ - Fix auth_base.js key need to be a string - number.toString() (#1228)
1273
+ - fix bug with empty charset= on mime parts … (#1225)
1274
+ - Fix "passwd" check crash with numeric password. (#1254)
1275
+ - result_store: show arrays when not empty (#1261)
1276
+
1277
+ ### 2.7.0 - Oct 07, 2015
1278
+
1279
+ #### New Features
1280
+
1281
+ - SPF bounce check
1282
+ - rspamd plugin (@fatalbanana)
1283
+ - watch plugin
1284
+ - limit plugin (connection concurrency, errors, unrecognized commands)
1285
+ - plugins can now be npm packages (see also #946)
1286
+ - built-in HTTP server (Express backed)
1287
+ - ESETS AV plugin
1288
+ - DCC plugin (incomplete)
1289
+ - Add LOGIN support to XCLIENT
1290
+ - backscatterer plugin
1291
+ - full IPv4 & IPv6 compatibility inbound #1120, #1123, #1154 (@Dexus)
1292
+ - Early talker #1075 (@smfreegard, @msimerson)
1293
+ - permit loading of plugins in node_modules #1056 (@msimerson)
1294
+
1295
+ #### Improvements
1296
+
1297
+ - Fix anti_spoof by use config #1171
1298
+ - Add license clause #1170
1299
+ - package.json dependencies and travis update #1147, #1168 (@Dexus)
1300
+ - logging: remove node-syslog and strong-fork-syslog with modern-syslog #1145 (@Dexus)
1301
+ - aliases: support for email, user and host aliases #1149 (@Dexus)
1302
+ - add docs for use private key with TLS #1130 (@Dexus)
1303
+ - outbound: ENOENT on dotfile - compatibility for windows #1129 (@Dexus)
1304
+ - plugin/attachment: block more attachment file types #1191 (@Dexus)
1305
+ - remove double functions #1126 (@Dexus)
1306
+ - Outbound Bounce messages according to RFC3464 #1189 (@hatsebutz)
1307
+ - toobusy: only run checks if toobusy.js installed and loads
1308
+ - HAProxy: set local_ip, local_port and remote_port
1309
+ - save auth pass/fail/user to result_store
1310
+ - ini files no longer require values (useful for storing lists)
1311
+ - connection: add MAIL and RCPT to results
1312
+ - results_store: enable 'emit' feature for .push()
1313
+ - add support for custom Outbound Received header value (@zombified)
1314
+ - save smtp_forward result to result_store
1315
+ - auth_base: permit a return message (@DarkSorrow)
1316
+ - add DSN.create() and RFC 4954 support
1317
+ - enhanced pipelining support
1318
+ - added config/access.domains with some tips (@EyePulp)
1319
+ - Add SSL detection over plain-text socket
1320
+ - earlytalker: store results
1321
+ - bounce: make it safe to check non_local_msgid
1322
+ - AVG: store results, added defer options
1323
+ - tls: change createCredentials to tls.createSecureContext (@DarkSorrow)
1324
+ - update dependency versions (esp async 0.2.9 -> 1.0.0)
1325
+ - ASN docs: add FTP download note for routeviews
1326
+ - karma: removed concurrency limits (see limit plugin) and penalty feature
1327
+ - added utils.elapsed()
1328
+ - deny message includes hostname
1329
+ - Add Fisher-Yates shuffle to randomize lookup order in data.uribl
1330
+ - change default message size limit to 25mb
1331
+ - auth_base: save auth results
1332
+ - upgrade toobusy plugin to toobusy-js (@alexkavon)
1333
+ - configfile: permit / char in ini keys
1334
+ - added utils.node_min()
1335
+ - added result_store.get_all()
1336
+ - updated ubuntu upstart script
1337
+ - plugin/rate_limit: return in no custom default is set 0 = unlimited #1186, #1185
1338
+ - Outbound.send_email: added dot-stuffing #1176, #1165 (@hatsebutz)
1339
+ - make sure server object is availabe to plugins loaded from node_modules #1162 (@bmonty)
1340
+ - Net_utils.get_ips_by_host #1160 (@msimerson)
1341
+ - fcrdns: don't log error for ENODATA #1140 (@msimerson)
1342
+ - improve MUA detection #1137 (@msimerson)
1343
+ - tls: tmp disable for hosts that fail STARTTLS #1136 (@msimerson)
1344
+ - karma: skip deny on outbound hooks #1100 (@msimerson)
1345
+ - Store HAProxy IP in connection object #1097 (@smfreegard)
1346
+ - Remove UUID from queued message #1092 (@smfreegard)
1347
+
1348
+ #### Fixes
1349
+
1350
+ - fix windows build and test failures #1076 (@msimerson)
1351
+ - Fix plugin ordering #1081 (@smfreegard)
1352
+ - Fix distance reporting to X-Haraka-GeoIP for geoip-lite #1086 (@smfreegard)
1353
+ - uribl: prevent calling next() more than 1x #1138 (@msimerson)
1354
+ - Fix so constants are imported when plugin is loaded from node_modules. #1133 (@bmonty)
1355
+ - Include STMP-code in bounce-reason string for upstream 5XX responses #1117 (@hatsebutz)
1356
+ - TLS fixes: add timed_out flag and karma should not run deny hook on it. #1109 (@smfreegard)
1357
+ - Fix port to number instead of string for HAProxy #1108 (@DarkSorrow)
1358
+ - Plugin dcc: fixed syntax error #1164 (@hatsebutz)
1359
+ - config: fix flat files if \r\n lines #1187 (@Dexus)
1360
+ - corrected hook_rcpt log code hook_rcpt_ok returns CONT
1361
+ - fix crash bug when loglevel = LOGDEBUG
1362
+ - corrected pathname in rcpt.ldap plugin (@abhas)
1363
+ - added helo.checks boolean for proto_mismatch
1364
+ - make rate_limit redis keys always expire @celesteking
1365
+ - dkim_sign: Buffer.concat expects an array of buffers
1366
+ - transaction: check discard_data before adding line end (@DarkSorrow)
1367
+ - fix 8-bit msg not displayed properly in gmail
1368
+ - fcrdns: always init results
1369
+ - TLS timer on error
1370
+ - dkim_verify: fixed timeout issue
1371
+ - smtp\_[proxy|forward]: correct authentication example
1372
+ - Fork child workers after init_master hook
1373
+ - connection: return 450/550 for plugin DENY* (was 452/552)
1374
+ - spamassassin: don't call next() when transaction gone
1375
+ - outbound: fix crash when sending bounce mail
1376
+ - auth_base: fix bad protocol in auth_base.js #1121 (@Dexus)
1377
+ - outbound: Fix HELO/rDNS issue while using multiple outbound ip #1128 (@Dexus)
1378
+ - connection: Fix bug when client disconnect after sending data #1193
1379
+ - Fix connect.geoip bug #1144 (@smfreegard)
1380
+ - Fix tiny bug in messagesniffer #1198 (@smfreegard)
1381
+
1382
+ ### 2.6.1 - Mar 27, 2015
1383
+
1384
+ - added sedation timers for config file re-reading
1385
+ - Add AUTH support to outbound
1386
+ - tests/spf: quiet excessive DEBUG noise
1387
+ - allow domains with underscore
1388
+ - correct name of domains config file in access
1389
+ - Fix SMTP AUTH in smtp_forward/proxy and add docs
1390
+ - Fix opts not being passed to HMailItem \_bounce function
1391
+ - log.syslog will try strong-fork-syslog (for node 0.12 compat)
1392
+ - improvements to Plugin docs
1393
+ - rename net_utils.is_rfc1918 -> is_private_ip
1394
+ - IPv6 compat
1395
+ - test coverage
1396
+ - add IPv6 unique local fc00::/7
1397
+ - pre-populated config/plugins
1398
+ - added utils.extend, copies props onto objects
1399
+
1400
+ ### 2.6.0 - Feb 21, 2015
1401
+
1402
+ - other bug fixes
1403
+ - updated a few tests so test suite passes on Windows
1404
+ - log.syslog: handle failure to load node-syslog
1405
+ - plugin directory is $ENV definable (@martin1yness)
1406
+ - logging timestamps were static, fixed by @cloudbuy
1407
+ - queue/rabbitmq_amqplib, new plugin for RabbitMQ using amqplib (@esevece)
1408
+ - outbound:
1409
+ - plugins can set the outbound IP (during get_mx)
1410
+ - only replace line endings if not \r\n
1411
+ - bannering fixes
1412
+ - added support for per recipient routes
1413
+ - tls: don't register hooks upless certs exist
1414
+ - removed contrib/geolite-mirror-simple.pl (replaced by
1230
1415
  docs update pointing to maxmind-geolite-mirror)
1231
- * rcpt.routes: new plugin by @msimerson
1232
- * make haproxy IPv6 compatible
1233
- * record_envelope_addresses: new plugin by @deburau
1234
- * prevent_credential_leaks: new plugin by @smfreegard
1235
- * config:
1236
- * configfile: added .yaml support
1237
- * improved config file 'watch' logic
1238
- * Allow hyphens in params in config files (@abhas)
1239
- * cached requests include options in cache key name
1240
- * asn: updates for node 0.11 compat
1241
- * dnsbl: use aysync.each vs forEach (avoid race condition)
1242
- * spamassassin: improved config loading and test coverage
1243
- * geoip: deprecate geoip-lite in favor of maxmind, IPv6 compatible
1244
- * disable SSLv3 (due to POODLE)
1245
- * dkim & spf, updates for node 0.11 compatibiilty
1246
- * karma: move neighbor scoring from code to karma.ini
1247
- * move excludes list to karma.ini
1248
- * apply awards before adding message header & permit rejection at queue
1249
- * karma.ini: score updates for access & uribl plugins
1250
- * score denials issued by skipped plugins
1251
- * add scores for specific DNSBLs
1252
- * add transaction body filters (@chazomaticus)
1253
- * change bannering to use them
1254
- * helo.checks: fix timeout bug
1255
- * match_re now validates and pre-compiles all REs
1256
- * Add new proto_mismatch check
1257
- * p0f: add register(), load config once, early
1258
- * server: improved config handling
1259
- * data.headers: add Delivered-To check
1260
- * rcpt_to.ldap: new plugin by @abhas
1261
- * smtp_client: only load tls_* when cfg.enable_tls
1262
- * added plugins/host_list_base
1263
- * Platform independent temp dir (thanks @martinvd)
1264
- * move deprecated docs into docs/deprecated
1265
- * Switch to Phusion baseimage instead of stock Ubuntu (thanks @Synchro)
1266
- * dkim_verify: new plugin by @smfreegard
1267
- * many new tests
1268
- * improved URI parser (for URIBL plugin)
1269
- * Allow mixed case STARTTLS command
1270
- * Install Node via package manager (Mohd Rozi)
1271
- * Fix a couple crit errors (@Illirgway)
1272
- * Add noisy/bulk out-of-band rule support to MessaageSniffer plugin
1273
- * initial support for rabbitmq plugin (@samuelharden)
1274
- * bounce, added non_local_msgid checks and much faster lookups
1275
- * vpopmail: fail faster during a CRAM-MD5 auth attempt with an invalid user
1276
- * fcrdns: handle a null hostname
1277
- * Improve HAProxy support code and documentation
1278
- * tls: reworked for efficiency and linear style
1279
- * access: test hostname validity before PSL lookup
1280
- * load lists into objects (vs arrays), for much faster runtime access
1281
- * host_list: huge performance increase, esp for many hosts
1282
-
1283
- ## 2.5.0 - May 24, 2014
1284
-
1285
- * added automated build testing via Travis-CI.org
1286
- * fixed dkim_sign crash issue #560
1287
- * geoip can discover external IP via net_utils.get_public_ip
1288
- * geoip: skip private IPs
1289
- * qmd: when relaying, validate MAIL FROM against QMD, add per-domain
1416
+ - rcpt.routes: new plugin by @msimerson
1417
+ - make haproxy IPv6 compatible
1418
+ - record_envelope_addresses: new plugin by @deburau
1419
+ - prevent_credential_leaks: new plugin by @smfreegard
1420
+ - config:
1421
+ - configfile: added .yaml support
1422
+ - improved config file 'watch' logic
1423
+ - Allow hyphens in params in config files (@abhas)
1424
+ - cached requests include options in cache key name
1425
+ - asn: updates for node 0.11 compat
1426
+ - dnsbl: use aysync.each vs forEach (avoid race condition)
1427
+ - spamassassin: improved config loading and test coverage
1428
+ - geoip: deprecate geoip-lite in favor of maxmind, IPv6 compatible
1429
+ - disable SSLv3 (due to POODLE)
1430
+ - dkim & spf, updates for node 0.11 compatibiilty
1431
+ - karma: move neighbor scoring from code to karma.ini
1432
+ - move excludes list to karma.ini
1433
+ - apply awards before adding message header & permit rejection at queue
1434
+ - karma.ini: score updates for access & uribl plugins
1435
+ - score denials issued by skipped plugins
1436
+ - add scores for specific DNSBLs
1437
+ - add transaction body filters (@chazomaticus)
1438
+ - change bannering to use them
1439
+ - helo.checks: fix timeout bug
1440
+ - match_re now validates and pre-compiles all REs
1441
+ - Add new proto_mismatch check
1442
+ - p0f: add register(), load config once, early
1443
+ - server: improved config handling
1444
+ - data.headers: add Delivered-To check
1445
+ - rcpt_to.ldap: new plugin by @abhas
1446
+ - smtp*client: only load tls*- when cfg.enable_tls
1447
+ - added plugins/host_list_base
1448
+ - Platform independent temp dir (thanks @martinvd)
1449
+ - move deprecated docs into docs/deprecated
1450
+ - Switch to Phusion baseimage instead of stock Ubuntu (thanks @Synchro)
1451
+ - dkim_verify: new plugin by @smfreegard
1452
+ - many new tests
1453
+ - improved URI parser (for URIBL plugin)
1454
+ - Allow mixed case STARTTLS command
1455
+ - Install Node via package manager (Mohd Rozi)
1456
+ - Fix a couple crit errors (@Illirgway)
1457
+ - Add noisy/bulk out-of-band rule support to MessaageSniffer plugin
1458
+ - initial support for rabbitmq plugin (@samuelharden)
1459
+ - bounce, added non_local_msgid checks and much faster lookups
1460
+ - vpopmail: fail faster during a CRAM-MD5 auth attempt with an invalid user
1461
+ - fcrdns: handle a null hostname
1462
+ - Improve HAProxy support code and documentation
1463
+ - tls: reworked for efficiency and linear style
1464
+ - access: test hostname validity before PSL lookup
1465
+ - load lists into objects (vs arrays), for much faster runtime access
1466
+ - host_list: huge performance increase, esp for many hosts
1467
+
1468
+ ### 2.5.0 - May 24, 2014
1469
+
1470
+ - added automated build testing via Travis-CI.org
1471
+ - fixed dkim_sign crash issue #560
1472
+ - geoip can discover external IP via net_utils.get_public_ip
1473
+ - geoip: skip private IPs
1474
+ - qmd: when relaying, validate MAIL FROM against QMD, add per-domain
1290
1475
  configurations, added reject option, added tests and bug fixes.
1291
- * net_utils: added is_ipv4_literal, is_public_suffix, get_public_ip, added
1476
+ - net_utils: added is_ipv4_literal, is_public_suffix, get_public_ip, added
1292
1477
  tests, shed some CamelCase.
1293
- * asn: looksup up ASN of connection, uses 3 providers, tests providers, saves
1478
+ - asn: looksup up ASN of connection, uses 3 providers, tests providers, saves
1294
1479
  results, optionally adds headers. Includes tests.
1295
- * access: new plugin that merges rdns_access, mail_from.access, and
1480
+ - access: new plugin that merges rdns_access, mail_from.access, and
1296
1481
  rcpt_to.access.
1297
- * fcrdns: new plugin (Forward Confirmed Reverse DNS)
1298
- * bounce: new plugin (merges
1299
- * data.headers: new plugin added direct_to_mx, check & reject settings, added MLM detection,
1482
+ - fcrdns: new plugin (Forward Confirmed Reverse DNS)
1483
+ - bounce: new plugin (merges
1484
+ - data.headers: new plugin added direct_to_mx, check & reject settings, added MLM detection,
1300
1485
  tests.
1301
- * helo.checks: refactored, better config handling, new tests (match_rdns,
1486
+ - helo.checks: refactored, better config handling, new tests (match_rdns,
1302
1487
  mismatch, results), reject option.
1303
- * results_store: store processing results in data structures (vs notes)
1304
- * spf: refactored, added outbound checks when relaying, added 15 tests,
1305
- * dnsbl: return errors as Error objects, reduce list to unique zones, added
1488
+ - results_store: store processing results in data structures (vs notes)
1489
+ - spf: refactored, added outbound checks when relaying, added 15 tests,
1490
+ - dnsbl: return errors as Error objects, reduce list to unique zones, added
1306
1491
  tests, added search=multi option, handle ENOTFOUND error, added reject=false option.
1307
- * dns_list_base: bug fixes (race condition, returning invalid results)
1308
- * bounce: refactored, each check has enable and reject switches, added tests,
1492
+ - dns_list_base: bug fixes (race condition, returning invalid results)
1493
+ - bounce: refactored, each check has enable and reject switches, added tests,
1309
1494
  added bad_bounce_to
1310
- * clamav: add virus name to results, better config parsing, typo fixes
1311
- * uribl:
1312
- * mf_resolvable:
1313
- * tls: add link to wiki article on TLS setup
1314
- * relay_acl: fix issue #428, refactored, don't crash when relay_dest_domains.ini
1495
+ - clamav: add virus name to results, better config parsing, typo fixes
1496
+ - uribl:
1497
+ - mf_resolvable:
1498
+ - tls: add link to wiki article on TLS setup
1499
+ - relay_acl: fix issue #428, refactored, don't crash when relay_dest_domains.ini
1315
1500
  missing, added tests
1316
- * fix mx mechanism when no records are returned
1317
- * vpopmaild: added per-domain feature
1318
- * karma: added whitelist award, pass through temp (DENYSOFT) errors, made
1501
+ - fix mx mechanism when no records are returned
1502
+ - vpopmaild: added per-domain feature
1503
+ - karma: added whitelist award, pass through temp (DENYSOFT) errors, made
1319
1504
  tarpit variable, configurable reject hooks, doc rewrite, ASN awards, fix penalty days calculation, new DSL for karma awards,
1320
- * bannering fixes
1321
- * added log\* stubs to test/fixtures/[plugin|connection]
1322
- * tests/fixtures/stub_plugin: set name property
1323
- * config: corrected handling of config.arg gets, fix caching bug, fix boolean
1505
+ - bannering fixes
1506
+ - added log* stubs to test/fixtures/[plugin|connection]
1507
+ - tests/fixtures/stub_plugin: set name property
1508
+ - config: corrected handling of config.arg gets, fix caching bug, fix boolean
1324
1509
  handling, added missing 'type' handling.
1325
- * Adding the option of using CIDR ranges in the haproxy_hosts file
1326
- * tarpit: added config option hooks_to_delay, added docs
1327
- * contrib/haraka.bsd.rc: startup file for \*BSD
1328
- * Store attachment headers on stream
1329
- * Record accepted domains at hook_rcpt and improve queue/lmtp
1330
- * return after next() in the whitelist checks
1331
- * Add new -o option to bin/haraka
1332
-
1333
- ## 2.4.0 - Feb 12, 2014
1334
-
1335
- * Trim whitespace when reading "list" type config files (such as config/plugins)
1336
- * Added LMTP via queue/lmtp plugin
1337
- * Fixed bug in outbound when temp failing some of the recipients that would prevent delivery working to those recipients for future delivery attempts
1338
- * Add additional details/parameters to delivered hook for outbound mail
1339
- * Removed the hmail.bounce_extra object as that information now stored with the rcpt_to list
1340
- * Store the RCPT TO rejection reason on the address object
1341
-
1342
-
1343
- ## 2.3.0 - Feb 07, 2014
1344
-
1345
- * Fix memory leak when watching config files for changes
1346
- * Support for badly formatted MAIL FROM/RCPT TO lines
1347
- * Fix a memory corruption when fixing line endings
1348
- * Fix breakpoints in plugins when using node inspector
1349
- * Reload config in relay_force_routing without restart
1350
- * Don't re-attempt TLS upgrade if upgraded already and STARTTLS is re-advertised
1351
- * Improved outbound logging
1352
- * Pass failed recipients to bounce hook in outbound processing
1353
- * Added startup checks to ensure Haraka has been installed correctly
1354
- * Handle case of Haraka server running out of disk space better
1355
- * In mail_from.is_resolvable: move re_bogus_ip into config
1356
- * Added auth/auth_vpopmaild plugin - SMTP AUTH against a vpopmaild server
1357
- * Fixed graph plugin to work with sqlite3
1358
- * Added rcpt_to.qmail_deliverable plugin - Authenticate inbound RCPT TOs against Qmail::Deliverable daemon
1359
- * Added data.headers plugin which merges header checks into one place.
1510
+ - Adding the option of using CIDR ranges in the haproxy_hosts file
1511
+ - tarpit: added config option hooks_to_delay, added docs
1512
+ - contrib/haraka.bsd.rc: startup file for *BSD
1513
+ - Store attachment headers on stream
1514
+ - Record accepted domains at hook_rcpt and improve queue/lmtp
1515
+ - return after next() in the whitelist checks
1516
+ - Add new -o option to bin/haraka
1517
+
1518
+ ### 2.4.0 - Feb 12, 2014
1519
+
1520
+ - Trim whitespace when reading "list" type config files (such as config/plugins)
1521
+ - Added LMTP via queue/lmtp plugin
1522
+ - Fixed bug in outbound when temp failing some of the recipients that would prevent delivery working to those recipients for future delivery attempts
1523
+ - Add additional details/parameters to delivered hook for outbound mail
1524
+ - Removed the hmail.bounce_extra object as that information now stored with the rcpt_to list
1525
+ - Store the RCPT TO rejection reason on the address object
1526
+
1527
+ ### 2.3.0 - Feb 07, 2014
1528
+
1529
+ - Fix memory leak when watching config files for changes
1530
+ - Support for badly formatted MAIL FROM/RCPT TO lines
1531
+ - Fix a memory corruption when fixing line endings
1532
+ - Fix breakpoints in plugins when using node inspector
1533
+ - Reload config in relay_force_routing without restart
1534
+ - Don't re-attempt TLS upgrade if upgraded already and STARTTLS is re-advertised
1535
+ - Improved outbound logging
1536
+ - Pass failed recipients to bounce hook in outbound processing
1537
+ - Added startup checks to ensure Haraka has been installed correctly
1538
+ - Handle case of Haraka server running out of disk space better
1539
+ - In mail_from.is_resolvable: move re_bogus_ip into config
1540
+ - Added auth/auth_vpopmaild plugin - SMTP AUTH against a vpopmaild server
1541
+ - Fixed graph plugin to work with sqlite3
1542
+ - Added rcpt_to.qmail_deliverable plugin - Authenticate inbound RCPT TOs against Qmail::Deliverable daemon
1543
+ - Added data.headers plugin which merges header checks into one place.
1360
1544
  Deprecates data.noreceived, data.rfc5322_header_checks, and data.nomsgid.
1361
- * Added documentation for logging system
1362
- * Added DKIM per-domain signing support
1363
- * Added p0f plugin
1364
- * In relay_acl, if host is allowed by acl, don't deny the recipient because the domain isn't in the allow list
1365
- * Add Authentication-Results header (RFC 5451) to all emails
1366
- * Fixed writing the todo file in outbound for newer Node versions
1367
- * Added Karma plugin to support penalizing consistently evil senders
1368
- * Added GeoIP plugin including distance calculation from your mail server
1369
- * Added bounce plugin for handling incoming bounce messages in various ways
1370
- * Fix underscores in documentation so web version doesn't look so weird
1371
- * By default prevent SMTP AUTH unless on a private IP or using TLS WARNING: May break some uses of Haraka, but is worth it for security
1372
- * In lookup_rdns.strict, check whitelist before looking up IP
1373
- * Big rewrite of the SpamAssassin plugin for simplicity and mainly to pass through X-Spam-* headers provided
1374
- * Added delay_deny plugin allowing more flexibility on when to reject mail
1375
- * Improvements to ini file parsing allowing floats and negative integers, and specifying boolean keys
1376
- * Fix issue causing a CRIT/crash with lost transaction/connection while sending inbound to ongoing SMTP server
1377
- * Allow setting of spamd_user for spamassassin plugin
1378
-
1379
-
1380
- ## 2.0.0 - Nov 28, 2012
1381
-
1382
- * Various fixes to SMTP AUTH code, including providing SMTP AUTH to inbound
1545
+ - Added documentation for logging system
1546
+ - Added DKIM per-domain signing support
1547
+ - Added p0f plugin
1548
+ - In relay_acl, if host is allowed by acl, don't deny the recipient because the domain isn't in the allow list
1549
+ - Add Authentication-Results header (RFC 5451) to all emails
1550
+ - Fixed writing the todo file in outbound for newer Node versions
1551
+ - Added Karma plugin to support penalizing consistently evil senders
1552
+ - Added GeoIP plugin including distance calculation from your mail server
1553
+ - Added bounce plugin for handling incoming bounce messages in various ways
1554
+ - Fix underscores in documentation so web version doesn't look so weird
1555
+ - By default prevent SMTP AUTH unless on a private IP or using TLS WARNING: May break some uses of Haraka, but is worth it for security
1556
+ - In lookup_rdns.strict, check whitelist before looking up IP
1557
+ - Big rewrite of the SpamAssassin plugin for simplicity and mainly to pass through X-Spam-* headers provided
1558
+ - Added delay_deny plugin allowing more flexibility on when to reject mail
1559
+ - Improvements to ini file parsing allowing floats and negative integers, and specifying boolean keys
1560
+ - Fix issue causing a CRIT/crash with lost transaction/connection while sending inbound to ongoing SMTP server
1561
+ - Allow setting of spamd_user for spamassassin plugin
1562
+
1563
+ ### 2.0.0 - Nov 28, 2012
1564
+
1565
+ - Various fixes to SMTP AUTH code, including providing SMTP AUTH to inbound
1383
1566
  mail forwarders.
1384
- * Updates to process_title plugin to show more details
1385
- * Changed transaction.data_lines to a Stream (this will break all code which
1567
+ - Updates to process_title plugin to show more details
1568
+ - Changed transaction.data_lines to a Stream (this will break all code which
1386
1569
  uses transaction.data_lines currently - see the migration guide)
1387
- * Changed attachments to be a Stream (this will break some code which uses
1570
+ - Changed attachments to be a Stream (this will break some code which uses
1388
1571
  transaction.attachment_hooks - see the migration guide)
1389
- * Capture and log signals sent to Haraka
1390
- * Various performance improvements
1391
- * Fixed a memory leak in connection pool
1392
- * Improvements to TLS compatibility
1393
- * RFC compliance improvements with greeting, EHLO/HELO, QUIT, and dot stuffing
1394
- * Throw exception with set_banner as it is now non-functional. Will be returned in a future version.
1395
- * Small fixes to data.uribl
1396
-
1397
- ## 1.4.0 -
1572
+ - Capture and log signals sent to Haraka
1573
+ - Various performance improvements
1574
+ - Fixed a memory leak in connection pool
1575
+ - Improvements to TLS compatibility
1576
+ - RFC compliance improvements with greeting, EHLO/HELO, QUIT, and dot stuffing
1577
+ - Throw exception with set_banner as it is now non-functional. Will be returned in a future version.
1578
+ - Small fixes to data.uribl
1398
1579
 
1580
+ ### 1.4.0 -
1399
1581
 
1400
1582
  [3.0.0]: https://github.com/haraka/Haraka/releases/tag/3.0.0
1401
- [3.0.1]: https://github.com/haraka/Haraka/releases/tag/3.0.1
1402
- [3.0.2]: https://github.com/haraka/Haraka/releases/tag/3.0.2
1403
- [3.0.3]: https://github.com/haraka/Haraka/releases/tag/3.0.3
1583
+ [3.0.1]: https://github.com/haraka/Haraka/releases/tag/v3.0.1
1584
+ [3.0.2]: https://github.com/haraka/Haraka/releases/tag/v3.0.2
1585
+ [3.0.3]: https://github.com/haraka/Haraka/releases/tag/v3.0.3
1586
+ [3.0.4]: https://github.com/haraka/Haraka/releases/tag/3.0.4
1587
+ [3.0.5]: https://github.com/haraka/Haraka/releases/tag/v3.0.5