Marcus Meissner
d7dc9a770b
- Update to version s20160308 (Changes taken from the RELNOTES file) * use syntax compatible with busybox date in Makefile * 'admin prohibited' should print !X not !S. * Makefile: use #define as in previous code changes * doc/Makefile: require bash, because we use pushd and popd * doc: don't timestamp manpages by default * ping: status() now returns received/transmitted instead of trans/recv * ping: don't mess with internals of struct msghdr * ping: ICMP error replies while errno < 0 is a hard error * ping: always use POSIX locale when parsing -i * ping: link against libm * made ping functions protocol independent * ping: perform dual-stack ping by default * ping: remove obsolete preprocessor directives * ping: avoid name clashes between IPv4 and IPv6 code * ping: merge all ping header files into a single one * ping: merge `ping6` command into `ping` * ping: refactor ping options * ping: refactor ping socket code * ping: merge IPv4 and IPv6 `pr_addr()` * ping: fix defines and libs in Makefile * ping: handle single protocol systems * iputils ping/ping6: Add a function to check if a packet is ours * ping: Add <linux/types.h> to fix compilation error. * ping6: Use GNUTLS API directly for MD5. (v2) * ping6: Use libgcrypt instead of gnutls for MD5. * Allow ping to use IPv6 addresses * ping,ping6 doc: More description on CAP_NET_RAW usage. * if IPv4 resolving fails fallback to ping6 * ping: in usage print the 'ping -6' options as well OBS-URL: https://build.opensuse.org/request/show/397465 OBS-URL: https://build.opensuse.org/package/show/network:utilities/iputils?expand=0&rev=41
42 lines
1.0 KiB
Diff
42 lines
1.0 KiB
Diff
From 41e442fea26f20ceb815306777d36361575825cc Mon Sep 17 00:00:00 2001
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
Date: Mon, 26 Aug 2013 13:05:01 +0200
|
|
Subject: Allow ping to be interrupted
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
---
|
|
ping.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
Index: iputils/ping.c
|
|
===================================================================
|
|
--- iputils.orig/ping.c
|
|
+++ iputils/ping.c
|
|
@@ -96,6 +96,7 @@ static void usage(void) __attribute__((n
|
|
static unsigned short in_cksum(const unsigned short *addr, int len, unsigned short salt);
|
|
static void pr_icmph(__u8 type, __u8 code, __u32 info, struct icmphdr *icp);
|
|
static int parsetos(char *str);
|
|
+static void doexit (int);
|
|
|
|
static struct {
|
|
struct cmsghdr cm;
|
|
@@ -514,6 +515,8 @@ int ping4_run(int argc, char **argv, str
|
|
options |= F_SOURCEROUTE;
|
|
}
|
|
}
|
|
+ set_signal(SIGINT, doexit);
|
|
+
|
|
while (argc > 0) {
|
|
target = *argv;
|
|
|
|
@@ -1627,3 +1630,9 @@ void usage(void)
|
|
ping6_usage(1);
|
|
exit(2);
|
|
}
|
|
+
|
|
+static void doexit(int signo)
|
|
+{
|
|
+ exit (1);
|
|
+}
|
|
+
|