Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
fa1e6e4
luci-app-strongswan-swanctl: fix globals NamedSection function arguments
feckert Sep 9, 2026
a4934e8
luci-app-strongswan-swanctl: migrate section tunnel and transport to …
feckert Sep 8, 2026
337fb54
luci-app-strongswan-swanctl: sync debug option with swanctl init
feckert Sep 8, 2026
e5abca8
luci-app-strongswan-swanctl: add support for custom_proposal configur…
feckert Sep 9, 2026
1096dfc
luci-app-strongswan-swanctl: rename dpdaction to dpd_action, drop "none"
feckert Sep 10, 2026
73e0b5c
luci-app-strongswan-swanctl: rename closeaction to close_action
feckert Sep 10, 2026
10e55cc
luci-app-strongswan-swanctl: rename startaction to start_action
feckert Sep 10, 2026
020f59a
luci-app-strongswan-swanctl: rename rekeytime to rekey_time in child
feckert Sep 11, 2026
8023e15
luci-app-strongswan-swanctl: rename lifetime to life_time in child
feckert Sep 11, 2026
5b0b85f
luci-app-strongswan-swanctl: rename rekeybytes to rekey_bytes in child
feckert Sep 11, 2026
602d86b
luci-app-strongswan-swanctl: rename lifebytes to life_bytes in child
feckert Sep 11, 2026
49b1222
luci-app-strongswan-swanctl: rename rekeypackets to rekey_packets in …
feckert Sep 11, 2026
9feac94
luci-app-strongswan-swanctl: rename lifepackets to life_packets in child
feckert Sep 11, 2026
ecc4934
luci-app-strongswan-swanctl: rename rekeytime to rekey_time in remote
feckert Sep 11, 2026
655b569
luci-app-strongswan-swanctl: rename overtime to over_time in remote
feckert Sep 11, 2026
c771181
luci-app-strongswan-swanctl: rename dpddelay to dpd_delay in remote
feckert Sep 11, 2026
472ea6e
luci-app-strongswan-swanctl: add shunt configuration
feckert Sep 21, 2026
52c2512
luci-app-strongswan-swanctl: add install_routes_xfrmi option
feckert Sep 14, 2026
97f5a49
luci-app-strongswan-swanctl: remove 15 char section name limit
feckert Sep 21, 2026
50f5a69
luci-app-strongswan-swanctl: switch from ipsec to swanctl config
feckert Sep 17, 2026
d5d9a4e
luci-app-strongswan-swanctl: add legacy ipsec config migration overlay
feckert Sep 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,28 @@
'require view';
'require tools.widgets as widgets';

function addLogLevel(o) {
o.value('', _('Use daemon default'));
o.value('-1', _('Absolutely silent'));
o.value('0', _('Very basic auditing logs'));
o.value('1', _('Generic control flow with errors (default)'));
o.value('2', _('More detailed debugging control flow'));
o.value('3', _('Including RAW data dumps in hex'));
o.value('4', _('Also include sensitive material in dumps, e.g. keys'));
o.default = '';
Comment thread
feckert marked this conversation as resolved.
}

return view.extend({
render: function (result) {
let m, s, o;

m = new form.Map('ipsec', _('Service configuration'),
m = new form.Map('swanctl', _('Service configuration'),
_('On this page, you can configure the IPsec service.'));
m.tabbed = true;

// strongSwan General Settings
s = m.section(form.NamedSection, 'globals', 'ipsec', _('General Settings'));
// general settings
s = m.section(form.NamedSection, 'globals', 'globals', _('General Settings'),
_('Configure global service parameters.'));

o = s.option(widgets.NetworkSelect, 'interface', _('Listening Interfaces'),
_('Interfaces that accept VPN traffic.') + '<br /> ' +
Expand All @@ -21,10 +33,74 @@ return view.extend({
o.nocreate = true;
o.optional = true;

o = s.option(form.Value, 'debug', _('Debug Level'),
_('Trace level: 0 is least verbose, 4 is most'));
// syslog plugin settings
s = m.section(form.NamedSection, 'syslog', 'syslog', _('Syslog Settings'),
_('Configure how strongswan logs events, errors, and debug information.'));

o = s.option(form.ListValue, 'app', 'app', _('Applications other than daemons'));
Comment thread
feckert marked this conversation as resolved.
addLogLevel(o);

o = s.option(form.ListValue, 'asn', 'asn', _('Low-level encoding/decoding (ASN.1, X.509 etc.)'));
addLogLevel(o);

o = s.option(form.ListValue, 'cfg', 'cfg', _('Configuration management and plugins'));
addLogLevel(o);

o = s.option(form.ListValue, 'chd', 'chd', _('CHILD_SA/IPsec_SA'));
addLogLevel(o);

o = s.option(form.ListValue, 'dmn', 'dmn', _('Main daemon setup/cleanup/signal handling'));
addLogLevel(o);

o = s.option(form.ListValue, 'enc', 'enc', _('Packet encoding/decoding encryption/decryption operations'));
addLogLevel(o);

o = s.option(form.ListValue, 'esp', 'esp', '%s (%s)'.format(_('Library messages'), 'libipsec'));
addLogLevel(o);

o = s.option(form.ListValue, 'ike', 'ike', _('IKE_SA / ISAKMP SA'));
addLogLevel(o);

o = s.option(form.ListValue, 'imc', 'imc', _('Integrity Measurement Collector'));
addLogLevel(o);

o = s.option(form.ListValue, 'imv', 'imv', _('Integrity Measurement Verifier'));
addLogLevel(o);

o = s.option(form.ListValue, 'job', 'job', _('Jobs queuing/processing and thread pool management'));
addLogLevel(o);

o = s.option(form.ListValue, 'wch', 'wch', _('File descriptor watcher'));
addLogLevel(o);

o = s.option(form.ListValue, 'knl', 'knl', _('IPsec/Networking kernel interface'));
addLogLevel(o);

o = s.option(form.ListValue, 'lib', 'lib', '%s (%s)'.format(_('Library messages'), 'libstrongswan'));
addLogLevel(o);

o = s.option(form.ListValue, 'mgr', 'mgr', _('IKE_SA manager, handling synchronization for IKE_SA access'));
addLogLevel(o);

o = s.option(form.ListValue, 'net', 'net', _('IKE network communication'));
addLogLevel(o);

o = s.option(form.ListValue, 'pts', 'pts', _('Platform Trust Service'));
addLogLevel(o);

o = s.option(form.ListValue, 'tls', 'tls', '%s (%s)'.format(_('Library messages'), 'libtls'));
addLogLevel(o);

o = s.option(form.ListValue, 'tnc', 'tnc', _('Trusted Network Connect'));
addLogLevel(o);

// kernel-netlink plugin settings
s = m.section(form.NamedSection, 'netlink', 'netlink', _('Netlink Settings'),
_('Configure the kernel-netlink plugin options.'));

o = s.option(form.Flag, 'install_routes_xfrmi', _('Install routes via XFRM interfaces'),
_('When this is enabled, the routes for all XFRM interfaces are set automatically.'));
o.default = '0';
o.datatype = 'range(0,4)';

return m.render();
}
Expand Down
Loading
Loading