-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verifying, modifying and then signing emails results broken chain #169
Comments
It needs to be conditional, I think. It's possible for a prior processing step to add It might be reasonable to do something like this in --- a/libopenarc/arc.c
+++ b/libopenarc/arc.c
@@ -3115,6 +3115,9 @@ arc_set_cv(ARC_MESSAGE *msg, ARC_CHAIN cv)
cv == ARC_CHAIN_FAIL ||
cv == ARC_CHAIN_PASS);
+ if ((cv == ARC_CHAIN_NONE) && (msg->arc_nsets != 0))
+ cv = ARC_CHAIN_PASS;
+
msg->arc_cstate = cv;
} It's not valid to set this to |
Thanks @flowerysong makes sense. I've opened #170. |
This is mainly an issue when a single administrative domain extends the chain multiple times, e.g. on initial receipt and after an internal modification of the message. Fixes trusteddomainproject/OpenARC#169
If OpenARC is used to verify an inbound email (with no existing chain), then if the email is modified and re-signed, then the chain is broken. This is because OpenARC carries forward the existing
none
verification status, rather than changing it to apass
as would be expected from this scenario functioning correctly.As an example:
Authentication-Results
asnone
(correct)none
in theAuthentication-Results
header and carries this forward.none
and thus fails.A simple change to fix this would be to carry forward a
none
as apass
, on the basis of theAuthentication-Results
header being trusted as being generated on the local machine and the chain not existing at that point.Interestingly it looks like this was implemented as such in commit 94c7639. What I do not understand is that this was then reverted in commit c210d04 with no reason why.
Can anyone see any reason why the behavior cannot be retained as per 94c7639?
The text was updated successfully, but these errors were encountered: