shill: support association with open wifi access points

with this patch, shill organizes scan results into Endpoints and
Services. although this patch does not communicate information about
Services to the UI, one can connect to an open AP by sending the
appropriate message to shill over D-Bus.

known limitations:
- does not communicate to UI
- creates a Service for every Endpoint (note, however, that this
  does not provide the ability to connect to a specific AP)
- only supports open networks

note: a fix to memory management in wifi_integrationtest slipped
into this patch.

BUG=chromium-os:16065
TEST=manual: start shill, use dbus-send to tell shill to connect

Change-Id: I26737f5e61b56497beffb9639f3e347a21ad76d7
Reviewed-on: http://gerrit.chromium.org/gerrit/2910
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
13 files changed
tree: 33fe7960e63d8953a73c526da5c7b65267f362d3
  1. adaptor_interfaces.h
  2. control_interface.h
  3. dbus_adaptor.cc
  4. dbus_adaptor.h
  5. dbus_adaptor_unittest.cc
  6. dbus_control.cc
  7. dbus_control.h
  8. device.cc
  9. device.h
  10. device_config_interface.h
  11. device_dbus_adaptor.cc
  12. device_dbus_adaptor.h
  13. device_info.cc
  14. device_info.h
  15. device_info_unittest.cc
  16. device_stub.h
  17. dhcp_config.cc
  18. dhcp_config.h
  19. dhcp_config_unittest.cc
  20. dhcp_provider.cc
  21. dhcp_provider.h
  22. dhcp_provider_unittest.cc
  23. dhcp_proxy_interface.h
  24. dhcpcd.xml
  25. dhcpcd_proxy.cc
  26. dhcpcd_proxy.h
  27. endpoint.cc
  28. endpoint.h
  29. error.cc
  30. error.h
  31. ethernet.cc
  32. ethernet.h
  33. ethernet_service.cc
  34. ethernet_service.h
  35. flimflam-device.xml
  36. flimflam-ipconfig.xml
  37. flimflam-manager.xml
  38. flimflam-profile.xml
  39. flimflam-service.xml
  40. glib.cc
  41. glib.h
  42. glib_interface.h
  43. glib_io_handler.cc
  44. glib_io_handler.h
  45. inherit-review-settings-ok
  46. io_handler.h
  47. ipconfig.cc
  48. ipconfig.h
  49. ipconfig_unittest.cc
  50. Makefile
  51. manager.cc
  52. manager.h
  53. manager_dbus_adaptor.cc
  54. manager_dbus_adaptor.h
  55. manager_unittest.cc
  56. mock_adaptors.h
  57. mock_control.cc
  58. mock_control.h
  59. mock_device.cc
  60. mock_device.h
  61. mock_dhcp_proxy.h
  62. mock_glib.h
  63. mock_service.cc
  64. mock_service.h
  65. property_store_interface.cc
  66. property_store_interface.h
  67. README
  68. rtnl_handler.cc
  69. rtnl_handler.h
  70. rtnl_listener.cc
  71. rtnl_listener.h
  72. service.cc
  73. service.h
  74. service_dbus_adaptor.cc
  75. service_dbus_adaptor.h
  76. shill.conf
  77. shill_config.cc
  78. shill_config.h
  79. shill_daemon.cc
  80. shill_daemon.h
  81. shill_event.cc
  82. shill_event.h
  83. shill_main.cc
  84. shill_unittest.cc
  85. supplicant-bss.xml
  86. supplicant-interface.xml
  87. supplicant-network.xml
  88. supplicant-process.xml
  89. testrunner.cc
  90. WATCHLISTS
  91. wifi.cc
  92. wifi.h
  93. wifi_endpoint.cc
  94. wifi_endpoint.h
  95. wifi_integrationtest.cc
  96. wifi_service.cc
  97. wifi_service.h