Skip to content

Commit 10b336c

Browse files
authored
Merge pull request #1199 from gcoxmoz/numeric-toports
Allow a singular numeric port for the `--to-ports` parameter
2 parents dca6c22 + 8d67b78 commit 10b336c

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

Diff for: lib/puppet/type/firewall.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1189,7 +1189,7 @@
11891189
DESC
11901190
},
11911191
toports: {
1192-
type: 'Optional[Pattern[/^\d+(?:-\d+)?$/]]',
1192+
type: 'Optional[Variant[Integer[0, 65535], Pattern[/^\d+(?:-\d+)?$/]]]',
11931193
desc: <<-DESC
11941194
For REDIRECT/MASQUERADE this is the port that will replace the destination/source port.
11951195
Can specify a single new port or an inclusive range of ports.

Diff for: spec/acceptance/firewall_attributes_happy_path_spec.rb

+11
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ class { '::firewall': }
144144
jump => 'REDIRECT',
145145
toports => '2222',
146146
}
147+
firewall { '575 - toports-numeric':
148+
proto => icmp,
149+
table => 'nat',
150+
chain => 'PREROUTING',
151+
jump => 'REDIRECT',
152+
toports => 3333,
153+
}
147154
firewall { '581 - pkttype':
148155
ensure => present,
149156
proto => tcp,
@@ -447,6 +454,10 @@ class { '::firewall': }
447454
expect(result.stdout).to match(%r{-A PREROUTING -p (icmp|1) -m comment --comment "574 - toports" -j REDIRECT --to-ports 2222})
448455
end
449456

457+
it 'toports-numeric is set' do
458+
expect(result.stdout).to match(%r{-A PREROUTING -p (icmp|1) -m comment --comment "575 - toports-numeric" -j REDIRECT --to-ports 3333})
459+
end
460+
450461
it 'rpfilter is set' do
451462
expect(result.stdout).to match(%r{-A PREROUTING -p (tcp|6) -m rpfilter --loose --validmark --accept-local --invert -m comment --comment "900 - set rpfilter" -j ACCEPT})
452463
end

Diff for: spec/unit/puppet/type/firewall_spec.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -507,9 +507,9 @@
507507
{ name: '001 test rule', tosource: 313 }]
508508
},
509509
':toports': {
510-
valid: [{ name: '001 test rule', toports: '40' }, { name: '001 test rule', tosource: '50-60' }],
511-
invalid: [{ name: '001 test rule', toports: 'invalid' }, { name: '001 test rule', toports: false },
512-
{ name: '001 test rule', toports: 313 }]
510+
valid: [{ name: '001 test rule', toports: '40' }, { name: '001 test rule', tosource: '50-60' },
511+
{ name: '001 test rule', toports: 313 }],
512+
invalid: [{ name: '001 test rule', toports: 'invalid' }, { name: '001 test rule', toports: false }]
513513
},
514514
':to': {
515515
valid: [{ name: '001 test rule', to: '10.0.0.2' }, { name: '001 test rule', to: '10.0.0.2/24' }],

0 commit comments

Comments
 (0)