Hello community, here is the log from the commit of package arp-scan for openSUSE:Factory checked in at 2019-11-15 00:18:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arp-scan (Old) and /work/SRC/openSUSE:Factory/.arp-scan.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arp-scan" Fri Nov 15 00:18:08 2019 rev:7 rq:748657 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/arp-scan/arp-scan.changes 2019-10-25 18:43:04.847951634 +0200 +++ /work/SRC/openSUSE:Factory/.arp-scan.new.26869/arp-scan.changes 2019-11-15 00:18:09.451994775 +0100 @@ -1,0 +2,6 @@ +Thu Nov 14 12:11:42 UTC 2019 - Martin Pluskal <[email protected]> + +- Update to version 1.9.7: + * Internal changes only + +------------------------------------------------------------------- Old: ---- arp-scan-1.9.6.tar.gz New: ---- arp-scan-1.9.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arp-scan.spec ++++++ --- /var/tmp/diff_new_pack.6tiaFd/_old 2019-11-15 00:18:10.111994546 +0100 +++ /var/tmp/diff_new_pack.6tiaFd/_new 2019-11-15 00:18:10.111994546 +0100 @@ -1,7 +1,7 @@ # # spec file for package arp-scan # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: arp-scan -Version: 1.9.6 +Version: 1.9.7 Release: 0 Summary: ARP scanning and fingerprinting tool # strlcpy.c and strlcat.c have ISC header and embeded {getopt,obstack}.{c,h} has LGPL-2.1 ++++++ arp-scan-1.9.6.tar.gz -> arp-scan-1.9.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/.gitignore new/arp-scan-1.9.7/.gitignore --- old/arp-scan-1.9.6/.gitignore 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/.gitignore 2019-11-10 12:20:52.000000000 +0100 @@ -19,6 +19,7 @@ stamp-h1 compile test-driver +configure.ac~ # Compiler output files *.o arp-scan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/ChangeLog new/arp-scan-1.9.7/ChangeLog --- old/arp-scan-1.9.6/ChangeLog 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/ChangeLog 2019-11-10 12:20:52.000000000 +0100 @@ -1,3 +1,13 @@ +2019-10-24 Roy Hills <[email protected]> + + * configure.ac: Increment version number to 1.9.7 in preparation for + new release. + + * configure.ac, acinclude.m4: Tidy up: remove obsolescent and unused + autoconf macros. + + * Modified copyright statement in files to include up to 2019. + 2019-10-20 Roy Hills <[email protected]> * arp-scan.c: Call the pcap functions before get_hardware_address() to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/README.md new/arp-scan-1.9.7/README.md --- old/arp-scan-1.9.6/README.md 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/README.md 2019-11-10 12:20:52.000000000 +0100 @@ -14,21 +14,19 @@ arp-scan uses the standard GNU automake and autoconf tools, so the typical installation process is: -- Run ```git clone https://github.com/royhills/arp-scan.git``` to obtain the project source code -- Run ```cd arp-scan``` to enter source directory +- Run ```git clone https://github.com/royhills/arp-scan.git``` to obtain the latest project source code +- Run ```cd arp-scan``` to enter the source directory - Run ```autoreconf --install``` to generate a viable ./configure file - Run ```./configure``` to generate a makefile for your system - Run ```make``` to build the project - Optionally run ```make check``` to verify that everything works as expected -- Run ```make install``` to install (you'll need root or sudo for this part) +- Run ```make install``` to install (you'll need to be root or use sudo/doas for this part) -You will need GNU automake and autoconf, the make utility, an ANSI C compiler (for example gcc or clang), the development header files and libraries, and libpcap version 1.0 or later. +You will need GNU automake and autoconf, the make utility, an ANSI C compiler (for example gcc or clang), the development header files and libraries, and libpcap version 1.5 or later. If you want to run the Perl scripts arp-fingerprint, get-oui and get-iab, you -will need to have the Perl interpreter installed. These scripts were tested -on Perl 5.8 and 5.10, but will probably run on other versions of Perl 5 as well. -In addition, for get-oui and get-iab, you will need the LWP::UserAgent Perl -module. +will need to have the Perl interpreter installed. In addition, for get-oui +and get-iab, you will need the LWP::UserAgent Perl module. You can pass various options to "configure" to control the build and installation process. See the file INSTALL for more details. @@ -41,12 +39,12 @@ - NetBSD - DragonflyBSD - MacOS X - - Solaris + - Solaris 10 (there are known problems with Solaris 11) All platforms use libpcap (http://www.tcpdump.org/) to send the ARP packets and receive the responses. -The only peice of the code that is implementation-specific is the function to +The only piece of the code that is implementation-specific is the function to obtain the interface MAC address. This uses Packet Socket on Linux, BPF on BSD and DLPI on Solaris. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/acinclude.m4 new/arp-scan-1.9.7/acinclude.m4 --- old/arp-scan-1.9.6/acinclude.m4 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/acinclude.m4 2019-11-10 12:20:52.000000000 +0100 @@ -1,223 +1,5 @@ dnl NTA Monitor autoconf macros -dnl AC_NTA_CHECK_TYPE -- See if a type exists using reasonable includes -dnl -dnl Although there is a standard macro AC_CHECK_TYPE, we can't always -dnl use this because it doesn't include enough header files. -dnl -AC_DEFUN([AC_NTA_CHECK_TYPE], - [AC_MSG_CHECKING([for $1 using $CC]) - AC_CACHE_VAL(ac_cv_nta_have_$1, - AC_TRY_COMPILE([ -# include "confdefs.h" -# include <stdio.h> -# if HAVE_SYS_TYPES_H -# include <sys/types.h> -# endif -# if HAVE_SYS_STAT_H -# include <sys/stat.h> -# endif -# ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -# endif -# if HAVE_INTTYPES_H -# include <inttypes.h> -# else -# if HAVE_STDINT_H -# include <stdint.h> -# endif -# endif -# if HAVE_UNISTD_H -# include <unistd.h> -# endif -# ifdef HAVE_ARPA_INET_H -# include <arpa/inet.h> -# endif -# ifdef HAVE_NETDB_H -# include <netdb.h> -# endif -# ifdef HAVE_NETINET_IN_H -# include <netinet/in.h> -# endif -# ifdef SYS_SOCKET_H -# include <sys/socket.h> -# endif - ], - [$1 i], - ac_cv_nta_have_$1=yes, - ac_cv_nta_have_$1=no)) - AC_MSG_RESULT($ac_cv_nta_have_$1) - if test $ac_cv_nta_have_$1 = no ; then - AC_DEFINE($1, $2, [Define to required type if we don't have $1]) - fi]) - -dnl AC_NTA_NET_SIZE_T -- Determine type of 3rd argument to accept -dnl -dnl This type is normally socklen_t but is sometimes size_t or int instead. -dnl We try, in order: socklen_t, int, size_t until we find one that compiles -dnl -AC_DEFUN([AC_NTA_NET_SIZE_T], - [AC_MSG_CHECKING([for socklen_t or equivalent using $CC]) - ac_nta_net_size_t=no - AC_TRY_COMPILE([ -# include "confdefs.h" -# include <sys/types.h> -# ifdef HAVE_SYS_SOCKET_H -# include <sys/socket.h> -# endif], - [int s; - struct sockaddr addr; - socklen_t addrlen; - int result; - result=accept(s, &addr, &addrlen)], - ac_nta_net_size_t=socklen_t,ac_nta_net_size_t=no) - if test $ac_nta_net_size_t = no; then - AC_TRY_COMPILE([ -# include "confdefs.h" -# include <sys/types.h> -# ifdef HAVE_SYS_SOCKET_H -# include <sys/socket.h> -# endif], - [int s; - struct sockaddr addr; - int addrlen; - int result; - result=accept(s, &addr, &addrlen)], - ac_nta_net_size_t=int,ac_nta_net_size_t=no) - fi - if test $ac_nta_net_size_t = no; then - AC_TRY_COMPILE([ -# include "confdefs.h" -# include <sys/types.h> -# ifdef HAVE_SYS_SOCKET_H -# include <sys/socket.h> -# endif], - [int s; - struct sockaddr addr; - size_t addrlen; - int result; - result=accept(s, &addr, &addrlen)], - ac_nta_net_size_t=size_t,ac_nta_net_size_t=no) - fi - if test $ac_nta_net_size_t = no; then - AC_MSG_ERROR([Cannot find acceptable type for 3rd arg to accept()]) - else - AC_MSG_RESULT($ac_nta_net_size_t) - AC_DEFINE_UNQUOTED(NET_SIZE_T, $ac_nta_net_size_t, [Define required type for 3rd arg to accept()]) - fi - ]) - -dnl PGAC_TYPE_64BIT_INT(TYPE) -dnl ------------------------- -dnl Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to -dnl yes or no respectively, and define HAVE_TYPE_64 if yes. -dnl -dnl This function comes from the Postgresql file: -dnl pgsql/config/c-compiler.m4,v 1.13 -dnl -AC_DEFUN([PGAC_TYPE_64BIT_INT], -[define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl -define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl -AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar], -[AC_TRY_RUN( -[typedef $1 int64; - -/* - * These are globals to discourage the compiler from folding all the - * arithmetic tests down to compile-time constants. - */ -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d; - - if (sizeof(int64) != 8) - return 0; /* definitely not the right size */ - - /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ - c = a * b; - d = (c + b) / b; - if (d != a+1) - return 0; - return 1; -} -main() { - return !does_int64_work(); -}], -[Ac_cachevar=yes], -[Ac_cachevar=no], -[# If cross-compiling, check the size reported by the compiler and -# trust that the arithmetic works. -AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [sizeof($1) == 8])], - Ac_cachevar=yes, - Ac_cachevar=no)])]) - -Ac_define=$Ac_cachevar -if test x"$Ac_cachevar" = xyes ; then - AC_DEFINE(Ac_define,, [Define to 1 if `]$1[' works and is 64 bits.]) -fi -undefine([Ac_define])dnl -undefine([Ac_cachevar])dnl -])# PGAC_TYPE_64BIT_INT - -dnl PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT -dnl --------------------------------------- -dnl Determine which format snprintf uses for long long int. We handle -dnl %lld, %qd, %I64d. The result is in shell variable -dnl LONG_LONG_INT_FORMAT. -dnl -dnl MinGW uses '%I64d', though gcc throws an warning with -Wall, -dnl while '%lld' doesn't generate a warning, but doesn't work. -dnl -dnl This function comes from the Postgresql file: -dnl pgsql/config/c-library.m4,v 1.28 -dnl -AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT], -[AC_MSG_CHECKING([snprintf format for long long int]) -AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format, -[for pgac_format in '%lld' '%qd' '%I64d'; do -AC_TRY_RUN([#include <stdio.h> -typedef long long int int64; -#define INT64_FORMAT "$pgac_format" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_snprintf_work() -{ - int64 c; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - c = a * b; - snprintf(buf, 100, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or snprintf is busted */ - return 1; -} -main() { - return !does_int64_snprintf_work(); -}], -[pgac_cv_snprintf_long_long_int_format=$pgac_format; break], -[], -[pgac_cv_snprintf_long_long_int_format=cross; break]) -done])dnl AC_CACHE_VAL - -LONG_LONG_INT_FORMAT='' - -case $pgac_cv_snprintf_long_long_int_format in - cross) AC_MSG_RESULT([assuming %lld for cross compilation]) - LONG_LONG_INT_FORMAT='%lld';; - ?*) AC_MSG_RESULT([$pgac_cv_snprintf_long_long_int_format]) - LONG_LONG_INT_FORMAT=$pgac_cv_snprintf_long_long_int_format;; - *) AC_MSG_RESULT(none);; -esac])# PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT - dnl dnl Useful macros for autoconf to check for ssp-patched gcc dnl 1.0 - September 2003 - Tiago Sousa <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/arp-scan.c new/arp-scan-1.9.7/arp-scan.c --- old/arp-scan-1.9.6/arp-scan.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/arp-scan.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. @@ -95,8 +95,8 @@ struct timeval now; struct timeval diff; /* Difference between two timevals */ int select_timeout; /* Select timeout */ - ARP_UINT64 loop_timediff; /* Time since last packet sent in us */ - ARP_UINT64 host_timediff; /* Time since last pkt sent to this host (us) */ + uint64_t loop_timediff; /* Time since last packet sent in us */ + uint64_t host_timediff; /* Time since last pkt sent to this host (us) */ struct timeval last_packet_time; /* Time last packet was sent */ int req_interval; /* Requested per-packet interval */ int cum_err=0; /* Cumulative timing error */ @@ -487,7 +487,7 @@ if (packet_out_len < MINIMUM_FRAME_SIZE) packet_out_len = MINIMUM_FRAME_SIZE; /* Adjust to minimum size */ packet_out_len += PACKET_OVERHEAD; /* Add layer 2 overhead */ - interval = ((ARP_UINT64)packet_out_len * 8 * 1000000) / bandwidth; + interval = ((uint64_t)packet_out_len * 8 * 1000000) / bandwidth; if (verbose > 1) { warn_msg("DEBUG: pkt len=%u bytes, bandwidth=%u bps, interval=%u us", packet_out_len, bandwidth, interval); @@ -524,7 +524,7 @@ * potentially send a packet to the current host. */ timeval_diff(&now, &last_packet_time, &diff); - loop_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; + loop_timediff = (uint64_t)1000000*diff.tv_sec + diff.tv_usec; if (loop_timediff >= (unsigned)req_interval) { /* * If the last packet to this host was sent more than the current @@ -532,7 +532,7 @@ * to it. */ timeval_diff(&now, &((*cursor)->last_send_time), &diff); - host_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; + host_timediff = (uint64_t)1000000*diff.tv_sec + diff.tv_usec; if (host_timediff >= (*cursor)->timeout) { if (reset_cum_err) { cum_err = 0; @@ -564,7 +564,7 @@ remove_host(cursor); /* Automatically calls advance_cursor() */ if (first_timeout) { timeval_diff(&now, &((*cursor)->last_send_time), &diff); - host_timediff = (ARP_UINT64)1000000*diff.tv_sec + + host_timediff = (uint64_t)1000000*diff.tv_sec + diff.tv_usec; while (host_timediff >= (*cursor)->timeout && live_count) { if ((*cursor)->live) { @@ -576,7 +576,7 @@ advance_cursor(); } timeval_diff(&now, &((*cursor)->last_send_time), &diff); - host_timediff = (ARP_UINT64)1000000*diff.tv_sec + + host_timediff = (uint64_t)1000000*diff.tv_sec + diff.tv_usec; } first_timeout=0; @@ -983,7 +983,7 @@ fprintf(stdout, "<s> A character string, e.g. --file=hostlist.txt.\n"); fprintf(stdout, "\n"); fprintf(stdout, "<i> An integer, which can be specified as a decimal number or as a hexadecimal\n"); - fprintf(stdout, " number if preceeded with 0x, e.g. --arppro=2048 or --arpro=0x0800.\n"); + fprintf(stdout, " number if preceded with 0x, e.g. --arppro=2048 or --arpro=0x0800.\n"); fprintf(stdout, "\n"); fprintf(stdout, "<f> A floating point decimal number, e.g. --backoff=1.5.\n"); fprintf(stdout, "\n"); @@ -1063,7 +1063,7 @@ fprintf(stdout, "\n--randomseed=<i>\tUse <i> to seed the pseudo random number generator.\n"); fprintf(stdout, "\t\t\tThis option seeds the PRNG with the specified number,\n"); fprintf(stdout, "\t\t\twhich can be useful if you want to ensure that the\n"); - fprintf(stdout, "\t\t\trandom host list is reproducable. By default, the PRNG\n"); + fprintf(stdout, "\t\t\trandom host list is reproducible. By default, the PRNG\n"); fprintf(stdout, "\t\t\tis seeded with an unpredictable value. This option is\n"); fprintf(stdout, "\t\t\tonly effective in conjunction with the --random (-R)\n"); fprintf(stdout, "\t\t\toption.\n"); @@ -1086,7 +1086,7 @@ fprintf(stdout, "\t\t\tNo protocol decoding is performed and the OUI mapping\n"); fprintf(stdout, "\t\t\tfiles are not used.\n"); fprintf(stdout, "\n--plain or -x\t\tDisplay plain output showing only responding hosts.\n"); - fprintf(stdout, "\t\t\tThis option supresses the printing of the header and\n"); + fprintf(stdout, "\t\t\tThis option suppresses the printing of the header and\n"); fprintf(stdout, "\t\t\tfooter text, and only displays one line for each\n"); fprintf(stdout, "\t\t\tresponding host. Useful if the output will be\n"); fprintf(stdout, "\t\t\tparsed by a script.\n"); @@ -1984,7 +1984,7 @@ void arp_scan_version (void) { fprintf(stdout, "%s\n\n", PACKAGE_STRING); - fprintf(stdout, "Copyright (C) 2005-2016 Roy Hills, NTA Monitor Ltd.\n"); + fprintf(stdout, "Copyright (C) 2005-2019 Roy Hills, NTA Monitor Ltd.\n"); fprintf(stdout, "arp-scan comes with NO WARRANTY to the extent permitted by law.\n"); fprintf(stdout, "You may redistribute copies of arp-scan under the terms of the GNU\n"); fprintf(stdout, "General Public License.\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/arp-scan.h new/arp-scan-1.9.7/arp-scan.h --- old/arp-scan-1.9.6/arp-scan.h 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/arp-scan.h 2019-11-10 12:20:52.000000000 +0100 @@ -28,16 +28,13 @@ #include "config.h" #endif -#ifdef STDC_HEADERS +/* C89 standard headers */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <stdarg.h> #include <errno.h> -#else -#error This program requires the ANSI C Headers -#endif #include <sys/types.h> @@ -77,15 +74,8 @@ #include <netinet/in.h> #endif -#ifdef TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# ifdef HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> #endif #ifdef HAVE_SYS_SOCKET_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/configure.ac new/arp-scan-1.9.7/configure.ac --- old/arp-scan-1.9.6/configure.ac 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/configure.ac 2019-11-10 12:20:52.000000000 +0100 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([arp-scan],[1.9.6],[https://github.com/royhills/arp-scan]) -AC_PREREQ(2.61) +AC_INIT([arp-scan],[1.9.7],[https://github.com/royhills/arp-scan]) +AC_PREREQ([2.61]) AC_REVISION($Revision$) AC_CONFIG_SRCDIR([arp-scan.c]) AM_INIT_AUTOMAKE @@ -27,6 +27,7 @@ [ AC_MSG_RESULT(no) ] ) + dnl Checks for programs. AC_PROG_CC if test -n "$GCC"; then @@ -44,11 +45,11 @@ [Define to the compiler's unused pragma]) fi AC_PROG_INSTALL -AC_PROG_LN_S dnl Checks for libraries. -dnl Solaris 10 needs nsl and socket. Linux and {Free,Open}BSD do not. -dnl Just about everything will need pcap. +dnl Solaris 10 needs -lnsl for gethostbyname() and -lsocket for socket(). +dnl Linux, {Free,Open,Net,Dragonfly}BSD and MacOS X do not. +dnl Just about everything will need -lpcap for pcap_open_live(). AC_SEARCH_LIBS([gethostbyname], [nsl]) AC_SEARCH_LIBS([socket], [socket]) AC_SEARCH_LIBS([pcap_open_live], [pcap], , @@ -60,12 +61,12 @@ dnl Check that the pcap library contains pcap_set_immediate_mode() dnl This was introduced in libpcap version 1.5, and our application requires it. dnl -dnl We perform this check as a seperate step, rather than just checking for +dnl We perform this check as a separate step, rather than just checking for dnl pcap_lib_version in the earlier AC_SEARCH_LIBS call, because it dnl allows us to provide different error messages for missing pcap and non dnl functional pcap and so avoids confusing generic error messages. dnl -AC_MSG_CHECKING([for a compatible pcap library]) +AC_MSG_CHECKING([for a compatible pcap library with pcap_set_immediate_mode]) AC_LINK_IFELSE([AC_LANG_CALL([], [pcap_set_immediate_mode])], [AC_MSG_RESULT([yes])], [ @@ -75,92 +76,27 @@ ]) dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h sys/time.h unistd.h getopt.h pcap.h sys/ioctl.h sys/stat.h fcntl.h search.h]) -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T -AC_HEADER_TIME +dnl Check for C POSIX library header files +dnl Are all valid targets POSIX compliant? If so, do we need to check these? +AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h sys/time.h unistd.h sys/stat.h fcntl.h search.h regex.h]) -dnl Check for the uint{8,16,32}_t types and, if we don't have them, define -dnl them using types which will work on most systems. -AC_NTA_CHECK_TYPE(uint8_t, unsigned char) -AC_NTA_CHECK_TYPE(uint16_t, unsigned short) -AC_NTA_CHECK_TYPE(uint32_t, unsigned int) - -dnl Checks for 64-bit integer types. These checks are from postgresql. -dnl Check to see if we have a working 64-bit integer type. -dnl This breaks down into two steps: -dnl (1) figure out if the compiler has a 64-bit int type with working -dnl arithmetic, and if so -dnl (2) see whether snprintf() can format the type correctly. - -PGAC_TYPE_64BIT_INT([long int]) - -if test x"$HAVE_LONG_INT_64" = x"yes" ; then - INT64_TYPE="long int" - UINT64_TYPE="unsigned long int" -else - PGAC_TYPE_64BIT_INT([long long int]) - if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then - INT64_TYPE="long long int" - UINT64_TYPE="unsigned long long int" - else - AC_MSG_ERROR([cannot determine 64-bit integer type]) - fi -fi - -AC_DEFINE_UNQUOTED(ARP_INT64, $INT64_TYPE, - [Define to the appropriate type for 64-bit ints.]) -AC_DEFINE_UNQUOTED(ARP_UINT64, $UINT64_TYPE, - [Define to the appropriate type for unsigned 64-bit ints.]) - -dnl If we found "long int" is 64 bits, assume snprintf handles it. If -dnl we found we need to use "long long int", better check. We cope with -dnl snprintfs that use %lld, %qd, or %I64d as the format. -dnl -if test "$HAVE_LONG_LONG_INT_64" = yes ; then - PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT - if test "$LONG_LONG_INT_FORMAT" = ""; then - AC_MSG_ERROR([cannot determine snprintf format string for long long int]) - fi - LONG_LONG_UINT_FORMAT=`echo "$LONG_LONG_INT_FORMAT" | sed 's/d$/u/'` - INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\"" - UINT64_FORMAT="\"$LONG_LONG_UINT_FORMAT\"" -else - # Here if we are not using 'long long int' at all - INT64_FORMAT='"%ld"' - UINT64_FORMAT='"%lu"' -fi +dnl Check for other required header files +AC_CHECK_HEADERS([getopt.h pcap.h sys/ioctl.h]) -AC_DEFINE_UNQUOTED(ARP_INT64_FORMAT, $INT64_FORMAT, - [Define to the appropriate snprintf format for 64-bit ints.]) +dnl Checks for typedefs, structures, and compiler characteristics. +AC_TYPE_SIZE_T -AC_DEFINE_UNQUOTED(ARP_UINT64_FORMAT, $UINT64_FORMAT, - [Define to the appropriate snprintf format for unsigned 64-bit ints.]) +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T dnl Checks for library functions. +dnl All of these are defined by POSIX AC_CHECK_FUNCS([malloc gethostbyname gettimeofday inet_ntoa memset select socket strerror]) -dnl Check if the Posix regular expression functions "regcomp" and "regexec" -dnl and the header file "regex.h" are present. -AC_MSG_CHECKING([for posix regular expression support]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include <sys/types.h> -#include <regex.h>]], -[[regcomp(0, 0, 0); -regexec(0, 0, 0, 0, 0)]])], -[ac_nta_posix_regex=yes], -[ac_nta_posic_regex=no]) -AC_MSG_RESULT([$ac_nta_posix_regex]) -if test $ac_nta_posix_regex = no; then - AC_MSG_ERROR([You don't seem to have posix regular expression support]) -else - AC_DEFINE(HAVE_REGEX_H, 1, [Define to 1 if you have posix regex support]) -fi - -dnl Determine which link-layer sending functions to use +dnl Determine which link-layer implementation to use dnl We base our choice on the operating system in $host_os case $host_os in *linux* ) @@ -200,7 +136,6 @@ ]) AC_LIBOBJ([link-dlpi]) ;; -dnl *cygwin* ) * ) AC_MSG_ERROR([Host operating system $host_os is not supported]) ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/error.c new/arp-scan-1.9.7/error.c --- old/arp-scan-1.9.6/error.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/error.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP scanner (arp-scan) is Copyright (C) 2005-2016 + * The ARP scanner (arp-scan) is Copyright (C) 2005-2019 * Roy Hills, NTA Monitor Ltd. * * This file is part of arp-scan. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/link-bpf.c new/arp-scan-1.9.7/link-bpf.c --- old/arp-scan-1.9.6/link-bpf.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/link-bpf.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see <http://www.gnu.org/licenses/>. * - * link-bpf.c -- BPF link layer send functions for arp-scan + * link-bpf.c -- BPF link layer functions for arp-scan * * Author: Roy Hills * Date: 1 July 2006 * * Description: * - * This contains the link layer sending functions using the BPF (Berkeley + * This contains the link layer functions using the BPF (Berkeley * Packet Filter) implementation. BPF is typically used on BSD systems such * as FreeBSD See bpf(4) on a FreeBSD system for details. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/link-dlpi.c new/arp-scan-1.9.7/link-dlpi.c --- old/arp-scan-1.9.6/link-dlpi.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/link-dlpi.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see <http://www.gnu.org/licenses/>. * - * link-dlpi.c -- DLPI link layer send functions for arp-scan + * link-dlpi.c -- DLPI link layer functions for arp-scan * * Author: Roy Hills * Date: 22 July 2006 * * Description: * - * This contains the link layer sending functions using the DLPI (Data Link + * This contains the link layer functions using the DLPI (Data Link * Provider Interface) implementation. DLPI is typically used on SysV systems * such as Solaris. * @@ -286,6 +286,8 @@ link_t *handle; handle = link_open(if_name); + if (!handle) + err_msg("ERROR: cannot open interface %s with DLPI", if_name); dlp = (union DL_primitives*) buf; dlp->physaddr_req.dl_primitive = DL_PHYS_ADDR_REQ; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/link-packet-socket.c new/arp-scan-1.9.7/link-packet-socket.c --- old/arp-scan-1.9.6/link-packet-socket.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/link-packet-socket.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see <http://www.gnu.org/licenses/>. * - * link-packet-socket.c -- Packet socket link layer send functions for arp-scan + * link-packet-socket.c -- Packet socket link layer functions for arp-scan * * Author: Roy Hills * Date: 1 July 2006 * * Description: * - * This contains the link layer sending functions using the packet socket + * This contains the link layer functions using the packet socket * implementation. Packet socket is typically used on Linux with kernel * version 2.2 and above. See packet(7) on a Linux system for details. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/utils.c new/arp-scan-1.9.7/utils.c --- old/arp-scan-1.9.6/utils.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/utils.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arp-scan-1.9.6/wrappers.c new/arp-scan-1.9.7/wrappers.c --- old/arp-scan-1.9.6/wrappers.c 2019-10-20 13:27:21.000000000 +0200 +++ new/arp-scan-1.9.7/wrappers.c 2019-11-10 12:20:52.000000000 +0100 @@ -1,5 +1,5 @@ /* - * The ARP Scanner (arp-scan) is Copyright (C) 2005-2016 Roy Hills, + * The ARP Scanner (arp-scan) is Copyright (C) 2005-2019 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan.
