platform_system_core/gatekeeperd/Android.bp
David Anderson 97400bd865 Use distinct GateKeeper userids when running a GSI.
GateKeeper uses userids to key authentication data. This poses a problem
for GSIs, since both the GSI and the host image will be storing separate
authentication data for the same userids.

To account for this, we add a large offset (1000000) to GSI userids
before handing them off to the GateKeeper HAL. Note that
SyntheticPasswordManager uses a similar trick to store Weaver data in
GateKeeper (when a Weaver HAL is not available).

Bug: 123716647
Test: PIN authentication works after booting into a GSI
Change-Id: I714368919f8e46ff1931f350342f09fa09225a35
2019-02-28 08:56:30 -08:00

51 lines
1.3 KiB
Text

//
// Copyright (C) 2015 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_binary {
name: "gatekeeperd",
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wunused",
],
srcs: [
"SoftGateKeeperDevice.cpp",
"IGateKeeperService.cpp",
"gatekeeperd.cpp",
],
shared_libs: [
"libbinder",
"libgatekeeper",
"libgsi",
"liblog",
"libhardware",
"libbase",
"libutils",
"libcrypto",
"libkeystore_aidl",
"libkeystore_binder",
"libhidlbase",
"libhidltransport",
"libhwbinder",
"android.hardware.gatekeeper@1.0",
],
static_libs: ["libscrypt_static"],
include_dirs: ["external/scrypt/lib/crypto"],
init_rc: ["gatekeeperd.rc"],
}