Fix MMS sending failure
authorJaehyun Kim <jeik01.kim@samsung.com>
Thu, 21 Mar 2013 06:09:44 +0000 (15:09 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Sat, 23 Mar 2013 11:43:02 +0000 (20:43 +0900)
Not use ipconfig index for searching service
because ConnMan cannot find correct service if it has same ipconfig index

packaging/connman.spec
src/connman.h
src/ipconfig.c
src/network.c
src/provider.c

index 047d637..7592f88 100644 (file)
@@ -1,5 +1,5 @@
 Name:           connman
-Version:        1.3_9
+Version:        1.3_10
 Release:        1
 License:        GPLv2
 Summary:        Connection Manager
index 5d14ea9..c88342e 100644 (file)
@@ -339,7 +339,15 @@ enum connman_ipconfig_method __connman_ipconfig_get_method(
 int __connman_ipconfig_address_add(struct connman_ipconfig *ipconfig);
 int __connman_ipconfig_address_remove(struct connman_ipconfig *ipconfig);
 int __connman_ipconfig_address_unset(struct connman_ipconfig *ipconfig);
+#if defined TIZEN_EXT
+/*
+ * Description: __connman_service_lookup_from_index cannot find correct service
+ *              e.g. same interface or same APN of cellular profile
+ */
+int __connman_ipconfig_gateway_add(struct connman_ipconfig *ipconfig, struct connman_service *service);
+#else
 int __connman_ipconfig_gateway_add(struct connman_ipconfig *ipconfig);
+#endif
 void __connman_ipconfig_gateway_remove(struct connman_ipconfig *ipconfig);
 unsigned char __connman_ipconfig_netmask_prefix_len(const char *netmask);
 
index 5e34ac0..3b7e657 100644 (file)
@@ -1187,16 +1187,24 @@ void __connman_ipconfig_set_gateway(struct connman_ipconfig *ipconfig, const cha
        ipconfig->address->gateway = g_strdup(gateway);
 }
 
+#if defined TIZEN_EXT
+int __connman_ipconfig_gateway_add(struct connman_ipconfig *ipconfig, struct connman_service *service)
+#else
 int __connman_ipconfig_gateway_add(struct connman_ipconfig *ipconfig)
+#endif
 {
+#if !defined TIZEN_EXT
        struct connman_service *service;
+#endif
 
        DBG("");
 
        if (ipconfig->address == NULL)
                return -EINVAL;
 
+#if !defined TIZEN_EXT
        service = __connman_service_lookup_from_index(ipconfig->index);
+#endif
        if (service == NULL)
                return -EINVAL;
 
index e7dc149..6b50cd3 100644 (file)
@@ -826,7 +826,11 @@ static void dhcp_success(struct connman_network *network)
        if (err < 0)
                goto err;
 
+#if defined TIZEN_EXT
+       err = __connman_ipconfig_gateway_add(ipconfig_ipv4, service);
+#else
        err = __connman_ipconfig_gateway_add(ipconfig_ipv4);
+#endif
        if (err < 0)
                goto err;
 
@@ -883,7 +887,11 @@ static int set_connected_fixed(struct connman_network *network)
        if (err < 0)
                goto err;
 
+#if defined TIZEN_EXT
+       err = __connman_ipconfig_gateway_add(ipconfig_ipv4, service);
+#else
        err = __connman_ipconfig_gateway_add(ipconfig_ipv4);
+#endif
        if (err < 0)
                goto err;
 
@@ -917,7 +925,11 @@ static void set_connected_manual(struct connman_network *network)
        if (err < 0)
                goto err;
 
+#if defined TIZEN_EXT
+       err = __connman_ipconfig_gateway_add(ipconfig, service);
+#else
        err = __connman_ipconfig_gateway_add(ipconfig);
+#endif
        if (err < 0)
                goto err;
 
@@ -972,7 +984,11 @@ static int manual_ipv6_set(struct connman_network *network,
                return err;
        }
 
+#if defined TIZEN_EXT
+       err = __connman_ipconfig_gateway_add(ipconfig_ipv6, service);
+#else
        err = __connman_ipconfig_gateway_add(ipconfig_ipv6);
+#endif
        if (err < 0)
                return err;
 
@@ -1034,7 +1050,11 @@ static gboolean dhcpv6_set_addresses(struct connman_network *network)
        if (err < 0)
                goto err;
 
+#if defined TIZEN_EXT
+       err = __connman_ipconfig_gateway_add(ipconfig_ipv6, service);
+#else
        err = __connman_ipconfig_gateway_add(ipconfig_ipv6);
+#endif
        if (err < 0)
                goto err;
 
@@ -1628,7 +1648,11 @@ static int manual_ipv4_set(struct connman_network *network,
                return err;
        }
 
+#if defined TIZEN_EXT
+       return __connman_ipconfig_gateway_add(ipconfig, service);
+#else
        return __connman_ipconfig_gateway_add(ipconfig);
+#endif
 }
 
 int __connman_network_clear_ipconfig(struct connman_network *network,
index 3f4bb1c..a29d792 100644 (file)
@@ -498,7 +498,11 @@ static int set_connected(struct connman_provider *provider,
                }
 
                __connman_ipconfig_address_add(ipconfig);
+#if defined TIZEN_EXT
+               __connman_ipconfig_gateway_add(ipconfig, service);
+#else
                __connman_ipconfig_gateway_add(ipconfig);
+#endif
 
                provider_indicate_state(provider,
                                        CONNMAN_SERVICE_STATE_READY);