Commit Graph

240 Commits

Author SHA1 Message Date
Scott Kitterman 3dda94ca2d Initial async support - works but so much overriding ... 2019-11-02 11:15:36 -04:00
Scott Kitterman 2dc071962d Don't error out on dnsplug tests is DNS/dns isn't installed as preparation for adding async/aiodns support 2019-11-01 17:24:16 -04:00
Scott Kitterman fa93e56fa2 Minor timeout and tlsprt cleanups 2019-11-01 17:22:15 -04:00
Scott Kitterman ebe8fc7c77 Add support for RFC 8460 tlsrpt DKIM signature processing (LP: #1847020) 2019-10-31 20:53:06 -04:00
Scott Kitterman 69049feda1 Add test for l= processing 2019-10-31 20:45:20 -04:00
Scott Kitterman 5487f798ac Documentation updates 2019-10-30 18:52:36 -04:00
Scott Kitterman 1f2597a666 - Add new timeout parameter to enable DNS lookup timeouts to be adjusted
- Drop usage of pymilter Milter.dns in dnsplug since it doesn't support
      havine a timeout passed to it
2019-10-30 18:46:31 -04:00
Scott Kitterman 6db388df39 Ignore unknown service types in key records (LP: #1847020) 2019-10-07 08:34:05 -04:00
Scott Kitterman 8365b52ac8 - Fix default canonicalization for DKIM signature verification to be
simple/simple per RFC 6376 (LP: #1839299) (Thanks to Cyril Nicodème for
      the report and a suggested fix)
2019-08-09 09:21:26 -04:00
Scott Kitterman 0019bad372 - Fix linesep setting in arcsign script (LP: #1838262) (Thanks to Gowtham
Gopalakrishnan for the report and the patch)
2019-08-04 17:51:27 -04:00
Scott Kitterman 7766ffd7ab Update copyright statements 2019-04-14 22:57:35 -04:00
Scott Kitterman a1b6e73ae1 - Add additional text documenting use of srv_id for ARC signing (LP: #1808301) 2019-04-14 22:21:45 -04:00
Scott Kitterman aa5419b7d9 Fix cv=none processing for initial signature in chain 2019-04-14 22:17:41 -04:00
Scott Kitterman 0ce3775afa Fix the arcsign script so it works with the current API 2019-04-14 22:10:36 -04:00
Scott Kitterman 1bf505995f Clean up obsolete test data 2019-04-13 21:35:43 -04:00
Scott Kitterman 439d66e1e1 Resolve merge conflicts 2019-04-13 21:21:49 -04:00
Scott Kitterman fd3f501787 Update dkim/tests/test_arc.py for changes in dkim.fold 2019-04-13 20:54:13 -04:00
Scott Kitterman 93e647c8de Set maxlen to 71 for subsequent lines since we already have a leading space (LP: #1823006), make doctest demonstrate the problem. 2019-04-13 20:53:16 -04:00
Scott Kitterman 118e854889 - Clarify the crlf does not count towards line length in fold
(LP: #1823008)
2019-04-13 15:05:04 -04:00
Jonathan Bastien-Filiatrault 43c91feac6 Document content debugging parameter. 2018-12-31 09:17:53 -05:00
Jonathan Bastien-Filiatrault 4175d75534 Merge remote-tracking branch 'upstream/master' into content_debugging 2018-12-31 09:10:24 -05:00
Dick Marinus 6bc38aaf9b add line separator support 2018-12-23 13:26:05 +01:00
Scott Kitterman 25b2eb72b2 Merge remote-tracking branch 'jbfzs/beautifold' 2018-12-23 01:54:39 -05:00
Jonathan Bastien-Filiatrault 6b4127f920 Don't insert an extra space at the end of the line when doing a soft fold.
Trailing whitespaces are best avoided.
2018-12-12 21:30:56 -05:00
Jonathan Bastien-Filiatrault 2d474d6b04 Do not take the name length into account on the second line when folding.
Setting namelen could have no effect, my guess is that this was the
original intention of the code.

This results in more efficient usage of lines.
2018-12-12 21:14:08 -05:00
Jonathan Bastien-Filiatrault 82bef5983b Don't log message content by default.
Right now, it is quite easy to end up logging the whole message in the
log when verifying signatures. This can result in wasted resources
writing the log to disk and increasing memory usage. This can also be
a private data leak if logging is put in DEBUG in a production
environment.
2018-12-12 15:30:47 -05:00
Jonathan Bastien-Filiatrault 882d14c514 Avoid making a fresh slice of the whole email on each iteration.
An update to yesterday's patch. Should avoid copying the mail byte
string more than once.

Tested on Python 2.7 and 3.6.
2018-12-12 13:41:48 -05:00
Jonathan Bastien-Filiatrault 7dee16a5b1 Refactor canonicalization.py strip_trailing_lines to avoid using re for more consistent processing across python versions 2018-12-11 14:34:34 -05:00
Scott Kitterman 72f58200e3 - Refactored dknewkey so that it correctly writes out text instead of bytes 2018-12-08 17:32:56 -05:00
Scott Kitterman c3eb342611 Fixed ARC verification to fail is h= tag is present in Arc-Seal, added test, bumped version to start 0.9.1 2018-11-09 19:58:11 -05:00
Scott Kitterman 267e62115e - Added missing documentation for timestamp function dkim.arc_sign
(LP: #1800314)
2018-10-30 11:52:43 -04:00
Scott Kitterman 09d4c3d84d Fix @since for add_should_not 2018-10-30 11:40:20 -04:00
Scott Kitterman 8032276b57 Bump version to 0.9.0 since this is now a feature release
- Update oversigned (frozen) header field list to reduce signature
      fragility (removes 'date' and 'subject' fields from being oversigned by
      default - see usage section of README for information on how to restore
      the previous behavior)
    - Added new add_should_not for DKIM/ARC classes to prevent additional
      header fields from being signed
    - Added 'from' to should sign list (to prevent it from not being signed at
      all in the unusual event that 'from' is locally removed from the frozen
      header field set (LP: #1525048)
    - Updates for experimental ARC support:
      - Specified that for ARC, Authentication-Results should not be signed
2018-10-30 11:29:09 -04:00
Scott Kitterman 82d01d8a42 - Raise error when ARC signing if i= instance limit value of 50 is
exceeded
2018-10-30 08:55:32 -04:00
Scott Kitterman cd0ebc1ecb - Updates for experimental ARC support:
- Limit to rsa-sha256, rsa-sha1 not used by ARC and multi-signature
        design TBD
2018-10-30 08:13:06 -04:00
Scott Kitterman 5349a9f813 Add support for EAI addresses in domains and selectors (John Levine) 2018-10-29 21:55:12 -04:00
Scott Kitterman 3c2beaf70e - Python 3.7 compatibility fixup for dkim.canonicalization.
strip_trailing_lines due to changed RE.sub() processing (LP: #1800313)
2018-10-29 19:53:12 -04:00
Thomas Ward 4142cd1bd0 lack of Type Hinting for sign and verify functions, lp:1782596 2018-10-27 20:56:05 -04:00
Thomas Ward a1ca321fa5 PEP8 Blank Lines Style Issues, lp:1782596 2018-10-27 20:53:32 -04:00
Scott Kitterman f8deb49c0d Don't error out in Python 3 if include headers is string (LP: #1776775) 2018-06-16 18:18:45 -04:00
Daniel Hahler 906980f57a tests: fix DeprecationWarnings for assertEquals 2018-06-16 17:28:10 -04:00
Daniel Hahler 0338aedcc6 Fix bare except statements for expected ImportErrors 2018-06-16 17:28:02 -04:00
Scott Kitterman 0566b9b4c1 - Correctly fold lines at or near the maximum line length (fix folding
zero length lines and adding a blank line and adding an exra cr/lf for
      lines near max length (LP: #1717576)
2018-06-16 16:59:39 -04:00
Scott Kitterman ef80f037ca Delete unused test data 2018-06-09 22:07:02 -04:00
Scott Kitterman 3a68a64836 Update tests so that both RSA and Ed25519 verifying test verifying dual signed message. 2018-06-02 01:19:24 -04:00
Scott Kitterman d5c4f69b27 Remove obsolete and incorrect test data 2018-06-02 01:04:29 -04:00
Scott Kitterman a0ae8c24c5 Detect unknown algorithm in k= tag and raise an appropriate error, vice
failing with a traceback
2018-05-18 19:42:46 -04:00
Scott Kitterman 92608e79c4 Simplify error message for bad version (match what Google does) 2018-05-18 18:21:32 -04:00
Scott Kitterman bec6869c78 Detect incorrect version in DKIM public key record (LP: #1763815) 2018-05-18 18:17:30 -04:00
Scott Kitterman 261eb5f5eb Add test for detecting bad version number in DKIM txt record 2018-05-18 17:04:50 -04:00