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'},
|