am 1056d5a9: am 75f304f9: Merge changes Ibfb5c6ab,I712919ae into lmp-mr1-dev
* commit '1056d5a997e3f30230e1e4316310586dd15a4600': Add mechanism for securely returning parameters though NativeDaemonConnector Revert "DO NOT MERGE: Don't log passwords returned from vdc"
This commit is contained in:
@@ -174,6 +174,8 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
|
|||||||
|
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
if (buffer[i] == 0) {
|
if (buffer[i] == 0) {
|
||||||
|
// Note - do not log this raw message since it may contain
|
||||||
|
// sensitive data
|
||||||
final String rawEvent = new String(
|
final String rawEvent = new String(
|
||||||
buffer, start, i - start, StandardCharsets.UTF_8);
|
buffer, start, i - start, StandardCharsets.UTF_8);
|
||||||
|
|
||||||
@@ -181,6 +183,9 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
|
|||||||
try {
|
try {
|
||||||
final NativeDaemonEvent event = NativeDaemonEvent.parseRawEvent(
|
final NativeDaemonEvent event = NativeDaemonEvent.parseRawEvent(
|
||||||
rawEvent);
|
rawEvent);
|
||||||
|
|
||||||
|
log("RCV <- {" + event + "}");
|
||||||
|
|
||||||
if (event.isClassUnsolicited()) {
|
if (event.isClassUnsolicited()) {
|
||||||
// TODO: migrate to sending NativeDaemonEvent instances
|
// TODO: migrate to sending NativeDaemonEvent instances
|
||||||
if (mCallbacks.onCheckHoldWakeLock(event.getCode())
|
if (mCallbacks.onCheckHoldWakeLock(event.getCode())
|
||||||
@@ -196,6 +201,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
|
|||||||
mResponseQueue.add(event.getCmdNumber(), event);
|
mResponseQueue.add(event.getCmdNumber(), event);
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
|
log("Problem parsing message " + e);
|
||||||
} finally {
|
} finally {
|
||||||
if (releaseWl) {
|
if (releaseWl) {
|
||||||
mWakeLock.acquire();
|
mWakeLock.acquire();
|
||||||
@@ -205,8 +211,9 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo
|
|||||||
start = i + 1;
|
start = i + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start == 0) {
|
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
|
// We should end at the amount we read. If not, compact then
|
||||||
|
|||||||
@@ -33,16 +33,21 @@ public class NativeDaemonEvent {
|
|||||||
private final int mCode;
|
private final int mCode;
|
||||||
private final String mMessage;
|
private final String mMessage;
|
||||||
private final String mRawEvent;
|
private final String mRawEvent;
|
||||||
|
private final String mLogMessage;
|
||||||
private String[] mParsed;
|
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;
|
mCmdNumber = cmdNumber;
|
||||||
mCode = code;
|
mCode = code;
|
||||||
mMessage = message;
|
mMessage = message;
|
||||||
mRawEvent = rawEvent;
|
mRawEvent = rawEvent;
|
||||||
|
mLogMessage = logMessage;
|
||||||
mParsed = null;
|
mParsed = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public final String SENSITIVE_MARKER = "{{sensitive}}";
|
||||||
|
|
||||||
public int getCmdNumber() {
|
public int getCmdNumber() {
|
||||||
return mCmdNumber;
|
return mCmdNumber;
|
||||||
}
|
}
|
||||||
@@ -62,7 +67,7 @@ public class NativeDaemonEvent {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return mRawEvent;
|
return mLogMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -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);
|
final String message = rawEvent.substring(skiplength);
|
||||||
|
|
||||||
return new NativeDaemonEvent(cmdNumber, code, message, rawEvent);
|
return new NativeDaemonEvent(cmdNumber, code, message, rawEvent, logMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user