Closed Bug 511808 Opened 15 years ago Closed 15 years ago

Disable Camellia cipher on Windows CE until 508113 can be checked in

Categories

(Core :: Networking, defect)

ARM
Windows CE
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta1-fixed

People

(Reporter: vlad, Assigned: vlad)

References

Details

Attachments

(2 files, 1 obsolete file)

This is a small bandaid for avoiding crashes on Windows CE (which doesn't do fixup for unaligned data access), until we can figure out a way to get bug 508113 checked in (which might be bug 511743). I want to get this in so that people building from unmodified source don't get a crashy build.
Attachment #395753 - Flags: review?(jduell.mcbugs)
Attachment #395753 - Flags: review?(jduell.mcbugs) → review+
no sr needed
Keywords: checkin-needed
Thanks; I'll do the checkin myself shortly.
Flags: blocking1.9.2+
Keywords: checkin-needed
Fixed on m-c and 1.9.2.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Vlad, I believe that you also need to comment out the Camellia entries in the CipherPrefs array in security/manager/ssl/src/nsNSSComponent.cpp. See http://mxr.mozilla.org/mozilla-central/source/security/manager/ssl/src/nsNSSComponent.cpp#1670 1650 PRBool enabled; ... 1670 // Now only set SSL/TLS ciphers we knew about at compile time 1671 for (CipherPref* cp = CipherPrefs; cp->pref; ++cp) { 1672 mPrefBranch->GetBoolPref(cp->pref, &enabled); 1673 1674 SSL_CipherPrefSetDefault(cp->id, enabled); 1675 } I am not sure if mPrefBranch->GetBoolPref() sets |enabled| to PR_FALSE when the preference doesn't exist. Note that we aren't checking the return value of mPrefBranch->GetBoolPref(). I suspect that you may be depending on the two cipher suites listed before the Camellia cipher suites in CipherPrefs being disabled by default: "security.ssl3.rsa_rc2_40_md5": weak encryption "security.ssl3.ecdh_rsa_null_sha": no encryption I think we should comment out the Camellia cipher suites in CipherPrefs for WINCE, as well as checking the return value of mPrefBranch->GetBoolPref(), like this: // Now only set SSL/TLS ciphers we knew about at compile time for (CipherPref* cp = CipherPrefs; cp->pref; ++cp) { rv = mPrefBranch->GetBoolPref(cp->pref, &enabled); if (NS_SUCCEEDED(rv)) SSL_CipherPrefSetDefault(cp->id, enabled); }
To verify my theory, please set the values of these two preferences to "true": "security.ssl3.rsa_rc2_40_md5" "security.ssl3.ecdh_rsa_null_sha" and see if your workaround still works.
Attached patch followup patch (obsolete) — Splinter Review
Ah, good catch -- I forgot to check whether we were checking whether the pref even existed.
Assignee: nobody → vladimir
Attachment #396796 - Flags: review?(johnath)
This is better.
Attachment #396796 - Attachment is obsolete: true
Attachment #396799 - Flags: review?(johnath)
Attachment #396796 - Flags: review?(johnath)
Attachment #396799 - Flags: review?(johnath) → review+
Comment on attachment 396799 [details] [diff] [review] followup patch, better Checking for failure makes sense, and the default on failure preserves existing behaviour. I'm not a peer here, but have taken "trivial" reviews in the past. r=me, but I'll cc kaie and rrelyea to make sure they see this,
Comment on attachment 396799 [details] [diff] [review] followup patch, better r=wtc. The reason the first patch (attachment 396796 [details] [diff] [review]) also works is that in the for loop before this for loop, we've already disabled all the implemented SSL/TLS ciphers: http://mxr.mozilla.org/mozilla-central/source/security/manager/ssl/src/nsNSSComponent.cpp#1663
Attachment #396799 - Flags: review+
Checked followup in on trunk and m-c.
Question: is m-c (mozilla-central?) not the trunk?
(In reply to comment #11) > Question: is m-c (mozilla-central?) not the trunk? He meant m-c and m-1.9.2. m-c is, indeed, trunk.
Depends on: 508113
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: