luci-base: sys.uc: fix parsing conntrack list
authorJo-Philipp Wich <jo@mein.io>
Mon, 26 Sep 2022 09:15:55 +0000 (11:15 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 24 Oct 2022 23:03:37 +0000 (01:03 +0200)
Ensure that the extracted tuple string starts with a space to fully match
all contained key-value pairs.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/ucode/sys.uc

index 5bbaa8b19dca0f6ed34dd41554a2ed0a0052e3c0..33a7ac7d76b42e8ffc7bd27ab8fc5846f394e9bc 100644 (file)
@@ -49,7 +49,7 @@ export function conntrack_list(callback) {
 
        if (nfct) {
                for (let line = nfct.read('line'); length(line); line = nfct.read('line')) {
-                       let m = match(line, /^(ipv[46]) +([0-9]+) +\S+ +([0-9]+) +(.+)\n$/);
+                       let m = match(line, /^(ipv[46]) +([0-9]+) +\S+ +([0-9]+)( +.+)\n$/);
 
                        if (!m)
                                continue;
@@ -60,7 +60,7 @@ export function conntrack_list(callback) {
                        let tuples = m[4];
                        let timeout = null;
 
-                       m = match(tuples, /^([0-9]+) (.+)$/);
+                       m = match(tuples, /^ +([0-9]+)( .+)$/);
 
                        if (m) {
                                timeout = m[1];