From 8e78bbb7bb70c91cb123b2ad3929130af0326c0e Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Sun, 13 Oct 2019 00:28:32 +0800 Subject: [PATCH] libpcap: update to 1.9.1 Fixed CVEs: CVE-2018-16301 CVE-2019-15161 CVE-2019-15162 CVE-2019-15163 CVE-2019-15164 CVE-2019-15165 Signed-off-by: DENG Qingfang (cherry picked from commit 44f11353de044834a442d3192b66579b99305720) --- package/libs/libpcap/Makefile | 6 ++--- .../patches/100-debian_shared_lib.patch | 18 +++++++-------- .../102-makefile_disable_manpages.patch | 7 ++++-- .../patches/201-space_optimization.patch | 2 +- .../libpcap/patches/204-usb-bus-path.patch | 2 +- ...cap-usb-linux.c-add-missing-limits.h.patch | 22 ------------------- 6 files changed, 19 insertions(+), 38 deletions(-) delete mode 100644 package/libs/libpcap/patches/205-pcap-usb-linux.c-add-missing-limits.h.patch diff --git a/package/libs/libpcap/Makefile b/package/libs/libpcap/Makefile index 0b525d0a89..fae955a54d 100644 --- a/package/libs/libpcap/Makefile +++ b/package/libs/libpcap/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libpcap -PKG_VERSION:=1.9.0 -PKG_RELEASE:=2 +PKG_VERSION:=1.9.1 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \ http://www.tcpdump.org/release/ -PKG_HASH:=2edb88808e5913fdaa8e9c1fcaf272e19b2485338742b5074b9fe44d68f37019 +PKG_HASH:=635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094 PKG_FIXUP:=patch-libtool PKG_MAINTAINER:=Felix Fietkau diff --git a/package/libs/libpcap/patches/100-debian_shared_lib.patch b/package/libs/libpcap/patches/100-debian_shared_lib.patch index 9eb38dde7e..454490fbfa 100644 --- a/package/libs/libpcap/patches/100-debian_shared_lib.patch +++ b/package/libs/libpcap/patches/100-debian_shared_lib.patch @@ -21,8 +21,8 @@ build a shared library. EXTRA_NETWORK_LIBS=@EXTRA_NETWORK_LIBS@ # Standard CFLAGS for building members of a shared library --FULL_CFLAGS = $(CCOPT) $(SHLIB_CCOPT) $(INCLS) $(DEFS) $(CFLAGS) -+FULL_CFLAGS = $(CCOPT) $(SHLIB_CCOPT) $(INCLS) $(DEFS) $(CFLAGS) $(CPPFLAGS) +-FULL_CFLAGS = $(CCOPT) @V_LIB_CCOPT_FAT@ $(SHLIB_CCOPT) $(INCLS) $(DEFS) $(CFLAGS) ++FULL_CFLAGS = $(CCOPT) @V_LIB_CCOPT_FAT@ $(SHLIB_CCOPT) $(INCLS) $(DEFS) $(CFLAGS) $(CPPFLAGS) +CFLAGS_SHARED = -shared -Wl,-soname,$(SHAREDLIB) INSTALL = @INSTALL@ @@ -48,7 +48,7 @@ build a shared library. PUBHDR = \ pcap.h \ pcap-bpf.h \ -@@ -154,7 +167,7 @@ TAGFILES = \ +@@ -155,7 +168,7 @@ TAGFILES = \ CLEANFILES = $(OBJ) libpcap.a libpcap.so.`cat $(srcdir)/VERSION` \ $(PROG)-`cat $(srcdir)/VERSION`.tar.gz $(GENSRC) $(GENHDR) \ @@ -57,7 +57,7 @@ build a shared library. MAN1 = pcap-config.1 -@@ -386,7 +399,7 @@ libpcap.a: $(OBJ) +@@ -392,7 +405,7 @@ libpcap.a: $(OBJ) $(AR) rc $@ $(OBJ) $(ADDLARCHIVEOBJS) $(RANLIB) $@ @@ -66,7 +66,7 @@ build a shared library. libpcap.so: $(OBJ) @rm -f $@ -@@ -462,6 +475,12 @@ libpcap.shareda: $(OBJ) +@@ -468,6 +481,12 @@ libpcap.shareda: $(OBJ) # libpcap.none: @@ -79,7 +79,7 @@ build a shared library. scanner.c: $(srcdir)/scanner.l $(LEX) -P pcap_ --header-file=scanner.h --nounput -o scanner.c $< scanner.h: scanner.c -@@ -474,6 +493,9 @@ scanner.h: scanner.c +@@ -480,6 +499,9 @@ scanner.h: scanner.c scanner.o: scanner.c grammar.h $(CC) $(FULL_CFLAGS) -c scanner.c @@ -89,7 +89,7 @@ build a shared library. grammar.c: $(srcdir)/grammar.y $(YACC) -p pcap_ -o grammar.c -d $< grammar.h: grammar.c -@@ -486,6 +508,9 @@ grammar.h: grammar.c +@@ -492,6 +514,9 @@ grammar.h: grammar.c grammar.o: grammar.c scanner.h $(CC) $(FULL_CFLAGS) -c grammar.c @@ -99,7 +99,7 @@ build a shared library. gencode.o: $(srcdir)/gencode.c grammar.h scanner.h $(CC) $(FULL_CFLAGS) -c $(srcdir)/gencode.c -@@ -524,6 +549,9 @@ pcap-config: $(srcdir)/pcap-config.in ./ +@@ -539,6 +564,9 @@ pcap-config: $(srcdir)/pcap-config.in ./ mv $@.tmp $@ chmod a+x $@ @@ -109,7 +109,7 @@ build a shared library. # # Remote pcap daemon. # -@@ -614,14 +642,11 @@ install: install-shared install-archive +@@ -632,14 +660,11 @@ install: install-shared install-archive $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done install-shared: install-shared-$(DYEXT) diff --git a/package/libs/libpcap/patches/102-makefile_disable_manpages.patch b/package/libs/libpcap/patches/102-makefile_disable_manpages.patch index 60850df801..bd1702be0f 100644 --- a/package/libs/libpcap/patches/102-makefile_disable_manpages.patch +++ b/package/libs/libpcap/patches/102-makefile_disable_manpages.patch @@ -1,6 +1,6 @@ --- a/Makefile.in +++ b/Makefile.in -@@ -573,14 +573,6 @@ install: install-shared install-archive +@@ -588,14 +588,6 @@ install: install-shared install-archive (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) [ -d $(DESTDIR)$(includedir)/pcap ] || \ (mkdir -p $(DESTDIR)$(includedir)/pcap; chmod 755 $(DESTDIR)$(includedir)/pcap) @@ -15,7 +15,7 @@ for i in $(PUBHDR); do \ $(INSTALL_DATA) $(srcdir)/$$i \ $(DESTDIR)$(includedir)/$$i; done -@@ -590,56 +582,6 @@ install: install-shared install-archive +@@ -605,59 +597,6 @@ install: install-shared install-archive [ -d $(DESTDIR)$(libdir)/pkgconfig ] || \ (mkdir -p $(DESTDIR)$(libdir)/pkgconfig; chmod 755 $(DESTDIR)$(libdir)/pkgconfig) $(INSTALL_DATA) libpcap.pc $(DESTDIR)$(libdir)/pkgconfig/libpcap.pc @@ -32,6 +32,9 @@ - rm -f pcap_datalink_val_to_description.3pcap && \ - $(LN_S) pcap_datalink_val_to_name.3pcap \ - pcap_datalink_val_to_description.3pcap && \ +- rm -f pcap_datalink_val_to_description_or_dlt.3pcap && \ +- $(LN_S) pcap_datalink_val_to_name.3pcap \ +- pcap_datalink_val_to_description_or_dlt.3pcap && \ - rm -f pcap_dump_fopen.3pcap && \ - $(LN_S) pcap_dump_open.3pcap pcap_dump_fopen.3pcap && \ - rm -f pcap_freealldevs.3pcap && \ diff --git a/package/libs/libpcap/patches/201-space_optimization.patch b/package/libs/libpcap/patches/201-space_optimization.patch index 4bec6148f6..80e3824d82 100644 --- a/package/libs/libpcap/patches/201-space_optimization.patch +++ b/package/libs/libpcap/patches/201-space_optimization.patch @@ -1,6 +1,6 @@ --- a/pcap-common.c +++ b/pcap-common.c -@@ -1524,14 +1524,23 @@ swap_pseudo_headers(int linktype, struct +@@ -1570,14 +1570,23 @@ swap_pseudo_headers(int linktype, struct break; case DLT_USB_LINUX: diff --git a/package/libs/libpcap/patches/204-usb-bus-path.patch b/package/libs/libpcap/patches/204-usb-bus-path.patch index 48a807e1fd..0c967a00ba 100644 --- a/package/libs/libpcap/patches/204-usb-bus-path.patch +++ b/package/libs/libpcap/patches/204-usb-bus-path.patch @@ -2,7 +2,7 @@ Fix USB bus path; /proc/bus/usb is deprecated. --- a/pcap-usb-linux.c +++ b/pcap-usb-linux.c -@@ -72,7 +72,7 @@ +@@ -73,7 +73,7 @@ #define USB_TEXT_DIR_OLD "/sys/kernel/debug/usbmon" #define USB_TEXT_DIR "/sys/kernel/debug/usb/usbmon" #define SYS_USB_BUS_DIR "/sys/bus/usb/devices" diff --git a/package/libs/libpcap/patches/205-pcap-usb-linux.c-add-missing-limits.h.patch b/package/libs/libpcap/patches/205-pcap-usb-linux.c-add-missing-limits.h.patch deleted file mode 100644 index cae8012ede..0000000000 --- a/package/libs/libpcap/patches/205-pcap-usb-linux.c-add-missing-limits.h.patch +++ /dev/null @@ -1,22 +0,0 @@ -From aafa3512b7b742f5e66a5543e41974cc5e7eebfa Mon Sep 17 00:00:00 2001 -From: maxice8 -Date: Sun, 22 Jul 2018 18:54:17 -0300 -Subject: [PATCH] pcap-usb-linux.c: add missing limits.h for musl systems. - -fix compilation on musl libc systems like Void Linux and Alpine. ---- - pcap-usb-linux.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pcap-usb-linux.c b/pcap-usb-linux.c -index 6f8adf65e..b92c05ea1 100644 ---- a/pcap-usb-linux.c -+++ b/pcap-usb-linux.c -@@ -50,6 +50,7 @@ - #include - #include - #include -+#include - #include - #include - #include