From 1d11664d119a514a0b9dd33418122ea8c6dc7fe9 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Sun, 6 Jan 2019 21:23:19 +0100 Subject: [PATCH] sngrep: bump to 1.4.6 Import from trunk. Run-tested on 18.06. Signed-off-by: Sebastian Kemper --- net/sngrep/Makefile | 7 ++-- ...010-capture_-fix-typo-in-FILE-object.patch | 35 +++++++++++++++++++ ...-Do-not-crash-on-invalid-CSeq-values.patch | 24 +++++++++++++ 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 net/sngrep/patches/010-capture_-fix-typo-in-FILE-object.patch create mode 100644 net/sngrep/patches/020-sip_-Do-not-crash-on-invalid-CSeq-values.patch diff --git a/net/sngrep/Makefile b/net/sngrep/Makefile index dfcb647..f579900 100644 --- a/net/sngrep/Makefile +++ b/net/sngrep/Makefile @@ -1,6 +1,5 @@ # -# Copyright (C) 2016 - 2018 Daniel Engberg -# Copyright (C) 2018 OpenWrt.org +# Copyright (C) 2016 Daniel Engberg # # 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 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 index 0000000..d51dc14 --- /dev/null +++ b/net/sngrep/patches/010-capture_-fix-typo-in-FILE-object.patch @@ -0,0 +1,35 @@ +commit 604f6d0ce2ec42ac494d76c95e68850ea6e7da8f +Author: Sebastian Kemper +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 + +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 index 0000000..d539c2f --- /dev/null +++ b/net/sngrep/patches/020-sip_-Do-not-crash-on-invalid-CSeq-values.patch @@ -0,0 +1,24 @@ +commit c474a2dd04df56ae8a28e3bf22a12c9b57155ce4 +Author: Liviu Chircu +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); -- 2.30.2