Haraka 3.0.5 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTORS.md +6 -5
- package/Changes.md +179 -27
- package/LICENSE +1 -1
- package/Plugins.md +3 -3
- package/bin/haraka +3 -1
- package/config/connection.ini +63 -0
- package/config/smtp.ini +0 -18
- package/connection.js +53 -63
- package/docs/CoreConfig.md +17 -78
- package/docs/HAProxy.md +10 -28
- package/docs/Outbound.md +8 -9
- package/docs/plugins/aliases.md +4 -6
- package/docs/plugins/block_me.md +2 -4
- package/docs/plugins/data.signatures.md +2 -4
- package/docs/plugins/max_unrecognized_commands.md +2 -4
- package/docs/plugins/prevent_credential_leaks.md +2 -5
- package/docs/plugins/process_title.md +1 -2
- package/docs/plugins/queue/test.md +9 -0
- package/docs/plugins/rcpt_to.in_host_list.md +1 -2
- package/docs/plugins/rcpt_to.max_count.md +2 -10
- package/docs/plugins/record_envelope_addresses.md +3 -6
- package/docs/plugins/relay.md +1 -155
- package/docs/plugins/reseed_rng.md +1 -2
- package/docs/plugins/tarpit.md +7 -10
- package/docs/plugins/toobusy.md +2 -4
- package/docs/plugins/xclient.md +1 -2
- package/eslint.config.mjs +27 -0
- package/logger.js +1 -8
- package/outbound/client_pool.js +8 -1
- package/outbound/hmail.js +8 -1
- package/package.json +61 -53
- package/plugins/auth/auth_base.js +0 -1
- package/plugins/queue/test.js +5 -3
- package/server.js +0 -14
- package/test/connection.js +18 -7
- package/.eslintrc.yaml +0 -11
- package/config/connection_close_message +0 -1
- package/config/databytes +0 -1
- package/config/dhparams.pem +0 -8
- package/config/early_talker.ini +0 -11
- package/config/mail_from.is_resolvable.ini +0 -6
- package/config/max_unrecognized_commands +0 -1
- package/config/smtp.json +0 -17
- package/docs/plugins/early_talker.md +0 -22
- package/docs/plugins/mail_from.is_resolvable.md +0 -29
- package/plugins/early_talker.js +0 -155
- package/plugins/mail_from.is_resolvable.js +0 -132
- package/plugins/relay.js +0 -207
- package/test/plugins/early_talker.js +0 -104
- package/test/plugins/mail_from.is_resolvable.js +0 -35
- package/test/plugins/relay.js +0 -303
- /package/docs/{plugins → deprecated}/access.md +0 -0
- /package/docs/{plugins → deprecated}/backscatterer.md +0 -0
- /package/docs/{plugins → deprecated}/data.headers.md +0 -0
package/CONTRIBUTORS.md
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
This handcrafted artisinal software is brought to you by:
|
|
4
4
|
|
|
5
|
-
| <img height="80" src="https://avatars.githubusercontent.com/u/261635?v=4"><br><a href="https://github.com/msimerson">msimerson</a> (<a href="https://github.com/haraka/Haraka/commits?author=msimerson">
|
|
5
|
+
| <img height="80" src="https://avatars.githubusercontent.com/u/261635?v=4"><br><a href="https://github.com/msimerson">msimerson</a> (<a href="https://github.com/haraka/Haraka/commits?author=msimerson">1636</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/662371?v=4"><br><a href="https://github.com/baudehlo">baudehlo</a> (<a href="https://github.com/haraka/Haraka/commits?author=baudehlo">969</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/550490?v=4"><br><a href="https://github.com/smfreegard">smfreegard</a> (<a href="https://github.com/haraka/Haraka/commits?author=smfreegard">794</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/959600?v=4"><br><a href="https://github.com/godsflaw">godsflaw</a> (<a href="https://github.com/haraka/Haraka/commits?author=godsflaw">171</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/934254?v=4"><br><a href="https://github.com/analogic">analogic</a> (<a href="https://github.com/haraka/Haraka/commits?author=analogic">42</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/1674289?v=4"><br><a href="https://github.com/Dexus">Dexus</a> (<a href="https://github.com/haraka/Haraka/commits?author=Dexus">42</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/82041?v=4"><br><a href="https://github.com/gramakri">gramakri</a> (<a href="https://github.com/haraka/Haraka/commits?author=gramakri">38</a>)|
|
|
6
6
|
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
|
7
|
-
| <img height="80" src="https://avatars.githubusercontent.com/u/203240?v=4"><br><a href="https://github.com/lnedry">lnedry</a> (<a href="https://github.com/haraka/Haraka/commits?author=lnedry">
|
|
8
|
-
| <img height="80" src="https://avatars.githubusercontent.com/u/260607?v=4"><br><a href="https://github.com/typingArtist">typingArtist</a> (<a href="https://github.com/haraka/Haraka/commits?author=typingArtist">14</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/
|
|
9
|
-
| <img height="80" src="https://avatars.githubusercontent.com/u/231081?v=4"><br><a href="https://github.com/EyePulp">EyePulp</a> (<a href="https://github.com/haraka/Haraka/commits?author=EyePulp">8</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/81561?v=4"><br><a href="https://github.com/Synchro">Synchro</a> (<a href="https://github.com/haraka/Haraka/commits?author=Synchro">8</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/3957811?v=4"><br><a href="https://github.com/gene-hightower">gene-hightower</a> (<a href="https://github.com/haraka/Haraka/commits?author=gene-hightower">7</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/
|
|
7
|
+
| <img height="80" src="https://avatars.githubusercontent.com/u/203240?v=4"><br><a href="https://github.com/lnedry">lnedry</a> (<a href="https://github.com/haraka/Haraka/commits?author=lnedry">26</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/748075?v=4"><br><a href="https://github.com/celesteking">celesteking</a> (<a href="https://github.com/haraka/Haraka/commits?author=celesteking">21</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/791972?v=4"><br><a href="https://github.com/lpatters">lpatters</a> (<a href="https://github.com/haraka/Haraka/commits?author=lpatters">20</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/366268?v=4"><br><a href="https://github.com/chazomaticus">chazomaticus</a> (<a href="https://github.com/haraka/Haraka/commits?author=chazomaticus">19</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/271024?v=4"><br><a href="https://github.com/hayesgm">hayesgm</a> (<a href="https://github.com/haraka/Haraka/commits?author=hayesgm">16</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/123708?v=4"><br><a href="https://github.com/arlolra">arlolra</a> (<a href="https://github.com/haraka/Haraka/commits?author=arlolra">16</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/1573133?v=4"><br><a href="https://github.com/gauravaror">gauravaror</a> (<a href="https://github.com/haraka/Haraka/commits?author=gauravaror">14</a>)|
|
|
8
|
+
| <img height="80" src="https://avatars.githubusercontent.com/u/260607?v=4"><br><a href="https://github.com/typingArtist">typingArtist</a> (<a href="https://github.com/haraka/Haraka/commits?author=typingArtist">14</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/11343494?v=4"><br><a href="https://github.com/superman20">superman20</a> (<a href="https://github.com/haraka/Haraka/commits?author=superman20">13</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/158380?v=4"><br><a href="https://github.com/darkpixel">darkpixel</a> (<a href="https://github.com/haraka/Haraka/commits?author=darkpixel">12</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/9887966?v=4"><br><a href="https://github.com/KingNoosh">KingNoosh</a> (<a href="https://github.com/haraka/Haraka/commits?author=KingNoosh">11</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/5229495?v=4"><br><a href="https://github.com/tstonis">tstonis</a> (<a href="https://github.com/haraka/Haraka/commits?author=tstonis">10</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/1746394?v=4"><br><a href="https://github.com/wltsmrz">wltsmrz</a> (<a href="https://github.com/haraka/Haraka/commits?author=wltsmrz">9</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/2176651?v=4"><br><a href="https://github.com/fatalbanana">fatalbanana</a> (<a href="https://github.com/haraka/Haraka/commits?author=fatalbanana">9</a>)|
|
|
9
|
+
| <img height="80" src="https://avatars.githubusercontent.com/u/231081?v=4"><br><a href="https://github.com/EyePulp">EyePulp</a> (<a href="https://github.com/haraka/Haraka/commits?author=EyePulp">8</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/81561?v=4"><br><a href="https://github.com/Synchro">Synchro</a> (<a href="https://github.com/haraka/Haraka/commits?author=Synchro">8</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/3957811?v=4"><br><a href="https://github.com/gene-hightower">gene-hightower</a> (<a href="https://github.com/haraka/Haraka/commits?author=gene-hightower">7</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/8224508?v=4"><br><a href="https://github.com/DarkSorrow">DarkSorrow</a> (<a href="https://github.com/haraka/Haraka/commits?author=DarkSorrow">6</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/103802?v=4"><br><a href="https://github.com/joshuathayer">joshuathayer</a> (<a href="https://github.com/haraka/Haraka/commits?author=joshuathayer">6</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/298453?v=4"><br><a href="https://github.com/zllovesuki">zllovesuki</a> (<a href="https://github.com/haraka/Haraka/commits?author=zllovesuki">5</a>)| <img height="80" src="https://avatars.githubusercontent.com/u/132251?v=4"><br><a href="https://github.com/schamane">schamane</a> (<a href="https://github.com/haraka/Haraka/commits?author=schamane">5</a>)|
|
|
10
10
|
|
|
11
|
-
<sub>this file is
|
|
11
|
+
<sub>this file is generated by [.release](https://github.com/msimerson/.release).
|
|
12
|
+
Contribute to this project to get your GitHub profile included here.</sub>
|
package/Changes.md
CHANGED
|
@@ -4,6 +4,64 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
4
4
|
|
|
5
5
|
### Unreleased
|
|
6
6
|
|
|
7
|
+
### [3.1.1] - 2025-05-19
|
|
8
|
+
|
|
9
|
+
- Fix: install connection.ini with base configuration on install #3458
|
|
10
|
+
- fix(outbound): in outbound, fix a crash when socket connection errors #3456
|
|
11
|
+
|
|
12
|
+
### [3.1.0] - 2025-01-30
|
|
13
|
+
|
|
14
|
+
#### Changes
|
|
15
|
+
|
|
16
|
+
##### BREAKING CHANGE
|
|
17
|
+
|
|
18
|
+
`connection.ini` replaces the following config files:
|
|
19
|
+
|
|
20
|
+
| old file | connection.ini setting |
|
|
21
|
+
| ------ | ------ |
|
|
22
|
+
| haproxy_hosts | [haproxy] hosts |
|
|
23
|
+
| smtpgreeting | [message] greeting |
|
|
24
|
+
| ehlo_hello_message | [message] helo |
|
|
25
|
+
| connection_close_message | [message] close |
|
|
26
|
+
| banner_includes_uuid | [uuid] banner_chars |
|
|
27
|
+
| deny_includes_uuid | [uuid] deny_chars |
|
|
28
|
+
| databytes | [max] bytes |
|
|
29
|
+
| max_mime_parts | [max] mime_parts |
|
|
30
|
+
| max_line_length | [max] line_length |
|
|
31
|
+
| max_data_line_length | [max] data_line_length |
|
|
32
|
+
|
|
33
|
+
AND
|
|
34
|
+
|
|
35
|
+
- moves the following settings from smtp.ini to connection.ini:
|
|
36
|
+
- headers.*
|
|
37
|
+
- main.smtp_utf8
|
|
38
|
+
- main.strict_rfc1869
|
|
39
|
+
- early_talker.pause, removed support, use earlytalker.ini
|
|
40
|
+
|
|
41
|
+
To upgrade, apply any localized settings from the old config files to
|
|
42
|
+
the new `connection.ini` file. For tidiness, delete the deprecated
|
|
43
|
+
config files.
|
|
44
|
+
|
|
45
|
+
- feat(queue/test): Append UUID to E-Mails (avoid overwrite) #3449
|
|
46
|
+
- repackage p/early_talker as plugin #3443
|
|
47
|
+
- repackage p/mail_from.is_resolvable as plugin #3439
|
|
48
|
+
- repackage p/relay as haraka-plugin-relay #3432
|
|
49
|
+
- ci(cov): update codecov to v5
|
|
50
|
+
- deps(eslint): update to v9 #3433
|
|
51
|
+
- doc(plugins/\*.md): use \# to indicate heading levels
|
|
52
|
+
- deps(various): bump to latest versions
|
|
53
|
+
- doc(CoreConfig): removed incorrect early_talker.delay reference (hasn't worked in years).
|
|
54
|
+
- doc(LICENSE) fix copyright year #3424
|
|
55
|
+
- doc(access, backscatterer, & data.headers): deprecated plugin docs
|
|
56
|
+
|
|
57
|
+
#### Fixes
|
|
58
|
+
|
|
59
|
+
- fix(conn): always add connection.notes.tls properties #3450
|
|
60
|
+
- fix(conn): cumulative greeting message for custom greetings #3446
|
|
61
|
+
- fix(mail_from.is_resolvable): use correct config var path #3416
|
|
62
|
+
- fix(bin/haraka): fix for finding path to config/docs/Plugins.md #3414
|
|
63
|
+
- fix(outbound): in outbound, when mx.exchange contains an IP, use mx.from_dns #3413
|
|
64
|
+
|
|
7
65
|
### [3.0.5] - 2024-09-27
|
|
8
66
|
|
|
9
67
|
#### Fixed
|
|
@@ -647,7 +705,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
647
705
|
- plugins/auth/auth_ldap -> haraka-plugin-auth-ldap #2144
|
|
648
706
|
- plugins/graph -> haraka-plugin-graph #2185
|
|
649
707
|
- config: replace ./config.js with haraka-config #2119
|
|
650
|
-
- Replace concatenated strings with template literals
|
|
708
|
+
- Replace concatenated strings with template literals #2129 in:
|
|
651
709
|
- attachment #2260
|
|
652
710
|
- bin/spf #2129
|
|
653
711
|
- bin/dkimverify #2278
|
|
@@ -683,7 +741,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
683
741
|
- plugins/spf #2266
|
|
684
742
|
- plugins/toobusy #2186
|
|
685
743
|
- plugins/xclient #2159
|
|
686
|
-
- rfc1869 #
|
|
744
|
+
- rfc1869 #2160
|
|
687
745
|
- smtp_client #2129, #2208
|
|
688
746
|
- tests/host_pool #2159
|
|
689
747
|
- use es6 destructuring (#2075) in:
|
|
@@ -1022,11 +1080,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1022
1080
|
|
|
1023
1081
|
- The delay_deny plugin now has a whitelist mode (vs blacklist). #1564
|
|
1024
1082
|
- Don't show the private key in logs for dkim_sign. #1565
|
|
1025
|
-
- update geoip for compat with newer ES
|
|
1026
|
-
- drop node 0.10 testing / official support
|
|
1027
|
-
- watch plugin displays UUIDs as URL
|
|
1083
|
+
- update geoip for compat with newer ES #1622
|
|
1084
|
+
- drop node 0.10 testing / official support #1621
|
|
1085
|
+
- watch plugin displays UUIDs as URL #1624
|
|
1028
1086
|
- Catch errors on header decode in rfc2231 #1599
|
|
1029
|
-
- Attachment plugin updates
|
|
1087
|
+
- Attachment plugin updates #1606
|
|
1030
1088
|
- add outbound.ini pool_timeout example setting #1584
|
|
1031
1089
|
|
|
1032
1090
|
#### Fixes
|
|
@@ -1038,14 +1096,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1038
1096
|
- outbound issues #1615, #1603
|
|
1039
1097
|
- Fixed adding/removing headers in rspamd plugin. #1562
|
|
1040
1098
|
- Fixed process_title not shutting down. #1560
|
|
1041
|
-
- fix a spurious error emitted by p0f
|
|
1042
|
-
- fix header version hiding
|
|
1043
|
-
- messagestream returns destination
|
|
1044
|
-
- plugins.getdenyfn now passed 3rd params arg
|
|
1045
|
-
- Fix scope of spf logdebug
|
|
1046
|
-
- fix rabbitmq deliveryMode bug
|
|
1047
|
-
- fix dkim_sign TypeError with null mail_from.host
|
|
1048
|
-
- fix dkim_sign attempting to lower an undefined
|
|
1099
|
+
- fix a spurious error emitted by p0f #1623
|
|
1100
|
+
- fix header version hiding #1617
|
|
1101
|
+
- messagestream returns destination #1610
|
|
1102
|
+
- plugins.getdenyfn now passed 3rd params arg #1591
|
|
1103
|
+
- Fix scope of spf logdebug #1598
|
|
1104
|
+
- fix rabbitmq deliveryMode bug #1594
|
|
1105
|
+
- fix dkim_sign TypeError with null mail_from.host #1592
|
|
1106
|
+
- fix dkim_sign attempting to lower an undefined #1587
|
|
1049
1107
|
|
|
1050
1108
|
### 2.8.8 - Jul 20, 2016
|
|
1051
1109
|
|
|
@@ -1076,18 +1134,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1076
1134
|
#### Improvements
|
|
1077
1135
|
|
|
1078
1136
|
- Allow alias plugin to explode to a list of aliases
|
|
1079
|
-
- Support IPv6 literals in HELO tests
|
|
1080
|
-
- Make ldap plugin use the modified address if a rcpt hook
|
|
1081
|
-
changes it (#1501 thanks @darkpixel)
|
|
1137
|
+
- Support IPv6 literals in HELO tests #1507
|
|
1138
|
+
- Make ldap plugin use the modified address if a rcpt hook changes it #1501
|
|
1082
1139
|
|
|
1083
1140
|
#### Fixes
|
|
1084
1141
|
|
|
1085
|
-
- Fix loading plugins as npm modules
|
|
1086
|
-
- More DKIM fixes
|
|
1087
|
-
- Fix the long failing host-pool-timer test
|
|
1088
|
-
- Fix clean shutdown of redis with new shutdown code
|
|
1089
|
-
|
|
1090
|
-
- More fixes to clean shutdown (#1503)
|
|
1142
|
+
- Fix loading plugins as npm modules #1513
|
|
1143
|
+
- More DKIM fixes #1506
|
|
1144
|
+
- Fix the long failing host-pool-timer test #1508
|
|
1145
|
+
- Fix clean shutdown of redis with new shutdown code, #1504 and #1502
|
|
1146
|
+
- More fixes to clean shutdown #1503
|
|
1091
1147
|
|
|
1092
1148
|
### 2.8.6 - Jun 06, 2016
|
|
1093
1149
|
|
|
@@ -1113,9 +1169,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1113
1169
|
|
|
1114
1170
|
#### Fixes
|
|
1115
1171
|
|
|
1116
|
-
- Bind maxmind version to ignore API change
|
|
1117
|
-
- Fix encodings when banners are used
|
|
1118
|
-
- Various DKIM fixes
|
|
1172
|
+
- Bind maxmind version to ignore API change #1492
|
|
1173
|
+
- Fix encodings when banners are used #1477
|
|
1174
|
+
- Various DKIM fixes #1495
|
|
1119
1175
|
|
|
1120
1176
|
### 2.8.4 - May 24, 2016
|
|
1121
1177
|
|
|
@@ -1577,7 +1633,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1577
1633
|
- Throw exception with set_banner as it is now non-functional. Will be returned in a future version.
|
|
1578
1634
|
- Small fixes to data.uribl
|
|
1579
1635
|
|
|
1580
|
-
### 1.4.0 -
|
|
1581
1636
|
|
|
1582
1637
|
[3.0.0]: https://github.com/haraka/Haraka/releases/tag/3.0.0
|
|
1583
1638
|
[3.0.1]: https://github.com/haraka/Haraka/releases/tag/v3.0.1
|
|
@@ -1585,3 +1640,100 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
1585
1640
|
[3.0.3]: https://github.com/haraka/Haraka/releases/tag/v3.0.3
|
|
1586
1641
|
[3.0.4]: https://github.com/haraka/Haraka/releases/tag/3.0.4
|
|
1587
1642
|
[3.0.5]: https://github.com/haraka/Haraka/releases/tag/v3.0.5
|
|
1643
|
+
[3.0.6]: https://github.com/haraka/Haraka/releases/tag/v3.0.6
|
|
1644
|
+
|
|
1645
|
+
[2.8.0]: https://github.com/haraka/Haraka/releases/tag/v2.8.0
|
|
1646
|
+
[2.8.1]: https://github.com/haraka/Haraka/releases/tag/v2.8.1
|
|
1647
|
+
[2.8.3]: https://github.com/haraka/Haraka/releases/tag/v2.8.3
|
|
1648
|
+
[2.8.4]: https://github.com/haraka/Haraka/releases/tag/v2.8.4
|
|
1649
|
+
[2.8.5]: https://github.com/haraka/Haraka/releases/tag/v2.8.5
|
|
1650
|
+
[2.8.6]: https://github.com/haraka/Haraka/releases/tag/v2.8.6
|
|
1651
|
+
[2.8.7]: https://github.com/haraka/Haraka/releases/tag/v2.8.7
|
|
1652
|
+
[2.8.8]: https://github.com/haraka/Haraka/releases/tag/v2.8.8
|
|
1653
|
+
[2.8.9]: https://github.com/haraka/Haraka/releases/tag/v2.8.9
|
|
1654
|
+
[2.8.10]: https://github.com/haraka/Haraka/releases/tag/2.8.10
|
|
1655
|
+
[2.8.11]: https://github.com/haraka/Haraka/releases/tag/2.8.11
|
|
1656
|
+
[2.8.12]: https://github.com/haraka/Haraka/releases/tag/2.8.12
|
|
1657
|
+
[2.8.13]: https://github.com/haraka/Haraka/releases/tag/2.8.13
|
|
1658
|
+
[2.8.14]: https://github.com/haraka/Haraka/releases/tag/v2.8.14
|
|
1659
|
+
[2.8.15]: https://github.com/haraka/Haraka/releases/tag/2.8.15
|
|
1660
|
+
[2.8.16]: https://github.com/haraka/Haraka/releases/tag/2.8.16
|
|
1661
|
+
[2.8.17]: https://github.com/haraka/Haraka/releases/tag/2.8.17
|
|
1662
|
+
[2.8.18]: https://github.com/haraka/Haraka/releases/tag/2.8.18
|
|
1663
|
+
[2.8.19]: https://github.com/haraka/Haraka/releases/tag/v2.8.19
|
|
1664
|
+
[2.8.20]: https://github.com/haraka/Haraka/releases/tag/2.8.20
|
|
1665
|
+
[release-2.8.21]: https://github.com/haraka/Haraka/releases/tag/release-2.8.21
|
|
1666
|
+
[2.8.22]: https://github.com/haraka/Haraka/releases/tag/2.8.22
|
|
1667
|
+
[2.8.24]: https://github.com/haraka/Haraka/releases/tag/2.8.24
|
|
1668
|
+
[2.8.25]: https://github.com/haraka/Haraka/releases/tag/2.8.25
|
|
1669
|
+
[2.8.26]: https://github.com/haraka/Haraka/releases/tag/2.8.26
|
|
1670
|
+
[2.8.27]: https://github.com/haraka/Haraka/releases/tag/2.8.27
|
|
1671
|
+
[2.8.28]: https://github.com/haraka/Haraka/releases/tag/2.8.28
|
|
1672
|
+
|
|
1673
|
+
[2.7.3]: https://github.com/haraka/Haraka/releases/tag/v2.7.3
|
|
1674
|
+
[2.7.2]: https://github.com/haraka/Haraka/releases/tag/v2.7.2
|
|
1675
|
+
[2.7.1]: https://github.com/haraka/Haraka/releases/tag/v2.7.1
|
|
1676
|
+
[2.7.0]: https://github.com/haraka/Haraka/releases/tag/v2.7.0
|
|
1677
|
+
|
|
1678
|
+
[2.6.0]: https://github.com/haraka/Haraka/releases/tag/v2.6.0
|
|
1679
|
+
[2.6.1]: https://github.com/haraka/Haraka/releases/tag/v2.6.1
|
|
1680
|
+
[2.5.0]: https://github.com/haraka/Haraka/releases/tag/v2.5.0
|
|
1681
|
+
[2.4.0]: https://github.com/haraka/Haraka/releases/tag/v2.4.0
|
|
1682
|
+
[2.3.1]: https://github.com/haraka/Haraka/releases/tag/v2.3.1
|
|
1683
|
+
[2.3.0]: https://github.com/haraka/Haraka/releases/tag/v2.3.0
|
|
1684
|
+
[2.2.0]: https://github.com/haraka/Haraka/releases/tag/v2.2.0
|
|
1685
|
+
[2.2.1]: https://github.com/haraka/Haraka/releases/tag/v2.2.1
|
|
1686
|
+
[2.2.2]: https://github.com/haraka/Haraka/releases/tag/v2.2.2
|
|
1687
|
+
[2.2.3]: https://github.com/haraka/Haraka/releases/tag/v2.2.3
|
|
1688
|
+
[2.2.4]: https://github.com/haraka/Haraka/releases/tag/v2.2.4
|
|
1689
|
+
[2.2.5]: https://github.com/haraka/Haraka/releases/tag/v2.2.5
|
|
1690
|
+
[2.2.6]: https://github.com/haraka/Haraka/releases/tag/v2.2.6
|
|
1691
|
+
[2.2.7]: https://github.com/haraka/Haraka/releases/tag/v2.2.7
|
|
1692
|
+
[2.2.8]: https://github.com/haraka/Haraka/releases/tag/v2.2.8
|
|
1693
|
+
[2.1.0]: https://github.com/haraka/Haraka/releases/tag/v2.1.0
|
|
1694
|
+
[2.1.1]: https://github.com/haraka/Haraka/releases/tag/v2.1.1
|
|
1695
|
+
[2.1.2]: https://github.com/haraka/Haraka/releases/tag/v2.1.2
|
|
1696
|
+
[2.1.3]: https://github.com/haraka/Haraka/releases/tag/v2.1.3
|
|
1697
|
+
[2.1.4]: https://github.com/haraka/Haraka/releases/tag/v2.1.4
|
|
1698
|
+
[2.1.5]: https://github.com/haraka/Haraka/releases/tag/v2.1.5
|
|
1699
|
+
[2.1.6]: https://github.com/haraka/Haraka/releases/tag/v2.1.6
|
|
1700
|
+
|
|
1701
|
+
[2.0.0]: https://github.com/haraka/Haraka/releases/tag/v2.0.0
|
|
1702
|
+
[2.0.3]: https://github.com/haraka/Haraka/releases/tag/v2.0.3
|
|
1703
|
+
[2.0.4]: https://github.com/haraka/Haraka/releases/tag/v2.0.4
|
|
1704
|
+
[2.0.5]: https://github.com/haraka/Haraka/releases/tag/v2.0.5
|
|
1705
|
+
|
|
1706
|
+
[1.0.1]: https://github.com/haraka/Haraka/releases/tag/v1.0.1
|
|
1707
|
+
[1.0.2]: https://github.com/haraka/Haraka/releases/tag/v1.0.2
|
|
1708
|
+
[1.1.0]: https://github.com/haraka/Haraka/releases/tag/v1.1.0
|
|
1709
|
+
[1.2.0]: https://github.com/haraka/Haraka/releases/tag/v1.2.0
|
|
1710
|
+
[1.2.1]: https://github.com/haraka/Haraka/releases/tag/v1.2.1
|
|
1711
|
+
[1.3.0]: https://github.com/haraka/Haraka/releases/tag/v1.3.0
|
|
1712
|
+
[1.3.1]: https://github.com/haraka/Haraka/releases/tag/v1.3.1
|
|
1713
|
+
[1.3.2]: https://github.com/haraka/Haraka/releases/tag/v1.3.2
|
|
1714
|
+
[1.3.3]: https://github.com/haraka/Haraka/releases/tag/v1.3.3
|
|
1715
|
+
[1.4.0]: https://github.com/haraka/Haraka/releases/tag/v1.4.0
|
|
1716
|
+
|
|
1717
|
+
[0.9.0]: https://github.com/haraka/Haraka/releases/tag/v0.9.0
|
|
1718
|
+
[0.8.0]: https://github.com/haraka/Haraka/releases/tag/v0.8.0
|
|
1719
|
+
[0.7.2]: https://github.com/haraka/Haraka/releases/tag/v0.7.2
|
|
1720
|
+
[0.7.1]: https://github.com/haraka/Haraka/releases/tag/v0.7.1
|
|
1721
|
+
[0.7.0]: https://github.com/haraka/Haraka/releases/tag/v0.7.0
|
|
1722
|
+
[0.6.1]: https://github.com/haraka/Haraka/releases/tag/v0.6.1
|
|
1723
|
+
[0.6.0]: https://github.com/haraka/Haraka/releases/tag/v0.6.0
|
|
1724
|
+
[0.5.11]: https://github.com/haraka/Haraka/releases/tag/v0.5.11
|
|
1725
|
+
[0.5.10]: https://github.com/haraka/Haraka/releases/tag/v0.5.10
|
|
1726
|
+
[0.5.9]: https://github.com/haraka/Haraka/releases/tag/v0.5.9
|
|
1727
|
+
[0.5.8]: https://github.com/haraka/Haraka/releases/tag/v0.5.8
|
|
1728
|
+
[0.5.7]: https://github.com/haraka/Haraka/releases/tag/v0.5.7
|
|
1729
|
+
[0.5.6]: https://github.com/haraka/Haraka/releases/tag/v0.5.6
|
|
1730
|
+
[0.5.5]: https://github.com/haraka/Haraka/releases/tag/v0.5.5
|
|
1731
|
+
[0.5.4]: https://github.com/haraka/Haraka/releases/tag/v0.5.4
|
|
1732
|
+
[0.5.3]: https://github.com/haraka/Haraka/releases/tag/v0.5.3
|
|
1733
|
+
[0.5.2]: https://github.com/haraka/Haraka/releases/tag/v0.5.2
|
|
1734
|
+
[0.5]: https://github.com/haraka/Haraka/releases/tag/v0.5
|
|
1735
|
+
[0.4]: https://github.com/haraka/Haraka/releases/tag/v0.4
|
|
1736
|
+
[0.3]: https://github.com/haraka/Haraka/releases/tag/v0.3
|
|
1737
|
+
[0.2]: https://github.com/haraka/Haraka/releases/tag/v0.2
|
|
1738
|
+
[3.1.1]: https://github.com/haraka/Haraka/releases/tag/v3.1.1
|
|
1739
|
+
[3.1.0]: https://github.com/haraka/Haraka/releases/tag/v3.1.0
|
package/LICENSE
CHANGED
package/Plugins.md
CHANGED
|
@@ -92,7 +92,7 @@ A comprehensive list of known plugins. Create a PR to add yours to these lists.
|
|
|
92
92
|
| [known-senders][url-known-senders] | Reward emails from those you send mail to |
|
|
93
93
|
| [LDAP][url-ldap] | Aliases, Auth, and Recipient validation from LDAP |
|
|
94
94
|
| [Limit][url-limit] | Apply many types of limits to SMTP connections |
|
|
95
|
-
| [
|
|
95
|
+
| [elasticsearch][url-elastic] | Store message metadata in Elasticsearch |
|
|
96
96
|
| [log reader][url-logreader] | extract log entries from the haraka log file |
|
|
97
97
|
| [syslog][url-syslog] | Log to syslog |
|
|
98
98
|
| [mail_from.is_resolvable][url-mfres] | Verifies the MAIL FROM domain resolves to a MX |
|
|
@@ -167,7 +167,7 @@ A comprehensive list of known plugins. Create a PR to add yours to these lists.
|
|
|
167
167
|
[url-limit]: https://github.com/haraka/haraka-plugin-limit
|
|
168
168
|
[url-logreader]: https://github.com/haraka/haraka-plugin-log-reader
|
|
169
169
|
[url-milter]: https://github.com/haraka/haraka-plugin-milter
|
|
170
|
-
[url-mfres]: https://github.com/haraka/
|
|
170
|
+
[url-mfres]: https://github.com/haraka/haraka-plugin-mail_from.is_resolvable
|
|
171
171
|
[url-msgsniff]: https://github.com/haraka/haraka-plugin-messagesniffer
|
|
172
172
|
[url-ms]: http://www.armresearch.com/Products/
|
|
173
173
|
[url-creds]: https://github.com/haraka/Haraka/blob/master/docs/plugins/prevent_credential_leaks.md
|
|
@@ -189,7 +189,7 @@ A comprehensive list of known plugins. Create a PR to add yours to these lists.
|
|
|
189
189
|
[url-rqmd]: https://github.com/haraka/haraka-plugin-qmail-deliverable
|
|
190
190
|
[url-rroutes]: https://github.com/haraka/haraka-plugin-recipient-routes
|
|
191
191
|
[url-recordenv]: https://github.com/haraka/Haraka/blob/master/docs/plugins/record_envelope_addresses.md
|
|
192
|
-
[url-relay]: https://github.com/haraka/
|
|
192
|
+
[url-relay]: https://github.com/haraka/haraka-plugin-relay
|
|
193
193
|
[url-rng]: https://github.com/haraka/Haraka/blob/master/docs/plugins/reseed_rng.md
|
|
194
194
|
[url-rspamd]: https://github.com/haraka/haraka-plugin-rspamd
|
|
195
195
|
[url-spamass]: https://github.com/haraka/haraka-plugin-spamassassin
|
package/bin/haraka
CHANGED
|
@@ -143,6 +143,7 @@ function setupHostname (confPath) {
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
function setupBaseConfig (confPath) {
|
|
146
|
+
utils.copyFile(path.join(base, 'config', 'connection.ini'), path.join(confPath, 'connection.ini'));
|
|
146
147
|
utils.copyFile(path.join(base, 'config', 'smtp.ini'), path.join(confPath, 'smtp.ini'));
|
|
147
148
|
utils.copyFile(path.join(base, 'config', 'log.ini'), path.join(confPath, 'log.ini'));
|
|
148
149
|
utils.copyFile(path.join(base, 'config', 'plugins'), path.join(confPath, 'plugins'));
|
|
@@ -228,7 +229,8 @@ const plugin_doc = [
|
|
|
228
229
|
|
|
229
230
|
|
|
230
231
|
function getHooks () { // see haraka/Haraka#3306
|
|
231
|
-
|
|
232
|
+
const pi_path = path.resolve(parsed.configs, 'docs', 'Plugins.md')
|
|
233
|
+
return fs.readFileSync(pi_path).toString()
|
|
232
234
|
.split('## Available Hooks')[1] // discard everything before this string
|
|
233
235
|
.split('### rcpt')[0] // discard everything after this string
|
|
234
236
|
.match(/\*\s(\S+)/gm) // grab the first word of lines starting with '* '
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
;
|
|
2
|
+
[main]
|
|
3
|
+
|
|
4
|
+
; Require senders to conform to RFC 1869 and RFC 821 when sending the MAIL FROM and RCPT TO commands. In particular, the inclusion of spurious spaces or missing angle brackets will be rejected.
|
|
5
|
+
; strict_rfc1869 = false
|
|
6
|
+
|
|
7
|
+
; Advertise support for SMTPUTF8 (RFC-6531)
|
|
8
|
+
; smtputf8=true
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
[haproxy]
|
|
12
|
+
; Array: hosts or CIDRs that Haraka should enable the PROXY protocol from. See docs/HAProxy for format
|
|
13
|
+
hosts[] =
|
|
14
|
+
; hosts[] = 192.0.2.4
|
|
15
|
+
; hosts[] = 192.0.2.5
|
|
16
|
+
; hosts[] = [2001:db8::1]
|
|
17
|
+
; hosts[] = [2001:db8::2]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
[headers]
|
|
21
|
+
; add_received=true
|
|
22
|
+
; clean_auth_results=true
|
|
23
|
+
|
|
24
|
+
; show_version=true
|
|
25
|
+
|
|
26
|
+
max_lines=1000
|
|
27
|
+
|
|
28
|
+
max_received=100
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
[max]
|
|
32
|
+
; Integer. The maximum SIZE of an email
|
|
33
|
+
bytes=26214400
|
|
34
|
+
|
|
35
|
+
; Integer. Limit a potential denial of service in potentially hostile emails.
|
|
36
|
+
mime_parts=1000
|
|
37
|
+
|
|
38
|
+
; Integer. The maximum length of lines in SMTP session commands (e.g. RCPT, HELO etc). Defaults to 512 (bytes) as mandated by RFC 5321 §4.5.3.1.4. Clients exceeding this limit will be immediately disconnected with a "521 Command line too long" error.
|
|
39
|
+
line_length=512
|
|
40
|
+
|
|
41
|
+
; Integer. The maximum length of lines in the DATA section of emails. Defaults to 992 (bytes), the limit set by Sendmail. When this limit is exceeded the three bytes "\r\n " (0x0d 0x0a 0x20) are inserted into the stream to "fix" it. This has the potential to "break" some email, but makes it more likely to be accepted by upstream/downstream services, and is the same behaviour as Sendmail. Also when the data line length limit is exceeded `transaction.notes.data_line_length_exceeded` is set to `true`.
|
|
42
|
+
data_line_length=992
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
[message]
|
|
46
|
+
; Array. The greeting used when a client connects.
|
|
47
|
+
; greeting[]=My Custom
|
|
48
|
+
; greeting[]=Greeting Message
|
|
49
|
+
|
|
50
|
+
helo=Haraka is at your service.
|
|
51
|
+
|
|
52
|
+
; String. Override the default connection close message.
|
|
53
|
+
close=closing connection. Have a jolly good day.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
[uuid]
|
|
57
|
+
; integer, how many UUID chars to show.
|
|
58
|
+
; 0 = none, 6 is enough to be unique per day, 40 will include the
|
|
59
|
+
; full connection and transaction UUID
|
|
60
|
+
banner_chars=6
|
|
61
|
+
|
|
62
|
+
; include N characters of the uuid (in brackets) at the start of each line of the deny message
|
|
63
|
+
deny_chars=0
|
package/config/smtp.ini
CHANGED
|
@@ -44,21 +44,3 @@
|
|
|
44
44
|
; after this time it will hard close. 30s is usually long enough to
|
|
45
45
|
; wait for outbound connections to finish.
|
|
46
46
|
;force_shutdown_timeout=30
|
|
47
|
-
|
|
48
|
-
; SMTP service extensions: https://tools.ietf.org/html/rfc1869
|
|
49
|
-
; strict_rfc1869 = false
|
|
50
|
-
|
|
51
|
-
; Advertise support for SMTPUTF8 (RFC-6531)
|
|
52
|
-
;smtputf8=true
|
|
53
|
-
|
|
54
|
-
[headers]
|
|
55
|
-
;add_received=true
|
|
56
|
-
;clean_auth_results=true
|
|
57
|
-
|
|
58
|
-
;show_version=true
|
|
59
|
-
|
|
60
|
-
; replace max_header_lines
|
|
61
|
-
max_lines=1000
|
|
62
|
-
|
|
63
|
-
; replace max_received_count
|
|
64
|
-
max_received=100
|