Closed
Bug 1046328
Opened 10 years ago
Closed 10 years ago
update certificate exception handling in thunderbird to deal with bug 940506
Categories
(Thunderbird :: Security, defect)
Tracking
(thunderbird33 affected, thunderbird34 fixed)
RESOLVED
FIXED
Thunderbird 34.0
People
(Reporter: keeler, Assigned: mkmelin)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
mkmelin
:
review+
|
Details | Diff | Splinter Review |
Bug 940506 removed the nsIRecentBadCerts interface and implementation, which means that the old way of adding certificate exceptions do not work. I thought there was a bug on this already, but I guess not. What needs to happen is everywhere Thunderbird opens the certificate exception override dialog, it needs to pass along the nsISSLStatus from the connection that failed. See for reference the patch in bug 1025332.
Reporter | ||
Updated•10 years ago
|
status-thunderbird33:
--- → affected
status-thunderbird34:
--- → affected
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → mkmelin+mozilla
Assignee | ||
Comment 2•10 years ago
|
||
This should fix it for /mail. chat looks to require more work, so I'll leave that for the chat people. I used the alexdpsg.net case to test a mail account.
For account config I had to move the clearValidityOverride for the temporary cert to after success, otherwise we get into an infinite loop, probably because the cert remembering is temporary and the next try gets a new connection which that temporariness doesn't cover. I don't know if connection closing changed, or if this never worked properly for that case.
So, enter foo@alexdpsg.net, nothing is found, then manually set
imap.alexdpsg.net ssl
smtp.gmail.com ssl
And yes, that we don't set the found incoming server because the outgoing server can't be reached is another bug...
Attachment #8470464 -
Flags: review?(bwinton)
Attachment #8470464 -
Flags: feedback?(dkeeler)
Assignee | ||
Updated•10 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 3•10 years ago
|
||
Comment on attachment 8470464 [details] [diff] [review]
bug1046328_cert_ex_update__for_tb.patch
Review of attachment 8470464 [details] [diff] [review]:
-----------------------------------------------------------------
This looks great - thanks for working on this!
Attachment #8470464 -
Flags: feedback?(dkeeler) → feedback+
Comment 4•10 years ago
|
||
Comment on attachment 8470464 [details] [diff] [review]
bug1046328_cert_ex_update__for_tb.patch
Review of attachment 8470464 [details] [diff] [review]:
-----------------------------------------------------------------
It all looks fine to me. You _might_ want to run the changes by BenB before checking them in, since he's more familiar with the guessConfig/verifyConfig code.
Thanks,
Blake.
Attachment #8470464 -
Flags: review?(bwinton) → review+
Assignee | ||
Updated•10 years ago
|
Attachment #8470464 -
Flags: feedback?(ben.bucksch)
Comment 5•10 years ago
|
||
Please keep changes minimal. Most of your changes are general code cleanup, which are good changes, but have nothing to do with this bug.
1. The guts of this patch seem to be move that you move the clearVailidyOverride() to a different place. You're explaining this in comment 2, but please also make a source code comment. The next person trying to understand or change this code won't read the bugzilla comment.
You don't seem to be too sure why that failed or why it works now. Please find out, as this might change what the correct solution is.
2. Why do you remove |if (!status) return;| (2 places)?
3. _gotCertError: If this matters to you, please define in a comment (where the variable is define) what this variable contains. Also, you've been missing at least one place where it's still assigned |false|.
4. FIXME: exceptionDialog.xul should get passed an sslStatus (nsISSLStatus)
You're fixing it in another place. Please fix it here, too, if it's necessary. If it isn't, remove the "FIXME".
Generally good changes, but I'd prefer the code cleanup and the bugfix to be in separate commits, if possible. It seems from the patch that this wouldn't be too difficult. You could do that after the review, directly before commit, to avoid re-doing the split-up for every review round.
Comment 6•10 years ago
|
||
Comment on attachment 8470464 [details] [diff] [review]
bug1046328_cert_ex_update__for_tb.patch
r-. Good patch, but stuff to fix.
Attachment #8470464 -
Flags: feedback?(ben.bucksch) → feedback-
Assignee | ||
Comment 7•10 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #5)
> Please keep changes minimal. Most of your changes are general code cleanup,
> which are good changes, but have nothing to do with this bug.
>
> 2. Why do you remove |if (!status) return;| (2 places)?
I don't think it actually happens, but if it does the exception dialog deals with that situation.
On a second though I reverted one of the removals.
> 3. _gotCertError: If this matters to you, please define in a comment (where
> the variable is define) what this variable contains. Also, you've been
> missing at least one place where it's still assigned |false|.
> 4. FIXME: exceptionDialog.xul should get passed an sslStatus (nsISSLStatus)
> You're fixing it in another place. Please fix it here, too, if it's
> necessary. If it isn't, remove the "FIXME".
I filed bug 1057029, it's a more complex fix for chat I'm afraid, so I'll leave it for people who knows that code better.
Assignee | ||
Comment 8•10 years ago
|
||
Attachment #8470464 -
Attachment is obsolete: true
Attachment #8476915 -
Flags: review+
Comment 9•10 years ago
|
||
Comment on attachment 8476915 [details] [diff] [review]
bug1046328_cert_ex_update__for_tb.patch
Review of attachment 8476915 [details] [diff] [review]:
-----------------------------------------------------------------
I just noticed this nit while looking over these changes.
::: mailnews/base/prefs/content/accountcreation/guessConfig.js
@@ +529,5 @@
> thisTry.status = kSuccess;
> +
> + if (thisTry.selfSignedCert) { // eh, ERROR_UNTRUSTED or ERROR_TIME
> + // We clear the temporary override now after success. If we clear it
> + // earlier we get into an infinite loop, probably because the cert
Nit: Trailing white space.
Assignee | ||
Comment 10•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Keywords: regression
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 34.0
Comment 11•10 years ago
|
||
This is fixed for Thunderbird 34 only but status-thunderbird33:affected is set. Should this be ported back to comm-beta?
Assignee | ||
Comment 12•10 years ago
|
||
I don't know if we care enough for betas to uplift it. It has plenty of time to ride the trains until tb38. Feel free to nominate if you feel it's important.
Updated•10 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•