rtpproxy: add hotplug script
authorSebastian Kemper <sebastian_ml@gmx.net>
Mon, 5 Nov 2018 19:16:54 +0000 (20:16 +0100)
committerSebastian Kemper <sebastian_ml@gmx.net>
Mon, 5 Nov 2018 19:16:56 +0000 (20:16 +0100)
Install hotplug script along with rtpproxy. It will only be used if
enabled by the user (via uci config file).

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
net/rtpproxy/Makefile
net/rtpproxy/files/rtpproxy.config
net/rtpproxy/files/rtpproxy.hotplug [new file with mode: 0644]

index 8c8505ba6481ed900e7d8f0d2e51de83e32894be..87ecab838994a58cdda245b820d5f1b1121d399f 100644 (file)
@@ -64,13 +64,16 @@ TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
 
 define Package/rtpproxy/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rtpproxy $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rtpproxy $(1)/usr/bin
 
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/rtpproxy.init $(1)/etc/init.d/rtpproxy
 
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_CONF) ./files/rtpproxy.config $(1)/etc/config/rtpproxy
+
+       $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+       $(INSTALL_BIN) ./files/rtpproxy.hotplug $(1)/etc/hotplug.d/iface
 endef
 
 define Package/rtpproxy-mod-acct-csv/install
index 708725191640a753a0d16bdae376a365676ad41e..2350c11e7421ebb58c96826f01d064b27e800c0f 100644 (file)
@@ -12,3 +12,6 @@ config instance 'site2'
         option socket 'udp:127.0.0.1:7724'
        option ipaddr '192.168.1.1'
 
+config rtpproxy 'hotplug'
+       #option interface 'wan'                                         # uncomment to enable hotplug
+
diff --git a/net/rtpproxy/files/rtpproxy.hotplug b/net/rtpproxy/files/rtpproxy.hotplug
new file mode 100644 (file)
index 0000000..dfa6981
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+[ "$ACTION" = ifup ] || exit 0
+
+NAME=rtpproxy
+COMMAND=/etc/init.d/$NAME
+LOGGER="/usr/bin/logger -t hotplug"
+
+$COMMAND enabled || exit 0
+
+. /lib/functions.sh
+
+config_load $NAME
+
+config_get_bool enabled global enabled 0
+[ $enabled -eq 0 ] && exit 0
+
+config_get hotplug_iface hotplug interface
+
+[ "$INTERFACE" = "$hotplug_iface" ] && {
+       $LOGGER "Restarting $NAME due to \"$ACTION\" of \"$INTERFACE\""
+       $COMMAND restart
+}
+