CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Imported core-cross ports from 2.5
[crossrootfs.git] / net-tools / net-tools-1.60-ipv6.patch
1 From Rawhide. Fixes IPV6 Lookup.
2
3 diff -Naur net-tools-1.60.orig/lib/inet6.c net-tools-1.60/lib/inet6.c
4 --- net-tools-1.60.orig/lib/inet6.c 2000-10-28 11:04:00.000000000 +0000
5 +++ net-tools-1.60/lib/inet6.c 2003-09-12 22:40:45.000000000 +0000
6 @@ -133,28 +133,9 @@
7 }
8
9
10 -static int INET6_getsock(char *bufp, struct sockaddr *sap)
11 -{
12 - struct sockaddr_in6 *sin6;
13 -
14 - sin6 = (struct sockaddr_in6 *) sap;
15 - sin6->sin6_family = AF_INET6;
16 - sin6->sin6_port = 0;
17 -
18 - if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
19 - return (-1);
20 -
21 - return 16; /* ?;) */
22 -}
23 -
24 static int INET6_input(int type, char *bufp, struct sockaddr *sap)
25 {
26 - switch (type) {
27 - case 1:
28 - return (INET6_getsock(bufp, sap));
29 - default:
30 - return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
31 - }
32 + return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
33 }
34
35
36 diff -Naur net-tools-1.60.orig/lib/inet6_gr.c net-tools-1.60/lib/inet6_gr.c
37 --- net-tools-1.60.orig/lib/inet6_gr.c 2001-04-01 14:48:06.000000000 +0000
38 +++ net-tools-1.60/lib/inet6_gr.c 2003-09-12 22:40:45.000000000 +0000
39 @@ -100,7 +100,7 @@
40 addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
41 inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6);
42 snprintf(addr6, sizeof(addr6), "%s/%d",
43 - inet6_aftype.sprint((struct sockaddr *) &saddr6, 1),
44 + inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric),
45 prefix_len);
46
47 /* Fetch and resolve the nexthop address. */
48 @@ -109,7 +109,7 @@
49 naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]);
50 inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6);
51 snprintf(naddr6, sizeof(naddr6), "%s",
52 - inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
53 + inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric));
54
55 /* Decode the flags. */
56 strcpy(flags, "U");
57 diff -Naur net-tools-1.60.orig/lib/inet6_sr.c net-tools-1.60/lib/inet6_sr.c
58 --- net-tools-1.60.orig/lib/inet6_sr.c 2000-05-22 21:18:37.000000000 +0000
59 +++ net-tools-1.60/lib/inet6_sr.c 2003-09-12 22:40:45.000000000 +0000
60 @@ -63,7 +63,7 @@
61 if (*args == NULL)
62 return (usage());
63
64 - strcpy(target, *args++);
65 + safe_strncpy(target, *args++, sizeof(target));
66 if (!strcmp(target, "default")) {
67 prefix_len = 0;
68 memset(&sa6, 0, sizeof(sa6));
69 @@ -112,7 +112,7 @@
70 return (usage());
71 if (rt.rtmsg_flags & RTF_GATEWAY)
72 return (usage());
73 - strcpy(gateway, *args);
74 + safe_strncpy(gateway, *args, sizeof(gateway));
75 if (inet6_aftype.input(1, gateway,
76 (struct sockaddr *) &sa6) < 0) {
77 inet6_aftype.herror(gateway);
78 @@ -152,7 +152,7 @@
79 }
80 if (devname) {
81 memset(&ifr, 0, sizeof(ifr));
82 - strcpy(ifr.ifr_name, devname);
83 + safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
84
85 if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) {
86 perror("SIOGIFINDEX");