Open
Bug 1171687
Opened 9 years ago
Updated 2 years ago
test_logins_decrypt_failure.js fails on Android
Categories
(Toolkit :: Password Manager, defect, P5)
Toolkit
Password Manager
Tracking
()
NEW
People
(Reporter: MattN, Unassigned)
References
Details
(Whiteboard: [passwords:tech-debt])
Attachments
(3 files)
+++ This bug was initially created as a clone of Bug #1170772 +++
Bug 1170772 is enabling the xpcshell test directory on Android but test_storage_mozStorage.js and test_logins_decrypt_failure.js fail and need to be fixed before enabling.
(Quoting Geoff Brown [:gbrown] from bug 1170772 comment #3)
> test_storage_mozStorage.js and test_logins_decrypt_failure.js fail on
> Android:
>
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=4d1affc45dad
>
> http://ftp.mozilla.org/pub/mozilla.org/mobile/try-builds/gbrown@mozilla.com-
> 4d1affc45dad/try-android-api-11/try_ubuntu64_vm_armv7_mobile_test-xpcshell-3-
> bm122-tests1-linux64-build99.txt.gz
Flags: qe-verify-
Flags: firefox-backlog+
Reporter | ||
Updated•8 years ago
|
Whiteboard: [passwords:tech-debt]
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
dkeeler: I started digging into these tickets, motivated by replacing password storage on Android. (My thinking: we should make the existing tests work for the existing storage, and then make the existing tests work for the replacement storage. Sadly, I didn't realize that the "storage" tests are really about upgrading and downgrading storage-specific SQLite DBs, so not germane to replacement storage. Sigh.) In any case, I think the try pushes will address test_storage_mozStorage.js, and I'll flag you for review when they're green.
However, I can't make progress on test_logins_decrypt_failure.js. What is happening is that `token.reset()` followed by `token.changePassword("", "")` fails around http://searchfox.org/mozilla-central/rev/7cc377ce3f0a569c5c9b362d589705cd4fecc0ac/toolkit/components/passwordmgr/test/unit/test_logins_decrypt_failure.js#22. I have tried `token.initPassword("")` as well.
There are similar tests that are disabled on Android due to something about smartcards which I don't understand; specifically http://searchfox.org/mozilla-central/rev/7cc377ce3f0a569c5c9b362d589705cd4fecc0ac/security/manager/ssl/tests/unit/test_pkcs11_token.js#80.
It's not clear to me that this flow that invokes `token.reset()` _should_ work on Android, and we definitely don't invoke it in Fennec's Master Password support. Can you provide some light on this test, whether it should work on Android, and whether the usage of the internal token API is even correct? Thanks!
Flags: needinfo?(dkeeler)
Comment 3•7 years ago
|
||
I have a green X8 job at https://treeherder.mozilla.org/#/jobs?repo=try&revision=2bed995b6c23c07254885ebb0a58c8f779f5a11f&selectedJob=108295051 with a log containing
[task 2017-06-19T19:18:34.368082Z] 19:18:34 INFO - TEST-PASS | toolkit/components/passwordmgr/test/unit/test_storage_mozStorage.js | took 13364ms
and it looks like the Android x86 job is passing too. \o/
Comment 4•7 years ago
|
||
As far as I can tell, the issue is that token.reset() deletes the table "nssPrivate" in key4.db: https://dxr.mozilla.org/mozilla-central/rev/95543bdc59bd038a3d5d084b85a4fec493c349ee/security/nss/lib/softoken/sdb.c#1625
This table is only ever created when the user cert/key DB is loaded, which for Firefox basically means NSS initialization: https://dxr.mozilla.org/mozilla-central/rev/95543bdc59bd038a3d5d084b85a4fec493c349ee/security/nss/lib/softoken/sdb.c#2068
I did figure out a way to get NSS to reload the cert/key DB module, and by changing the changePassword to initPassword, the test does pass (with a ton of the following: 0:06.92 LOG: Thread-1 INFO "CONSOLE_MESSAGE: (error) [JavaScript Error: "NS_ERROR_FAILURE: Couldn't decrypt string" {file: "file:///home/keeler/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/components/crypto-SDR.js" line: 136}]" (which makes sense, because the backend can't decrypt the encrypted login entries).
However, this is a bit of a hack, and in any case we don't actually expose the ability to reset the key DB in this way (there *is* a resetpassword.xul, but you have to manually type it in to the location bar - no UI links to it). I'm tempted to say this test isn't relevant unless and until we want to actually expose this feature (and when we do, we'll have to actually make it work). Maybe for right now the best thing to do would be to create new, empty key DBs (one for android, one for the other platforms) and test that if you start xpcshell with them they can't decrypt the saved passwords - that would achieve most of what this test is aiming to test (without the portion that we don't support).
Flags: needinfo?(dkeeler)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Comment 7•7 years ago
|
||
mozreview-review |
Comment on attachment 8879325 [details]
Bug 1171687 - Part 1: Fix test_storage_mozStorage.
https://reviewboard.mozilla.org/r/150612/#review155368
(dkeeler from the commit message didn't match :keeler, not sure if you still want his review too)
Attachment #8879325 -
Flags: review+
Comment 8•7 years ago
|
||
mozreview-review |
Comment on attachment 8879326 [details]
Bug 1171687 - Part 2: Fix running xpcshell tests that initialize NSS locally.
https://reviewboard.mozilla.org/r/150614/#review155544
You'll probably want some test harness peer to look at this for the implementation details side of things.
Attachment #8879326 -
Flags: review?(mh+mozilla) → review+
Comment 9•7 years ago
|
||
mozreview-review |
Comment on attachment 8879326 [details]
Bug 1171687 - Part 2: Fix running xpcshell tests that initialize NSS locally.
https://reviewboard.mozilla.org/r/150614/#review155666
Attachment #8879326 -
Flags: review?(gbrown) → review+
Reporter | ||
Comment 10•5 years ago
|
||
I'm landing part 1 in bug 1556117 since I want the test coverage for bug 1148205.
Summary: test_storage_mozStorage.js and test_logins_decrypt_failure.js fail on Android: → test_logins_decrypt_failure.js fails on Android
Comment 11•5 years ago
|
||
spun-off-to-another-bug |
Pushed by mozilla@noorenberghe.ca:
https://hg.mozilla.org/integration/mozilla-inbound/rev/807a86140aba
Fix test_storage_mozStorage. r=MattN
Reporter | ||
Comment 12•5 years ago
|
||
(In reply to Pulsebot from comment #11)
https://hg.mozilla.org/integration/mozilla-inbound/rev/807a86140aba
Fix test_storage_mozStorage. r=MattN
and I forgot to update the bug number after filing…
Keywords: leave-open
Comment 13•5 years ago
|
||
bugherder spun-off-to-another-bug |
Reporter | ||
Updated•5 years ago
|
Keywords: leave-open
Reporter | ||
Updated•5 years ago
|
Priority: -- → P5
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•