From 2f31048b9123444aed7559b72c56645d73379e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sat, 11 Jul 2020 16:06:13 +0200 Subject: sentinel-minipot: include latest turris-os-version --- sentinel-minipot/files/init | 23 ++++++++++++++++++ sentinel-minipot/files/restart-minipot-hook.sh | 5 ++++ sentinel-minipot/files/sentinel-firewall.sh | 33 ++++++++++++++++++++++++++ sentinel-minipot/files/uci-defaults | 25 +++++++++++++++++++ 4 files changed, 86 insertions(+) create mode 100755 sentinel-minipot/files/init create mode 100644 sentinel-minipot/files/restart-minipot-hook.sh create mode 100644 sentinel-minipot/files/sentinel-firewall.sh create mode 100644 sentinel-minipot/files/uci-defaults (limited to 'sentinel-minipot/files') diff --git a/sentinel-minipot/files/init b/sentinel-minipot/files/init new file mode 100755 index 0000000..0b504c1 --- /dev/null +++ b/sentinel-minipot/files/init @@ -0,0 +1,23 @@ +#!/bin/sh /etc/rc.common + +USE_PROCD=1 +START=99 +STOP=10 + +DEFAULT_TELNET_PORT=2333 + +start_service() { + source /lib/functions/sentinel.sh + allowed_to_run "minipot" || return 1 + + config_load sentinel + local telnet_port + config_get telnet_port minipot telnet_port "$DEFAULT_TELNET_PORT" + + procd_open_instance + procd_set_param command /usr/bin/sentinel-minipot + [ "$telnet_port" = "0" ] || procd_append_param command -T "$telnet_port" + procd_set_param respawn 3600 5 5 + procd_set_param file /etc/config/sentinel + procd_close_instance +} diff --git a/sentinel-minipot/files/restart-minipot-hook.sh b/sentinel-minipot/files/restart-minipot-hook.sh new file mode 100644 index 0000000..f316413 --- /dev/null +++ b/sentinel-minipot/files/restart-minipot-hook.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# restart Sentinel:Minipot service +/etc/init.d/sentinel-minipot restart +# Reload firewall to apply redirect +/etc/init.d/firewall reload diff --git a/sentinel-minipot/files/sentinel-firewall.sh b/sentinel-minipot/files/sentinel-firewall.sh new file mode 100644 index 0000000..9c51268 --- /dev/null +++ b/sentinel-minipot/files/sentinel-firewall.sh @@ -0,0 +1,33 @@ +#!/bin/sh +set -e +SF_DIR="${0%/*}" +. "$SF_DIR/common.sh" +. /lib/functions.sh +. /lib/functions/sentinel.sh + +allowed_to_run "minipot" 2>/dev/null || return 0 + + +config_load "sentinel" +config_get telnet_port "minipot" "telnet_port" "2333" + + +port_redirect_zone() { + local config_section="$1" + local zone enabled + config_get zone "$config_section" "name" + config_get_bool enabled "$config_section" "sentinel_minipot" "0" + [ "$enabled" = "1" ] || return 0 + + [ "$telnet_port" = "0" ] || \ + iptables_redirect "$zone" 23 "$telnet_port" "Minipot Telnet" +} + +config_load "firewall" +config_foreach port_redirect_zone "zone" + + +if source_if_exists "$SF_DIR/dynfw-utils.sh"; then + [ "$telnet_port" = "0" ] || \ + bypass_dynamic_firewall "tcp" "23" "Minipot Telnet" +fi diff --git a/sentinel-minipot/files/uci-defaults b/sentinel-minipot/files/uci-defaults new file mode 100644 index 0000000..f90516c --- /dev/null +++ b/sentinel-minipot/files/uci-defaults @@ -0,0 +1,25 @@ +#!/bin/sh +set -e +. /lib/functions/sentinel-firewall.sh + +# Minipot entry in sentinel config +if [ "$(uci -q get sentinel.minipot)" != "minipot" ]; then + uci -q batch <