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

Reply via email to