aboutsummaryrefslogtreecommitdiffstats
path: root/openwrt/package/fping/patches/debian-10.patch
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/fping/patches/debian-10.patch')
-rw-r--r--openwrt/package/fping/patches/debian-10.patch165
1 files changed, 0 insertions, 165 deletions
diff --git a/openwrt/package/fping/patches/debian-10.patch b/openwrt/package/fping/patches/debian-10.patch
deleted file mode 100644
index fbf7d8ba06..0000000000
--- a/openwrt/package/fping/patches/debian-10.patch
+++ /dev/null
@@ -1,165 +0,0 @@
---- fping-2.4b2-to-ipv6.orig/fping.8
-+++ fping-2.4b2-to-ipv6/fping.8
-@@ -1,4 +1,4 @@
--.TH fping l
-+.TH fping 8
- .SH NAME
- fping \- send ICMP ECHO_REQUEST packets to network hosts
- .SH SYNOPSIS
-@@ -152,7 +152,7 @@
- example none the less.
- .nf
-
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
- require 'open2.pl';
-
- $MAILTO = "root";
-@@ -178,7 +178,7 @@
- that are currently reachable.
- .nf
-
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
-
- $hosts_to_backup = `cat /etc/hosts.backup | fping -a`;
-
---- fping-2.4b2-to-ipv6.orig/fping.c
-+++ fping-2.4b2-to-ipv6/fping.c
-@@ -42,7 +42,6 @@
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
--#define IPV6 1 /* This should be a compiler option, or even better be done from the Makefile... ;) */
-
- #ifndef _NO_PROTO
- #if !__STDC__ && !defined( __cplusplus ) && !defined( FUNCPROTO ) \
-@@ -101,13 +100,8 @@
- #endif
- #include <netinet/in_systm.h>
-
--/* Linux has bizarre ip.h and ip_icmp.h */
--#if defined( __linux__ )
--#include "linux.h"
--#else
- #include <netinet/ip.h>
- #include <netinet/ip_icmp.h>
--#endif /* defined(__linux__) */
-
- #include <arpa/inet.h>
- #include <netdb.h>
-@@ -150,7 +144,11 @@
- #define MIN_PING_DATA sizeof( PING_DATA )
- #define MAX_IP_PACKET 65536 /* (theoretical) max IP packet size */
- #define SIZE_IP_HDR 20
-+#ifndef IPV6
- #define SIZE_ICMP_HDR ICMP_MINLEN /* from ip_icmp.h */
-+#else
-+#define SIZE_ICMP_HDR sizeof(FPING_ICMPHDR)
-+#endif
- #define MAX_PING_DATA ( MAX_IP_PACKET - SIZE_IP_HDR - SIZE_ICMP_HDR )
-
- /* sized so as to be like traditional ping */
-@@ -474,6 +472,35 @@
- sizeof(opton)))
- err(1, "setsockopt(IPV6_RTHDR)");
- #endif
-+#ifndef USE_SIN6_SCOPE_ID
-+#ifdef IPV6_RECVPKTINFO
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_RECVPKTINFO)");
-+#else /* old adv. API */
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_PKTINFO, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_PKTINFO)");
-+#endif
-+#endif /* USE_SIN6_SCOPE_ID */
-+#ifdef IPV6_RECVHOPLIMIT
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_RECVHOPLIMIT)");
-+#else /* old adv. API */
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_HOPLIMIT, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_HOPLIMIT)");
-+#endif
-+#ifdef IPV6_CHECKSUM
-+#ifndef SOL_RAW
-+#define SOL_RAW IPPROTO_IPV6
-+#endif
-+ opton = 2;
-+ if (setsockopt(s, SOL_RAW, IPV6_CHECKSUM, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(SOL_RAW,IPV6_CHECKSUM)");
-+#endif
- #endif
-
- if( ( uid = getuid() ) )
-@@ -1112,7 +1139,7 @@
- /* but allow time for the last one to come in */
- if( count_flag )
- {
-- if( ( cursor->num_sent >= count ) && ( ht > cursor->timeout ) )
-+ if( ( cursor->num_sent >= count ) && ( cursor->num_recv >= count || ht > cursor->timeout ) )
- {
- remove_job( cursor );
- continue;
-@@ -1382,15 +1409,15 @@
- if( h->num_recv_i <= h->num_sent_i )
- {
- fprintf( stderr, " xmt/rcv/%%loss = %d/%d/%d%%",
-- h->num_sent_i, h->num_recv_i,
-- ( ( h->num_sent_i - h->num_recv_i ) * 100 ) / h->num_sent_i );
-+ h->num_sent_i, h->num_recv_i, h->num_sent_i > 0 ?
-+ ( ( h->num_sent_i - h->num_recv_i ) * 100 ) / h->num_sent_i : 0 );
-
- }/* IF */
- else
- {
- fprintf( stderr, " xmt/rcv/%%return = %d/%d/%d%%",
-- h->num_sent_i, h->num_recv_i,
-- ( ( h->num_recv_i * 100 ) / h->num_sent_i ) );
-+ h->num_sent_i, h->num_recv_i, h->num_sent_i > 0 ?
-+ ( ( h->num_recv_i * 100 ) / h->num_sent_i ) : 0 );
-
- }/* ELSE */
-
-@@ -2165,20 +2192,33 @@
- struct addrinfo *res, hints;
- int ret_ga;
- char *hostname;
-+ size_t len;
-
- /* getaddrinfo */
- bzero(&hints, sizeof(struct addrinfo));
-- hints.ai_flags = AI_CANONNAME;
-+ hints.ai_flags = name_flag ? AI_CANONNAME : 0;
- hints.ai_family = AF_INET6;
- hints.ai_socktype = SOCK_RAW;
- hints.ai_protocol = IPPROTO_ICMPV6;
-
- ret_ga = getaddrinfo(name, NULL, &hints, &res);
-- if (ret_ga) errx(1, "%s", gai_strerror(ret_ga));
-+ if (ret_ga) {
-+ if(!quiet_flag)
-+ warnx("%s", gai_strerror(ret_ga));
-+ num_noaddress++;
-+ return;
-+ }
- if (res->ai_canonname) hostname = res->ai_canonname;
- else hostname = name;
-- if (!res->ai_addr) errx(1, "getaddrinfo failed");
-- (void)memcpy(&dst, res->ai_addr, sizeof(FPING_SOCKADDR)); /*res->ai_addrlen);*/
-+ if (!res->ai_addr) {
-+ if(!quiet_flag)
-+ warnx("getaddrinfo failed");
-+ num_noaddress++;
-+ return;
-+ }
-+ len = res->ai_addrlen;
-+ if (len > sizeof(FPING_SOCKADDR)) len = sizeof(FPING_SOCKADDR);
-+ (void)memcpy(&dst, res->ai_addr, len);
- add_addr(name, name, &dst);
- #endif
- } /* add_name() */