shill: DHCPConfig: Don't crash if proxy_ is NULL in RenewIP

Now that we call RenewIP on resume-from-suspend, we need to
catch cases where proxy_ is NULL in this call, since it is
possible that we have not acquired the proxy by the time we
go into suspend.

BUG=chromium-os:33648
TEST=New expectation in unit test.

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