From: Jo-Philipp Wich Date: Tue, 24 May 2011 09:46:46 +0000 (+0000) Subject: [PATCH] Update iputils to 20101006 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=ea29e4bf79fe848eb36c9af4e78f96bfec03e25c [PATCH] Update iputils to 20101006 This patch also fixes the ping6 linking issues with uClibc by disabling the libresolv-based stuff (the "-N nodeinfo-option" feature). Signed-off-by: Luis Alberto Dallos Roa SVN-Revision: 26994 --- diff --git a/net/iputils/Makefile b/net/iputils/Makefile index b9f9f8b51c..712076b0d1 100644 --- a/net/iputils/Makefile +++ b/net/iputils/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iputils -PKG_VERSION:=20100418 -PKG_RELEASE:=2 +PKG_VERSION:=20101006 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-s$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.skbuff.net/iputils -PKG_MD5SUM:=df6b0062118cdc5c62e3c810f831e976 +PKG_MD5SUM:=a36c25e9ec17e48be514dc0485e7376c PKG_BUILD_DEPENDS:=sysfsutils PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-s$(PKG_VERSION) @@ -66,7 +66,7 @@ endef define Package/iputils-ping6 $(call Package/iputils/Default) TITLE:=iputils - ping6 - DEPENDS+= @IPV6 @BROKEN + DEPENDS+= @IPV6 endef define Package/iputils-ping6/description @@ -77,7 +77,6 @@ endef define Package/iputils-tftpd $(call Package/iputils/Default) - SUBMENU:=File Transfer TITLE:=iputils - tftpd endef @@ -101,7 +100,7 @@ endef define Package/iputils-tracepath6 $(call Package/iputils/Default) TITLE:=iputils - tracepath6 - DEPENDS+= @IPV6 @BROKEN + DEPENDS+= @IPV6 endef define Package/iputils-tracepath6/description @@ -113,7 +112,7 @@ endef define Package/iputils-traceroute6 $(call Package/iputils/Default) TITLE:=iputils - traceroute6 - DEPENDS+= @IPV6 @BROKEN + DEPENDS+= @IPV6 endef define Package/iputils-traceroute6/description @@ -127,6 +126,8 @@ endif MAKE_FLAGS += \ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \ + CONFIG_IPV6="$(CONFIG_IPV6)" \ + CONFIG_USE_UCLIBC="$(CONFIG_USE_UCLIBC)" \ define Package/iputils-arping/install $(INSTALL_DIR) $(1)/usr/bin @@ -173,6 +174,6 @@ $(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)) +$(eval $(call BuildPackage,iputils-ping6)) +$(eval $(call BuildPackage,iputils-tracepath6)) +$(eval $(call BuildPackage,iputils-traceroute6)) diff --git a/net/iputils/patches/001-iputils.patch b/net/iputils/patches/001-iputils.patch index c07d70e0e7..e57db1379e 100644 --- a/net/iputils/patches/001-iputils.patch +++ b/net/iputils/patches/001-iputils.patch @@ -1,9 +1,9 @@ -diff -ur iputils/Makefile iputils_new/Makefile ---- iputils/Makefile 2002-09-20 18:23:55.000000000 +0000 -+++ iputils_new/Makefile 2007-05-17 13:59:55.000000000 +0000 -@@ -27,8 +27,8 @@ +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) -I$(KERNEL_INCLUDE) -I../include $(DEFINES) + CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES) -IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd -IPV6_TARGETS=tracepath6 traceroute6 ping6 @@ -11,4 +11,4 @@ diff -ur iputils/Makefile iputils_new/Makefile +IPV6_TARGETS=tracepath6 traceroute6 ping6 TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) - all: check-kernel $(TARGETS) + LASTTAG:=`git describe HEAD | sed -e 's/-.*//'` diff --git a/net/iputils/patches/002-fix-ipv6.patch b/net/iputils/patches/002-fix-ipv6.patch index f549d71dbe..4411ca7ef3 100644 --- a/net/iputils/patches/002-fix-ipv6.patch +++ b/net/iputils/patches/002-fix-ipv6.patch @@ -10,5 +10,5 @@ + TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) +endif - LASTTAG:=`git-describe HEAD | sed -e 's/-.*//'` + LASTTAG:=`git describe HEAD | sed -e 's/-.*//'` TAG:=`date +s%Y%m%d` diff --git a/net/iputils/patches/003-fix-makefile.patch b/net/iputils/patches/003-fix-makefile.patch index f2bc17a624..926c685519 100644 --- a/net/iputils/patches/003-fix-makefile.patch +++ b/net/iputils/patches/003-fix-makefile.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -30,9 +30,11 @@ all: $(TARGETS) +@@ -30,9 +30,13 @@ all: $(TARGETS) tftpd: tftpd.o tftpsubs.o @@ -9,8 +9,10 @@ + $(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 ++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/net/iputils/patches/010-ping6_uclibc_resolv.patch b/net/iputils/patches/010-ping6_uclibc_resolv.patch new file mode 100644 index 0000000000..695580347b --- /dev/null +++ b/net/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 + #include + #include ++#ifndef __UCLIBC__ + #include + + #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 + + /* 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 + + /* 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__ */