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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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):
 | 
			
		||||
    def __init__(self, untrusted_value):
 | 
			
		||||
        untrusted_value = int(untrusted_value)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user