aboutsummaryrefslogtreecommitdiff
path: root/mail/postfix-postfwd
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2009-08-14 19:55:13 +0000
committerMartin Wilke <miwi@FreeBSD.org>2009-08-14 19:55:13 +0000
commitb093bafb0d34d81c54792d2bf8d251dd158d35e0 (patch)
tree4df7ff2f78aada09cdba7dee151a42181031e804 /mail/postfix-postfwd
parenta5a5ac0b49a727e51e1264a7f29cb31cf5589c19 (diff)
downloadports-b093bafb0d34d81c54792d2bf8d251dd158d35e0.tar.gz
ports-b093bafb0d34d81c54792d2bf8d251dd158d35e0.zip
- Update to 1.14
PR: 136730 Submitted by: Sahil Tandon <sahil@tandon.net> (maintainer)
Notes
Notes: svn path=/head/; revision=239550
Diffstat (limited to 'mail/postfix-postfwd')
-rw-r--r--mail/postfix-postfwd/Makefile23
-rw-r--r--mail/postfix-postfwd/distinfo6
-rw-r--r--mail/postfix-postfwd/files/extra-patch-sbin-postfwd42
-rw-r--r--mail/postfix-postfwd/files/pkg-message.in2
4 files changed, 67 insertions, 6 deletions
diff --git a/mail/postfix-postfwd/Makefile b/mail/postfix-postfwd/Makefile
index 45398497f492..95d7687eac63 100644
--- a/mail/postfix-postfwd/Makefile
+++ b/mail/postfix-postfwd/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= postfwd
-PORTVERSION= 1.13
+PORTVERSION= 1.14
CATEGORIES= mail
MASTER_SITES= http://www.${PORTNAME}.org/old/
PKGNAMEPREFIX= postfix-
@@ -23,14 +23,20 @@ PLIST_FILES= bin/${PORTNAME} etc/${PORTNAME}.conf.sample
SUB_FILES= pkg-message
-USE_RC_SUBR= ${PORTNAME}
+USE_RC_SUBR= ${PORTNAME}
USE_PERL5_RUN= yes
NO_BUILD= yes
MAN8= ${PORTNAME}.8
+OPTIONS= MRCPT "Sahil's patch for max recipients per time window" off
+
.include <bsd.port.pre.mk>
+.if !defined(WITHOUT_MRCPT)
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-sbin-postfwd
+.endif
+
do-install:
@${INSTALL_SCRIPT} ${WRKSRC}/sbin/${PORTNAME} ${PREFIX}/bin/
@${INSTALL_DATA} ${WRKSRC}/etc/${PORTNAME}.cf.sample ${PREFIX}/etc/${PORTNAME}.conf.sample
@@ -46,5 +52,18 @@ post-install:
@${INSTALL_DATA} ${WRKSRC}/tools/${PORTEXAMPLES} ${EXAMPLESDIR}
.endif
@${CAT} ${PKGMESSAGE}
+.if !defined(WITHOUT_MRCPT)
+ @${ECHO_MSG}
+ @${ECHO_MSG} The mrcpt\(\) command works like the rate\(\) command,
+ @${ECHO_MSG} except that the rate counter is incremented by the
+ @${ECHO_MSG} request\'s recipient_count. To do this reliably,
+ @${ECHO_MSG} call postfwd from smtpd_data_restrictions.
+ @${ECHO_MSG}
+ @${ECHO_MSG} Example:
+ @${ECHO_MSG} " id=MAX_RECIPIENTS; protocol_state=DATA; \\ "
+ @${ECHO_MSG} " client_address==192.168.1.1; \\ "
+ @${ECHO_MSG} " action==mrcpt(\$$\$$client_address/5/3600/450 4.7.1 max 5 recip/hour) "
+ @${ECHO_MSG}
+.endif
.include <bsd.port.post.mk>
diff --git a/mail/postfix-postfwd/distinfo b/mail/postfix-postfwd/distinfo
index fda8e4b655bc..5436ad1b9473 100644
--- a/mail/postfix-postfwd/distinfo
+++ b/mail/postfix-postfwd/distinfo
@@ -1,3 +1,3 @@
-MD5 (postfwd-1.13.tar.gz) = 4790bdc66509f504dac38a0ef67033e1
-SHA256 (postfwd-1.13.tar.gz) = 5d8571ce6e3e5d2802e94a5c784a873822fd5b010d6e98b32c66e3dfd583defa
-SIZE (postfwd-1.13.tar.gz) = 94497
+MD5 (postfwd-1.14.tar.gz) = 24feb8cd2c0fea566603a6ba1a38caea
+SHA256 (postfwd-1.14.tar.gz) = 9810609239633021ea87fab48431adc23d61445e5c9fc997cad0cba10a0428c4
+SIZE (postfwd-1.14.tar.gz) = 95061
diff --git a/mail/postfix-postfwd/files/extra-patch-sbin-postfwd b/mail/postfix-postfwd/files/extra-patch-sbin-postfwd
new file mode 100644
index 000000000000..22595e715e1e
--- /dev/null
+++ b/mail/postfix-postfwd/files/extra-patch-sbin-postfwd
@@ -0,0 +1,42 @@
+--- sbin/postfwd.orig 2009-06-29 05:36:15.000000000 -0400
++++ sbin/postfwd 2009-07-09 22:56:26.000000000 -0400
+@@ -1229,7 +1229,7 @@
+ type => $mycmd,
+ maxcount => $ratecount,
+ ttl => $ratetime,
+- count => ( ($mycmd eq 'size') ? $request{size} : 1 ),
++ count => (($mycmd eq 'size') ? $request{size} : (($mycmd eq 'mrcpt') ? $request{recipient_count} : 1)),
+ time => $now,
+ rule => $Rules[$index]{$COMP_ID},
+ action => $ratecmd,
+@@ -1246,6 +1246,8 @@
+ },
+ # size() command
+ "size" => sub { return &{$postfwd_actions{rate}}(@_); },
++ # mrcpt() command
++ "mrcpt" => sub { return &{$postfwd_actions{rate}}(@_); },
+ # wait() command
+ "wait" => sub {
+ my($index,$now,$mycmd,$myarg,$myline,%request) = @_;
+@@ -1724,7 +1726,9 @@
+ next RATES unless ( $request{$checkreq} and (defined $Rates{$request{$checkreq}}) );
+ if ( ($now - $Rates{$request{$checkreq}}{"time"}) > $Rates{$request{$checkreq}}{ttl} ) {
+ # renew rate
+- $Rates{$request{$checkreq}}{count} = ( ($Rates{$request{$checkreq}}{type} eq 'size') ? $request{size} : 1 );
++ $Rates{$request{$checkreq}}{count} = ( ($Rates{$request{$checkreq}}{type} eq 'size')
++ ? $request{size} : (($Rates{$request{$checkreq}}{type} eq 'mrcpt')
++ ? $request{recipient_count} : 1) );
+ $Rates{$request{$checkreq}}{"time"} = $now;
+ mylogs $syslog_priority, "[RATE] renewing rate object ".$request{$checkreq}
+ ." [type: ".$Rates{$request{$checkreq}}{type}
+@@ -1733,7 +1737,9 @@
+ if ($opt_verbose > 1);
+ } else {
+ # increase rate
+- $Rates{$request{$checkreq}}{count} += ( ($Rates{$request{$checkreq}}{type} eq 'size') ? $request{size} : 1 );
++ $Rates{$request{$checkreq}}{count} += (($Rates{$request{$checkreq}}{type} eq 'size')
++ ? $request{size} : (($Rates{$request{$checkreq}}{type} eq 'mrcpt')
++ ? $request{recipient_count} : 1));
+ mylogs $syslog_priority, "[RATE] increasing rate object ".$request{$checkreq}
+ ." to ".$Rates{$request{$checkreq}}{count}
+ ." [type: ".$Rates{$request{$checkreq}}{type}
diff --git a/mail/postfix-postfwd/files/pkg-message.in b/mail/postfix-postfwd/files/pkg-message.in
index 053d808d3f32..956c53a499eb 100644
--- a/mail/postfix-postfwd/files/pkg-message.in
+++ b/mail/postfix-postfwd/files/pkg-message.in
@@ -3,7 +3,7 @@
# %%PREFIX%%/etc/rc.d/postfwd start
-* Integrate thusly in: %%PREFIX%%/etc/postfix/main.cf
+* Integrate thusly in: %%LOCALBASE%%/etc/postfix/main.cf
127.0.0.1:10040_time_limit = 3600