On Jul 27, 2015, at 10:12 AM, Philip Prindeville 
<[email protected]> wrote:

> 
> On Jul 27, 2015, at 8:07 AM, Dianne Skoll <[email protected]> wrote:
> 
>> On Mon, 27 Jul 2015 00:11:09 -0600
>> Philip Prindeville <[email protected]> wrote:
>> 
>>> Update: I changed the timeout argument to T=S:2m;R:2m;E:10m and
>>> rebuilt sendmail.cf, then restarted the service.
>> 
>>> The problem seems to have gone away, but I’m not sure why.
>> 
>> Obviously, your filter was taking more than 5 minutes but less than
>> 10 to process a message, so the timeout is no longer hit and sendmail
>> doesn't exit before MIMEDefang has had a chance to reply.
>> 
>> Regards,
>> 
>> Dianne.
> 
> 
> That’s a REALLY long time to take to process a message.
> 
> I’ll throw some profiling logging messages in there and see if I can figure 
> out what steps are taking so long.
> 
> -Philip


Made the following changes… Added this:

use Time::HiRes qw(gettimeofday tv_interval);

…

my $ts1 = undef;
my $where = ‘';

sub __enter()
{
    ($where = (caller(1))[3]) =~ s/.*:://;

    $ts1 = [gettimeofday()];
}

sub __leave()
{
    my $elapsed = tv_interval($ts1);

    my $log = sprintf "%s used %f secs", $where, $elapsed;

    md_syslog('debug', $log);
}

and then pepper my functions like filter_helo() with:

__enter();

just after the opening brace, and:

__leave();

before any “return” or closing braces.  Seems to be working so far:

Jul 28 14:18:17 mail mimedefang.pl[20236]: relay: hr1.samba.org 
(144.76.82.147:52289 => 192.168.1.3:25) de
Jul 28 14:18:17 mail mimedefang.pl[20236]: filter_relay used 0.000451 secs
Jul 28 14:18:22 mail mimedefang.pl[20236]: helo: hr1.samba.org 
(144.76.82.147:52289) said "helo hr1.samba.org"
Jul 28 14:18:22 mail mimedefang.pl[20236]: filter_helo used 0.307565 secs
Jul 28 14:18:23 mail sendmail[20283]: STARTTLS=server, relay=hr1.samba.org 
[144.76.82.147], version=TLSv1/SSLv3, verify=FAIL, 
cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
Jul 28 14:18:23 mail mimedefang.pl[20236]: helo: hr1.samba.org 
(144.76.82.147:52289) said "helo hr1.samba.org"
Jul 28 14:18:23 mail mimedefang.pl[20236]: filter_helo used 0.002247 secs
Jul 28 14:18:23 mail mimedefang.pl[20237]: t6SKIHgw020283: filter_sender used 
0.000029 secs
Jul 28 14:18:23 mail mimedefang.pl[20236]: t6SKIHgw020283: filter_recipient 
used 0.000022 secs
Jul 28 14:18:24 mail sendmail[20283]: t6SKIHgw020283: 
from=<[email protected]>, size=3652, class=-30, nrcpts=1, 
msgid=<CAAPGDw+kBMUqFBnaEBG+EWW85PiJr=cvgo4phoyolmo8cdy...@mail.gmail.com>, 
proto=ESMTP, daemon=MTA-v4, relay=hr1.samba.org [144.76.82.147]
Jul 28 14:18:26 mail mimedefang.pl[20236]: t6SKIHgw020283: 
MDLOG,t6SKIHgw020283,mail_in,,,<[email protected]>,<[email protected]>,Re:
 [PATCH] Add strsep function (missing on Solaris)
Jul 28 14:18:26 mail sendmail[20283]: t6SKIHgw020283: Milter add: header: 
X-Scanned-By: MIMEDefang 2.78 on 192.168.1.3
Jul 28 14:18:27 mail lmtpunix[20242]: Delivered: 
<CAAPGDw+kBMUqFBnaEBG+EWW85PiJr=cvgo4phoyolmo8cdy...@mail.gmail.com> to 
mailbox: user.philipp.Lists.Samba-technical
Jul 28 14:18:27 mail lmtpunix[20242]: USAGE philipp user: 0.006767 sys: 0.006767
Jul 28 14:18:27 mail sendmail[20286]: t6SKIHgw020283: to=philipp, 
delay=00:00:04, xdelay=00:00:01, mailer=cyrusv2, pri=87994, relay=localhost, 
dsn=2.0.0, stat=Sent


Am I correctly seeing that filter_helo() is being called twice for the same 
connection?  Looks that way.

-Philip


_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to