X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=onak-mail.pl.in;h=097404e67b6a9df44761bfbb5ff1d15748ecb712;hb=018dafe62a5fcb63626c01d8bafdc7330fc13278;hp=77a3d3677de9174f42587601bf8bb802be8894bf;hpb=5e1b22d763640c4d7a09d07920403d8d491b4410;p=onak.git diff --git a/onak-mail.pl.in b/onak-mail.pl.in index 77a3d36..097404e 100644 --- a/onak-mail.pl.in +++ b/onak-mail.pl.in @@ -37,8 +37,6 @@ sub readconfig { $config{'mta'} = $1; } elsif (/^pks_bin_dir (.*)/) { $config{'pks_bin_dir'} = $1; - } elsif (/^db_dir (.*)/) { - $config{'db_dir'} = $1; } elsif (/^mail_dir (.*)/) { $config{'mail_dir'} = $1; } elsif (/^syncsite (.*)/) { @@ -212,17 +210,18 @@ my $tmpfile = sprintf "%s/%04d%02d%02d-%02d%02d%02d-%d.onak", $time[1], $time[0], $$; -open(MAILFILE, '>'.$tmpfile); +open(MAILFILE, '>'.$tmpfile.'.tmp'); while (<>) { print MAILFILE $_; } close(MAILFILE); +rename $tmpfile.".tmp", $tmpfile; # # Lock here to ensure that only one copy of us is processing the incoming # mail queue at any point in time. # -sysopen(LOCKFILE, $config{'db_dir'}.'/onak-mail.lck', +sysopen(LOCKFILE, $config{'mail_dir'}.'/onak-mail.lck', O_WRONLY|O_CREAT|O_EXCL) or exit; print LOCKFILE "$$"; close(LOCKFILE); @@ -265,4 +264,4 @@ while ($file = readdir(MAILDIR)) { processmail($subject, $from, $replyto, \%seenby, \@body); } closedir(MAILDIR); -unlink $config{'db_dir'}.'/onak-mail.lck'; +unlink $config{'mail_dir'}.'/onak-mail.lck';