Commit Graph

  • 7516c37085 Accepting request 1327017 from network:utilities factory Ana Guerrero 2026-01-13 20:36:06 +00:00
  • ac85c166c0 - Update to version 20260105: * 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. Sebastian Wagner 2026-01-06 13:18:03 +00:00
  • d231d291da Accepting request 1313832 from network:utilities Ana Guerrero 2025-10-28 13:45:56 +00:00
  • d6c0505d03 - update to version 20251020: * 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. Sebastian Wagner 2025-10-20 11:28:53 +00:00
  • 1c176b1cd0 Accepting request 1311101 from network:utilities Dominique Leuenberger 2025-10-13 13:36:37 +00:00
  • 3171926d2c - Update to version 20251002: * 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. Sebastian Wagner 2025-10-06 11:23:01 +00:00
  • 5bd5182cdd Accepting request 1308815 from network:utilities Dominique Leuenberger 2025-10-04 16:51:05 +00:00
  • 4af2346f3d - Update to 20250804: * 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 Sebastian Wagner 2025-09-26 07:36:20 +00:00
  • eaf507a142 Accepting request 1297783 from network:utilities Dominique Leuenberger 2025-08-06 12:33:49 +00:00
  • 0a4f7207fc - update to version 20250729: * 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 Sebastian Wagner 2025-07-29 15:30:51 +00:00
  • 879668e9ed - Add script convert-changelog.sh to convert upstream changelog style to RPM style Sebastian Wagner 2025-07-29 15:29:19 +00:00
  • 2aa23a1a44 Accepting request 1291199 from network:utilities Ana Guerrero 2025-07-09 15:26:55 +00:00
  • 1615dd5767 require python >= 3,8 Sebastian Wagner 2025-07-01 08:59:11 +00:00
  • 8912dce0b1 - update to version 20250630: * 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 Sebastian Wagner 2025-07-01 08:54:17 +00:00
  • c50be2a2d0 Accepting request 1277048 from network:utilities Ana Guerrero 2025-05-13 18:07:15 +00:00
  • 268cadef6d - update to version 20250505: * 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. Sebastian Wagner 2025-05-06 07:11:56 +00:00
  • a888c5bfe5 Accepting request 1268790 from network:utilities Ana Guerrero 2025-04-14 10:57:45 +00:00
  • 5a5f02a14e - update to version 20250401: - 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: Sebastian Wagner 2025-04-05 11:23:27 +00:00
  • d15aede333 Accepting request 1251413 from network:utilities leap-16.1 leap-16.0 Dominique Leuenberger 2025-03-08 16:53:05 +00:00
  • bfe6b95ff0 - update to version 20250227: - 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: Sebastian Wagner 2025-03-01 12:12:32 +00:00
  • 8686d41f70 Accepting request 1238825 from network:utilities Dominique Leuenberger 2025-01-19 20:50:25 +00:00
  • 9ba80bfb1b - update to scamper 20250106: * 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. Sebastian Wagner 2025-01-12 13:54:04 +00:00
  • 7712fcbe96 Accepting request 1226006 from network:utilities Ana Guerrero 2024-11-24 10:05:00 +00:00
  • fedd3edb57 update to version 20241112: Sebastian Wagner 2024-11-16 18:10:40 +00:00
  • 4dad880db7 Accepting request 1204698 from network:utilities Ana Guerrero 2024-09-30 13:41:56 +00:00
  • 7a5068c130 fix mail address Sebastian Wagner 2024-09-23 07:44:47 +00:00
  • df80a0db70 * update to version 20240920: * 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 Sebastian Wagner 2024-09-23 07:41:09 +00:00
  • c210666313 Accepting request 1194649 from network:utilities Ana Guerrero 2024-08-19 21:45:19 +00:00
  • c6153d0eff - Remove upper bound on Cython, Cython 3 appears to be supported. Sebastian Wagner 2024-08-19 07:17:42 +00:00
  • c013adc733 - update to version 20240716: * 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. Sebastian Wagner 2024-08-17 08:20:36 +00:00
  • 453da8f980 Accepting request 1174255 from network:utilities Ana Guerrero 2024-05-15 19:29:15 +00:00
  • 5b9372f13e Accepting request 1173966 from home:dimstar:Factory Martin Hauke 2024-05-15 13:28:03 +00:00
  • a6bce56c48 * update to version 20240503: * 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. Sebastian Wagner 2024-05-05 14:25:28 +00:00
  • d84c1c95b2 Accepting request 1158597 from network:utilities Ana Guerrero 2024-03-17 21:16:24 +00:00
  • eee3abab7c - 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. Dirk Mueller 2024-03-16 19:38:49 +00:00
  • 34d121d490 Accepting request 1146332 from network:utilities Ana Guerrero 2024-02-13 21:43:34 +00:00
  • 12ee8797cb - Temporarily disable Python build because of incompatibility with Python 3.11 Reported upstream, will be fixed in next version. Sebastian Wagner 2024-02-06 09:08:11 +00:00
  • 27e30edc2b - Update to version 20240122: * 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. Sebastian Wagner 2024-02-05 13:05:30 +00:00
  • 89e3484b33 Accepting request 1139442 from network:utilities Ana Guerrero 2024-01-17 21:18:20 +00:00
  • db3c5b4063 enable python build Sebastian Wagner 2024-01-17 08:32:55 +00:00
  • 3cfb3e1100 - 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: Sebastian Wagner 2024-01-17 07:36:50 +00:00
  • c423a01fa3 Accepting request 1125095 from network:utilities Ana Guerrero 2023-11-14 20:41:49 +00:00
  • b51b8b3eff - update to 20230614d (bsc#1217032): * fix buffer overflow when parsing TCP packets where the sender includes a TCP fast open cookie larger than 16 bytes sc_hoiho man page Dirk Mueller 2023-11-10 16:51:49 +00:00
  • 90d5f8629c Accepting request 1117776 from network:utilities Ana Guerrero 2023-10-15 17:27:31 +00:00
  • 064d682b95 - update to version 20230614c: - 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 Sebastian Wagner 2023-10-07 09:05:57 +00:00
  • eea1a9bb0b Accepting request 1103654 from network:utilities Dominique Leuenberger 2023-08-13 17:18:00 +00:00
  • 9fb196c62b - update to version 20230614b: - scamper: * fix handling of EPOLLHUP on client disconnection -- Linux-specific (scamper -U /path/to/socket) - libscamperctrl: * fix handling of disconnected instances Sebastian Wagner 2023-08-13 06:11:20 +00:00
  • e3f2f25c41 Accepting request 1103080 from network:utilities Dominique Leuenberger 2023-08-09 15:26:13 +00:00
  • 667e4b3cd1 - 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 Sebastian Wagner 2023-08-09 06:01:41 +00:00
  • a97df218c9 Accepting request 1100776 from network:utilities Ana Guerrero 2023-07-26 11:25:01 +00:00
  • c288670f56 fix package names with SONAME Sebastian Wagner 2023-07-19 07:19:46 +00:00
  • 2685ddb3d0 - update to version 20230605: * HEADSUP: if you previously used -e pidfile to record the pid of a running scamper process, there is a good chance that the pidfile is owned by root. scamper now attempts to write this file using the uid that started scamper, and will not be able to write it if scamper is not started by root (it should not be, rather the scamper binary should be setuid root). Please delete the existing pidfile, or change its ownership, prior to restarting scamper, or scamper will not start. * scamper: * write a process ID that the user that started scamper can kill in the pidfile when using privsep. * when using privsep, exit the unprivileged process if the privileged process exits (is killed) * run as real uid from the start of scamper, for both privsep and not-privsep. * fix bug where attempting to open an unsupported datalink would leave a freed scamper_fd_t in the fd_tree and fd_list, leading to a crash. * fix double free triggered when a user provides an invalid dealias command. * fix memory leak if the payload was specified twice to ping or trace * rework pollfunc selection logic, use kqueue/epoll by default. * remove _malloc_options = "AJ" as this only works on unsupported versions of FreeBSD. * add additional paramaters to attach command to allow the user to override list and cycle parameters, documented in manual page. * catch EAGAIN/EINTR from select/kqueue/epoll to allow gdb to attach and detach without flagging errors. * for DNS replies for host command, record reply flags and rcode. * add support for SOA and NS queries in host. Sebastian Wagner 2023-06-13 07:04:10 +00:00
  • 9cd03652bb Accepting request 1071453 from network:utilities Dominique Leuenberger 2023-03-14 17:17:28 +00:00
  • 66bebe1832 - Update to version 20230302: - scamper: * use a random source port / ICMP ID in trace if -s 0. * better parallelize pings to a single destination that use udp-dport, tcp-ack-sport, or tcp-syn-sport probe methods. * document default value of source port consistently for all measurements that take a source port parameter in the man page. - sc_wartscat: * print useful error messages when encountering an error. * add ability to merge neighbourdisc, tbit, sting, sniff, and host. Sebastian Wagner 2023-03-07 09:48:03 +00:00
  • e010f3976a Accepting request 1067531 from network:utilities Dominique Leuenberger 2023-02-24 17:08:12 +00:00
  • d626f529a3 - Update to version 20230224: - scamper: - allow multiple parallel measurements to the same destination, - provided the measurements have probe signatures that scamper can - distinguish. - return the associated task ID with each DATA blob in control socket. - this task ID matches the ID returned in an OK when scamper accepted - the task. - in ping, only compute delay statistics on responses from destination. - in ping, allow timeout to be expressed in fractions of a second. - libscamperfile: - support reading gz-compressed warts files. - libscamperctrl: - add libscamperctrl, a library to interact with a collection of - scamper instances. - modify sc_ally, sc_filterpolicy, sc_prefixscan, sc_speedtrap, and - sc_pinger to use this library. - this library is likely to evolve. current behaviour is documented - in libscamperctrl manual page. - misc: - improve sc_wartsfilter manual page with examples. - add remote control socket support to sc_pinger. - fix kqueue/epoll loop in sc_remoted. - consistently use size_t throughout when counting number of items. - build without warnings using -Wextra -Wno-unused-parameter. - improvements through adding function attributes to printf-like - functions. - deorbit some unused functions from utils.c. Sebastian Wagner 2023-02-24 08:19:52 +00:00
  • 968238b113 Accepting request 1056160 from network:utilities Dominique Leuenberger 2023-01-05 14:01:36 +00:00
  • 5e6419ea45 - Update to version 20211212e: - scamper: * gracefully handle situations where there is no /etc/resolv.conf, or no nameserver lines in an /etc/resolv.conf but a measurement or scamper-internal task wants to resolve a name * tidy up buggy prinf-like statements in scamper and some drivers. - warts/json: * in JSON output for ping, print the TCP/UDP src/dst ports or ICMP id/seq used in individual probe packets, * fix regression in libscamperfile so that it can read old warts files. Sebastian Wagner 2022-12-29 09:09:24 +00:00
  • cdb2899475 Accepting request 1038311 from network:utilities Dominique Leuenberger 2022-11-26 17:45:46 +00:00
  • 53cd9f19a1 - Update to version 20211212d: - scamper: * add tcp-syn-sport method to ping, document in scamper(1) manual page - documentation: * document trace json object in sc_warts2json(1) manual page Sebastian Wagner 2022-11-19 07:26:24 +00:00
  • e0cb7acd72 Accepting request 999230 from network:utilities Dominique Leuenberger 2022-08-25 13:09:37 +00:00
  • e9015c12e6 - scamper: * add an option (-O cafile=/path/to/file) to load CA certificates from a specific file when starting scamper for validating a remote controller's certificate (this was released in 20211212a) * add options -O client-certfile=/path/to/certfile and -O client-privfile=/path/to/privfile to have scamper present a client certificate during a TLS handshake with a remote controller * fix bugs that prevent scamper from reconnecting to a remote controller * fix -d debugfile when scamper is built with privilege separation * fix bug when writing neighbordisc measurements to warts file that prevents a neighbordisc measurement from being read * fix bug when reading some tracelb measurements with unresponsive hops from a warts file * allow user to specify fractions of a second to ping timeout (-W) * use a random source port / ICMP ID in ping if -F 0 - sc_remoted: * add -C option to specify a CA PEM file to verify client certificates presented by scamper instances. * add -O skipnameverification option to tell sc_remoted to verify scamper presents a certificate signed by the CA, but do not do name verification Sebastian Wagner 2022-08-18 10:05:09 +00:00
  • 30f38d7119 - Update to version 20211212b: - No changelog available. Sebastian Wagner 2022-08-18 09:30:49 +00:00
  • 974c97608e Accepting request 972966 from network:utilities Dominique Leuenberger 2022-04-26 19:42:40 +00:00
  • d69fbd769d Accepting request 972637 from home:dimstar:Factory Sebastian Wagner 2022-04-26 18:51:45 +00:00
  • 9590815466 - add provices/obsoletes for old libscamperfile1 sub-package. Sebastian Wagner 2022-02-25 20:31:15 +00:00
  • c7e403a7f2 - Update to version 20211212a: - No changelog available. Sebastian Wagner 2022-02-12 18:38:48 +00:00
  • eded4f16b1 Accepting request 927844 from network:utilities Dominique Leuenberger 2021-10-27 20:21:26 +00:00
  • 50ce79544f - update to 20211026: scamper: * in trace, allow probes to multiple consecutive hops to be outstanding in the network without having to stop and wait, using the -N parameter documented in scamper's man page. * in trace, do optional PTR lookups using the option documented in scamper's man page. output these hostnames into warts and json outputs. * bump libscamperfile version for the above changes. * document that scamper's control socket can be told to return JSON through an option now documented in scamper's man page. * improvements to reading warts files via fuzzing. * other man page tidy ups. sc_erosprober: * add the ability to adjust the probe list at run time through a unix domain socket, documented in the sc_erosprober man page. sc_hoiho: * add the ability to learn regular expressions that extract geographic hints from router hostnames, documented in the sc_hoiho man page Sebastian Wagner 2021-10-27 19:05:05 +00:00
  • 6bb7213a28 Accepting request 884742 from network:utilities Dominique Leuenberger 2021-04-14 08:10:44 +00:00
  • 77d3eb46e6 - update to version 20210324: sc_speedtrap: * speed up speedtrap's runtime Sebastian Wagner 2021-04-05 19:37:17 +00:00
  • 8d922ccced Accepting request 838687 from network:utilities Dominique Leuenberger 2020-09-30 17:54:56 +00:00
  • 3cdacb1c02 - update to version 20200923: - scamper: * integrate some fixes for compiling scamper on windows - sc_erosprober: * allow larger probe intervals - sc_hoiho: * add support for learning regexes that extract ASNs in hostnames Sebastian Wagner 2020-09-23 06:35:33 +00:00
  • 47e1db5cbd Accepting request 822765 from network:utilities Dominique Leuenberger 2020-07-27 15:42:07 +00:00
  • 2c9e5facfa - update to version 20200717: - scamper: - update remote control protocol to support session resumption if the underlying TCP connection is interrupted. - if remote controller is specified with a domain name, use TLS. - fix -p pidfile when starting scamper as a daemon - expire entries in the ARP cache periodically - add -r support to ping and tracelb, and record router addresses in warts output. - autoconf work to build on linux without sys/socketvar.h or linux/netlink.h - allow scamper to do IPv4 ICMP echo and IPv6 UDP traceroute without requiring root on linux. - libscamperfile version 1.0.0 - sc_remoted: - update remote control protocol to support session resumption if the underlying TCP connection is interrupted. - use HUP signal to reload TLS certificate and private key chain - add -e pidfile to write PID to file, to make HUP easy - sc_pinger: - add utility to ping a set of addresses with ICMP echo, UDP, and TCP-ack probes - throughout: - reduce number of warnings when compiling with -Wextra - remove rcsid from all files Sebastian Wagner 2020-07-18 13:44:34 +00:00
  • 334505d6a1 Accepting request 787169 from network:utilities Dominique Leuenberger 2020-03-22 13:18:17 +00:00
  • 57a24fc805 - update to version 20191102b: - scamper: * do not dereference a null pointer when converting a tracelb node with no IP address to a string, when generating json output. - sc_bdrmap: * allow the source IP address to be specified when probing with the -S parameter. - sc_wartsfilter: * a new utility to select specific records from a warts file Sebastian Wagner 2020-03-14 17:22:07 +00:00
  • c2f5eb88d3 Accepting request 764225 from network:utilities Dominique Leuenberger 2020-01-14 20:09:16 +00:00
  • b0021fd2e0 -update to version 20191102: * scamper * escape hostname in json output for tracelb * use length parameters when parsing hostname responses, from Marianne Fletcher * sc_bdrmap * 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 * sc_hoiho * change -O verbose to -O debug to better reflect what it does. * change tpa to atp to be consistent with language in paper https://www.caida.org/~mjl/pubs/rnc.pdf * 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: http://data.caida.org/datasets/supplement/2019-imc-hoiho/ * sc_uptime * 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 already exists. Sebastian Wagner 2020-01-07 09:29:43 +00:00
  • dab6abe065 Accepting request 733235 from network:utilities Dominique Leuenberger 2019-09-26 18:41:18 +00:00
  • 488ebb0840 - remove SIOCGSTAMP.patch - update to version 20190916: * scamper * 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 * sc_ally: * when outputting alias sets, conduct a canonical sort to allow for easy diffs * update man page because sc_ally can take more than two addresses per line * sc_erosprober: * new driver to periodically probe addresses and rotate output files. * sc_hoiho: * 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. * sc_uptime: Sebastian Wagner 2019-09-18 19:50:19 +00:00
  • b6b1b9f039 Accepting request 724879 from network:utilities Dominique Leuenberger 2019-08-22 08:53:24 +00:00
  • 4a4ff38929 - add SIOCGSTAMP.patch for recent changes in socket.h/socketios.h Sebastian Wagner 2019-08-20 19:35:36 +00:00
  • 69d54f9773 Accepting request 674629 from network:utilities Dominique Leuenberger 2019-02-14 13:35:08 +00:00
  • ff3c4b5fb9 - update to version 20181219: Sebastian Wagner 2018-12-22 22:08:14 +00:00
  • 8ea1daea84 Accepting request 621094 from network:utilities Dominique Leuenberger 2018-07-06 08:47:28 +00:00
  • 0083089b14 - update to version 20180504: * scamper: * 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 output. * enforce a minimum firsthop value of 1 when reading a warts traceroute object. * sc_bdrmap: * 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 bdrmap inferences. Sebastian Wagner 2018-05-06 08:25:38 +00:00
  • b856241676 - update to version 20180309: Sebastian Wagner 2018-03-08 19:45:06 +00:00
  • bfbaf306c8 Accepting request 555881 from network:utilities Dominique Leuenberger 2017-12-11 17:57:23 +00:00
  • ae6e3389f3 - remove new-openssl.patch, included upstream - update to version 20171204: - scamper: * add a blind-fin tbit test, which tests receiver behavior to TCP FIN packets which could have come from an off-path attacker. - sc_radargun: * add -d 2 option, which dumps interface IP-ID behavior classifications. Sebastian Wagner 2017-12-04 08:48:06 +00:00
  • 06c7984544 Accepting request 546902 from network:utilities Dominique Leuenberger 2017-12-01 14:54:16 +00:00
  • d5513388c9 - add patch new-openssl.patch to compile with new openssl versions Sebastian Wagner 2017-11-30 21:25:05 +00:00
  • d57bb39fe4 Accepting request 518488 from network:utilities Dominique Leuenberger 2017-08-24 16:56:32 +00:00
  • 53a6ceecfb - fix license, is GPL-3.0+ Sebastian Wagner 2017-08-24 07:06:46 +00:00
  • 6083158e3d Accepting request 505838 from network:utilities Yuchen Lin 2017-08-10 12:02:10 +00:00
  • 7f7c2b3c34 Accepting request 505786 from home:sebix:branches:network:utilities Martin Hauke 2017-06-23 06:33:25 +00:00
  • 5fe6610e5d Accepting request 433945 from home:mnhauke:security OBS User mrdocs 2016-10-11 06:18:50 +00:00
  • c9e22147e6 Accepting request 420925 from home:mnhauke:security Martin Hauke 2016-08-21 18:30:56 +00:00
  • 1ba60e39b5 Accepting request 419800 from home:mnhauke:security OBS User mrdocs 2016-08-19 21:59:42 +00:00