summaryrefslogtreecommitdiffstats
path: root/extra/libnet
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-01-30 14:20:40 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-01-30 14:20:40 +0000
commitf88076368123d254e8086f1f6697f749ab290879 (patch)
tree2143bfe4d5b65a9444b791bd4e35d8908df4a797 /extra/libnet
parent677254a4e83d90613365d24f36e4e1ce43fa08e5 (diff)
downloadaports-f88076368123d254e8086f1f6697f749ab290879.tar.bz2
aports-f88076368123d254e8086f1f6697f749ab290879.tar.xz
extra/libnet: new aport
Libnet is a high-level API (toolkit) allowing the application programmer to construct and inject network packets. http://www.packetfactory.net/libnet/
Diffstat (limited to 'extra/libnet')
-rw-r--r--extra/libnet/APKBUILD36
-rw-r--r--extra/libnet/libnet-1.1.2.1-autotools.patch79
-rw-r--r--extra/libnet/libnet-1.1.2.1-fix-chksum.patch27
3 files changed, 142 insertions, 0 deletions
diff --git a/extra/libnet/APKBUILD b/extra/libnet/APKBUILD
new file mode 100644
index 000000000..e756acc0e
--- /dev/null
+++ b/extra/libnet/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer: Your Name <youremail@domain.com>
+pkgname=libnet
+pkgver=1.1.2.1
+pkgrel=0
+pkgdesc="A generic networking API that provides access to several protocols."
+url="http://www.packetfactory.net/libnet/"
+license="BSD"
+depends="uclibc"
+makedepends="autoconf automake libtool"
+subpackages="$pkgname-dev"
+source="http://www.packetfactory.net/libnet/dist/$pkgname-$pkgver.tar.gz
+ libnet-1.1.2.1-autotools.patch
+ libnet-1.1.2.1-fix-chksum.patch
+ "
+
+build() {
+ local i
+ cd "$srcdir/$pkgname"
+ for i in ../*.patch; do
+ msg "Applyting $i"
+ patch -p1 < $i || return 1
+ done
+
+ aclocal
+ libtoolize --force || return 1
+ autoconf && automake || return 1
+
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="be845c41170d72c7db524f3411b50256 libnet-1.1.2.1.tar.gz
+7e928170600bea8ed4a0d079b83c80ac libnet-1.1.2.1-autotools.patch
+668189bf87cda8daeaf250146bd88331 libnet-1.1.2.1-fix-chksum.patch"
diff --git a/extra/libnet/libnet-1.1.2.1-autotools.patch b/extra/libnet/libnet-1.1.2.1-autotools.patch
new file mode 100644
index 000000000..0f4c65094
--- /dev/null
+++ b/extra/libnet/libnet-1.1.2.1-autotools.patch
@@ -0,0 +1,79 @@
+Patch ripped from Debian. Add support for building a shared
+libnet library (for PIC loving). Also fixes typo for installing
+the libnet-config script.
+
+http://bugs.gentoo.org/show_bug.cgi?id=82926
+
+--- libnet-1.1.2.1.orig/src/Makefile.am
++++ libnet-1.1.2.1/src/Makefile.am
+@@ -8,9 +8,9 @@
+
+ include $(top_srcdir)/Makefile.am.common
+
+-lib_LIBRARIES = libnet.a
++lib_LTLIBRARIES = libnet.la
+
+-libnet_a_SOURCES = libnet_asn1.c \
++libnet_la_SOURCES = libnet_asn1.c \
+ libnet_build_802.1q.c \
+ libnet_build_802.1x.c \
+ libnet_build_802.2.c \
+@@ -57,15 +57,20 @@
+ libnet_version.c \
+ libnet_write.c
+
+-EXTRA_libnet_a_SOURCES = libnet_link_bpf.c \
+- libnet_link_dlpi.c \
+- libnet_link_linux.c \
+- libnet_link_nit.c \
+- libnet_link_none.c \
+- libnet_link_pf.c \
+- libnet_link_snit.c \
+- libnet_link_snoop.c \
+- libnet_link_win32.c
+-
+-libnet_a_LIBADD = @LIBOBJS@
++libnet_la_LIBADD = @LTLIBOBJS@
+
++# Here are a set of rules to help you update your library version
++# information:
++#
++# 1. If the library source code has changed at all since the last
++# update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
++#
++# 2. If any interfaces have been added, removed, or changed since the
++# last update, increment CURRENT, and set REVISION to 0.
++#
++# 3. If any interfaces have been added since the last public release,
++# then increment AGE.
++#
++# 4. If any interfaces have been removed since the last public release,
++# then set AGE to 0.
++libnet_la_LDFLAGS = -version-info 4:0:3 # CURRENT[:REVISION[:AGE]]
+--- libnet-1.1.2.1.orig/configure.in
++++ libnet-1.1.2.1/configure.in
+@@ -21,7 +21,7 @@
+ dnl
+ AC_PROG_CC
+ AC_PROG_INSTALL
+-AC_PROG_RANLIB
++AC_PROG_LIBTOOL
+
+ AC_CHECK_HEADERS(sys/sockio.h)
+
+--- libnet-1.1.2.1.orig/Makefile.am
++++ libnet-1.1.2.1/Makefile.am
+@@ -12,4 +12,4 @@
+
+ EXTRA_DIST = Makefile.am.common
+
+-bin_scripts = libnet-config
++bin_SCRIPTS = libnet-config
+--- libnet-1.1.2.1.orig/sample/Makefile.am
++++ libnet-1.1.2.1/sample/Makefile.am
+@@ -60,4 +60,4 @@
+ ip_link_SOURCES = ip_link.c
+ sebek_SOURCES = sebek.c
+
+-LDADD = $(top_srcdir)/src/libnet.a
++LDADD = $(top_srcdir)/src/libnet.la
diff --git a/extra/libnet/libnet-1.1.2.1-fix-chksum.patch b/extra/libnet/libnet-1.1.2.1-fix-chksum.patch
new file mode 100644
index 000000000..e6f9bbc6d
--- /dev/null
+++ b/extra/libnet/libnet-1.1.2.1-fix-chksum.patch
@@ -0,0 +1,27 @@
+Fix a bug in chksum calculation for odd sized UDP packets.
+
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=284729
+
+--- libnet-1.1.2.1/src/libnet_checksum.c
++++ libnet-1.1.2.1/src/libnet_checksum.c
+@@ -42,8 +42,10 @@
+ libnet_in_cksum(u_int16_t *addr, int len)
+ {
+ int sum;
++ u_int16_t last_byte;
+
+ sum = 0;
++ last_byte = 0;
+
+ while (len > 1)
+ {
+@@ -52,7 +54,8 @@
+ }
+ if (len == 1)
+ {
+- sum += *(u_int16_t *)addr;
++ *(u_int8_t*)&last_byte = *(u_int8_t*)addr;
++ sum += last_byte;
+ }
+
+ return (sum);