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

Reply via email to