Rocco,
> > Nevertheless, according to SA documentation the current
> > calling method (since SA 3.0.0) lacks a call to $mail_obj->finish.
> > The following patch should fix it:
> I'm using SA 3.1.8. Do it suffer of the same problem?
Yes, I would think the 3.1.8 came after 3.0.0.
> I'm using amavisd-new-2.4.4. Is this patch valid for the amavisd script
> included in this amavisd-new version?
Here is a patch against 2.4.4:
--- amavisd~ Mon Nov 20 18:35:40 2006
+++ amavisd Tue May 22 12:26:58 2007
@@ -15987,5 +15987,5 @@
section_time($which_section);
- my($per_msg_status);
+ my($mail_obj,$per_msg_status);
my($saved_umask) = umask; my($saved_pid) = $$;
my($start_time) = time; # SA may use timer for its own purposes, get time
@@ -16006,5 +16006,5 @@
alarm($dt);
do_log(5,"timer set to %d s for SA (was %d s)", $dt,$remaining_time);
- my($mail_obj); my($sa_version) = $self->sa_version;
+ my($sa_version) = $self->sa_version;
do_log(5,"calling SA parse, SA version %s", $sa_version);
# *** note that $sa_version could be 3.0.1, which is not really numeric!
@@ -16062,4 +16062,6 @@
if (defined $per_msg_status)
{ $per_msg_status->finish; undef $per_msg_status }
+ if (defined $mail_obj)
+ { $mail_obj->finish; undef $mail_obj }
if ($$ != $saved_pid) {
eval { do_log(-2,"PANIC, SA produced a clone process ".
and here is the same patch against 2.4.5:
--- amavisd~ Wed Jan 31 00:12:37 2007
+++ amavisd Tue May 22 12:23:46 2007
@@ -16184,5 +16184,5 @@
sub call_spamassassin($$$) {
my($self,$msginfo,$lines) = @_;
- my($which_section); my($per_msg_status);
+ my($which_section); my($mail_obj,$per_msg_status);
my($saved_umask) = umask; my($saved_pid) = $$;
my($spamassassin_obj) = $self->{'spamassassin_obj'};
@@ -16203,5 +16203,5 @@
eval {
$which_section = 'SA parse';
- my($mail_obj); my($sa_version) = $self->sa_version;
+ my($sa_version) = $self->sa_version;
do_log(5,"calling SA parse, SA version %s", $sa_version);
# *** note that $sa_version could be 3.0.1, which is not really numeric!
@@ -16249,4 +16249,6 @@
if (defined $per_msg_status)
{ $per_msg_status->finish; undef $per_msg_status }
+ if (defined $mail_obj)
+ { $mail_obj->finish; undef $mail_obj }
if ($$ != $saved_pid) {
eval { do_log(-2,"PANIC, SA produced a clone process ".
> If Yes, How do I have to apply the patch?
Save a patch to some file, e.g. 0.patch, then cd to a directory
where amavisd is located, and apply the patch with a 'patch' command,
feeding 0.patch on stdin to it, e.g.:
cd /usr/local/sbin
#have 0.patch ready in this directory
patch < 0.patch
It knows which file to patch by looking at first two lines of a patch.
Mark
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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/