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]

Reply via email to