1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Merge pull request #334 from Ysurac/develop

sync
This commit is contained in:
suyuan 2023-07-28 14:39:05 +08:00 committed by GitHub
commit f2fe6e4906
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 82 additions and 18 deletions

View file

@ -75,6 +75,12 @@ if uname.release:sub(1,4) == "5.15" or uname.release:sub(1,1) == "6" then
o.datatype = "uinteger"
o.rmempty = false
o.default = 4
o = s:option(Value, "mptcp_add_addr_timeout", translate("Set the timeout after which an ADD_ADDR control message will be resent to an MPTCP peer that has not acknowledged a previous ADD_ADDR message."))
o.datatype = "uinteger"
o.rmempty = false
o.default = 120
else
o = s:option(Value, "mptcp_fullmesh_num_subflows", translate("Fullmesh subflows for each pair of IP addresses"))
o.datatype = "uinteger"

View file

@ -8,25 +8,25 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=modemmanager
PKG_SOURCE_VERSION:=1.20.4
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=1.20.6
PKG_RELEASE:=8
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
#PKG_MIRROR_HASH:=f138effc693456c5040ec22e17c0a8b41143c3b17b62437462995c297a9150dc
PKG_MIRROR_HASH:=e90103e2e42bb826bbbac83937a9a69f50348cd6ce0d8da655a12b65494ce7c9
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_DEPENDS:=glib2/host libxslt/host
PKG_BUILD_FLAGS:=gc-sections
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/meson.mk
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
TARGET_LDFLAGS += -Wl,--gc-sections
TARGET_CFLAGS += -fno-merge-all-constants -fmerge-constants
define Package/modemmanager/config
source "$(SOURCE)/Config.in"

View file

@ -272,6 +272,14 @@ mm_report_event() {
local subsystem="$3"
local sysfspath="$4"
# Do not save virtual devices
local virtual
virtual="$(echo "$sysfspath" | cut -d'/' -f4)"
[ "$virtual" = "virtual" ] && {
mm_log "debug" "sysfspath is a virtual device ($sysfspath)"
return
}
# Track/untrack events in cache
case "${action}" in
"add")

View file

@ -343,11 +343,22 @@ proto_modemmanager_init_config() {
proto_config_add_string password
proto_config_add_string pincode
proto_config_add_string iptype
proto_config_add_string plmn
proto_config_add_int signalrate
proto_config_add_boolean lowpower
proto_config_add_boolean allow_roaming
proto_config_add_defaults
}
# Append param to the global 'connectargs' variable.
append_param() {
local param="$1"
[ -z "$param" ] && return
[ -z "$connectargs" ] || connectargs="${connectargs},"
connectargs="${connectargs}${param}"
}
proto_modemmanager_setup() {
local interface="$1"
@ -355,11 +366,11 @@ proto_modemmanager_setup() {
local bearermethod_ipv4 bearermethod_ipv6 auth cliauth
local operatorname operatorid registration accesstech signalquality
local device apn allowedauth username password pincode iptype metric signalrate
local device apn allowedauth username password pincode iptype plmn metric signalrate allow_roaming
local address prefix gateway mtu dns1 dns2
json_get_vars device apn allowedauth username password pincode iptype metric signalrate
json_get_vars device apn allowedauth username password pincode iptype plmn metric signalrate allow_roaming
# validate sysfs path given in config
[ -n "${device}" ] || {
@ -368,11 +379,6 @@ proto_modemmanager_setup() {
proto_set_available "${interface}" 0
return 1
}
[ -e "${device}" ] || {
echo "Device not found in sysfs"
proto_set_available "${interface}" 0
return 1
}
# validate that ModemManager is handling the modem at the sysfs path
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
@ -397,7 +403,24 @@ proto_modemmanager_setup() {
echo "starting connection with apn '${apn}'..."
proto_notify_error "${interface}" MM_CONNECT_IN_PROGRESS
connectargs="apn=${apn}${iptype:+,ip-type=${iptype}}${cliauth:+,allowed-auth=${cliauth}}${username:+,user=${username}}${password:+,password=${password}}${pincode:+,pin=${pincode}}"
# setup allow-roaming parameter
if [ -n "${allow_roaming}" ] && [ "${allow_roaming}" -eq 0 ];then
allow_roaming="no"
else
# allowed unless a user set the opposite
allow_roaming="yes"
fi
# Append options to 'connectargs' variable
append_param "apn=${apn}"
append_param "allow-roaming=${allow_roaming}"
append_param "${iptype:+ip-type=${iptype}}"
append_param "${plmn:+operator-id=${plmn}}"
append_param "${cliauth:+allowed-auth=${cliauth}}"
append_param "${username:+user=${username}}"
append_param "${password:+password=${password}}"
append_param "${pincode:+pin=${pincode}}"
mmcli --modem="${device}" --timeout 120 --simple-connect="${connectargs}" || {
proto_notify_error "${interface}" MM_CONNECT_FAILED
proto_block_restart "${interface}"
@ -509,7 +532,6 @@ proto_modemmanager_teardown() {
json_get_vars device lowpower iptype
echo "stopping network"
proto_notify_error "${interface}" MM_TEARDOWN_IN_PROGRESS
# load connected bearer information, just the first one should be ok
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
@ -544,6 +566,9 @@ proto_modemmanager_teardown() {
# low power, only if requested
[ "${lowpower:-0}" -lt 1 ] ||
mmcli --modem="${device}" --set-power-state-low
proto_init_update "*" 0
proto_send_update "$interface"
}
[ -n "$INCLUDE_ONLY" ] || {

View file

@ -40,11 +40,11 @@ endef
CONFIGURE_ARGS += --without-rpm \
--without-nss --without-avahi --without-dyninst \
--disable-server --disable-grapher --enable-prologues \
--without-python2-probes --disable-translator \
--without-python2-probes \
--disable-libvirt --disable-sqlite --disable-monitor --without-python3-probes \
ac_cv_prog_have_javac=no \
ac_cv_prog_have_jar=no
# --disable-translator
HOST_CONFIGURE_ARGS += --without-rpm \
--without-nss --without-avahi --without-dyninst \
--disable-server --disable-grapher --enable-prologues \

View file

@ -0,0 +1,11 @@
--- a/setupdwfl.cxx 2023-07-26 20:22:35.427807372 +0200
+++ b/setupdwfl.cxx 2023-07-26 20:22:43.855666830 +0200
@@ -762,7 +762,7 @@
clog << _("Attempting to extract kernel debuginfo build ID from /sys/kernel/notes") << endl;
const char *notesfile = "/sys/kernel/notes";
- int fd = open64 (notesfile, O_RDONLY);
+ int fd = open (notesfile, O_RDONLY);
if (fd < 0)
return "";

View file

@ -1944,6 +1944,16 @@ clear_transparent_proxy() {
fi
}
version_over_5_4() {
MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}')
MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}')
if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then
return 0
else
return 1
fi
}
start_instance() {
local section="$1"
@ -2054,10 +2064,14 @@ start_instance() {
return 1
fi
fi
PROG="$NAME.$section"
TRANSPARENT_PROXY_EXPECTED=1
procd_open_instance "$NAME.$section"
if version_over_5_4; then
PROG="mptcpize run ${PROG}"
fi
procd_open_instance "$PROG"
procd_set_param command "$v2ray_file"
procd_append_param command run
procd_append_param command -config "$temp_config"