Merge pull request #843 from guidosarducci/master-fix-network-device

siproxd: improve network device resolution
This commit is contained in:
Jiri Slachta 2023-11-25 22:45:44 +01:00 committed by GitHub
commit 04666c3abb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=siproxd PKG_NAME:=siproxd
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/hb9xar/siproxd.git PKG_SOURCE_URL:=https://github.com/hb9xar/siproxd.git
@ -24,6 +24,7 @@ PKG_CONFIG_DEPENDS:=CONFIG_SIPROXD_MAX_CLIENTS
PKG_LICENSE:=GPL-2.0+ PKG_LICENSE:=GPL-2.0+
PKG_LICENSE_FILES:=COPYING PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Tony Ambardar <itugrok@yahoo.com>
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View file

@ -39,6 +39,12 @@ append_conf() {
echo $* >> "$CONF_DIR/siproxd-$sec.conf" echo $* >> "$CONF_DIR/siproxd-$sec.conf"
} }
# Resolve network device by layer 3 first, then layer 2
siproxd_get_device() {
network_get_device $1 $2 || network_get_physdev $1 $2
}
# Use user-friendly network names (e.g. "wan", "lan") from options # Use user-friendly network names (e.g. "wan", "lan") from options
# 'interface_inbound' and 'interface_outbound', but use standard siproxd # 'interface_inbound' and 'interface_outbound', but use standard siproxd
# parameters 'if_inbound' and 'if_outbound' if explicitly set. # parameters 'if_inbound' and 'if_outbound' if explicitly set.
@ -51,9 +57,8 @@ setup_networks() {
config_get _int_inbound "$sec" interface_inbound config_get _int_inbound "$sec" interface_inbound
config_get _int_outbound "$sec" interface_outbound config_get _int_outbound "$sec" interface_outbound
. /lib/functions/network.sh siproxd_get_device _dev_inbound $_int_inbound
network_get_physdev _dev_inbound $_int_inbound siproxd_get_device _dev_outbound $_int_outbound
network_get_physdev _dev_outbound $_int_outbound
default_conf if_inbound $_dev_inbound default_conf if_inbound $_dev_inbound
default_conf if_outbound $_dev_outbound default_conf if_outbound $_dev_outbound
@ -165,6 +170,7 @@ start_service() {
chmod 755 "$CONF_DIR" "$REG_DIR" "$PID_DIR" chmod 755 "$CONF_DIR" "$REG_DIR" "$PID_DIR"
chown "$SIPROXD_UID:$SIPROXD_GID" "$REG_DIR" chown "$SIPROXD_UID:$SIPROXD_GID" "$REG_DIR"
. /lib/functions/network.sh
siproxd_cb siproxd_cb
config_load 'siproxd' config_load 'siproxd'
} }