mirror of
https://git.freebsd.org/ports.git
synced 2025-06-01 10:56:27 -04:00
- Update to 1.14
PR: 136730 Submitted by: Sahil Tandon <sahil@tandon.net> (maintainer)
This commit is contained in:
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
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
42
mail/postfix-postfwd/files/extra-patch-sbin-postfwd
Normal file
42
mail/postfix-postfwd/files/extra-patch-sbin-postfwd
Normal 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}
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue