[PATCH] wireless-regdb: Support db.txt files with DFS CAC times

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Seth,

>From my testing the syntax accepted by reglib.c needs a comma after the CAC,
so you should skip that comma. Below is your patch with two lines added.

De?: wireless-regdb [mailto:wireless-regdb-bounces at lists.infradead.org] De
la part de Seth Forshee
Envoy??: mercredi 8 avril 2015 15:18
??: wireless-regdb at lists.infradead.org
Cc?: Jean-Pierre TOSONI
Objet?: [wireless-regdb] [PATCH] wireless-regdb: Support db.txt files with
DFS CAC times

CRDA now supports db.txt files with DFS CAC times in country rules, but
dbparse.py chokes on such files. We can't do anything useful with CAC times
right now since the CRDA binary format doesn't support them, so add code to
parse CAC times and emit a warning that they are being ignored.

Signed-off-by: Seth Forshee <seth.forshee at canonical.com>
---

I'm throwing this out there in case anyone wants to build regulatory.bin
files from their own db.txt files which contain CAC times. If so, let me
know and I can apply this.

--- dbparse.py	2015-03-13 18:17:34.000000000 +0100
+++ dbparsejp.py	2015-04-13 10:22:52.000000000 +0200
@@ -273,23 +273,44 @@ class DBParser(object):
 
         if line[0] == '(':
             items = line.split('),', 1)
+            pname = items[0]
             if len(items) == 1:
-                pname = items[0]
                 line = ''
                 if not pname[-1] == ')':
                     self._syntax_error("Badly parenthesised power
definition")
                 pname = pname[:-1]
-                flags = []
             else:
-                pname = items[0]
-                flags = items[1].split(',')
+                line = items[1]
             power = pname[1:]
             pname = 'UNNAMED %d' % self._lineno
             self._parse_power_def(pname, power, dupwarn=False)
         else:
-            line = line.split(',')
-            pname = line[0]
-            flags = line[1:]
+            items = line.split(',', 1)
+            pname = items[0]
+            if len(items) == 1:
+                line = ''
+            else:
+                line = items[1]
+
+        if len(line) != 0 and line[0] == '(':
+            self._warn("Ignoring DFS CAC time definition")
+            items = line.split(')', 1)
+            cactime = items[0]
+            if len(items) == 1:
+                line = ''
+                if not cactime[-1] == ')':
+                    self._syntax_error("Badly parenthesised CAC time")
+                cactime = cactime[:-1]
+            else:
+                line = items[1]
+            cactime = cactime[1:]
+
+        if len(line) == 0:
+            flags = []
+        else:
+	    if line[0] == ',':
+	        line = line[1:]
+            flags = line.split(',')
 
         if not bname in self._bands:
             self._syntax_error("band does not exist")
--





[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux