shill: WiFiService: Fix-up old-style WiFi Service entries

Add a utility to upgrade WiFi service entries that don't contain
the "Type", "Mode" or "Security" properties, and only contain
this information in the fields of the storage identifier.  Use
this utility whenever the WiFi device loads a new profile.
Follow-on CLs will clean up all remaining direct callers of
WiFiServce::ParseStorageIdentifier().

BUG=chromium-os:38048
TEST=Unit Tests, inspect chrome://histograms for new histogram
entries when profiles are updated.

Change-Id: I0f1d4e75abc1edfe6da1bbfe68183cab1b1c0021
Reviewed-on: https://gerrit.chromium.org/gerrit/41802
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
12 files changed
tree: 7a83c6a7acc794b826c44291bc52abd64bf17af9
  1. bin/
  2. data/
  3. dbus_bindings/
  4. doc/
  5. shims/
  6. .gitignore
  7. accessor_interface.h
  8. adaptor_interfaces.h
  9. arp_client.cc
  10. arp_client.h
  11. arp_client_unittest.cc
  12. arp_packet.cc
  13. arp_packet.h
  14. arp_packet_unittest.cc
  15. async_connection.cc
  16. async_connection.h
  17. async_connection_unittest.cc
  18. attribute_list.cc
  19. attribute_list.h
  20. byte_string.cc
  21. byte_string.h
  22. byte_string_unittest.cc
  23. callback80211_metrics.cc
  24. callback80211_metrics.h
  25. callback80211_object.cc
  26. callback80211_object.h
  27. callbacks.h
  28. cellular.cc
  29. cellular.h
  30. cellular_capability.cc
  31. cellular_capability.h
  32. cellular_capability_cdma.cc
  33. cellular_capability_cdma.h
  34. cellular_capability_cdma_unittest.cc
  35. cellular_capability_classic.cc
  36. cellular_capability_classic.h
  37. cellular_capability_classic_unittest.cc
  38. cellular_capability_gsm.cc
  39. cellular_capability_gsm.h
  40. cellular_capability_gsm_unittest.cc
  41. cellular_capability_universal.cc
  42. cellular_capability_universal.h
  43. cellular_capability_universal_unittest.cc
  44. cellular_error.cc
  45. cellular_error.h
  46. cellular_operator_info.cc
  47. cellular_operator_info.h
  48. cellular_operator_info_unittest.cc
  49. cellular_service.cc
  50. cellular_service.h
  51. cellular_service_unittest.cc
  52. cellular_unittest.cc
  53. config80211.cc
  54. config80211.h
  55. config80211_unittest.cc
  56. connection.cc
  57. connection.h
  58. connection_unittest.cc
  59. control_interface.h
  60. crypto_des_cbc.cc
  61. crypto_des_cbc.h
  62. crypto_des_cbc_unittest.cc
  63. crypto_interface.h
  64. crypto_provider.cc
  65. crypto_provider.h
  66. crypto_provider_unittest.cc
  67. crypto_rot47.cc
  68. crypto_rot47.h
  69. crypto_rot47_unittest.cc
  70. dbus_adaptor.cc
  71. dbus_adaptor.h
  72. dbus_adaptor_unittest.cc
  73. dbus_control.cc
  74. dbus_control.h
  75. dbus_manager.cc
  76. dbus_manager.h
  77. dbus_manager_unittest.cc
  78. dbus_objectmanager_proxy.cc
  79. dbus_objectmanager_proxy.h
  80. dbus_objectmanager_proxy_interface.h
  81. dbus_properties.cc
  82. dbus_properties.h
  83. dbus_properties_proxy.cc
  84. dbus_properties_proxy.h
  85. dbus_properties_proxy_interface.h
  86. dbus_properties_unittest.cc
  87. dbus_property_matchers.h
  88. dbus_service_proxy.cc
  89. dbus_service_proxy.h
  90. dbus_service_proxy_interface.h
  91. default_profile.cc
  92. default_profile.h
  93. default_profile_unittest.cc
  94. device.cc
  95. device.h
  96. device_dbus_adaptor.cc
  97. device_dbus_adaptor.h
  98. device_info.cc
  99. device_info.h
  100. device_info_unittest.cc
  101. device_stub.h
  102. device_unittest.cc
  103. dhcp_config.cc
  104. dhcp_config.h
  105. dhcp_config_unittest.cc
  106. dhcp_provider.cc
  107. dhcp_provider.h
  108. dhcp_provider_unittest.cc
  109. dhcp_proxy_interface.h
  110. dhcpcd_proxy.cc
  111. dhcpcd_proxy.h
  112. diagnostics_reporter.cc
  113. diagnostics_reporter.h
  114. diagnostics_reporter_unittest.cc
  115. dns_client.cc
  116. dns_client.h
  117. dns_client_unittest.cc
  118. endpoint.cc
  119. endpoint.h
  120. ephemeral_profile.cc
  121. ephemeral_profile.h
  122. error.cc
  123. error.h
  124. error_unittest.cc
  125. ethernet.cc
  126. ethernet.h
  127. ethernet_service.cc
  128. ethernet_service.h
  129. ethernet_service_unittest.cc
  130. event_dispatcher.cc
  131. event_dispatcher.h
  132. file_reader.cc
  133. file_reader.h
  134. file_reader_unittest.cc
  135. geolocation_info.cc
  136. geolocation_info.h
  137. glib.cc
  138. glib.h
  139. glib_io_input_handler.cc
  140. glib_io_input_handler.h
  141. glib_io_ready_handler.cc
  142. glib_io_ready_handler.h
  143. HACKING
  144. hook_table.cc
  145. hook_table.h
  146. hook_table_unittest.cc
  147. http_proxy.cc
  148. http_proxy.h
  149. http_proxy_unittest.cc
  150. http_request.cc
  151. http_request.h
  152. http_request_unittest.cc
  153. http_url.cc
  154. http_url.h
  155. http_url_unittest.cc
  156. ieee80211.h
  157. io_handler.h
  158. ip_address.cc
  159. ip_address.h
  160. ip_address_unittest.cc
  161. ipconfig.cc
  162. ipconfig.h
  163. ipconfig_dbus_adaptor.cc
  164. ipconfig_dbus_adaptor.h
  165. ipconfig_unittest.cc
  166. key_file_store.cc
  167. key_file_store.h
  168. key_file_store_unittest.cc
  169. key_value_store.cc
  170. key_value_store.h
  171. key_value_store_matcher.h
  172. key_value_store_unittest.cc
  173. l2tp_ipsec_driver.cc
  174. l2tp_ipsec_driver.h
  175. l2tp_ipsec_driver_unittest.cc
  176. LICENSE
  177. link_monitor.cc
  178. link_monitor.h
  179. link_monitor_unittest.cc
  180. logging.h
  181. Makefile
  182. manager.cc
  183. manager.h
  184. manager_dbus_adaptor.cc
  185. manager_dbus_adaptor.h
  186. manager_unittest.cc
  187. memory_log.cc
  188. memory_log.h
  189. memory_log_unittest.cc
  190. metrics.cc
  191. metrics.h
  192. metrics_unittest.cc
  193. minijail.cc
  194. minijail.h
  195. mm1_bearer_proxy.cc
  196. mm1_bearer_proxy.h
  197. mm1_bearer_proxy_interface.h
  198. mm1_modem_location_proxy.cc
  199. mm1_modem_location_proxy.h
  200. mm1_modem_location_proxy_interface.h
  201. mm1_modem_modem3gpp_proxy.cc
  202. mm1_modem_modem3gpp_proxy.h
  203. mm1_modem_modem3gpp_proxy_interface.h
  204. mm1_modem_modemcdma_proxy.cc
  205. mm1_modem_modemcdma_proxy.h
  206. mm1_modem_modemcdma_proxy_interface.h
  207. mm1_modem_proxy.cc
  208. mm1_modem_proxy.h
  209. mm1_modem_proxy_interface.h
  210. mm1_modem_simple_proxy.cc
  211. mm1_modem_simple_proxy.h
  212. mm1_modem_simple_proxy_interface.h
  213. mm1_modem_time_proxy.cc
  214. mm1_modem_time_proxy.h
  215. mm1_modem_time_proxy_interface.h
  216. mm1_sim_proxy.cc
  217. mm1_sim_proxy.h
  218. mm1_sim_proxy_interface.h
  219. mock_adaptors.cc
  220. mock_adaptors.h
  221. mock_ares.cc
  222. mock_ares.h
  223. mock_arp_client.cc
  224. mock_arp_client.h
  225. mock_async_connection.cc
  226. mock_async_connection.h
  227. mock_callback80211_object.h
  228. mock_cellular.cc
  229. mock_cellular.h
  230. mock_cellular_operator_info.cc
  231. mock_cellular_operator_info.h
  232. mock_cellular_service.cc
  233. mock_cellular_service.h
  234. mock_connection.cc
  235. mock_connection.h
  236. mock_control.cc
  237. mock_control.h
  238. mock_dbus_manager.cc
  239. mock_dbus_manager.h
  240. mock_dbus_objectmanager_proxy.cc
  241. mock_dbus_objectmanager_proxy.h
  242. mock_dbus_properties_proxy.cc
  243. mock_dbus_properties_proxy.h
  244. mock_dbus_service_proxy.cc
  245. mock_dbus_service_proxy.h
  246. mock_device.cc
  247. mock_device.h
  248. mock_device_info.cc
  249. mock_device_info.h
  250. mock_dhcp_config.cc
  251. mock_dhcp_config.h
  252. mock_dhcp_provider.cc
  253. mock_dhcp_provider.h
  254. mock_dhcp_proxy.cc
  255. mock_dhcp_proxy.h
  256. mock_diagnostics_reporter.cc
  257. mock_diagnostics_reporter.h
  258. mock_dns_client.cc
  259. mock_dns_client.h
  260. mock_ethernet.cc
  261. mock_ethernet.h
  262. mock_event_dispatcher.cc
  263. mock_event_dispatcher.h
  264. mock_glib.cc
  265. mock_glib.h
  266. mock_http_request.cc
  267. mock_http_request.h
  268. mock_ipconfig.cc
  269. mock_ipconfig.h
  270. mock_link_monitor.cc
  271. mock_link_monitor.h
  272. mock_log.cc
  273. mock_log.h
  274. mock_log_unittest.cc
  275. mock_manager.cc
  276. mock_manager.h
  277. mock_metrics.cc
  278. mock_metrics.h
  279. mock_minijail.cc
  280. mock_minijail.h
  281. mock_mm1_bearer_proxy.cc
  282. mock_mm1_bearer_proxy.h
  283. mock_mm1_modem_location_proxy.cc
  284. mock_mm1_modem_location_proxy.h
  285. mock_mm1_modem_modem3gpp_proxy.cc
  286. mock_mm1_modem_modem3gpp_proxy.h
  287. mock_mm1_modem_modemcdma_proxy.cc
  288. mock_mm1_modem_modemcdma_proxy.h
  289. mock_mm1_modem_proxy.cc
  290. mock_mm1_modem_proxy.h
  291. mock_mm1_modem_simple_proxy.cc
  292. mock_mm1_modem_simple_proxy.h
  293. mock_mm1_modem_time_proxy.cc
  294. mock_mm1_modem_time_proxy.h
  295. mock_mm1_sim_proxy.cc
  296. mock_mm1_sim_proxy.h
  297. mock_modem.cc
  298. mock_modem.h
  299. mock_modem_cdma_proxy.cc
  300. mock_modem_cdma_proxy.h
  301. mock_modem_gobi_proxy.cc
  302. mock_modem_gobi_proxy.h
  303. mock_modem_gsm_card_proxy.cc
  304. mock_modem_gsm_card_proxy.h
  305. mock_modem_gsm_network_proxy.cc
  306. mock_modem_gsm_network_proxy.h
  307. mock_modem_info.cc
  308. mock_modem_info.h
  309. mock_modem_manager_proxy.cc
  310. mock_modem_manager_proxy.h
  311. mock_modem_proxy.cc
  312. mock_modem_proxy.h
  313. mock_modem_simple_proxy.cc
  314. mock_modem_simple_proxy.h
  315. mock_nl80211_socket.h
  316. mock_nss.cc
  317. mock_nss.h
  318. mock_openvpn_driver.cc
  319. mock_openvpn_driver.h
  320. mock_openvpn_management_server.cc
  321. mock_openvpn_management_server.h
  322. mock_portal_detector.cc
  323. mock_portal_detector.h
  324. mock_power_manager.cc
  325. mock_power_manager.h
  326. mock_power_manager_proxy.cc
  327. mock_power_manager_proxy.h
  328. mock_process_killer.cc
  329. mock_process_killer.h
  330. mock_profile.cc
  331. mock_profile.h
  332. mock_property_store.cc
  333. mock_property_store.h
  334. mock_proxy_factory.cc
  335. mock_proxy_factory.h
  336. mock_resolver.cc
  337. mock_resolver.h
  338. mock_routing_table.cc
  339. mock_routing_table.h
  340. mock_rtnl_handler.cc
  341. mock_rtnl_handler.h
  342. mock_service.cc
  343. mock_service.h
  344. mock_sockets.cc
  345. mock_sockets.h
  346. mock_store.cc
  347. mock_store.h
  348. mock_supplicant_bss_proxy.cc
  349. mock_supplicant_bss_proxy.h
  350. mock_supplicant_interface_proxy.cc
  351. mock_supplicant_interface_proxy.h
  352. mock_supplicant_network_proxy.cc
  353. mock_supplicant_network_proxy.h
  354. mock_supplicant_process_proxy.cc
  355. mock_supplicant_process_proxy.h
  356. mock_time.cc
  357. mock_time.h
  358. mock_vpn.cc
  359. mock_vpn.h
  360. mock_vpn_driver.cc
  361. mock_vpn_driver.h
  362. mock_vpn_provider.cc
  363. mock_vpn_provider.h
  364. mock_vpn_service.cc
  365. mock_vpn_service.h
  366. mock_wifi.cc
  367. mock_wifi.h
  368. mock_wifi_service.cc
  369. mock_wifi_service.h
  370. mock_wimax.cc
  371. mock_wimax.h
  372. mock_wimax_device_proxy.cc
  373. mock_wimax_device_proxy.h
  374. mock_wimax_manager_proxy.cc
  375. mock_wimax_manager_proxy.h
  376. mock_wimax_network_proxy.cc
  377. mock_wimax_network_proxy.h
  378. mock_wimax_provider.cc
  379. mock_wimax_provider.h
  380. mock_wimax_service.cc
  381. mock_wimax_service.h
  382. modem.cc
  383. modem.h
  384. modem_1.cc
  385. modem_1_unittest.cc
  386. modem_cdma_proxy.cc
  387. modem_cdma_proxy.h
  388. modem_cdma_proxy_interface.h
  389. modem_classic.cc
  390. modem_gobi_proxy.cc
  391. modem_gobi_proxy.h
  392. modem_gobi_proxy_interface.h
  393. modem_gsm_card_proxy.cc
  394. modem_gsm_card_proxy.h
  395. modem_gsm_card_proxy_interface.h
  396. modem_gsm_network_proxy.cc
  397. modem_gsm_network_proxy.h
  398. modem_gsm_network_proxy_interface.h
  399. modem_info.cc
  400. modem_info.h
  401. modem_info_unittest.cc
  402. modem_manager.cc
  403. modem_manager.h
  404. modem_manager_1.cc
  405. modem_manager_proxy.cc
  406. modem_manager_proxy.h
  407. modem_manager_proxy_interface.h
  408. modem_manager_unittest.cc
  409. modem_proxy.cc
  410. modem_proxy.h
  411. modem_proxy_interface.h
  412. modem_simple_proxy.cc
  413. modem_simple_proxy.h
  414. modem_simple_proxy_interface.h
  415. modem_unittest.cc
  416. netlink_socket.cc
  417. netlink_socket.h
  418. nice_mock_control.cc
  419. nice_mock_control.h
  420. nl80211_attribute.cc
  421. nl80211_attribute.h
  422. nl80211_message.cc
  423. nl80211_message.h
  424. nl80211_socket.cc
  425. nl80211_socket.h
  426. nss.cc
  427. nss.h
  428. nss_unittest.cc
  429. openvpn_driver.cc
  430. openvpn_driver.h
  431. openvpn_driver_unittest.cc
  432. openvpn_management_server.cc
  433. openvpn_management_server.h
  434. openvpn_management_server_unittest.cc
  435. portal_detector.cc
  436. portal_detector.h
  437. portal_detector_unittest.cc
  438. power_manager.cc
  439. power_manager.h
  440. power_manager_proxy.cc
  441. power_manager_proxy.h
  442. power_manager_proxy_interface.h
  443. power_manager_unittest.cc
  444. process_killer.cc
  445. process_killer.h
  446. process_killer_unittest.cc
  447. profile.cc
  448. profile.h
  449. profile_dbus_adaptor.cc
  450. profile_dbus_adaptor.h
  451. profile_dbus_property_exporter.cc
  452. profile_dbus_property_exporter.h
  453. profile_dbus_property_exporter_unittest.cc
  454. profile_unittest.cc
  455. property_accessor.h
  456. property_accessor_unittest.cc
  457. property_iterator.h
  458. property_store.cc
  459. property_store.h
  460. property_store_unittest.cc
  461. property_store_unittest.h
  462. provider_db_unittest.bfd
  463. proxy_factory.cc
  464. proxy_factory.h
  465. refptr_types.h
  466. resolver.cc
  467. resolver.h
  468. resolver_unittest.cc
  469. routing_table.cc
  470. routing_table.h
  471. routing_table_entry.h
  472. routing_table_unittest.cc
  473. rpc_task.cc
  474. rpc_task.h
  475. rpc_task_dbus_adaptor.cc
  476. rpc_task_dbus_adaptor.h
  477. rpc_task_unittest.cc
  478. rtnl_handler.cc
  479. rtnl_handler.h
  480. rtnl_handler_unittest.cc
  481. rtnl_listener.cc
  482. rtnl_listener.h
  483. rtnl_listener_unittest.cc
  484. rtnl_message.cc
  485. rtnl_message.h
  486. rtnl_message_unittest.cc
  487. scope_logger.cc
  488. scope_logger.h
  489. scope_logger_unittest.cc
  490. service.cc
  491. service.h
  492. service_dbus_adaptor.cc
  493. service_dbus_adaptor.h
  494. service_sorter.h
  495. service_under_test.cc
  496. service_under_test.h
  497. service_unittest.cc
  498. shill_ares.cc
  499. shill_ares.h
  500. shill_config.cc
  501. shill_config.h
  502. shill_daemon.cc
  503. shill_daemon.h
  504. shill_main.cc
  505. shill_test_config.cc
  506. shill_test_config.h
  507. shill_time.cc
  508. shill_time.h
  509. shill_unittest.cc
  510. sockets.cc
  511. sockets.h
  512. static_ip_parameters.cc
  513. static_ip_parameters.h
  514. static_ip_parameters_unittest.cc
  515. store_interface.h
  516. supplicant_bss_proxy.cc
  517. supplicant_bss_proxy.h
  518. supplicant_bss_proxy_interface.h
  519. supplicant_interface_proxy.cc
  520. supplicant_interface_proxy.h
  521. supplicant_interface_proxy_interface.h
  522. supplicant_network_proxy.cc
  523. supplicant_network_proxy.h
  524. supplicant_network_proxy_interface.h
  525. supplicant_process_proxy.cc
  526. supplicant_process_proxy.h
  527. supplicant_process_proxy_interface.h
  528. technology.cc
  529. technology.h
  530. technology_unittest.cc
  531. TESTING
  532. testrunner.cc
  533. virtio_ethernet.cc
  534. virtio_ethernet.h
  535. vpn.cc
  536. vpn.h
  537. vpn_driver.cc
  538. vpn_driver.h
  539. vpn_driver_unittest.cc
  540. vpn_provider.cc
  541. vpn_provider.h
  542. vpn_provider_unittest.cc
  543. vpn_service.cc
  544. vpn_service.h
  545. vpn_service_unittest.cc
  546. vpn_unittest.cc
  547. wifi.cc
  548. wifi.h
  549. wifi_endpoint.cc
  550. wifi_endpoint.h
  551. wifi_endpoint_unittest.cc
  552. wifi_provider.cc
  553. wifi_provider.h
  554. wifi_provider_unittest.cc
  555. wifi_service.cc
  556. wifi_service.h
  557. wifi_service_unittest.cc
  558. wifi_unittest.cc
  559. wimax.cc
  560. wimax.h
  561. wimax_device_proxy.cc
  562. wimax_device_proxy.h
  563. wimax_device_proxy_interface.h
  564. wimax_manager_proxy.cc
  565. wimax_manager_proxy.h
  566. wimax_manager_proxy_interface.h
  567. wimax_network_proxy.cc
  568. wimax_network_proxy.h
  569. wimax_network_proxy_interface.h
  570. wimax_provider.cc
  571. wimax_provider.h
  572. wimax_provider_unittest.cc
  573. wimax_service.cc
  574. wimax_service.h
  575. wimax_service_unittest.cc
  576. wimax_unittest.cc
  577. wpa_supplicant.cc
  578. wpa_supplicant.h