diff mbox

Add init fragment for hostapd on Android

Message ID 94eb2c1144147ab240053a47b01d@google.com
State Accepted
Headers show

Commit Message

Christopher Wiley Aug. 17, 2016, 5:21 p.m. UTC
This fragment defines how the Android init system should start hostapd
as a standalone service.  Previously, hostapd was fork/exec'd from
Android's netd.  This left hostapd with some dangling file descriptors
and a process parent minimally interested in acting as init for child
processes.

Signed-off-by: Christopher Wiley <wiley@google.com>
---
  hostapd/Android.mk         |  1 +
  hostapd/hostapd.android.rc | 20 ++++++++++++++++++++
  2 files changed, 21 insertions(+)
  create mode 100644 hostapd/hostapd.android.rc

Comments

Jouni Malinen Aug. 18, 2016, 7:48 p.m. UTC | #1
On Wed, Aug 17, 2016 at 05:21:01PM +0000, Christopher Wiley wrote:
> This fragment defines how the Android init system should start hostapd
> as a standalone service.  Previously, hostapd was fork/exec'd from
> Android's netd.  This left hostapd with some dangling file descriptors
> and a process parent minimally interested in acting as init for child
> processes.

Thanks, applied.
diff mbox

Patch

diff --git a/hostapd/Android.mk b/hostapd/Android.mk
index 5dee966..ea3a39a 100644
--- a/hostapd/Android.mk
+++ b/hostapd/Android.mk
@@ -995,6 +995,7 @@  endif
  LOCAL_CFLAGS := $(L_CFLAGS)
  LOCAL_SRC_FILES := $(OBJS)
  LOCAL_C_INCLUDES := $(INCLUDES)
+LOCAL_INIT_RC := hostapd.android.rc
  include $(BUILD_EXECUTABLE)

  endif # ifeq ($(WPA_BUILD_HOSTAPD),true)
diff --git a/hostapd/hostapd.android.rc b/hostapd/hostapd.android.rc
new file mode 100644
index 0000000..83e8d87
--- /dev/null
+++ b/hostapd/hostapd.android.rc
@@ -0,0 +1,20 @@ 
+#
+# init.rc fragment for hostapd on Android
+# Copyright (c) 2002-2016, Jouni Malinen <j@w1.fi>
+#
+# This software may be distributed under the terms of the BSD license.
+# See README for more details.
+#
+
+on post-fs-data
+    mkdir /data/misc/wifi/hostapd 0770 wifi wifi
+
+service hostapd /system/bin/hostapd \
+        -e /data/misc/wifi/entropy.bin \
+        /data/misc/wifi/hostapd.conf
+    class main
+    user wifi
+    writepid /data/misc/wifi/hostapd.pid
+    group wifi
+    disabled
+    oneshot