[Bug 290374] net/scamper: update to 20251020

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 20 Oct 2025 06:37:47 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290374

            Bug ID: 290374
           Summary: net/scamper: update to 20251020
           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 264736
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=264736&action=edit
[patch] net/scamper: update to 20251020

update net/scamper to 20251020

https://mailman.caida.org/pipermail/scamper-announce/2025-August/000055.html
https://mailman.caida.org/pipermail/scamper-announce/2025-October/000056.html
https://mailman.caida.org/pipermail/scamper-announce/2025-October/000057.html

Merged ChangeLog:

scamper:
* fix regression from 20250106 where scamper might not write the final
  measurement result and hang indefinitely, if you are unlucky.
* add do-not-probe file support, with -O dnp=file option, documented
  in man page.  do-not-probe file support can be disabled with
  --disable-scamper-dnp configure option.
* let traceroute with PMTUD use ICMP-echo probes, document in man page.
* document existence of ping -O mss=val option in man page.
* add tls_errstr, use it in printerror_ssl.
* minify ping and trace json output by removing spaces in output.
* host: if qname contains a trailing dot, remove the trailing dot, so that
  example.com. and example.com are equivalent.
* host: if do-not-probe file contains a prefix covering a nameserver
  in /etc/resolv.conf, still allow the host command to use it.
* rework most internal use of printerror/scamper_debug, tagging
  measurement results with errmsg strings if an error occurs affecting
  a measurement.
* emit errmsg strings in json and warts output.  errmsg strings will
  also be emitted to debugfile / stderr as before.  these strings
  are not emitted in text output of measurements.
* add error result code (stop reason) to dealias measurements.
* silently ignore unlikely PTR lookup error conditions for trace and
  tracelb -- PTR lookups are not essential components of these
  measurements.
* fix memory leaks when encountering unlikely error conditions in
  sting, tbit, tracelb, udpprobe.

libscamperfile:
* provide API access to udpprobe stop_reason and its string rendering.
* add scamper_dealias_reply_is_icmp_echo_reply().
* silence spurious uninitialized use warning in scamper_http_lib.c.
* add scamper_tbit_totext().
* fix regression from 20241112 when reading tbit warts, which rejected
  valid tbit measurements.
* add scamper_*_errmsg_get functions.
* let neighbourdisc src_mac and dst_ip be null when reading warts
  files, rather than reject the object.
* bump version.

libscamperctrl:
* add iata attribute to scamper_vp_t.
* bump version.

throughout:
* remove string_concaf from more places.

Python module:
* in python interface file (scamper.pyi), fix types of
  ScamperDealiasMidardiscRound.start and ScamperCtrl.do_midarest(addrs),
  and make ScamperCtrl generic in parameter type to help with static
  type checking.
* use #defines from scamper C header files in more places.
* support pickling of ScamperAddr.
* add .iata attribute to ScamperVP, ScamperInst.
* add .stop_reason and .stop_reason_str attributes to ScamperHost,
  ScamperHttp, ScamperPing and ScamperUdpprobe.
* add ScamperDealias.is_icmp_echo_reply().
* add to_text() method to ScamperDealias, ScamperPing, ScamperTbit,
  ScamperTrace, ScamperTracelb.
* release GIL when waiting for measurement results so that module is
  asyncio friendly.
* add errmsg attribute to measurement objects, interface file, and
  document.
* update pyi to match API changes, fix enums with latest mypy.

sc_remoted:
* catch TERM signal (in addition to INT and HUP)
* write pidfile after becoming daemon, when -D is used
* add iata to list of supported metadata items per VP, document in
  man page.

sc_minrtt:
* add -a anycast-file option, to specify a file containing apparent
  anycast prefixes.  sc_minrtt will not consider samples for a covered
  IP address if any of the samples collected by sc_pinger for the
  address imply the address could not be in a single location.
  document in man page.

sc_wartsdump:
* print error code for udpprobe.
* use scamper_*_[stop|result]_tostr functions rather than duplicate code.
* emit errmsg.

tests:
* add more qname tests in unit_cmd_host.c.
* check that errmsg is read-from and written-to warts files correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.