Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f9483fea8c | |||
| 7a3a7bfb43 | |||
| 8a0e1bdd97 | |||
| e3005aa723 | |||
| 45d3ba13ca | |||
| f05309437f | |||
| d4499f6990 | |||
| 7d87309f4b |
@@ -1,3 +1,12 @@
|
|||||||
|
0.9.6 2018-03-13
|
||||||
|
- Fixed typo in package installation section of README
|
||||||
|
- Added more to README about first run with systemd
|
||||||
|
- Fixed typo in path for fallback location of the config file if one is not
|
||||||
|
provided
|
||||||
|
- Added protection for malformed From addresses. If the From does not at
|
||||||
|
least have an '@' in the address, then the signing domain is not extracted
|
||||||
|
and the message will not be signed
|
||||||
|
|
||||||
0.9.5.1 2018-03-10
|
0.9.5.1 2018-03-10
|
||||||
- Add conf file location to systemd unit file
|
- Add conf file location to systemd unit file
|
||||||
- Fix setup.py install locations so they are installed correctly
|
- Fix setup.py install locations so they are installed correctly
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ python setup.py install --single-version-externally-managed --record=/dev/null
|
|||||||
For users of Debian Stable (Debian 9, Codename Squueze), all dependencies are
|
For users of Debian Stable (Debian 9, Codename Squueze), all dependencies are
|
||||||
available in either the main or backports repositories:
|
available in either the main or backports repositories:
|
||||||
|
|
||||||
[sudo] apt install python-milter python-nacl pthon-ipaddress python-dnspython
|
[sudo] apt install python-milter python-nacl python-ipaddress python-dnspython
|
||||||
[sudo] apt install -t squeeze-backports python-authres python-dkim
|
[sudo] apt install -t stretch-backports python-authres python-dkim
|
||||||
|
|
||||||
The preferred method of installation is from PyPi using pip (if distribution
|
The preferred method of installation is from PyPi using pip (if distribution
|
||||||
packages are not available):
|
packages are not available):
|
||||||
@@ -48,6 +48,14 @@ As an example, using the default dkimpy-user on Debian, the command would be:
|
|||||||
Since /var/run or /run is sometimes on a tempfs, if the PID file directory is
|
Since /var/run or /run is sometimes on a tempfs, if the PID file directory is
|
||||||
missing, the milter will create it on startup.
|
missing, the milter will create it on startup.
|
||||||
|
|
||||||
|
To start dkimpy-milter with systemd for the first time, you will need to take
|
||||||
|
the following steps:
|
||||||
|
|
||||||
|
[sudo] systemctl daemon-reload
|
||||||
|
[sudo] systemctl enable dkimpy-milter
|
||||||
|
[sudo] systemctl start dkimpy-milter
|
||||||
|
[sudo] systemctl status dkimpy-milter (to verify it started correctly)
|
||||||
|
|
||||||
As with all milters, dkimpy-milter needs to be integrated with your MTA of
|
As with all milters, dkimpy-milter needs to be integrated with your MTA of
|
||||||
choice (Sendmail or Postfix).
|
choice (Sendmail or Postfix).
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ ClockDrift (requires dkimpy change)
|
|||||||
DNSTimeout (requires dkmpy change)
|
DNSTimeout (requires dkmpy change)
|
||||||
MilterDebug
|
MilterDebug
|
||||||
MinimumKeyBits
|
MinimumKeyBits
|
||||||
|
OversignHeaders (may require dkimpy changes)
|
||||||
PeerList
|
PeerList
|
||||||
SignatureAlgorithm
|
SignatureAlgorithm
|
||||||
|
|
||||||
@@ -83,7 +84,6 @@ On-InternalError
|
|||||||
On-KeyNotFound
|
On-KeyNotFound
|
||||||
On-NoSignature
|
On-NoSignature
|
||||||
On-SignatureError
|
On-SignatureError
|
||||||
OversignHeaders
|
|
||||||
RemoveARAll
|
RemoveARAll
|
||||||
RemoveARFrom
|
RemoveARFrom
|
||||||
RemoveOldSignatures
|
RemoveOldSignatures
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ from dkimpy_milter.util import read_keyfile
|
|||||||
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
|
||||||
|
|
||||||
__version__ = "0.9.5.1"
|
__version__ = "0.9.6"
|
||||||
FWS = re.compile(r'\r?\n[ \t]+')
|
FWS = re.compile(r'\r?\n[ \t]+')
|
||||||
|
|
||||||
|
|
||||||
@@ -130,7 +130,10 @@ class dkimMilter(Milter.Base):
|
|||||||
self.has_dkim += 1
|
self.has_dkim += 1
|
||||||
if lname == 'from':
|
if lname == 'from':
|
||||||
fname, self.author = parseaddr(val)
|
fname, self.author = parseaddr(val)
|
||||||
|
try:
|
||||||
self.fdomain = self.author.split('@')[1]
|
self.fdomain = self.author.split('@')[1]
|
||||||
|
except IndexError as er:
|
||||||
|
self.fdomain = '' # self.author was not a proper email address
|
||||||
if (milterconfig.get('Syslog') and
|
if (milterconfig.get('Syslog') and
|
||||||
milterconfig.get('debugLevel') >= 1):
|
milterconfig.get('debugLevel') >= 1):
|
||||||
syslog.syslog("{0}: {1}".format(name, val))
|
syslog.syslog("{0}: {1}".format(name, val))
|
||||||
@@ -324,7 +327,7 @@ def main():
|
|||||||
global privateEd25519
|
global privateEd25519
|
||||||
privateRSA = False
|
privateRSA = False
|
||||||
privateEd25519 = False
|
privateEd25519 = False
|
||||||
configFile = '/usr/loca/etc/dkimpy-milter.conf'
|
configFile = '/usr/local/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>]')
|
||||||
|
|||||||
Reference in New Issue
Block a user