diff options
author | Paul Lawrence <paullawrence@google.com> | 2014-11-11 12:23:22 -0800 |
---|---|---|
committer | Paul Lawrence <paullawrence@google.com> | 2014-11-24 10:41:37 -0800 |
commit | c38182ff3b1ecaf5e7a7270074bbab7f37819d3d (patch) | |
tree | 12067611c7b35a943294d20f4c4bbd693e65a650 /services/core/java/com/android/server/NativeDaemonConnector.java | |
parent | d66f3e584ba9e5c9b104b111305edceedd23fcb0 (diff) | |
download | frameworks_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.java | 12 |
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 |