summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartłomiej Piotrowski2018-01-06 22:02:55 +0100
committerBartłomiej Piotrowski2018-01-06 22:02:55 +0100
commit71d2e5d5d5f3d4b44c411ed71adee26d52ef2d2c (patch)
treeb6a2d6ff40f255c69949a12b459d02cfc320b07f
downloadaur-71d2e5d5d5f3d4b44c411ed71adee26d52ef2d2c.tar.gz
Import from official repositories
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD43
-rw-r--r--nemesis-proto_tcp.c.diff46
3 files changed, 108 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4bb76d06fcb4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = nemesis
+ pkgdesc = command-line network packet crafting and injection utility
+ pkgver = 1.4
+ pkgrel = 6
+ url = http://nemesis.sourceforge.net/
+ arch = x86_64
+ license = BSD
+ source = https://downloads.sourceforge.net/sourceforge/nemesis/nemesis-1.4.tar.gz
+ source = https://downloads.sourceforge.net/sourceforge/nemesis/nemesis-1.4.tar.gz.asc
+ source = https://arch.p5n.pp.ru/~sergej/dl/2016/libnet-1.0.2a.tar.gz
+ source = nemesis-proto_tcp.c.diff
+ validpgpkeys = 3CA3CBFF30506B07F036E57712AAFCF86923D3FD
+ sha256sums = 803f5cf5c7c4af15128b8cd7f7610730cbed1427f062a31c2f5255790fb1bab4
+ sha256sums = SKIP
+ sha256sums = 7c7f2e8ccb47bb47072c5cd583fea5e90ab892c75889b625346b60d10464459a
+ sha256sums = 47adbf39b5a5e351bc6b0eebaf89d98bb7ad3ab359c04391b782998053ae067d
+
+pkgname = nemesis
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..741bff0e9653
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=nemesis
+pkgver=1.4
+pkgrel=6
+pkgdesc="command-line network packet crafting and injection utility"
+arch=(x86_64)
+url="http://nemesis.sourceforge.net/"
+license=('BSD')
+depends=()
+validpgpkeys=('3CA3CBFF30506B07F036E57712AAFCF86923D3FD')
+source=(https://downloads.sourceforge.net/sourceforge/nemesis/nemesis-$pkgver.tar.gz{,.asc}
+ https://arch.p5n.pp.ru/~sergej/dl/2016/libnet-1.0.2a.tar.gz
+ nemesis-proto_tcp.c.diff)
+sha256sums=('803f5cf5c7c4af15128b8cd7f7610730cbed1427f062a31c2f5255790fb1bab4'
+ 'SKIP'
+ '7c7f2e8ccb47bb47072c5cd583fea5e90ab892c75889b625346b60d10464459a'
+ '47adbf39b5a5e351bc6b0eebaf89d98bb7ad3ab359c04391b782998053ae067d')
+
+package() {
+ # build libnet
+ cd "$srcdir"/Libnet-1.0.2a
+ # very dirty hack
+ sed -i 's#malloc(p_size)#malloc(p_size*2)#' src/libnet_packet_mem.c
+ [ -f Makefile ] || ./configure --prefix="$srcdir"/libnet
+ make
+ make MAN_PREFIX="$srcdir"/libnet/usr/man/man3 install
+
+ # build nemesis
+ cd "$srcdir"/nemesis-$pkgver
+ export PATH="$srcdir/libnet/bin:$PATH"
+ export CFLAGS="-D__GLIBC__=0 -I"$srcdir"/libnet/include -DLIBNET_LIL_ENDIAN"
+ export LDFLAGS="-L"$srcdir"/libnet/lib"
+ patch -Np1 <"$srcdir"/nemesis-proto_tcp.c.diff
+ [ -f Makefile ] || ./configure --prefix=/usr --mandir=/usr/share/man \
+ --with-libnet-includes="$srcdir"/libnet/include \
+ --with-libnet-libraries="$srcdir"/libnet/lib
+ make
+ make DESTDIR="$pkgdir" install
+ install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/nemesis/LICENSE
+}
diff --git a/nemesis-proto_tcp.c.diff b/nemesis-proto_tcp.c.diff
new file mode 100644
index 000000000000..d5a921738b87
--- /dev/null
+++ b/nemesis-proto_tcp.c.diff
@@ -0,0 +1,46 @@
+diff -wbBur nemesis-1.4/src/nemesis-functions.c nemesis-1.4.my/src/nemesis-functions.c
+--- nemesis-1.4/src/nemesis-functions.c 2004-10-07 02:16:50.000000000 +0000
++++ nemesis-1.4.my/src/nemesis-functions.c 2009-06-19 13:51:30.000000000 +0000
+@@ -8,6 +8,8 @@
+ *
+ */
+
++#include <net/ethernet.h>
++
+ #if defined(HAVE_CONFIG_H)
+ #include "config.h"
+ #endif
+diff -wbBur nemesis-1.4/src/nemesis-proto_tcp.c nemesis-1.4.my/src/nemesis-proto_tcp.c
+--- nemesis-1.4/src/nemesis-proto_tcp.c 2003-10-31 21:29:37.000000000 +0000
++++ nemesis-1.4.my/src/nemesis-proto_tcp.c 2009-06-19 13:51:15.000000000 +0000
+@@ -16,7 +16,7 @@
+ FileData *ipod, FileData *tcpod, char *device)
+ {
+ int n;
+- u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0;
++ u_int32_t tcp_packetlen = 0, tcp_meta_packetlen = 0, tcp_headerlen = 0, ip_headerlen = 0;
+ static u_int8_t *pkt;
+ static int sockfd = -1;
+ struct libnet_link_int *l2 = NULL;
+@@ -58,13 +58,20 @@
+ #endif
+ }
+
++ ip_headerlen = LIBNET_IP_H + ipod->file_s;
++ tcp_headerlen = LIBNET_TCP_H + tcpod->file_s;
++
+ tcp_packetlen = link_offset + LIBNET_IP_H + LIBNET_TCP_H + pd->file_s +
+ ipod->file_s + tcpod->file_s;
+
+- tcp_meta_packetlen = tcp_packetlen - (link_offset + LIBNET_IP_H);
++ tcp_meta_packetlen = LIBNET_TCP_H + pd->file_s;
+
+ #ifdef DEBUG
++ printf("DEBUG: link offsetlength %u.\n", link_offset);
++ printf("DEBUG: IP header length %u.\n", ip_headerlen);
++ printf("DEBUG: TCP header length %u.\n", tcp_headerlen);
+ printf("DEBUG: TCP packet length %u.\n", tcp_packetlen);
++ printf("DEBUG: TCP meta length %u.\n", tcp_meta_packetlen);
+ printf("DEBUG: IP options size %u.\n", ipod->file_s);
+ printf("DEBUG: TCP options size %u.\n", tcpod->file_s);
+ printf("DEBUG: TCP payload size %u.\n", pd->file_s);