Loading services/core/java/com/android/server/NativeDaemonConnector.java +8 −1 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ 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); Loading @@ -181,6 +183,9 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo try { final NativeDaemonEvent event = NativeDaemonEvent.parseRawEvent( rawEvent); log("RCV <- {" + event + "}"); if (event.isClassUnsolicited()) { // TODO: migrate to sending NativeDaemonEvent instances if (mCallbacks.onCheckHoldWakeLock(event.getCode()) Loading @@ -196,6 +201,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo mResponseQueue.add(event.getCmdNumber(), event); } } catch (IllegalArgumentException e) { log("Problem parsing message " + e); } finally { if (releaseWl) { mWakeLock.acquire(); Loading @@ -205,8 +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"); } // We should end at the amount we read. If not, compact then Loading services/core/java/com/android/server/NativeDaemonEvent.java +14 −3 Original line number Diff line number Diff line Loading @@ -33,16 +33,21 @@ public class NativeDaemonEvent { private final int mCode; private final String mMessage; private final String mRawEvent; private final String mLogMessage; private String[] mParsed; private NativeDaemonEvent(int cmdNumber, int code, String message, String rawEvent) { private NativeDaemonEvent(int cmdNumber, int code, String message, String rawEvent, String logMessage) { mCmdNumber = cmdNumber; mCode = code; mMessage = message; mRawEvent = rawEvent; mLogMessage = logMessage; mParsed = null; } static public final String SENSITIVE_MARKER = "{{sensitive}}"; public int getCmdNumber() { return mCmdNumber; } Loading @@ -62,7 +67,7 @@ public class NativeDaemonEvent { @Override public String toString() { return mRawEvent; return mLogMessage; } /** Loading Loading @@ -151,9 +156,15 @@ public class NativeDaemonEvent { } } String logMessage = rawEvent; if (parsed.length > 2 && parsed[2].equals(SENSITIVE_MARKER)) { skiplength += parsed[2].length() + 1; logMessage = parsed[0] + " " + parsed[1] + " {}"; } final String message = rawEvent.substring(skiplength); return new NativeDaemonEvent(cmdNumber, code, message, rawEvent); return new NativeDaemonEvent(cmdNumber, code, message, rawEvent, logMessage); } /** Loading Loading
services/core/java/com/android/server/NativeDaemonConnector.java +8 −1 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ 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); Loading @@ -181,6 +183,9 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo try { final NativeDaemonEvent event = NativeDaemonEvent.parseRawEvent( rawEvent); log("RCV <- {" + event + "}"); if (event.isClassUnsolicited()) { // TODO: migrate to sending NativeDaemonEvent instances if (mCallbacks.onCheckHoldWakeLock(event.getCode()) Loading @@ -196,6 +201,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo mResponseQueue.add(event.getCmdNumber(), event); } } catch (IllegalArgumentException e) { log("Problem parsing message " + e); } finally { if (releaseWl) { mWakeLock.acquire(); Loading @@ -205,8 +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"); } // We should end at the amount we read. If not, compact then Loading
services/core/java/com/android/server/NativeDaemonEvent.java +14 −3 Original line number Diff line number Diff line Loading @@ -33,16 +33,21 @@ public class NativeDaemonEvent { private final int mCode; private final String mMessage; private final String mRawEvent; private final String mLogMessage; private String[] mParsed; private NativeDaemonEvent(int cmdNumber, int code, String message, String rawEvent) { private NativeDaemonEvent(int cmdNumber, int code, String message, String rawEvent, String logMessage) { mCmdNumber = cmdNumber; mCode = code; mMessage = message; mRawEvent = rawEvent; mLogMessage = logMessage; mParsed = null; } static public final String SENSITIVE_MARKER = "{{sensitive}}"; public int getCmdNumber() { return mCmdNumber; } Loading @@ -62,7 +67,7 @@ public class NativeDaemonEvent { @Override public String toString() { return mRawEvent; return mLogMessage; } /** Loading Loading @@ -151,9 +156,15 @@ public class NativeDaemonEvent { } } String logMessage = rawEvent; if (parsed.length > 2 && parsed[2].equals(SENSITIVE_MARKER)) { skiplength += parsed[2].length() + 1; logMessage = parsed[0] + " " + parsed[1] + " {}"; } final String message = rawEvent.substring(skiplength); return new NativeDaemonEvent(cmdNumber, code, message, rawEvent); return new NativeDaemonEvent(cmdNumber, code, message, rawEvent, logMessage); } /** Loading