Hello, I uploaded the following NMU in deferred/5
G.
diff -Nru ndpi-2.6/debian/changelog ndpi-2.6/debian/changelog --- ndpi-2.6/debian/changelog 2019-01-16 10:48:34.000000000 +0100 +++ ndpi-2.6/debian/changelog 2019-09-11 18:37:11.000000000 +0200 @@ -1,3 +1,16 @@ +ndpi (2.6-3.1) unstable; urgency=medium + + * Non-maintainer upload + * debian/patches/662.patch: + - make the build reproducible (Closes: #929609) + * debian/patches/aea91781aa476589361e16ece6aa6c10102e0f33.patch: + - fix armhf failure with upstream patch (Closes: #917238) + * debian/patches/cross.patch: + - Patch from Helmut Grohne <hel...@subdivi.de> to fix FTCBFS on + cross-builds (Closes: #939286) + + -- Gianfranco Costamagna <locutusofb...@debian.org> Wed, 11 Sep 2019 18:37:11 +0200 + ndpi (2.6-3) unstable; urgency=medium * Add packet-direction.patch and quic.patch to fix big-endian-related bugs. diff -Nru ndpi-2.6/debian/patches/662.patch ndpi-2.6/debian/patches/662.patch --- ndpi-2.6/debian/patches/662.patch 1970-01-01 01:00:00.000000000 +0100 +++ ndpi-2.6/debian/patches/662.patch 2019-09-11 18:37:11.000000000 +0200 @@ -0,0 +1,27 @@ +From e91123e17a6ebe2cb1f718aa3e44edb10b707779 Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" <bwiedem...@suse.de> +Date: Thu, 24 Jan 2019 14:21:06 +0100 +Subject: [PATCH] Use ChangeLog date instead of build date + +in order to make builds reproducible. +See https://reproducible-builds.org/ for why this is good. + +This date call works with GNU date and BSD date. +Also use UTC/gmtime to be independent of timezone. +--- + configure.seed | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.seed b/configure.seed +index 1aa68f17..006e6d97 100644 +--- a/configure.seed ++++ b/configure.seed +@@ -30,7 +30,7 @@ if test -d ".git"; then : + GIT_RELEASE="${PACKAGE_VERSION}-${GIT_NUM}-${GIT_TAG}" + else + GIT_RELEASE="${PACKAGE_VERSION}" +- GIT_DATE=`date` ++ GIT_DATE=`date -u -r CHANGELOG.md` + fi + + AC_DEFINE_UNQUOTED(NDPI_GIT_RELEASE, "${GIT_RELEASE}", [GIT Release]) diff -Nru ndpi-2.6/debian/patches/aea91781aa476589361e16ece6aa6c10102e0f33.patch ndpi-2.6/debian/patches/aea91781aa476589361e16ece6aa6c10102e0f33.patch --- ndpi-2.6/debian/patches/aea91781aa476589361e16ece6aa6c10102e0f33.patch 1970-01-01 01:00:00.000000000 +0100 +++ ndpi-2.6/debian/patches/aea91781aa476589361e16ece6aa6c10102e0f33.patch 2019-09-11 18:37:11.000000000 +0200 @@ -0,0 +1,79 @@ +From aea91781aa476589361e16ece6aa6c10102e0f33 Mon Sep 17 00:00:00 2001 +From: emanuele-f <black.sil...@hotmail.it> +Date: Thu, 29 Aug 2019 14:50:17 +0200 +Subject: [PATCH] Fix alignment issue on IPv6 structs + +--- + src/include/ndpi_define.h.in | 2 +- + src/include/ndpi_typedefs.h | 11 +++++++---- + src/lib/protocols/mdns_proto.c | 5 +++-- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/src/include/ndpi_define.h.in b/src/include/ndpi_define.h.in +index 4d269607..ce4c4cc6 100644 +--- a/src/include/ndpi_define.h.in ++++ b/src/include/ndpi_define.h.in +@@ -250,7 +250,7 @@ + + /** macro to compare 2 IPv6 addresses with each other to identify the "smaller" IPv6 address */ + #define NDPI_COMPARE_IPV6_ADDRESS_STRUCTS(x,y) \ +- ((((u_int64_t *)(x))[0]) < (((u_int64_t *)(y))[0]) || ( (((u_int64_t *)(x))[0]) == (((u_int64_t *)(y))[0]) && (((u_int64_t *)(x))[1]) < (((u_int64_t *)(y))[1])) ) ++ ((x.u6_addr.u6_addr64[0] < y.u6_addr.u6_addr64[0]) || ((x.u6_addr.u6_addr64[0] == y.u6_addr.u6_addr64[0]) && (x.u6_addr.u6_addr64[1] < y.u6_addr.u6_addr64[1]))) + + #define NDPI_NUM_BITS 512 + +diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h +index 0db1ccf9..4e231434 100644 +--- a/src/include/ndpi_typedefs.h ++++ b/src/include/ndpi_typedefs.h +@@ -250,27 +250,30 @@ struct ndpi_iphdr { + /* +++++++++++++++++++++++ IPv6 header +++++++++++++++++++++++ */ + /* rfc3542 */ + ++PACK_ON + struct ndpi_in6_addr { + union { + u_int8_t u6_addr8[16]; + u_int16_t u6_addr16[8]; + u_int32_t u6_addr32[4]; ++ u_int64_t u6_addr64[2]; + } u6_addr; /* 128-bit IP6 address */ +-}; ++} PACK_OFF; + ++PACK_ON + struct ndpi_ip6_hdrctl { + u_int32_t ip6_un1_flow; + u_int16_t ip6_un1_plen; + u_int8_t ip6_un1_nxt; + u_int8_t ip6_un1_hlim; +-}; ++} PACK_OFF; + +-/* PACK_ON */ ++PACK_ON + struct ndpi_ipv6hdr { + struct ndpi_ip6_hdrctl ip6_hdr; + struct ndpi_in6_addr ip6_src; + struct ndpi_in6_addr ip6_dst; +-} /* PACK_OFF */; ++} PACK_OFF; + + /* +++++++++++++++++++++++ TCP header +++++++++++++++++++++++ */ + +diff --git a/src/lib/protocols/mdns_proto.c b/src/lib/protocols/mdns_proto.c +index 75eab720..388376e1 100644 +--- a/src/lib/protocols/mdns_proto.c ++++ b/src/lib/protocols/mdns_proto.c +@@ -121,8 +121,9 @@ void ndpi_search_mdns(struct ndpi_detection_module_struct *ndpi_struct, struct n + } + #ifdef NDPI_DETECTION_SUPPORT_IPV6 + if(packet->iphv6 != NULL) { +- const u_int32_t *daddr = packet->iphv6->ip6_dst.u6_addr.u6_addr32; +- if(daddr[0] == htonl(0xff020000) /* && daddr[1] == 0 && daddr[2] == 0 && daddr[3] == htonl(0xfb) */) { ++ u_int32_t daddr_0 = packet->iphv6->ip6_dst.u6_addr.u6_addr32[0]; ++ ++ if(daddr_0 == htonl(0xff020000) /* && daddr[1] == 0 && daddr[2] == 0 && daddr[3] == htonl(0xfb) */) { + + NDPI_LOG_INFO(ndpi_struct, "found MDNS with destination address ff02::fb\n"); + diff -Nru ndpi-2.6/debian/patches/cross.patch ndpi-2.6/debian/patches/cross.patch --- ndpi-2.6/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100 +++ ndpi-2.6/debian/patches/cross.patch 2019-09-11 18:37:11.000000000 +0200 @@ -0,0 +1,67 @@ +## Description: add some description +## Origin/Author: add some origin or author +## Bug: bug URL +--- ndpi-2.6.orig/configure.seed ++++ ndpi-2.6/configure.seed +@@ -70,29 +70,25 @@ + CC=clang + fi + +-HS_LIB= +-HS_INC= +- + AC_ARG_WITH(hyperscan, [ --with-hyperscan Enable nDPI build with Intel Hyperscan]) + +-if test "${with_hyperscan+set}" = set; then ++AS_IF([test "${with_hyperscan+set}" = set],[ + BKP=$LIBS + LIBS="$LIBS -lstdc++ -lm" + AC_CHECK_LIB([hs], [hs_compile_multi], AC_DEFINE_UNQUOTED(HAVE_HYPERSCAN, 1, [Intel Hyperscan is present])) + LIBS=$BKP + +- if test "x$ac_cv_lib_hs_hs_compile_multi" = xyes; then : ++ AS_IF([test "x$ac_cv_lib_hs_hs_compile_multi" = xyes],[ + AC_CHECK_LIB([m], [pow]) + AC_CHECK_LIB([stdc++], [main]) +- HS_INC=`pkg-config --cflags libhs` +- HS_LIB=`pkg-config --libs libhs` +- LDFLAGS="$LDFLAGS $HS_LIB" ++ PKG_CHECK_MODULES([HS],[libhs]) ++ LDFLAGS="$LDFLAGS $HS_LIBS" + AC_MSG_RESULT([compiling with Intel Hyperscan]) +- else ++ ],[ + AC_MSG_RESULT([Intel Hyperscan not found, exiting. See https://github.com/intel/hyperscan/blob/master/doc/dev-reference/getting_started.rst for install/build instructions]) + exit 1 +- fi +-fi ++ ]) ++]) + + if test -f $PCAP_HOME/libpcap/libpcap.a; then : + echo "Using libpcap from $PCAP_HOME" +@@ -122,12 +118,10 @@ + AS_HELP_STRING([--disable-json-c], [Disable json-c support])) + + AS_IF([test "x$enable_json_c" != "xno"], [ +- PKG_CONFIG_PATH=/usr/local/share/pkgconfig:$PKG_CONFIG_PATH +- pkg-config --exists json-c +- AS_IF([test "$?" == "0"], ++ PKG_CHECK_MODULES([JSONC],[json-c], + [ +- CFLAGS="$CFLAGS $(pkg-config --cflags json-c)" +- LDFLAGS="$LDFLAGS $(pkg-config --libs json-c)" ++ CFLAGS="$CFLAGS $JSONC_CFLAGS" ++ LDFLAGS="$LDFLAGS $JSONC_LIBS" + AC_CHECK_LIB(json-c, json_object_new_object, AC_DEFINE_UNQUOTED(HAVE_JSON_C, 1, [The JSON-C library is present])) + ], + [ +@@ -159,8 +153,6 @@ + AC_SUBST(PCAP_INC) + AC_SUBST(PCAP_LIB) + AC_SUBST(DL_LIB) +-AC_SUBST(HS_LIB) +-AC_SUBST(HS_INC) + AC_SUBST(DPDK_TARGET) + AC_SUBST(HAVE_PTHREAD_SETAFFINITY_NP) + diff -Nru ndpi-2.6/debian/patches/series ndpi-2.6/debian/patches/series --- ndpi-2.6/debian/patches/series 2019-01-16 10:26:21.000000000 +0100 +++ ndpi-2.6/debian/patches/series 2019-09-11 18:37:11.000000000 +0200 @@ -5,3 +5,6 @@ ndpireader-no-free.patch quic.patch packet-direction.patch +662.patch +aea91781aa476589361e16ece6aa6c10102e0f33.patch +cross.patch