Bug 1161784 - Uninstalling spamass-milter-postfix prevents sendmail from working with spamassassin
Summary: Uninstalling spamass-milter-postfix prevents sendmail from working with spama...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: spamass-milter
Version: el6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Paul Howarth
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-11-07 21:11 UTC by Neil Stevenson
Modified: 2014-11-30 19:16 UTC (History)
2 users (show)

Fixed In Version: spamass-milter-0.3.2-4.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-30 19:16:23 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
CentOS 7846 None None None Never

Description Neil Stevenson 2014-11-07 21:11:52 UTC
Description of problem:
This bug was discovered using CentOS 6.6.  It is reported here: http://bugs.centos.org/view.php?id=7846
The instructed me to report it upstream, so I'm reproducing that bug here.

I had a situation where I'd migrated from Sendmail to Postfix, and I ended up reverting my configuration (Sendmail provides features that I couldn't get from Postfix, but that's not part of this bug, the important aspect is migrating from Postfix to Sendmail).

The problem is that the package spamass-milter-postfix creates the directory /var/run/spamass-milter/postfix.

The spamass-milter startup script uses the presence of this directory to determine where to put its .sock file (this can be overridden in /etc/sysconfig/spamass-milter, but I'd not done that). Despite my server no longer having a working postfix configuration, spamass-milter was still using this postfix directory to store the .sock file.

Sendmail looks for a .sock file in /var/run/spamass-milter/ to determine if it should use that milter. Of course, it cannot find the file, it's in the postfix subdirectory, and as a result it cannot use Spamassassin support.

Just having the the directory /var/run/spamass-milter/postfix present prevents Sendmail from using spamass-milter. Uninstalling the package spamass-milter.postfix does not remove that directory.

Consequently, even though spamass-milter.postfix is uninstalled, Sendmail can no longer use the milter because it cannot find the .sock file. Note, that just having the spamass-milter.postfix installed will cause Sendmail to fail to use the milter.

Potential solutions:

1. Make spamass-milter always use the same default directory for its .sock file whether it's using postfix or sendmail

or

2. Make sendmail look in this postfix subdirectory if it can't find the sock file in the normal place.

Also I expected that using 'yum remove spamass-milter' would remove the /var/run/spamass-milter/postfix directory, but it currently doesn't.


Version-Release number of selected component (if applicable):
RHEL 6.6, CentOS 6.6, probably in earlier and later versions of 6 too.

I have the following packages installed:

sendmail-8.14.4-8.el6.x86_64
sendmail-milter-8.14.4-8.el6.x86_64
sendmail-cf-8.14.4-8.el6.noarch
spamassassin-3.3.1-3.el6.x86_64
spamass-milter-0.3.2-3.el6.x86_64

The package that I uninstalled was (from the 'yum list available' output):

spamass-milter-postfix.noarch             0.3.2-3.el6 

How reproducible:
Every time with this module

Steps to Reproduce:
1. install and configure sendmail
2. install and configure spamassassin with spamass-milter
3. install postfix and migrate sendmail to postfix
4. install spamass-milter.postfix
5. remove postfix and postfix configuration reverting to sendmail's original config
6. remove spamass-milter.postfix package
7. start services in order: spamass-milter, spamassassin, sendmail

Now sendmail cannot find the .sock file for spamass-milter and will not use it.

Actual results:
Sendmail complained that the .sock file could not be found

Expected results:
Sendmail should use the .sock file in the location determined by the system, I made no configuration adjustments.


Additional info:

Comment 2 Paul Howarth 2014-11-14 13:59:46 UTC
(In reply to Neil Stevenson from comment #0)
> Potential solutions:
> 
> 1. Make spamass-milter always use the same default directory for its .sock
> file whether it's using postfix or sendmail

This can't work because sendmail and postfix use different permissions models for communicating with milters, which is why the spamass-milter-postfix package exists in the first place.

> 2. Make sendmail look in this postfix subdirectory if it can't find the sock
> file in the normal place.

Might be do-able but would require tweaking the sendmail configuration, and I'd rather not there.

> Also I expected that using 'yum remove spamass-milter' would remove the
> /var/run/spamass-milter/postfix directory, but it currently doesn't.

Indeed it should. EPEL-6 has the -3 release of the package, and in the -4 release for Fedora back in 2011, I added %ghost-ing of the sock file to support clean uninstallation. I think merging that single change should be sufficient to address this issue.

Comment 3 Fedora Update System 2014-11-14 14:12:58 UTC
spamass-milter-0.3.2-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/spamass-milter-0.3.2-4.el6

Comment 4 Fedora Update System 2014-11-14 20:26:20 UTC
Package spamass-milter-0.3.2-4.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing spamass-milter-0.3.2-4.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-4065/spamass-milter-0.3.2-4.el6
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2014-11-30 19:16:23 UTC
spamass-milter-0.3.2-4.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.