- Delete own_socketfile to resolve race condition where the permissions
change fails on a Unix socket because it hasn't been created yet (libmilter will do this correctly on its own based on umask, the milter doesn't need to do it) (LP: #1849712)
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
1.0.3
|
||||
- Make error logging more explicit to aid debugging
|
||||
- Delete own_socketfile to resolve race condition where the permissions
|
||||
change fails on a Unix socket because it hasn't been created yet (libmilter
|
||||
will do this correctly on its own based on umask, the milter doesn't need
|
||||
to do it) (LP: #1849712)
|
||||
|
||||
1.0.2 2019-10-07
|
||||
- Fix startup logging so it provides information at a useful time
|
||||
|
||||
@@ -36,7 +36,6 @@ from dkimpy_milter.util import drop_privileges
|
||||
from dkimpy_milter.util import setExceptHook
|
||||
from dkimpy_milter.util import write_pid
|
||||
from dkimpy_milter.util import read_keyfile
|
||||
from dkimpy_milter.util import own_socketfile
|
||||
from dkimpy_milter.util import fold
|
||||
|
||||
__version__ = "1.0.1"
|
||||
@@ -371,7 +370,6 @@ def main():
|
||||
Milter.set_flags(Milter.CHGHDRS + Milter.ADDHDRS)
|
||||
miltername = 'dkimpy-filter'
|
||||
socketname = milterconfig.get('Socket')
|
||||
own_socketfile(milterconfig)
|
||||
drop_privileges(milterconfig)
|
||||
sys.stdout.flush()
|
||||
if milterconfig.get('Syslog'):
|
||||
|
||||
@@ -146,16 +146,6 @@ def write_pid(milterconfig):
|
||||
return pid
|
||||
|
||||
|
||||
def own_socketfile(milterconfig):
|
||||
"""If socket is Unix socket, chown to UserID before dropping privileges"""
|
||||
import os
|
||||
user, group = user_group(milterconfig.get('UserID'))
|
||||
if milterconfig.get('Socket')[:1] == '/':
|
||||
os.chown(milterconfig.get('Socket')[1:], user, group)
|
||||
if milterconfig.get('Socket')[:6] == "local:":
|
||||
os.chown(milterconfig.get('Socket')[6:], user, group)
|
||||
|
||||
|
||||
def read_keyfile(milterconfig, keytype):
|
||||
"""Read private key from file."""
|
||||
import syslog
|
||||
|
||||
Reference in New Issue
Block a user