summaryrefslogtreecommitdiff
path: root/net-mail/sympa/files/sympa-5.4.moderation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-mail/sympa/files/sympa-5.4.moderation.patch')
-rw-r--r--net-mail/sympa/files/sympa-5.4.moderation.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/net-mail/sympa/files/sympa-5.4.moderation.patch b/net-mail/sympa/files/sympa-5.4.moderation.patch
new file mode 100644
index 0000000..8af00ea
--- /dev/null
+++ b/net-mail/sympa/files/sympa-5.4.moderation.patch
@@ -0,0 +1,82 @@
+--- src/Commands.pm.orig 2008-05-02 10:31:47.000000000 +0200
++++ src/Commands.pm 2008-10-08 21:45:39.270266973 +0200
+@@ -2027,11 +2027,12 @@
+ my $modqueue = &Conf::get_robot_conf($robot,'queuemod') ;
+
+ my $name = $list->{'name'};
+- my $file;
++ my $file, $dir;
+
+ ## For compatibility concerns
+ foreach my $list_id ($list->get_list_id(),$list->{'name'}) {
+ $file = $modqueue.'/'.$list_id.'_'.$key;
++ $dir = $modqueue.'/.'.$list_id.'_'.$key;
+ last if (-f $file);
+ }
+
+@@ -2040,6 +2041,7 @@
+ ## For compatibility concerns
+ foreach my $list_id ($list->get_list_id(),$list->{'name'}) {
+ $file = $modqueue.'/'.$list_id.'_'.$key.'.distribute';
++ $dir = $modqueue.'/.'.$list_id.'_'.$key;
+ last if (-f $file);
+ }
+ }
+@@ -2102,6 +2104,7 @@
+ &do_log('info', 'Message for %s from %s moved in spool %s for distribution message-id=%s', $name, $sender, $Conf{'queuedistribute'},$hdr->get('Message-Id'));
+ }
+ unlink($file);
++ &tools::remove_dir($dir);
+
+ return 1;
+ }
+@@ -2318,11 +2321,12 @@
+ &Language::SetLang($list->{'admin'}{'lang'});
+
+ my $name = "$list->{'name'}";
+- my $file;
++ my $file, $dir;
+
+ ## For compatibility concerns
+ foreach my $list_id ($list->get_list_id(),$list->{'name'}) {
+ $file = $modqueue.'/'.$list_id.'_'.$key;
++ $dir = $modqueue.'/.'.$list_id.'_'.$key;
+ last if (-f $file);
+ }
+
+@@ -2386,6 +2390,7 @@
+ close(IN);
+ &do_log('info', 'REJECT %s %s from %s accepted (%d seconds)', $name, $sender, $key, time-$time_command);
+ unlink($file);
++ &tools::remove_dir($dir);
+
+ return 1;
+ }
+--- wwsympa/wwsympa.fcgi.orig 2008-04-11 11:42:53.000000000 +0200
++++ wwsympa/wwsympa.fcgi 2008-10-08 23:11:45.242256683 +0200
+@@ -6144,7 +6144,7 @@
+ $in{'id'} =~ s/\0/,/g;
+
+ &wwslog('info', 'do_reject(%s)', $in{'id'});
+- my ($msg, $file);
++ my ($msg, $file, $dir);
+
+ unless ($param->{'list'}) {
+ &report::reject_report_web('user','missing_arg',{'argument' => 'list'},$param->{'action'});
+@@ -6188,6 +6188,7 @@
+ ## For compatibility concerns
+ foreach my $list_id ($list->get_list_id(),$list->{'name'}) {
+ $file = $Conf{'queuemod'}.'/'.$list_id.'_'.$id;
++ $dir = $Conf{'queuemod'}.'/.'.$list_id.'_'.$id;
+ last if (-f $file);
+ }
+
+@@ -6234,7 +6235,7 @@
+ }
+ close(IN);
+
+- unless (unlink($file)) {
++ unless (unlink($file) && &tools::remove_dir($dir)) {
+ &report::reject_report_web('intern','erase_file',{'file' => $file},$param->{'action'},$list,$param->{'user'}{'email'},$robot);
+ &wwslog('err','do_reject: failed to erase %s', $file);
+ &web_db_log({'parameters' => $in{'id'},