On Thu Nov 16, 2023 at 08:57:21PM -0500, Thomas Frohwein wrote: > On Fri, Nov 17, 2023 at 01:35:11AM +0000, Klemens Nanni wrote: > > On Thu, Nov 16, 2023 at 11:55:41PM +0000, Klemens Nanni wrote: > > > On Fri, Nov 17, 2023 at 12:26:08AM +0100, Christian Weisgerber wrote: > > > > net/xprobe C++ std::random_shuffle > > > > > > https://en.cppreference.com/w/cpp/algorithm/random_shuffle > > > (deprecated in C++14) > > > (removed in C++17) > > > > > > 'grep -r random_shuffle /usr/local/include/' suggests that boost may > > > provide a fallback, but I'm inclined to delete this dead port instead. > > > > > > No update since 2005, last SourceForge activity in 2013, unmaintained, > > > HOMEPAGE redirects, link on SourceForge is NXDOMAIN... > > > > > > OK to remove? > > > > Alternative is to patch std::random_shuffle usage, then you get > > - OpenBSD/-current detected as multiple releases betweeen 2.5 and 3.9 > > each with 100% probability > > - Linux 6.x detected as multiple Linux 2.4.x each with 100% probability > > - segfaults on IPv6 addresses in general > > - crashes on some IP/interface configs, but not all: > > # xprobe2 100.64.73.1 > > ... > > No interface leading to 100.64.73.1 was found > > Segmentation fault (core dumped) > > # ifconfig vport | grep 100.64 > > inet 100.64.73.1 netmask 0xffffff00 broadcast 100.64.73.255 > > That doesn't sound worth keeping to me. ok with me to remove...
+1 OK to remove > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/net/xprobe/Makefile,v > > diff -u -p -r1.29 Makefile > > --- Makefile 7 Nov 2023 14:19:42 -0000 1.29 > > +++ Makefile 17 Nov 2023 01:16:47 -0000 > > @@ -1,7 +1,7 @@ > > COMMENT= ICMP active OS fingerprint scanner > > > > DISTNAME= xprobe2-0.3 > > -REVISION = 6 > > +REVISION = 7 > > CATEGORIES= net security > > > > HOMEPAGE= https://xprobe.sourceforge.net/ > > Index: patches/patch-src_target_cc > > =================================================================== > > RCS file: patches/patch-src_target_cc > > diff -N patches/patch-src_target_cc > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ patches/patch-src_target_cc 17 Nov 2023 01:16:44 -0000 > > @@ -0,0 +1,30 @@ > > +Replace std::random_shuffle (removed in C++14) with std::shuffle > > + > > +Index: src/target.cc > > +--- src/target.cc.orig > > ++++ src/target.cc > > +@@ -20,6 +20,7 @@ > > + */ > > + > > + > > ++#include <random> > > + #include "xprobe.h" > > + #include "target.h" > > + #include "interface.h" > > +@@ -363,6 +364,7 @@ void Port_Range::set_range(u_short a, u_short b) { > > + > > + int Port_Range::get_next(u_short *port) { > > + int k, sz=size(); > > ++ random_device rd; > > + > > + if (curr+low > high) > > + return 1; > > +@@ -370,7 +372,7 @@ int Port_Range::get_next(u_short *port) { > > + // initialize > > + for (k=0; k < sz; k++) > > + ports.push_back(low + k); > > +- random_shuffle(ports.begin(), ports.end()); > > ++ shuffle(ports.begin(), ports.end(), rd); > > + *port = ports[curr++]; > > + } else > > + *port = ports[curr++]; > > >