def check_port(port): port_range = getPortRange(port) if port_range == -2: raise FirewallError(INVALID_PORT, "port number in '%s' is too big" % port) elif port_range == -1: raise FirewallError(INVALID_PORT, "'%s' is invalid port range" % port) elif port_range is None: raise FirewallError(INVALID_PORT, "port range '%s' is ambiguous" % port) elif len(port_range) == 2 and port_range[0] >= port_range[1]: raise FirewallError(INVALID_PORT, "'%s' is invalid port range" % port)
def check_port(self, port): range = functions.getPortRange(port) if range == -2 or range == -1 or range is None or (len(range) == 2 and range[0] >= range[1]): if range == -2: log.debug1("'%s': port > 65535" % port) elif range == -1: log.debug1("'%s': port is invalid" % port) elif range is None: log.debug1("'%s': port is ambiguous" % port) elif len(range) == 2 and range[0] >= range[1]: log.debug1("'%s': range start >= end" % port) raise FirewallError(INVALID_PORT, port)
def check_port(self, port): range = functions.getPortRange(port) if range == -2 or range == -1 or range is None or \ (len(range) == 2 and range[0] >= range[1]): if range == -2: log.debug1("'%s': port > 65535" % port) elif range == -1: log.debug1("'%s': port is invalid" % port) elif range is None: log.debug1("'%s': port is ambiguous" % port) elif len(range) == 2 and range[0] >= range[1]: log.debug1("'%s': range start >= end" % port) raise FirewallError(errors.INVALID_PORT, port)
def _check_property(self, prop, value): if prop in ["name", "type", "state", "lasterror"]: return self.check_type_string(value) elif prop in ["packages", "services", "firewall_zones"]: # "backup_paths" return self.check_type_string_list(value) elif prop in ["version"]: return self.check_type_int(value) elif prop in ["firewall"]: self.check_type_dict(value) for x in value.keys(): if x not in ["ports", "services"]: raise RolekitError(INVALID_VALUE, "wrong key '%s'" % x) self.check_type_string_list(value[x]) if "ports" in value: for x in value["ports"]: try: port, proto = x.split("/") except: raise RolekitError(INVALID_VALUE, "Port %s is invalid" % x) p_range = getPortRange(port) if p_range == -2: raise RolekitError(INVALID_VALUE, "Port '%s' is too big" % port) elif p_range == -1: raise RolekitError(INVALID_VALUE, "Port range '%s' is invalid" % port) elif p_range == None: raise RolekitError( INVALID_VALUE, "Port range '%s' is ambiguous" % port) elif len(p_range) == 2 and p_range[0] >= p_range[1]: raise RolekitError(INVALID_VALUE, "Port range '%s' is invalid" % port) if proto not in ["tcp", "udp"]: raise RolekitError( INVALID_VALUE, "Protocol '%s' not from {'tcp'|'udp'}" % proto) elif prop in ["custom_firewall"]: return self.check_type_bool(value) elif hasattr(self, "do_check_property"): if self.do_check_property(prop, value): return True raise RolekitError(MISSING_CHECK, prop)
def _check_property(self, prop, value): if prop in [ "name", "type", "state", "lasterror" ]: return self.check_type_string(value) elif prop in [ "packages", "services", "firewall_zones" ]: # "backup_paths" return self.check_type_string_list(value) elif prop in [ "version" ]: return self.check_type_int(value) elif prop in [ "firewall" ]: self.check_type_dict(value) for x in value.keys(): if x not in [ "ports", "services" ]: raise RolekitError(INVALID_VALUE, "wrong key '%s'" % x) self.check_type_string_list(value[x]) if "ports" in value: for x in value["ports"]: try: port, proto = x.split("/") except: raise RolekitError(INVALID_VALUE, "Port %s is invalid" % x) p_range = getPortRange(port) if p_range == -2: raise RolekitError(INVALID_VALUE, "Port '%s' is too big" % port) elif p_range == -1: raise RolekitError(INVALID_VALUE, "Port range '%s' is invalid" % port) elif p_range == None: raise RolekitError(INVALID_VALUE, "Port range '%s' is ambiguous" % port) elif len(p_range) == 2 and p_range[0] >= p_range[1]: raise RolekitError(INVALID_VALUE, "Port range '%s' is invalid" % port) if proto not in [ "tcp", "udp" ]: raise RolekitError(INVALID_VALUE, "Protocol '%s' not from {'tcp'|'udp'}" % proto) elif prop in [ "custom_firewall" ]: return self.check_type_bool(value) elif hasattr(self, "do_check_property"): if self.do_check_property(prop, value): return True raise RolekitError(MISSING_CHECK, prop)
def check_port(port): port_range = functions.getPortRange(port) if port_range == -2 or port_range == -1 or port_range == None or \ (len(port_range) == 2 and port_range[0] >= port_range[1]): raise FirewallError(INVALID_PORT, port)