You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2022/03/09 13:17:24 UTC
svn commit: r1898780 - /spamassassin/trunk/lib/Mail/SpamAssassin.pm
Author: hege
Date: Wed Mar 9 13:17:24 2022
New Revision: 1898780
URL: http://svn.apache.org/viewvc?rev=1898780&view=rev
Log:
Purge old .sawritetest files automatically
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin.pm?rev=1898780&r1=1898779&r2=1898780&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin.pm Wed Mar 9 13:17:24 2022
@@ -1979,6 +1979,13 @@ sub set_global_state_dir {
sub test_global_state_dir {
my ($self, $dir) = @_;
eval { mkpath($dir, 0, 0700); }; # just a single stat if exists already
+ # Purge stale test files
+ if (opendir(WT_DIR, $dir)) {
+ foreach (grep {/^\.sawritetest/ && -M "$dir/$_" > 0.0001} readdir(WT_DIR)) {
+ unlink(Mail::SpamAssassin::Util::untaint_file_path("$dir/$_"));
+ }
+ closedir WT_DIR;
+ }
my $n = ".sawritetest$$".Mail::SpamAssassin::Util::pseudo_random_string(6);
my $file = File::Spec->catdir($dir, $n);
if (Mail::SpamAssassin::Util::touch_file($file, { create_exclusive => 1 })) {