Permalink
Please sign in to comment.
Browse files
Merge pull request #1075 from msimerson/early_talker
Early talker
- Loading branch information...
Showing
with
77 additions
and 29 deletions.
- +6 −0 config/early_talker.ini
- +0 −1 config/early_talker.pause
- +2 −7 connection.js
- +10 −10 docs/plugins/early_talker.md
- +43 −11 plugins/early_talker.js
- +16 −0 tests/plugins/{earlytalker.js → early_talker.js}
| @@ -0,0 +1,6 @@ | ||
| ; delay in seconds | ||
| pause=5 | ||
| ; terminate the connection? (default: true) | ||
| ; reject=false |
| @@ -1,20 +1,20 @@ | ||
| early\_talker | ||
| ============ | ||
| Early talkers are violators of the SMTP specification, which demands that | ||
| clients must wait for responses before sending the next command. | ||
| Early talkers are violators of the SMTP specification, which require that | ||
| clients must wait for certain responses before sending the next command. | ||
| Early talker detection is handled internally by Haraka (in connection.js). | ||
| This plugin introduces a configurable delay before the connection banner | ||
| and after the DATA command for Haraka to detect if it talks early. | ||
| At the DATA command, this plugin checks to see if an early talker was | ||
| detected. | ||
| Any plugin can detect early talkers by checking connection.early\_talker. | ||
| If an early talker is detected at connection or DATA, then a DENY is | ||
| returned with the message 'You talk too soon'. | ||
| Configuration | ||
| ------------- | ||
| * early\_talker.pause | ||
| The config file early\_talker.ini has two options: | ||
| - pause: the delay in seconds before each SMTP command. Default is no pause. | ||
| Specifies a delay in milliseconds to delay before each SMTP command before | ||
| sending the response, while waiting for early talkers. Default is no pause. | ||
| - reject: whether or not to reject for early talkers. Default is true; |
0 comments on commit
c9a7e74