#define RATE_LIMIT_INTERVAL 60 /* delay between successive attempts */
+#if defined TIZEN_EXT
+#define DHCP_SUCCESS "DHCP_SUCCESS"
+#endif
+
struct connman_dhcp {
struct connman_ipconfig *ipconfig;
struct connman_network *network;
#if defined TIZEN_EXT
if (dhcp->network &&
connman_network_get_bool(dhcp->network, "WiFi.RoamingDHCP")) {
+ int lease_time = 0;
+
connman_network_set_bool(dhcp->network, "WiFi.RoamingDHCP", false);
__connman_network_enable_ipconfig(dhcp->network, dhcp->ipconfig);
+ __connman_network_notify_dhcp_changed("DHCP_FAIL", &lease_time);
return;
}
if (connman_setting_get_bool("EnableAutoIp") == false) {
DBG("link-local address autoconfiguration is disabled.");
- if (dhcp->network)
- __connman_network_disconnect(dhcp->network);
+ if (dhcp->network) {
+ int lease_time = 0;
+ DBG("[DHCP-C] auto ip is not used, set dhcp-fail error and disconnect");
+ __connman_network_notify_dhcp_changed("DHCP_FAIL", &lease_time);
+ connman_network_set_error(dhcp->network, CONNMAN_NETWORK_ERROR_DHCP_FAIL);
+ }
return;
}
#endif
#if defined TIZEN_EXT
__connman_ipconfig_set_dhcp_lease_duration(dhcp->ipconfig, dhcp_lease_duration);
+ __connman_network_notify_dhcp_changed(DHCP_SUCCESS, &dhcp_lease_duration);
#endif
/*
dhcp->user_data = user_data;
#if defined TIZEN_EXT
- if (connman_network_get_bool(network, "WiFi.RoamingDHCP")) {
+ if (network && connman_network_get_bool(network, "WiFi.RoamingDHCP")) {
const char *last_addr = __connman_ipconfig_get_dhcp_address(ipconfig);
DBG("Start DHCP with last address request");