[exim] bug in exim 4.44 - Message sender with space in user …

Top Page
Delete this message
Reply to this message
Author: Marc Haber
Date:  
To: exim-users
Old-Topics: [exim] Message sender with \ and space leads to "spool format error"
Subject: [exim] bug in exim 4.44 - Message sender with space in user name leads to "spool format error"
This is Debian Bug #293314 (http://bugs.debian.org/293314).

After some investigation it looks like exim chokes on message senders
with UNIX account names containing a space. These account names are
not allowed by POSIX, but can be configured on some systems, and might
come in from database setups as in the case of the original bug
reporter.

Exim accepts the message, creates spool files, but cannot cope with
these files because it considers them as being in a bad format.

|[37/50]mh@lefler[chroot sid]:~$ exim -bV
|Exim version 4.44 #1 built 27-Jan-2005 13:55:35
|Copyright (c) University of Cambridge 2004
|Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003)
|Support for: iconv() IPv6 GnuTLS
|Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dsearch nis nis0 passwd
|Authenticators: cram_md5 plaintext
|Routers: accept dnslookup ipliteral manualroute queryprogram redirect
|Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
|Fixed never_users: 0
|Configuration file is /var/lib/exim4/config.autogenerated
|[38/51]mh@lefler[chroot sid]:~$ grep user /etc/passwd
|user name:x:1002:1002:foo,,,:/home/user:/bin/bash
|[39/52]mh@lefler[chroot sid]:~$ sudo -u 'user name' mail -s foo mh+exim-users@???
|foo
|Cc:
|[40/53]mh@lefler[chroot sid]:~$
|[40/53]mh@lefler[chroot sid]:~$ exim -bp
|      1CxlOw-0006EJ-5L
|    *** spool format error: size=742 ***

|
|[41/54]mh@lefler[chroot sid]:~$ tail -n 2 /var/log/exim4/mainlog
|2005-02-06 12:20:30 1CxlOw-0006EJ-5L <= "user name"@??? U=user name P=local S=373
|2005-02-06 12:20:30 1CxlOw-0006EJ-5L Format error in spool file 1CxlOw-0006EJ-5L-H: size=742
|[42/55]mh@lefler[chroot sid]:~$ cat /var/spool/exim4/input/1CxlOw-0006EJ-5L-D
|1CxlOw-0006EJ-5L-D
|foo
|[43/56]mh@lefler[chroot sid]:~$ cat /var/spool/exim4/input/1CxlOw-0006EJ-5L-H
|1CxlOw-0006EJ-5L-H
|user name 1002 1002
|<"user name"@???>
|1107692430 0
|-ident user name
|-received_protocol local
|-body_linecount 1
|-auth_id user name
|-auth_sender user name@???
|-allow_unqualified_recipient
|-allow_unqualified_sender
|-deliver_firsttime
|-local
|XX
|1
|mh+exim-users@???
|
|168P Received: from user name by lefler.int.l21.ma.example.com with local (Exim 4.44)
|        id 1CxlOw-0006EJ-5L
|        for mh+exim-users@???; Sun, 06 Feb 2005 12:20:30 +0000

|031T To: mh+exim-users@???
|013 Subject: foo
|063I Message-Id: <E1CxlOw-0006EJ-5L@???>
|055F From: foo <"user name"@???>
|038 Date: Sun, 06 Feb 2005 12:20:30 +0000
|[44/57]mh@lefler[chroot sid]:~$

I think that exim _never_ should a spool file that it cannot read. I
would probably be fine with rejecting the message, but getting exim in
an inconclusive state with an undeliverable message in the queue is a
bad bug.

Any comments?

Greetings
Marc

-- 
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber         |   " Questions are the         | Mailadresse im Header
Mannheim, Germany  |     Beginning of Wisdom "     | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834