<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/net/strongswan, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/'/>
<updated>2026-08-19T05:56:36Z</updated>
<entry>
<title>strongswan: fix build with wolfSSL 5.9.2</title>
<updated>2026-08-19T05:56:36Z</updated>
<author>
<name>Dharmik Parmar</name>
</author>
<published>2026-08-19T01:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=2edf6a0af0cc722436643e4bc4a1f72d670f8fc4'/>
<id>urn:sha1:2edf6a0af0cc722436643e4bc4a1f72d670f8fc4</id>
<content type='text'>
wolfSSL 5.9.2 removed mlkem.h. Backport the upstream change to use
wc_mlkem.h directly.

Fixes: #30291
Signed-off-by: Dharmik Parmar &lt;dharmikparmar2004@yahoo.com&gt;
</content>
</entry>
<entry>
<title>strongswan: swanctl.init: remove invalid privkeys option</title>
<updated>2026-08-04T13:09:47Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-08-04T11:47:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=5c6578a8b37a68263aafa600a9d193d9ac8f27cc'/>
<id>urn:sha1:5c6578a8b37a68263aafa600a9d193d9ac8f27cc</id>
<content type='text'>
The 'swanctl.conf' has no 'privkeys' option in
'connections.&lt;conn&gt;.local&lt;suffix&gt;'. The only local-round keys documented
for authentication are 'certs', 'cert&lt;suffix&gt;' and 'pubkeys'. Strongswan
does not let a connection reference a private key by name at all - swanctl
auto-selects the matching private key from '/etc/swanctl/private'
(or rsa/ecdsa/pkcs8) by comparing it against the certificate configured
via 'certs' when credentials are loaded.

Writing 'privkeys = $local_key' into the generated swanctl.conf is
therefore a no-op at best: the option is unknown to the parser and
gets silently dropped, so it never had any effect on which key was
used.

Drop the bogus assignment. The existing local_key validation making
sure the referenced file exists under '/etc/swanctl/private'. Since that's
still useful to catch misconfiguration early, and add a comment explaining
why nothing is written to swanctl.conf for it.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: bump PKG_RELEASE by one</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-27T08:43:22Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=703e679a7101c9e77b64373e07b7e932f7eb2d4b'/>
<id>urn:sha1:703e679a7101c9e77b64373e07b7e932f7eb2d4b</id>
<content type='text'>
Update 'PKG_RELEASE'.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: write local_key to swanctl.conf</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-27T13:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=4c58cafc7e22ac109eef808fa9657485c37d24c6'/>
<id>urn:sha1:4c58cafc7e22ac109eef808fa9657485c37d24c6</id>
<content type='text'>
The 'local_key' UCI option was validated (checked for existence
under /etc/swanctl/private/) but never written to the generated
'swanctl.conf'. As a result, setting 'local_key' had no actual effect
on which private key was used for local authentication.

Add the corresponding "privkeys" line to the local{} section,
mirroring how local_cert is already written as "certs", so that
swanctl explicitly uses the configured private key.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: rename 'local_sourceip' to 'vips'</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-27T12:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=6e6de6aff91f57151186bd21c7d72fd7e3285163'/>
<id>urn:sha1:6e6de6aff91f57151186bd21c7d72fd7e3285163</id>
<content type='text'>
The name 'local_sourceip' was misleading, since the option actually
refers to virtual IP addresses (VIPs) used for routing/binding,
not just a single local source IP. Renaming it to 'vips' better
reflects its purpose and makes the configuration more intuitive
for users, especially in setups with multiple virtual IPs.

Add a uci-defaults migration script to convert existing 'local_sourceip'
entries (whether stored as a plain option or as a list) to a
'vips' list on upgrade.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: rename 'local_ip' to 'local_addrs'</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-23T14:18:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=07450023bca29dec13b3ddeb349af1fb8eb62fbe'/>
<id>urn:sha1:07450023bca29dec13b3ddeb349af1fb8eb62fbe</id>
<content type='text'>
Rename the 'local_ip' UCI option to 'local_addrs' to match the
'swanctl.conf' 'local_addrs' directive, which accepts one or more
local addresses rather than implying a single fixed IP. The
previous name suggested only one address could be configured.

