diff options
| author | 2023-05-16 17:19:22 +0000 | |
|---|---|---|
| committer | 2023-05-19 00:46:40 +0000 | |
| commit | 929af52cff39457ec21451f66f6109f9a6d0a25b (patch) | |
| tree | 7700f392c098f4c203bcb0950ce2e182523c6fca /cmds/bootanimation/BootAnimation.cpp | |
| parent | f91a331f1d5d4d0c9476d1e86247133e221c882d (diff) | |
Fix downgrades on device with FRP enabled
Unfortunately, non-forwards-compatible changes to the PasswordData
format break setting up an older version of Android on a device that had
Factory Reset Protection (FRP) set up on a newer version.
Commit 23070d87275c ("Added changes for storing PIN length in
PasswordData") (http://ag/21983004) made a non-forwards-compatible
change to the PasswordData format by reusing the first two bytes of the
credentialType field as a version number.
Therefore, undo that part of the change, and just use the data length to
determine whether the new pinLength field is present or not.
Bug: 276780938
Test: atest com.android.server.locksettings
Test: Reproduced the bug by flashing udc-dev, adding Google account and
PIN, then flashing latest public build (TQ2A.230505.002). Could
not complete the setup wizard. Then did the same with udc-dev +
this CL. Was able to complete setup wizard on public build.
Also tested the same thing for udc-dev + this CL => udc-dev.
Test: Manually tested upgrades: udc-dev => udc-dev + this CL, and
latest public build (TQ2A.230505.002) => udc-dev + this CL.
Specifically, tested that if a PIN was set before, the device can
still be unlocked using the PIN afterwards.
Test: Tested changing the PIN on udc-dev + this CL.
Change-Id: Ibf3c91d14a0c6bd9af4403b080532f2739fde119
Diffstat (limited to 'cmds/bootanimation/BootAnimation.cpp')
0 files changed, 0 insertions, 0 deletions