Hi, Update to 1.09 which integrates all our patches. I've send update with older version to kevlo@ but got bounce email. I'm cc'ing him again. If email still bounces and I will not get any reply from him via the list, I'm willing to take maintainership. While at it, I thought Makefile is simple enough to add whitespace changes.
Upstream ChangeLog at: http://cpansearch.perl.org/src/LDS/IO-Interface-1.09/Changes Regress test pass for me in i386 and my test scripts work as expected. Index: Makefile =================================================================== RCS file: /cvs/ports/net/p5-IO-Interface/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- Makefile 14 Jun 2014 23:25:42 -0000 1.19 +++ Makefile 12 Dec 2014 23:04:29 -0000 @@ -1,19 +1,22 @@ # $OpenBSD: Makefile,v 1.19 2014/06/14 23:25:42 sthen Exp $ -SHARED_ONLY= Yes +SHARED_ONLY = Yes -COMMENT= module for access to network card configuration information +COMMENT = module for access to network card configuration information -MODULES= cpan -DISTNAME= IO-Interface-1.06 -REVISION= 1 -CATEGORIES= net +MODULES = cpan +DISTNAME = IO-Interface-1.09 +CATEGORIES = net -MAINTAINER= Kevin Lo <ke...@openbsd.org> +HOMEPAGE = https://github.com/lstein/LibIO-Interface-Perl + +MAINTAINER = Mikolaj Kucharski <miko...@kucharski.name> # Artistic/GPL -PERMIT_PACKAGE_CDROM= Yes +PERMIT_PACKAGE_CDROM = Yes WANTLIB += c + +CONFIGURE_STYLE = modbuild .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/net/p5-IO-Interface/distinfo,v retrieving revision 1.7 diff -u -r1.7 distinfo --- distinfo 25 Jul 2011 14:22:42 -0000 1.7 +++ distinfo 12 Dec 2014 23:04:29 -0000 @@ -1,5 +1,2 @@ -MD5 (IO-Interface-1.06.tar.gz) = fXfQ8j7n9XcQn8Xw5n4KSw== -RMD160 (IO-Interface-1.06.tar.gz) = 8Go0QDlu7qfLCZJ3eFcb2TzxA0Q= -SHA1 (IO-Interface-1.06.tar.gz) = 13XoQDSHyjrYavnbOYStGbDAyZc= -SHA256 (IO-Interface-1.06.tar.gz) = bAe8nOvOwuxYpuaWmhTI1PSVmGkzLVPqs7ZQeVQc33c= -SIZE (IO-Interface-1.06.tar.gz) = 10339 +SHA256 (IO-Interface-1.09.tar.gz) = 5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo= +SIZE (IO-Interface-1.09.tar.gz) = 16414 Index: patches/patch-Interface_xs =================================================================== RCS file: patches/patch-Interface_xs diff -N patches/patch-Interface_xs --- patches/patch-Interface_xs 30 Aug 2010 03:48:17 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,75 +0,0 @@ - -NetBSD and OpenBSD don't set the address family on the "netmask" address. -Work around that by just setting the address family field after ioctl() and -before checking it. - -if_hwaddr() was broken, code looping all interfaces was causing segmentation -fault on freeifaddrs() - -$OpenBSD: patch-Interface_xs,v 1.2 2010/08/30 03:48:17 kevlo Exp $ ---- Interface.xs.orig Fri Jun 6 16:51:42 2008 -+++ Interface.xs Sun Aug 29 01:53:48 2010 -@@ -2,6 +2,9 @@ - #include "perl.h" - #include "XSUB.h" - -+#include <stdio.h> -+#include <string.h> -+ - /* socket definitions */ - #include <sys/types.h> - #include <sys/socket.h> -@@ -511,6 +514,9 @@ if_netmask(sock, name, ...) - operation = SIOCGIFNETMASK; - } - if (!Ioctl(sock,operation,&ifr)) XSRETURN_UNDEF; -+#if defined(__NetBSD__) || defined(__OpenBSD__) -+ ifr.ifr_addr.sa_family = AF_INET; -+#endif - if (ifr.ifr_addr.sa_family != AF_INET) croak ("Address is not in the AF_INET family.\n"); - RETVAL = inet_ntoa(((struct sockaddr_in*) &ifr.ifr_addr)->sin_addr); - #endif -@@ -566,7 +572,7 @@ if_hwaddr(sock, name, ...) - IOCTL_CMD_T operation; - struct ifreq ifr; - #if (defined(USE_GETIFADDRS) && defined(HAVE_SOCKADDR_DL_STRUCT)) -- struct ifaddrs* ifap = NULL; -+ struct ifaddrs *ifap, *ifa; - struct sockaddr_dl* sdl; - sa_family_t family; - char *sdlname, *haddr, *s; -@@ -582,20 +588,17 @@ if_hwaddr(sock, name, ...) - #if (defined(USE_GETIFADDRS) && defined(HAVE_SOCKADDR_DL_STRUCT)) - getifaddrs(&ifap); - -- while(1) { -- if (ifap == NULL) break; -- if (strncmp(name, ifap -> ifa_name, IFNAMSIZ) == 0) { -- family = ifap -> ifa_addr -> sa_family; -+ for (ifa = ifap; ifa; ifa = ifa->ifa_next) { -+ if (strncmp(name, ifa->ifa_name, IFNAMSIZ) == 0) { -+ family = ifa->ifa_addr->sa_family; - if (family == AF_LINK) { -- sdl = (struct sockaddr_dl *) ifap->ifa_addr; -+ sdl = (struct sockaddr_dl *) ifa->ifa_addr; - haddr = sdl->sdl_data + sdl->sdl_nlen; - hlen = sdl->sdl_alen; - break; - } - } -- ifap = ifap -> ifa_next; - } -- freeifaddrs(ifap); - - s = hwaddr; - s[0] = '\0'; -@@ -608,6 +611,9 @@ if_hwaddr(sock, name, ...) - s += len; - } - } -+ -+ freeifaddrs(ifap); -+ - RETVAL = hwaddr; - #elif (defined(HAS_IOCTL) && defined(SIOCGIFHWADDR)) - bzero((void*)&ifr,sizeof(struct ifreq)); Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/p5-IO-Interface/pkg/PLIST,v retrieving revision 1.5 diff -u -r1.5 PLIST --- pkg/PLIST 14 Jun 2014 23:25:42 -0000 1.5 +++ pkg/PLIST 12 Dec 2014 23:04:29 -0000 @@ -9,6 +9,5 @@ ${P5ARCH}/auto/IO/Interface/ @comment ${P5ARCH}/auto/IO/Interface/Interface.bs ${P5ARCH}/auto/IO/Interface/Interface.so -${P5ARCH}/auto/IO/Interface/autosplit.ix @man man/man3p/IO::Interface.3p @man man/man3p/IO::Interface::Simple.3p -- best regards q#