aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2017-12-13 10:32:26 +0100
committerHans Dedecker <dedeckeh@gmail.com>2017-12-13 10:49:55 +0100
commit1d31d840d45a2bce86c1a7b1871e86dd20b39cf2 (patch)
treeb641f895a0a6dc1448d62a452e8d687ad6180e67
parent49b519fed44d083d9e2fab4cb6b0609de032a284 (diff)
strongswan: fix reload service
Based on the ipsec running state reload_service is either reloading ipsec or starting ipsec. However in the latter case it calls ipsec start which bypasses the procd start_service function which means the running ipsec instance is not managed by procd. Fix this by calling start in case ipsec is not running; at the same time add service_running function which is used by procd provided running function. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--net/strongswan/files/ipsec.init15
1 files changed, 10 insertions, 5 deletions
diff --git a/net/strongswan/files/ipsec.init b/net/strongswan/files/ipsec.init
index 311679d69..1e0adfd11 100644
--- a/net/strongswan/files/ipsec.init
+++ b/net/strongswan/files/ipsec.init
@@ -318,14 +318,19 @@ prepare_env() {
config_foreach config_remote remote
}
+service_running() {
+ ipsec status > /dev/null 2>&1
+}
+
reload_service() {
- prepare_env
- if ipsec status > /dev/null 2>&1; then
+ running && {
+ prepare_env
ipsec rereadall
ipsec reload
- else
- ipsec start
- fi
+ return
+ }
+
+ start
}
service_triggers() {