Packages: Add libnet 1.0 and 1.1
parent
254ec00aac
commit
e139a9e47f
|
@ -0,0 +1,74 @@
|
|||
#
|
||||
# Copyright (C) 2006-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnet0
|
||||
PKG_VERSION:=1.0.2a
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE:=libnet-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.packetfactory.net/libnet/dist/deprecated/
|
||||
PKG_MD5SUM:=ddf53f0f484184390e8c2a1bd0853667
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/Libnet-$(PKG_VERSION)
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libnet0
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+libpcap
|
||||
TITLE:=Low-level packet creation library (v1.0.x)
|
||||
URL:=http://www.packetfactory.net/libnet/
|
||||
endef
|
||||
|
||||
ENDIANESS:=lil
|
||||
ifeq ($(CONFIG_BIG_ENDIAN),y)
|
||||
ENDIANESS:=big
|
||||
endif
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
--with-pf_packet=yes
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
ac_cv_libnet_endianess=$(ENDIANESS) \
|
||||
ac_libnet_have_pf_packet=yes \
|
||||
LL_INT_TYPE=sockpacket
|
||||
|
||||
define Build/Configure
|
||||
(cd $(PKG_BUILD_DIR); touch \
|
||||
configure.in \
|
||||
include.m4 \
|
||||
aclocal.m4 \
|
||||
Makefile.in \
|
||||
configure \
|
||||
);
|
||||
$(call Build/Configure/Default)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.0.x/bin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/libnet-config $(1)/usr/lib/libnet-1.0.x/bin/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.0.x/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libnet* $(1)/usr/lib/libnet-1.0.x/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.0.x/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.{a,so*} $(1)/usr/lib/libnet-1.0.x/lib/
|
||||
endef
|
||||
|
||||
define Package/libnet0/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libnet0))
|
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
diff -ur libnet.old/configure libnet.dev/configure
|
||||
--- libnet.old/configure 2007-04-01 17:36:55.000000000 +0200
|
||||
+++ libnet.dev/configure 2007-04-01 17:40:06.000000000 +0200
|
||||
@@ -8613,7 +8613,9 @@
|
||||
echo "$as_me:$LINENO: checking low-level packet interface type" >&5
|
||||
echo $ECHO_N "checking low-level packet interface type... $ECHO_C" >&6
|
||||
|
||||
-if test -r /dev/bpf0 ; then
|
||||
+if [ -n "$LL_INT_TYPE" ]; then
|
||||
+ echo "$as_me:$LINENO: result: found $LL_INT_TYPE (cached)" >&5
|
||||
+elif test -r /dev/bpf0 ; then
|
||||
LL_INT_TYPE=bpf
|
||||
echo "$as_me:$LINENO: result: found bpf" >&5
|
||||
echo "${ECHO_T}found bpf" >&6
|
||||
diff -ur libnet.old/configure.in libnet.dev/configure.in
|
||||
--- libnet.old/configure.in 2007-04-01 17:36:55.000000000 +0200
|
||||
+++ libnet.dev/configure.in 2007-04-01 17:41:08.000000000 +0200
|
||||
@@ -97,7 +97,9 @@
|
||||
dnl
|
||||
AC_MSG_CHECKING(low-level packet interface type)
|
||||
|
||||
-if test -r /dev/bpf0 ; then
|
||||
+if [ -n "$LL_INT_TYPE" ]; then
|
||||
+ AC_MSG_RESULT(found $LL_INT_TYPE (cached))
|
||||
+elif test -r /dev/bpf0 ; then
|
||||
LL_INT_TYPE=bpf
|
||||
AC_MSG_RESULT(found bpf)
|
||||
elif test -r /usr/include/net/pfilt.h ; then
|
|
@ -0,0 +1,19 @@
|
|||
--- a/configure.in 2014-03-06 14:55:36.627221831 -0800
|
||||
+++ b/configure.in 2014-03-06 14:56:48.709112089 -0800
|
||||
@@ -53,16 +53,6 @@
|
||||
|
||||
|
||||
dnl
|
||||
-dnl Use these compiler flags if we have gcc.
|
||||
-dnl
|
||||
-if test $ac_cv_prog_gcc = yes; then
|
||||
-dnl if test -z $CFLAGS; then
|
||||
- CCOPTS='-O2 -funroll-loops -fomit-frame-pointer -Wall'
|
||||
- CFLAGS="$CCOPTS"
|
||||
-dnl fi
|
||||
-fi
|
||||
-
|
||||
-dnl
|
||||
dnl Check for package inclusion/exclusion
|
||||
dnl
|
||||
AC_ARG_WITH(pf_packet, [ --with-pf_packet=[yes,no] override defaults], \
|
|
@ -0,0 +1,75 @@
|
|||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnet
|
||||
PKG_VERSION:=1.1.6
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
|
||||
PKG_MD5SUM:=be845c41170d72c7db524f3411b50256
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/libnet
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libnet1
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+libpcap
|
||||
TITLE:=Low-level packet creation library (v1.1.x)
|
||||
URL:=http://www.packetfactory.net/libnet/
|
||||
endef
|
||||
|
||||
ENDIANESS:=lil
|
||||
ifeq ($(CONFIG_BIG_ENDIAN),y)
|
||||
ENDIANESS:=big
|
||||
endif
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
--with-pf_packet=yes
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
ac_cv_libnet_endianess=$(ENDIANESS) \
|
||||
ac_libnet_have_pf_packet=yes \
|
||||
LL_INT_TYPE=libnet_link_linux
|
||||
|
||||
define Build/Configure
|
||||
(cd $(PKG_BUILD_DIR); touch \
|
||||
configure.in \
|
||||
include.m4 \
|
||||
aclocal.m4 \
|
||||
Makefile.in \
|
||||
configure \
|
||||
);
|
||||
$(call Build/Configure/Default)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.1.x/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/libnet-config $(1)/usr/lib/libnet-1.1.x/bin/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.1.x/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libnet* $(1)/usr/lib/libnet-1.1.x/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/libnet-1.1.x/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.{a,so*} $(1)/usr/lib/libnet-1.1.x/lib/
|
||||
endef
|
||||
|
||||
define Package/libnet1/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libnet1))
|
|
@ -0,0 +1,107 @@
|
|||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -21,7 +21,7 @@ dnl Check for the usual programs
|
||||
dnl
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
-AC_PROG_RANLIB
|
||||
+AC_PROG_LIBTOOL
|
||||
|
||||
AC_CHECK_HEADERS(sys/sockio.h)
|
||||
|
||||
--- a/include/libnet/libnet-functions.h
|
||||
+++ b/include/libnet/libnet-functions.h
|
||||
@@ -1429,7 +1429,7 @@ libnet_t *l, libnet_ptag_t ptag);
|
||||
* @param ptag protocol tag to modify an existing header, 0 to build a new one
|
||||
* @return protocol tag value on success, -1 on error
|
||||
*/
|
||||
-inline u_int32_t
|
||||
+u_int32_t
|
||||
libnet_getgre_length(u_int16_t fv);
|
||||
|
||||
/**
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -12,4 +12,4 @@ SUBDIRS = include src sample
|
||||
|
||||
EXTRA_DIST = Makefile.am.common
|
||||
|
||||
-bin_scripts = libnet-config
|
||||
+bin_SCRIPTS = libnet-config
|
||||
--- a/sample/Makefile.am
|
||||
+++ b/sample/Makefile.am
|
||||
@@ -60,4 +60,4 @@ ip_raw_SOURCES = ip_raw.c
|
||||
ip_link_SOURCES = ip_link.c
|
||||
sebek_SOURCES = sebek.c
|
||||
|
||||
-LDADD = $(top_srcdir)/src/libnet.a
|
||||
+LDADD = $(top_srcdir)/src/libnet.la
|
||||
--- a/src/libnet_checksum.c
|
||||
+++ b/src/libnet_checksum.c
|
||||
@@ -42,8 +42,10 @@ int
|
||||
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 @@ libnet_in_cksum(u_int16_t *addr, int len
|
||||
}
|
||||
if (len == 1)
|
||||
{
|
||||
- sum += *(u_int16_t *)addr;
|
||||
+ *(u_int8_t*)&last_byte = *(u_int8_t*)addr;
|
||||
+ sum += last_byte;
|
||||
}
|
||||
|
||||
return (sum);
|
||||
--- a/src/Makefile.am
|
||||
+++ b/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_a_SOURCES = libnet_asn1.c \
|
||||
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]]
|
|
@ -0,0 +1,14 @@
|
|||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -67,7 +67,10 @@ dnl Get link-layer interface type
|
||||
dnl
|
||||
AC_MSG_CHECKING(link-layer packet interface type)
|
||||
|
||||
-if test -r /dev/bpf0 ; then
|
||||
+if test -n "$LL_INT_TYPE"; then
|
||||
+ AC_LIBOBJ($LL_INT_TYPE)
|
||||
+ AC_MSG_RESULT(found $LL_INT_TYPE (cached))
|
||||
+elif test -r /dev/bpf0 ; then
|
||||
AC_LIBOBJ([libnet_link_bpf])
|
||||
AC_MSG_RESULT(found bpf)
|
||||
elif test -r /usr/include/net/pfilt.h ; then
|
|
@ -0,0 +1,18 @@
|
|||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -281,6 +281,7 @@ dnl
|
||||
AC_DEFUN(AC_LIBNET_ENDIAN_CHECK,
|
||||
[AC_MSG_CHECKING(machine endianess)
|
||||
|
||||
+ if \! test x${ac_cv_libnet_endianess+set} = xset ; then
|
||||
cat > conftest.c << EOF
|
||||
# include <stdio.h>
|
||||
# include <stdlib.h>
|
||||
@@ -332,6 +333,7 @@ dnl failed to compile for some reason
|
||||
fi
|
||||
fi
|
||||
rm -f conftest* core core.conftest
|
||||
+ fi
|
||||
|
||||
AC_MSG_RESULT($ac_cv_libnet_endianess)
|
||||
|
Loading…
Reference in New Issue