shill: WiFiService: Report EAP Authentication Type Metrics
When an 802.1x WiFi connection completes, report the inner and
outer authentication methods configured for this connection.
BUG=chromium-os:39424
TEST=Unit tests; Connect to a PEAP/MSCHAPv2 access point and look
at chrome://histograms.
Change-Id: Ic66b470cbd7019fe551e094c47782eb47bc1338f
Reviewed-on: https://gerrit.chromium.org/gerrit/44422
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
diff --git a/metrics.h b/metrics.h
index 9d7942f..9ed5ec5 100644
--- a/metrics.h
+++ b/metrics.h
@@ -92,6 +92,31 @@
kWiFiNetworkPhyModeMax
};
+ enum EapOuterProtocol {
+ kEapOuterProtocolUnknown = 0,
+ kEapOuterProtocolLeap = 1,
+ kEapOuterProtocolPeap = 2,
+ kEapOuterProtocolTls = 3,
+ kEapOuterProtocolTtls = 4,
+
+ kEapOuterProtocolMax
+ };
+
+ enum EapInnerProtocol {
+ kEapInnerProtocolUnknown = 0,
+ kEapInnerProtocolNone = 1,
+ kEapInnerProtocolPeapMd5 = 2,
+ kEapInnerProtocolPeapMschapv2 = 3,
+ kEapInnerProtocolTtlsEapMd5 = 4,
+ kEapInnerProtocolTtlsEapMschapv2 = 5,
+ kEapInnerProtocolTtlsMschapv2 = 6,
+ kEapInnerProtocolTtlsMschap = 7,
+ kEapInnerProtocolTtlsPap = 8,
+ kEapInnerProtocolTtlsChap = 9,
+
+ kEapInnerProtocolMax
+ };
+
enum WiFiSecurity {
kWiFiSecurityUnknown = 0,
kWiFiSecurityNone = 1,
@@ -183,6 +208,10 @@
static const int kMetricDisconnectNumBuckets;
static const char kMetricNetworkChannel[];
static const int kMetricNetworkChannelMax;
+ static const char kMetricNetworkEapInnerProtocol[];
+ static const int kMetricNetworkEapInnerProtocolMax;
+ static const char kMetricNetworkEapOuterProtocol[];
+ static const int kMetricNetworkEapOuterProtocolMax;
static const char kMetricNetworkPhyMode[];
static const int kMetricNetworkPhyModeMax;
static const char kMetricNetworkSecurity[];
@@ -314,6 +343,14 @@
// Converts a flimflam security string into its UMA security enumerator.
static WiFiSecurity WiFiSecurityStringToEnum(const std::string &security);
+ // Converts a flimflam EAP outer protocol string into its UMA enumerator.
+ static EapOuterProtocol EapOuterProtocolStringToEnum(
+ const std::string &outer);
+
+ // Converts a flimflam EAP inner protocol string into its UMA enumerator.
+ static EapInnerProtocol EapInnerProtocolStringToEnum(
+ const std::string &inner);
+
// Converts portal detection result to UMA portal result enumerator.
static PortalResult PortalDetectionResultToEnum(
const PortalDetector::Result &result);