summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/facter/strongswan_ips.rb13
-rw-r--r--manifests/base.pp2
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/facter/strongswan_ips.rb b/lib/facter/strongswan_ips.rb
index 7fac37e..4382d07 100644
--- a/lib/facter/strongswan_ips.rb
+++ b/lib/facter/strongswan_ips.rb
@@ -1,10 +1,13 @@
Facter.add("strongswan_ips") do
setcode do
- result = nil
- if bin = ['/usr/sbin/ipsec', '/usr/sbin/strongswan'].find{|f| File.exists?(f) }
- output = Facter::Util::Resolution.exec("#{bin} statusall | grep -E '^ [0-9a-f]'").to_s.split("\n").collect(&:strip)
- result = output.join(',') unless output.empty?
+ bin = ['/usr/sbin/ipsec', '/usr/sbin/strongswan'].find do |f|
+ File.exists?(f)
+ end
+ if bin
+ output = Facter::Util::Resolution.exec(
+ "#{bin} statusall | grep -E '^ [0-9a-f]' | sort | uniq")
+ output = output.to_s.split("\n").collect(&:strip)
+ output.join(',') unless output.empty?
end
- result
end
end
diff --git a/manifests/base.pp b/manifests/base.pp
index d02ed57..b5742c3 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -50,7 +50,7 @@ class strongswan::base {
'/etc/ipsec.conf':
content => template($strongswan::ipsec_conf_template);
"/usr/local/sbin/${binary_name}_connected_hosts":
- content => "#!/bin/bash\n${strongswan::binary} status | grep ESTABLISHED | awk -F\\[ '{ print \$1 }'\n",
+ content => "#!/bin/bash\n${strongswan::binary} status | grep INSTALLED | awk -F\\{ '{ print \$1 }'\n",
notify => undef,
mode => '0500';
"/usr/local/sbin/${binary_name}_start_unconnected":