Thursday, 22 August 2013

What could cause Mailman to drop messages after moderator approval?

What could cause Mailman to drop messages after moderator approval?

I run a medium-sized Mailman system that recently developed a problem
where any messages that pass through moderation disappear instead of being
delivered to the mailing list. This is affecting every one of our mailing
lists.
Moderation fails when performed on a separate webserver
The Mailman environment is split across two servers, front-end and
back-end. The back-end server handles Postfix and the Mailman qrunners,
while the front-end server hosts Apache and the Mailman CGI scripts for
moderating lists. The two servers share an NFS mount between them that
includes all the shared Mailman data.
All normaly mail flow is working correctly, but when a list moderator logs
into the web frontend and approves a message, it disappears without a
trace.
Postfix smtpd receives the incoming message over SMTP, then
Postfix smtpd delivers the message to /usr/lib/mailman/mail/mailman.
Mailman marks writes to vette logfile (backend server) that message is
held for approval.
List moderator uses CGI web interface to mark the message as approved.
Mailman writes an entry to vette logfile (on frontend server) saying held
message approved.
At this point, the .pck file related to the held message disappears, but
nothing is delivered, and no further log entries are created.
Moderation succeeds with web interface on the main Mailman server
Although we don't normally run the Mailman web interface on the back-end
server (to reduce attack surface), I got it running for testing purposes.
When we use the Mailman web interface on the backend server, the message
gets delivered normally and we see these log entries.
smtp logfile updated with number of recipients and time for completion
post logfile updated with list name, message ID, and "success".
Background
The problem started after migrating the Mailman environment to new
servers. It didn't crop up on it's own, it's most likely a result of some
configuration error that we haven't caught yet. We're using:
Scientific Linux 6.3 on both servers
Python 2.6.6 on both servers
Mailman 2.1.12 installed from OS packages on both servers
selinux in Permissive mode on backend server
selinux in Enforcing mode on frontend (web) server, but no log entries
with type=AVC are being recorded. Furthermore, using setenforce 0 doesn't
fix the problem.
I found one related post on the Mailman users list, but no solution was
provided.

No comments:

Post a Comment