Hi Jukka, > - if (!strcmp(key, "INTERNAL_IP4_ADDRESS")) > + if (!strcmp(key, "INTERNAL_IP4_ADDRESS")) { > connman_provider_set_string(provider, "Address", value); > + addressv4 = g_strdup(value); > + } > > - if (!strcmp(key, "INTERNAL_IP4_NETMASK")) > + if (!strcmp(key, "INTERNAL_IP4_NETMASK")) { > connman_provider_set_string(provider, "Netmask", value); > + netmask = g_strdup(value); > + } > > if (!strcmp(key, "INTERNAL_IP4_DNS")) > connman_provider_set_string(provider, "DNS", value); > @@ -187,14 +193,39 @@ static int l2tp_notify(DBusMessage *msg, struct > connman_provider *provider) > > if (vpn_set_ifname(provider, ifname) < 0) { > g_free(ifname); > + g_free(addressv4); > + g_free(netmask); > return VPN_STATE_FAILURE; > } > > + if (addressv4 != NULL) > + ipaddress = connman_ipaddress_alloc(AF_INET); > + > g_free(ifname); > > + if (ipaddress == NULL) { > + connman_error("No IP address for provider"); > + g_free(addressv4); > + g_free(netmask); > + return VPN_STATE_FAILURE; > + } > + > value = connman_provider_get_string(provider, "Host"); > - if (value != NULL) > + if (value != NULL) { > connman_provider_set_string(provider, "Gateway", value); > + gateway = g_strdup(value); > + } > + > + if (addressv4 != NULL) > + connman_ipaddress_set_ipv4(ipaddress, addressv4, netmask, > + gateway); > + > + connman_provider_set_ipaddress(provider, ipaddress); > + > + g_free(addressv4); > + g_free(netmask); > + g_free(gateway); > + connman_ipaddress_free(ipaddress);
Here is the code I was missing. Wouldn't it make sense to merge this patch? Or do you want to keep it clear how has written which part? cheers, daniel _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman