diff -Naur Libnet-latest/acinclude.m4 Libnet-latest.oden/acinclude.m4 --- Libnet-latest/acinclude.m4 2002-08-06 00:26:03.000000000 +0200 +++ Libnet-latest.oden/acinclude.m4 2006-03-16 22:44:30.000000000 +0100 @@ -1,11 +1,31 @@ -dnl $Id: acinclude.m4,v 1.1.1.1 2002/08/05 22:26:03 route Exp $ +dnl $Id: acinclude.m4,v 1.3 2004/01/15 23:53:06 mike Exp $ dnl dnl Libnet specific autoconf macros -dnl Copyright (c) 1998 - 2002 Mike D. Schiffman <mike@infonexus.com> +dnl Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com> dnl All rights reserved. dnl dnl +dnl Check for the Linux /proc filesystem +dnl +dnl usage: AC_LIBNET_LINUX_PROCFS +dnl results: HAVE_LINUX_PROCFS +dnl +AC_DEFUN(AC_LIBNET_LINUX_PROCFS, + [AC_MSG_CHECKING(for Linux proc filesystem) + AC_CACHE_VAL(ac_cv_libnet_linux_procfs, + if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" ; then + ac_cv_libnet_linux_procfs=yes + else + ac_cv_libnet_linux_procfs=no + fi) + AC_MSG_RESULT($ac_cv_libnet_linux_procfs) + if test $ac_cv_libnet_linux_procfs = yes ; then + AC_DEFINE(HAVE_LINUX_PROCFS, 1, + [Define if you have the Linux /proc filesystem.]) + fi]) + +dnl dnl Checks to see if this linux kernel has a working PF_PACKET dnl dnl usage: @@ -19,7 +39,7 @@ AC_DEFUN(AC_LIBNET_CHECK_PF_PACKET, [ - AC_MSG_CHECKING(for packet socet (PF_SOCKET)) + AC_MSG_CHECKING(for packet socket (PF_SOCKET)) AC_CACHE_VAL(ac_libnet_have_packet_socket, [case "$target_os" in @@ -82,10 +102,8 @@ AC_MSG_RESULT(test program compile choked... assuming no) elif test $ac_libnet_have_packet_socket = yes; then AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_PACKET_SOCKET) elif test $ac_libnet_have_packet_socket = probably; then AC_MSG_RESULT(test program got EPERM... assuming yes) - AC_DEFINE(HAVE_PACKET_SOCKET) elif test $ac_libnet_have_packet_socket = no; then AC_MSG_RESULT(no) fi @@ -93,6 +111,10 @@ rm -f pf_packet-test* core core.pf_packet-test ;; esac]) + + if test $ac_libnet_have_packet_socket = yes -o $ac_libnet_have_packet_socket = probably; then + AC_DEFINE(HAVE_PACKET_SOCKET) + fi ]) dnl diff -Naur Libnet-latest/configure.in Libnet-latest.oden/configure.in --- Libnet-latest/configure.in 2002-08-06 00:26:03.000000000 +0200 +++ Libnet-latest.oden/configure.in 2006-03-16 22:43:05.000000000 +0100 @@ -14,13 +14,14 @@ AM_INIT_AUTOMAKE(libnet, $LIBNET_VERSION) AM_CONFIG_HEADER(include/config.h) +AM_MAINTAINER_MODE dnl 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) @@ -34,7 +35,6 @@ AC_SUBST(ENDIANESS) AC_SUBST(LIBNET_VERSION) -AC_SUBST(LIBOBJS) AC_SUBST(HAVE_PACKET_SOCKET) AC_SUBST(ADDITIONAL_LIBS) AC_SUBST(LIBNET_CONFIG_DEFINES) @@ -68,39 +68,40 @@ AC_MSG_CHECKING(link-layer packet interface type) if test -r /dev/bpf0 ; then - LIBOBJS="$LIBOBJS libnet_link_bpf.o" + AC_LIBOBJ([libnet_link_bpf]) AC_MSG_RESULT(found bpf) elif test -r /usr/include/net/pfilt.h ; then - LIBOBJS="$LIBOBJS libnet_link_pf.o" + AC_LIBOBJ([libnet_link_pf]) AC_MSG_RESULT(found pf) elif test -r /dev/nit ; then - LIBOBJS="$LIBOBJS libnet_link_snit.o" + AC_LIBOBJ([libnet_link_snit]) AC_MSG_RESULT(found snit) elif test -r /usr/include/sys/net/nit.h ; then - LIBOBJS="$LIBOBJS libnet_link_nit.o" + AC_LIBOBJ([libnet_link_nit]) AC_MSG_RESULT(found nit) elif test -r /usr/include/net/raw.h ; then - LIBOBJS="$LIBOBJS libnet_link_snoop.o" + AC_LIBOBJ([libnet_link_snoop]) AC_MSG_RESULT(found snoop) elif test -r /usr/include/sys/dlpi.h ; then - LIBOBJS="$LIBOBJS libnet_link_dlpi.o" + AC_LIBOBJ([libnet_link_dlpi]) AC_MSG_RESULT(found dlpi) AC_DEFINE(HAVE_DLPI) elif test -r /usr/include/linux/socket.h ; then - LIBOBJS="$LIBOBJS libnet_link_linux.o" + AC_LIBOBJ([libnet_link_linux]) AC_MSG_RESULT(found linux primitives) AC_LIBNET_CHECK_PF_PACKET + AC_LIBNET_LINUX_PROCFS elif test -c /dev/bpf0 ; then # check again in case not readable - LIBOBJS="$LIBOBJS libnet_link_bpf.o" + AC_LIBOBJ([libnet_link_bpf]) AC_MSG_RESULT(found bpf) elif test -c /dev/nit ; then # check again in case not readable - LIBOBJS="$LIBOBJS libnet_link_snit.o" + AC_LIBOBJ([libnet_link_snit]) AC_MSG_RESULT(found snit) elif test "$target_os" = "cygwin" ; then - LIBOBJS="$LIBOBJS libnet_link_win32.o" + AC_LIBOBJ([libnet_link_win32]) AC_MSG_RESULT(found win32 wpcap) else - LIBOBJS="$LIBOBJS libnet_link_none.o" + AC_LIBOBJ([libnet_link_none]) AC_MSG_WARN(could not find a link-layer packet interface) AC_MSG_WARN(link-layer packet injection will not be available) fi @@ -134,8 +135,6 @@ AC_DEFINE(LIBNET_BSD_BYTE_SWAP) AC_DEFINE(HAVE_SOCKADDR_SA_LEN) LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -DHAVE_SOCKADDR_SA_LEN" - AC_MSG_RESULT(Note: support/bpf-lkm/etherspoof contains the lkm source required to spoof ethernet frames) - ln -sf FreeBSD support/bpf-lkm/etherspoof ;; *netbsd*) @@ -148,7 +147,6 @@ AC_DEFINE(LIBNET_BSDISH_OS) AC_DEFINE(HAVE_SOCKADDR_SA_LEN) LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS" - AC_MSG_RESULT(Note: support/bpf-lkm/OpenBSD contains the lkm required to spoof ethernet frames) ;; *bsdi*) @@ -157,6 +155,11 @@ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP" ;; +*darwin*) + AC_DEFINE(HAVE_SOCKADDR_SA_LEN) + LIBNET_CONFIG_DEFINES="-DHAVE_SOCKADDR_SA_LEN" + ;; + *solaris*) AC_DEFINE(HAVE_SOLARIS) AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h) @@ -188,6 +191,14 @@ 5.5*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) ;; + 5.8) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(HAVE_SOLARIS_IPV6) + ;; + 5.9) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(HAVE_SOLARIS_IPV6) + ;; esac @@ -218,11 +229,7 @@ esac -AC_OUTPUT(Makefile man/Makefile src/Makefile include/Makefile \ +AC_OUTPUT(Makefile src/Makefile include/Makefile \ include/libnet/Makefile sample/Makefile version.h include/libnet.h \ libnet-config, chmod +x libnet-config) - -AC_MSG_RESULT(Please note this is libnet 1.1.x. Any code written for 1.0.x\ - will NOT work without porting. Read the MIGRATION document for more info.) - dnl EOF diff -Naur Libnet-latest/Makefile.am Libnet-latest.oden/Makefile.am --- Libnet-latest/Makefile.am 2002-08-06 00:26:03.000000000 +0200 +++ Libnet-latest.oden/Makefile.am 2006-03-16 22:43:37.000000000 +0100 @@ -8,6 +8,8 @@ include $(top_srcdir)/Makefile.am.common -SUBDIRS = include src man sample +SUBDIRS = include src sample EXTRA_DIST = Makefile.am.common + +bin_scripts = libnet-config diff -Naur Libnet-latest/sample/Makefile.am Libnet-latest.oden/sample/Makefile.am --- Libnet-latest/sample/Makefile.am 2002-08-06 00:26:04.000000000 +0200 +++ Libnet-latest.oden/sample/Makefile.am 2006-03-16 22:43:05.000000000 +0100 @@ -33,4 +33,4 @@ icmp6_echoreq_SOURCES = icmp6_echoreq.c synflood6_SOURCES = synflood6.c -LDADD = $(top_srcdir)/src/libnet.a +LDADD = $(top_srcdir)/src/libnet.la diff -Naur Libnet-latest/src/Makefile.am Libnet-latest.oden/src/Makefile.am --- Libnet-latest/src/Makefile.am 2002-08-06 00:26:03.000000000 +0200 +++ Libnet-latest.oden/src/Makefile.am 2006-03-16 22:43:05.000000000 +0100 @@ -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.2.c \ libnet_build_802.3.c \ @@ -48,4 +48,5 @@ libnet_version.c \ libnet_write.c -libnet_a_LIBADD = @LIBOBJS@ +libnet_la_LIBADD = @LIBOBJS@ +libnet_la_LDFLAGS = -version-info 2:0:1