@@ -121,6 +121,9 @@ class FlagError(Exception):
def __init__(self, flag):
self.flag = flag
+class IgnoreRule(Exception):
+ pass
+
@total_ordering
class Permission(object):
def __init__(self, freqband, power, flags, wmmrule):
@@ -134,6 +137,9 @@ class Permission(object):
for flag in flags:
if not flag in flag_definitions:
raise FlagError(flag)
+ # skip rule with NO-INDOOR so that kernel doesn't need special deal.
+ if flag == 'NO-INDOOR':
+ raise IgnoreRule()
self.flags |= flag_definitions[flag]
self.textflags = flags
@@ -429,6 +435,8 @@ class DBParser(object):
perm = Permission(b, p, flags, w)
except FlagError as e:
self._syntax_error("Invalid flag '%s'" % e.flag)
+ except IgnoreRule:
+ return
for cname, c in self._current_countries.items():
if perm in c:
self._warn('Rule "%s, %s" added to "%s" twice' % (