Merge lp:~mterry/ubuntu-system-settings/allow-some-failures into lp:ubuntu-system-settings
Status: | Merged |
---|---|
Approved by: | Sebastien Bacher |
Approved revision: | 1006 |
Merged at revision: | 1017 |
Proposed branch: | lp:~mterry/ubuntu-system-settings/allow-some-failures |
Merge into: | lp:ubuntu-system-settings |
Prerequisite: | lp:~mterry/ubuntu-system-settings/same-pass-switch |
Diff against target: |
35 lines (+13/-3) 1 file modified
plugins/security-privacy/securityprivacy.cpp (+13/-3) |
To merge this branch: | bzr merge lp:~mterry/ubuntu-system-settings/allow-some-failures |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher (community) | Approve | ||
PS Jenkins bot | continuous-integration | Needs Fixing | |
Review via email: mp+233816@code.launchpad.net |
Commit message
Fix false-negatives from AccountsService when switching from swipe to password (LP: #1363405)
When AccountsService switches from swipe to password (or back), it does several things (delete user password if moving to swipe, then adjust some group memberships like nopasswdlogin, then adjust some internal state).
But on Touch, the group membership change will fail since /etc/group is readonly. (But it doesn't matter, since AccountsService will note from its inotify monitor on /var/lib/
However! USS will see the failure and try to rollback to swipe instead of changing away from swipe. Except even then it will mess up. It won't make the same call again to AS to delete the password again, so we'll end up with the password changed but left in place. Producing the symptoms in bug 1363405.
Description of the change
Fix false-negatives from AccountsService when switching from swipe to password (LP: #1363405)
When AccountsService switches from swipe to password (or back), it does several things (delete user password if moving to swipe, then adjust some group memberships like nopasswdlogin, then adjust some internal state).
But on Touch, the group membership change will fail since /etc/group is readonly. (But it doesn't matter, since AccountsService will note from its inotify monitor on /var/lib/
However! USS will see the failure and try to rollback to swipe instead of changing away from swipe. Except even then it will mess up. It won't make the same call again to AS to delete the password again, so we'll end up with the password changed but left in place. Producing the symptoms in bug 1363405.
== Checklist ==
* Is your branch in sync with latest trunk (e.g. bzr pull lp:trunk -> no changes)
Yes
* Did you build your software in a clean sbuild/pbuilder chroot or ppa?
Yes
* Did you build your software in a clean sbuild/pbuilder armhf chroot or ppa?
Yes
* Has your component "TestPlan” been executed successfully on emulator, N4?
Yes
* Has a 5 minute exploratory testing run been executed on N4?
Yes
* If you changed the packaging (debian), did you subscribe a core-dev to this MP?
NA
* If you changed the UI, did you subscribe the design-reviewers to this MP?
NA
* What components might get impacted by your changes?
Security/Privacy
* Have you requested review by the teams of these owning components?
That's me I guess.
BTW, this change got introduced when I moved from the act_set_ password_ mode() call to directly calling SetPasswordMode over DBus. The libact version returns no error information and we had to indirectly determine whether it succeeded. When calling directly, we apparently get too much error information. :)