summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/libnids/PKGBUILD11
-rw-r--r--community/libnids/libnids-1.24-inline.patch46
2 files changed, 57 insertions, 0 deletions
diff --git a/community/libnids/PKGBUILD b/community/libnids/PKGBUILD
new file mode 100644
index 00000000..7be0ea3e
--- /dev/null
+++ b/community/libnids/PKGBUILD
@@ -0,0 +1,11 @@
+# libndis defines some functions inline, so they are not in the shared library,
+# needed for instance for dsniff
+# see https://src.fedoraproject.org/cgit/rpms/libnids.git/commit/?id=ecafb692f20e0acad555f66c3cc1646997a82dae
+
+source+=('libnids-1.24-inline.patch')
+sha256sums+=('0c2b0426a6bab56641f3579dca266ea8d38e1834230154a1be9bbe2f66e2df5e')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i "$srcdir/libnids-1.24-inline.patch"
+}
diff --git a/community/libnids/libnids-1.24-inline.patch b/community/libnids/libnids-1.24-inline.patch
new file mode 100644
index 00000000..000c69bc
--- /dev/null
+++ b/community/libnids/libnids-1.24-inline.patch
@@ -0,0 +1,46 @@
+diff --git a/libnids-1.24-inline.patch b/libnids-1.24-inline.patch
+new file mode 100644
+index 0000000..e3a6cce
+--- /dev/null
++++ b/libnids-1.24-inline.patch
+@@ -0,0 +1,40 @@
++Patch by Robert Scheck <robert@fedoraproject.org> for libnids <= 1.24 which
++avoids making the functions ip_fast_csum, ip_compute_csum, my_tcp_check and
++my_udp_check inline, see https://github.com/aol/moloch/issues/440 as well.
++
++--- libnids-1.24/src/checksum.c 2010-02-26 11:58:41.000000000 +0100
+++++ libnids-1.24/src/checksum.c.inline 2016-02-09 14:08:38.000000000 +0100
++@@ -120,7 +120,7 @@
++ By Jorge Cwik <jorge@laser.satlink.net>, adapted for linux by Arnt
++ Gulbrandsen.
++ */
++-inline u_short ip_fast_csum(u_char * iph, u_int ihl)
+++u_short ip_fast_csum(u_char * iph, u_int ihl)
++ {
++ u_int sum;
++ if (dontchksum(((struct ip*)iph)->ip_src.s_addr))
++@@ -191,13 +191,13 @@
++ this routine is used for miscellaneous IP-like checksums, mainly in
++ icmp.c
++ */
++-inline u_short
+++u_short
++ ip_compute_csum(u_char * buff, int len)
++ {
++ return (csum_fold(csum_partial(buff, len, 0)));
++ }
++
++-inline u_short
+++u_short
++ my_tcp_check(struct tcphdr *th, int len, u_int saddr, u_int daddr)
++ {
++ if (dontchksum(saddr))
++@@ -205,7 +205,7 @@
++ return csum_tcpudp_magic(saddr, daddr, len, IPPROTO_TCP,
++ csum_partial((u_char *)th, len, 0));
++ }
++-inline u_short
+++u_short
++ my_udp_check(void *u, int len, u_int saddr, u_int daddr)
++ {
++ if (dontchksum(saddr))