summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/iputils/files/debian
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/iputils/files/debian')
-rw-r--r--meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff22
-rw-r--r--meta/recipes-extended/iputils/files/debian/add-icmp-return-codes.diff41
-rw-r--r--meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff24
-rw-r--r--meta/recipes-extended/iputils/files/debian/fix-dead-host-ping-stats.diff14
-rw-r--r--meta/recipes-extended/iputils/files/debian/targets.diff13
-rw-r--r--meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff29
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 0000000000..98aae0d457
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff
@@ -0,0 +1,22 @@
1Index: trunk/ping.c
2===================================================================
3--- trunk.orig/ping.c 2010-07-23 21:26:53.000000000 -0700
4+++ trunk/ping.c 2010-07-23 21:28:27.000000000 -0700
5@@ -1059,7 +1059,7 @@
6 i = j;
7 i -= IPOPT_MINOFF;
8 if (i <= 0)
9- continue;
10+ break;
11 if (i == old_rrlen
12 && !strncmp((char *)cp, old_rr, i)
13 && !(options & F_FLOOD)) {
14@@ -1096,7 +1096,7 @@
15 i = j;
16 i -= 5;
17 if (i <= 0)
18- continue;
19+ break;
20 flags = *++cp;
21 printf("\nTS: ");
22 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 0000000000..86bbf0d39a
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/add-icmp-return-codes.diff
@@ -0,0 +1,41 @@
1Index: trunk/ping.c
2===================================================================
3--- trunk.orig/ping.c 2010-05-07 23:13:54.000000000 -0700
4+++ trunk/ping.c 2010-05-07 23:23:22.000000000 -0700
5@@ -883,9 +883,36 @@
6 case ICMP_SR_FAILED:
7 printf("Source Route Failed\n");
8 break;
9+ case ICMP_NET_UNKNOWN:
10+ printf("Destination Net Unknown\n");
11+ break;
12+ case ICMP_HOST_UNKNOWN:
13+ printf("Destination Host Unknown\n");
14+ break;
15+ case ICMP_HOST_ISOLATED:
16+ printf("Source Host Isolated\n");
17+ break;
18+ case ICMP_NET_ANO:
19+ printf("Destination Net Prohibited\n");
20+ break;
21+ case ICMP_HOST_ANO:
22+ printf("Destination Host Prohibited\n");
23+ break;
24+ case ICMP_NET_UNR_TOS:
25+ printf("Destination Net Unreachable for Type of Service\n");
26+ break;
27+ case ICMP_HOST_UNR_TOS:
28+ printf("Destination Host Unreachable for Type of Service\n");
29+ break;
30 case ICMP_PKT_FILTERED:
31 printf("Packet filtered\n");
32 break;
33+ case ICMP_PREC_VIOLATION:
34+ printf("Precedence Violation\n");
35+ break;
36+ case ICMP_PREC_CUTOFF:
37+ printf("Precedence Cutoff\n");
38+ break;
39 default:
40 printf("Dest Unreachable, Bad Code: %d\n", code);
41 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 0000000000..9f05769f71
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff
@@ -0,0 +1,24 @@
1Index: trunk/arping.c
2===================================================================
3--- trunk.orig/arping.c 2010-05-07 23:13:52.000000000 -0700
4+++ trunk/arping.c 2010-05-07 23:41:16.000000000 -0700
5@@ -182,12 +182,17 @@
6 if (start.tv_sec==0)
7 start = tv;
8
9- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500))
10+ if (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)
11 finish();
12
13- if (last.tv_sec==0 || MS_TDIFF(tv,last) > 500) {
14+ if ((!timeout) && (count == 0))
15+ finish();
16+
17+ if ( count!=0 && (last.tv_sec==0 || MS_TDIFF(tv,last) > 500 ) ) {
18 send_pack(s, src, dst,
19 (struct sockaddr_ll *)&me, (struct sockaddr_ll *)&he);
20+ if (count >= 0)
21+ count--;
22 if (count == 0 && unsolicited)
23 finish();
24 }
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 0000000000..2a924258da
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/fix-dead-host-ping-stats.diff
@@ -0,0 +1,14 @@
1Index: trunk/ping_common.c
2===================================================================
3--- trunk.orig/ping_common.c 2010-05-07 23:13:51.000000000 -0700
4+++ trunk/ping_common.c 2010-05-07 23:22:33.000000000 -0700
5@@ -872,7 +872,8 @@
6 printf("%spipe %d", comma, pipesize);
7 comma = ", ";
8 }
9- if (ntransmitted > 1 && (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) {
10+ if (ntransmitted > 1 && nreceived &&
11+ (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) {
12 int ipg = (1000000*(long long)tv.tv_sec+tv.tv_usec)/(ntransmitted-1);
13 printf("%sipg/ewma %d.%03d/%d.%03d ms",
14 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 0000000000..b5e907a8d0
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/targets.diff
@@ -0,0 +1,13 @@
1Index: trunk/Makefile
2===================================================================
3--- trunk.orig/Makefile 2010-05-07 23:43:00.000000000 -0700
4+++ trunk/Makefile 2010-05-07 23:47:10.000000000 -0700
5@@ -16,7 +16,7 @@
6 CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
7 CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES)
8
9-IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
10+IPV4_TARGETS=tracepath ping arping clockdiff
11 IPV6_TARGETS=tracepath6 traceroute6 ping6
12 TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
13
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 0000000000..7e6c97c14a
--- /dev/null
+++ b/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff
@@ -0,0 +1,29 @@
1Index: trunk/tracepath.c
2===================================================================
3--- trunk.orig/tracepath.c 2010-05-07 23:13:52.000000000 -0700
4+++ trunk/tracepath.c 2010-05-07 23:24:09.000000000 -0700
5@@ -338,9 +338,9 @@
6 base_port = atoi(p+1);
7 } else
8 base_port = 44444;
9- he = gethostbyname(argv[0]);
10+ he = gethostbyname2(argv[0], AF_INET);
11 if (he == NULL) {
12- herror("gethostbyname");
13+ herror("gethostbyname2");
14 exit(1);
15 }
16 memcpy(&target.sin_addr, he->h_addr, 4);
17Index: trunk/ping.c
18===================================================================
19--- trunk.orig/ping.c 2010-05-07 23:23:22.000000000 -0700
20+++ trunk/ping.c 2010-05-07 23:24:09.000000000 -0700
21@@ -250,7 +250,7 @@
22 if (argc == 1)
23 options |= F_NUMERIC;
24 } else {
25- hp = gethostbyname(target);
26+ hp = gethostbyname2(target, AF_INET);
27 if (!hp) {
28 fprintf(stderr, "ping: unknown host %s\n", target);
29 exit(2);