pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/net/scamper



Module Name:    pkgsrc
Committed By:   bsiegert
Date:           Mon Oct 20 18:37:13 UTC 2025

Modified Files:
        pkgsrc/net/scamper: Makefile distinfo

Log Message:
scamper: update to 20251020

>From mjl in PR pkg/59717.

scamper:
* support tx/rx on ARPHRD_NONE linux packet sockets
* make route socket code work on solaris
* disable epoll on solaris, which doesn't seem to work
* let host -s take an IPv6 address
* add sniff.enable and neighbourdisc.enable config options
* add neighbourdisc json output
* abandon a remote source and its current tasks when sc_remoted sends
  an application-level fin
* trace, tracelb: do not do ptr lookups if host command has been
  disabled by configuration
* remove unused msec parameter from scamper_task_queue_done, remove
  scamper_task_queue and scamper_task_queue_wait, removing unnecessary
  gettimeofday calls.
* rename time-based variables in event loop after their use to
  make it more obvious what is going on
* fix json rendering of pmtud traceroutes with a host-connected MTU
  mismatch
* 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:
* add scamper_neighbourdisc_tojson, bump version
* clean up mtu / stop_hop checks in trace text output
* 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:
* switch to mostly timeval-based math to avoid division operations,
  remove some timeval functions, add others (mul, div)
* implement branchless comparison functions for address and time
  comparison
* speed up ipv4_prefix, ipv4_prefixhosts scamper_addr implementations
* simplify string_nullterm and string_nullterm_char according to how
  they are used in practice
* add slist_node_iter and dlist_node_iter functions to optimise a
  common code pattern
* add slist_to_dlist, dlist_to_slist, splaytree_to_slist, and
  splaytree_to_dlist to reduce repeated code
* silence warnings and errors when compiling with gcc 2.95
* remove string_concaf from more places.

Python module:
* add ScamperNeighbourdisc.to_json(), to convert a neighbourdisc object
  to JSON.
* add ScamperInst.resultc attribute, to find out the number of result
  objects queued in the parent ScamperCtrl for the instance.
* signal eof when the instance has no objects queued in parent ctrl
* make ScamperIcmpExts.ext_count be an attribute, consistent with
  documentation
* make ScamperTracelbNode near, far, length be attributes rather than
  methods, consistent with documentation
* fix sync=True do_* code paths
* install scamper.pyi file alongside the compiled python module to
  allow for static type checking analysis with mypy, and for code
  completion in vscode
* 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.

sc_remoted:
* disconnect mux clients if associated scamper process disconnects
* 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_hoiho:
* learn ASN regexes where the operator controlling the PTR record uses
  a prefix on the hostname (e.g., ^ipv4.de-cix.)

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_pinger:
* add -Z zombie-time option, which will cause sc_pinger to exit if a
  remote scamper instance goes silent for a user-defined length of
  time
* add -B bad-spec option to detect bad probe methods at run time,
  which look for unlikely sequences of reply TTL values
* update documentation

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

tests:
* further config unit tests
* add neighbourdisc test case
* add unit tests for string_nullterm and string_nullterm_char
* expand timeval math tests by adding add, diff, inrange, mul, div
  tests, and more sub tests
* expand scamper_addr tests to include cmp, human_cmp,
  prefix, first-bit-diff, and prefixhosts
* expand trace tests to include a pmtud traceroute with a
  host-connected MTU mismatch
* add more qname tests in unit_cmd_host.c.
* check that errmsg is read-from and written-to warts files correctly.

documentation:
* complete trace and ping warts(5) format descriptions

misc:
* benign changes to allow compilation on solaris


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 pkgsrc/net/scamper/Makefile
cvs rdiff -u -r1.20 -r1.21 pkgsrc/net/scamper/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/scamper/Makefile
diff -u pkgsrc/net/scamper/Makefile:1.23 pkgsrc/net/scamper/Makefile:1.24
--- pkgsrc/net/scamper/Makefile:1.23    Thu Jun  5 06:31:37 2025
+++ pkgsrc/net/scamper/Makefile Mon Oct 20 18:37:13 2025
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.23 2025/06/05 06:31:37 wiz Exp $
+# $NetBSD: Makefile,v 1.24 2025/10/20 18:37:13 bsiegert Exp $
 #
 
-DISTNAME=      scamper-cvs-20250603
+DISTNAME=      scamper-cvs-20251020
 PKGNAME=       ${DISTNAME:S/-cvs//}
 CATEGORIES=    net
 MASTER_SITES=  http://www.caida.org/catalog/software/scamper/code/

Index: pkgsrc/net/scamper/distinfo
diff -u pkgsrc/net/scamper/distinfo:1.20 pkgsrc/net/scamper/distinfo:1.21
--- pkgsrc/net/scamper/distinfo:1.20    Thu Jun  5 06:31:37 2025
+++ pkgsrc/net/scamper/distinfo Mon Oct 20 18:37:13 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.20 2025/06/05 06:31:37 wiz Exp $
+$NetBSD: distinfo,v 1.21 2025/10/20 18:37:13 bsiegert Exp $
 
-BLAKE2s (scamper-cvs-20250603.tar.gz) = c775304ca229fec4c47e881b744bf09478fdeac6087979a48f3f818d9f390516
-SHA512 (scamper-cvs-20250603.tar.gz) = e88021c9fff04526afe3c170e140d2101cc86b33c5ca35f4d95479080c7576c1234b3985f0841ae92a53d5a217792a0c64ab0245510733bd26d15bb1e692d238
-Size (scamper-cvs-20250603.tar.gz) = 3255542 bytes
+BLAKE2s (scamper-cvs-20251020.tar.gz) = 58a0dc0d1373cd2d1c40b3ed7342026e75ef7b06d4ae1bc2d44ed72415d1b461
+SHA512 (scamper-cvs-20251020.tar.gz) = 05aa3e2916adbdb06b4c5b3cb842b80a311429a00cad81495864483a9bcd91bbf3cc4de3c6c96c0be1a0987d64e4024c2f6deb8d041fa52d3fac05d514b84b61
+Size (scamper-cvs-20251020.tar.gz) = 3291401 bytes



Home | Main Index | Thread Index | Old Index