am 7f270fa8: am 3c2086da: [gatekeeperd] clear state and mark on cold boot

* commit '7f270fa8a18c86b8d5451dfcd8936c79115440ef':
  [gatekeeperd] clear state and mark on cold boot
This commit is contained in:
Andres Morales 2015-06-24 18:52:51 +00:00 committed by Android Git Automerger
commit db100ff076

View file

@ -58,6 +58,13 @@ public:
if (ret < 0)
LOG_ALWAYS_FATAL_IF(ret < 0, "Unable to open GateKeeper HAL");
}
if (mark_cold_boot()) {
ALOGI("cold boot: clearing state");
if (device != NULL && device->delete_all_users != NULL) {
device->delete_all_users(device);
}
}
}
virtual ~GateKeeperProxy() {
@ -76,6 +83,20 @@ public:
close(fd);
}
bool mark_cold_boot() {
const char *filename = ".coldboot";
if (access(filename, F_OK) == -1) {
int fd = open(filename, O_WRONLY | O_TRUNC | O_CREAT, S_IRUSR | S_IWUSR);
if (fd < 0) {
ALOGE("could not open file: %s : %s", filename, strerror(errno));
return false;
}
close(fd);
return true;
}
return false;
}
void maybe_store_sid(uint32_t uid, uint64_t sid) {
char filename[21];
sprintf(filename, "%u", uid);
@ -249,6 +270,10 @@ public:
return;
}
clear_sid(uid);
if (device != NULL && device->delete_user != NULL) {
device->delete_user(device, uid);
}
}
virtual status_t dump(int fd, const Vector<String16> &) {