summaryrefslogtreecommitdiff
path: root/files/common/etc/fsm/inetable/common.sh
diff options
context:
space:
mode:
Diffstat (limited to 'files/common/etc/fsm/inetable/common.sh')
-rw-r--r--files/common/etc/fsm/inetable/common.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/files/common/etc/fsm/inetable/common.sh b/files/common/etc/fsm/inetable/common.sh
index 148c369..3625caa 100644
--- a/files/common/etc/fsm/inetable/common.sh
+++ b/files/common/etc/fsm/inetable/common.sh
@@ -23,3 +23,29 @@ delete network.mesh.proto
delete network.mesh.netmask
" | uci batch
}
+
+# enable/disable uhttpd instance in uci config; the parameters are
+# 1. instance name
+# 2. addresses to listen on (white-space delimted list)
+enable_httpd () {
+ uci set uhttpd.$1=uhttpd
+ for i in $2; do
+ uci add_list uhttpd.$1.listen_http=$i
+ done
+}
+
+disable_httpd () {
+ uci set uhttpd.$1=disabled
+ uci delete uhttp.$1.listen_http &>/dev/null || true
+}
+
+# change the interfaces the service httpd is listening on;
+# automatically adds linklocal IPv6 addresses of br-mesh and br-lan
+change_service_httpd_listen () {
+ uci delete uhttp.service.listen_http &>/dev/null || true
+ for i in $1 \
+ [$(ifconfig br-mesh | egrep -o 'fe80[:0-9a-f]*')%br-mesh]:80 \
+ [$(ifconfig br-lan | egrep -o 'fe80[:0-9a-f]*')%br-lan]:80; do
+ uci add_list uhttpd.service.listen_http=$i
+ done
+}
contact: Jan Huwald // Impressum