Refactor: move reading keys into util.get_keys in preparation for table variants

This commit is contained in:
Scott Kitterman
2019-10-19 03:50:17 -04:00
parent 0ac431a1bb
commit e9f95e0937
2 changed files with 14 additions and 9 deletions
+2 -9
View File
@@ -36,7 +36,7 @@ import dkimpy_milter.config as config
from dkimpy_milter.util import drop_privileges from dkimpy_milter.util import drop_privileges
from dkimpy_milter.util import setExceptHook from dkimpy_milter.util import setExceptHook
from dkimpy_milter.util import write_pid from dkimpy_milter.util import write_pid
from dkimpy_milter.util import read_keyfile from dkimpy_milter.util import get_keys
from dkimpy_milter.util import own_socketfile from dkimpy_milter.util import own_socketfile
from dkimpy_milter.util import fold from dkimpy_milter.util import fold
@@ -392,14 +392,7 @@ def main():
syslog.openlog(os.path.basename(sys.argv[0]), syslog.LOG_PID, facility) syslog.openlog(os.path.basename(sys.argv[0]), syslog.LOG_PID, facility)
setExceptHook() setExceptHook()
pid = write_pid(milterconfig) pid = write_pid(milterconfig)
if milterconfig.get('KeyFile'): milterconfig = get_keys(milterconfig)
milterconfig['privateRSA'] = read_keyfile(milterconfig, 'RSA')
else:
milterconfig['privateRSA'] = False
if milterconfig.get('KeyFileEd25519'):
milterconfig['privateEd25519'] = read_keyfile(milterconfig, 'Ed25519')
else:
milterconfig['privateEd25519'] = False
Milter.factory = dkimMilter Milter.factory = dkimMilter
Milter.set_flags(Milter.CHGHDRS + Milter.ADDHDRS) Milter.set_flags(Milter.CHGHDRS + Milter.ADDHDRS)
miltername = 'dkimpy-filter' miltername = 'dkimpy-filter'
+12
View File
@@ -213,3 +213,15 @@ def read_keytable(milterconfig, tabletype):
raise raise
return keytabledata return keytabledata
def get_keys(milterconfig):
"""Read keys (table or file) into memory before dropping priviledges"""
if milterconfig.get('KeyFile'):
milterconfig['privateRSA'] = read_keyfile(milterconfig, 'RSA')
else:
milterconfig['privateRSA'] = False
if milterconfig.get('KeyFileEd25519'):
milterconfig['privateEd25519'] = read_keyfile(milterconfig, 'Ed25519')
else:
milterconfig['privateEd25519'] = False
return milterconfig