Date: Fri, 15 Nov 2024 07:50:35 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 282769] net/scamper: update to 20241112 Message-ID: <bug-282769-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D282769 Bug ID: 282769 Summary: net/scamper: update to 20241112 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: mjl@luckie.org.nz Created attachment 255186 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D255186&action= =3Dedit update net/scamper to 20241112 update net/scamper from 20240716 to 20241112: https://mailman.caida.org/pipermail/scamper-announce/2024-July/000043.html https://mailman.caida.org/pipermail/scamper-announce/2024-August/000044.html https://mailman.caida.org/pipermail/scamper-announce/2024-September/000045.= html https://mailman.caida.org/pipermail/scamper-announce/2024-September/000046.= html https://mailman.caida.org/pipermail/scamper-announce/2024-November/000047.h= tml scamper: * add dynamic BPF filters for linux "any" packet interface, allowing both -O dyn-filter and -O dl-any. * avoid generating debugging statements that won't be emitted, saving CPU in the usual scamper operating mode. * process dltx timestamps when -N > 1 and tx timestamp is available after the response has already arrived * don't allow TCP traceroute and -N > 1 because packet matching responses from the destination is challenging. * use scamper_seteuid_[raise|lower] in scamper when built without privsep, rather than use a repeated code pattern. * properly set icmp_id on ICMP probe signature in ping when -F 0. * reduce code duplication in scamper_fd.c by replacing fd_udp() and fd_tcp() with fd_tcpudp(). * process IPv6 TCP replies in dealias. * simplify BPF logic, support unit testing of dl_filter_compile. * with ping -F 0 and trace -s 0, choose a different TCP or UDP source port if an otherwise available source port has been used in the past 5 seconds to the same destination IP and port. * ping: add udp-sport probe method * ping: refactor udp packet matching on datalink sockets * allow -D when outputting to a file. * use SO_TIMESTAMP on linux packet sockets, rather than call an ioctl, to fix buggy linux timestamps when not using ring * rework privsep code to be signal aware, and forward signals from scamper's privileged process to scamper's unprivileged process via the socketpair between the processes. i.e., scamper -D -U /path/to/scamper-unix-socket -e /path/to/scamper.pid kill -HUP `cat /path/to/scamper.pid` now works. TERM and INT also propagate from privileged to unprivileged process. this allows the user that started scamper to send signals to the privileged process, which it then forwards to unprivileged process. the user who started scamper is otherwise not able to send the unprivileged process signals, as that process typically runs as user nobody. * host: add -O nsid to signal queried server to include nsid OPT record in response. parse any server-provided OPT records. * udpprobe: record ifname replies were received on * udpprobe: increase supported probe size from 1000 to 1400 bytes. * factor out most repeated tls code patterns into utils_tls.c * add functions to utils_tls.c to load key material from opened file descriptors, to allow key material to be reloaded in unprivileged process * reload TLS key material on HUP signal * do not negotiate use of TLS v1.1 * refactor privsep code to make it obvious which functions belong to which process, and develop an obvious pattern in the code. * make route socket interface work on NetBSD again * tracelb: fix sport validation * other minor code cleanups * add -O noring to disable use of ring buffer on Linux when scamper is configured with --enable-scamper-ring * udpprobe: add -S src parameter, update manual page with previously supported but undocumented options * check bound source address when attempting to reuse open sockets. * bind to the specified source address with for all udp6 sockets used with udp-sport ping method. * finalize task signatures for ping, trace, udpprobe, and dealias immediately before tasks begin probing to provide more ability for parallel measurements to the same destinations. libscamperfile: * fix memory leaks on malformed warts input * add scamper_*_tojson functions for dealias, host, ping, tbit, trace, tracelb, and udpprobe * move Makefile rules for libscamperfile from scamper/Makefile.am into lib/libscamperfile/Makefile.am * bump version to account for added interfaces python module: * take account of stop_hop when iterating through traceroute hops, add ScamperTrace.stop_hop attribute. * add ScamperTrace.addrs() convenience method, which returns unique addresses observed in the path * add ScamperHost.ans_ptrs() convenience method, which returns the text from PTR records in a response * raise exception if ScamperCtrl.do_*() is called on a ScamperInst that has signalled EOF. * add ScamperInst.is_eof() method. * add nsid option to ScamperCtrl.do_dns method * add ScamperUdpprobeReply.ifname attribute * add OPT glue to ScamperHost, and related features (udpsize, edns_version, edns_do attributes) * add context manager support to ScamperFile and ScamperCtrl, allowing for Python with / as syntax * add src parameter to ScamperCtrl.do_udpprobe * add to_json() to all measurement types where there's a scamper json rendering * update documentation: https://www.caida.org/catalog/software/scamper/python/ sc_analysis_dump: * drop geolocation code from utility, which was not plumbed into configure. sc_minrtt: * thread input stage, add batch import. by default, sc_minrtt will import N files per batch, where N is the number of processors online. * add -b batchc parameter that allows for batch size to be adjusted according to what is appropriate for the system * set exit status to zero when import is successful * add -v to emit version of scamper release the utility came from * refactor code in places * support batch probing with radargun primitive. sc_pinger: * support batch probing with radargun primitive. * update sc_pinger manual page with batch probing details. sc_prefixprober: * allow do-not-probe list to be embedded in the input set of prefixes to probe, update manual page. * add -v to emit version of scamper release the sc_prefixprober utility came from sc_bdrmap: * change -v vp-ases option to -V vp-ases * add -v to emit version of scamper release the utility came from sc_attach, sc_hoiho, sc_remoted: * add -v to emit version of scamper release the utility came from sc_speedtrap: * add -R /path/to/socket to enable speedtrap to use a remote scamper instance * add -v to emit version of scamper release the utility came from * update man page with documentation sc_wartsdump: * update for new udpprobe, host features. tests: * add check-ifdef.pl to check for obvious #ifdef bugs * silence benign clang static analysis warnings. * add more ping command unit tests. * add unit_dl_filter_compile to test bpf compiler. * enhance check-ifdef.pl to find #define / #ifdef ordering issues, make pass through code to adjust header ordering. * add unit_cmd_tracelb, contributed by Marcus Luckie. * add unit_ping_lib, check scamper_ping_reply_is_from_target * add unit_host_warts, check OPT record reading and writing. * expand unit_dl_parse_ip tests configure: * add --enable-scamper-ring to configure to make -O ring the default * check for tcp_timer.h in configure, use if found, to fix check for tcp_var.h. * add --disable-utils and --disable-libs options to configure, to control how much of the scamper package is actually built. * update to serial 37 of ax_python_devel.m4 and serial 8 of ax_gcc_builtin.m4 --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-282769-7788>