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

Commit 05487618 authored by Paul Lawrence's avatar Paul Lawrence
Browse files

Remove hex encoding and password adjusting now that patterns are '1' based

Bug: 21606650
Change-Id: Id2b01d43edcb995a9bffbc990e6297940e81f20e
parent 300a1416
Loading
Loading
Loading
Loading
+5 −23
Original line number Diff line number Diff line
@@ -76,7 +76,6 @@ import android.util.Xml;

import libcore.io.IoUtils;
import libcore.util.EmptyArray;
import libcore.util.HexEncoding;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
@@ -2078,23 +2077,6 @@ class MountService extends IMountService.Stub
        }
    }

    private static String toHex(String password) {
        if (password == null) {
            return "";
        }
        byte[] bytes = password.getBytes(StandardCharsets.UTF_8);
        return new String(HexEncoding.encode(bytes));
    }

    private static String fromHex(String hexPassword) throws IllegalArgumentException {
        if (hexPassword == null) {
            return null;
        }

        final byte[] bytes = HexEncoding.decode(hexPassword.toCharArray(), false);
        return new String(bytes, StandardCharsets.UTF_8);
    }

    @Override
    public int decryptStorage(String password) {
        if (TextUtils.isEmpty(password)) {
@@ -2112,7 +2094,7 @@ class MountService extends IMountService.Stub

        final NativeDaemonEvent event;
        try {
            event = mCryptConnector.execute("cryptfs", "checkpw", new SensitiveArg(toHex(password)));
            event = mCryptConnector.execute("cryptfs", "checkpw", new SensitiveArg(password));

            final int code = Integer.parseInt(event.getMessage());
            if (code == 0) {
@@ -2152,7 +2134,7 @@ class MountService extends IMountService.Stub

        try {
            mCryptConnector.execute("cryptfs", "enablecrypto", "inplace", CRYPTO_TYPES[type],
                               new SensitiveArg(toHex(password)));
                               new SensitiveArg(password));
        } catch (NativeDaemonConnectorException e) {
            // Encryption failed
            return e.getCode();
@@ -2177,7 +2159,7 @@ class MountService extends IMountService.Stub

        try {
            NativeDaemonEvent event = mCryptConnector.execute("cryptfs", "changepw", CRYPTO_TYPES[type],
                        new SensitiveArg(toHex(password)));
                        new SensitiveArg(password));
            return Integer.parseInt(event.getMessage());
        } catch (NativeDaemonConnectorException e) {
            // Encryption failed
@@ -2210,7 +2192,7 @@ class MountService extends IMountService.Stub

        final NativeDaemonEvent event;
        try {
            event = mCryptConnector.execute("cryptfs", "verifypw", new SensitiveArg(toHex(password)));
            event = mCryptConnector.execute("cryptfs", "verifypw", new SensitiveArg(password));
            Slog.i(TAG, "cryptfs verifypw => " + event.getMessage());
            return Integer.parseInt(event.getMessage());
        } catch (NativeDaemonConnectorException e) {
@@ -2300,7 +2282,7 @@ class MountService extends IMountService.Stub
                // -1 equals no password
                return null;
            }
            return fromHex(event.getMessage());
            return event.getMessage();
        } catch (NativeDaemonConnectorException e) {
            throw e.rethrowAsParcelableException();
        } catch (IllegalArgumentException e) {