diff --git a/gowebdav/Makefile b/gowebdav/Makefile index ba1f95a0f..302d70e27 100644 --- a/gowebdav/Makefile +++ b/gowebdav/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gowebdav PKG_VERSION:=5.17.0 -PKG_RELEASE:=24 +PKG_RELEASE:=25 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/hacdias/webdav/tar.gz/v$(PKG_VERSION)? diff --git a/gowebdav/files/webdav.init b/gowebdav/files/webdav.init index 58d6bf4ae..95372952d 100644 --- a/gowebdav/files/webdav.init +++ b/gowebdav/files/webdav.init @@ -17,6 +17,6 @@ start() { } stop() { - kill -9 `pgrep "${WEBDAV}"` >/dev/null 2>&1 + killall -9 pgrep "${WEBDAV}" >/dev/null 2>&1 } diff --git a/luci-app-cpulimit/root/etc/init.d/cpulimit b/luci-app-cpulimit/root/etc/init.d/cpulimit index 5674f5550..0ae23f8cd 100755 --- a/luci-app-cpulimit/root/etc/init.d/cpulimit +++ b/luci-app-cpulimit/root/etc/init.d/cpulimit @@ -12,5 +12,5 @@ start() { } stop() { - kill -9 `pidof cpulimit | sed "s/$$//g"` + killall -9 cpulimit } diff --git a/luci-app-homebridge/Makefile b/luci-app-homebridge/Makefile index 0366bd993..8be2c05d5 100644 --- a/luci-app-homebridge/Makefile +++ b/luci-app-homebridge/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-homebridge PKG_VERSION:=0.1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_DATE:=20200311 PKG_LICENSE:=GPLv3 diff --git a/luci-app-homebridge/files/root/etc/init.d/homebridge b/luci-app-homebridge/files/root/etc/init.d/homebridge index e78ee2323..20f5e0f1c 100755 --- a/luci-app-homebridge/files/root/etc/init.d/homebridge +++ b/luci-app-homebridge/files/root/etc/init.d/homebridge @@ -175,7 +175,7 @@ start_sub_service() { stop() { echo "stop function" >> $LOG_FILE - kill -9 `pidof homebridge | sed "s/$$//g"` >> $LOG_FILE 2>&1 + killall -9 homebridge >> $LOG_FILE 2>&1 # config_load homebridge # stop_main_service # config_foreach stop_sub_service platform diff --git a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js index 7f39f43d7..59a754e61 100644 --- a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js +++ b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js @@ -21,7 +21,8 @@ return L.view.extend({ load: function() { return Promise.all([ L.resolveDefault(callSystemBoard(), {}), - L.resolveDefault(fs.read('/proc/sys/net/mptcp/available_path_managers'), '') + L.resolveDefault(fs.read('/proc/sys/net/mptcp/available_path_managers'), ''), + L.resolveDefault(fs.read('/proc/sys/net/mptcp/scheduler'), '') ]); }, @@ -36,6 +37,11 @@ return L.view.extend({ var availablePathManagers = String(res[1] || '').trim().split(/\s+/).filter(function(name) { return name.length > 0; }); + // The scheduler the kernel actually runs. The mptcp init falls back to + // 'default' when the selected one can't be set (a BPF object that fails + // to register, a name this kernel doesn't know), and the list below would + // otherwise keep showing the selected one. + var activeScheduler = String(res[2] || '').trim(); function normalizeSchedulerValue(value) { if (value == null) @@ -158,6 +164,18 @@ return L.view.extend({ return m.checkDepends(); }; + scheduler.renderWidget = function(section_id, option_index, cfgvalue) { + var widget = form.ListValue.prototype.renderWidget.apply(this, [section_id, option_index, cfgvalue]); + var selected = normalizeSchedulerValue(cfgvalue); + + if (activeScheduler && selected && selected != activeScheduler) + L.dom.append(widget, E('div', { 'class': 'cbi-value-description' }, [ + E('strong', {}, _('The kernel uses the %s scheduler: %s could not be enabled, see the system log.').format(activeScheduler, selected)) + ])); + + return widget; + }; + o = s.option(form.Flag, "mptcp_dscp_weight_vps_sync", _("Mirror DSCP/weight pins to gateway"), _("When using a DSCP or weight BPF scheduler, also sync each WAN’s pin to the gateway (VPS) so it also holds for traffic the gateway sends (downloads), not just traffic the router sends (uploads). Disabling this only stops future syncs -- it does not remove pins already pushed to the gateway.")); o.default = "1"; diff --git a/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json b/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json index f3be59bf3..f670703d5 100644 --- a/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json +++ b/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json @@ -7,6 +7,7 @@ "/usr/lib/mptcpd": [ "list" ], "/usr/share/bpf/scheduler": [ "list" ], "/proc/sys/net/mptcp/available_path_managers": [ "read" ], + "/proc/sys/net/mptcp/scheduler": [ "read" ], "/sbin/sysctl -n net.ipv4.tcp_available_congestion_control": [ "exec" ] }, "ubus": { diff --git a/luci-app-pppoe-relay/root/etc/init.d/pppoe-relay b/luci-app-pppoe-relay/root/etc/init.d/pppoe-relay index d8f5931fa..ca069d155 100755 --- a/luci-app-pppoe-relay/root/etc/init.d/pppoe-relay +++ b/luci-app-pppoe-relay/root/etc/init.d/pppoe-relay @@ -25,5 +25,5 @@ start() { } stop() { - kill -9 `pidof pppoe-relay | sed "s/$$//g"` + killall -9 pppoe-relay } diff --git a/luci-app-pppoe-server/Makefile b/luci-app-pppoe-server/Makefile index 3924ce3d5..dd2762ace 100644 --- a/luci-app-pppoe-server/Makefile +++ b/luci-app-pppoe-server/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI support for PPPoE Server LUCI_DEPENDS:=+luci-compat +rp-pppoe-common +rp-pppoe-server PKG_VERSION:=20200326 -PKG_RELEASE:=1 +PKG_RELEASE:=2 define Package/luci-app-pppoe-server/preinst #!/bin/sh diff --git a/luci-app-pppoe-server/root/etc/init.d/pppoe-server b/luci-app-pppoe-server/root/etc/init.d/pppoe-server index a1b778430..fb352afb5 100755 --- a/luci-app-pppoe-server/root/etc/init.d/pppoe-server +++ b/luci-app-pppoe-server/root/etc/init.d/pppoe-server @@ -97,5 +97,5 @@ stop() { done fi ps | grep "pppd plugin rp-pppoe.so" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & - kill -q -9 `pidof pppoe-server | sed "s/$$//g"` + killall -q -9 pppoe-server } diff --git a/luci-app-rtorrent/Makefile b/luci-app-rtorrent/Makefile index a95bb9789..61858e4f1 100644 --- a/luci-app-rtorrent/Makefile +++ b/luci-app-rtorrent/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=rTorrent LuCI web interface LUCI_DEPENDS:=+rtorrent-rpc +luaexpat +luasocket +luasec +screen PKG_VERSION:=0.1.7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=GPLv3 define Package//luci-app-rtorrent/conffiles diff --git a/luci-app-rtorrent/root/etc/init.d/rtorrent b/luci-app-rtorrent/root/etc/init.d/rtorrent index 6babc0139..4f791eed9 100755 --- a/luci-app-rtorrent/root/etc/init.d/rtorrent +++ b/luci-app-rtorrent/root/etc/init.d/rtorrent @@ -12,6 +12,6 @@ boot() { } stop() { - kill `pidof rtorrent | sed "s/$$//g"` + killall rtorrent } diff --git a/luci-app-speedtest-web/Makefile b/luci-app-speedtest-web/Makefile index 571537ef7..5ed26d4a8 100644 --- a/luci-app-speedtest-web/Makefile +++ b/luci-app-speedtest-web/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=LuCI support for speedtest-web LUCI_DEPENDS:=+speedtest-web LUCI_PKGARCH:=all PKG_VERSION:=1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:= include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-speedtest-web/root/etc/init.d/speedtest-web b/luci-app-speedtest-web/root/etc/init.d/speedtest-web index a288f9faa..e971ea16a 100755 --- a/luci-app-speedtest-web/root/etc/init.d/speedtest-web +++ b/luci-app-speedtest-web/root/etc/init.d/speedtest-web @@ -15,5 +15,5 @@ start() { } stop() { - kill `pidof speedtest-web | sed "s/$$//g"` >/dev/null 2>&1 + killall speedtest-web >/dev/null 2>&1 } diff --git a/mptcp/Makefile b/mptcp/Makefile index ebbe50948..4da33dc12 100644 --- a/mptcp/Makefile +++ b/mptcp/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mptcp PKG_VERSION:=6.1 -PKG_RELEASE:=21 +PKG_RELEASE:=22 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/mptcp/files/etc/hotplug.d/iface/30-mptcp b/mptcp/files/etc/hotplug.d/iface/30-mptcp index 7492de4da..2db6d73b2 100644 --- a/mptcp/files/etc/hotplug.d/iface/30-mptcp +++ b/mptcp/files/etc/hotplug.d/iface/30-mptcp @@ -34,13 +34,23 @@ case "$MULTIPATH" in esac MULTIPATH_ID="$(uci -q get network.$MP_INTERFACE.metric)" +# An update gives the endpoint the new address, unless omr-tracker has the +# interface down: as in mptcp's init script, the endpoint then stays out of +# MPTCP, and 003-up adds it back once the tracker sees the interface up again +_tracker_down() { + [ "$(uci -q -P /var/state get openmptcprouter.$MP_INTERFACE.state)" = "down" ] || return 1 + logger -t "mptcp" "$DEVICE tracker state is down, not adding it back to MPTCP" +} + if [ "$ACTION" = ifupdate -a -n "$IFUPDATE_ADDRESSES" ] && [ -n "$MULTIPATH" ] && [ "$MULTIPATH" != "off" ]; then logger -t "mptcp" "New IP ($IFUPDATE_ADDRESSES) for $INTERFACE ($DEVICE)" multipath $DEVICE off >/dev/null 2>&1 || exit 0 + _tracker_down && exit 0 multipath $DEVICE $MULTIPATH_MODE $MULTIPATH_ID >/dev/null 2>&1 || exit 0 elif [ "$ACTION" = ifupdate ] && [ -n "$MULTIPATH" ] && [ "$MULTIPATH" != "off" ]; then logger -t "mptcp" "Update of $INTERFACE ($DEVICE)" multipath $DEVICE off >/dev/null 2>&1 || exit 0 + _tracker_down && exit 0 multipath $DEVICE $MULTIPATH_MODE $MULTIPATH_ID >/dev/null 2>&1 || exit 0 elif [ "$ACTION" = ifup -o "$ACTION" = iflink -o "$ACTION" = link-up ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ] && [ -n "$MULTIPATH" ] && [ "$MULTIPATH" != "off" ]; then logger -t "mptcp" "Reloading mptcp config due to $ACTION of $INTERFACE ($DEVICE)" diff --git a/phicomm-k3screenctrl/Makefile b/phicomm-k3screenctrl/Makefile index a1072e2da..961fb425a 100644 --- a/phicomm-k3screenctrl/Makefile +++ b/phicomm-k3screenctrl/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=phicomm-k3screenctrl -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/lwz322/k3screenctrl.git diff --git a/phicomm-k3screenctrl/files/k3screenctrl.init b/phicomm-k3screenctrl/files/k3screenctrl.init index b59d20ceb..4ae1a98d6 100644 --- a/phicomm-k3screenctrl/files/k3screenctrl.init +++ b/phicomm-k3screenctrl/files/k3screenctrl.init @@ -15,5 +15,5 @@ start() { } stop() { - kill `pidof k3screenctrl | sed "s/$$//g"` -} + killall k3screenctrl +} \ No newline at end of file diff --git a/totd/Makefile b/totd/Makefile index c6a9c0618..2baa29242 100644 --- a/totd/Makefile +++ b/totd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=totd PKG_VERSION:=1.5.3 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Konstantine Shevlakov PKG_LICENSE:=LICENSE diff --git a/totd/root/etc/init.d/totd b/totd/root/etc/init.d/totd index 836dbf047..f02929120 100755 --- a/totd/root/etc/init.d/totd +++ b/totd/root/etc/init.d/totd @@ -55,7 +55,7 @@ start_service(){ } stop_service(){ - kill `pgrep -f $PROG` > /dev/null 2>&1 + killall $PROG > /dev/null 2>&1 } service_triggers() {