@@ -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):
@@ -135,6 +138,9 @@ class Permission(object):
if not flag in flag_definitions:
raise FlagError(flag)
self.flags |= flag_definitions[flag]
+ # ignore rule with NO-INDOOR so that kernel doesn't need special deal.
+ if 'NO-INDOOR' in flags:
+ raise IgnoreRule()
self.textflags = flags
def _as_tuple(self):
@@ -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' % (