* [PATCH] connman-gnome: fixed DHCP segfault
@ 2013-05-17 10:32 Emilia Ciobanu
2013-05-17 10:30 ` Saul Wold
2013-05-17 10:52 ` Burton, Ross
0 siblings, 2 replies; 4+ messages in thread
From: Emilia Ciobanu @ 2013-05-17 10:32 UTC (permalink / raw)
To: openembedded-core
In networks that don't have a DHCP server configured, ipv4 address
allocation fails and the ipv4 structure doesn't get populated.
The patch checks this case also.
[YOCTO #3945]
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
---
.../connman-gnome/null_check_for_ipv4_config.patch | 26 ++++++++++++++++++++
.../connman/connman-gnome_0.7.bb | 1 +
2 files changed, 27 insertions(+)
create mode 100644 meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
diff --git a/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
new file mode 100644
index 0000000..456a4ba
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
@@ -0,0 +1,26 @@
+Index: git/properties/ethernet.c
+===================================================================
+--- git.orig/properties/ethernet.c
++++ git/properties/ethernet.c
+@@ -194,7 +194,7 @@ void add_ethernet_service(GtkWidget *mai
+
+ data->button = button;
+
+- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
+ update_ethernet_ipv4(data, CONNMAN_POLICY_DHCP);
+ else
+ update_ethernet_ipv4(data, CONNMAN_POLICY_MANUAL);
+Index: git/properties/wifi.c
+===================================================================
+--- git.orig/properties/wifi.c
++++ git/properties/wifi.c
+@@ -230,7 +230,7 @@ static void wifi_ipconfig(GtkWidget *tab
+
+ data->ipv4_config = ipv4_config;
+
+- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
+ update_wifi_ipv4(data, CONNMAN_POLICY_DHCP);
+ else
+ update_wifi_ipv4(data, CONNMAN_POLICY_MANUAL);
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
index 6299e70..4f8875c 100644
--- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -12,6 +12,7 @@ DEPENDS = "gtk+ dbus-glib intltool-native"
SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \
file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
+ file://null_check_for_ipv4_config.patch \
file://images/* \
"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] connman-gnome: fixed DHCP segfault
2013-05-17 10:32 [PATCH] connman-gnome: fixed DHCP segfault Emilia Ciobanu
@ 2013-05-17 10:30 ` Saul Wold
2013-05-17 10:52 ` Burton, Ross
1 sibling, 0 replies; 4+ messages in thread
From: Saul Wold @ 2013-05-17 10:30 UTC (permalink / raw)
To: Emilia Ciobanu; +Cc: openembedded-core
On 05/17/2013 01:32 PM, Emilia Ciobanu wrote:
> In networks that don't have a DHCP server configured, ipv4 address
> allocation fails and the ipv4 structure doesn't get populated.
> The patch checks this case also.
>
> [YOCTO #3945]
>
> Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
> ---
> .../connman-gnome/null_check_for_ipv4_config.patch | 26 ++++++++++++++++++++
> .../connman/connman-gnome_0.7.bb | 1 +
> 2 files changed, 27 insertions(+)
> create mode 100644 meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
>
> diff --git a/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
> new file mode 100644
> index 0000000..456a4ba
> --- /dev/null
> +++ b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
You need to have Signed-off-by and Upstream-Status in your patch files also.
And any Comments that might make it more clear.
Sau!
> @@ -0,0 +1,26 @@
> +Index: git/properties/ethernet.c
> +===================================================================
> +--- git.orig/properties/ethernet.c
> ++++ git/properties/ethernet.c
> +@@ -194,7 +194,7 @@ void add_ethernet_service(GtkWidget *mai
> +
> + data->button = button;
> +
> +- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> ++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> + update_ethernet_ipv4(data, CONNMAN_POLICY_DHCP);
> + else
> + update_ethernet_ipv4(data, CONNMAN_POLICY_MANUAL);
> +Index: git/properties/wifi.c
> +===================================================================
> +--- git.orig/properties/wifi.c
> ++++ git/properties/wifi.c
> +@@ -230,7 +230,7 @@ static void wifi_ipconfig(GtkWidget *tab
> +
> + data->ipv4_config = ipv4_config;
> +
> +- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> ++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> + update_wifi_ipv4(data, CONNMAN_POLICY_DHCP);
> + else
> + update_wifi_ipv4(data, CONNMAN_POLICY_MANUAL);
> diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
> index 6299e70..4f8875c 100644
> --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
> +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
> @@ -12,6 +12,7 @@ DEPENDS = "gtk+ dbus-glib intltool-native"
> SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
> SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \
> file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
> + file://null_check_for_ipv4_config.patch \
> file://images/* \
> "
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] connman-gnome: fixed DHCP segfault
2013-05-17 10:32 [PATCH] connman-gnome: fixed DHCP segfault Emilia Ciobanu
2013-05-17 10:30 ` Saul Wold
@ 2013-05-17 10:52 ` Burton, Ross
2013-05-17 11:37 ` Ciobanu, Emilia Maria Silvia
1 sibling, 1 reply; 4+ messages in thread
From: Burton, Ross @ 2013-05-17 10:52 UTC (permalink / raw)
To: Emilia Ciobanu; +Cc: openembedded-core
On 17 May 2013 11:32, Emilia Ciobanu
<emilia.maria.silvia.ciobanu@intel.com> wrote:
> +- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> ++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
Is this really the right behaviour if IPv4.Method isn't set?
Ross
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] connman-gnome: fixed DHCP segfault
2013-05-17 10:52 ` Burton, Ross
@ 2013-05-17 11:37 ` Ciobanu, Emilia Maria Silvia
0 siblings, 0 replies; 4+ messages in thread
From: Ciobanu, Emilia Maria Silvia @ 2013-05-17 11:37 UTC (permalink / raw)
To: Burton, Ross; +Cc: openembedded-core@lists.openembedded.org
Hi,
When using manual ip the ipv4_config structure has all fields populated and this condition
is skipped. The only case when the data structure fields are NULL is when we have
DHCP settings and for different reasons network configurations are not done. In this
case, connman automatically renews the ipv4 configurations in less than a minute.
Ethernet manual configuration behavior remains unchanged after this fix.
Thanks,
Ema
________________________________________
From: Burton, Ross [ross.burton@intel.com]
Sent: Friday, May 17, 2013 1:52 PM
To: Ciobanu, Emilia Maria Silvia
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] connman-gnome: fixed DHCP segfault
On 17 May 2013 11:32, Emilia Ciobanu
<emilia.maria.silvia.ciobanu@intel.com> wrote:
> +- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
> ++ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
Is this really the right behaviour if IPv4.Method isn't set?
Ross
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-05-17 11:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-17 10:32 [PATCH] connman-gnome: fixed DHCP segfault Emilia Ciobanu
2013-05-17 10:30 ` Saul Wold
2013-05-17 10:52 ` Burton, Ross
2013-05-17 11:37 ` Ciobanu, Emilia Maria Silvia
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.