Add dump info to IpSecService
Bug:38350824
Test: runtest frameworks-net
Change-Id: Ifa11d55e9d337016ad865baada627db3aa8c2db3
diff --git a/services/core/java/com/android/server/IpSecService.java b/services/core/java/com/android/server/IpSecService.java
index f72cbc9..3fec6ad 100644
--- a/services/core/java/com/android/server/IpSecService.java
+++ b/services/core/java/com/android/server/IpSecService.java
@@ -214,6 +214,21 @@
* <p>Calls to this are always guarded by IpSecService#this
*/
protected abstract void releaseResources() throws RemoteException;
+
+ @Override
+ public String toString() {
+ return new StringBuilder()
+ .append("{mResourceId=")
+ .append(mResourceId)
+ .append(", pid=")
+ .append(pid)
+ .append(", uid=")
+ .append(uid)
+ .append(", mReferenceCount=")
+ .append(mReferenceCount.get())
+ .append("}")
+ .toString();
+ }
};
/**
@@ -240,6 +255,11 @@
void remove(int key) {
mArray.remove(key);
}
+
+ @Override
+ public String toString() {
+ return mArray.toString();
+ }
}
private final class TransformRecord extends ManagedResource {
@@ -309,6 +329,24 @@
mSocket.removeReference();
}
}
+
+ @Override
+ public String toString() {
+ StringBuilder strBuilder = new StringBuilder();
+ strBuilder
+ .append("{super=")
+ .append(super.toString())
+ .append(", mSocket=")
+ .append(mSocket)
+ .append(", mSpis[OUT].mResourceId=")
+ .append(mSpis[IpSecTransform.DIRECTION_OUT].mResourceId)
+ .append(", mSpis[IN].mResourceId=")
+ .append(mSpis[IpSecTransform.DIRECTION_IN].mResourceId)
+ .append(", mConfig=")
+ .append(mConfig)
+ .append("}");
+ return strBuilder.toString();
+ }
}
private final class SpiRecord extends ManagedResource {
@@ -372,6 +410,26 @@
mOwnedByTransform = true;
}
+
+ @Override
+ public String toString() {
+ StringBuilder strBuilder = new StringBuilder();
+ strBuilder
+ .append("{super=")
+ .append(super.toString())
+ .append(", mSpi=")
+ .append(mSpi)
+ .append(", mDirection=")
+ .append(mDirection)
+ .append(", mLocalAddress=")
+ .append(mLocalAddress)
+ .append(", mRemoteAddress=")
+ .append(mRemoteAddress)
+ .append(", mOwnedByTransform=")
+ .append(mOwnedByTransform)
+ .append("}");
+ return strBuilder.toString();
+ }
}
private final class UdpSocketRecord extends ManagedResource {
@@ -399,6 +457,19 @@
public FileDescriptor getSocket() {
return mSocket;
}
+
+ @Override
+ public String toString() {
+ return new StringBuilder()
+ .append("{super=")
+ .append(super.toString())
+ .append(", mSocket=")
+ .append(mSocket)
+ .append(", mPort=")
+ .append(mPort)
+ .append("}")
+ .toString();
+ }
}
/**
@@ -734,11 +805,18 @@
}
@Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ protected synchronized void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
mContext.enforceCallingOrSelfPermission(DUMP, TAG);
- // TODO: Add dump code to print out a log of all the resources being tracked
- pw.println("IpSecService Log:");
+
+ pw.println("IpSecService dump:");
pw.println("NetdNativeService Connection: " + (isNetdAlive() ? "alive" : "dead"));
pw.println();
+
+ pw.println("mTransformRecords:");
+ pw.println(mTransformRecords);
+ pw.println("mUdpSocketRecords:");
+ pw.println(mUdpSocketRecords);
+ pw.println("mSpiRecords:");
+ pw.println(mSpiRecords);
}
}