From c93e90ccb180046c1859995c2ba33ab94000e758 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 8 Apr 2021 20:41:58 +0200 Subject: [PATCH 1/3] More check on omr-bypass --- luci-app-omr-bypass/root/etc/init.d/omr-bypass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index e7446143a..dcd209784 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -10,6 +10,7 @@ EXTRA_COMMANDS="reload_rules bypass_asn" _add_proto() { protoname=$1 + [ -z "$protoname" ] && return if [ "$(dd if=/proc/net/xt_ndpi/proto bs=4096 2> /dev/null | grep $protoname)" = "" ]; then echo "add_custom $protoname" >/proc/net/xt_ndpi/proto fi @@ -44,6 +45,7 @@ _bypass_domains() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return + [ -z "$domain" ] && return if [ "$(echo $domain | grep '\.$')" != "" ] || [ "$(echo $domain | grep '\.\*$')" != "" ]; then tlds=`curl --max-time 4 -s -k https://data.iana.org/TLD/tlds-alpha-by-domain.txt` domain="$(echo '"$domain"' | sed 's:*::')" @@ -742,7 +744,7 @@ start_service() { done if [ "$ipsets" != "" ]; then resultipset="/$(echo $dnsipset | cut -d/ -f2)/$ipsets" - uci -q add_list dhcp.@dnsmasq[0].ipset=$resultipset + [ -n "$resultipset" ] && uci -q add_list dhcp.@dnsmasq[0].ipset=$resultipset fi done fi From a8a858c6ed861df4b51c6236fe71f3ec7db02ea3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 9 Apr 2021 19:58:02 +0200 Subject: [PATCH 2/3] Fix info label, default is cubic --- luci-app-mptcp/luasrc/model/cbi/mptcp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua index 27654e021..8e5c4e14b 100644 --- a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua +++ b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua @@ -37,7 +37,7 @@ end local mtcpsyn = s:option(Value, "mptcp_syn_retries", translate("Multipath TCP SYN retries")) mtcpsyn.datatype = "uinteger" mtcpsyn.rmempty = false -local congestion = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is bbr")) +local congestion = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is cubic")) local availablecong = sys.exec("sysctl -n net.ipv4.tcp_available_congestion_control | xargs -n1 | sort | xargs") for cong in string.gmatch(availablecong, "[^%s]+") do congestion:value(cong, translate(cong)) From dbe5cdcf122208c6127dc14f55b2cf12c2480d2b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 9 Apr 2021 19:59:14 +0200 Subject: [PATCH 3/3] Check huawei modem using interface ip --- luci-app-openmptcprouter/root/bin/omr-huawei | 6 ++++-- .../root/usr/libexec/rpcd/openmptcprouter | 4 ++-- mptcp/files/usr/share/omr/post-tracking.d/post-tracking | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/luci-app-openmptcprouter/root/bin/omr-huawei b/luci-app-openmptcprouter/root/bin/omr-huawei index 566ae4e61..04314003d 100755 --- a/luci-app-openmptcprouter/root/bin/omr-huawei +++ b/luci-app-openmptcprouter/root/bin/omr-huawei @@ -1,7 +1,9 @@ #!/bin/sh -MODEM_IP=`echo $1 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'` +INTF_IP=`echo $1 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'` +[ -z "$INTF_IP" ] && return +MODEM_IP=`echo $2 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'` [ -z "$MODEM_IP" ] && return -INFO=$2 +INFO=$3 SESTOK=$(curl -s -m 1 -X GET "http://$MODEM_IP/api/webserver/SesTokInfo") [ -z "$SESTOK" ] && return COOKIE=$(echo $SESTOK | sed -ne '/SesInfo/{s/.*\(.*\)<\/SesInfo>.*/\1/p;q;}') diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter index f8a97321f..5d82f622c 100755 --- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter +++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter @@ -1282,8 +1282,8 @@ function interfaces_status() gw_ping6 = "DOWN" end end - if uci:get("openmptcprouter", interface, "manufacturer") == "huawei" then - intfdata = ut.trim(sys.exec("omr-huawei " .. gateway .. " all")) + if uci:get("openmptcprouter", interface, "manufacturer") == "huawei" and ipaddr ~= "" then + intfdata = ut.trim(sys.exec("omr-huawei " .. ipaddr .. " " .. gateway .. " all")) if intfdata ~= "" then signal = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $1}'")) operator = ut.trim(sys.exec("echo '".. intfdata .. "' | awk -F';' '{print $2}'")) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 30a402bb1..2459dd04c 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -1189,7 +1189,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($( # uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state=$(echo $intfdata | awk -F";" '{print $4}') #else if [ "$proto" != "qmi" ] && [ "$proto" != "modemmanager" ]; then - if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$(curl -s -m 2 -X GET http://$OMR_TRACKER_DEVICE_GATEWAY/api/webserver/SesTokInfo)" ]; then + if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$(curl --interface $OMR_TRACKER_DEVICE_IP -s -m 2 -X GET http://$OMR_TRACKER_DEVICE_GATEWAY/api/webserver/SesTokInfo)" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.manufacturer='huawei' else uci -q delete openmptcprouter.$OMR_TRACKER_INTERFACE.manufacturer