]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - net-tools/patches/net-tools-1.60-inet6-lookup.patch
Move all packages to root.
[ipfire-3.x.git] / net-tools / patches / net-tools-1.60-inet6-lookup.patch
diff --git a/net-tools/patches/net-tools-1.60-inet6-lookup.patch b/net-tools/patches/net-tools-1.60-inet6-lookup.patch
new file mode 100644 (file)
index 0000000..3d4854a
--- /dev/null
@@ -0,0 +1,81 @@
+--- net-tools-1.60/lib/inet6.c.inet6-lookup    2000-10-28 13:04:00.000000000 +0200
++++ net-tools-1.60/lib/inet6.c 2003-05-21 15:28:50.000000000 +0200
+@@ -133,28 +133,9 @@
+ }
+-static int INET6_getsock(char *bufp, struct sockaddr *sap)
+-{
+-    struct sockaddr_in6 *sin6;
+-
+-    sin6 = (struct sockaddr_in6 *) sap;
+-    sin6->sin6_family = AF_INET6;
+-    sin6->sin6_port = 0;
+-
+-    if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
+-      return (-1);
+-
+-    return 16;                        /* ?;) */
+-}
+-
+ static int INET6_input(int type, char *bufp, struct sockaddr *sap)
+ {
+-    switch (type) {
+-    case 1:
+-      return (INET6_getsock(bufp, sap));
+-    default:
+-      return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
+-    }
++    return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
+ }
+--- net-tools-1.60/lib/inet6_gr.c.inet6-lookup 2001-04-01 16:48:06.000000000 +0200
++++ net-tools-1.60/lib/inet6_gr.c      2003-05-21 15:28:50.000000000 +0200
+@@ -100,7 +100,7 @@
+                addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
+       inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6);
+       snprintf(addr6, sizeof(addr6), "%s/%d",
+-               inet6_aftype.sprint((struct sockaddr *) &saddr6, 1),
++               inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric),
+                prefix_len);
+       /* Fetch and resolve the nexthop address. */
+@@ -109,7 +109,7 @@
+                naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]);
+       inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6);
+       snprintf(naddr6, sizeof(naddr6), "%s",
+-               inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
++               inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric));
+       /* Decode the flags. */
+       strcpy(flags, "U");
+--- net-tools-1.60/lib/inet6_sr.c.inet6-lookup 2000-05-22 23:18:37.000000000 +0200
++++ net-tools-1.60/lib/inet6_sr.c      2003-05-21 15:28:50.000000000 +0200
+@@ -63,7 +63,7 @@
+     if (*args == NULL)
+       return (usage());
+-    strcpy(target, *args++);
++    safe_strncpy(target, *args++, sizeof(target));
+     if (!strcmp(target, "default")) {
+         prefix_len = 0;
+       memset(&sa6, 0, sizeof(sa6));
+@@ -112,7 +112,7 @@
+               return (usage());
+           if (rt.rtmsg_flags & RTF_GATEWAY)
+               return (usage());
+-          strcpy(gateway, *args);
++          safe_strncpy(gateway, *args, sizeof(gateway));
+           if (inet6_aftype.input(1, gateway,
+                                  (struct sockaddr *) &sa6) < 0) {
+               inet6_aftype.herror(gateway);
+@@ -152,7 +152,7 @@
+     }
+     if (devname) {
+       memset(&ifr, 0, sizeof(ifr));
+-      strcpy(ifr.ifr_name, devname);
++      safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
+       if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) {
+           perror("SIOGIFINDEX");