diff options
author | Daniil Baturin <daniil@baturin.org> | 2018-04-17 16:23:13 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-17 16:23:13 +0700 |
commit | 379cdf6aee9b1f034344e2f7befcde13291d8bef (patch) | |
tree | f5715aed7a3bef8fff3886fb62e461fa1f496ed5 /lib/Vyatta/IpTables/IpSet.pm | |
parent | c22fd4e612bdc9e95474baa0bc7d0cf3d2144ebc (diff) | |
parent | f6e4c60702f810cc06449782f64c7e5a7e20abb2 (diff) | |
download | vyatta-cfg-firewall-379cdf6aee9b1f034344e2f7befcde13291d8bef.tar.gz vyatta-cfg-firewall-379cdf6aee9b1f034344e2f7befcde13291d8bef.zip |
Merge pull request #10 from mtudosoiu/current
Task T35 - fixing prune_deleted_sets for inet6 family
Diffstat (limited to 'lib/Vyatta/IpTables/IpSet.pm')
-rwxr-xr-x | lib/Vyatta/IpTables/IpSet.pm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Vyatta/IpTables/IpSet.pm b/lib/Vyatta/IpTables/IpSet.pm index ba5e68d..276b845 100755 --- a/lib/Vyatta/IpTables/IpSet.pm +++ b/lib/Vyatta/IpTables/IpSet.pm @@ -137,6 +137,25 @@ sub get_type { return $self->{_type}; } +sub get_family { + my ($self) = @_; + return $self->{_family} if defined $self->{_family}; + return if !$self->exists(); + my @lines = `ipset -L $self->{_name}`; + my $family; + foreach my $line (@lines) { + if ($line =~ /^Header: family (\w+) hashsize/) { + $family = $1; + $self->{_family} = $family; + last; + } elsif ($line =~ /^Type: bitmap:port$/){ + $self->{_family} = "inet"; + last; + } + } + return $self->{_family}; +} + sub alphanum_split { my ($str) = @_; my @list = split m/(?=(?<=\D)\d|(?<=\d)\D)/, $str; |