gecko-dev/security/manager
Cykesiopka e95a6f224a Bug 1305531 - Use ACString instead of AUTF8String in nsISecretDecoderRing.idl to unbreak decrypting saved usernames and passwords. r=keeler
Bug 1275841 switched some IDL types from "string" to "AUTF8String".
This had the unintentional effect of breaking decryption of previously saved
passwords that contained special characters.

In particular, the AUTF8String type means XPConnect may convert any strings
using that type to UTF-16 when crossing XPConnect boundaries.
However, crypto-SDR.js (responsible for encrypting and decrypting for the
password manager) expects to do conversions between UTF-16 and UTF-8 itself.
What ends up happening is crypto-SDR.js decrypts a saved password and tries to
convert from UTF-8 to UTF-16, but fails because the decrypted text is already
UTF-16.

The solution is to use ACString instead of AUTF8String. ACString does not result
in automatic encoding changes, so the expectations of crypto-SDR.js are met
again, and lets SecretDecoderRing.cpp keep the benefit of working with smart
string types.

This change probably breaks passwords saved after Bug 1275841 landed and before
this patch landed, but the number of passwords this patch breaks is probably
much lower than the number of passwords that would be broken if this patch did
not land.

MozReview-Commit-ID: 6Z01zfwJ6t7

--HG--
extra : rebase_source : 514e78f2e1c2cef3b3692656b20daf3b068a4fee
2016-10-01 09:29:28 +08:00
..
locales Bug 1298872 - Fix text cropped and overflowed in advanced pane in-content dialogs; r=MattN 2016-09-05 18:11:08 +08:00
pki Bug 1049001 - Convert the certManager dialog to in-content; r=MattN 2016-09-13 14:27:13 -07:00
ssl Bug 1305531 - Use ACString instead of AUTF8String in nsISecretDecoderRing.idl to unbreak decrypting saved usernames and passwords. r=keeler 2016-10-01 09:29:28 +08:00
tools merge mozilla-inbound to mozilla-central a=merge 2016-09-08 12:01:17 +02:00
.eslintrc.json Bug 1284438 - Enable more ESLint rules for PSM. r=mgoodwin 2016-07-06 01:59:03 +08:00
android_stub.h Bug 1288644 - Don't define RTLD_NOLOAD when __ANDROID_API__ >= 21. r=glandium 2016-07-22 16:40:21 +09:00
moz.build Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00