Import from trunk. Run-tested on 18.06.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
#
-# 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.
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+
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
--- /dev/null
+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;
+ }
--- /dev/null
+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);