From: Jose V Beneyto Date: Tue, 15 Dec 2009 07:57:32 +0000 (+0100) Subject: iputils: updated to mainstream stuff X-Git-Url: http://gitweb/?a=commitdiff_plain;h=54de1e7622468fb8dd3a81fadce4c4528803ca60;p=crossrootfs.git iputils: updated to mainstream stuff --- diff --git a/iputils/.footprint b/iputils/.footprint index 84e3b12..2108ff9 100644 --- a/iputils/.footprint +++ b/iputils/.footprint @@ -8,10 +8,14 @@ drwxr-xr-x root/root usr/man/man8/ -rw-r--r-- root/root usr/man/man8/arping.8.gz -rw-r--r-- root/root usr/man/man8/clockdiff.8.gz -rw-r--r-- root/root usr/man/man8/ping.8.gz +-rw-r--r-- root/root usr/man/man8/rarpd.8.gz -rw-r--r-- root/root usr/man/man8/rdisc.8.gz +-rw-r--r-- root/root usr/man/man8/tftpd.8.gz -rw-r--r-- root/root usr/man/man8/tracepath.8.gz drwxr-xr-x root/root usr/sbin/ -rwxr-xr-x root/root usr/sbin/clockdiff -rwxr-xr-x root/root usr/sbin/ipg +-rwxr-xr-x root/root usr/sbin/rarpd -rwxr-xr-x root/root usr/sbin/rdisc +-rwxr-xr-x root/root usr/sbin/tftpd -rwxr-xr-x root/root usr/sbin/tracepath diff --git a/iputils/.md5sum b/iputils/.md5sum index 43c6cb0..519095e 100644 --- a/iputils/.md5sum +++ b/iputils/.md5sum @@ -1,3 +1,3 @@ -31a39902b0d343233d48ef0f3c038559 iputils-s20071127-fixes-2.patch -fc3ceca15794cc0f9d84a43a21692aeb iputils-s20071127-manpages-2.patch +91ec714aed9abdb1c91eb7b75b59290f iputils-man-s20071127.tar.bz2 +df44228e87bb629c3d3aa562f7966ebf iputils-s20071127-open_max.patch 12245e9927d60ff5cf4a99d265bcb7d3 iputils-s20071127.tar.bz2 diff --git a/iputils/Pkgfile b/iputils/Pkgfile index 37197c7..cf87f76 100644 --- a/iputils/Pkgfile +++ b/iputils/Pkgfile @@ -3,29 +3,29 @@ # Maintainer: CRUX System Team, core-ports at crux dot nu # Packager: Juergen Daubert, juergen dot daubert at t-online dot de # Arch Maintainer: CRUX-ARM System Team, crux-arm at mikeux dot dyndns dot org +# Depends on: name=iputils version=s20071127 release=1 source=(http://www.skbuff.net/iputils/$name-$version.tar.bz2 \ - $name-$version-fixes-2.patch \ - $name-$version-manpages-2.patch) + http://crux.nu/~jue/files/dist/$name-man-$version.tar.bz2 \ + $name-$version-open_max.patch) build() { cd $name-$version - patch -p1 -i $SRC/$name-$version-fixes-2.patch - patch -p1 -i $SRC/$name-$version-manpages-2.patch - + patch -p1 -i $SRC/$name-$version-open_max.patch + sed -i "/^CCOPT=/s|-O2|$CFLAGS|;s| -g$||" Makefile sed 's/IPV6_TARGETS=*/IPV6_TARGETS=/' -i Makefile + make CC="$CC" CFLAGS="$CFLAGS" install -d $PKG/{{s,}bin,usr/{man/man8,sbin}} - install ping $PKG/bin/ - install arping $PKG/sbin/ - install tracepath clockdiff rdisc ipg $PKG/usr/sbin/ - rm traceroute6.* - cp *.8 $PKG/usr/man/man8 - chmod u+s $PKG/bin/ping + install ping $PKG/bin + install arping $PKG/sbin + install tracepath clockdiff rarpd rdisc ipg tftpd $PKG/usr/sbin + cp -d $SRC/$name-man-$version/* $PKG/usr/man/man8 - # TODO: ipv6 binaries + rm $PKG/usr/man/man8/*6.* + chmod u+s $PKG/bin/ping } diff --git a/iputils/iputils-s20071127-fixes-2.patch b/iputils/iputils-s20071127-fixes-2.patch deleted file mode 100644 index 8392d65..0000000 --- a/iputils/iputils-s20071127-fixes-2.patch +++ /dev/null @@ -1,235 +0,0 @@ -Submitted By: Jim Gifford (jim at cross-lfs dot org) -Date: 02-18-2009 -Initial Package Version: s20071127 -Origin: Debian and Fedora -Upstream Status: Unknown -Description: Fixes Various Issues - -diff -Naur iputils-s20071127.orig/arping.c iputils-s20071127/arping.c ---- iputils-s20071127.orig/arping.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/arping.c 2009-02-18 23:18:09.239954184 -0800 -@@ -168,12 +168,17 @@ - if (start.tv_sec==0) - start = tv; - -- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)) -- finish(); -+ if (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500) -+ finish(); - -- if (last.tv_sec==0 || MS_TDIFF(tv,last) > 500) { -+ if ((!timeout) && (count == 0)) -+ finish(); -+ -+ if ( count!=0 && (last.tv_sec==0 || MS_TDIFF(tv,last) > 500 ) ) { - send_pack(s, src, dst, &me, &he); -- if (count == 0 && unsolicited) -+ if (count >= 0) -+ count--; -+ if (count==0 && unsolicited) - finish(); - } - alarm(1); -diff -Naur iputils-s20071127.orig/doc/docbook2man-spec.pl iputils-s20071127/doc/docbook2man-spec.pl ---- iputils-s20071127.orig/doc/docbook2man-spec.pl 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/doc/docbook2man-spec.pl 2009-02-18 23:18:09.239954184 -0800 -@@ -428,7 +428,7 @@ - output ' '; - - if($_[0]->attribute('CHOICE')->value =~ /opt/i) { -- output '[ '; -+ output '['; - } - bold_on(); - } -@@ -441,7 +441,7 @@ - font_off(); - } - if($_[0]->attribute('CHOICE')->value =~ /opt/i) { -- output '] '; -+ output ']'; - } - } - -diff -Naur iputils-s20071127.orig/doc/Makefile iputils-s20071127/doc/Makefile ---- iputils-s20071127.orig/doc/Makefile 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/doc/Makefile 2009-02-18 23:18:09.239954184 -0800 -@@ -6,7 +6,7 @@ - - html: $(HTMLFILES) iputils.html - --man: $(MANFILES) -+man: $(MANFILES) fix_sgml2man - - # docbook scripts are incredibly dirty in the sense that they leak - # lots of some strange temporary junk directories and files. -@@ -33,6 +33,9 @@ - @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ .. - @-rm -rf tmp.db2man - -+fix_sgml2man: -+ @sed -i -e 's!\\fB\\fIdestination\\fB\\fR \[\\fB/\\fIport\\fB\\fR\]!\\fB\\fIdestination\\fB\\fR[\\fB/\\fIport\\fB\\fR]!g' tracepath.8 -+ - clean: - @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html tmp.db2man - -diff -Naur iputils-s20071127.orig/Makefile iputils-s20071127/Makefile ---- iputils-s20071127.orig/Makefile 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/Makefile 2009-02-18 23:18:09.239954184 -0800 -@@ -16,7 +16,7 @@ - CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g - CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES) - --IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd -+IPV4_TARGETS=tracepath ping clockdiff rdisc arping - IPV6_TARGETS=tracepath6 traceroute6 ping6 - TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) - -@@ -25,7 +25,6 @@ - - all: $(TARGETS) - -- - tftpd: tftpd.o tftpsubs.o - ping: ping.o ping_common.o - ping6: ping6.o ping_common.o -@@ -37,7 +36,6 @@ - rdisc_srv.o: rdisc.c - $(CC) $(CFLAGS) -DRDISC_SERVER -o rdisc_srv.o rdisc.c - -- - check-kernel: - ifeq ($(KERNEL_INCLUDE),) - @echo "Please, set correct KERNEL_INCLUDE"; false -diff -Naur iputils-s20071127.orig/ping6.c iputils-s20071127/ping6.c ---- iputils-s20071127.orig/ping6.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/ping6.c 2009-02-18 23:18:09.239954184 -0800 -@@ -414,7 +414,7 @@ - fprintf(stderr, "ping: unknown iface %s\n", device); - exit(2); - } -- cmsg = (struct cmsghdr*)cmsgbuf; -+ cmsg = (struct cmsghdr*)(cmsgbuf+cmsglen); - cmsglen += CMSG_SPACE(sizeof(*ipi)); - cmsg->cmsg_len = CMSG_LEN(sizeof(*ipi)); - cmsg->cmsg_level = SOL_IPV6; -@@ -486,7 +486,6 @@ - /* - * select icmp echo reply as icmp type to receive - */ -- - ICMP6_FILTER_SETBLOCKALL(&filter); - - if (!working_recverr) { -diff -Naur iputils-s20071127.orig/ping.c iputils-s20071127/ping.c ---- iputils-s20071127.orig/ping.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/ping.c 2009-02-18 23:18:09.239954184 -0800 -@@ -249,7 +249,7 @@ - if (argc == 1) - options |= F_NUMERIC; - } else { -- hp = gethostbyname(target); -+ hp = gethostbyname2(target, AF_INET); - if (!hp) { - fprintf(stderr, "ping: unknown host %s\n", target); - exit(2); -@@ -865,9 +865,36 @@ - case ICMP_SR_FAILED: - printf("Source Route Failed\n"); - break; -+ case ICMP_NET_UNKNOWN: -+ printf("Destination Net Unknown\n"); -+ break; -+ case ICMP_HOST_UNKNOWN: -+ printf("Destination Host Unknown\n"); -+ break; -+ case ICMP_HOST_ISOLATED: -+ printf("Source Host Isolated\n"); -+ break; -+ case ICMP_NET_ANO: -+ printf("Destination Net Prohibited\n"); -+ break; -+ case ICMP_HOST_ANO: -+ printf("Destination Host Prohibited\n"); -+ break; -+ case ICMP_NET_UNR_TOS: -+ printf("Destination Net Unreachable for Type of Service\n"); -+ break; -+ case ICMP_HOST_UNR_TOS: -+ printf("Destination Host Unreachable for Type of Service\n"); -+ break; - case ICMP_PKT_FILTERED: - printf("Packet filtered\n"); - break; -+ case ICMP_PREC_VIOLATION: -+ printf("Precedence Violation\n"); -+ break; -+ case ICMP_PREC_CUTOFF: -+ printf("Precedence Cutoff\n"); -+ break; - default: - printf("Dest Unreachable, Bad Code: %d\n", code); - break; -diff -Naur iputils-s20071127.orig/ping_common.c iputils-s20071127/ping_common.c ---- iputils-s20071127.orig/ping_common.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/ping_common.c 2009-02-18 23:18:09.239954184 -0800 -@@ -818,7 +818,8 @@ - } - if (pipesize > 1) - printf(", pipe %d", pipesize); -- if (ntransmitted > 1 && (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) { -+ if (ntransmitted > 1 && nreceived && -+ (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) { - int ipg = (1000000*(long long)tv.tv_sec+tv.tv_usec)/(ntransmitted-1); - printf(", ipg/ewma %d.%03d/%d.%03d ms", - ipg/1000, ipg%1000, rtt/8000, (rtt/8)%1000); -@@ -852,4 +853,3 @@ - } - fprintf(stderr, "\n"); - } -- -diff -Naur iputils-s20071127.orig/rdisc.c iputils-s20071127/rdisc.c ---- iputils-s20071127.orig/rdisc.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/rdisc.c 2009-02-18 23:18:31.745396284 -0800 -@@ -240,14 +240,25 @@ - { - int t; - pid_t pid; -+ long open_max; - - if (trace) - return; -+ if ((open_max = sysconf(_SC_OPEN_MAX)) == -1) { -+ if (errno == 0) { -+ (void) fprintf(stderr, "OPEN_MAX is not supported\n"); -+ } -+ else { -+ (void) fprintf(stderr, "sysconf() error\n"); -+ } -+ exit(1); -+ } -+ - - if ((pid=fork()) != 0) - exit(0); - -- for (t = 0; t < OPEN_MAX; t++) -+ for (t = 0; t < open_max; t++) - if (t != s) - close(t); - -diff -Naur iputils-s20071127.orig/tracepath.c iputils-s20071127/tracepath.c ---- iputils-s20071127.orig/tracepath.c 2007-11-26 16:57:27.000000000 -0800 -+++ iputils-s20071127/tracepath.c 2009-02-18 23:18:09.239954184 -0800 -@@ -318,9 +318,9 @@ - base_port = atoi(p+1); - } else - base_port = 44444; -- he = gethostbyname(argv[0]); -+ he = gethostbyname2(argv[0], AF_INET); - if (he == NULL) { -- herror("gethostbyname"); -+ herror("gethostbyname2"); - exit(1); - } - memcpy(&target.sin_addr, he->h_addr, 4); diff --git a/iputils/iputils-s20071127-manpages-2.patch b/iputils/iputils-s20071127-manpages-2.patch deleted file mode 100644 index 64686db..0000000 --- a/iputils/iputils-s20071127-manpages-2.patch +++ /dev/null @@ -1,803 +0,0 @@ -Submitted By: Jim Gifford -Date: 2009-02-18 -Initial Package Version: s20071127 -Upstream Status: Unknown -Origin: Jim Gifford -Description: Provides the man pages (adding docbook2man with all its - dependencies would be a major addition to the book, so I built it - -once- on a completed system and saved the data). - -diff -Naur doc/arping.8 doc/arping.8 ---- doc/arping.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/arping.8 2009-02-18 23:20:33.249183964 -0800 -@@ -0,0 +1,110 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "ARPING" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+arping \- send ARP REQUEST to a neighbour host -+.SH SYNOPSIS -+ -+\fBarping\fR [\fB-AbDfhqUV\fR] [\fB-c \fIcount\fB\fR] [\fB-w \fIdeadline\fB\fR] [\fB-s \fIsource\fB\fR] \fB-I \fIinterface\fB\fR \fB\fIdestination\fB\fR -+ -+.SH "DESCRIPTION" -+.PP -+Ping \fIdestination\fR on device \fIinterface\fR by ARP packets, -+using source address \fIsource\fR. -+.SH "OPTIONS" -+.TP -+\fB-A\fR -+The same as \fB-U\fR, but ARP REPLY packets used instead -+of ARP REQUEST. -+.TP -+\fB-b\fR -+Send only MAC level broadcasts. Normally \fBarping\fR starts -+from sending broadcast, and switch to unicast after reply received. -+.TP -+\fB-c \fIcount\fB\fR -+Stop after sending \fIcount\fR ARP REQUEST -+packets. With -+\fIdeadline\fR -+option, \fBarping\fR waits for -+\fIcount\fR ARP REPLY packets, until the timeout expires. -+.TP -+\fB-D\fR -+Duplicate address detection mode (DAD). See -+RFC2131, 4.4.1. -+Returns 0, if DAD succeeded i.e. no replies are received -+.TP -+\fB-f\fR -+Finish after the first reply confirming that target is alive. -+.TP -+\fB-I \fIinterface\fB\fR -+Name of network device where to send ARP REQUEST packets. This option -+is required. -+.TP -+\fB-h\fR -+Print help page and exit. -+.TP -+\fB-q\fR -+Quiet output. Nothing is displayed. -+.TP -+\fB-s \fIsource\fB\fR -+IP source address to use in ARP packets. -+If this option is absent, source address is: -+.RS -+.TP 0.2i -+\(bu -+In DAD mode (with option \fB-D\fR) set to 0.0.0.0. -+.TP 0.2i -+\(bu -+In Unsolicited ARP mode (with options \fB-U\fR or \fB-A\fR) -+set to \fIdestination\fR. -+.TP 0.2i -+\(bu -+Otherwise, it is calculated from routing tables. -+.RE -+.TP -+\fB-U\fR -+Unsolicited ARP mode to update neighbours' ARP caches. -+No replies are expected. -+.TP -+\fB-V\fR -+Print version of the program and exit. -+.TP -+\fB-w \fIdeadline\fB\fR -+Specify a timeout, in seconds, before -+\fBarping\fR -+exits regardless of how many -+packets have been sent or received. In this case -+\fBarping\fR -+does not stop after -+\fIcount\fR -+packet are sent, it waits either for -+\fIdeadline\fR -+expire or until -+\fIcount\fR -+probes are answered. -+.SH "SEE ALSO" -+.PP -+\fBping\fR(8), -+\fBclockdiff\fR(8), -+\fBtracepath\fR(8). -+.SH "AUTHOR" -+.PP -+\fBarping\fR was written by -+Alexey Kuznetsov -+. -+It is now maintained by -+YOSHIFUJI Hideaki -+. -+.SH "SECURITY" -+.PP -+\fBarping\fR requires CAP_NET_RAWIO capability -+to be executed. It is not recommended to be used as set-uid root, -+because it allows user to modify ARP caches of neighbour hosts. -+.SH "AVAILABILITY" -+.PP -+\fBarping\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. -diff -Naur doc/clockdiff.8 doc/clockdiff.8 ---- doc/clockdiff.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/clockdiff.8 2009-02-18 23:20:33.249183964 -0800 -@@ -0,0 +1,81 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "CLOCKDIFF" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+clockdiff \- measure clock difference between hosts -+.SH SYNOPSIS -+ -+\fBclockdiff\fR [\fB-o\fR] [\fB-o1\fR] \fB\fIdestination\fB\fR -+ -+.SH "DESCRIPTION" -+.PP -+\fBclockdiff\fR Measures clock difference between us and -+\fIdestination\fR with 1 msec resolution using ICMP TIMESTAMP -+[2] -+packets or, optionally, IP TIMESTAMP option -+[3] -+option added to ICMP ECHO. -+[1] -+.SH "OPTIONS" -+.TP -+\fB-o\fR -+Use IP TIMESTAMP with ICMP ECHO instead of ICMP TIMESTAMP -+messages. It is useful with some destinations, which do not support -+ICMP TIMESTAMP (f.e. Solaris <2.4). -+.TP -+\fB-o1\fR -+Slightly different form of \fB-o\fR, namely it uses three-term -+IP TIMESTAMP with prespecified hop addresses instead of four term one. -+What flavor works better depends on target host. Particularly, -+\fB-o\fR is better for Linux. -+.SH "WARNINGS" -+.TP 0.2i -+\(bu -+Some nodes (Cisco) use non-standard timestamps, which is allowed -+by RFC, but makes timestamps mostly useless. -+.TP 0.2i -+\(bu -+Some nodes generate messed timestamps (Solaris>2.4), when -+run \fBxntpd\fR. Seems, its IP stack uses a corrupted clock source, -+which is synchronized to time-of-day clock periodically and jumps -+randomly making timestamps mostly useless. Good news is that you can -+use NTP in this case, which is even better. -+.TP 0.2i -+\(bu -+\fBclockdiff\fR shows difference in time modulo 24 days. -+.SH "SEE ALSO" -+.PP -+\fBping\fR(8), -+\fBarping\fR(8), -+\fBtracepath\fR(8). -+.SH "REFERENCES" -+.PP -+[1] ICMP ECHO, -+RFC0792, page 14. -+.PP -+[2] ICMP TIMESTAMP, -+RFC0792, page 16. -+.PP -+[3] IP TIMESTAMP option, -+RFC0791, 3.1, page 16. -+.SH "AUTHOR" -+.PP -+\fBclockdiff\fR was compiled by -+Alexey Kuznetsov -+. It was based on code borrowed -+from BSD \fBtimed\fR daemon. -+It is now maintained by -+YOSHIFUJI Hideaki -+. -+.SH "SECURITY" -+.PP -+\fBclockdiff\fR requires CAP_NET_RAWIO capability -+to be executed. It is safe to be used as set-uid root. -+.SH "AVAILABILITY" -+.PP -+\fBclockdiff\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. -diff -Naur doc/ping.8 doc/ping.8 ---- doc/ping.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/ping.8 2009-02-18 23:20:33.249183964 -0800 -@@ -0,0 +1,332 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "PING" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+ping, ping6 \- send ICMP ECHO_REQUEST to network hosts -+.SH SYNOPSIS -+ -+\fBping\fR [\fB-LRUbdfnqrvVaAB\fR] [\fB-c \fIcount\fB\fR] [\fB-i \fIinterval\fB\fR] [\fB-l \fIpreload\fB\fR] [\fB-p \fIpattern\fB\fR] [\fB-s \fIpacketsize\fB\fR] [\fB-t \fIttl\fB\fR] [\fB-w \fIdeadline\fB\fR] [\fB-F \fIflowlabel\fB\fR] [\fB-I \fIinterface\fB\fR] [\fB-M \fIhint\fB\fR] [\fB-Q \fItos\fB\fR] [\fB-S \fIsndbuf\fB\fR] [\fB-T \fItimestamp option\fB\fR] [\fB-W \fItimeout\fB\fR] [\fB\fIhop\fB\fR\fI ...\fR] \fB\fIdestination\fB\fR -+ -+.SH "DESCRIPTION" -+.PP -+\fBping\fR uses the ICMP protocol's mandatory ECHO_REQUEST -+datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. -+ECHO_REQUEST datagrams (``pings'') have an IP and ICMP -+header, followed by a struct timeval and then an arbitrary -+number of ``pad'' bytes used to fill out the packet. -+.SH "OPTIONS" -+.TP -+\fB-a\fR -+Audible ping. -+.TP -+\fB-A\fR -+Adaptive ping. Interpacket interval adapts to round-trip time, so that -+effectively not more than one (or more, if preload is set) unanswered probes -+present in the network. Minimal interval is 200msec for not super-user. -+On networks with low rtt this mode is essentially equivalent to flood mode. -+.TP -+\fB-b\fR -+Allow pinging a broadcast address. -+.TP -+\fB-B\fR -+Do not allow \fBping\fR to change source address of probes. -+The address is bound to one selected when \fBping\fR starts. -+.TP -+\fB-c \fIcount\fB\fR -+Stop after sending \fIcount\fR ECHO_REQUEST -+packets. With -+\fIdeadline\fR -+option, \fBping\fR waits for -+\fIcount\fR ECHO_REPLY packets, until the timeout expires. -+.TP -+\fB-d\fR -+Set the SO_DEBUG option on the socket being used. -+Essentially, this socket option is not used by Linux kernel. -+.TP -+\fB-F \fIflow label\fB\fR -+Allocate and set 20 bit flow label on echo request packets. -+(Only \fBping6\fR). If value is zero, kernel allocates random flow label. -+.TP -+\fB-f\fR -+Flood ping. For every ECHO_REQUEST sent a period ``.'' is printed, -+while for ever ECHO_REPLY received a backspace is printed. -+This provides a rapid display of how many packets are being dropped. -+If interval is not given, it sets interval to zero and -+outputs packets as fast as they come back or one hundred times per second, -+whichever is more. -+Only the super-user may use this option with zero interval. -+.TP -+\fB-i \fIinterval\fB\fR -+Wait \fIinterval\fR seconds between sending each packet. -+The default is to wait for one second between each packet normally, -+or not to wait in flood mode. Only super-user may set interval -+to values less 0.2 seconds. -+.TP -+\fB-I \fIinterface address\fB\fR -+Set source address to specified interface address. Argument -+may be numeric IP address or name of device. When pinging IPv6 -+link-local address this option is required. -+.TP -+\fB-l \fIpreload\fB\fR -+If \fIpreload\fR is specified, -+\fBping\fR sends that many packets not waiting for reply. -+Only the super-user may select preload more than 3. -+.TP -+\fB-L\fR -+Suppress loopback of multicast packets. This flag only applies if the ping -+destination is a multicast address. -+.TP -+\fB-n\fR -+Numeric output only. -+No attempt will be made to lookup symbolic names for host addresses. -+.TP -+\fB-p \fIpattern\fB\fR -+You may specify up to 16 ``pad'' bytes to fill out the packet you send. -+This is useful for diagnosing data-dependent problems in a network. -+For example, \fB-p ff\fR will cause the sent packet -+to be filled with all ones. -+.TP -+\fB-Q \fItos\fB\fR -+Set Quality of Service -related bits in ICMP datagrams. -+\fItos\fR can be either decimal or hex number. -+Traditionally (RFC1349), these have been interpreted as: 0 for reserved -+(currently being redefined as congestion control), 1-4 for Type of Service -+and 5-7 for Precedence. -+Possible settings for Type of Service are: minimal cost: 0x02, -+reliability: 0x04, throughput: 0x08, low delay: 0x10. Multiple TOS bits -+should not be set simultaneously. Possible settings for -+special Precedence range from priority (0x20) to net control (0xe0). You -+must be root (CAP_NET_ADMIN capability) to use Critical or -+higher precedence value. You cannot set -+bit 0x01 (reserved) unless ECN has been enabled in the kernel. -+In RFC2474, these fields has been redefined as 8-bit Differentiated -+Services (DS), consisting of: bits 0-1 of separate data (ECN will be used, -+here), and bits 2-7 of Differentiated Services Codepoint (DSCP). -+.TP -+\fB-q\fR -+Quiet output. -+Nothing is displayed except the summary lines at startup time and -+when finished. -+.TP -+\fB-R\fR -+Record route. -+Includes the RECORD_ROUTE option in the ECHO_REQUEST -+packet and displays the route buffer on returned packets. -+Note that the IP header is only large enough for nine such routes. -+Many hosts ignore or discard this option. -+.TP -+\fB-r\fR -+Bypass the normal routing tables and send directly to a host on an attached -+interface. -+If the host is not on a directly-attached network, an error is returned. -+This option can be used to ping a local host through an interface -+that has no route through it provided the option \fB-I\fR is also -+used. -+.TP -+\fB-s \fIpacketsize\fB\fR -+Specifies the number of data bytes to be sent. -+The default is 56, which translates into 64 ICMP -+data bytes when combined with the 8 bytes of ICMP header data. -+.TP -+\fB-S \fIsndbuf\fB\fR -+Set socket sndbuf. If not specified, it is selected to buffer -+not more than one packet. -+.TP -+\fB-t \fIttl\fB\fR -+Set the IP Time to Live. -+.TP -+\fB-T \fItimestamp option\fB\fR -+Set special IP timestamp options. -+\fItimestamp option\fR may be either -+\fItsonly\fR (only timestamps), -+\fItsandaddr\fR (timestamps and addresses) or -+\fItsprespec host1 [host2 [host3 [host4]]]\fR -+(timestamp prespecified hops). -+.TP -+\fB-M \fIhint\fB\fR -+Select Path MTU Discovery strategy. -+\fIhint\fR may be either \fIdo\fR -+(prohibit fragmentation, even local one), -+\fIwant\fR (do PMTU discovery, fragment locally when packet size -+is large), or \fIdont\fR (do not set DF flag). -+.TP -+\fB-U\fR -+Print full user-to-user latency (the old behaviour). Normally -+\fBping\fR -+prints network round trip time, which can be different -+f.e. due to DNS failures. -+.TP -+\fB-v\fR -+Verbose output. -+.TP -+\fB-V\fR -+Show version and exit. -+.TP -+\fB-w \fIdeadline\fB\fR -+Specify a timeout, in seconds, before -+\fBping\fR -+exits regardless of how many -+packets have been sent or received. In this case -+\fBping\fR -+does not stop after -+\fIcount\fR -+packet are sent, it waits either for -+\fIdeadline\fR -+expire or until -+\fIcount\fR -+probes are answered or for some error notification from network. -+.TP -+\fB-W \fItimeout\fB\fR -+Time to wait for a response, in seconds. The option affects only timeout -+in absense of any responses, otherwise \fBping\fR waits for two RTTs. -+.PP -+When using \fBping\fR for fault isolation, it should first be run -+on the local host, to verify that the local network interface is up -+and running. Then, hosts and gateways further and further away should be -+``pinged''. Round-trip times and packet loss statistics are computed. -+If duplicate packets are received, they are not included in the packet -+loss calculation, although the round trip time of these packets is used -+in calculating the minimum/average/maximum round-trip time numbers. -+When the specified number of packets have been sent (and received) or -+if the program is terminated with a -+SIGINT, a brief summary is displayed. Shorter current statistics -+can be obtained without termination of process with signal -+SIGQUIT. -+.PP -+If \fBping\fR does not receive any reply packets at all it will -+exit with code 1. If a packet -+\fIcount\fR -+and -+\fIdeadline\fR -+are both specified, and fewer than -+\fIcount\fR -+packets are received by the time the -+\fIdeadline\fR -+has arrived, it will also exit with code 1. -+On other error it exits with code 2. Otherwise it exits with code 0. This -+makes it possible to use the exit code to see if a host is alive or -+not. -+.PP -+This program is intended for use in network testing, measurement and -+management. -+Because of the load it can impose on the network, it is unwise to use -+\fBping\fR during normal operations or from automated scripts. -+.SH "ICMP PACKET DETAILS" -+.PP -+An IP header without options is 20 bytes. -+An ICMP ECHO_REQUEST packet contains an additional 8 bytes worth -+of ICMP header followed by an arbitrary amount of data. -+When a \fIpacketsize\fR is given, this indicated the size of this -+extra piece of data (the default is 56). Thus the amount of data received -+inside of an IP packet of type ICMP ECHO_REPLY will always be 8 bytes -+more than the requested data space (the ICMP header). -+.PP -+If the data space is at least of size of struct timeval -+\fBping\fR uses the beginning bytes of this space to include -+a timestamp which it uses in the computation of round trip times. -+If the data space is shorter, no round trip times are given. -+.SH "DUPLICATE AND DAMAGED PACKETS" -+.PP -+\fBping\fR will report duplicate and damaged packets. -+Duplicate packets should never occur, and seem to be caused by -+inappropriate link-level retransmissions. -+Duplicates may occur in many situations and are rarely (if ever) a -+good sign, although the presence of low levels of duplicates may not -+always be cause for alarm. -+.PP -+Damaged packets are obviously serious cause for alarm and often -+indicate broken hardware somewhere in the -+\fBping\fR packet's path (in the network or in the hosts). -+.SH "TRYING DIFFERENT DATA PATTERNS" -+.PP -+The (inter)network layer should never treat packets differently depending -+on the data contained in the data portion. -+Unfortunately, data-dependent problems have been known to sneak into -+networks and remain undetected for long periods of time. -+In many cases the particular pattern that will have problems is something -+that doesn't have sufficient ``transitions'', such as all ones or all -+zeros, or a pattern right at the edge, such as almost all zeros. -+It isn't necessarily enough to specify a data pattern of all zeros (for -+example) on the command line because the pattern that is of interest is -+at the data link level, and the relationship between what you type and -+what the controllers transmit can be complicated. -+.PP -+This means that if you have a data-dependent problem you will probably -+have to do a lot of testing to find it. -+If you are lucky, you may manage to find a file that either can't be sent -+across your network or that takes much longer to transfer than other -+similar length files. -+You can then examine this file for repeated patterns that you can test -+using the \fB-p\fR option of \fBping\fR. -+.SH "TTL DETAILS" -+.PP -+The TTL value of an IP packet represents the maximum number of IP routers -+that the packet can go through before being thrown away. -+In current practice you can expect each router in the Internet to decrement -+the TTL field by exactly one. -+.PP -+The TCP/IP specification states that the TTL field for TCP -+packets should be set to 60, but many systems use smaller values -+(4.3 BSD uses 30, 4.2 used 15). -+.PP -+The maximum possible value of this field is 255, and most Unix systems set -+the TTL field of ICMP ECHO_REQUEST packets to 255. -+This is why you will find you can ``ping'' some hosts, but not reach them -+with -+\fBtelnet\fR(1) -+or -+\fBftp\fR(1). -+.PP -+In normal operation ping prints the ttl value from the packet it receives. -+When a remote system receives a ping packet, it can do one of three things -+with the TTL field in its response: -+.TP 0.2i -+\(bu -+Not change it; this is what Berkeley Unix systems did before the -+4.3BSD Tahoe release. In this case the TTL value in the received packet -+will be 255 minus the number of routers in the round-trip path. -+.TP 0.2i -+\(bu -+Set it to 255; this is what current Berkeley Unix systems do. -+In this case the TTL value in the received packet will be 255 minus the -+number of routers in the path \fBfrom\fR -+the remote system \fBto\fR the \fBping\fRing host. -+.TP 0.2i -+\(bu -+Set it to some other value. Some machines use the same value for -+ICMP packets that they use for TCP packets, for example either 30 or 60. -+Others may use completely wild values. -+.SH "BUGS" -+.TP 0.2i -+\(bu -+Many Hosts and Gateways ignore the RECORD_ROUTE option. -+.TP 0.2i -+\(bu -+The maximum IP header length is too small for options like -+RECORD_ROUTE to be completely useful. -+There's not much that that can be done about this, however. -+.TP 0.2i -+\(bu -+Flood pinging is not recommended in general, and flood pinging the -+broadcast address should only be done under very controlled conditions. -+.SH "SEE ALSO" -+.PP -+\fBnetstat\fR(1), -+\fBifconfig\fR(8). -+.SH "HISTORY" -+.PP -+The \fBping\fR command appeared in 4.3BSD. -+.PP -+The version described here is its descendant specific to Linux. -+.SH "SECURITY" -+.PP -+\fBping\fR requires CAP_NET_RAWIO capability -+to be executed. It may be used as set-uid root. -+.SH "AVAILABILITY" -+.PP -+\fBping\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. -diff -Naur doc/rdisc.8 doc/rdisc.8 ---- doc/rdisc.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/rdisc.8 2009-02-18 23:20:33.249183964 -0800 -@@ -0,0 +1,110 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "RDISC" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+rdisc \- network router discovery daemon -+.SH SYNOPSIS -+ -+\fBrdisc\fR [\fB-abdfstvV\fR] [\fB\fIsend_address\fB\fR] [\fB\fIreceive_address\fB\fR] -+ -+.SH "DESCRIPTION" -+.PP -+\fBrdisc\fR implements client side of the ICMP router discover protocol. -+\fBrdisc\fR is invoked at boot time to populate the network -+routing tables with default routes. -+.PP -+\fBrdisc\fR listens on the ALL_HOSTS (224.0.0.1) multicast address -+(or \fIreceive_address\fR provided it is given) -+for ROUTER_ADVERTISE messages from routers. The received -+messages are handled by first ignoring those listed router addresses -+with which the host does not share a network. Among the remaining addresses -+the ones with the highest preference are selected as default routers -+and a default route is entered in the kernel routing table -+for each one of them. -+.PP -+Optionally, \fBrdisc\fR can avoid waiting for routers to announce -+themselves by sending out a few ROUTER_SOLICITATION messages -+to the ALL_ROUTERS (224.0.0.2) multicast address -+(or \fIsend_address\fR provided it is given) -+when it is started. -+.PP -+A timer is associated with each router address and the address will -+no longer be considered for inclusion in the the routing tables if the -+timer expires before a new -+\fBadvertise\fR message is received from the router. -+The address will also be excluded from consideration if the host receives an -+\fBadvertise\fR -+message with the preference being maximally negative. -+.PP -+Server side of router discovery protocol is supported by Cisco IOS -+and by any more or less complete UNIX routing daemon, f.e \fBgated\fR. -+.SH "OPTIONS" -+.TP -+\fB-a\fR -+Accept all routers independently of the preference they have in their -+\fBadvertise\fR messages. -+Normally \fBrdisc\fR only accepts (and enters in the kernel routing -+tables) the router or routers with the highest preference. -+.TP -+\fB-b\fR -+Opposite to \fB-a\fR, i.e. install only router with the best -+preference value. It is default behaviour. -+.TP -+\fB-d\fR -+Send debugging messages to syslog. -+.TP -+\fB-f\fR -+Run \fBrdisc\fR forever even if no routers are found. -+Normally \fBrdisc\fR gives up if it has not received any -+\fBadvertise\fR message after after soliciting three times, -+in which case it exits with a non-zero exit code. -+If \fB-f\fR is not specified in the first form then -+\fB-s\fR must be specified. -+.TP -+\fB-s\fR -+Send three \fBsolicitation\fR messages initially to quickly discover -+the routers when the system is booted. -+When \fB-s\fR is specified \fBrdisc\fR -+exits with a non-zero exit code if it can not find any routers. -+This can be overridden with the \fB-f\fR option. -+.TP -+\fB-t\fR -+Test mode. Do not go to background. -+.TP -+\fB-v\fR -+Be verbose i.e. send lots of debugging messages to syslog. -+.TP -+\fB-V\fR -+Print version and exit. -+.SH "HISTORY" -+.PP -+This program was developed by Sun Microsystems (see copyright -+notice in source file). It was ported to Linux by -+Alexey Kuznetsov -+. -+It is now maintained by -+YOSHIFUJI Hideaki -+. -+.SH "SEE ALSO" -+.PP -+\fBicmp\fR(7), -+\fBinet\fR(7), -+\fBping\fR(8). -+.SH "REFERENCES" -+.PP -+Deering, S.E.,ed "ICMP Router Discovery Messages", -+RFC1256, Network Information Center, SRI International, -+Menlo Park, Calif., September 1991. -+.SH "SECURITY" -+.PP -+\fBrdisc\fR requires CAP_NET_RAWIO to listen -+and send ICMP messages and capability CAP_NET_ADMIN -+to update routing tables. -+.SH "AVAILABILITY" -+.PP -+\fBrdisc\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. -diff -Naur doc/tracepath.8 doc/tracepath.8 ---- doc/tracepath.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/tracepath.8 2009-02-18 23:21:37.765316105 -0800 -@@ -0,0 +1,94 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "TRACEPATH" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+tracepath, tracepath6 \- traces path to a network host discovering MTU along this path -+.SH SYNOPSIS -+ -+\fBtracepath\fR [\fB-n\fR] [\fB-l \fIpktlen\fB\fR] \fB\fIdestination\fB\fR [\fB\fIport\fB\fR] -+ -+.SH "DESCRIPTION" -+.PP -+It traces path to \fIdestination\fR discovering MTU along this path. -+It uses UDP port \fIport\fR or some random port. -+It is similar to \fBtraceroute\fR, only does not not require superuser -+privileges and has no fancy options. -+.PP -+\fBtracepath6\fR is good replacement for \fBtraceroute6\fR -+and classic example of application of Linux error queues. -+The situation with \fBtracepath\fR is worse, because commercial -+IP routers do not return enough information in icmp error messages. -+Probably, it will change, when they will be updated. -+For now it uses Van Jacobson's trick, sweeping a range -+of UDP ports to maintain trace history. -+.SH "OPTIONS" -+.TP -+\fB-n\fR -+Do not look up host names. Only print IP addresses numerically. -+.TP -+\fB-l\fR -+Sets the initial packet length to \fIpktlen\fR instead of -+65536 for \fBtracepath\fR or 128000 for \fBtracepath6\fR. -+.SH "OUTPUT" -+.PP -+ -+.nf -+root@mops:~ # tracepath6 3ffe:2400:0:109::2 -+ 1?: [LOCALHOST] pmtu 1500 -+ 1: dust.inr.ac.ru 0.411ms -+ 2: dust.inr.ac.ru asymm 1 0.390ms pmtu 1480 -+ 2: 3ffe:2400:0:109::2 463.514ms reached -+ Resume: pmtu 1480 hops 2 back 2 -+.fi -+.PP -+The first column shows TTL of the probe, followed by colon. -+Usually value of TTL is obtained from reply from network, -+but sometimes reply does not contain necessary information and -+we have to guess it. In this case the number is followed by ?. -+.PP -+The second column shows the network hop, which replied to the probe. -+It is either address of router or word [LOCALHOST], if -+the probe was not sent to the network. -+.PP -+The rest of line shows miscellaneous information about path to -+the correspinding hetwork hop. As rule it contains value of RTT. -+Additionally, it can show Path MTU, when it changes. -+If the path is asymmetric -+or the probe finishes before it reach prescribed hop, difference -+between number of hops in forward and backward direction is shown -+folloing keyword async. This information is not reliable. -+F.e. the third line shows asymmetry of 1, it is because the first probe -+with TTL of 2 was rejected at the first hop due to Path MTU Discovery. -+.PP -+The last line summarizes information about all the path to the destination, -+it shows detected Path MTU, amount of hops to the destination and our -+guess about amount of hops from the destination to us, which can be -+different when the path is asymmetric. -+.SH "SEE ALSO" -+.PP -+\fBtraceroute\fR(8), -+\fBtraceroute6\fR(8), -+\fBping\fR(8). -+.SH "AUTHOR" -+.PP -+\fBtracepath\fR was written by -+Alexey Kuznetsov -+. -+.SH "SECURITY" -+.PP -+No security issues. -+.PP -+This lapidary deserves to be elaborated. -+\fBtracepath\fR is not a privileged program, unlike -+\fBtraceroute\fR, \fBping\fR and other beasts of this kind. -+\fBtracepath\fR may be executed by everyone who has some access -+to network, enough to send UDP datagrams to investigated destination -+using given port. -+.SH "AVAILABILITY" -+.PP -+\fBtracepath\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. -diff -Naur doc/traceroute6.8 doc/traceroute6.8 ---- doc/traceroute6.8 1969-12-31 16:00:00.000000000 -0800 -+++ doc/traceroute6.8 2009-02-18 23:20:33.249183964 -0800 -@@ -0,0 +1,42 @@ -+.\" This manpage has been automatically generated by docbook2man -+.\" from a DocBook document. This tool can be found at: -+.\" -+.\" Please send any bug reports, improvements, comments, patches, -+.\" etc. to Steve Cheng . -+.TH "TRACEROUTE6" "8" "18 February 2009" "iputils-071127" "System Manager's Manual: iputils" -+.SH NAME -+traceroute6 \- traces path to a network host -+.SH SYNOPSIS -+ -+\fBtraceroute6\fR [\fB-dnrvV\fR] [\fB-i \fIinterface\fB\fR] [\fB-m \fImax_ttl\fB\fR] [\fB-p \fIport\fB\fR] [\fB-q \fImax_probes\fB\fR] [\fB-s \fIsource\fB\fR] [\fB-w \fIwait time\fB\fR] \fB\fIdestination\fB\fR [\fB\fIsize\fB\fR] -+ -+.SH "DESCRIPTION" -+.PP -+Description can be found in -+\fBtraceroute\fR(8), -+all the references to IP replaced to IPv6. It is needless to copy -+the description from there. -+.SH "SEE ALSO" -+.PP -+\fBtraceroute\fR(8), -+\fBtracepath\fR(8), -+\fBping\fR(8). -+.SH "HISTORY" -+.PP -+This program has long history. Author of \fBtraceroute\fR -+is Van Jacobson and it first appeared in 1988. This clone is -+based on a port of \fBtraceroute\fR to IPv6 published -+in NRL IPv6 distribution in 1996. In turn, it was ported -+to Linux by Pedro Roque. After this it was kept in sync by -+Alexey Kuznetsov -+. And eventually entered -+\fBiputils\fR package. -+.SH "SECURITY" -+.PP -+\fBtracepath6\fR requires CAP_NET_RAWIO capability -+to be executed. It is safe to be used as set-uid root. -+.SH "AVAILABILITY" -+.PP -+\fBtraceroute6\fR is part of \fIiputils\fR package -+and the latest versions are available in source form at -+http://www.skbuff.net/iputils/iputils-current.tar.bz2. - diff --git a/iputils/iputils-s20071127-open_max.patch b/iputils/iputils-s20071127-open_max.patch new file mode 100644 index 0000000..28e953d --- /dev/null +++ b/iputils/iputils-s20071127-open_max.patch @@ -0,0 +1,32 @@ +http://www.redhat.com/archives/fedora-extras-commits/2007-August/msg01642.html + +diff -Nru iputils-s20071127.orig/rdisc.c iputils-s20071127/rdisc.c +--- iputils-s20071127.orig/rdisc.c 2008-09-17 19:45:30.000000000 +0200 ++++ iputils-s20071127/rdisc.c 2008-09-17 19:52:03.000000000 +0200 +@@ -240,14 +240,25 @@ + { + int t; + pid_t pid; ++ long open_max; + + if (trace) + return; + ++ if ((open_max = sysconf(_SC_OPEN_MAX)) == -1) { ++ if (errno == 0) { ++ (void) fprintf(stderr, "OPEN_MAX is not supported\n"); ++ } ++ else { ++ (void) fprintf(stderr, "sysconf() error\n"); ++ } ++ exit(1); ++ } ++ + if ((pid=fork()) != 0) + exit(0); + +- for (t = 0; t < OPEN_MAX; t++) ++ for (t = 0; t < open_max; t++) + if (t != s) + close(t); +