diff options
author | Jo-Philipp Wich <jo@mein.io> | 2016-10-06 17:13:23 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2016-10-06 17:13:23 +0200 |
commit | 067fe5bcce0303f427fbe9351f043d330c7030ce (patch) | |
tree | e0a5d6d2d0c43931a26310e4e17dd2728a241e4c /modules/luci-mod-admin-full/root | |
parent | d4c33720208346ee7983213fe764df3102b8a771 (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')
-rwxr-xr-x | modules/luci-mod-admin-full/root/etc/uci-defaults/50_luci-mod-admin-full | 22 |
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 000000000..372eb1512 --- /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 |