Loading trusty/gatekeeper/gatekeeper_ipc.h +6 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ enum gatekeeper_command { GK_ENROLL = (0 << GK_REQ_SHIFT), GK_VERIFY = (1 << GK_REQ_SHIFT), GK_DELETE_USER = (2 << GK_REQ_SHIFT), GK_DELETE_ALL_USERS = (3 << GK_REQ_SHIFT), }; /** Loading trusty/gatekeeper/trusty_gatekeeper.cpp +38 −3 Original line number Diff line number Diff line Loading @@ -133,13 +133,48 @@ Return<void> TrustyGateKeeperDevice::verify( return {}; } Return<void> TrustyGateKeeperDevice::deleteUser(uint32_t /*uid*/, deleteUser_cb _hidl_cb) { Return<void> TrustyGateKeeperDevice::deleteUser(uint32_t uid, deleteUser_cb _hidl_cb) { if (error_ != 0) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); return {}; } DeleteUserRequest request(uid); DeleteUserResponse response; auto error = Send(request, &response); if (error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else if (response.error == ERROR_NOT_IMPLEMENTED) { _hidl_cb({GatekeeperStatusCode::ERROR_NOT_IMPLEMENTED, 0, {}}); } else if (response.error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else { _hidl_cb({GatekeeperStatusCode::STATUS_OK, response.retry_timeout, {}}); } return {}; } Return<void> TrustyGateKeeperDevice::deleteAllUsers(deleteAllUsers_cb _hidl_cb) { if (error_ != 0) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); return {}; } DeleteAllUsersRequest request; DeleteAllUsersResponse response; auto error = Send(request, &response); if (error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else if (response.error == ERROR_NOT_IMPLEMENTED) { _hidl_cb({GatekeeperStatusCode::ERROR_NOT_IMPLEMENTED, 0, {}}); } else if (response.error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else { _hidl_cb({GatekeeperStatusCode::STATUS_OK, response.retry_timeout, {}}); } return {}; } Loading trusty/gatekeeper/trusty_gatekeeper.h +9 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,15 @@ class TrustyGateKeeperDevice : public ::android::hardware::gatekeeper::V1_0::IGa return Send(GK_VERIFY, request, response); } gatekeeper_error_t Send(const DeleteUserRequest& request, DeleteUserResponse* response) { return Send(GK_DELETE_USER, request, response); } gatekeeper_error_t Send(const DeleteAllUsersRequest& request, DeleteAllUsersResponse* response) { return Send(GK_DELETE_ALL_USERS, request, response); } int error_; }; Loading Loading
trusty/gatekeeper/gatekeeper_ipc.h +6 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ enum gatekeeper_command { GK_ENROLL = (0 << GK_REQ_SHIFT), GK_VERIFY = (1 << GK_REQ_SHIFT), GK_DELETE_USER = (2 << GK_REQ_SHIFT), GK_DELETE_ALL_USERS = (3 << GK_REQ_SHIFT), }; /** Loading
trusty/gatekeeper/trusty_gatekeeper.cpp +38 −3 Original line number Diff line number Diff line Loading @@ -133,13 +133,48 @@ Return<void> TrustyGateKeeperDevice::verify( return {}; } Return<void> TrustyGateKeeperDevice::deleteUser(uint32_t /*uid*/, deleteUser_cb _hidl_cb) { Return<void> TrustyGateKeeperDevice::deleteUser(uint32_t uid, deleteUser_cb _hidl_cb) { if (error_ != 0) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); return {}; } DeleteUserRequest request(uid); DeleteUserResponse response; auto error = Send(request, &response); if (error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else if (response.error == ERROR_NOT_IMPLEMENTED) { _hidl_cb({GatekeeperStatusCode::ERROR_NOT_IMPLEMENTED, 0, {}}); } else if (response.error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else { _hidl_cb({GatekeeperStatusCode::STATUS_OK, response.retry_timeout, {}}); } return {}; } Return<void> TrustyGateKeeperDevice::deleteAllUsers(deleteAllUsers_cb _hidl_cb) { if (error_ != 0) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); return {}; } DeleteAllUsersRequest request; DeleteAllUsersResponse response; auto error = Send(request, &response); if (error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else if (response.error == ERROR_NOT_IMPLEMENTED) { _hidl_cb({GatekeeperStatusCode::ERROR_NOT_IMPLEMENTED, 0, {}}); } else if (response.error != ERROR_NONE) { _hidl_cb({GatekeeperStatusCode::ERROR_GENERAL_FAILURE, 0, {}}); } else { _hidl_cb({GatekeeperStatusCode::STATUS_OK, response.retry_timeout, {}}); } return {}; } Loading
trusty/gatekeeper/trusty_gatekeeper.h +9 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,15 @@ class TrustyGateKeeperDevice : public ::android::hardware::gatekeeper::V1_0::IGa return Send(GK_VERIFY, request, response); } gatekeeper_error_t Send(const DeleteUserRequest& request, DeleteUserResponse* response) { return Send(GK_DELETE_USER, request, response); } gatekeeper_error_t Send(const DeleteAllUsersRequest& request, DeleteAllUsersResponse* response) { return Send(GK_DELETE_ALL_USERS, request, response); } int error_; }; Loading