Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10bef1d2 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Consistent result when signatures don't match.

INSTALL_FAILED_UPDATE_INCOMPATIBLE is a better description of the
real underlying cause when signatures don't match.

Bug: 18413784
Change-Id: Ib81591df7d0d79f6725a4fa7300ae4e20958f004
parent 6973634c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10199,13 +10199,13 @@ public class PackageManagerService extends IPackageManager.Stub {
                // default to original signature matching
                if (compareSignatures(oldPackage.mSignatures, pkg.mSignatures)
                    != PackageManager.SIGNATURE_MATCH) {
                    res.setError(INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES,
                    res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
                            "New package has a different signature: " + pkgName);
                    return;
                }
            } else {
                if(!checkUpgradeKeySetLP(ps, pkg)) {
                    res.setError(INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES,
                    res.setError(INSTALL_FAILED_UPDATE_INCOMPATIBLE,
                            "New package not signed by keys specified by upgrade-keysets: "
                            + pkgName);
                    return;