Revert "iputils: switch to new upstream"
authorJohn Crispin <john@phrozen.org>
Thu, 24 Aug 2017 06:08:42 +0000 (08:08 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 24 Aug 2017 06:09:14 +0000 (08:09 +0200)
This reverts commit 77d3ac8e3ecd7989a7cffb575c4a42bc68190b6c.
This reverts commit e665b3df2a47ba5bb049d13358937ac67b860b70.

Signed-off-by: John Crispin <john@phrozen.org>
package/network/utils/iputils/Makefile
package/network/utils/iputils/patches/001-iputils.patch [new file with mode: 0644]
package/network/utils/iputils/patches/002-fix-ipv6.patch [new file with mode: 0644]
package/network/utils/iputils/patches/003-fix-makefile.patch [new file with mode: 0644]
package/network/utils/iputils/patches/010-include.patch [deleted file]
package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch [new file with mode: 0644]
package/network/utils/iputils/patches/011-ping6_use_gnu_source.patch [new file with mode: 0644]
package/network/utils/iputils/patches/020-include_fixes.patch [new file with mode: 0644]

index deab4bbbd14a91aed53e2d8817ecd162510280e3..b6799e68b5498c789271000b6f0b5012226db9a0 100644 (file)
@@ -13,7 +13,7 @@ PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-s$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.skbuff.net/iputils
-PKG_HASH:=f813092f03d17294fd23544b129b95cdb87fe19f7970a51908a6b88509acad8a
+PKG_HASH:=fd3af46c80ebb99607c2ca1f2a3608b6fe828e25bbec6e54f2afd25f6ddb6ee7
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=GPL-2.0+
@@ -68,7 +68,7 @@ endef
 define Package/iputils-ping6
 $(call Package/iputils/Default)
   TITLE:=iputils - ping6
-  DEPENDS+= @IPV6 +libopenssl
+  DEPENDS+= @IPV6 +USE_GLIBC:libopenssl
 endef
 
 define Package/iputils-ping6/description
diff --git a/package/network/utils/iputils/patches/001-iputils.patch b/package/network/utils/iputils/patches/001-iputils.patch
new file mode 100644 (file)
index 0000000..e57db13
--- /dev/null
@@ -0,0 +1,14 @@
+diff -ur a/Makefile b/Makefile
+--- a/Makefile 2002-09-20 18:23:55.000000000 +0000
++++ b/Makefile 2007-05-17 13:59:55.000000000 +0000
+@@ -16,8 +16,8 @@
+ CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
+ CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES) 
+-IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
+-IPV6_TARGETS=tracepath6 traceroute6 ping6
++IPV4_TARGETS=tracepath ping clockdiff arping tftpd
++IPV6_TARGETS=tracepath6 traceroute6 ping6
+ TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
+ LASTTAG:=`git describe HEAD | sed -e 's/-.*//'`
diff --git a/package/network/utils/iputils/patches/002-fix-ipv6.patch b/package/network/utils/iputils/patches/002-fix-ipv6.patch
new file mode 100644 (file)
index 0000000..4411ca7
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/Makefile
++++ b/Makefile
+@@ -18,7 +18,10 @@ CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES)
+ IPV4_TARGETS=tracepath ping clockdiff arping tftpd
+ IPV6_TARGETS=tracepath6 traceroute6 ping6
+-TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
++TARGETS=$(IPV4_TARGETS)
++ifeq ($(CONFIG_IPV6),y)
++      TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
++endif
+ LASTTAG:=`git describe HEAD | sed -e 's/-.*//'`
+ TAG:=`date +s%Y%m%d`
diff --git a/package/network/utils/iputils/patches/003-fix-makefile.patch b/package/network/utils/iputils/patches/003-fix-makefile.patch
new file mode 100644 (file)
index 0000000..926c685
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/Makefile
++++ b/Makefile
+@@ -30,9 +30,13 @@ all: $(TARGETS)
+ tftpd: tftpd.o tftpsubs.o
+-arping: arping.o -lsysfs
++arping: arping.o 
++      $(CC) $(CFLAGS) -o $@ arping.o -lsysfs
+ ping: ping.o ping_common.o
+-ping6: ping6.o ping_common.o -lresolv -lcrypto
++ping6: ping6.o ping_common.o
++ifneq ($(CONFIG_USE_UCLIBC),y)
++      $(CC) $(CFLAGS) -o $@ ping6.o ping_common.o -lresolv -lcrypto
++endif
+ ping.o ping6.o ping_common.o: ping_common.h
+ tftpd.o tftpsubs.o: tftp.h
diff --git a/package/network/utils/iputils/patches/010-include.patch b/package/network/utils/iputils/patches/010-include.patch
deleted file mode 100644 (file)
index 0b254f1..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-Index: iputils-s20101006/tracepath.c
-===================================================================
---- iputils-s20101006.orig/tracepath.c
-+++ iputils-s20101006/tracepath.c
-@@ -14,13 +14,13 @@
- #include <unistd.h>
- #include <sys/socket.h>
- #include <linux/types.h>
-+#include <sys/time.h>
- #include <linux/errqueue.h>
- #include <errno.h>
- #include <string.h>
- #include <netdb.h>
- #include <netinet/in.h>
- #include <resolv.h>
--#include <sys/time.h>
- #include <sys/uio.h>
- #include <arpa/inet.h>
-Index: iputils-s20101006/ping_common.h
-===================================================================
---- iputils-s20101006.orig/ping_common.h
-+++ iputils-s20101006/ping_common.h
-@@ -7,11 +7,11 @@
- #include <linux/sockios.h>
- #include <sys/file.h>
- #include <sys/time.h>
--#include <sys/signal.h>
-+#include <signal.h>
- #include <sys/ioctl.h>
- #include <net/if.h>
- #include <sys/uio.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <ctype.h>
- #include <errno.h>
- #include <string.h>
-@@ -20,7 +20,9 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <linux/types.h>
-+#include <sys/types.h>
- #include <linux/errqueue.h>
-+#include <asm/param.h>
- #include "SNAPSHOT.h"
-Index: iputils-s20101006/clockdiff.c
-===================================================================
---- iputils-s20101006.orig/clockdiff.c
-+++ iputils-s20101006/clockdiff.c
-@@ -14,7 +14,6 @@
- #include <netinet/ip.h>
- #include <netinet/ip_icmp.h>
- #define TSPTYPES
--#include <protocols/timed.h>
- #include <fcntl.h>
- #include <netdb.h>
- #include <arpa/inet.h>
-Index: iputils-s20101006/Makefile
-===================================================================
---- iputils-s20101006.orig/Makefile
-+++ iputils-s20101006/Makefile
-@@ -16,7 +16,7 @@ CC=gcc
- 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 arping tftpd
- IPV6_TARGETS=tracepath6 traceroute6 ping6
- TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
-@@ -27,9 +27,11 @@ all: $(TARGETS)
- tftpd: tftpd.o tftpsubs.o
--arping: arping.o -lsysfs
-+arping: arping.o
-+      $(CC) $(CFLAGS) -o $@ arping.o -lsysfs
- ping: ping.o ping_common.o
--ping6: ping6.o ping_common.o -lresolv -lcrypto
-+ping6: ping6.o ping_common.o
-+      $(CC) $(CFLAGS) -o $@ ping6.o ping_common.o -lresolv -lcrypto
- ping.o ping6.o ping_common.o: ping_common.h
- tftpd.o tftpsubs.o: tftp.h
-Index: iputils-s20101006/arping.c
-===================================================================
---- iputils-s20101006.orig/arping.c
-+++ iputils-s20101006/arping.c
-@@ -15,7 +15,7 @@
- #include <linux/sockios.h>
- #include <sys/file.h>
- #include <sys/time.h>
--#include <sys/signal.h>
-+#include <signal.h>
- #include <sys/ioctl.h>
- #include <linux/if.h>
- #include <linux/if_packet.h>
diff --git a/package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch b/package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch
new file mode 100644 (file)
index 0000000..6955803
--- /dev/null
@@ -0,0 +1,200 @@
+diff --git a/ping6.c b/ping6.c
+index c5ff881..ef2243f 100644
+--- a/ping6.c
++++ b/ping6.c
+@@ -71,9 +71,11 @@ char copyright[] =
+ #include <linux/filter.h>
+ #include <netinet/ip6.h>
+ #include <netinet/icmp6.h>
++#ifndef __UCLIBC__
+ #include <resolv.h>
+ #include "ping6_niquery.h"
++#endif /* __UCLIBC__ */
+ #ifndef SOL_IPV6
+ #define SOL_IPV6 IPPROTO_IPV6
+@@ -154,6 +156,7 @@ int pmtudisc=-1;
+ static int icmp_sock;
++#ifndef __UCLIBC__
+ #include <openssl/md5.h>
+ /* Node Information query */
+@@ -165,6 +168,7 @@ int ni_subject_type = 0;
+ char *ni_group;
+ __u8 ni_nonce[8];
++#endif /* __UCLIBC__ */
+ static struct in6_addr in6_anyaddr;
+ static __inline__ int ipv6_addr_any(struct in6_addr *addr)
+@@ -223,6 +227,7 @@ unsigned int if_name2index(const char *ifname)
+       return i;
+ }
++#ifndef __UCLIBC__
+ struct niquery_option {
+       char *name;
+       int namelen;
+@@ -512,6 +517,7 @@ char *ni_groupaddr(const char *name)
+               strcat(nigroup_buf, q);
+       return nigroup_buf;
+ }
++#endif /* __UCLIBC__ */
+ int main(int argc, char *argv[])
+ {
+@@ -595,12 +601,14 @@ int main(int argc, char *argv[])
+               case 'V':
+                       printf("ping6 utility, iputils-ss%s\n", SNAPSHOT);
+                       exit(0);
++#ifndef __UCLIBC__
+               case 'N':
+                       if (niquery_option_handler(optarg) < 0) {
+                               usage();
+                               break;
+                       }
+                       break;
++#endif /* __UCLIBC__ */
+               COMMON_OPTIONS
+                       common_options(ch);
+                       break;
+@@ -663,6 +671,7 @@ int main(int argc, char *argv[])
+               argc--;
+       }
++#ifndef __UCLIBC__
+       if (ni_query >= 0) {
+               int i;
+               for (i = 0; i < 8; i++)
+@@ -674,15 +683,20 @@ int main(int argc, char *argv[])
+                       ni_subject_type = NI_SUBJ_IPV6;
+               }
+       }
++#endif /* __UCLIBC__ */
+       if (argc > 1)
+               usage();
+       else if (argc == 1) {
+               target = *argv;
+       } else {
++#ifndef __UCLIBC__
+               if (ni_query < 0 && ni_subject_type != NI_SUBJ_NAME)
++#endif /* __UCLIBC__ */
+                       usage();
++#ifndef __UCLIBC__
+               target = ni_group;
++#endif /* __UCLIBC__ */
+       }
+       memset(&hints, 0, sizeof(hints));
+@@ -817,7 +831,11 @@ int main(int argc, char *argv[])
+               exit(2);
+       }
++#ifndef __UCLIBC__
+       if (datalen >= sizeof(struct timeval) && (ni_query < 0)) {
++#else
++      if (datalen >= sizeof(struct timeval)) {
++#endif /* __UCLIBC__ */
+               /* can we time transfer */
+               timing = 1;
+       }
+@@ -866,9 +884,11 @@ int main(int argc, char *argv[])
+               ICMP6_FILTER_SETPASS(ICMP6_PARAM_PROB, &filter);
+       }
++#ifndef __UCLIBC__
+       if (ni_query >= 0)
+               ICMP6_FILTER_SETPASS(ICMPV6_NI_REPLY, &filter);
+       else
++#endif /* __UCLIBC__ */
+               ICMP6_FILTER_SETPASS(ICMP6_ECHO_REPLY, &filter);
+       err = setsockopt(icmp_sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter,
+@@ -1100,6 +1120,7 @@ int build_echo(__u8 *_icmph)
+       return cc;
+ }
++#ifndef __UCLIBC__
+ int build_niquery(__u8 *_nih)
+ {
+       struct ni_hdr *nih;
+@@ -1125,6 +1146,7 @@ int build_niquery(__u8 *_nih)
+       return cc;
+ }
++#endif /* __UCLIBC__ */
+ int send_probe(void)
+ {
+@@ -1132,9 +1154,11 @@ int send_probe(void)
+       CLR((ntransmitted+1) % mx_dup_ck);
++#ifndef __UCLIBC__
+       if (ni_query >= 0)
+               len = build_niquery(outpack);
+       else
++#endif /* __UCLIBC__ */
+               len = build_echo(outpack);
+       if (cmsglen == 0) {
+@@ -1176,6 +1200,7 @@ static void putchar_safe(char c)
+               printf("\\%03o", c);
+ }
++#ifndef __UCLIBC__
+ void pr_niquery_reply_name(struct ni_hdr *nih, int len)
+ {
+       __u8 *h = (__u8 *)(nih + 1);
+@@ -1304,6 +1329,7 @@ void pr_niquery_reply(__u8 *_nih, int len)
+       }
+       putchar(';');
+ }
++#endif /* __UCLIBC__ */
+ /*
+  * parse_reply --
+@@ -1353,6 +1379,7 @@ parse_reply(struct msghdr *msg, int cc, void *addr, struct timeval *tv)
+                                     hops, 0, tv, pr_addr(&from->sin6_addr),
+                                     pr_echo_reply))
+                       return 0;
++#ifndef __UCLIBC__
+       } else if (icmph->icmp6_type == ICMPV6_NI_REPLY) {
+               struct ni_hdr *nih = (struct ni_hdr *)icmph;
+               __u16 seq = ntohs(*(__u16 *)nih->ni_nonce);
+@@ -1363,6 +1390,7 @@ parse_reply(struct msghdr *msg, int cc, void *addr, struct timeval *tv)
+                                     hops, 0, tv, pr_addr(&from->sin6_addr),
+                                     pr_niquery_reply))
+                       return 0;
++#endif /* __UCLIBC__ */
+       } else {
+               int nexthdr;
+               struct ip6_hdr *iph1 = (struct ip6_hdr*)(icmph+1);
+@@ -1557,7 +1585,9 @@ void usage(void)
+ "Usage: ping6 [-LUdfnqrvVaAD] [-c count] [-i interval] [-w deadline]\n"
+ "             [-p pattern] [-s packetsize] [-t ttl] [-I interface]\n"
+ "             [-M pmtudisc-hint] [-S sndbuf] [-F flowlabel] [-Q tclass]\n"
++#ifndef __UCLIBC__
+ "             [[-N nodeinfo-option] ...]\n"
++#endif /* __UCLIBC__ */
+ "             [hop1 ...] destination\n");
+       exit(2);
+ }
+diff --git a/ping6_niquery.h b/ping6_niquery.h
+index 61a5cfa..34c31f8 100644
+--- a/ping6_niquery.h
++++ b/ping6_niquery.h
+@@ -1,3 +1,4 @@
++#ifndef __UCLIBC__
+ #include <asm/byteorder.h>
+ /* Node Information Query */
+@@ -45,3 +46,4 @@ struct ni_hdr {
+ #define NI_IPV4ADDR_F_TRUNCATE                NI_IPV6ADDR_F_TRUNCATE
+ #define NI_IPV4ADDR_F_ALL             NI_IPV6ADDR_F_ALL
++#endif /* __UCLIBC__ */
diff --git a/package/network/utils/iputils/patches/011-ping6_use_gnu_source.patch b/package/network/utils/iputils/patches/011-ping6_use_gnu_source.patch
new file mode 100644 (file)
index 0000000..dc61b8c
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/ping6.c
++++ b/ping6.c
+@@ -66,6 +66,8 @@ char copyright[] =
+  *    More statistics could always be gathered.
+  *    This program has to run SUID to ROOT to access the ICMP socket.
+  */
++
++#define _GNU_SOURCE
+ #include "ping_common.h"
+ #include <linux/filter.h>
diff --git a/package/network/utils/iputils/patches/020-include_fixes.patch b/package/network/utils/iputils/patches/020-include_fixes.patch
new file mode 100644 (file)
index 0000000..e982dab
--- /dev/null
@@ -0,0 +1,71 @@
+--- a/ping_common.h
++++ b/ping_common.h
+@@ -2,6 +2,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <time.h>
++#include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #include <linux/sockios.h>
+@@ -11,7 +12,7 @@
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+ #include <sys/uio.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <string.h>
+@@ -24,6 +25,10 @@
+ #include "SNAPSHOT.h"
++#ifndef HZ
++#define HZ 100
++#endif
++
+ #define       DEFDATALEN      (64 - 8)        /* default data length */
+ #define       MAXWAIT         10              /* max seconds to wait for response */
+--- a/clockdiff.c
++++ b/clockdiff.c
+@@ -13,8 +13,6 @@
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+-#define TSPTYPES
+-#include <protocols/timed.h>
+ #include <fcntl.h>
+ #include <netdb.h>
+ #include <arpa/inet.h>
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -13,6 +13,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/socket.h>
++#include <sys/time.h>
+ #include <linux/types.h>
+ #include <linux/errqueue.h>
+ #include <errno.h>
+--- a/ping.c
++++ b/ping.c
+@@ -661,8 +661,15 @@ int send_probe()
+       do {
+               static struct iovec iov = {outpack, 0};
+-              static struct msghdr m = { &whereto, sizeof(whereto),
+-                                                 &iov, 1, &cmsg, 0, 0 };
++              static struct msghdr m = {
++                      .msg_name = &whereto,
++                      .msg_namelen = sizeof(whereto),
++                      .msg_iov = &iov,
++                      .msg_iovlen = 1,
++                      .msg_control = &cmsg,
++                      .msg_controllen = 0,
++                      .msg_flags = 0
++              };
+               m.msg_controllen = cmsg_len;
+               iov.iov_len = cc;