Mark,
Here is the diff -u from your 2.5.4 source tarball and from my rpm.
I wonder how this could have been changed, I'll ask my teammates why. I
think that is a human mistake, and that is not from rpmforge packagers.
It's seems that with your original code everything is OK. Thanks a lot
for helping me and excuse me for wasting your time.
--- amavisd.fromtarball 2009-06-29 13:57:07.000000000 +0200
+++ /usr/sbin/amavisd 2008-11-10 11:37:08.000000000 +0100
@@ -3123,6 +3123,8 @@
# for my $f (sort {$s{$a}<=>$s{$b}} keys %fld)
# { do_log(5, "%-8s -> /%s/", $f,$fld{$f}) }
\%fld;
+
+ do_log(2, "premier -> /%s/", $fld{'from-tcp'});
}
sub fish_out_ip_from_received($) {
Sebastien
Mark Martinec a écrit :
> Sébastien,
>
>
>> Acutally I run a postfix 2.5.4 and amavisd-new 2.5.4 on a centos 4 box.
>> We got these error :
>> /(!!)TROUBLE in check_mail, but must continue (1): main_log_entry
>> FAILED: Can't use stri
>> ng ("1") as a HASH ref while "strict refs" in use at /usr/sbin/amavisd
>> line 3134, <GEN78> line 648.
>> /In our logs, mails are scanned with no problem but this warning is very
>> annoying because all of the amavis temporary directories are not
>> suppressed :
>> /(!)PRESERVING EVIDENCE in /var/amavis/tmp/amavis-20090629T105243-24158
>> /
>> I can't see what is the problem, it seems that it's in
>> fish_out_ip_from_received function on this line:
>> /for (grep {defined} (@$fields_ref{qw(from-tcp from from-com)}))/
>>
>
> I don't remember any know problems in that area.
> Could you please check if your subroutines 'sub parse_received'
> and 'sub fish_out_ip_from_received' are the same as in my
> original distribution tarball?
>
> You may want to add some debugging printouts, e.g.:
>
> --- amavisd~ 2008-04-10 16:18:49.000000000 +0200
> +++ amavisd 2009-06-29 13:39:04.000000000 +0200
> @@ -3123,5 +3123,7 @@
> # for my $f (sort {$s{$a}<=>$s{$b}} keys %fld)
> # { do_log(5, "%-8s -> /%s/", $f,$fld{$f}) }
> - \%fld;
> + my($result) = \%fld;
> + do_log(0, "TEST1 parse_received, result=%s", $result);
> + $result;
> }
>
> @@ -3129,6 +3131,8 @@
> my($received) = @_;
> my($fields_ref) = parse_received($received);
> + do_log(0, "TEST2 fish_out_ip_from_received, got %s", $fields_ref);
> my($ip); local($1);
> for (grep {defined} (@$fields_ref{qw(from-tcp from from-com)})) {
> + do_log(0, "TEST3 field %s", $_);
> if (/ \[ (\d{1,3} (?: \. \d{1,3}){3}) (?: \. \d{4,5} )? \] /x) {
> $ip = $1; last;
>
>
>
> Mark
>
> ------------------------------------------------------------------------------
> _______________________________________________
> AMaViS-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/amavis-user
> AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
> AMaViS-HowTos:http://www.amavis.org/howto/
>
------------------------------------------------------------------------------
_______________________________________________
AMaViS-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amavis-user
AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
AMaViS-HowTos:http://www.amavis.org/howto/