0
0
mirror of https://github.com/openwrt/luci.git synced 2025-04-20 18:40:30 +00:00
Files
Daniel Nilsson 36c01dab8c treewide: make rpcd scripts executable
The git index needs the executable permission on RPC scripts to correctly
register them with ubus.

Link: https://github.com/openwrt/luci/issues/7526

Signed-off-by: Daniel Nilsson <dannil+github@protonmail.com>
2025-01-05 14:04:52 +00:00

60 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
. /usr/share/libubox/jshn.sh
case "$1" in
list)
json_init
json_add_object "getolsrvizdata"
json_close_object
json_dump
;;
call)
case "$2" in
getolsrvizdata)
jsonreq4=$(
cat <<EOF
<script>
EOF
# sed + txtinfo plugin
re_ip='[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}'
re_sep='[[:space:]]\{1,\}'
re_nosep='[^[:space:]]\{1,\}'
wget http://127.0.0.1:2006/all -qO - | sed -n "
/^Table: Links$/,/^$/ {
s# # - #g
s#\($re_ip\)$re_sep\($re_ip\)\($re_sep$re_nosep\)\{3\}$re_sep\($re_nosep\)#touch_edge(touch_node('\1').set_metric(1).update(),touch_node('\2').set_metric(1).update(),'\4');#p
}
/^Table: Topology$/,/^$/ {
s#\($re_ip\)$re_sep\($re_ip\)\($re_sep$re_nosep\)\{2\}$re_sep\($re_nosep\)#touch_edge(touch_node('\1').update(),touch_node('\2').update(),'\4');#p
}
/^Table: HNA$/,/^$/ {
s#\($re_ip\)/\([0-9]\{1,\}\)$re_sep\($re_ip\)#touch_hna(touch_node('\3'),'\1','\2');#p
}
/^Table: Routes$/,/^$/ {
s#\($re_ip\)/32$re_sep$re_nosep$re_sep\($re_nosep\).*#touch_node('\1').set_metric('\2').update();#p
}
"
hosts=$(uci show olsrd | grep hosts_file | cut -d "=" -f 2)
if [ -n $hosts ]; then
sed -n "
s#\($re_ip\)$re_sep\($re_nosep\)$re_sep.*#touch_node('\1').set_desc('\2');#p
" <$hosts
fi
cat <<EOF
viz_callback();
</script>
EOF
)
json_init
json_add_string "jsonreq4" "$jsonreq4"
json_dump
;;
esac
;;
esac