Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package arping2 for openSUSE:Factory checked in at 2025-10-17 17:27:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arping2 (Old) and /work/SRC/openSUSE:Factory/.arping2.new.18484 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arping2" Fri Oct 17 17:27:34 2025 rev:25 rq:1312019 version:2.26 Changes: -------- --- /work/SRC/openSUSE:Factory/arping2/arping2.changes 2024-09-09 14:44:47.423565976 +0200 +++ /work/SRC/openSUSE:Factory/.arping2.new.18484/arping2.changes 2025-10-17 17:30:06.244913981 +0200 @@ -1,0 +2,6 @@ +Fri Oct 17 12:10:47 UTC 2025 - Jan Engelhardt <[email protected]> + +- Update to release 2.26 + * Fix an issue in the testsuite with regex escaipng + +------------------------------------------------------------------- Old: ---- arping-2.25.tar.gz arping-2.25.tar.gz.asc New: ---- arping-2.26.tar.gz arping-2.26.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arping2.spec ++++++ --- /var/tmp/diff_new_pack.vmqAge/_old 2025-10-17 17:30:06.812937903 +0200 +++ /var/tmp/diff_new_pack.vmqAge/_new 2025-10-17 17:30:06.816938071 +0200 @@ -17,7 +17,7 @@ Name: arping2 -Version: 2.25 +Version: 2.26 Release: 0 Summary: Layer-2 Ethernet pinger License: GPL-2.0-or-later ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.vmqAge/_old 2025-10-17 17:30:06.868940261 +0200 +++ /var/tmp/diff_new_pack.vmqAge/_new 2025-10-17 17:30:06.872940430 +0200 @@ -1,5 +1,5 @@ -mtime: 1725717163 -commit: 310e5eda5dd6188fd267e1cb3c45817d2839402e2df49d11fdf8540c86ae100e +mtime: 1760703132 +commit: 665464bf1fdecc54c73829a7dda00f2970469465f9f0f487ceaecdfd92582d3a url: https://src.opensuse.org/jengelh/arping2 revision: master ++++++ arping-2.25.tar.gz -> arping-2.26.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/.github/FUNDING.yml new/arping-2.26/.github/FUNDING.yml --- old/arping-2.25/.github/FUNDING.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/arping-2.26/.github/FUNDING.yml 2025-07-01 21:21:28.000000000 +0200 @@ -0,0 +1 @@ +github: ThomasHabets diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/.github/workflows/c-cpp.yml new/arping-2.26/.github/workflows/c-cpp.yml --- old/arping-2.25/.github/workflows/c-cpp.yml 2024-06-29 14:12:13.000000000 +0200 +++ new/arping-2.26/.github/workflows/c-cpp.yml 2025-07-01 21:21:28.000000000 +0200 @@ -14,7 +14,7 @@ steps: - uses: actions/checkout@v3 - name: Required dependencies - run: sudo apt-get install -y libnet1-dev libpcap-dev automake autoconf check tcpdump + run: sudo apt-get install -y libnet1-dev libpcap-dev automake autoconf check tcpdump openssh-server - name: bootstrap run: ./bootstrap.sh - name: configure diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/config.h.in new/arping-2.26/config.h.in --- old/arping-2.25/config.h.in 2024-06-29 14:12:15.000000000 +0200 +++ new/arping-2.26/config.h.in 2025-07-01 21:21:29.000000000 +0200 @@ -1,5 +1,11 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Actually has cap_init() */ +#undef ACTUALLY_HAS_CAP_INIT + +/* Actually has getrandom() */ +#undef ACTUALLY_HAS_GETRANDOM + /* Disable seccomp by default */ #undef DEFAULT_SECCOMP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/configure new/arping-2.26/configure --- old/arping-2.25/configure 2024-06-29 14:12:15.000000000 +0200 +++ new/arping-2.26/configure 2025-07-01 21:21:29.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for arping 2.25. +# Generated by GNU Autoconf 2.71 for arping 2.26. # # Report bugs to <[email protected]>. # @@ -611,8 +611,8 @@ # Identity of this package. PACKAGE_NAME='arping' PACKAGE_TARNAME='arping' -PACKAGE_VERSION='2.25' -PACKAGE_STRING='arping 2.25' +PACKAGE_VERSION='2.26' +PACKAGE_STRING='arping 2.26' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1326,7 +1326,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures arping 2.25 to adapt to many kinds of systems. +\`configure' configures arping 2.26 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1398,7 +1398,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of arping 2.25:";; + short | recursive ) echo "Configuration of arping 2.26:";; esac cat <<\_ACEOF @@ -1496,7 +1496,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -arping configure 2.25 +arping configure 2.26 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1549,6 +1549,39 @@ } # ac_fn_c_try_compile +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. @@ -1596,39 +1629,6 @@ } # ac_fn_c_try_link -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - # ac_fn_c_find_uintX_t LINENO BITS VAR # ------------------------------------ # Finds an unsigned integer type with width BITS, setting cache variable VAR @@ -1861,7 +1861,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by arping $as_me 2.25, which was +It was created by arping $as_me 2.26, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3250,7 +3250,7 @@ # Define the identity of the package. PACKAGE='arping' - VERSION='2.25' + VERSION='2.26' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -4704,6 +4704,298 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +# Checks for header files. +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes +then : + printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" +if test "x$ac_cv_header_getopt_h" = xyes +then : + printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes +then : + printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "seccomp.h" "ac_cv_header_seccomp_h" "$ac_includes_default" +if test "x$ac_cv_header_seccomp_h" = xyes +then : + printf "%s\n" "#define HAVE_SECCOMP_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes +then : + printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" +if test "x$ac_cv_header_time_h" = xyes +then : + printf "%s\n" "#define HAVE_TIME_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default" +if test "x$ac_cv_header_grp_h" = xyes +then : + printf "%s\n" "#define HAVE_GRP_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_types_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_param_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_capability_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_CAPABILITY_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes +then : + printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "libnet.h" "ac_cv_header_libnet_h" "$ac_includes_default" +if test "x$ac_cv_header_libnet_h" = xyes +then : + printf "%s\n" "#define HAVE_LIBNET_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "win32/libnet.h" "ac_cv_header_win32_libnet_h" "$ac_includes_default" +if test "x$ac_cv_header_win32_libnet_h" = xyes +then : + printf "%s\n" "#define HAVE_WIN32_LIBNET_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/random.h" "ac_cv_header_sys_random_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_random_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_RANDOM_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "net/bpf.h" "ac_cv_header_net_bpf_h" "$ac_includes_default" +if test "x$ac_cv_header_net_bpf_h" = xyes +then : + printf "%s\n" "#define HAVE_NET_BPF_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" +if test "x$ac_cv_header_pwd_h" = xyes +then : + printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes +then : + printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h + +fi + + # Checks for libraries. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 printf %s "checking for sqrt in -lm... " >&6; } @@ -5178,302 +5470,76 @@ fi -# Checks for header files. -ac_header= ac_cache= -for ac_item in $ac_header_c_list -do - if test $ac_cache; then - ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" - if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then - printf "%s\n" "#define $ac_item 1" >> confdefs.h - fi - ac_header= ac_cache= - elif test $ac_header; then - ac_cache=$ac_item - else - ac_header=$ac_item - fi -done - - - - - - - - -if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes -then : - -printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in grep ggrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -# Autoupdate added the next two lines to ensure that your configure -# script's behavior did not change. They are probably safe to remove. - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in egrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" -if test "x$ac_cv_header_arpa_inet_h" = xyes -then : - printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" -if test "x$ac_cv_header_getopt_h" = xyes -then : - printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" -if test "x$ac_cv_header_netinet_in_h" = xyes -then : - printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "seccomp.h" "ac_cv_header_seccomp_h" "$ac_includes_default" -if test "x$ac_cv_header_seccomp_h" = xyes -then : - printf "%s\n" "#define HAVE_SECCOMP_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes -then : - printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_socket_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" -if test "x$ac_cv_header_time_h" = xyes -then : - printf "%s\n" "#define HAVE_TIME_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default" -if test "x$ac_cv_header_grp_h" = xyes -then : - printf "%s\n" "#define HAVE_GRP_H 1" >>confdefs.h +# Libnet include file is not optional +if test ! x$ac_cv_header_libnet_h = xyes; then + as_fn_error $? "Can't find libnet.h. See INSTALL file for where to get Libnet" "$LINENO" 5 fi -ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_time_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_types_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h +# Workaround for Android apparently having the headers, and having the library +# function, but not having the declaration in sys/random.h and +# sys/capabilities.h. +# See issue #49 and #57. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if system actually has cap_init" >&5 +printf %s "checking if system actually has cap_init... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include<sys/capability.h> +int +main (void) +{ +cap_t t = cap_init(); -fi -ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" then : - printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_capability_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_CAPABILITY_H 1" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -fi -ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes -then : - printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h +printf "%s\n" "#define ACTUALLY_HAS_CAP_INIT 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "libnet.h" "ac_cv_header_libnet_h" "$ac_includes_default" -if test "x$ac_cv_header_libnet_h" = xyes -then : - printf "%s\n" "#define HAVE_LIBNET_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "win32/libnet.h" "ac_cv_header_win32_libnet_h" "$ac_includes_default" -if test "x$ac_cv_header_win32_libnet_h" = xyes -then : - printf "%s\n" "#define HAVE_WIN32_LIBNET_H 1" >>confdefs.h +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -ac_fn_c_check_header_compile "$LINENO" "sys/random.h" "ac_cv_header_sys_random_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_random_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_RANDOM_H 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if system actually has getrandom" >&5 +printf %s "checking if system actually has getrandom... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include<sys/random.h> +int +main (void) +{ +ssize_t n = getrandom((void*)0, 16, 0) -fi -ac_fn_c_check_header_compile "$LINENO" "net/bpf.h" "ac_cv_header_net_bpf_h" "$ac_includes_default" -if test "x$ac_cv_header_net_bpf_h" = xyes + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" then : - printf "%s\n" "#define HAVE_NET_BPF_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" -if test "x$ac_cv_header_pwd_h" = xyes -then : - printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -fi -ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" -if test "x$ac_cv_header_unistd_h" = xyes -then : - printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h +printf "%s\n" "#define ACTUALLY_HAS_GETRANDOM 1" >>confdefs.h -fi +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } -# Libnet include file is not optional -if test ! x$ac_cv_header_libnet_h = xyes; then - as_fn_error $? "Can't find libnet.h. See INSTALL file for where to get Libnet" "$LINENO" 5 fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext # Checks for typedefs, structures, and compiler characteristics. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 @@ -7566,7 +7632,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by arping $as_me 2.25, which was +This file was extended by arping $as_me 2.26, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7634,7 +7700,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -arping config.status 2.25 +arping config.status 2.26 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/configure.ac new/arping-2.26/configure.ac --- old/arping-2.25/configure.ac 2024-06-29 14:12:13.000000000 +0200 +++ new/arping-2.26/configure.ac 2025-07-01 21:21:28.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT(arping, 2.25, [email protected]) +AC_INIT(arping, 2.26, [email protected]) AC_CANONICAL_SYSTEM AC_CONFIG_SRCDIR([src/arping.c]) AM_INIT_AUTOMAKE @@ -35,6 +35,29 @@ CHECK_COMPILER_OPTION([-std=c99]) +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([\ +arpa/inet.h \ +getopt.h \ +netinet/in.h \ +seccomp.h \ +stdlib.h \ +sys/socket.h \ +time.h \ +grp.h \ +sys/time.h \ +sys/types.h \ +sys/param.h \ +sys/capability.h \ +stdint.h \ +libnet.h \ +win32/libnet.h \ +sys/random.h \ +net/bpf.h \ +pwd.h \ +unistd.h]) + # Checks for libraries. AC_CHECK_LIB([m], [sqrt]) AC_CHECK_LIB([socket], [socket]) @@ -60,34 +83,41 @@ ], [ AC_DEFINE([DEFAULT_SECCOMP], [0], [Disable seccomp by default]) ]) -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([\ -arpa/inet.h \ -getopt.h \ -netinet/in.h \ -seccomp.h \ -stdlib.h \ -sys/socket.h \ -time.h \ -grp.h \ -sys/time.h \ -sys/types.h \ -sys/param.h \ -sys/capability.h \ -stdint.h \ -libnet.h \ -win32/libnet.h \ -sys/random.h \ -net/bpf.h \ -pwd.h \ -unistd.h]) # Libnet include file is not optional if test ! x$ac_cv_header_libnet_h = xyes; then AC_MSG_ERROR([Can't find libnet.h. See INSTALL file for where to get Libnet]) fi +# Workaround for Android apparently having the headers, and having the library +# function, but not having the declaration in sys/random.h and +# sys/capabilities.h. +# See issue #49 and #57. +AC_MSG_CHECKING([if system actually has cap_init]) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include<sys/capability.h>], + [cap_t t = cap_init();] + )], + [ + AC_MSG_RESULT(yes) + AC_DEFINE([ACTUALLY_HAS_CAP_INIT], [1], [Actually has cap_init()]) + ], + [AC_MSG_RESULT(no)] +) +AC_MSG_CHECKING([if system actually has getrandom]) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include<sys/random.h>], + [ssize_t n = getrandom((void*)0, 16, 0)] + )], + [ + AC_MSG_RESULT(yes) + AC_DEFINE([ACTUALLY_HAS_GETRANDOM], [1], [Actually has getrandom()]) + ], + [AC_MSG_RESULT(no)] +) + # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_HEADER_TIME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/src/arping.c new/arping-2.26/src/arping.c --- old/arping-2.25/src/arping.c 2024-06-29 14:12:13.000000000 +0200 +++ new/arping-2.26/src/arping.c 2025-07-01 21:21:28.000000000 +0200 @@ -15,7 +15,7 @@ * */ /* - * Copyright (C) 2000-2022 Thomas Habets <[email protected]> + * Copyright (C) 2000-2024 Thomas Habets <[email protected]> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -186,7 +186,7 @@ static uint8_t dstmac[ETH_ALEN]; static char* payload_suffix = NULL; -static size_t payload_suffix_size = 4; +static const size_t payload_suffix_size = 4; /* If there were any libnet write failures, we return error. */ static size_t libnet_write_failures = 0; @@ -382,7 +382,7 @@ static ssize_t xgetrandom(void *buf, const size_t buflen, const unsigned int flags) { -#ifdef HAVE_GETRANDOM +#ifdef ACTUALLY_HAVE_GETRANDOM return getrandom(buf, buflen, flags); #else UNUSED(flags); @@ -499,7 +499,7 @@ static void drop_capabilities() { -#if HAVE_CAP_INIT +#ifdef ACTUALLY_HAVE_CAP_INIT cap_t no_cap; if (!(no_cap = cap_init())) { if (verbose) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/tests/regmatch.py new/arping-2.26/tests/regmatch.py --- old/arping-2.25/tests/regmatch.py 2024-06-29 14:12:13.000000000 +0200 +++ new/arping-2.26/tests/regmatch.py 2025-07-01 21:21:28.000000000 +0200 @@ -3,7 +3,7 @@ import re import sys -rdata = '\A' + open(sys.argv[1]).read() + '\Z' +rdata = '\\A' + open(sys.argv[1]).read() + '\\Z' r = re.compile(rdata, re.MULTILINE | re.DOTALL) data = sys.stdin.read() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arping-2.25/tests/simple_verbose.out new/arping-2.26/tests/simple_verbose.out --- old/arping-2.25/tests/simple_verbose.out 2024-06-29 14:12:13.000000000 +0200 +++ new/arping-2.26/tests/simple_verbose.out 2025-07-01 21:21:28.000000000 +0200 @@ -1,5 +1,6 @@ arping: Autodetected interface veth0 -This box: Interface: veth0 IP: 192[.]0[.]2[.]100 MAC address: 00:01:02:33:44:00 +(arping: chdir\([^)]+\): No such file or directory +)?This box: Interface: veth0 IP: 192[.]0[.]2[.]100 MAC address: 00:01:02:33:44:00 ARPING 192[.]0[.]2[.]101 42 bytes from 00:01:02:33:44:01 \(192[.]0[.]2[.]101\): index=0 time=\d+[.]\d+ usec ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-10-17 14:16:02.000000000 +0200 @@ -0,0 +1 @@ +.osc
