Index: head/net/netselect/Makefile =================================================================== --- head/net/netselect/Makefile (revision 508311) +++ head/net/netselect/Makefile (revision 508312) @@ -1,33 +1,35 @@ # Created by: Timothy Redaelli # $FreeBSD$ PORTNAME= netselect -PORTVERSION= 0.3 +PORTVERSION= 0.4 +DISTVERSIONPREFIX=${PORTNAME}- CATEGORIES= net -MASTER_SITES= http://apenwarr.ca/netselect/ \ - GENTOO -MAINTAINER= ports@FreeBSD.org +MAINTAINER= bofh@FreeBSD.org COMMENT= Ultrafast implementation of ping LICENSE= BSD3CLAUSE +USES= gmake +USE_GITHUB= yes + +GH_ACCOUNT= apenwarr + OPTIONS_DEFINE= SUID DOCS OPTIONS_SUB= yes SUID_DESC= Install with the setuid bit to allow use by non-root users -EXTRACT_AFTER_ARGS=netselect/netselect.c netselect/README -WRKSRC= ${WRKDIR}/${PORTNAME} - do-build: ${CC} ${CFLAGS} -o ${WRKSRC}/${PORTNAME} ${WRKSRC}/${PORTNAME}.c ${REINPLACE_CMD} -E -i "" -e 's|[[:blank:]]+$$||' ${WRKSRC}/README do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/man/man1/${PORTNAME}.1 do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} .include Index: head/net/netselect/distinfo =================================================================== --- head/net/netselect/distinfo (revision 508311) +++ head/net/netselect/distinfo (revision 508312) @@ -1,2 +1,3 @@ -SHA256 (netselect-0.3.tar.gz) = fe81942589d5219d030e5cecfb12787fb6d3613416cb326dea4952bf53f9c978 -SIZE (netselect-0.3.tar.gz) = 22047 +TIMESTAMP = 1565127643 +SHA256 (apenwarr-netselect-netselect-0.4_GH0.tar.gz) = ae343991c94b1fdeb5e7896bb11d357c1dd9297f5d842c507953f57935e15e19 +SIZE (apenwarr-netselect-netselect-0.4_GH0.tar.gz) = 22095 Index: head/net/netselect/files/patch-netselect.c =================================================================== --- head/net/netselect/files/patch-netselect.c (revision 508311) +++ head/net/netselect/files/patch-netselect.c (revision 508312) @@ -1,70 +1,68 @@ ---- netselect.c 2001-08-29 05:18:57.000000000 -0400 -+++ netselect.c 2015-03-09 02:31:02.000000000 -0400 -@@ -39,14 +39,13 @@ +--- netselect.c.orig 2010-10-26 23:08:55 UTC ++++ netselect.c +@@ -39,15 +39,14 @@ * hey, great! Let me know. -- apenwarr */ -#ifdef __EMX__ -# include -# include -# include -# include -# include -#else -# include +#ifdef __linux__ +#include +#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) +#if defined(__OpenBSD__) +#include -+#endif -+#include #endif ++#include ++#endif #include -@@ -152,6 +151,7 @@ + #include +@@ -167,6 +166,7 @@ int main(int argc, char **argv) extern int optind; int hostcount, startcount, endcount = 0, sent_one, lag, min_lag = 100; - int ch, seq, ttl, max_ttl = 30, min_tries = 10, num_score = 1; + int ch, seq, ttl, max_ttl = 30, num_score = 1; + int on = 1; + int use_icmp = 0; + unsigned int min_tries = 10; struct timeval now; - struct timezone tz; - OPacket outpacket; /* last output (udp) packet */ -@@ -234,7 +234,12 @@ +@@ -280,7 +280,12 @@ int main(int argc, char **argv) if (verbose >= 1) fprintf(stderr, "Running netselect to choose %d out of %d address%s.\n", num_score, numhosts, numhosts==1 ? "" : "es"); - + + if (setsockopt(sndsock, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)) < 0) { + perror("IP_HDRINCL"); + _exit(EXIT_FAILURE); + } + /* keep going until most of the hosts have been finished */ must_continue = numhosts; while (must_continue && must_continue >= numhosts/2) -@@ -712,7 +717,7 @@ +@@ -774,7 +779,7 @@ static void send_probe(int seq, int ttl, OPacket *op, ip->ip_off = 0; ip->ip_hl = sizeof(*ip) >> 2; ip->ip_p = IPPROTO_UDP; - ip->ip_len = 0; /* kernel fills this in */ + ip->ip_len = sizeof(OPacket); ip->ip_ttl = ttl; ip->ip_v = IPVERSION; ip->ip_id = htons(ident + seq); -@@ -771,12 +776,8 @@ - int cc = 0; +@@ -905,11 +910,7 @@ static HostData *wait_for_reply(HostData *hosts, int n time_t msec_used; HostData *host; -- + -#if !defined(__GLIBC__) - int fromlen = sizeof(from); -#else /* __GLIBC__ */ -- size_t fromlen = sizeof(from); + socklen_t fromlen = sizeof(from); -#endif /* __GLIBC__ */ -+ -+ socklen_t fromlen = sizeof(from); FD_ZERO(&fds); FD_SET(sock, &fds); Index: head/net/netselect/pkg-plist =================================================================== --- head/net/netselect/pkg-plist (revision 508311) +++ head/net/netselect/pkg-plist (revision 508312) @@ -1,3 +1,4 @@ %%SUID%%@(root,wheel,4110) bin/netselect %%NO_SUID%%@(root,wheel,100) bin/netselect %%PORTDOCS%%%%DOCSDIR%%/README +man/man1/netselect.1.gz