[Pkg-swan-devel] Bug#1116662: strongswan-starter: Existing SysV init script ignores new config format

Luigi Baldoni aloisio at gmx.com
Tue Sep 30 14:41:32 BST 2025


On 9/30/25 08:34, Yves-Alexis Perez wrote:
> On Mon, 2025-09-29 at 21:51 +0000, Luigi Baldoni wrote:
> > Since then, strongswan has deprecated the old ipsec.conf format in 
> favour
> > of swanctl.conf. The systemd scripts launch the daemon first and 
> then invoke
> > swanctl to load the new-style configuration, but the existing
> > /etc/init.d/ipsec
> > does not.
>
> > Other non-systemd distributions (e.g. openwrt and alpine) use separate
> > launchers
> > to leave users the choice, upstream systemd seems to do it the new 
> way only,
> > but I haven't delved too much into it.
>
> Hi Luigi,
>
> I'm not sure I understand your problem.
>
> If you want to use the "legacy" ipsec.conf, use strongswan-charon and
> strongswan-starter.
>
> If you want to use the "new" swanctl.conf, use strongswan-swanctl and 
> charon-
> systemd (and yes that means using systemd launcher).
>
> The `strongswan` metapackage used to depend on the former set, now on the
> latter.
>
As you can see at the bottom of the report, I was trying to run a 
sysvinit-only system, so

charon-systemd would be inaccesible in such a setup. I do realise it's 
an edge case, I just

wonder if you would include a suitably modified init script to cover it.


On 9/30/25 09:27, Andrew Bower wrote:
> An initscript like the following might do the job but, as I said above,
> the application is not quite ready for this to be used:
>
> #!/bin/sh /lib/init/init-d-script
> ### BEGIN INIT INFO
> # Provides:          strongswan
> # Required-Start:    $remote_fs $network
> # Required-Stop:     $remote_fs $network
> # Default-Start:     2 3 4 5
> # Default-Stop:      0 1 6
> # Short-Description: strongSwan IPsec IKEv1/IKEv2 daemon using swanctl
> # Description:       The strongSwan VPN suite uses the native IPsec stack
> #                    in the standard Linux kernel. It supports both the
> #                    IKEv1 and IKEv2 protocols.
> ### END INIT INFO
>
> DAEMON=/usr/sbin/charon-systemd
> NAME=strongswan
> DESC="strongSwan IPSec daemon"
> START_ARGS="--background --make-pidfile --notify-await"
>
> do_start_cmd_override() {
>    do_start_cmd && swanctl --load-all --noprompt
> }
>
> do_reload_cmd() {
>    swanctl --reload
>    swanctl --load-all --noprompt
> }
>

Yes, this is exactly what I was thinking about. The problem can also be 
mitigated by

adding the first command as start-script in charon.conf.


Regards



More information about the Pkg-swan-devel mailing list