44 lines
1.9 KiB
Diff
44 lines
1.9 KiB
Diff
From dec8e279b0e806ba98e9457e5c4be87dd7f53259 Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Hugues Husson <phh@phh.me>
|
|
Date: Wed, 23 Feb 2022 17:37:47 -0500
|
|
Subject: [PATCH 1/2] init: Override select system properties
|
|
|
|
* adb secure props and logd can be overridden from system.
|
|
|
|
Change-Id: I94efa3f108ae97711026f099f367b6bea325629f
|
|
---
|
|
init/property_service.cpp | 15 +++++++++++----
|
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/init/property_service.cpp b/init/property_service.cpp
|
|
index 83e9a0d..97d2fe0 100644
|
|
--- a/init/property_service.cpp
|
|
+++ b/init/property_service.cpp
|
|
@@ -795,13 +795,20 @@ static void LoadProperties(char* data, const char* filter, const char* filename,
|
|
std::string error;
|
|
if (CheckPermissions(key, value, context, cr, &error) == PROP_SUCCESS) {
|
|
auto it = properties->find(key);
|
|
+ const char *new_value = value;
|
|
+
|
|
if (it == properties->end()) {
|
|
- (*properties)[key] = value;
|
|
- } else if (it->second != value) {
|
|
+ (*properties)[key] = new_value;
|
|
+ } else if (it->second != new_value) {
|
|
LOG(WARNING) << "Overriding previous property '" << key << "':'" << it->second
|
|
<< "' with new value '" << value << "'";
|
|
- it->second = value;
|
|
- }
|
|
+ if (strstr(key, "adb") || strstr(key, "secure") || strstr(key, "ro.logd.kernel")
|
|
+ || strcmp("ro.control_privapp_permissions", key) == 0) {
|
|
+ LOG(WARNING) << "... Ignored";
|
|
+ } else {
|
|
+ it->second = new_value;
|
|
+ }
|
|
+ }
|
|
} else {
|
|
LOG(ERROR) << "Do not have permissions to set '" << key << "' to '" << value
|
|
<< "' in property file '" << filename << "': " << error;
|
|
--
|
|
2.48.1
|
|
|