aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/connman/connman-0.63
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2010-11-23 15:06:24 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-12-02 05:24:51 -0800
commita5de5a7dfeecbccef1cfb8f6221a494b946ed982 (patch)
treebe8f877463cf6af2bc419dfbc7286a7d3ce10e36 /meta/recipes-connectivity/connman/connman-0.63
parent8399ca4d708101f594025ddab2fa89cab5e56c51 (diff)
downloadopenembedded-core-a5de5a7dfeecbccef1cfb8f6221a494b946ed982.tar.gz
connman: Upgrade to version 0.63
Add build dependency iptables. Fix recipe metadata. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'meta/recipes-connectivity/connman/connman-0.63')
-rw-r--r--meta/recipes-connectivity/connman/connman-0.63/connman62
-rw-r--r--meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch12
-rw-r--r--meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch42
3 files changed, 116 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/connman/connman-0.63/connman b/meta/recipes-connectivity/connman/connman-0.63/connman
new file mode 100644
index 0000000000..f01bf371c2
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-0.63/connman
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+DAEMON=/usr/sbin/connmand
+PIDFILE=/var/run/connmand.pid
+DESC="Connection Manager"
+
+if [ -f /etc/default/connman ] ; then
+ . /etc/default/connman
+fi
+
+set -e
+
+nfsroot=0
+
+exec 9<&0 < /proc/mounts
+while read dev mtpt fstype rest; do
+ if test $mtpt = "/" ; then
+ case $fstype in
+ nfs | nfs4)
+ nfsroot=1
+ break
+ ;;
+ *)
+ ;;
+ esac
+ fi
+done
+
+do_start() {
+ EXTRA_PARAM=""
+ if test $nfsroot -eq 1 ; then
+ EXTRA_PARAM="-P ethernet"
+ fi
+ $DAEMON $EXTRA_PARAM
+}
+
+do_stop() {
+ start-stop-daemon --stop --name connmand --quiet
+}
+
+case "$1" in
+ start)
+ echo "Starting $DESC"
+ do_start
+ ;;
+ stop)
+ echo "Stopping $DESC"
+ do_stop
+ ;;
+ restart|force-reload)
+ echo "Restarting $DESC"
+ do_stop
+ sleep 1
+ do_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch b/meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch
new file mode 100644
index 0000000000..100af0367b
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch
@@ -0,0 +1,12 @@
+Index: git/src/connman-dbus.conf
+===================================================================
+--- git.orig/src/connman-dbus.conf 2009-05-26 00:34:35.000000000 +0100
++++ git/src/connman-dbus.conf 2009-05-26 00:34:48.000000000 +0100
+@@ -10,6 +10,6 @@
+ <allow send_destination="org.moblin.connman"/>
+ </policy>
+ <policy context="default">
+- <deny send_destination="org.moblin.connman"/>
++ <allow send_destination="org.moblin.connman"/>
+ </policy>
+ </busconfig>
diff --git a/meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch b/meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch
new file mode 100644
index 0000000000..a0ad0991df
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch
@@ -0,0 +1,42 @@
+Schedule delayed scan when being disconnected from an AP
+
+When being disconnected from an AP, a delayed scan is scheduled to make
+sure the AP is still there. wpa_supplicant removes a BSS from its bss list
+when it disappears from the scan results twice in a row.
+
+Author: Samuel Ortiz <sameo@linux.intel.com>
+Ported by Dongxiao Xu <dongxiao.xu@intel.com>
+
+diff -ruN connman-0.56-orig/plugins/supplicant.c connman-0.56/plugins/supplicant.c
+--- connman-0.56-orig/plugins/supplicant.c 2010-09-25 15:08:21.242927383 +0800
++++ connman-0.56/plugins/supplicant.c 2010-09-25 15:12:46.346136858 +0800
+@@ -2184,6 +2184,15 @@
+ scanning == TRUE ? "started" : "finished");
+ }
+
++static gboolean delayed_scan(gpointer user_data)
++{
++ struct supplicant_task *task = user_data;
++
++ supplicant_scan(task->device);
++
++ return FALSE;
++}
++
+ static void state_change(struct supplicant_task *task, DBusMessage *msg)
+ {
+ DBusError error;
+@@ -2277,7 +2286,13 @@
+ task_connect(task);
+ } else
+ task->network = NULL;
++ } else {
++ if (task->state == WPA_DISCONNECTED)
++ g_timeout_add_seconds(10, delayed_scan, task);
++
++ remove_network(task);
+ }
++
+ break;
+
+ default: