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
AMaViS-user@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/amavis-user 
 AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 
 AMaViS-HowTos:http://www.amavis.org/howto/ 

Reply via email to