[gatekeeperd] track gk failure record changes

Bug:21118563
Change-Id: Ia726dc4db6ec5c6a1e8e08a689ec82568ff1e5aa
This commit is contained in:
Andres Morales 2015-06-01 09:59:05 -07:00
parent e2452b4bf3
commit e1f827fc1f
1 changed files with 14 additions and 6 deletions

View File

@ -53,14 +53,20 @@ public:
virtual bool GetAuthTokenKey(const uint8_t **auth_token_key,
uint32_t *length) const {
if (auth_token_key == NULL || length == NULL) return false;
*auth_token_key = const_cast<const uint8_t *>(key_.get());
uint8_t *auth_token_key_copy = new uint8_t[SIGNATURE_LENGTH_BYTES];
memcpy(auth_token_key_copy, key_.get(), SIGNATURE_LENGTH_BYTES);
*auth_token_key = auth_token_key_copy;
*length = SIGNATURE_LENGTH_BYTES;
return true;
}
virtual void GetPasswordKey(const uint8_t **password_key, uint32_t *length) {
if (password_key == NULL || length == NULL) return;
*password_key = const_cast<const uint8_t *>(key_.get());
uint8_t *password_key_copy = new uint8_t[SIGNATURE_LENGTH_BYTES];
memcpy(password_key_copy, key_.get(), SIGNATURE_LENGTH_BYTES);
*password_key = password_key_copy;
*length = SIGNATURE_LENGTH_BYTES;
}
@ -94,7 +100,8 @@ public:
return false;
}
virtual bool GetFailureRecord(uint32_t uid, secure_id_t user_id, failure_record_t *record) {
virtual bool GetFailureRecord(uint32_t uid, secure_id_t user_id, failure_record_t *record,
bool /* secure */) {
failure_record_t *stored = &failure_map_[uid];
if (user_id != stored->secure_user_id) {
stored->secure_user_id = user_id;
@ -105,20 +112,21 @@ public:
return true;
}
virtual void ClearFailureRecord(uint32_t uid, secure_id_t user_id) {
virtual bool ClearFailureRecord(uint32_t uid, secure_id_t user_id, bool /* secure */) {
failure_record_t *stored = &failure_map_[uid];
stored->secure_user_id = user_id;
stored->last_checked_timestamp = 0;
stored->failure_counter = 0;
return true;
}
virtual bool WriteFailureRecord(uint32_t uid, failure_record_t *record) {
virtual bool WriteFailureRecord(uint32_t uid, failure_record_t *record, bool /* secure */) {
failure_map_[uid] = *record;
return true;
}
private:
UniquePtr<uint8_t> key_;
UniquePtr<uint8_t[]> key_;
std::unordered_map<uint32_t, failure_record_t> failure_map_;
};
}