Commit Graph

159 Commits

Author SHA1 Message Date
Stuart D. Gathman 2458f3824c Really fix test case for bug#737311 2011-06-17 14:28:07 -04:00
Stuart D. Gathman a203b29874 A fix for bug #644046 2011-06-17 13:52:09 -04:00
Stuart D. Gathman 1fa37e02a8 Fix dkim.fold() 2011-06-17 12:57:50 -04:00
Scott Kitterman 8713e6e9f8 Move dkim/dns.py to dkim/dnsplug.py to stay clear of dnspython dns namespace. 2011-06-16 14:47:45 -05:00
Stuart D. Gathman 1f89083c1a Doc update 2011-06-15 10:30:15 -04:00
Stuart D. Gathman a673d2332a dd testcase for bug 587783 2011-06-15 10:27:13 -04:00
Stuart D. Gathman 2eeec91fc1 Fix except clauses for py3 2011-06-15 06:56:45 -04:00
Stuart D. Gathman 47fbf5a02b pydns driver did not join split TXT records. Try for Milter.dns which
follows CNAME (is this needed?)
2011-06-14 16:40:16 -04:00
Stuart D. Gathman 70c5b55dbf Put back InvalidTagValue trap 2011-06-14 15:51:19 -04:00
Stuart D. Gathman 6fb16453d9 Strip leading and trailing whitespace before parsing. 2011-06-14 15:47:04 -04:00
Stuart D. Gathman dac0f36522 Provide a class API so that selector, domain can be recovered on verify. 2011-06-14 15:16:33 -04:00
Stuart D. Gathman d2f6840748 Clients need to test for any DKIM exception. 2011-06-11 18:23:45 -04:00
William Grant e9d01800de Canonicalizationpolicy.from_c_value() now raise InvalidCanonicalizationPolicyErrors instead of logging and returning None. 2011-06-04 15:51:14 +10:00
William Grant f8e938c152 Use CanonicalizationPolicy in sign(). 2011-06-04 14:37:18 +10:00
William Grant 206c860890 Pull c= value parsing out into Canonicalizationpolicy.from_c_value. 2011-06-04 14:30:19 +10:00
William Grant 7b1a3f70dc Add CanonicalizationPolicy, which encapsulates the combined hybrid simple/relaxed schemes. 2011-06-04 14:05:54 +10:00
William Grant 472750c0db Signature algorithm names are now defined in dkim.crypto. 2011-06-03 22:34:23 +10:00
William Grant 5f949337d1 Handle Unicode in get_txt. 2011-06-03 22:24:21 +10:00
William Grant a82f3110ea Split out DNS utilities into their own module. 2011-06-03 22:07:42 +10:00
William Grant 28aaa6f2f2 dkim.canonicalization now has an algorithms dict mapping names to algorithms. Use it. 2011-06-03 21:52:33 +10:00
William Grant 589853aee5 Split out dkim.canonicalization, and test it. Note that test_wsp_strips_headers is correctly failing, as trailing whitespace is not stripped from header names. 2011-06-03 21:16:31 +10:00
William Grant f4875a8768 Don't crash when asked to verify a badly encoded domain or selector. 2011-06-02 23:07:01 +10:00
William Grant d9e3b49a8e Make encodings all ascii/utf-8 as appropriate. 2011-03-19 22:44:46 +11:00
William Grant 672c6084e3 python2.6 base64.b64encode doesn't like bytearrays... convert to bytes instead. 2011-03-19 21:24:48 +11:00
William Grant 44db746563 More bytestring conversions in __init__. pydns seems to like to deal with unicode, so convert on the way in and back. 2011-03-19 21:01:54 +11:00
William Grant 3cf0a5ce9f Merge pydns support from trunk. 2011-03-19 20:58:23 +11:00
William Grant 128288a20c Fall back to pydns if dnspython is unavailable. 2011-03-19 20:56:37 +11:00
William Grant 8cf859db4f bytesify __init__. Tests now parse if dns.resolver is removed. 2011-03-19 20:09:01 +11:00
William Grant f5db65966e Use new 2.6/3.x except syntax. 2011-03-19 18:36:19 +11:00
William Grant 46c57176a2 Use normal Python logging everywhere, not printing to debuglog. 2011-03-19 18:27:11 +11:00
William Grant 167b2986d7 validate_signature_field now raises a ValidationError if it finds an issue. 2011-03-19 18:04:41 +11:00
William Grant d5ffbac38a EMSA_PKCS1_v_1_5_encode now works out the hash ID itself. 2011-03-19 17:14:14 +11:00
William Grant 2ee087da01 Extract parse_pem_private_key, and test it and parse_public_key. 2011-03-19 16:23:48 +11:00
Martin Pool c646369d66 Update fix for bug 587783 verifying relaxed signatures 2011-03-15 16:30:16 +11:00
Scott Kitterman 00164b8b5c * Change py_modules to packages in setup.py so it will install correctly.
* Explicitly mark all files modified from the original upstream (licensing paranoia).
2011-03-15 00:10:03 -04:00
William Grant 440dd14de0 Correct crypto exception handling. 2011-03-12 17:19:59 +11:00
William Grant 7dec2e4697 Merge trunk. 2011-03-12 12:32:14 +11:00
William Grant c19043d70f Use a better, tested Tag=Value parser. 2011-03-12 12:28:39 +11:00
William Grant 142285bc03 More docstrings. 2011-03-12 12:09:43 +11:00
William Grant ed497a40d6 Add docstrings to the two crypto functions. 2011-03-12 12:05:15 +11:00
William Grant cbe755269c Restore erroneously removed license header. 2011-03-10 09:31:03 +11:00
William Grant bbe60e0646 int2str returns a string instead of a list, so the ''.join() is redundant. 2011-03-10 00:05:42 +11:00
William Grant 7526317dfe Unexport EMSA_PKCS1_v1_5_encode; it's only used by RSASSA_PKCS1_v1_5_*. 2011-03-10 00:03:26 +11:00
William Grant c82703cea9 Implement RSASSA-PKCS1-v1_5 in dkim.crypto, and use that in verify() and sign(). Move str2int/int2str into dkim.crypto. Verification no longer does a constant-time string compare; there is no private key involved on which a timing attack could be performed. 2011-03-10 00:03:15 +11:00
William Grant 5898094fe1 Factor out RSA into perform_rsa. 2011-03-09 23:37:59 +11:00
William Grant 6f715a1a01 Extract crypto stuff to dkim.crypto. 2011-03-09 23:27:04 +11:00
William Grant b6d3502f9e Split ASN.1 utilities out into their own file. 2011-03-09 23:23:01 +11:00
William Grant b3225a0a24 Extract parse_private_key. 2011-03-09 23:14:11 +11:00
William Grant fb2d8678fd Use parse_tag_value in verify(). 2011-03-09 22:54:41 +11:00
William Grant a6374ed26d Extract signature field validation. 2011-03-09 21:40:51 +11:00