Package: mailscanner Version: 4.41.3-1 Followup-For: Bug #305496
I am porting a split-queue exim system from Solaris to Debian and have run into trouble: I send an email to development email server "klemperer" with new mailscanner and get this in the log (sorry about the line-feeds): May 12 10:11:08 klemperer MailScanner[10868]: New Batch: Scanning 1 messages, 1781 bytes ...[stuff about virus, mcp and so on deleted]... May 12 10:11:09 klemperer MailScanner[10868]: Filetype Checks: Allowing 1DW9iK-00033m-2e msg-10868-3.txt May 12 10:11:09 klemperer MailScanner[10868]: Failed to link message body between queues (/var/spool/exim4/input/K/1DW9iK-00033m-2e-D --> /var/spool/exim4_incoming/input/1DW9iK-00033m-2e-D) May 12 10:11:09 klemperer MailScanner[10868]: Could not open file /var/spool/exim4/input/K/1DW9iK-00033m-2e-T: No such file or directory May 12 10:11:09 klemperer MailScanner[10868]: Cannot create + lock clean tempfile /var/spool/exim4/input/K/1DW9iK-00033m-2e-T, This is because the K directory is missing, as in /var/spool/exim4/input/K . If I re-create all directories A-z and 0-9 every minute using a cron-job, email goes through with no errors, though it is a horrible bodge and may fail under load. If I use the trick given in report 305496, using an asterisk on the spooldir of the outgoing process, I get 2005-05-12 15:23:49 1DWEZy-0002Xj-S1 Spool file 1DWEZy-0002Xj-S1-D not found Also this directory appears: /var/spool/exim4_incoming/* that is, subdirectory "asterisk". I think MailScanner should create any such directories if it needs to because the tidy-minded exim eats them at startup and also when the queue-runner runs. If I have fallen into a pit, my apologies, but there seems to be more than one way to fall in to it, and all might need to be documented, whereas creating the directories would be kinder to unwary admins. Extract from exim source code, in queue.c: /* We must ensure all files are removed from both the input directory and the appropriate subdirectory, to clean up cases when there are odd files left lying around in odd places. In the normal case message_subdir will have been set correctly by spool_read_header, but as this is a rare operation, just run everything twice. */ As an experiment, I stopped mailscanner and left exim running. I removed all the single-character sub-directories. Then I sent an email to the test account. It arrived in the incoming queue dir. I stopped exim and mv'd the 2 files (header and data) from the incoming queue dir to the outgoing queue dir (and similar for the log in msglog). On restart, exim quietly delivered the email to the user's inbox. Now I am wondering if the lettered subdirectories are MailScanner's invention, and how to make them go away. Here's where exim4.conf sets the queue dirs: ..ifdef OUTGOING # /usr/sbin/exim4 -oP /var/run/exim4/eximqr.pid -q30m -DOUTGOING SPOOLDIR = /var/spool/exim4 ..else # /usr/sbin/exim4 -bd -odq queue_only = true queue_only_override = false SPOOLDIR = /var/spool/exim4_incoming log_file_path = /var/log/exim4_incoming/%slog ..endif spool_directory = SPOOLDIR And here's where MailScanner.conf sets the queue dirs: Incoming Queue Dir = /var/spool/exim4_incoming/input Outgoing Queue Dir = /var/spool/exim4/input I'll supply any other information you require. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.4.26-1-386 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages mailscanner depends on: ii debconf 1.4.30.13 Debian configuration management sy ii exim4 4.50-4 metapackage to ease exim MTA (v4) ii exim4-daemon-heavy [mail-tran 4.50-4 exim MTA (v4) daemon with extended ii libarchive-zip-perl 1.14-1 Module for manipulation of ZIP arc ii libcompress-zlib-perl 1.34-1 Perl module for creation and manip ii libconvert-binhex-perl 1.119-2 Perl5 module for extracting data f ii libconvert-tnef-perl 0.17-4 Perl module to read TNEF files ii libhtml-parser-perl 3.45-2 A collection of modules that parse ii libmime-perl 5.417-1 Perl5 modules for MIME-compliant m ii libnet-cidr-perl 0.10-1 Manipulate IPv4/IPv6 netblocks in ii perl 5.8.4-8 Larry Wall's Practical Extraction ii spamassassin 3.0.2-1 Perl-based spam filter using text ii ucf 1.17 Update Configuration File: preserv ii unzip 5.52-1 De-archiver for .zip files ii wget 1.9.1-11 retrieves files from the web -- debconf information: mailscanner/v3_upgrade: Don't upgrade -- This message has been scanned on otto for viruses and dangerous content by MailScanner, and is believed to be clean. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]