A round of bugfixing this thing into existence
This commit is contained in:
@@ -35,8 +35,8 @@ import StringIO
|
|||||||
import re
|
import re
|
||||||
from Milter.config import MilterConfigParser
|
from Milter.config import MilterConfigParser
|
||||||
from Milter.utils import iniplist,parse_addr,parseaddr
|
from Milter.utils import iniplist,parse_addr,parseaddr
|
||||||
import dkim_milter.config as config
|
import dkimpy_milter.config as config
|
||||||
from dkim_milter.util import drop_privileges
|
from dkimpy_milter.util import drop_privileges
|
||||||
|
|
||||||
def read_config(list):
|
def read_config(list):
|
||||||
"Return new config object."
|
"Return new config object."
|
||||||
@@ -76,7 +76,7 @@ class dkimMilter(Milter.Base):
|
|||||||
def log(self,*msg):
|
def log(self,*msg):
|
||||||
self.conf.log.info('[%d] %s' % (self.id,' '.join([str(m) for m in msg])))
|
self.conf.log.info('[%d] %s' % (self.id,' '.join([str(m) for m in msg])))
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, milterconfig):
|
||||||
self.mailfrom = None
|
self.mailfrom = None
|
||||||
self.id = Milter.uniqueID()
|
self.id = Milter.uniqueID()
|
||||||
# we don't want config used to change during a connection
|
# we don't want config used to change during a connection
|
||||||
@@ -265,14 +265,14 @@ class dkimMilter(Milter.Base):
|
|||||||
self.log('DKIM: Fail (saved as %s)'%fname)
|
self.log('DKIM: Fail (saved as %s)'%fname)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def main():
|
||||||
configFile = '/etc/dkimpy-milter.conf'
|
configFile = '/etc/dkimpy-milter.conf'
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
if sys.argv[1] in ( '-?', '--help', '-h' ):
|
if sys.argv[1] in ( '-?', '--help', '-h' ):
|
||||||
print('usage: dkimpy-milter [<configfilename>]')
|
print('usage: dkimpy-milter [<configfilename>]')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
configFile = sys.argv[1]
|
configFile = sys.argv[1]
|
||||||
milterconfig = dkimpy-milter.config._processConfigFile(filename = configFile)
|
milterconfig = config._processConfigFile(filename = configFile)
|
||||||
|
|
||||||
drop_privileges(milterconfig)
|
drop_privileges(milterconfig)
|
||||||
Milter.factory = dkimMilter(milterconfig)
|
Milter.factory = dkimMilter(milterconfig)
|
||||||
@@ -281,3 +281,6 @@ if __name__ == "__main__":
|
|||||||
socketname = milterconfig.get('Socket')
|
socketname = milterconfig.get('Socket')
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
Milter.runmilter(miltername,socketname,240)
|
Milter.runmilter(miltername,socketname,240)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|||||||
@@ -53,23 +53,23 @@ class ConfigException(Exception):
|
|||||||
|
|
||||||
|
|
||||||
####################################################################
|
####################################################################
|
||||||
def processConfigFile(filename = None, config = None, useSyslog = 1,
|
def _processConfigFile(filename = None, configdata = None, useSyslog = 1,
|
||||||
useStderr = 0):
|
useStderr = 0):
|
||||||
'''Load the specified config file, exit and log errors if it fails,
|
'''Load the specified config file, exit and log errors if it fails,
|
||||||
otherwise return a config dictionary.'''
|
otherwise return a config dictionary.'''
|
||||||
|
|
||||||
import policydspfsupp
|
import config
|
||||||
if config == None: config = policydspfsupp.defaultConfigData
|
if configdata == None: configdata = config.defaultConfigData
|
||||||
if filename != None:
|
if filename != None:
|
||||||
try:
|
try:
|
||||||
readConfigFile(filename, config)
|
readConfigFile(filename, configdata)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
if useSyslog:
|
if useSyslog:
|
||||||
syslog.syslog(e.args[0])
|
syslog.syslog(e.args[0])
|
||||||
if useStderr:
|
if useStderr:
|
||||||
sys.stderr.write('%s\n' % e.args[0])
|
sys.stderr.write('%s\n' % e.args[0])
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return(config)
|
return(configdata)
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
|
|||||||
Reference in New Issue
Block a user