summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/NativeDaemonConnector.java
diff options
context:
space:
mode:
authorPaul Lawrence <paullawrence@google.com>2014-11-11 12:23:22 -0800
committerPaul Lawrence <paullawrence@google.com>2014-11-24 10:41:37 -0800
commitc38182ff3b1ecaf5e7a7270074bbab7f37819d3d (patch)
tree12067611c7b35a943294d20f4c4bbd693e65a650 /services/core/java/com/android/server/NativeDaemonConnector.java
parentd66f3e584ba9e5c9b104b111305edceedd23fcb0 (diff)
downloadframeworks_base-c38182ff3b1ecaf5e7a7270074bbab7f37819d3d.zip
frameworks_base-c38182ff3b1ecaf5e7a7270074bbab7f37819d3d.tar.gz
frameworks_base-c38182ff3b1ecaf5e7a7270074bbab7f37819d3d.tar.bz2
Add mechanism for securely returning parameters though NativeDaemonConnector
If the first word in the response is {{sensitive}}, don't log the body of the response. Bug: 18260068 Change-Id: Ibfb5c6abab1d04b4321cdbcf6c7cf6f18f903146
Diffstat (limited to 'services/core/java/com/android/server/NativeDaemonConnector.java')
-rw-r--r--services/core/java/com/android/server/NativeDaemonConnector.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/NativeDaemonConnector.java b/services/core/java/com/android/server/NativeDaemonConnector.java
index 96f9ab0..d2dfc7b 100644
--- a/services/core/java/com/android/server/NativeDaemonConnector.java
+++ b/services/core/java/com/android/server/NativeDaemonConnector.java
@@ -174,14 +174,18 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
for (int i = 0; i < count; i++) {
if (buffer[i] == 0) {
+ // Note - do not log this raw message since it may contain
+ // sensitive data
final String rawEvent = new String(
buffer, start, i - start, StandardCharsets.UTF_8);
- log("RCV <- {" + rawEvent + "}");
boolean releaseWl = false;
try {
final NativeDaemonEvent event = NativeDaemonEvent.parseRawEvent(
rawEvent);
+
+ log("RCV <- {" + event + "}");
+
if (event.isClassUnsolicited()) {
// TODO: migrate to sending NativeDaemonEvent instances
if (mCallbacks.onCheckHoldWakeLock(event.getCode())
@@ -197,7 +201,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
mResponseQueue.add(event.getCmdNumber(), event);
}
} catch (IllegalArgumentException e) {
- log("Problem parsing message: " + rawEvent + " - " + e);
+ log("Problem parsing message " + e);
} finally {
if (releaseWl) {
mWakeLock.acquire();
@@ -207,9 +211,9 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
start = i + 1;
}
}
+
if (start == 0) {
- final String rawEvent = new String(buffer, start, count, StandardCharsets.UTF_8);
- log("RCV incomplete <- {" + rawEvent + "}");
+ log("RCV incomplete");
}
// We should end at the amount we read. If not, compact then