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: