summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2014-12-05 22:22:57 +0600
committerDaniil Baturin <daniil@baturin.org>2014-12-05 22:22:57 +0600
commit1e26576c2364c2626dffbc9f2987c955de2bf5fb (patch)
tree4daf37accb638149c768042dd6c852cef065dff5 /lib
parent164e703b1c1089fdf687e0e8449495821abf6d78 (diff)
parent008b1f0f79302a262ccc4d6bf5271e6052d8ec6f (diff)
downloadvyatta-op-vpn-1e26576c2364c2626dffbc9f2987c955de2bf5fb.tar.gz
vyatta-op-vpn-1e26576c2364c2626dffbc9f2987c955de2bf5fb.zip
Merge pull request #7 from jhendryUK/ikev2_sa_info_without_proto
Fixing "show vpn ipsec sa" IKEv2 left/rgiht subnet info
Diffstat (limited to 'lib')
-rw-r--r--lib/OPMode.pm26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/OPMode.pm b/lib/OPMode.pm
index f46fb28..4c60179 100644
--- a/lib/OPMode.pm
+++ b/lib/OPMode.pm
@@ -611,11 +611,27 @@ sub process_tunnels{
$last_used = $1 if ($line =~ /\((\d+)s ago\)/);
$esp_hash{$connectid}{$esp_id}->{last_used} = $last_used;
- } elsif ($line =~ /{(\d+)}:\s+(.*?)\[(.*?)\] === (.*)\[(.*)\]/) {
- $esp_hash{$connectid}{$1}->{_lsnet} = $2;
- $esp_hash{$connectid}{$1}->{_lproto} = $3;
- $esp_hash{$connectid}{$1}->{_rsnet} = $4;
- $esp_hash{$connectid}{$1}->{_rproto} = $5;
+ } elsif ($line =~ /{(\d+)}:\s+(\d+\.\d+\.\d+\.\d+\/\d+(\[.*?\]){0,1}) === (\d+\.\d+\.\d+\.\d+\/\d+(\[.*?\]){0,1})/) {
+ my ($esp_id, $_lsnet, $_lsproto, $_rsnet, $_rsproto) = ($1, $2, $3, $4, $5);
+
+ if (defined($_lsproto)) {
+ $_lsnet =~ s/\Q$_lsproto\E//g if ($_lsnet =~ /\Q$_lsproto\E/);
+ $_lsproto =~ s/\[|\]//g;
+ } else {
+ $_lsproto = "all";
+ }
+
+ if (defined($_rsproto)) {
+ $_rsnet =~ s/\Q$_rsproto\E//g if ($_rsnet =~ /\Q$_rsproto\E/);
+ $_rsproto =~ s/\[|\]//g;
+ } else {
+ $_rsproto = "all";
+ }
+
+ $esp_hash{$connectid}{$esp_id}->{_lsnet} = $_lsnet;
+ $esp_hash{$connectid}{$esp_id}->{_lproto} = $_lsproto;
+ $esp_hash{$connectid}{$esp_id}->{_rsnet} = $_rsnet;
+ $esp_hash{$connectid}{$esp_id}->{_rproto} = $_rsproto;
}
}
}