Asynchronous verification fails on missing header
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dkimpy |
Fix Released
|
High
|
Scott Kitterman |
Bug Description
Hello!
Thanks for your library!
I'm trying to switch my old project from older dkimpy version and I decided to try new async functions.
Unfortunately, when I tried to send myself an e-mail without DKIM-Signature header at all, it failed. Here is the stacktrace:
File "/usr/lib/
await method(arg)
File "/usr/lib/
status = await self._call_
File "/usr/lib/
status = await hook(self, self.session, self.envelope, *args)
File "/usr/lib/
await self.handle_
File "<hidden>", line 26, in handle_message
dkim_result = await dkim.verify_
File "/usr/lib/
return await d.verify(
File "/usr/lib/
sig, include_headers, sigheaders = self.verify_
TypeError: cannot unpack non-iterable bool object
Now I just catch TypeError on my side, but actually here the patch:
--- dkim/asyncsuppo
+++ dkim/asyncsuppo
@@ -94,7 +94,10 @@
async def verify(
- sig, include_headers, sigheaders = self.verify_
+ prep = self.verify_
+ if not prep:
+ return False
+ sig, include_headers, sigheaders = prep
return await self.verify_
I didn't find a better way to send patches here, so I hope it's OK to do it here.
Changed in dkimpy: | |
status: | Fix Committed → Fix Released |
Thanks. I'll look into it and plan to fix it for the next release.