summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-admin-full/root/etc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2016-10-06 17:13:23 +0200
committerJo-Philipp Wich <jo@mein.io>2016-10-06 17:13:23 +0200
commit067fe5bcce0303f427fbe9351f043d330c7030ce (patch)
treee0a5d6d2d0c43931a26310e4e17dd2728a241e4c /modules/luci-mod-admin-full/root/etc
parentd4c33720208346ee7983213fe764df3102b8a771 (diff)
luci-mod-admin-full: figure out diagnostics host in postinstall
Attempt to infer the default diagnostics host for nslookup / ping / traceroute from the various URLs in /etc/os-release. Fall back to "openwrt.org" if no host is found to preserve backwards compatibility. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-admin-full/root/etc')
-rwxr-xr-xmodules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full b/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full
new file mode 100755
index 0000000000..372eb15122
--- /dev/null
+++ b/modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ "$(uci -q get luci.diag)" != "internal" ]; then
+ host=""
+
+ if [ -s /etc/os-release ]; then
+ . /etc/os-release
+ host="${HOME_URL:-${BUG_URL:-$LEDE_DEVICE_MANUFACTURER_URL}}"
+ host="${host#*://}"
+ host="${host%%/*}"
+ fi
+
+ uci -q batch <<-EOF >/dev/null
+ set luci.diag=internal
+ set luci.diag.dns='${host:-openwrt.org}'
+ set luci.diag.ping='${host:-openwrt.org}'
+ set luci.diag.route='${host:-openwrt.org}'
+ commit luci
+ EOF
+fi
+
+exit 0