Remove cryptfshw@1.0 HAL
We are not building vendor.qti.hardware.cryptfshw@1.0 and because there
are unresolved dependencies just remove the code from the repository.
Change-Id: I32049a2e6a292ee3bb3e06545438488ca5342038
diff --git a/cryptfshw/1.0/Android.bp b/cryptfshw/1.0/Android.bp
deleted file mode 100644
index fe511ff..0000000
--- a/cryptfshw/1.0/Android.bp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (C) 2019 The LineageOS 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_library_static {
- name: "vendor.qti.hardware.cryptfshw@1.0-base",
- vendor: true,
- defaults: ["hidl_defaults"],
- srcs: [
- "CryptfsHw.cpp",
- "CryptfsHwUtils.cpp",
- ],
- export_include_dirs: ["."],
- header_libs: ["generated_kernel_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libutils",
- "vendor.qti.hardware.cryptfshw@1.0",
- ]
-}
diff --git a/cryptfshw/1.0/CryptfsHw.cpp b/cryptfshw/1.0/CryptfsHw.cpp
deleted file mode 100644
index ded06b2..0000000
--- a/cryptfshw/1.0/CryptfsHw.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#define LOG_TAG "vendor.qti.hardware.cryptfshw@1.0-impl-qti"
-
-#include "CryptfsHw.h"
-
-#include <android-base/logging.h>
-#include <android-base/properties.h>
-#include <android-base/unique_fd.h>
-#include <dlfcn.h>
-#include <linux/qseecom.h>
-
-#include "Types.h"
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-
-using ::android::base::GetProperty;
-using ::android::base::unique_fd;
-
-namespace {
-bool IsHwDiskEncryption(const hidl_string& encryption_mode) {
- if (encryption_mode == "aes-xts") {
- LOG_TO(SYSTEM, DEBUG) << "HW based disk encryption is enabled";
- return true;
- }
- return false;
-}
-}; // anonymous namespace
-
-CryptfsHw::CryptfsHw(std::unique_ptr<ICryptfsHwController> controller)
- : controller_(std::move(controller)) {
- std::string bootdevice = GetProperty("ro.boot.bootdevice", "");
-
- if (bootdevice.find("ufs") != std::string::npos) {
- /*
- * All UFS based devices has ICE in it. So we dont need
- * to check if corresponding device exists or not
- */
- usage_ = CRYPTFS_HW_KM_USAGE_UFS_ICE_DISK_ENCRYPTION;
- } else if (bootdevice.find("sdhc") != std::string::npos && access("/dev/icesdcc", F_OK) != -1) {
- usage_ = CRYPTFS_HW_KM_USAGE_SDCC_ICE_DISK_ENCRYPTION;
- } else {
- usage_ = CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION;
- }
-}
-
-// Methods from ::vendor::qti::hardware::cryptfshw::V1_0::ICryptfsHw follow.
-Return<int32_t> CryptfsHw::setIceParam(uint32_t flag) {
-#ifdef QSEECOM_IOCTL_SET_ICE_INFO
- int32_t ret = -1;
- qseecom_ice_data_t ice_data;
- unique_fd qseecom_fd(open("/dev/qseecom", O_RDWR));
- if (qseecom_fd < 0) return ret;
- ice_data.flag = static_cast<int>(flag);
- ret = ioctl(qseecom_fd, QSEECOM_IOCTL_SET_ICE_INFO, &ice_data);
- return ret;
-#else
- (void)flag;
- return -1;
-#endif
-}
-
-Return<int32_t> CryptfsHw::setKey(const hidl_string& passwd, const hidl_string& enc_mode) {
- int err = -1;
-
- if (!IsHwDiskEncryption(enc_mode)) return err;
-
- err = controller_->createKey(usage_, passwd.c_str());
- if (err < 0) {
- if (ERR_MAX_PASSWORD_ATTEMPTS == err)
- LOG_TO(SYSTEM, INFO) << "Maximum wrong password attempts reached, will erase userdata";
- }
-
- return err;
-}
-
-Return<int32_t> CryptfsHw::updateKey(const hidl_string& oldpw, const hidl_string& newpw,
- const hidl_string& enc_mode) {
- int err = -1;
-
- if (!IsHwDiskEncryption(enc_mode)) return err;
-
- err = controller_->updateKey(usage_, oldpw.c_str(), newpw.c_str());
- if (err < 0) {
- if (ERR_MAX_PASSWORD_ATTEMPTS == err)
- LOG_TO(SYSTEM, INFO) << "Maximum wrong password attempts reached, will erase userdata";
- }
-
- return err;
-}
-
-Return<int32_t> CryptfsHw::clearKey() {
- return controller_->wipeKey(usage_);
-}
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/CryptfsHw.h b/cryptfshw/1.0/CryptfsHw.h
deleted file mode 100644
index 5295a4d..0000000
--- a/cryptfshw/1.0/CryptfsHw.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#pragma once
-
-#include <android-base/macros.h>
-#include <vendor/qti/hardware/cryptfshw/1.0/ICryptfsHw.h>
-
-#include <memory>
-
-#include "ICryptfsHwController.h"
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-
-using ::android::hardware::hidl_string;
-using ::android::hardware::Return;
-
-class CryptfsHw : public ICryptfsHw {
- public:
- CryptfsHw(std::unique_ptr<ICryptfsHwController> controller);
-
- // Methods from ::vendor::qti::hardware::cryptfshw::V1_0::ICryptfsHw follow.
- Return<int32_t> setIceParam(uint32_t flag) override;
- Return<int32_t> setKey(const hidl_string& passwd, const hidl_string& enc_mode) override;
- Return<int32_t> updateKey(const hidl_string& oldpw, const hidl_string& newpw,
- const hidl_string& enc_mode) override;
- Return<int32_t> clearKey() override;
-
- private:
- std::unique_ptr<ICryptfsHwController> controller_;
- int usage_;
-
- DISALLOW_IMPLICIT_CONSTRUCTORS(CryptfsHw);
-};
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/CryptfsHwUtils.cpp b/cryptfshw/1.0/CryptfsHwUtils.cpp
deleted file mode 100644
index 8efbe68..0000000
--- a/cryptfshw/1.0/CryptfsHwUtils.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#include "CryptfsHwUtils.h"
-
-#include <algorithm>
-#include <cstring>
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-
-void* secure_memset(void* v, int c, size_t n) {
- auto p = reinterpret_cast<volatile unsigned char*>(v);
- while (n--) *p++ = c;
- return v;
-}
-
-void GetTmpPasswd(const char* passwd, unsigned char* tmp_passwd, size_t buf_len) {
- secure_memset(tmp_passwd, 0, buf_len);
- if (passwd) {
- size_t passwd_len = strnlen(passwd, buf_len);
- memcpy(tmp_passwd, passwd, passwd_len);
- }
-}
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/CryptfsHwUtils.h b/cryptfshw/1.0/CryptfsHwUtils.h
deleted file mode 100644
index 47d97c0..0000000
--- a/cryptfshw/1.0/CryptfsHwUtils.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#pragma once
-
-#include <cstddef>
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-
-void* secure_memset(void* v, int c, size_t n);
-void GetTmpPasswd(const char* passwd, unsigned char* tmp_passwd, size_t buf_len);
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/ICryptfsHwController.h b/cryptfshw/1.0/ICryptfsHwController.h
deleted file mode 100644
index 0748140..0000000
--- a/cryptfshw/1.0/ICryptfsHwController.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#pragma once
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-
-// interface wrapper
-class ICryptfsHwController {
- public:
- virtual ~ICryptfsHwController() = default;
-
- virtual int createKey(int usage, const char* passwd) = 0;
- virtual int updateKey(int usage, const char* oldpw, const char* newpw) = 0;
- virtual int wipeKey(int usage) = 0;
-};
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/Types.h b/cryptfshw/1.0/Types.h
deleted file mode 100644
index 604afd4..0000000
--- a/cryptfshw/1.0/Types.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#pragma once
-
-/*
- * When device comes up or when user tries to change the password, user can
- * try wrong password upto a certain number of times. If user enters wrong
- * password further, HW would wipe all disk encryption related crypto data
- * and would return an error ERR_MAX_PASSWORD_ATTEMPTS to VOLD. VOLD would
- * wipe userdata partition once this error is received.
- */
-constexpr auto ERR_MAX_PASSWORD_ATTEMPTS = -10;
-constexpr auto MAX_PASSWORD_LEN = 32;
-constexpr auto QTI_ICE_STORAGE_UFS = 1;
-constexpr auto QTI_ICE_STORAGE_SDCC = 2;
-
-constexpr auto CRYPTFS_HW_UP_CHECK_COUNT = 10;
-constexpr auto CRYPTFS_HW_CREATE_KEY_FAILED = -7;
-constexpr auto CRYPTFS_HW_WIPE_KEY_FAILED = -8;
-constexpr auto CRYPTFS_HW_UPDATE_KEY_FAILED = -9;
-constexpr auto CRYPTFS_HW_KMS_MAX_FAILURE = -10;
-
-enum cryptfs_hw_key_management_usage_type {
- CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION = 0x01,
- CRYPTFS_HW_KM_USAGE_FILE_ENCRYPTION = 0x02,
- CRYPTFS_HW_KM_USAGE_UFS_ICE_DISK_ENCRYPTION = 0x03,
- CRYPTFS_HW_KM_USAGE_SDCC_ICE_DISK_ENCRYPTION = 0x04,
- CRYPTFS_HW_KM_USAGE_MAX
-};
diff --git a/cryptfshw/1.0/qsee/Android.bp b/cryptfshw/1.0/qsee/Android.bp
deleted file mode 100644
index b06e286..0000000
--- a/cryptfshw/1.0/qsee/Android.bp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (C) 2019 The LineageOS 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: "vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee",
- defaults: ["hidl_defaults"],
- relative_install_path: "hw",
- vendor: true,
- init_rc: ["vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee.rc"],
- owner: "qti",
- srcs: [
- "QSEEComController.cpp",
- "service.cpp",
- ],
- arch: {
- arm: {
- shared_libs: [
- "libhwbinder",
- ],
- cflags: ["-DARCH_ARM_32"],
- },
- },
- product_variables: {
- lineage: {
- should_wait_for_qsee: {
- cflags: ["-DWAIT_FOR_QSEE"],
- },
- },
- },
- header_libs: ["generated_kernel_headers"],
- shared_libs: [
- "libbase",
- "libdl",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "vendor.qti.hardware.cryptfshw@1.0",
- ],
- static_libs: ["vendor.qti.hardware.cryptfshw@1.0-base"],
-}
diff --git a/cryptfshw/1.0/qsee/QSEEComController.cpp b/cryptfshw/1.0/qsee/QSEEComController.cpp
deleted file mode 100644
index 9cc5b2b..0000000
--- a/cryptfshw/1.0/qsee/QSEEComController.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#define LOG_TAG "vendor.qti.hardware.cryptfshw@1.0-impl-qti.qsee"
-
-#include "QSEEComController.h"
-
-#include <CryptfsHwUtils.h>
-#include <Types.h>
-#include <android-base/logging.h>
-#include <android-base/properties.h>
-#include <dlfcn.h>
-
-#include <thread>
-
-namespace {
-constexpr char kFilename[] = "libQSEEComAPI.so";
-
-#ifdef WAIT_FOR_QSEE
-bool IsQseecomUp() {
- using namespace std::chrono_literals;
- for (size_t i = 0; i < CRYPTFS_HW_UP_CHECK_COUNT; i++) {
- if (::android::base::GetBoolProperty("sys.keymaster.loaded", false)) {
- return true;
- }
- std::this_thread::sleep_for(100ms);
- }
-
- LOG(ERROR) << "Timed out waiting for QSEECom";
- return false;
-}
-#endif
-} // anonymous namespace
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-namespace qsee {
-
-Controller::Controller() {
- std::shared_ptr<void> handle(dlopen(kFilename, RTLD_LAZY | RTLD_LOCAL), [this](void* p) {
- mFn_create_key = nullptr;
- mFn_update_key_user_info = nullptr;
- mFn_wipe_key = nullptr;
-
- if (p != nullptr) {
- int err = dlclose(p);
- p = nullptr;
- if (err != 0) {
- LOG(ERROR) << "FAILED TO CLOSE LIBRARY " << kFilename;
- }
- }
- });
- if (handle == nullptr) {
- LOG(ERROR) << "FAILED TO LOAD LIBRARY " << kFilename << ": " << dlerror();
- return;
- }
-
-#ifdef WAIT_FOR_QSEE
- if (!IsQseecomUp()) {
- LOG_TO(SYSTEM, ERROR)
- << "Timed out waiting for QSEECom listeners. Aborting FDE key operation";
- return;
- }
-#endif
-
- handle_ = handle;
- mFn_create_key = loadFunction<int (*)(int, void*)>("QSEECom_create_key");
- mFn_update_key_user_info =
- loadFunction<int (*)(int, void*, void*)>("QSEECom_update_key_user_info");
- mFn_wipe_key = loadFunction<int (*)(int)>("QSEECom_wipe_key");
-}
-
-template <typename Function>
-Function Controller::loadFunction(const char* name) {
- void* fn = dlsym(handle_.get(), name);
- if (fn == nullptr) {
- LOG(ERROR) << "loadFunction -- failed to load function " << name;
- }
- return reinterpret_cast<Function>(fn);
-}
-
-int Controller::createKey(int usage, const char* passwd) {
- int32_t ret;
- unsigned char hash32[MAX_PASSWORD_LEN];
-
- if (mFn_create_key == nullptr) return CRYPTFS_HW_UPDATE_KEY_FAILED;
-
- GetTmpPasswd(passwd, hash32, MAX_PASSWORD_LEN);
-
- ret = mFn_create_key(usage, hash32);
- if (ret) {
- LOG_TO(SYSTEM, ERROR) << "Error::Qseecom call to create encryption key for usage " << usage
- << " failed with ret = " << ret << ", errno = " << errno;
- if (errno == ERANGE) {
- ret = CRYPTFS_HW_KMS_MAX_FAILURE;
- } else {
- ret = CRYPTFS_HW_CREATE_KEY_FAILED;
- }
- } else {
- LOG_TO(SYSTEM, ERROR) << "SUCESS::Qseecom call to create encryption key for usage " << usage
- << " success with ret = " << ret;
- }
-
- secure_memset(hash32, 0, MAX_PASSWORD_LEN);
-
- return ret;
-}
-
-int Controller::updateKey(int usage, const char* oldpw, const char* newpw) {
- int32_t ret;
- unsigned char current_hash32[MAX_PASSWORD_LEN], new_hash32[MAX_PASSWORD_LEN];
-
- if (mFn_update_key_user_info == nullptr) return CRYPTFS_HW_UPDATE_KEY_FAILED;
-
- GetTmpPasswd(oldpw, current_hash32, MAX_PASSWORD_LEN);
- GetTmpPasswd(newpw, new_hash32, MAX_PASSWORD_LEN);
-
- ret = mFn_update_key_user_info(usage, current_hash32, new_hash32);
- if (ret) {
- LOG_TO(SYSTEM, ERROR) << "Error::Qseecom call to update the encryption key for usage "
- << usage << " failed with ret = " << ret << ", errno = " << errno;
- if (errno == ERANGE) {
- ret = CRYPTFS_HW_KMS_MAX_FAILURE;
- } else {
- ret = CRYPTFS_HW_UPDATE_KEY_FAILED;
- }
- } else {
- LOG_TO(SYSTEM, ERROR) << "SUCCESS::Qseecom call to update the encryption key for usage "
- << usage << " success with ret = " << ret;
- }
-
- secure_memset(current_hash32, 0, MAX_PASSWORD_LEN);
- secure_memset(new_hash32, 0, MAX_PASSWORD_LEN);
-
- return ret;
-}
-
-int Controller::wipeKey(int usage) {
- int32_t ret;
-
- if (mFn_wipe_key == nullptr) return CRYPTFS_HW_UPDATE_KEY_FAILED;
-
- ret = mFn_wipe_key(usage);
- if (ret) {
- LOG_TO(SYSTEM, ERROR) << "Error::Qseecom call to wipe the encryption key for usage "
- << usage << " failed with ret = " << ret << ", errno = " << errno;
- ret = CRYPTFS_HW_WIPE_KEY_FAILED;
- } else {
- LOG_TO(SYSTEM, ERROR) << "SUCCESS::Qseecom call to wipe the encryption key for usage "
- << usage << " success with ret = " << ret;
- }
- return ret;
-}
-
-} // namespace qsee
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/qsee/QSEEComController.h b/cryptfshw/1.0/qsee/QSEEComController.h
deleted file mode 100644
index 6593b2c..0000000
--- a/cryptfshw/1.0/qsee/QSEEComController.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#pragma once
-
-#include <ICryptfsHwController.h>
-#include <android-base/macros.h>
-
-#include <memory>
-
-namespace vendor {
-namespace qti {
-namespace hardware {
-namespace cryptfshw {
-namespace V1_0 {
-namespace implementation {
-namespace qsee {
-
-// interface wrapper
-class Controller : public ICryptfsHwController {
- public:
- Controller();
- int createKey(int usage, const char* passwd) override;
- int updateKey(int usage, const char* oldpw, const char* newpw) override;
- int wipeKey(int usage) override;
-
- private:
- template <typename Function>
- Function loadFunction(const char* name);
- std::shared_ptr<void> handle_;
-
- int (*mFn_create_key)(int, void*);
- int (*mFn_update_key_user_info)(int, void*, void*);
- int (*mFn_wipe_key)(int);
-
- DISALLOW_COPY_AND_ASSIGN(Controller);
- Controller(Controller&&) = delete;
- Controller& operator=(Controller&&) = delete;
-};
-
-} // namespace qsee
-} // namespace implementation
-} // namespace V1_0
-} // namespace cryptfshw
-} // namespace hardware
-} // namespace qti
-} // namespace vendor
diff --git a/cryptfshw/1.0/qsee/service.cpp b/cryptfshw/1.0/qsee/service.cpp
deleted file mode 100644
index 5c9100e..0000000
--- a/cryptfshw/1.0/qsee/service.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#define LOG_TAG "vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee"
-// #define LOG_NDEBUG 0
-
-#include "QSEEComController.h"
-
-#define CRYPTFS_HW_BACKEND qsee
-#include <service.impl.h>
diff --git a/cryptfshw/1.0/qsee/vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee.rc b/cryptfshw/1.0/qsee/vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee.rc
deleted file mode 100644
index 8e17d46..0000000
--- a/cryptfshw/1.0/qsee/vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee.rc
+++ /dev/null
@@ -1,5 +0,0 @@
-service cryptfshw-1-0 /vendor/bin/hw/vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee
- class early_hal
- user system
- group system
- writepid /dev/cpuset/system-background/tasks
diff --git a/cryptfshw/1.0/service.impl.h b/cryptfshw/1.0/service.impl.h
deleted file mode 100644
index 3a10d07..0000000
--- a/cryptfshw/1.0/service.impl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2019 The LineageOS 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.
- */
-
-#ifndef CRYPTFS_HW_BACKEND
-#error "CRYPTFS_HW_BACKEND must be set before including this file."
-#endif
-
-#include <android-base/logging.h>
-#include <hidl/HidlTransportSupport.h>
-
-#ifdef ARCH_ARM_32
-#include <hwbinder/ProcessState.h>
-#endif
-
-#include <CryptfsHw.h>
-
-using ::android::OK;
-using ::android::status_t;
-using ::android::hardware::configureRpcThreadpool;
-using ::android::hardware::joinRpcThreadpool;
-
-using ::vendor::qti::hardware::cryptfshw::V1_0::implementation::CryptfsHw;
-using ::vendor::qti::hardware::cryptfshw::V1_0::implementation::ICryptfsHwController;
-using ::vendor::qti::hardware::cryptfshw::V1_0::implementation::CRYPTFS_HW_BACKEND::Controller;
-
-int main() {
-#ifdef ARCH_ARM_32
- android::hardware::ProcessState::initWithMmapSize((size_t)16384);
-#endif
-
- LOG(DEBUG) << "CryptfsHw HAL service is starting.";
-
- auto controller = std::make_unique<Controller>();
- android::sp<CryptfsHw> cryptfsHw = new CryptfsHw(std::move(controller));
-
- configureRpcThreadpool(1, true /*callerWillJoin*/);
-
- status_t status = cryptfsHw->registerAsService();
- if (status == OK) {
- LOG(DEBUG) << "CryptfsHw HAL service is ready.";
- joinRpcThreadpool();
- } else {
- LOG(ERROR) << "Could not register service for CryptfsHw HAL CryptfsHw Iface (" << status
- << ")";
- }
-
- // In normal operation, we don't expect the thread pool to shutdown
- LOG(ERROR) << "CryptfsHw HAL service is shutting down.";
- return 1;
-}