two ideas, one bad and one less bad, certainly not new:
1) can we have a message_multi, or whatever, similar in action to
log_message, immediately writing a multiline (5XX- ) response to the
smtp stream?
So:
deny/defer/accept .... [determines is 5/4/2XX message]
conditions/actions [excluding a message_multi]
conditions/actions
...
actions [delay/log_message/message_multi]
message_multi .....
...
repeat... [but no more conditions]
message ... [not necessarily last, but it would define the last response]
conditions have to be before the first message_multi, because before
sending a response to the smtp stream we must be sure that the verb
(deny/warn/accept) has succeeded. This would enable an easy on-line
tarpitting:
ex:
deny message = you have been tangoed!
condition = [check helo]
condition = [check sender domain]
delay = 10s
message_multi = wait a second
delay = 10s
message_multi = the coffee is not ready yet
delay = 10s
message_multi = tanto va la gatta al lardo...
delay = 10s
message_multi = ...che ci rimette lo zampino
delay = 10s
message_multi = knock knock
delay = 10s
message_multi = who is there?
delay = 30s
message_multi = you've got the idea...
under the "warn" verb message_multi would have no effect.
2) much simpler would be a delay_multi condition (always return
true), that would introduce a delay for each newline in a multiline
response. So, for instance:
deny message = first line\nsecond line\nI got bored\nfourth line
condition = ....
delay_multi [position is unimportant]
condition = ...
Giuliano