* XRESOLVE - undocumented
EOS
- newvalues(:UNSPEC, :UNICAST, :LOCAL, :BROADCAST, :ANYCAST, :MULTICAST,
- :BLACKHOLE, :UNREACHABLE, :PROHIBIT, :THROW, :NAT, :XRESOLVE)
+ newvalues(*[:UNSPEC, :UNICAST, :LOCAL, :BROADCAST, :ANYCAST, :MULTICAST,
+ :BLACKHOLE, :UNREACHABLE, :PROHIBIT, :THROW, :NAT, :XRESOLVE].collect do |address_type|
+ [address_type, "! #{address_type}".to_sym]
+ end.flatten)
end
newproperty(:src_type, :required_features => :address_type) do
* XRESOLVE - undocumented
EOS
- newvalues(:UNSPEC, :UNICAST, :LOCAL, :BROADCAST, :ANYCAST, :MULTICAST,
- :BLACKHOLE, :UNREACHABLE, :PROHIBIT, :THROW, :NAT, :XRESOLVE)
+ newvalues(*[:UNSPEC, :UNICAST, :LOCAL, :BROADCAST, :ANYCAST, :MULTICAST,
+ :BLACKHOLE, :UNREACHABLE, :PROHIBIT, :THROW, :NAT, :XRESOLVE].collect do |address_type|
+ [address_type, "! #{address_type}".to_sym]
+ end.flatten)
end
newproperty(:proto) do
end
end
+ context '! MULTICAST' do
+ it 'applies' do
+ pp = <<-EOS
+ class { '::firewall': }
+ firewall { '563 - test inversion':
+ proto => tcp,
+ action => accept,
+ #{type} => '! MULTICAST',
+ }
+ EOS
+
+ apply_manifest(pp, :catch_failures => true)
+ unless fact('selinux') == 'true'
+ apply_manifest(pp, :catch_changes => true)
+ end
+ end
+
+ it 'should contain the rule' do
+ shell('iptables-save') do |r|
+ expect(r.stdout).to match(/-A INPUT -p tcp -m addrtype( !\s.*\sMULTICAST|\s.*\s! MULTICAST) -m comment --comment "563 - test inversion" -j ACCEPT/)
+ end
+ end
+ end
+
context 'BROKEN' do
it 'fails' do
pp = <<-EOS
end
end
+ context '! MULTICAST' do
+ it 'applies' do
+ pp = <<-EOS
+ class { '::firewall': }
+ firewall { '603 - test inversion':
+ proto => tcp,
+ action => accept,
+ #{type} => '! MULTICAST',
+ provider => 'ip6tables',
+ }
+ EOS
+
+ apply_manifest(pp, :catch_failures => true)
+ unless fact('selinux') == 'true'
+ apply_manifest(pp, :catch_changes => true)
+ end
+ end
+
+ it 'should contain the rule' do
+ shell('ip6tables-save') do |r|
+ expect(r.stdout).to match(/-A INPUT -p tcp -m addrtype( !\s.*\sMULTICAST|\s.*\s! MULTICAST) -m comment --comment "603 - test inversion" -j ACCEPT/)
+ end
+ end
+ end
+
context 'BROKEN' do
it 'fails' do
pp = <<-EOS