Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f9483fea8c | |||
| 7a3a7bfb43 | |||
| 8a0e1bdd97 | |||
| e3005aa723 | |||
| 45d3ba13ca | |||
| f05309437f | |||
| d4499f6990 | |||
| 7d87309f4b | |||
| 1d8c309da9 | |||
| 4d5961e4d5 | |||
| 59448e8e57 | |||
| 695de0db14 |
@@ -1,3 +1,16 @@
|
|||||||
|
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
|
||||||
|
- Add conf file location to systemd unit file
|
||||||
|
- Fix setup.py install locations so they are installed correctly
|
||||||
|
|
||||||
0.9.5 2018-03-10
|
0.9.5 2018-03-10
|
||||||
- Beta 1 (updated Alpha -> Beta warning in README and trove classifiers)
|
- Beta 1 (updated Alpha -> Beta warning in README and trove classifiers)
|
||||||
- Added support for MacroList option
|
- Added support for MacroList option
|
||||||
|
|||||||
@@ -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"
|
__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 = '/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>]')
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ setup(
|
|||||||
data_files=[(os.path.join('share', 'man', 'man5'),
|
data_files=[(os.path.join('share', 'man', 'man5'),
|
||||||
['man/dkimpy-milter.conf.5']), (os.path.join('share', 'man', 'man8'),
|
['man/dkimpy-milter.conf.5']), (os.path.join('share', 'man', 'man8'),
|
||||||
['man/dkimpy-milter.8']), ('etc', ['etc/dkimpy-milter.conf']),
|
['man/dkimpy-milter.8']), ('etc', ['etc/dkimpy-milter.conf']),
|
||||||
(os.path.join('/lib', 'systemd', 'system'),
|
(os.path.join('lib', 'systemd', 'system'),
|
||||||
['system/dkimpy-milter.service']),(os.path.join('/etc', 'init.d'),
|
['system/dkimpy-milter.service']),(os.path.join('etc', 'init.d'),
|
||||||
['system/dkimpy-milter'])],
|
['system/dkimpy-milter'])],
|
||||||
zip_safe = False,
|
zip_safe = False,
|
||||||
**kw
|
**kw
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ After=syslog.target network.target
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
PIDFile=/var/run/dkimpy-milter/dkimpy-milter.pid
|
PIDFile=/var/run/dkimpy-milter/dkimpy-milter.pid
|
||||||
ExecStart=/usr/local/bin/dkimpy-milter
|
ExecStart=/usr/local/bin/dkimpy-milter /usr/local/etc/dkimpy-milter.conf
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
Reference in New Issue
Block a user