From a40a2fba00edfba9426bbf41a010a0a44cbe6952 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Wed, 8 Feb 2017 17:07:06 +0000 Subject: [PATCH] Thorough javadocumentation for network logging API Explaining what the limitations of the underlying network logging implementation are and what alternatives exist for the cases where best-effort isn't an option. Test: make docs Change-Id: I000345ae5ba15bdc9e31dedf6de394d2538729a9 --- .../app/admin/DevicePolicyManager.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index f1ccabe57e328..d18f4f29a7882 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -7538,7 +7538,34 @@ public class DevicePolicyManager { /** * Called by a device owner to control the network logging feature. * - *

Network logs contain DNS lookup and connect() library call events. + *

Network logs contain DNS lookup and connect() library call events. The following library + * functions are recorded while network logging is active: + *

+ * + *

Network logging is a low-overhead tool for forensics but it is not guaranteed to use + * full system call logging; event reporting is enabled by default for all processes but not + * strongly enforced. + * Events from applications using alternative implementations of libc, making direct kernel + * calls, or deliberately obfuscating traffic may not be recorded. + * + *

Some common network events may not be reported. For example: + *

+ * + *

It is possible to directly intercept layer 3 traffic leaving the device using an + * always-on VPN service. + * See {@link #setAlwaysOnVpnPackage(ComponentName, String, boolean)} + * and {@link android.net.VpnService} for details. * *

Note: The device owner won't be able to retrieve network logs if there * are unaffiliated secondary users or profiles on the device, regardless of whether the