From 7a65a910b77ad191d69881098c47f9b0c852d92e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Aug 2013 01:33:19 -0700 Subject: Tue Aug 13 01:31:08 PDT 2013 --- community/nemesis/PKGBUILD | 42 +++++++++++++++++++++++++++ community/nemesis/nemesis-proto_tcp.c.diff | 46 ++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 community/nemesis/PKGBUILD create mode 100644 community/nemesis/nemesis-proto_tcp.c.diff (limited to 'community/nemesis') diff --git a/community/nemesis/PKGBUILD b/community/nemesis/PKGBUILD new file mode 100644 index 000000000..b80d7d3fe --- /dev/null +++ b/community/nemesis/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 66248 2012-02-23 05:20:26Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: Sergej Pupykin + +pkgname=nemesis +pkgver=1.4 +pkgrel=5 +pkgdesc="command-line network packet crafting and injection utility" +arch=(i686 x86_64) +url="http://nemesis.sourceforge.net/" +license=('BSD') +depends=() +options=('!libtool') +source=(http://downloads.sourceforge.net/sourceforge/nemesis/nemesis-$pkgver.tar.gz + http://archlinux-stuff.googlecode.com/files/libnet-1.0.2a.tar.gz + nemesis-proto_tcp.c.diff) +md5sums=('acd7de57798a7f90f445f80d4d4a6e61' + 'ddf53f0f484184390e8c2a1bd0853667' + 'd802f7a12610e68124200310ad80e0ac') + +build() { + # 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/community/nemesis/nemesis-proto_tcp.c.diff b/community/nemesis/nemesis-proto_tcp.c.diff new file mode 100644 index 000000000..d5a921738 --- /dev/null +++ b/community/nemesis/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 ++ + #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); -- cgit v1.2.3-54-g00ecf