Bug#337278: kmail using invalid : char in filename, recent update breaks SID
Package: kmail
Version: 4:3.3.2-3
Severity: important
ubject: kmail: Invalid filename char ':' in Mail folder, recent update
breaks SID
Package: kmail
Version: 4:3.3.2-3
Severity: important
Part 1: KMail tries to use the ':' char in a file name when trying to
save Mail in a local file (e.g. the Mail folder).
Nothing prevents that Folder to live on a network file system (I
use the [general] section of kmailrc to specify the Mail
location as:
folders=~/AlphaServer/Profiles/Mail
If that Mail folder has no index files and I try to save (or
copy) a mail in for example Drafts, then kmail terminates with
it's infamous "encountered a fatal error" message. Here is an
strace fragment:
----
5250 access("/home/jpf//AlphaServer/Profiles/Mail/trash",
R_OK|W_OK|X_OK) = 0
5250 access("/home/jpf//AlphaServer/Profiles/Mail/trash/new",
R_OK|W_OK|X_OK) = 0
5250 access("/home/jpf//AlphaServer/Profiles/Mail/trash/cur",
R_OK|W_OK|X_OK) = 0
5250 access("/home/jpf//AlphaServer/Profiles/Mail/trash/tmp",
R_OK|W_OK|X_OK) = 0
5250
access("/home/jpf//AlphaServer/Profiles/Mail/.trash.index",
F_OK) = 0
5250
lstat64("/home/jpf//AlphaServer/Profiles/Mail/.trash.index",
{st_mode=S_IFREG|0750, st_size=33, ...}) = 0
5250 lstat64("/home/jpf//AlphaServer/Profiles/Mail/trash/new",
{st_mode=S_IFDIR|0750, st_size=0, ...}) = 0
5250 lstat64("/home/jpf//AlphaServer/Profiles/Mail/trash/cur",
{st_mode=S_IFDIR|0750, st_size=0, ...}) = 0
5250 open("/home/jpf//AlphaServer/Profiles/Mail/.trash.index",
O_RDWR|O_LARGEFILE) = 13
5250 fcntl64(13, F_SETFD, FD_CLOEXEC) = 0
5250 utime("/home/jpf//AlphaServer/Profiles/Mail/trash", NULL)
= 0
5250 utime("/home/jpf//AlphaServer/Profiles/Mail/.trash.index",
NULL) = 0
5250
utime("/home/jpf//AlphaServer/Profiles/Mail/.trash.index.ids",
NULL) = 0
5250 fstat64(13, {st_mode=S_IFREG|0750, st_size=33, ...}) = 0
5250 mmap2(NULL, 33, PROT_READ, MAP_SHARED, 13, 0) = 0xb5754000
5250 fstat64(13, {st_mode=S_IFREG|0750, st_size=33, ...}) = 0
5250 mmap2(NULL, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5750000
5250 _llseek(13, 0, [0], SEEK_SET) = 0
5250 read(13, "# KMail-Index
V1506\n\0\10\0\0\0xV4\22\4\0\0"..., 16384) = 33
5250 _llseek(13, 33, [33], SEEK_SET) = 0
5250 _llseek(13, 33, [33], SEEK_SET) = 0
5250 read(13, "", 16384) = 0
5250 write(4,
";\3\5\0C\1\200\2\0\0\0\0\0\0\0\0\333\1\22\0\230\6\5\0\233"...,
2044) = 2044
5250 write(4,
"\2\3\4\0$\1\200\2\0@\0\0B\2\200\2\2\1\4\0%\1\200\2\0@\0"...,
96) = 96
5250 time(NULL) = 1131031622
5250 getpid() = 5250
5250 time(NULL) = 1131031622
5250
access("/home/jpf//AlphaServer/Profiles/Mail/trash/tmp/1131031622.5250.T6P7o:2,S",
F_OK) = -1 ENOENT (No such file or directory)
5250
open("/home/jpf//AlphaServer/Profiles/Mail/trash/tmp/1131031622.5250.T6P7o:2,S",
O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 ENOTDIR (Not a directory)
5250 stat64("/home/jpf/.kde/share/config/",
{st_mode=S_IFDIR|0750, st_size=7128, ...}) = 0
5250 access("/home/jpf/.kde/share/config/kdebugrc", W_OK) = -1
ENOENT (No such file or directory)
----
As can be seen, kmail tries to create a file named:
"1131031622.5250.T6P7o:2,S"
This is an illegal name for cifs (just to give an example). You
can try this by passing the file name string to touch, and than
try this a second time replacing the ':' with another char.
Part 2: Older kde 3.3 kmail versions worked, kde 3.4 never worked
On a SID system the bug showed up after upgrading kmail to
stable/4:3.3.2-3 .
The versions in kde 3.4 never worked for me, may be because of
this problem.
Did somebody "backport" a kde 3.4 bug to SID ?
Thanks, Jürgen
-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.12-8-sis
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Versions of packages kmail depends on:
ii kdelibs4 4:3.3.2-6.2 KDE core libraries
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libgcc1 1:3.4.3-13 GCC support library
ii libice6 4.3.0.dfsg.1-14sarge1 Inter-Client Exchange library
ii libkcal2a 4:3.3.2-3 KDE calendaring library
ii libkdenetwork2 4:3.3.2-3 KDE Network library
ii libkdepim1 4:3.3.2-3 KDE PIM library
ii libkleopatra0a 4:3.3.2-3 KDE GnuPG interface libraries
ii libkpimidentities1 4:3.3.2-3 KDE PIM user identity information
ii libksieve0 4:3.3.2-3 KDE mail/news message filtering li
ii libmimelib1a 4:3.3.2-3 KDE mime library
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libqt3c102-mt 3:3.3.4-3 Qt GUI Library (Threaded runtime v
ii libsm6 4.3.0.dfsg.1-14sarge1 X Window System Session Management
ii libstdc++5 1:3.3.5-13 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-14sarge1 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-14sarge1 X Window System miscellaneous exte
ii perl 5.8.4-8 Larry Wall's Practical Extraction
ii xlibs 4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime
-- no debconf information
Reply to: