commit | a283e4e59a4b4cefaf9fa1fa40e0dc5ae3647d1f | [log] [tgz] |
---|---|---|
author | Paul Stewart <pstew@chromium.org> | Tue Oct 22 20:50:14 2013 -0700 |
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | Fri Oct 25 21:54:48 2013 +0000 |
tree | fa55535975dddb37fc398a097619b502e8176cea | |
parent | 11c224b7054a3f0dc5a34c2903e13f74376db27e [diff] |
shill: WiFiService: Don't clobber EAP config files Previously, WiFiService populated the wpa_supplicant property map on each call to WiFiService::Connect(). This is a destructive process that in some cases may remove credentials that wpa_supplicant is using. Specifically, EAP certificate files are removed and written anew to a different location for 802.1x networks in EapCredentials::PopulateSupplicantProperties(). There are situations where the WiFi object may choose not to send this newly created config map to wpa_supplicant, specifically in cases where the actual credentials have not changed. In this situation we should avoid clobbering the credential files wpa_supplicant is still using by performing the possibly destructive operations in the process of creating the new wpa supplicant parameter map. To implement this change we move the config map generator to a utility function in WiFiService, so that WiFi::ConnectTo can call this method only when it will create add a new wpa_supplicant network configuration entry. BUG=chromium:310401 TEST=Unit tests; + new autotest: https://chromium-review.googlesource.com/174170 This test now passes Change-Id: I189f0171e8a865239920bf1a4d9aa841c478687a Reviewed-on: https://chromium-review.googlesource.com/174240 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>