Index: chrome/browser/policy/browser_policy_connector.cc |
diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc |
index 1d39ea67cb1922b5fe66a8eb7d56353d7798c73f..e3df986c2e053f8a213668bf358ed0e0d6c8bc97 100644 |
--- a/chrome/browser/policy/browser_policy_connector.cc |
+++ b/chrome/browser/policy/browser_policy_connector.cc |
@@ -87,9 +87,20 @@ const char kMachineInfoSystemHwqual[] = "hardware_class"; |
// in the "serial_number" key for v2+ VPDs. However, legacy devices used a |
// different keys to report their serial number, which we fall back to if |
// "serial_number" is not present. |
+// |
+// Product_S/N is still special-cased due to inconsistencies with serial |
+// numbers on Lumpy devices: On these devices, serial_number is identical to |
+// Product_S/N with an appended checksum. Unfortunately, the sticker on the |
+// packaging doesn't include that checksum either (the sticker on the device |
+// does though!). The former sticker is the source of the serial number used by |
+// device management service, so we prefer Product_S/N over serial number to |
+// match the server. |
+// |
+// TODO(mnissler): Move serial_number back to the top once the server side uses |
+// the correct serial number. |
const char* kMachineInfoSerialNumberKeys[] = { |
+ "Product_S/N", // Lumpy/Alex devices |
"serial_number", // VPD v2+ devices |
- "Product_S/N", // Alex |
"Product_SN", // Mario |
"sn", // old ZGB devices (more recent ones use serial_number) |
}; |