Store the option as a UCI list to allow specifying multiple local
addresses, consistent with how 'remote_addrs' is already handled.
If left empty, no 'local_addrs' line is written to 'swanctl.conf',
so strongswan falls back to its own default of '%any'.

Add a uci-defaults migration script to convert existing 'local_ip'
entries (whether stored as a plain option or as a list) to a
'local_addrs' list on upgrade.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: rename 'remote_gateway' to 'remote_addrs'</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-23T13:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=b0c5835445ff3cf471179f2bf4df1e6ab1ce8932'/>
<id>urn:sha1:b0c5835445ff3cf471179f2bf4df1e6ab1ce8932</id>
<content type='text'>
Rename the 'remote_gateway' UCI option to 'remote_addrs' to match
the 'swanctl.conf' 'remote_addrs' directive, which accepts one or
more peer addresses rather than a single gateway. The previous
name implied a single value and did not reflect that multiple
remote addresses can be configured for a connection.

Store the option as a UCI list to allow specifying multiple
remote addresses, consistent with how 'local_subnet' and
'remote_subnet' are already handled.

Add a uci-defaults migration script to convert existing
'remote_gateway' entries (whether stored as a plain option or as
a list) to a 'remote_addrs' list on upgrade.

If the 'remote_addrs' option is empty, strongswan implicitly uses the value
'%any'. In the `swanctl.conf` documentation, '%any' is already the default
value for 'remote_addrs' if the directive is not specified at all.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: rename 'gateway' to 'remote_gateway'</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-23T12:25:53Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=d43fa0cbd49796ecc53fd7f606ba3bf84dc39164'/>
<id>urn:sha1:d43fa0cbd49796ecc53fd7f606ba3bf84dc39164</id>
<content type='text'>
The UCI option 'gateway' in the ipsec config (consumed by
/etc/init.d/swanctl) is ambiguous. It is not clear from the name
alone whether it refers to the local or the remote IKE/IPsec
peer address, which has repeatedly led to misconfiguration.

Rename it to "remote_gateway" to make the direction explicit and
to match the existing "remote_subnet" naming. If the option is
unset, the init script now falls back to the strongSwan default
of '%any', so connections that accept any remote peer no longer
require an explicit placeholder value.

Add a uci-defaults migration script to rename existing 'gateway'
entries to 'remote_gateway' and remove the value 'any' on upgrade. This
is new default if 'remote_gateway' is not set.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: migration and merge local_nat into local_subnet</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-23T11:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=9cea816088af618c372512847d7055eba7e71210'/>
<id>urn:sha1:9cea816088af618c372512847d7055eba7e71210</id>
<content type='text'>
The UCI option 'local_nat' was a misleading legacy name for the
option that actually specifies the local traffic selector(s) used
by strongSwan/swanctl for a connection, i.e. the local subnet(s)
matched by the IPsec SA. It has nothing to do with NAT-T or NAT
detection, and the name repeatedly caused confusion when writing
or reviewing configs.

Merge it to 'local_subnet' to match its actual purpose and to
align with the naming already used for the corresponding
'local_subnet' option and with swanctl.conf's own 'local_ts/remote_ts'
terminology.

Add a uci-defaults migration script so existing installations are
upgraded automatically. It reads any existing 'local_nat' values
(whether stored as a plain option or as a list) and rewrites them
as a 'local_subnet' list.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>strongswan: replace indentation spaces with tabs in swanctl.init</title>
<updated>2026-08-03T09:07:41Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-07-23T06:07:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=eca6d15e4596cf3ec973bf4fc0acbded1ea28cfe'/>
<id>urn:sha1:eca6d15e4596cf3ec973bf4fc0acbded1ea28cfe</id>
<content type='text'>
For consistency, the remaining spaces used for indentation have been
replaced with tabs.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
</feed>
