Added copypasted srcports= support
This commit is contained in:
parent
8dbe6213e1
commit
a366eec201
@ -193,6 +193,29 @@ class DstPorts(RuleOption):
|
|||||||
return 'dstports=' + '{!s}-{!s}'.format(*self.range)
|
return 'dstports=' + '{!s}-{!s}'.format(*self.range)
|
||||||
|
|
||||||
|
|
||||||
|
class SrcPorts(RuleOption):
|
||||||
|
def __init__(self, untrusted_value):
|
||||||
|
if isinstance(untrusted_value, int):
|
||||||
|
untrusted_value = str(untrusted_value)
|
||||||
|
if untrusted_value.count('-') == 1:
|
||||||
|
self.range = [int(x) for x in untrusted_value.split('-', 1)]
|
||||||
|
elif not untrusted_value.count('-'):
|
||||||
|
self.range = [int(untrusted_value), int(untrusted_value)]
|
||||||
|
else:
|
||||||
|
raise ValueError(untrusted_value)
|
||||||
|
if any(port < 0 or port > 65536 for port in self.range):
|
||||||
|
raise ValueError('Ports out of range')
|
||||||
|
if self.range[0] > self.range[1]:
|
||||||
|
raise ValueError('Invalid port range')
|
||||||
|
super().__init__(
|
||||||
|
str(self.range[0]) if self.range[0] == self.range[1]
|
||||||
|
else '-'.join(map(str, self.range)))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def rule(self):
|
||||||
|
return 'srcports=' + '{!s}-{!s}'.format(*self.range)
|
||||||
|
|
||||||
|
|
||||||
class IcmpType(RuleOption):
|
class IcmpType(RuleOption):
|
||||||
def __init__(self, untrusted_value):
|
def __init__(self, untrusted_value):
|
||||||
untrusted_value = int(untrusted_value)
|
untrusted_value = int(untrusted_value)
|
||||||
|
Loading…
Reference in New Issue
Block a user