[Bug 285074] net/scamper: update to 20250227
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 285074] net/scamper: update to 20250227"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 285074] net/scamper: update to 20250227"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 285074] net/scamper: update to 20250227"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 28 Feb 2025 01:46:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285074 Bug ID: 285074 Summary: net/scamper: update to 20250227 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 258051 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=258051&action=edit net/scamper: update to 20250227 update net/scamper to 20250227. This is the second release since I last updated the port (20250106 was the other) https://mailman.caida.org/pipermail/scamper-announce/2025-January/000048.html https://mailman.caida.org/pipermail/scamper-announce/2025-February/000049.html Merged ChangeLog: scamper: * handle many ports in BPF compiler better. * remove cycles, autoreload features from file input sources. * do not compile in support for select(2) by default (saving CPU and memory in the default use). * normalize kqueue(2) / epoll(2) code paths. * use IP_RECVIF on platforms (FreeBSD) that don't have IP_PKTINFO. * remove sig_tx_ip_src from task signature structure, nothing used it. * add holdtime (-H) parameter back to scamper, will controls the length of time that scamper will hold task signatures before allowing a follow up measurement to use the same signature. 5 seconds by default, disable with zero (to save memory and CPU). * fix compilation when platform has IPV6_PKTINFO but not IPV6_RECVPKTINFO setsockopt (old platforms). * replace calls to getaddrinfo AI_NUMERICHOST with calls to inet_pton (fixes complilation on old MacOS, and is probably the faster solution generally). * increase pps-max (scamper -p) to 50,000. * adjust timestamps using datalink timestamps when using trace -N <squeries>. * reduce memory use in storing traceroute state. * remove per-measurement pktbufs, to save a tiny amount of memory. * refactor BPF compiler to make it more obvious what is going on. * refactor ping task signatures to make it more obvious what is going on. * refactor scamper's timeout calculation to make it more obvious what is going on. * move output of done tasks into its own function to make it more obvious what is going on. * remove use of v?snprintf from more places to render strings faster (especially ping and trace JSON) * remove "outfile" commands from control socket * remove most "source" commands from control socket, leaving only "source list" for now. * remove scamper's -O outcopy option * add sentences documenting privilege separation to man page * http: accept valid wildcard certs * host: add edns-client-subnet and SVCB queries * trace: include monitor-name in JSON output if known * ping: separate scamper_ping_probe_t from scamper_ping_reply_t, saving memory. * ping: add stop reason and information about probes with no replies to JSON output * icmpexts: introduce a scamper_icmpexts_t structure that contains scamper_icmpext_t structures, rather than use a linked list. update trace and tracelb to use new storage form. throughout: * reduce memory use in dlist_t, splaytree_t, heap_t. * rearrange header include order in mjl_heap.c, mjl_list.c, mjl_patricia.c, mjl_prefixtree.c, mjl_splaytree.c so that asserts are not compiled in by default (saving CPU). * update string_concat code reduce use of vsnprintf, which will reduce CPU use in things like rendering json. * remove hardly-used onremove callback support from [cds]list_t, splaytree_t, heap_t, saving memory / CPU. sc_remoted: * add mux support, enabling drivers to work with multiple remote scamper instances over a single unix domain socket * add metadata support, enabling sc_remoted to supply remote scamper metadata to drivers * add ability to increase zombie timeout to 3 hours. * update man page libscamperctrl: * add support for sc_remoted mux sockets, metadata * bump library version due to API changes libscamperfile: * bump library version due to significant API changes, especially around ping and icmpext data. * methods for processing ECS, SVCB. * ping, trace, icmpexts: add functions to duplicate these structures. * http: be more permissive parsing chunked replies, and parsing headers. * fix scamper_addr_is_reserved for IPv6, reported by Ken Keys python module: * add support for sc_remoted mux * add DNS SVCB queries, ECS support * add ScamperIcmpExts container * add ScamperHttp.bufs() iterator, as well as buf() and buf_count. * add ScamperHttpBuf.type_str and .dir_str attributes signalling the type and direction of the chunk * let timeout parameter to ScamperCtrl.poll and ScamperCtrl.responses be either a number or timedelta * add setters for ScamperCtrl.param, eofcb, morecb, to enable these to be changed after a ScamperCtrl is constructed. * cythonize with 3.0.12 so that the module builds with python 3.13 * update documentation https://www.caida.org/catalog/software/scamper/python/ sc_pinger: * support selecting a VP through a sc_remoted mux socket, update man page sc_speedtrap: * support selecting a VP through a sc_remoted mux socket, update man page * do not form transitive closure among any IPs in a set where any two IPs have IP-ID values that suggest they are not aliases. patch from Ken Keys. sc_bdrmap: * fix null pointer dereference when processing traceroutes tests: * add tests to check ping and trace object duplication * add more scamper_addr_isreserved tests * add tests for parsing SVCB * add tests for parsing HTTP headers * add string_concat tests to unit_string. * add unit_splaytree, unit_heap, unit_http_warts, unit_ping_warts, unit_trace_warts, unit_udpprobe_warts tests. http, trace, and udpprobe warts unit tests were contributed by Marcus Luckie. * add fuzz_warts for fuzzing libscamperfile, contributed by Marcus Luckie. various: * add assertions to silence clang static analysis warnings -- You are receiving this mail because: You are the assignee for the bug.