if (conf->ip_info->subnet_mask != NULL) {
unsigned char prefix_len;
prefix_len = __netconfig_convert_netmask_to_prefixlen(
- conf->ip_info->subnet_mask);
- g_key_file_set_integer(keyfile, group_name,
- WIFI_CONFIG_IPV4_SUBNET_MASK, prefix_len);
+ conf->ip_info->subnet_mask);
+ if (prefix_len > 0 && prefix_len < 32)
+ g_key_file_set_integer(keyfile, group_name,
+ WIFI_CONFIG_IPV4_SUBNET_MASK, prefix_len);
}
+ if (conf->ip_info->prefix_length > 0)
+ g_key_file_set_integer(keyfile, group_name,
+ WIFI_CONFIG_IPV6_PREFIX_LEN, conf->ip_info->prefix_length);
+
if (conf->ip_info->gateway_address != NULL)
g_key_file_set_string(keyfile, group_name,
WIFI_CONFIG_IPV4_GATEWAY_ADDRESS, conf->ip_info->gateway_address);