stunc: Added ci and docs

This commit is contained in:
vdutta 2021-04-30 20:48:56 +05:30
parent 18545a1fb9
commit ad0867991f
4 changed files with 75 additions and 43 deletions

View file

@ -8,9 +8,9 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=stunc PKG_NAME:=stunc
PKG_VERSION:=1.0.0 PKG_VERSION:=1.0.1
PKG_SOURCE_VERSION:=74c8205a45a69572d0c6a2615e87c019c15f8972 PKG_SOURCE_VERSION:=cd7c5d70bc97a2f1a26d5587ccf6f4c1e9ca82c8
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/stunc.git PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/stunc.git
@ -41,8 +41,11 @@ TARGET_CFLAGS += \
define Package/$(PKG_NAME)/install define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/stund $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/config
$(CP) ./files/* $(1)/ $(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/stunc $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/stunc $(1)/etc/init.d/stunc
$(INSTALL_DATA) ./files/etc/config/stun $(1)/etc/config/stun
endef endef
$(eval $(call BuildPackage,$(PKG_NAME))) $(eval $(call BuildPackage,$(PKG_NAME)))

View file

@ -8,7 +8,5 @@ config stun 'stun'
option min_keepalive '30' option min_keepalive '30'
option max_keepalive '3600' option max_keepalive '3600'
# option client_port 7547 # option client_port 7547
#if client_port option is not set or < 0 then use a random port for connection request source port option log_level '0'
#Log levels: Critical=0, Warning=1, Notice=2, Info=3, Debug=4
option log_level '3'

67
stunc/files/etc/init.d/stunc Executable file
View file

@ -0,0 +1,67 @@
#!/bin/sh /etc/rc.common
# STUN client software
# Copyright (C) 2020 iopsys Software Solutions AB
# Author: Omar Kallel <omar.kallel@pivasoftware.com>
START=90
USE_PROCD=1
PROG="/usr/sbin/stunc"
log() {
#echo "${@}" >/dev/console
echo "${@}"|logger -t stun -p info
}
validate_stun_section()
{
uci_validate_section stun stun stun \
'enable:bool' \
'Username:string' \
'Password:string' \
'server_address:host' \
'server_port:port' \
'client_port:port' \
'log_level:uinteger:0'
}
service_running() {
ubus wait_for tr069
return $?;
}
start_service() {
local enable server_address
config_load stun
validate_stun_section || {
log "Validation failed for stun section";
exit 1;
}
if [ "$enable" -eq 0 ]; then
exit 0;
fi
if [ -z "${server_address}" ]; then
log "Stun server address not defined or invalid"
exit 0;
fi
procd_open_instance stun
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers()
{
procd_add_reload_trigger stun
}

View file

@ -1,36 +0,0 @@
#!/bin/sh /etc/rc.common
# STUN client software
# Copyright (C) 2020 iopsys Software Solutions AB
# Author: Omar Kallel <omar.kallel@pivasoftware.com>
START=90
USE_PROCD=1
PROG="/usr/sbin/stund"
start_service() {
local enable=`uci -q get stun.stun.enable`
if [ "$enable" == "1" ]; then
local server=`uci -q get stun.stun.server_address`
[ "$server" = "" ] && exit 0
procd_open_instance
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_close_instance
fi
}
boot() {
start
}
reload_service() {
logger -p crit -t "stun" "reloading service()"
stop
start
}
service_triggers()
{
procd_add_reload_trigger stun
}