summaryrefslogtreecommitdiffstats
path: root/master/iputils
diff options
context:
space:
mode:
authorJames <>2021-10-27 15:17:29 +0100
committerJames <>2021-10-27 15:21:02 +0100
commit499d76a43c8accc286bb06b47a4d7031afaed8bd (patch)
treec8a1232ce543009597bc34674ad1d2b4616d29c1 /master/iputils
downloadmaster-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.tar.gz
master-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.tar.bz2
master-52a5d0d2-pq-499d76a43c8accc286bb06b47a4d7031afaed8bd.zip
fish
Diffstat (limited to 'master/iputils')
-rw-r--r--master/iputils552
1 files changed, 552 insertions, 0 deletions
diff --git a/master/iputils b/master/iputils
new file mode 100644
index 0000000..5033cf8
--- /dev/null
+++ b/master/iputils
@@ -0,0 +1,552 @@
+diff --git a/package/network/utils/iputils/Makefile b/package/network/utils/iputils/Makefile
+new file mode 100644
+index 00000000000..03ad7d2031e
+--- /dev/null
++++ b/package/network/utils/iputils/Makefile
+@@ -0,0 +1,182 @@
++#
++# Copyright (C) 2006-2010 OpenWrt.org
++#
++# This is free software, licensed under the GNU General Public License v2.
++# See /LICENSE for more information.
++#
++
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=iputils
++PKG_VERSION:=20101006
++PKG_RELEASE:=1
++
++PKG_SOURCE:=$(PKG_NAME)-s$(PKG_VERSION).tar.bz2
++PKG_SOURCE_URL:=http://www.skbuff.net/iputils
++PKG_HASH:=fd3af46c80ebb99607c2ca1f2a3608b6fe828e25bbec6e54f2afd25f6ddb6ee7
++
++PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
++PKG_LICENSE:=GPL-2.0+
++PKG_CPE_ID:=cpe:/a:skbuff:iputils
++
++PKG_BUILD_DEPENDS:=sysfsutils
++PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-s$(PKG_VERSION)
++
++include $(INCLUDE_DIR)/package.mk
++
++
++define Package/iputils/Default
++ SECTION:=net
++ CATEGORY:=Network
++ URL:=http://www.skbuff.net/iputils
++endef
++
++
++define Package/iputils-arping
++$(call Package/iputils/Default)
++ TITLE:=iputils - arping
++ DEPENDS+= +libsysfs
++endef
++
++define Package/iputils-arping/description
++ Program arping from iputils.
++ Sends ARP REQUEST to a neighbour host.
++endef
++
++
++define Package/iputils-clockdiff
++$(call Package/iputils/Default)
++ TITLE:=iputils - clockdiff
++endef
++
++define Package/iputils-clockdiff/description
++ Program clockdiff from iputils.
++ Measures clock difference between hosts.
++endef
++
++
++define Package/iputils-ping
++$(call Package/iputils/Default)
++ TITLE:=iputils - ping
++endef
++
++define Package/iputils-ping/description
++ Program ping from iputils.
++ Sends ICMP ECHO_REQUEST to network hosts (IPv4).
++endef
++
++
++define Package/iputils-ping6
++$(call Package/iputils/Default)
++ TITLE:=iputils - ping6
++ DEPENDS+= @IPV6 +USE_GLIBC:libopenssl
++endef
++
++define Package/iputils-ping6/description
++ Program ping6 from iputils.
++ Sends ICMP ECHO_REQUEST to network hosts (IPv6).
++endef
++
++
++define Package/iputils-tftpd
++$(call Package/iputils/Default)
++ TITLE:=iputils - tftpd
++endef
++
++define Package/iputils-tftpd/description
++ Program tftpd from iputils
++ Trivial File Transfer Protocol server.
++endef
++
++
++define Package/iputils-tracepath
++$(call Package/iputils/Default)
++ TITLE:=iputils - tracepath
++endef
++
++define Package/iputils-tracepath/description
++ Program tracepath from iputils.
++ Traces path to a network host discovering MTU along this path (IPv4).
++endef
++
++
++define Package/iputils-tracepath6
++$(call Package/iputils/Default)
++ TITLE:=iputils - tracepath6
++ DEPENDS+= @IPV6
++endef
++
++define Package/iputils-tracepath6/description
++ Program tracepath6 from iputils.
++ Traces path to a network host discovering MTU along this path (IPv6).
++endef
++
++
++define Package/iputils-traceroute6
++$(call Package/iputils/Default)
++ TITLE:=iputils - traceroute6
++ DEPENDS+= @IPV6
++endef
++
++define Package/iputils-traceroute6/description
++ Program traceroute6 from iputils.
++ Traces path to a network host (IPv6).
++endef
++
++ifdef CONFIG_USE_MUSL
++ TARGET_CFLAGS += -D__UCLIBC__
++endif
++
++MAKE_FLAGS += \
++ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
++ CONFIG_IPV6="$(CONFIG_IPV6)" \
++ CONFIG_USE_UCLIBC="$(CONFIG_USE_UCLIBC)$(CONFIG_USE_MUSL)" \
++
++define Package/iputils-arping/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_BIN) $(PKG_BUILD_DIR)/arping $(1)/usr/bin/
++endef
++
++define Package/iputils-clockdiff/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_BIN) $(PKG_BUILD_DIR)/clockdiff $(1)/usr/bin/
++endef
++
++define Package/iputils-ping/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_SUID) $(PKG_BUILD_DIR)/ping $(1)/usr/bin/
++endef
++
++define Package/iputils-ping6/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_SUID) $(PKG_BUILD_DIR)/ping6 $(1)/usr/bin/
++endef
++
++define Package/iputils-tftpd/install
++ $(INSTALL_DIR) $(1)/usr/sbin
++ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tftpd $(1)/usr/sbin/
++endef
++
++define Package/iputils-tracepath/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tracepath $(1)/usr/bin/
++endef
++
++define Package/iputils-tracepath6/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tracepath6 $(1)/usr/bin/
++endef
++
++define Package/iputils-traceroute6/install
++ $(INSTALL_DIR) $(1)/usr/bin
++ $(INSTALL_SUID) $(PKG_BUILD_DIR)/traceroute6 $(1)/usr/bin/
++endef
++
++$(eval $(call BuildPackage,iputils-arping))
++$(eval $(call BuildPackage,iputils-clockdiff))
++$(eval $(call BuildPackage,iputils-ping))
++$(eval $(call BuildPackage,iputils-tftpd))
++$(eval $(call BuildPackage,iputils-tracepath))
++$(eval $(call BuildPackage,iputils-ping6))
++$(eval $(call BuildPackage,iputils-tracepath6))
++$(eval $(call BuildPackage,iputils-traceroute6))
+diff --git a/package/network/utils/iputils/patches/001-iputils.patch b/package/network/utils/iputils/patches/001-iputils.patch
+new file mode 100644
+index 00000000000..e57db1379ea
+--- /dev/null
++++ b/package/network/utils/iputils/patches/001-iputils.patch
+@@ -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
+index 00000000000..4411ca7ef32
+--- /dev/null
++++ b/package/network/utils/iputils/patches/002-fix-ipv6.patch
+@@ -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
+index 00000000000..926c6855196
+--- /dev/null
++++ b/package/network/utils/iputils/patches/003-fix-makefile.patch
+@@ -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-ping6_uclibc_resolv.patch b/package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch
+new file mode 100644
+index 00000000000..695580347b5
+--- /dev/null
++++ b/package/network/utils/iputils/patches/010-ping6_uclibc_resolv.patch
+@@ -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
+index 00000000000..dc61b8c22f4
+--- /dev/null
++++ b/package/network/utils/iputils/patches/011-ping6_use_gnu_source.patch
+@@ -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
+index 00000000000..e982dabc378
+--- /dev/null
++++ b/package/network/utils/iputils/patches/020-include_fixes.patch
+@@ -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;
++