Commit Graph

26 Commits

Author SHA1 Message Date
Daniel Kahn Gillmor 391b5352f3 Convert mostly to python3 (still need strings/bytes conversions)
This covers conversion of the whole project to python3, *except* for
the strings/bytes distinction in __init__.py, which i'm leaving for a
second commit.

The changes in this commit are intended to be relatively
uncontroversial, so that the following commit contains the tricky
bits.
2019-02-21 19:22:09 -05:00
Daniel Kahn Gillmor b3db013754 config: Reassemble strings sensibly
If a string-based configuation entry had whitespace in it, it would be
reassembled via a round-trip through the python interpreter, resulting
in a line like this:

    PidFile /home/dkimpy-milter/pid file

produces a string like "['/home/dkimpy-milter/pid', 'file']", which is
clearly wrong.

I don't want to encourage people to use paths or other strings with
whitespace in them, but if we're going to fail on them we should be
failing explicitly, not doing a weird transformation that will just
break.

This is concretely useful for the DNSOverride mechanism, which is
where i ran into the problem when trying to set up testing that could
work without setting up an emulated DNS system.
2019-02-21 19:21:38 -05:00
Daniel Kahn Gillmor bd1d25d83e Set up correct AuthservID defaults
Without this fix, a verifying dkimpy-milter that has no explicit
AuthservID produces the following crashing behavior as it tries to
create the authres header:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/Milter/__init__.py", line 772, in <lambda>
    milter.set_eom_callback(lambda ctx: ctx.getpriv().eom())
  File "…/dkimpy_milter/__init__.py", line 199, in eom
    h = fold(str(h))
  File "/usr/lib/python2.7/dist-packages/authres/core.py", line 476, in __str__
    return ''.join((self.HEADER_FIELD_NAME, ': ', self.header_value()))
  File "/usr/lib/python2.7/dist-packages/authres/core.py", line 496, in header_value
    return ''.join(strs)
2019-02-21 19:21:38 -05:00
Daniel Kahn Gillmor 1c6030024d add DNSOverride configuration for testing 2019-02-21 19:21:38 -05:00
Scott Kitterman f38fed3bee Rip out unused whichbd module in preparation for python3 port 2019-02-11 03:16:53 -05:00
Scott Kitterman 1843ca6244 - Added support for SyslogSuccess option
- Rationalized logging to be much less verbose unless SyslogSuccess or
   debugLevel are set - default is generally start/stop/errors only
2018-03-10 16:06:22 -05:00
Scott Kitterman f9358d594c Delete unused import 2018-03-10 15:36:40 -05:00
Scott Kitterman a8aa422b03 Post pep-8 cleanup 2018-03-10 15:34:56 -05:00
Scott Kitterman 70606ac58c pep8 and a few other cleanups 2018-03-10 02:45:35 -05:00
Scott Kitterman 6348bdcdc7 Cleanup, indentation, pyflakes 2018-03-10 00:52:45 -05:00
Scott Kitterman efeabd19d3 Added support for MacroListVerify option 2018-03-09 22:39:55 -05:00
Scott Kitterman a9b8a44bfc Add support for MacroList option 2018-03-09 21:53:58 -05:00
Scott Kitterman 36ff60d8d3 - Added support for DiagnosticDirectory and updated dkimpy-milter specifics in
dkimpy-milter.conf.5
2018-03-09 17:10:48 -05:00
Scott Kitterman 4769bde19c - Added support for InternalHosts option (ipaddress and either dns (dnspython)
or pydns (DNS) modules are now required)
2018-03-09 16:29:49 -05:00
Scott Kitterman df19aa081e - Added support for AuthservID option 2018-03-04 15:15:37 -05:00
Scott Kitterman fb32a8fe0b Implement detection of type db datasets, but not used yet 2018-03-04 13:56:06 -05:00
Scott Kitterman 5886edda42 Fixup file dataset support 2018-03-02 15:04:19 -05:00
Scott Kitterman ced16fda72 Fixup csl dataset and initial (untested) file dataset 2018-02-25 15:57:41 -05:00
Scott Kitterman 98e5c17858 - Implemented support for Canonicalization option
- Implemented support for SyslogFacility option
 - Initial dataset support: csl
 - Only sign if mail from from a domain in Domain and only if Mode is not
   verfication only
 - Fixed Canonicalize option
2018-02-19 13:31:28 -05:00
Scott Kitterman 51464bd7f8 Add support for Canonicalization option 2018-02-18 00:56:02 -05:00
Scott Kitterman 7b8fccf801 Bug fixes for RSA/Ed25519 signing (now works), syslog fixes, update TODO verification status 2018-02-17 02:10:21 -05:00
Scott Kitterman c523afe8e5 Continue moving towards a working system:
- Move exception hook from config into util
 - Make config data conversion work for all used types
 - Make syslog work (still need to make it only work if specified)
2018-02-13 23:16:44 -05:00
Scott Kitterman 396ee7dfe0 A round of bugfixing this thing into existence 2018-02-13 03:49:31 -05:00
Scott Kitterman ae116bf997 Adapt config.py to work with OpenDKIM style config item formatting 2018-02-13 02:13:06 -05:00
Scott Kitterman 15dce357c3 Update config for dkimpy-milter.conf.5 changes 2018-02-12 18:38:25 -05:00
Scott Kitterman 8cc5c88fec Make a proper package of this, entry points and all 2018-02-12 12:30:43 -05:00