* scamper:
* add initial implementation of RFC 4656 OWAMP. the implementation is
functional but incomplete, and all owamp interfaces (e.g., warts,
json, command line interface, python interface, and the
implementation itself) are subject to change.
* document current owamp command line interface in scamper man page.
* remove unused scamper_privsep_open_udp and scamper_privsep_open_tcp.
* sc_remoted:
* use unveil(2) and pledge(2) where present (OpenBSD) to restrict
the files sc_remoted has access to after initialization, and restrict
system calls available to sc_remoted.
* add optional-at-runtime chroot support to sc_remoted, to restrict
the files sc_remoted has access to after initalization on operating
systems without unveil(2), and add "security considerations" section
to sc_remoted man page on chroot support.
* refactor debug messages: most were errors that should have been
emitted to stderr even without using -O debug.
* add -O notimes option to remove timestamps, useful when the system
independently prefaces debug output with a timestamp.
* emit names and magic values associated with remote scamper instances in
debug messages.
* Python module:
* bindings for ScamperOwamp.
* drop GIL when calling clibscamperctrl.scamper_mux_add which can be
IO bound.
* add hash / cmp to ScamperVp, allowing ScamperVp objects to be stored
in sets.
* allow do_ inst variables to be a set as well as a list, use set
internally.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=97
* 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_*_errmsg_get functions.
* let neighbourdisc src_mac and dst_ip be null when reading warts
files, rather than reject the object.
* bump version.
- Python library:
* release GIL when waiting for measurement results so that module is
asyncio friendly.
* add errmsg attribute to measurement objects, interface file, and
document.
- sc_wartsdump:
* use scamper_*_[stop|result]_tostr functions rather than duplicate code.
* emit errmsg.
- tests:
* check that errmsg is read-from and written-to warts files correctly.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=95
* scamper:
* 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.
* 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.
* libscamperctrl:
* add iata attribute to scamper_vp_t.
* Python module:
* 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.
* update pyi to match API changes, fix enums with latest mypy.
* sc_remoted:
* add iata to list of supported metadata items per VP, document in
man page.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=93
* 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.
* throughout:
* remove string_concaf from more places.
* Python module:
* no change to the 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.
* sc_remoted:
* catch TERM signal (in addition to INT and HUP)
* write pidfile after becoming daemon, when -D is used
* Update to version 20250603:
* scamper:
* add initial streaming implementation of trace and ping, document
existence in man page
* reload scamper config file with SIGHUP, document signal handling
in man page
* fix scamper_trace_reply_dup
* restructure recording of probes in do_trace_probe
* tbit: dl_* -> tbit_* so that we don't have a function named dl_data,
which causes a compiler error on solaris
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=91
* scamper:
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
* 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
* tests:
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
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=89
* 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
* libscamperfile:
* add scamper_neighbourdisc_tojson, bump version
* clean up mtu / stop_hop checks in trace text output
* 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
* sc_remoted:
* disconnect mux clients if associated scamper process disconnects
* 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
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=85
* scamper:
* trace: separate probes from replies
* trace: support -P tcp-ack Path MTU probing
* trace: support -N squeries with Path MTU probing
* trace: embed path MTU probing data in JSON output
* ping: add -O dltx option to force datalink tx, capture nhmtu in ICMP PTB messages
* add basic sysctl-like configuration file support, which currently only allows for disabling measurement primitives, e.g.: # disable udpprobe measurement primitive udpprobe.enable=0
* hopefully fix build on solaris
* libscamperfile:
* chase separation of traceroute probes from replies, add scamper_trace_hopiter_* to simplify required user code modifications.
* fix 20250227 regression that did not read ipid32 in ping replies correctly, which lead to speedtrap not working.
* fix udpprobe warts storage when no packets are sent.
* be defensive allocating memory in warts read path.
* be defensive with possible null pointers when generating json from malformed warts.
* bump libscamperfile version.
* Python module:
* include setup.py in source code distribution.
* transparently handle separation of traceroute probes from replies.
* extend do_ping to support MTU probing, and capture embedded nhmtu.
* tests:
* replace unit_host_warts, unit_http_warts, unit_ping_warts, unit_trace_warts, unit_udpprobe_warts, with unit_warts.
* expand ping warts unit tests to check ipid values.
* expand trace warts unit tests to include last ditch probing, and path mtu discovery.
* add udpprobe and dealias warts unit tests.
* add fuzz_warts2json.
* add simple unit tests for parsing scamper configuration file.
* throughout:
* chase libscamperfile modifications throughout bundled utilities.
* use string_concatc in all obvious places, reduce use of string_concaf further, speeding up string rendering.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=83
- scamper:
* move items that require privilege (opening files, unlinking files,
opening raw sockets, datalink interfaces) into scamper_priv.c and
have each follow a consistent pattern. previously these were
distributed throughout many source code files.
* add build option that allows scamper to decide if it will do
privilege separation at run time.
the --enable-scamper-privsep=rootonly configure option enables this
behavior. if run with root privileges, scamper will do privilege
separation. if not run with root privileges, scamper will not.
--enable-scamper-privsep=yes (the default) does privilege separation
regardless of root privilege status.
note: the previous --disable-privsep configure option has become
--disable-scamper-privsep
* restructure the way that blocked tasks (tasks that share a probe
signature) are handled
* add -O mss=foo option to ping, which will include mss option to
TCP syn probe methods.
* ignore packets on the datalink interface associated with a probe
that has a timestamp after the datalink packet's timestamp.
* increase scamper -H holdtime limit from 10s to 60s.
- python module:
* add ScamperCtrl.outfile setter
* fix ScamperFile filter_types
- libscamperfile:
* handle termination HTTP chunk correctly (noticed running unit tests
on MacOS, which has a stricter strtol)
* be more accepting when processing HTTP headers
- libscamperctrl:
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=81
- scamper:
* 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.
- 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:
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=79
* 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.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=77
* scamper:
* 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
* 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
* Python module:
* add src parameter to ScamperCtrl.do_udpprobe
* update to version 20240916:
* scamper:
* 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
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=72
* scamper
* add -O dl-any option to scamper, which causes scamper to open a
cooked datalink interface bound to "any" on Linux. Note that
scamper's implementation of -O dl-any currently prevents
transmission of packets on the datalink socket, but this will
change in the future.
* add -O dyn-filter option to scamper, which causes scamper to
dynamically adjust the BPF filter that it configures on a datalink
socket according to TCP/UDP ports that scamper is using. this
option is only available on Linux, and BSD systems with BIOCSETFNR
(FreeBSD and MacOS). note that both -O dyn-filter and -O dl-any
cannot currently be used at the same time, but this will change in
the future.
* only raise SO_SNDBUF and SO_RCVBUF; some systems (e.g. Linux)
already have larger socket buffers than scamper's defaults.
* add -O sockrx to ping, to force ping to receive ICMP responses over
a regular socket, even when using -O dl (which still records datalink
transmit timestamps).
* speed up receiving on datalink sockets by avoiding unnecessary
memsets and removing unused fields, and adjust BSD, Linux, DLPI code
to follow similar code patterns.
* consider both directions for TCP packets on datalink sockets,
allowing datalink transmit timestamps to be recorded for non TCP-syn
packets.
* avoid processing duplicate copies of the same packet on Linux
loopback interface with datalink sockets.
* remove "observe" functionality from scamper control socket, as
signalled over a year ago. "outfile" and "source" will be removed
from the control socket in the future.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=69
* scamper:
* improvements with -N squeries; let -Q send all probes when using -N.
add -H wait-probe-hop, which specifies the minimum delay between
probes with the same TTL. identify the hop that would have caused
traceroute to stop when not using -N so that a normal traceroute
path with one hop representing the destination or stopping hop in
the path is rendered. in the json output, put extra hops beyond
the stopping hop into a extra_hops array.
* make ring-nolocked the default when using -O ring.
* improvements with udpprobe: provide ability to send multiple copies
of the same payload, add json output, reuse available UDP sockets
where possible.
* consistently set and record the IPv4 tos and IPv6 tclass fields for
both ping and trace.
* fix warts.bz2 and warts.xz output, which could previously use all
available space on the file system.
* speed up rendering of byte arrays as hex in json output.
* fix obtaining IPv6 hoplimit on received packets on MacOS.
* record the name of the interface that received IPv4 and IPv6 ICMP
responses in ping.
* add TXT queries to host command; add chaos query class; add
DNS-over-TCP.
* fix use of ctype functions according to netbsd (cast all parameters
to unsigned char). make pass through use of ctype functions to do
ctype function calls last in most logical statements.
* cleanup scamper_file_warts.h so that only necessary struct
definitions are in that header.
* libscamperfile:
* add new functions, bump library version due to udpprobe changes.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=66
- update to 20240229:
* bugfix: correct SCAMPER_DL_IS_ICMP_TIME_REPLY macro so that scamper
does not ignore ICMP replies quoting TCP/UDP packets for 1/256
source port values.
* bugfixes for -O icmp-rxerr: handle EPOLLERR on linux, try using
IPV6_RECVHOPLIMIT before IPV6_HOPLIMIT for IPv6 udp probing.
* bugfix: fix possible assertions in dealias, trace, and tracelb code.
* ping: count UDP replies as from the target
* trace: correct datalink timestamp adjustments
* add more specific error messages when a scamper command is not
accepted, return them over control socket or terminal, as appropriate.
* scamper_fd_t: refactor fd_addr, fd_sport, fd_dl, fd_ifindex
* scamper_fd_t: decouple udp4raw/udp4dg from each other. use udp4dg
and udp6 sockets in udpprobe primitive, rather than have each
udpprobe task create its own socket.
* scamper_fd_t: add methods that return an available open socket for
probing a given destination without blocking if another task is
probing the same destination. use this with ping -F 0 and trace -s 0,
instead of generating random port values, so that scamper opens
the minimum number of file descriptors.
* ping and trace: have -O dl mean to capture transmit and receive
timestamps from a datalink interface. add -O raw option so that
IPv4 TCP probes can be transmitted over a raw socket, to allow transmitted
TCP packets to be observed on the datalink interface.
* add memory-mapped ring buffer support (PACKET_RX_RING) for receiving
packets on datalink sockets on Linux. enable at scamper runtime
with -O ring. contributed by Alistair King.
## python module:
* generate module .c with Cython 0.29.37, to enable module to compile
with Python 3.11.
OBS-URL: https://build.opensuse.org/request/show/1158597
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scamper?expand=0&rev=28
* bugfix: correct SCAMPER_DL_IS_ICMP_TIME_REPLY macro so that scamper
does not ignore ICMP replies quoting TCP/UDP packets for 1/256
source port values.
* bugfixes for -O icmp-rxerr: handle EPOLLERR on linux, try using
IPV6_RECVHOPLIMIT before IPV6_HOPLIMIT for IPv6 udp probing.
* bugfix: fix possible assertions in dealias, trace, and tracelb code.
* ping: count UDP replies as from the target
* trace: correct datalink timestamp adjustments
* add more specific error messages when a scamper command is not
accepted, return them over control socket or terminal, as appropriate.
* scamper_fd_t: refactor fd_addr, fd_sport, fd_dl, fd_ifindex
* scamper_fd_t: decouple udp4raw/udp4dg from each other. use udp4dg
and udp6 sockets in udpprobe primitive, rather than have each
udpprobe task create its own socket.
* scamper_fd_t: add methods that return an available open socket for
probing a given destination without blocking if another task is
probing the same destination. use this with ping -F 0 and trace -s 0,
instead of generating random port values, so that scamper opens
the minimum number of file descriptors.
* ping and trace: have -O dl mean to capture transmit and receive
timestamps from a datalink interface. add -O raw option so that
IPv4 TCP probes can be transmitted over a raw socket, to allow transmitted
TCP packets to be observed on the datalink interface.
* add memory-mapped ring buffer support (PACKET_RX_RING) for receiving
packets on datalink sockets on Linux. enable at scamper runtime
with -O ring. contributed by Alistair King.
## python module:
* generate module .c with Cython 0.29.37, to enable module to compile
with Python 3.11.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=64
* scamper
* fix regression in 20240117 where trace -W 0 (probe as soon as
there's a response) was not accepted, despite being the default.
add unit test for this.
* for trace, improve probe and reply matching of UDP packets
* fix printing UDP responses to traceroute probes in scamper -O text output
* for trace section of scamper.1 man page, document -O const-payload,
and expand documentation for -O dl.
* python module:
* ship scamper release with a the C source code pre-generated for the
python module, so that the build process does not require a cython
installation. bootstrap.pl will build the C source code unless told
not to via --without-cython
* rename ScamperPing.reply_count to ScamperPing.stop_count, as the
reply_count attribute meant something different on a ScamperPing
object than what it means with ScamperDealiasProbe, etc
* sc_remoted:
* expand sc_remoted.1 manual page with information about validating
scamper client TLS certificates, and how to use -M monitor-name.
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=61
- update to version 20240117:
- scamper:
- fix crashes if a task is provided an apparent response, but the task
- has not yet sent a packet in ping, sting, tbit, trace, tracelb.
- find and fix memory leaks in measurement command parsing code via
- fuzzing.
- add udpprobe, http, dealias -m midarest, and dealias -m midardisc methods.
- udpprobe and http do not currently have json output methods.
- remove -d dport, -s sport, and -t ttl dealias parameters. these
- were only valid for mercator, and can be specified in a probedef instead.
- record size of responses for dealias probes.
- modify all commands to be able to take human-friendly wait parameters --
- e.g. trace -W 0.5s or trace -W 500ms instead of trace -W 50000.
- support transmitting raw packets on linux ppp interfaces
- add -b payload-size parameter to ping
- python interface:
- add python interface to most of scamper. building this module requires
- cython < 3.0. to build, use something like:
- PYTHON=/path/to/python CYTHON=/path/to/cython ./configure --with-python
- the documentation for this interface is available at
- https://www.caida.org/catalog/software/scamper/python/
- the ubuntu PPA provides python3-scamper, and the FreeBSD port should
- hopefully provide py-scamper shortly. these sources may be useful
- for getting the module packaged for other operating systems.
- https://launchpad.net/~matthewluckie/+archive/ubuntu/scamper
- libscamperfile and libscamperctrl:
- improvements, bump versions
- tests:
- many new unit tests and fuzzing cradles for scamper components
- sc_pinger:
- add -l limit and -M move-dir options
- sc_remoted:
- no need to link against libscamperfile, remove dependency
- sc_attach, sc_filterpolicy, sc_prefixscan, sc_wartsfix:
- compile / link on windows.
OBS-URL: https://build.opensuse.org/request/show/1139442
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scamper?expand=0&rev=26
- scamper:
- fix crashes if a task is provided an apparent response, but the task
- has not yet sent a packet in ping, sting, tbit, trace, tracelb.
- find and fix memory leaks in measurement command parsing code via
- fuzzing.
- add udpprobe, http, dealias -m midarest, and dealias -m midardisc methods.
- udpprobe and http do not currently have json output methods.
- remove -d dport, -s sport, and -t ttl dealias parameters. these
- were only valid for mercator, and can be specified in a probedef instead.
- record size of responses for dealias probes.
- modify all commands to be able to take human-friendly wait parameters --
- e.g. trace -W 0.5s or trace -W 500ms instead of trace -W 50000.
- support transmitting raw packets on linux ppp interfaces
- add -b payload-size parameter to ping
- python interface:
- add python interface to most of scamper. building this module requires
- cython < 3.0. to build, use something like:
- PYTHON=/path/to/python CYTHON=/path/to/cython ./configure --with-python
- the documentation for this interface is available at
- https://www.caida.org/catalog/software/scamper/python/
- the ubuntu PPA provides python3-scamper, and the FreeBSD port should
- hopefully provide py-scamper shortly. these sources may be useful
- for getting the module packaged for other operating systems.
- https://launchpad.net/~matthewluckie/+archive/ubuntu/scamper
- libscamperfile and libscamperctrl:
- improvements, bump versions
- tests:
- many new unit tests and fuzzing cradles for scamper components
- sc_pinger:
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=58
- scamper:
* fix compile-on-windows support; use icmp-echo probes instead of UDP
probes for traceroute on windows; provide "attach" support on
windows.
* fix compile-on-FreeBSD-15+ where pf firewall does not have
DIOCGETSTATUS ioctl
* in scamper's remote control (-R option), fix file descriptor leak
when unable to reconnect to the remote controller.
* add --disable-scamper-trace --disable-scamper-ping
--disable-scamper-tracelb --disable-scamper-dealias
--disable-scamper-tbit --disable-scamper-sting
--disable-scamper-sniff --disable-scamper-host configure options
to build scamper without specific measurement capabilities.
- sc_attach:
* add windows support
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=54
- update to version 20230614a
* configure:
* better tests for zlib, libbz2, and liblzma that check for both
libraries and headers.
* change --with-sc_uptime, --with-sc_hoiho, and --with-tests to be
--enable-sc_uptime, --enable-sc_hoiho, and --enable-tests
* disable maintainer mode, pass foreign to AM_INIT_AUTOMAKE
* scamper:
* remove reading regular files from poll/select/epoll/kqueue path,
which fixes reading regular input files (-f option to scamper) using
epoll or kqueue
* fix reading stdin as input (-f option to scamper) when using
epoll (catch EPOLLHUP)
* add DNS server to host signature, add host path for scamper_task_find
* rework scamper_osinfo to work with malformed release names (uname -r)
* dealias: do not crash on malformed prefixscan and bump commands
* dealias: fix memory leak of probedefs on malformed commands
* sting: fix memory leak of recorded packets
* remove tsps input method (-O tsps option to scamper)
* update manual page
* libscamperctrl:
* link against list.o and splaytree.o so that the library is self-contained
* fix memory leak when task is not accepted
* API improvements
* libscamperfile:
* fix memory leak when reading SOA/MX from warts file
* fix memory leak when reading PMTUD traceroute structures from warts file
* sting: fix memory leak of recorded packets
* sc_analysis_dump, sc_warts2pcap, sc_wartscat, sc_wartsfilter:
* link against list.o/utils.o so that these utilities are not reliant on
those symbols being exported from libscamperfile
* sc_prefixprober:
* allow compression type to be specified using -O
* free scamper_addr_t as each are removed from the list to probe
* sc_remoted:
* catch EPOLLHUP with epoll
* sc_warts2text:
* fix memory leaks
* sc_wartsdump:
* fix memory leaks
* link against utils.o so that sc_wartsdump is not reliant on those
symbols being exported from libscamperfile
OBS-URL: https://build.opensuse.org/request/show/1103080
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scamper?expand=0&rev=22
* configure:
* better tests for zlib, libbz2, and liblzma that check for both
libraries and headers.
* change --with-sc_uptime, --with-sc_hoiho, and --with-tests to be
--enable-sc_uptime, --enable-sc_hoiho, and --enable-tests
* disable maintainer mode, pass foreign to AM_INIT_AUTOMAKE
* scamper:
* remove reading regular files from poll/select/epoll/kqueue path,
which fixes reading regular input files (-f option to scamper) using
epoll or kqueue
* fix reading stdin as input (-f option to scamper) when using
epoll (catch EPOLLHUP)
* add DNS server to host signature, add host path for scamper_task_find
* rework scamper_osinfo to work with malformed release names (uname -r)
* dealias: do not crash on malformed prefixscan and bump commands
* dealias: fix memory leak of probedefs on malformed commands
* sting: fix memory leak of recorded packets
* remove tsps input method (-O tsps option to scamper)
* update manual page
* libscamperctrl:
* link against list.o and splaytree.o so that the library is self-contained
* fix memory leak when task is not accepted
* API improvements
* libscamperfile:
* fix memory leak when reading SOA/MX from warts file
* fix memory leak when reading PMTUD traceroute structures from warts file
* sting: fix memory leak of recorded packets
* sc_analysis_dump, sc_warts2pcap, sc_wartscat, sc_wartsfilter:
* link against list.o/utils.o so that these utilities are not reliant on
OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=50