strongswan: convert init script to procd
authorStijn Tintel <stijn@linux-ipv6.be>
Tue, 1 Aug 2017 01:47:58 +0000 (03:47 +0200)
committerStijn Tintel <stijn@linux-ipv6.be>
Mon, 7 Aug 2017 18:19:18 +0000 (20:19 +0200)
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
net/strongswan/files/ipsec.init

index 0bbec766cf54fb208c7a4210550616555a85b98f..2d500047941ce8a94febb3defbdfc491e777a3e9 100644 (file)
@@ -3,6 +3,9 @@
 START=90
 STOP=10
 
+USE_PROCD=1
+PROG=/usr/lib/ipsec/starter
+
 . $IPKG_INSTROOT/lib/functions.sh
 
 IPSEC_SECRETS_FILE=/etc/ipsec.secrets
@@ -315,21 +318,7 @@ prepare_env() {
        config_foreach config_remote remote
 }
 
-start() {
-       prepare_env
-       ipsec start
-}
-
-stop() {
-       ipsec stop
-}
-
-restart() {
-       prepare_env
-       ipsec restart
-}
-
-reload() {
+reload_service() {
        prepare_env
        if ipsec status > /dev/null 2>&1; then
                ipsec rereadall
@@ -338,3 +327,25 @@ reload() {
                ipsec start
        fi
 }
+
+service_triggers() {
+       procd_add_reload_trigger "ipsec"
+}
+
+start_service() {
+       prepare_env
+
+       procd_open_instance
+
+       procd_set_param command $PROG --daemon charon --nofork
+
+       procd_set_param file $IPSEC_CONN_FILE
+       procd_append_param file $IPSEC_SECRETS_FILE
+       procd_append_param file $STRONGSWAN_CONF_FILE
+       procd_append_param file /etc/strongswan.d/*.conf
+       procd_append_param file /etc/strongswan.d/charon/*.conf
+
+       procd_set_param respawn
+
+       procd_close_instance
+}