Re: [PATCH 3/6] ofono: Do not set address or nameservers with invalid configuration
On Mon, 2014-12-22 at 13:01 +0200, pasi.sjoh...@jolla.com wrote: From: Pasi Sjöholm pasi.sjoh...@jollamobile.com --- plugins/ofono.c | 25 ++--- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/ofono.c b/plugins/ofono.c index 1617764..782c93e 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -824,20 +824,23 @@ static void extract_ipv4_settings(DBusMessageIter *array, context-index = index; - if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) - goto out; + if (address) { - context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); - if (!context-ipv4_address) { - context-index = -1; - goto out; - } + if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) + goto out; - connman_ipaddress_set_ipv4(context-ipv4_address, address, - netmask, gateway); + context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); + if (!context-ipv4_address) { + context-index = -1; + goto out; + } - g_free(context-ipv4_nameservers); - context-ipv4_nameservers = nameservers; + connman_ipaddress_set_ipv4(context-ipv4_address, address, + netmask, gateway); + + g_free(context-ipv4_nameservers); + context-ipv4_nameservers = nameservers; + } out: if (context-ipv4_nameservers != nameservers) NACK. From your other mail: {ConnectionContext} [/ril_0/context1] Settings = { Gateway = 10.233.105.246, Address = 10.233.105.245, Method = static, Netmask = 255.255.255.0, Interface = rmnet0, DomainNameServers = 62.241.198.245 62.241.198.246 } ... {ConnectionContext} [/ril_0/context1] IPv6.Settings = { Gateway = 2001::1223, Address = 2001::8a0f, Interface = rmnet0, DomainNameServers = 2001::0001 2001::0002 } This clearly shows oFono is sending DomainNameServers which ConnMan does not have any reason not to use. Unless some RFC clearly says DomainNameServers are to be ignored if updated via DHCP or stateless DHCPv6. I don't see anything *invalid* being sent/stale information being used by the code. Cheers, Patrik As your ofono trace shows, ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH 3/6] ofono: Do not set address or nameservers with invalid configuration
From: Pasi Sjöholm pasi.sjoh...@jollamobile.com --- plugins/ofono.c | 25 ++--- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/ofono.c b/plugins/ofono.c index 1617764..782c93e 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -824,20 +824,23 @@ static void extract_ipv4_settings(DBusMessageIter *array, context-index = index; - if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) - goto out; + if (address) { - context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); - if (!context-ipv4_address) { - context-index = -1; - goto out; - } + if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) + goto out; - connman_ipaddress_set_ipv4(context-ipv4_address, address, - netmask, gateway); + context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); + if (!context-ipv4_address) { + context-index = -1; + goto out; + } - g_free(context-ipv4_nameservers); - context-ipv4_nameservers = nameservers; + connman_ipaddress_set_ipv4(context-ipv4_address, address, + netmask, gateway); + + g_free(context-ipv4_nameservers); + context-ipv4_nameservers = nameservers; + } out: if (context-ipv4_nameservers != nameservers) -- 2.1.0 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH 3/6] ofono: Do not set address or nameservers with invalid configuration
From: Pasi Sjöholm pasi.sjoh...@jollamobile.com --- plugins/ofono.c | 25 ++--- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/ofono.c b/plugins/ofono.c index 1617764..782c93e 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -824,20 +824,23 @@ static void extract_ipv4_settings(DBusMessageIter *array, context-index = index; - if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) - goto out; + if (address) { - context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); - if (!context-ipv4_address) { - context-index = -1; - goto out; - } + if (context-ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED) + goto out; - connman_ipaddress_set_ipv4(context-ipv4_address, address, - netmask, gateway); + context-ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4); + if (!context-ipv4_address) { + context-index = -1; + goto out; + } - g_free(context-ipv4_nameservers); - context-ipv4_nameservers = nameservers; + connman_ipaddress_set_ipv4(context-ipv4_address, address, + netmask, gateway); + + g_free(context-ipv4_nameservers); + context-ipv4_nameservers = nameservers; + } out: if (context-ipv4_nameservers != nameservers) -- 2.1.0 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman