net/turnserver: add log page, switch to syslog

Co-authored-by: Franco Fichtner <franco@lastsummer.de>
This commit is contained in:
Frank Wall 2025-12-01 00:34:12 +01:00
parent a16e9a0eea
commit 124b4dbf68
8 changed files with 32 additions and 4 deletions

View file

@ -1,5 +1,5 @@
PLUGIN_NAME= turnserver
PLUGIN_VERSION= 1.0
PLUGIN_VERSION= 1.1
PLUGIN_COMMENT= The coturn STUN/TURN Server
PLUGIN_DEPENDS= turnserver
PLUGIN_MAINTAINER= opnsense@moov.de

View file

@ -5,8 +5,15 @@ WWW: https://github.com/coturn/coturn
1.1
Added:
* add log page
Changed:
* hide protocol violating options
* switch to local syslog logging
Removed:
* remove old log files
1.0

View file

@ -116,14 +116,14 @@
<id>turnserver.settings.ChannelLifetime</id>
<label>Channel Lifetime</label>
<type>text</type>
<help>The lifetime for the channel (in seconds). Default value is 600 secs (10 minutes). MUST NOT be changed, because this would violate RFC 5766.</help>
<help>The lifetime for the channel in seconds. Default value is 600 seconds (10 minutes). Changing this value violates RFC 5766. Use with care.</help>
<advanced>true</advanced>
</field>
<field>
<id>turnserver.settings.PermissionLifetime</id>
<label>Permission Lifetime</label>
<type>text</type>
<help>The permission lifetime (in seconds). Default value is 300 secs (5 minutes). MUST NOT be changed, because this would violate RFC 5766.</help>
<help>The permission lifetime in seconds. Default value is 300 seconds (5 minutes). Changing this value violates RFC 5766. Use with care.</help>
<advanced>true</advanced>
</field>
</form>

View file

@ -4,6 +4,8 @@
<patterns>
<pattern>ui/turnserver</pattern>
<pattern>api/turnserver/*</pattern>
<pattern>ui/diagnostics/log/core/turnserver/*</pattern>
<pattern>api/diagnostics/log/core/turnserver/*</pattern>
</patterns>
</page-services-turnserver>
</acl>

View file

@ -1,5 +1,8 @@
<menu>
<Services>
<Turnserver cssClass="fa fa-comment-o fa-fw" url="/ui/turnserver"/>
<Turnserver cssClass="fa fa-comment-o fa-fw">
<Settings order="10" url="/ui/turnserver"/>
<Log VisibleName="Log File" order="40" url="/ui/diagnostics/log/core/turnserver"/>
</Turnserver>
</Services>
</menu>

View file

@ -59,3 +59,12 @@ if (isset($configObj->OPNsense->turnserver->settings->TlsCertificate) and !empty
}
}
}
# Purge obsolete log files.
# TODO: Should be removed in plugin version 2.0.
$log_files = glob('/var/log/turn_*.log');
foreach ($log_files as $file) {
if (is_file($file)) {
unlink($file);
}
}

View file

@ -0,0 +1,6 @@
###################################################################
# Local syslog-ng configuration filter definition [turnserver].
###################################################################
filter f_local_turnserver {
program("turnserver");
};

View file

@ -50,6 +50,7 @@ channel-lifetime={{ OPNsense.turnserver.settings.ChannelLifetime }}
permission-lifetime={{ OPNsense.turnserver.settings.PermissionLifetime }}
# Defaults
log-file=syslog
no-cli
no-software-attribute
no-multicast-peers