Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 205097

Summary: mail-filter/dkim-milter-2.4.2 fails to start with stale socket
Product: Gentoo Linux Reporter: Steve Moerk <rtpsld>
Component: [OLD] ServerAssignee: Daniel Black (RETIRED) <dragonheart>
Status: RESOLVED FIXED    
Severity: minor CC: mrness
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Steve Moerk 2008-01-09 17:31:27 UTC
After an unclean shutdown (power outage), dkim-milter fails to start with the following log entries:

dkim-filter[6118]: Sendmail DKIM Filter: Unable to bind to port local:/var/run/dkim-filter/dkim-filter.sock: Address already in use
dkim-filter[6118]: Sendmail DKIM Filter: Unable to create listening socket on conn local:/var/run/dkim-filter/dkim-filter.sock
dkim-filter[6118]: smfi_opensocket() failed

Problem is solved by manually performing:
# rm /var/run/dkim-filter/dkim-filter.sock
# /etc/init.d/dkim-filter start

I didn't see any dkim-filter options to force socket creation - would it make sense for the init script to handle this condition?
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2008-01-09 19:58:22 UTC
We must be sure there is no dkim-filter process that use the socket before removing it.
Daniel, any idea? I thought at fuser, but it sucks to add psmisc to RDEPEND just for that... 
Comment 2 Daniel Black (RETIRED) gentoo-dev 2008-01-09 21:52:40 UTC
inital very quick thoughts

push a milter stop command down the socket? 
https://www.milter.org/developers/api/smfi_stop

implement your own find on /proc for the socket

though i'd try to look how other processes do it first.
Comment 3 Alin Năstac (RETIRED) gentoo-dev 2008-01-24 11:41:16 UTC
Fixed in 2.4.3. 
I used fuser because psmisc is part of the system packages.
Comment 4 Steve Moerk 2008-01-24 16:40:54 UTC
2.4.3 works for me and starts up cleanly now even with an old socket present.  Thanks for the update.