Dear Users, Using arping on a device with 8 em interfaces, I noticed the program was unable to autoselect the output interface when some interface are down.
ktrace help me track down the problem to libnet. Libnet is moving around and 1.2 rc3 is in sourceforge and code in GitHub : https://github.com/sam-github/libnet and the project is active. Nevertheless the newest version is still not using getifaddrs so I proposed a patch upstream I have created libnet-1.2 package and modified arping to use it. Note that current arping can load the new library without recompilation. So far my test are ok, but I wonder how much impact this 1.2 libnet may have on the port tree, it s not incompatible with 1.1. If you are using arping you may want to try these. And I hope the port tree can upgrade soon to the new GitHub release of libnet. ( tab less diff !! warning ) Shall wait for merge and cleaning from a better port maintainer Index: arping/Makefile =================================================================== RCS file: /cvs/ports/net/arping/Makefile,v retrieving revision 1.47 diff -u -p -r1.47 Makefile --- arping/Makefile 30 Nov 2017 14:26:14 -0000 1.47 +++ arping/Makefile 8 May 2019 20:50:43 -0000 @@ -3,7 +3,7 @@ COMMENT = ARP level ping utility DISTNAME = arping-2.19 -REVISION = 0 +REVISION = 1 CATEGORIES = net HOMEPAGE = http://www.habets.pp.se/synscan/programs.php?prog=ARPing @@ -13,17 +13,17 @@ MAINTAINER = Benoit Lecocq <benoit@openb # GPLv2 PERMIT_PACKAGE_CDROM = Yes -WANTLIB += c m pcap lib/libnet-1.1/net=11 +WANTLIB += c m pcap lib/libnet-1.2/net=12 MASTER_SITES = http://www.habets.pp.se/synscan/files/ \ http://www.arcane-labs.net/download/OpenBSD/ -LIB_DEPENDS = net/libnet/1.1 +LIB_DEPENDS = net/libnet/1.2 CONFIGURE_STYLE = gnu -CONFIGURE_ENV = CFLAGS="${CFLAGS} -I${LOCALBASE}/include/libnet-1.1 \ - `libnet-config-1.1 --defines`" \ - LIBS="-L${LOCALBASE}/lib/libnet-1.1 -lnet" +CONFIGURE_ENV = CFLAGS="${CFLAGS} -I${LOCALBASE}/include/libnet-1.2 \ + `libnet-config-1.2 --defines`" \ + LIBS="-L${LOCALBASE}/lib/libnet-1.2 -lnet" pre-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/arping ---- Index: libnet//Makefile =================================================================== RCS file: /cvs/ports/net/libnet/Makefile,v retrieving revision 1.32 diff -u -p -r1.32 Makefile --- libnet//Makefile 1 Feb 2010 17:00:13 -0000 1.32 +++ libnet//Makefile 8 May 2019 20:58:55 -0000 @@ -3,5 +3,6 @@ SUBDIR = SUBDIR += 1.0 SUBDIR += 1.1 + SUBDIR += 1.2 .include <bsd.port.subdir.mk> cvs server: Diffing libnet//1.0 cvs server: Diffing libnet//1.0/patches cvs server: Diffing libnet//1.0/pkg cvs server: Diffing libnet//1.1 cvs server: Diffing libnet//1.1/pkg cvs server: Diffing libnet//1.2 Index: libnet//1.2/Makefile =================================================================== RCS file: libnet//1.2/Makefile diff -N libnet//1.2/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libnet//1.2/Makefile 8 May 2019 20:58:55 -0000 @@ -0,0 +1,37 @@ +# $OpenBSD: Makefile,v 1.17 2017/04/19 12:29:12 jca Exp $ + +REV= 1.2 +VERSION= ${REV}.0 +SHARED_LIBS= net 12.0 +PKGSPEC= libnet->=1.2,<1.3v0 + +# waiting for merge in sam-github +# MASTER_SITES= ${MASTER_SITES_GITHUB} +# they release on sourceforge 1.2 rc3.. +GH_ACCOUNT= dohnuts +GH_PROJECT= libnet +GH_COMMIT= 416b8af51a990472795f00f5a89bc4532e303523 + +WRKSRC= ${WRKDIST}/libnet +BUILD_DEPENDS = devel/doxygen + +AUTOMAKE_VERSION=1.15 +AUTOCONF_VERSION=2.69 +AUTOCONF=autoreconf --install + +MAKE_FLAGS= LIBnet_VERSION=${LIBnet_VERSION} + +pre-install: + cd ${WRKSRC} && make -C doc doc + +post-install: + ${INSTALL_SCRIPT} ${WRKSRC}/libnet-config \ + ${PREFIX}/bin/libnet-config-1.2 + @mkdir -p ${PREFIX}/lib/libnet-1.2/ + @cp ${PREFIX}/lib/libnet.a ${PREFIX}/lib/libnet-1.2/ + @cp ${PREFIX}/lib/libnet.so.${LIBnet_VERSION} ${PREFIX}/lib/libnet-1.2/ + @mkdir -p ${PREFIX}/include/libnet-1.2/libnet + @cp ${PREFIX}/include/libnet/* ${PREFIX}/include/libnet-1.2/libnet/ + @cp ${PREFIX}/include/libnet.h ${PREFIX}/include/libnet-1.2/ + +.include <bsd.port.mk> Index: libnet//1.2/distinfo =================================================================== RCS file: libnet//1.2/distinfo diff -N libnet//1.2/distinfo --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libnet//1.2/distinfo 8 May 2019 20:58:55 -0000 @@ -0,0 +1,2 @@ +SHA256 (libnet-1.2.0-416b8af5.tar.gz) = 7CqQazUYLfv+Jru600qaLAAKmCdv9+AdeT9RRnx7+ig= +SIZE (libnet-1.2.0-416b8af5.tar.gz) = 252010 cvs server: Diffing libnet//1.2/pkg Index: libnet//1.2/pkg/DESCR =================================================================== RCS file: libnet//1.2/pkg/DESCR diff -N libnet//1.2/pkg/DESCR --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libnet//1.2/pkg/DESCR 8 May 2019 20:58:55 -0000 @@ -0,0 +1 @@ +Raw IP packet construction library. Index: libnet//1.2/pkg/PLIST =================================================================== RCS file: libnet//1.2/pkg/PLIST diff -N libnet//1.2/pkg/PLIST --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libnet//1.2/pkg/PLIST 8 May 2019 20:58:55 -0000 @@ -0,0 +1,20 @@ +@comment $OpenBSD: PLIST,v 1.5 2016/06/29 16:14:44 espie Exp $ +@option no-default-conflict +@option is-branch +@conflict libnet-1.2->=1.2 +@conflict libnet-1.2->=1.2v0 +@conflict libnet->=1.2,<1.0v0 +bin/libnet-config-1.2 +include/libnet-1.2/ +include/libnet-1.2/libnet/ +include/libnet-1.2/libnet.h +include/libnet-1.2/libnet/libnet-asn1.h +include/libnet-1.2/libnet/libnet-functions.h +include/libnet-1.2/libnet/libnet-headers.h +include/libnet-1.2/libnet/libnet-macros.h +include/libnet-1.2/libnet/libnet-structures.h +include/libnet-1.2/libnet/libnet-types.h +lib/libnet-1.2/ +lib/libnet-1.2/libnet.a +@lib lib/libnet-1.2/libnet.so.${LIBnet_VERSION} +@lib lib/libnet.so.${LIBnet_VERSION} -- -- --------------------------------------------------------------------------------------------------------------------- Knowing is not enough; we must apply. Willing is not enough; we must do
