shill: EapListener: New class for listening for EAP

Create an entity that listens for EAP traffic on a given interface
index.  It will invoke a callback method when an EAP request is
received.

BUG=chromium:225914
TEST=Unit tests + manual: Used core code base with real sockets and
a veth pair with hostapd running in wired mode on the other end.

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