diff options
Diffstat (limited to 'meta/recipes-extended/iputils/files')
6 files changed, 143 insertions, 0 deletions
diff --git a/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff b/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff new file mode 100644 index 000000000..98aae0d45 --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff @@ -0,0 +1,22 @@ +Index: trunk/ping.c +=================================================================== +--- trunk.orig/ping.c 2010-07-23 21:26:53.000000000 -0700 ++++ trunk/ping.c 2010-07-23 21:28:27.000000000 -0700 +@@ -1059,7 +1059,7 @@ + i = j; + i -= IPOPT_MINOFF; + if (i <= 0) +- continue; ++ break; + if (i == old_rrlen + && !strncmp((char *)cp, old_rr, i) + && !(options & F_FLOOD)) { +@@ -1096,7 +1096,7 @@ + i = j; + i -= 5; + if (i <= 0) +- continue; ++ break; + flags = *++cp; + printf("\nTS: "); + cp++; diff --git a/meta/recipes-extended/iputils/files/debian/add-icmp-return-codes.diff b/meta/recipes-extended/iputils/files/debian/add-icmp-return-codes.diff new file mode 100644 index 000000000..86bbf0d39 --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/add-icmp-return-codes.diff @@ -0,0 +1,41 @@ +Index: trunk/ping.c +=================================================================== +--- trunk.orig/ping.c 2010-05-07 23:13:54.000000000 -0700 ++++ trunk/ping.c 2010-05-07 23:23:22.000000000 -0700 +@@ -883,9 +883,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 --git a/meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff b/meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff new file mode 100644 index 000000000..9f05769f7 --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff @@ -0,0 +1,24 @@ +Index: trunk/arping.c +=================================================================== +--- trunk.orig/arping.c 2010-05-07 23:13:52.000000000 -0700 ++++ trunk/arping.c 2010-05-07 23:41:16.000000000 -0700 +@@ -182,12 +182,17 @@ + if (start.tv_sec==0) + start = tv; + +- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)) ++ 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, + (struct sockaddr_ll *)&me, (struct sockaddr_ll *)&he); ++ if (count >= 0) ++ count--; + if (count == 0 && unsolicited) + finish(); + } diff --git a/meta/recipes-extended/iputils/files/debian/fix-dead-host-ping-stats.diff b/meta/recipes-extended/iputils/files/debian/fix-dead-host-ping-stats.diff new file mode 100644 index 000000000..2a924258d --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/fix-dead-host-ping-stats.diff @@ -0,0 +1,14 @@ +Index: trunk/ping_common.c +=================================================================== +--- trunk.orig/ping_common.c 2010-05-07 23:13:51.000000000 -0700 ++++ trunk/ping_common.c 2010-05-07 23:22:33.000000000 -0700 +@@ -872,7 +872,8 @@ + printf("%spipe %d", comma, pipesize); + comma = ", "; + } +- 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("%sipg/ewma %d.%03d/%d.%03d ms", + comma, ipg/1000, ipg%1000, rtt/8000, (rtt/8)%1000); diff --git a/meta/recipes-extended/iputils/files/debian/targets.diff b/meta/recipes-extended/iputils/files/debian/targets.diff new file mode 100644 index 000000000..b5e907a8d --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/targets.diff @@ -0,0 +1,13 @@ +Index: trunk/Makefile +=================================================================== +--- trunk.orig/Makefile 2010-05-07 23:43:00.000000000 -0700 ++++ trunk/Makefile 2010-05-07 23:47:10.000000000 -0700 +@@ -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 arping clockdiff + IPV6_TARGETS=tracepath6 traceroute6 ping6 + TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) + diff --git a/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff b/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff new file mode 100644 index 000000000..7e6c97c14 --- /dev/null +++ b/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff @@ -0,0 +1,29 @@ +Index: trunk/tracepath.c +=================================================================== +--- trunk.orig/tracepath.c 2010-05-07 23:13:52.000000000 -0700 ++++ trunk/tracepath.c 2010-05-07 23:24:09.000000000 -0700 +@@ -338,9 +338,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); +Index: trunk/ping.c +=================================================================== +--- trunk.orig/ping.c 2010-05-07 23:23:22.000000000 -0700 ++++ trunk/ping.c 2010-05-07 23:24:09.000000000 -0700 +@@ -250,7 +250,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); |