summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/base.pp4
-rw-r--r--templates/scripts/info.sh.erb8
2 files changed, 12 insertions, 0 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
index b5742c3..e0f3d18 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -53,6 +53,10 @@ class strongswan::base {
content => "#!/bin/bash\n${strongswan::binary} status | grep INSTALLED | awk -F\\{ '{ print \$1 }'\n",
notify => undef,
mode => '0500';
+ "/usr/local/sbin/${binary_name}_info":
+ content => template('strongswan/scripts/info.sh.erb'),
+ notify => undef,
+ mode => '0500';
"/usr/local/sbin/${binary_name}_start_unconnected":
content => template('strongswan/scripts/start_unconnected.sh.erb'),
notify => undef,
diff --git a/templates/scripts/info.sh.erb b/templates/scripts/info.sh.erb
new file mode 100644
index 0000000..d48a97e
--- /dev/null
+++ b/templates/scripts/info.sh.erb
@@ -0,0 +1,8 @@
+#!/bin/bash
+connected=`<%= scope.lookupvar('strongswan::base::binary_name') %>_connected_hosts`
+grep -El '^conn' /etc/ipsec.d/hosts/* | while read line; do
+ host=`basename $line '.conf'`
+ echo $connected | grep -q $host
+ ([ $? -eq 0 ] && echo "+ ${host}") || echo " ${host}"
+done
+