summaryrefslogtreecommitdiff
path: root/doc/doc-txt/NewStuff
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2007-06-20 14:13:39 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2007-06-20 14:13:39 +0000
commit8f2401034e2ce4007b1f270cd389381753c814eb (patch)
treed1d88b61972f84d9cfceff56c752bd6f94608917 /doc/doc-txt/NewStuff
parenta96603a0e5a7283a9275fb090dac95a42e05a423 (diff)
Add /noupdate as a ratelimit option.
Diffstat (limited to 'doc/doc-txt/NewStuff')
-rw-r--r--doc/doc-txt/NewStuff29
1 files changed, 28 insertions, 1 deletions
diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index 70da9ace2..f6cbf54c3 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.150 2007/06/19 14:41:31 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.151 2007/06/20 14:13:39 ph10 Exp $
New Features in Exim
--------------------
@@ -47,6 +47,33 @@ Version 4.68
message to the standard output, in RFC 2822 format. The option can be used
only by an admin user.
+ 5. There is now a /noupdate option for the ratelimit ACL condition. It
+ computes the rate and checks the limit as normal, but it does not update
+ the saved data. This means that, in relevant ACLs, it is possible to lookup
+ the existence of a specified (or auto-generated) ratelimit key without
+ incrementing the ratelimit counter for that key.
+
+ In order for this to be useful, another ACL entry must set the rate
+ for the same key somewhere (otherwise it will always be zero).
+
+ Example:
+
+ acl_check_connect:
+ # Read the rate; if it doesn't exist or is below the maximum
+ # we update it below
+ deny ratelimit = 100 / 5m / strict / noupdate
+ log_message = RATE: $sender_rate / $sender_rate_period \
+ (max $sender_rate_limit)
+
+ [... some other logic and tests...]
+
+ warn ratelimit = 100 / 5m / strict / per_cmd
+ log_message = RATE UPDATE: $sender_rate / $sender_rate_period \
+ (max $sender_rate_limit)
+ condition = ${if le{$sender_rate}{$sender_rate_limit}}
+
+ accept
+
Version 4.67
------------