Re: [PATCH 3/6] ofono: Do not set address or nameservers with invalid configuration

2014-12-22 Thread Patrik Flykt
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

2014-12-19 Thread pasi . sjoholm
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

2014-12-18 Thread pasi . sjoholm
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