* Sat Mar 14 2020 Sebastian Wagner <firstname.lastname@example.org>
- update to version 20191102b:
* do not dereference a null pointer when converting a tracelb node
with no IP address to a string, when generating json output.
* allow the source IP address to be specified when probing with the
- S parameter.
* a new utility to select specific records from a warts file
* Mon Jan 06 2020 Sebastian Wagner <email@example.com>
-update to version 20191102:
* escape hostname in json output for tracelb
* use length parameters when parsing hostname responses, from
* add a -O noalias option to tell bdrmap to not do alias resolution.
* update -C documentation in the sc_bdrmap.1 man page
* fix a memory leak of trace objects in -d traces
* print RTT in -d traces
* add an -M option to help corner cases with private and IXP addresses
* relax heuristics to allow VPs to claim routers with IP2AS when no
other router assignments can take place
* turn off analytical interface alias resolution heuristics by default
* change -O verbose to -O debug to better reflect what it does.
* change tpa to atp to be consistent with language in paper
* free a malloc, pointed out by clang static analysis
* add support for reading -d 3 output, which is the format of
regular expressions provided in the data supplement:
* add a metadata table to be able to track metadata across sc_uptime
invocations, from Marianne Fletcher
* fix an error message when trying to create a database that
* Wed Sep 18 2019 Sebastian Wagner <firstname.lastname@example.org>
- remove SIOCGSTAMP.patch
- update to version 20190916:
* add a host implementation for looking up DNS records. it uses
the first nameserver it finds in /etc/resolv.conf by default.
* add an -O ptr option to tracelb.
* bugfix json output for tracelb.
* integrate patricia trie implementation into scamper hotspot
* use HAVE_SYSCTL macro to solve a compile issue on android
* include <linux/sockios.h> to get SIOCGSTAMP in Linux kernel > 5.2
* add -A option to ping code to set the ack number to use in tcp
probes (or sequence number in SYN packets). do not randomly
generate sequence and ack values for each TCP ping.
* rework options handling to allow for long long values.
* set the window size in TCP probes to 65535, instead of advertising a
zero receive window.
* update configure scripts around the use of --with-privsep-dir-owner
* when outputting alias sets, conduct a canonical sort to allow for
* update man page because sc_ally can take more than two addresses per
* new driver to periodically probe addresses and rotate output files.
* new utility for holistic orthography of Internet hostname
observations. this utility is only built if --with-sc_hoiho is
passed to configure. sc_hoiho requires pcre or pcre2, which can be
controlled by passing --with-pcre or --with-pcre2 to configure.
* add a last_tx column to state_dsts to allow for simple monitoring of
when each destination address was last probed.
* various drivers:
* handle scamper disconnections gracefully in sc_ally,
sc_filterpolicy, sc_prefixscan, sc_radargun, sc_speedtrap,
sc_tbitblind, sc_tbitpmtud, and sc_uptime
* Tue Aug 20 2019 Sebastian Wagner <email@example.com>
- add SIOCGSTAMP.patch for recent changes in socket.h/socketios.h
* Sat Dec 22 2018 Sebastian Wagner <firstname.lastname@example.org>
- update to version 20181219:
* json output format for tracelb (MDA traceroute)
* print an error message if an output file cannot be opened
* document (in warts.5) the offset variable in a warts traceroute record,
* use autoconf to check if X509_VERIFY_PARAM_set1_host is available,
rather than OpenSSL #defines that are not used consistently among
* don't crash on a zero length file, or other conditions where sf->type
* fix example in manual page
* dump 3: when merging routers in a transitive closure, remove the
obsolete router from the dump list.
* if an address is repeated in the input file then complain
* document -C csum in sc_bdrmap.1
* allow duplicate prefixes in the IXP file
* add initial support for UDP paris traceroute, as an alternative
to the ICMP paris traceroute bdrmap uses by default.
* document updates in sc_bdrmap.1
* add -O noreserved
* bugfix reading from stdin, file handling
* document updates in sc_ttlexp.1
* add an optional -I interval parameter which controls how frequently
we want an address to be probed. add logic to exit early if we are
probing on with -I and there is a list of low-priority probing
that is not empty, so that sc_uptime can meet the probe interval.
* add the ability to expire addresses out of the database after they
have not been seen in traceroute for a while, and they do not
respond with an incrementing IPID value, with optional -E expiry
* loading addresses into the state database is now a separate step (-a)
* add a -c option to create and initialise a database file
* add do-not-probe support
* replace import code that used a row for each sample with a blob that
stores multiple samples per blob.
* report some measure of progress on import
* build monotonic sequences which allow patterns in responses to be
more easily identified, so that reboots are not falsely inferred
in the cases of multiple counters, 16 bit counters, and routers
that start each sequence after a PTB with a new IPID.
* add an -O verbose to dump IPID sequences
* document updates in sc_uptime.1
* Sun May 06 2018 email@example.com
- update to version 20180504:
* increase the size of a buffer in scamper's traceroute json
creation to reduce chance of truncation.
* print the number of probes sent by traceroute in the json
* enforce a minimum firsthop value of 1 when reading a warts
* choose a static ICMP checksum value when using Paris traceroute
to reduce churn in observed topology in bdrmap output.
* add ability to pass list of ASes to -d traces to see
traceroutes towards specific ASes, useful for understanding
* Thu Mar 08 2018 firstname.lastname@example.org
- update to version 20180309:
* For the utilities (sc_*) that read input files, do not allocate
memory to hold the entire input file in memory before parsing
the file. This improvement affects sc_ally, sc_attach,
sc_bdrmap, sc_filterpolicy, sc_radargun, sc_speedtrap,
sc_tbitblind, sc_tbitpmtud, sc_uptime, sc_warts2text.
* add scamper driver from IMC2010 paper to collect data on webserver
responsiveness to ICMP packet too big messages, and perform
rudimentary analysis of collected data.
* new utility to dump source addresses from ICMP TTL expired
messages in warts files.
* add a manual page
* add a manual page
* Mon Dec 04 2017 email@example.com
- remove new-openssl.patch, included upstream
- update to version 20171204:
* add a blind-fin tbit test, which tests receiver behavior to TCP FIN
packets which could have come from an off-path attacker.
* add -d 2 option, which dumps interface IP-ID behavior classifications.
* Thu Nov 30 2017 firstname.lastname@example.org
- add patch new-openssl.patch to compile with new openssl versions
* Thu Aug 24 2017 email@example.com
- update to version 20170822
* replace recursive versions of some functions with iterative versions.
* add cycle-start and cycle-stop json record implementations.
* fix traceroute json record: the hop transmit time value it reported
* add support for sending json over the control socket. use
"attach format json" to get this mode; "attach" by itself still
returns uuencoded warts. Initial patch supplied by Young Hyun.
* fix possible memory leaks detected with static analysis.
* quality assurance on research paper cites in manual pages.
* spelling errors noticed by Iain R. Learmonth.
* add feature to dump inferred aliases from the collected data.
* add threaded implementation of pairwise comparison to form candidate
alias sets, if pthreads are detected at compilation time and
- -disable-threads configure option is not supplied.
* new scamper driver to infer IPv6 device reboot windows if the device
returns an incrementing identifier field in the IPv6 fragmentation
header. the driver is not built by default, as it expects sqlite3.
use --with-sc_uptime configure option to build.
* Thu Jun 22 2017 firstname.lastname@example.org
- update to 20161204a
* More fixes to libscamperfile caught with fuzz testing. corrupt
warts files provided by Greg Ward of Dyn
* if targets or commands are specified in a file, and that file
ends after all probing of commands in that file has completed,
finish the source, allowing scamper to exit. this scenario is
most likely when stdin is the input file. Reported by Alex
Colvin of Dyn
* use select/poll/epoll/kqueue to look for read events on stdin files
* malloc enough memory for a prefix6_t in the prefixtree code. reported
by Sebastian Wagner via gcc7. only sc_bdrmap uses that code
* increase size of string buffers for some ping and trace fields for text
output to silence gcc7 warning.
* allow source IP address to be null when outputting a trace with json
* update sc_tbitblind.1 man page to show correct use of scamper's IPFW
firewall support, which changed in the 20161204 release
* fix unlikely unaligned access when computing checksums with IPv6
* Wed Jun 21 2017 email@example.com
- update to 20161204
* add remote control socket support to scamper. scamper can be
configured to connect to a remote controller at run time to
allow remote systems to control a scamper instance. the
remote controller is handled by the sc_remoted utility, and
is documented in the sc_remoted manual page (see below).
* fixes to libscamperfile caught with fuzz testing. corrupt
warts data files provided by Greg Ward of Dyn.
* add a PATRICIA trie implementation based off Sedgewick's
Algorithms in C++ book. this improves the performance
of scamper compared to holding addresses in splaytrees.
* improve speed of warts(5) code.
* improve speed of scamper_writebuf by allocating pagesize blocks
at a time.
* begin to document ping warts records in warts(5).
* fix debug printf implementation so that all features will
be built in as long as --without-debugfile is not used.
backported to 20141211g.
* silence compiler warnings from Microsoft Visual Studio.
backported to 20141211g.
* add a utility, sc_prefixscan, that provides a convenient
interface to scamper's prefixscan alias resolution method.
* add a utility, sc_radargun, that provides a convenient
interface to scamper's radargun implementation.
* add a utility, sc_remoted, that provides an interface to a
collection of remote scamper instances.
* use writebufs so sc_ally is event driven and will not block.
* add code to probe candidate sets in pairs, with transitive
closure to save probes.
* allow inter-probe gaps of less than 1 second.
* add support for remote control sockets.
* add an option to randomise the order tasks are run.
* stricter default test for inferring if two IP addresses may
share a single shared counter.
backported to 20141211g.
* code cleanup.
* add support for printing ICMP extensions included in traceroute
responses, prompted by Quirin Scheitle
* Sat Oct 08 2016 firstname.lastname@example.org
- update to version 20141211e
- upstream does not provide a changelog
* Sun Aug 21 2016 email@example.com
- moved man3/* from lib- to -devel subpackage
- removed useless provides from libscamperfile0
* Wed Aug 17 2016 firstname.lastname@example.org
- initial package, version 20141211e