summaryrefslogtreecommitdiff
path: root/net-mail/sympa/files/sympa-5.4.moderation.patch
blob: 8af00ea42f9fa85131571d1c0a0ad1cf8b14fb03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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'},