SHA256
1
0
forked from pool/scamper

- 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.

OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=69
This commit is contained in:
Sebastian Wagner 2024-08-17 08:20:36 +00:00 committed by Git OBS Bridge
commit c013adc733
6 changed files with 1205 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6f42a7882689d321103225a0f60d079982af42cf1a66859a3ce91e63853cb09
size 2839214

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f45921be2c68be4533c74d4a8ca45a61fc936fe59effd771f85af3c6c0ab3dd
size 2927067

1016
scamper.changes Normal file

File diff suppressed because it is too large Load Diff

159
scamper.spec Normal file
View File

@ -0,0 +1,159 @@
#
# spec file for package scamper
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: scamper
Version: 20240813
Release: 0
Summary: Parallel Internet measurement utility
License: GPL-2.0-only
Group: Productivity/Networking/Diagnostic
URL: https://www.caida.org/catalog/software/scamper/
Source: https://www.caida.org/tools/measurement/%{name}/code/%{name}-cvs-%{version}.tar.gz
BuildRequires: libopenssl-devel
# for the Python module
BuildRequires: python3
BuildRequires: python3-Cython0
# for sc_uptime
BuildRequires: pkgconfig(sqlite3)
# for sc_hoiho
BuildRequires: pkgconfig(libpcre2-8)
#BuildRequires: pkgconfig(libpcre)
%description
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
Scamper can do ICMP-based Path MTU discovery. scamper starts with the
outgoing interface's MTU and discovers the location of Path MTU
bottlenecks. scamper performs a PMTUD search when an ICMP
fragmentation required message is not returned to establish the PMTU
to the next point in the network, followed by a TTL limited search to
infer where the failure appears to occur.
This also contains the Python module.
%package -n libscamperfile9
Summary: File access library for scamper's binary dump format
Group: System/Libraries
%description -n libscamperfile9
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains the library that provides access to the binary output
files that scamper can produce in certain modes.
%package -n libscamperfile-devel
Summary: Development headers for scamper's binary dump file access library
Group: Development/Libraries/Other
Requires: libscamperfile9 = %{version}-%{release}
%description -n libscamperfile-devel
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains development headers and other ancillary files for the
libscamperfile library.
%package -n libscamperctrl2
Summary: Control library for scamper
Group: System/Libraries
Obsoletes: libscamperctl1 < %{version}
%description -n libscamperctrl2
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains thee library that provides functions to interact
with a collection of scamper instances.
%package -n libscamperctrl-devel
Summary: Development headers for scamper's control library
Group: Development/Libraries/Other
Requires: libscamperctrl2 = %{version}-%{release}
%description -n libscamperctrl-devel
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains development headers and other ancillary files for the
libscamperctrl library.
%prep
%setup -q -n %{name}-cvs-%{version}
%build
export PYTHON=%{_bindir}/python3
# disabled --with-pcre2 build since 20240229 because of build failure. Reported upstream
%configure --disable-static --disable-debug-file --enable-sc_uptime --with-python --enable-tests --enable-scamper-ring
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
pushd tests
make %{?_smp_mflags}
popd
%post -n libscamperfile9 -p /sbin/ldconfig
%post -n libscamperctrl2 -p /sbin/ldconfig
%postun -n libscamperfile9 -p /sbin/ldconfig
%postun -n libscamperctrl2 -p /sbin/ldconfig
%files
%license COPYING
%{_bindir}/sc_*
%{_bindir}/scamper
%{_mandir}/man1/*
%{_mandir}/man5/*
%{python3_sitelib}/scamper.so
%files -n libscamperfile9
%{_libdir}/libscamperfile.so.*
%files -n libscamperfile-devel
%{_includedir}/scamper_*
%{_libdir}/libscamperfile.so
%{_mandir}/man3/*
%files -n libscamperctrl2
%{_libdir}/libscamperctrl.so.*
%files -n libscamperctrl-devel
%{_includedir}/libscamperctrl.h
%{_libdir}/libscamperctrl.so
%changelog