sngrep: bump to 1.4.6 406/head
authorSebastian Kemper <sebastian_ml@gmx.net>
Sun, 6 Jan 2019 20:23:19 +0000 (21:23 +0100)
committerSebastian Kemper <sebastian_ml@gmx.net>
Sun, 6 Jan 2019 20:23:29 +0000 (21:23 +0100)
Import from trunk. Run-tested on 18.06.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
net/sngrep/Makefile
net/sngrep/patches/010-capture_-fix-typo-in-FILE-object.patch [new file with mode: 0644]
net/sngrep/patches/020-sip_-Do-not-crash-on-invalid-CSeq-values.patch [new file with mode: 0644]

index dfcb647f1c68e5e8d4e4698b8d3e94dea309f744..f579900452351b2b2d7235047389bad8fad8262a 100644 (file)
@@ -1,6 +1,5 @@
 #
-# Copyright (C) 2016 - 2018 Daniel Engberg <daniel.engberg.lists@pyret.net>
-# Copyright (C) 2018 OpenWrt.org
+# Copyright (C) 2016 Daniel Engberg <daniel.engberg.lists@pyret.net>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sngrep
-PKG_VERSION=1.4.5
+PKG_VERSION=1.4.6
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
 PKG_LICENSE:=GPL-3.0+
@@ -17,7 +16,7 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/irontec/$(PKG_NAME)/releases/download/v$(PKG_VERSION)
-PKG_HASH:=16f1566f4507ba560c7461cc7ff1c1653beb14b8baf7846269bbb4880564e57f
+PKG_HASH:=638d6557dc68db401b07d73b2e7f8276800281f021fe0c942992566d6b59a48a
 
 PKG_FIXUP:=autoreconf
 
diff --git a/net/sngrep/patches/010-capture_-fix-typo-in-FILE-object.patch b/net/sngrep/patches/010-capture_-fix-typo-in-FILE-object.patch
new file mode 100644 (file)
index 0000000..d51dc14
--- /dev/null
@@ -0,0 +1,35 @@
+commit 604f6d0ce2ec42ac494d76c95e68850ea6e7da8f
+Author: Sebastian Kemper <sebastian_ml@gmx.net>
+Date:   Sun Nov 4 16:58:00 2018 +0100
+
+    capture: fix typo in FILE object
+    
+    FILE *fstdin is defined, but when calling freopen() stdin is used instead
+    of fstdin.
+    
+    This causes the compile to fail:
+    
+      CC       sngrep-capture.o
+    capture.c: In function 'capture_offline':
+    capture.c:194:21: error: assignment of read-only variable 'stdin'
+             if (!(stdin = freopen("/dev/tty", "r", stdin))) {
+                         ^
+    make[5]: *** [Makefile:519: sngrep-capture.o] Error 1
+    
+    This commit fixes the typo.
+    
+    Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
+
+diff --git a/src/capture.c b/src/capture.c
+index 911c35f..a799413 100644
+--- a/src/capture.c
++++ b/src/capture.c
+@@ -191,7 +191,7 @@ capture_offline(const char *infile, const char *outfile)
+     // Reopen tty for ncurses after pcap have used stdin
+     if (!strncmp(infile, "/dev/stdin", 10)) {
+-        if (!(stdin = freopen("/dev/tty", "r", stdin))) {
++        if (!(fstdin = freopen("/dev/tty", "r", stdin))) {
+             fprintf(stderr, "Failed to reopen tty while using stdin for capture.");
+             return 1;
+         }
diff --git a/net/sngrep/patches/020-sip_-Do-not-crash-on-invalid-CSeq-values.patch b/net/sngrep/patches/020-sip_-Do-not-crash-on-invalid-CSeq-values.patch
new file mode 100644 (file)
index 0000000..d539c2f
--- /dev/null
@@ -0,0 +1,24 @@
+commit c474a2dd04df56ae8a28e3bf22a12c9b57155ce4
+Author: Liviu Chircu <liviu@opensips.org>
+Date:   Sat Dec 8 20:00:36 2018 +0200
+
+    sip: Do not crash on invalid CSeq values
+    
+    Bad CSeq headers such as:
+        CSeq: 115211521152 INVITE\r\n
+    
+    ... would immediately cause a crash.
+
+diff --git a/src/sip.c b/src/sip.c
+index a916558..1a7f1b9 100644
+--- a/src/sip.c
++++ b/src/sip.c
+@@ -192,7 +192,7 @@ sip_init(int limit, int only_calls, int no_incomplete)
+             "^(X-Call-ID|X-CID):[ ]*([^ ]+)[ ]*\r$", match_flags);
+     }
+     regcomp(&calls.reg_response, "^SIP/2.0[ ]*(([0-9]{3}) [^\r]*)[ ]*\r", match_flags & ~REG_NEWLINE);
+-    regcomp(&calls.reg_cseq, "^CSeq:[ ]*([0-9]+) .+\r$", match_flags);
++    regcomp(&calls.reg_cseq, "^CSeq:[ ]*([0-9]{1,10}) .+\r$", match_flags);
+     regcomp(&calls.reg_from, "^(From|f):[ ]*[^:]*:(([^@>]+)@?[^\r>;]+)", match_flags);
+     regcomp(&calls.reg_to, "^(To|t):[ ]*[^:]*:(([^@>]+)@?[^\r>;]+)", match_flags);
+     regcomp(&calls.reg_valid, "^([A-Z]+ [a-zA-Z]+:|SIP/2.0 [0-9]{3})", match_flags & ~REG_NEWLINE);