summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-09-20 18:09:00 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-09-20 18:09:00 +0200
commitd8330ca4a42a7f5d81b233a1cf7cbc7a7bd0be95 (patch)
treef33ddab6870a14914852ef40c378c31ccd8e2443 /examples
parent92d98f0612c147171a0e9e03dd7fdfde890ee9e5 (diff)
examples/var_service/supplicant_if: new service example
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/var_service/supplicant_if/README5
-rwxr-xr-xexamples/var_service/supplicant_if/log/run21
-rwxr-xr-xexamples/var_service/supplicant_if/p_log4
-rwxr-xr-xexamples/var_service/supplicant_if/run21
-rwxr-xr-xexamples/var_service/supplicant_if/w_log4
-rw-r--r--examples/var_service/supplicant_if/wpa_supplicant.conf28
6 files changed, 83 insertions, 0 deletions
diff --git a/examples/var_service/supplicant_if/README b/examples/var_service/supplicant_if/README
new file mode 100644
index 000000000..4ddccb22d
--- /dev/null
+++ b/examples/var_service/supplicant_if/README
@@ -0,0 +1,5 @@
+The real README file is one directory up.
+
+This directory's run script can have useful comments.
+If it doesn't but you feel it should, please send a patch
+to busybox's mailing list.
diff --git a/examples/var_service/supplicant_if/log/run b/examples/var_service/supplicant_if/log/run
new file mode 100755
index 000000000..69d74b73f
--- /dev/null
+++ b/examples/var_service/supplicant_if/log/run
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+user=logger
+
+logdir="/var/log/service/`(cd ..;basename $PWD)`"
+mkdir -p "$logdir" 2>/dev/null
+chown -R "$user": "$logdir"
+chmod -R go-rwxst,u+rwX "$logdir"
+rm -rf logdir
+ln -s "$logdir" logdir
+
+# make this dir accessible to logger
+chmod a+rX .
+
+exec >/dev/null
+exec 2>&1
+exec \
+env - PATH="$PATH" \
+softlimit \
+setuidgid "$user" \
+svlogd -tt "$logdir"
diff --git a/examples/var_service/supplicant_if/p_log b/examples/var_service/supplicant_if/p_log
new file mode 100755
index 000000000..a2521be05
--- /dev/null
+++ b/examples/var_service/supplicant_if/p_log
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd log/logdir || exit 1
+cat @* current | $PAGER
diff --git a/examples/var_service/supplicant_if/run b/examples/var_service/supplicant_if/run
new file mode 100755
index 000000000..45211e001
--- /dev/null
+++ b/examples/var_service/supplicant_if/run
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+exec 2>&1
+exec </dev/null
+
+pwd="$PWD"
+
+if="${PWD##*/dhcp_}"
+
+echo "* Upping iface $if"
+ip link set dev "$if" up
+
+##echo "* Powersave disable on $if"
+##iw dev "$if" set power_save off
+
+echo "* Starting wpa_supplicant"
+exec \
+env - PATH="$PATH" \
+softlimit \
+setuidgid root \
+wpa_supplicant -i "$if" -c "$pwd/wpa_supplicant.conf" -d
diff --git a/examples/var_service/supplicant_if/w_log b/examples/var_service/supplicant_if/w_log
new file mode 100755
index 000000000..aa36ef13b
--- /dev/null
+++ b/examples/var_service/supplicant_if/w_log
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd log/logdir || exit 1
+watch -n2 'w=`ttysize w`; h=`ttysize h`; tail -$((h-3)) current 2>&1 | cut -b1-$((w-2))'
diff --git a/examples/var_service/supplicant_if/wpa_supplicant.conf b/examples/var_service/supplicant_if/wpa_supplicant.conf
new file mode 100644
index 000000000..5fc96b4da
--- /dev/null
+++ b/examples/var_service/supplicant_if/wpa_supplicant.conf
@@ -0,0 +1,28 @@
+# allow frontend (e.g., wpa_cli) to be used by all users in 'wheel' group
+ctrl_interface=DIR=/var/run/wpa_supplicant
+#GROUP=wheel
+
+# Typical minimal wifi setup:
+network={
+ ssid="--your-ESSID--"
+ key_mgmt=WPA-PSK
+ psk="--your-password--"
+}
+
+# Other fields:
+# scan_ssid=1
+# key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
+# pairwise=CCMP TKIP
+# group=CCMP TKIP WEP104 WEP40
+# psk="very secret passphrase"
+# eap=TTLS PEAP TLS
+# identity="user@example.com"
+# ca_cert="/etc/cert/ca.pem"
+# client_cert="/etc/cert/user.pem"
+# private_key="/etc/cert/user.prv"
+# private_key_passwd="password"
+# phase1="peaplabel=0"
+# ca_cert2="/etc/cert/ca2.pem"
+# client_cert2="/etc/cer/user.pem"
+# private_key2="/etc/cer/user.prv"
+# private_key2_passwd="password"