[Resend, since I didn't get any answers. Sorry to bug the list like this, but
as DSPAM is Segfaulting while doing something that should be a standard
operation, I'm hoping *someone* has a pointer as to what I should be looking
at to fix this. Thanks.]
I'm trying to set up a merged group based off our spamtrainer user. Since
we're using virtual uid's, and because of the way Postfix passes addresses to
Dspam, the user is in the db as [EMAIL PROTECTED] Postfix
is also set up as always_bcc = spamtrainer (an actual system user). My group
is set up this way:
[EMAIL PROTECTED]:merged:*
If I send a message to a user, the user's message filters fine, but when it
comes time to filter the spamtrainer's message, I get this from debug output:
2958: [03/07/2007 15:44:47] DSPAM Instance Startup
2958: [03/07/2007 15:44:47] input args: dspam --deliver=innocent
2958: [03/07/2007 15:44:47] pass-thru args:
2958: [03/07/2007 15:44:47] processing user
[EMAIL PROTECTED]
2958: [03/07/2007 15:44:47] uid = 0, euid = 0, gid = 0, egid = 113
2958: [03/07/2007 15:44:47] loading preferences for user
[EMAIL PROTECTED]
2958: [03/07/2007 15:44:47] Loading preferences for uid 23
2958: [03/07/2007 15:44:47] Loading preferences for uid 0
2958: [03/07/2007 15:44:47] default preferences empty. reverting to dspam.conf
preferences.
2958: [03/07/2007 15:44:47] Loading preferences from dspam.conf
2958: [03/07/2007 15:44:47]
using /var/spool/dspam/opt-in/hyperion.eeinternet.com/spamtrainer.dspam as
path
2958: [03/07/2007 15:44:47]
using /var/spool/dspam/opt-out/hyperion.eeinternet.com/spamtrainer.nodspam as
path
2958: [03/07/2007 15:44:47] sedation level set to: 0
And then Dspam dies right there. An strace shows that it opens and reads
group for the first user just fine, but then when it opens it for the
spamtrainer user:
pid 32217] open("/var/spool/dspam/group", O_RDONLY) = 30
[pid 32217] fstat64(30, {st_mode=S_IFREG|0644, st_size=46, ...}) = 0
[pid 32217] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_ANONYMOUS, -1, 0) = 0xb7ef6000
[pid 32217] read(30, "[EMAIL PROTECTED]"..., 4096) = 46
[pid 32217] read(30, "", 4096) = 0
[pid 32217] close(30) = 0
[pid 32217] munmap(0xb7ef6000, 4096) = 0
[pid 32217] poll([{fd=7, events=POLLIN|POLLPRI}], 1, 0) = 0
[pid 32217] write(7, "\1\0\0\0\16", 5) = 5
[pid 32217] read(7, "\7\0\0\1\0\0\0\2\0\0\0", 16384) = 11
[pid 32217] poll([{fd=7, events=POLLIN|POLLPRI}], 1, 0) = 0
[pid 32217] write(7, "Z\0\0\0\3select uid from dspam_virtu"..., 94) = 94
[pid 32217] read(7, "\1\0\0\1\1E\0\0\2\3def\5dspam\22dspam_virtua"..., 16384)
= 103
[pid 32217] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
Is it not liking the '@' in the group name? But why didn't that matter the
first time it read it?
I'd creat an entry in the uid table for 'spamtrainer'
(no '@mailserver.example.com' part) and set their uids the same, and use that
for my group name, but the uid is a primary key, so can't be duplicated.
Any hints or tips? Did I discover a genuine bug?
j