- Update to 1.14

PR:		136730
Submitted by:	Sahil Tandon <sahil@tandon.net> (maintainer)
This commit is contained in:
Martin Wilke 2009-08-14 19:55:13 +00:00
parent a5a5ac0b49
commit b093bafb0d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=239550
4 changed files with 67 additions and 6 deletions

View file

@ -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>

View file

@ -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

View file

@ -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}

View file

@ -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