summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Gerus <arachnist@i.am-a.cat>2015-04-26 06:43:46 +0200
committerRobert Gerus <arachnist@i.am-a.cat>2015-04-26 06:43:46 +0200
commit24711ac797b3072ff403f0d09652edb013edfec3 (patch)
tree74bc24ff7f3e81531f113c994a0dbc0e8cfae28e
parentdd570e0ae004ba8a29119abe27974626e7fbf024 (diff)
downloadgentoo-overlay-24711ac797b3072ff403f0d09652edb013edfec3.tar.gz
gentoo-overlay-24711ac797b3072ff403f0d09652edb013edfec3.tar.bz2
gentoo-overlay-24711ac797b3072ff403f0d09652edb013edfec3.tar.xz
gentoo-overlay-24711ac797b3072ff403f0d09652edb013edfec3.zip
Import net-misc/iputils and fix for b.g.o/#547752
-rw-r--r--net-misc/iputils/Manifest18
-rw-r--r--net-misc/iputils/files/021109-uclibc-no-ether_ntohost.patch24
-rw-r--r--net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch11
-rw-r--r--net-misc/iputils/files/iputils-20100418-so_mark.patch22
-rw-r--r--net-misc/iputils/files/iputils-20121221-crypto-build.patch35
-rw-r--r--net-misc/iputils/files/iputils-20121221-makefile.patch61
-rw-r--r--net-misc/iputils/files/iputils-20121221-openssl.patch92
-rw-r--r--net-misc/iputils/files/iputils-20121221-owl-pingsock.diff224
-rw-r--r--net-misc/iputils/files/iputils-20121221-parallel-doc.patch74
-rw-r--r--net-misc/iputils/files/iputils-20121221-printf-size.patch64
-rw-r--r--net-misc/iputils/files/iputils-20121221-r2.ebuild148
-rw-r--r--net-misc/iputils/files/iputils-20121221-strtod.patch45
-rw-r--r--net-misc/iputils/files/iputils-20121221-tftpd-setid.patch34
-rw-r--r--net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch38
-rw-r--r--net-misc/iputils/files/rarpd.conf.d8
-rwxr-xr-xnet-misc/iputils/files/rarpd.init.d20
-rw-r--r--net-misc/iputils/iputils-20121221-r2.ebuild148
-rw-r--r--profiles/categories1
18 files changed, 1066 insertions, 1 deletions
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
new file mode 100644
index 0000000..19cf006
--- /dev/null
+++ b/net-misc/iputils/Manifest
@@ -0,0 +1,18 @@
+AUX 021109-uclibc-no-ether_ntohost.patch 635 SHA256 cf8135fd380918890a1da8de438d5283111f1e9ea0754b4f5c78bb703fcf617b SHA512 29ccbbf19bd40e9c929af403227f49586a4cb79d7ef948710b34b0813d116017530ef1bf0082b093b4179edff1daa275906cfb9a565f61dd5bed10f24b66fd38 WHIRLPOOL e5390a41b0764d78cda651dd6fff2ebd4f206dc6f5b34da370c19cee7d44f373035fc1efa2bf90924b5a06ca48f344f80a2c902abe04eb588d01e0a9d59bf79d
+AUX iputils-20071127-nonroot-floodping.patch 497 SHA256 f0c7c2d4843873da96f795fb766a65ed39b6d8ab74ae4aa5a47444c9a3db0e52 SHA512 96ea32977cdb2e3c98341b75214a35e88296600d14bc929f7691951325be8e90e8ff6ccf83fb2419db3c910a8169fb2a4348000fab33679039ec5cf2d07a3ee8 WHIRLPOOL 1f880978cf70188d0d59e79396f8c5962655c00cbf7f7c7adb800316dea1b6748ddbc788681c9831edf0fbb1153e85b5ca35e0e3c131b0a5b4884fa511119c0c
+AUX iputils-20100418-so_mark.patch 597 SHA256 3c0c3e93d3b458a02f856be3681c2dd5bfb18933e4752e90dc277cdd353b3576 SHA512 453ef3f8c53e2c2cef54f19219b892e51a83a6109f73a4f10712aec729509f02e6b830ab7ca85843a70f3d9c9860f084b256290f638741d573a5205ba89fe469 WHIRLPOOL 502e9ee110555644fd7d19d64afba3d2777844faca6fe0111b4b7356e3262c011b8de13475db1e70dff9225e3883d7e3e27d1f96f240a80d4c5c9ab0a29c9560
+AUX iputils-20121221-crypto-build.patch 1325 SHA256 cafc281c70d46f2964489b4c19c981bcf203b4c6266d4f49437c3fe67e2027b2 SHA512 922daa01f00c19f8237515b2d3ab73b87daa957cfc491382def2ce1c098ffed943ad4952c94134f3155570f64353abf5348523ea773ce7eb457578f975cc92d2 WHIRLPOOL a39c7dbb9b37849cc3560dc1f814a8c18a9ff9b55e19c3587a7c49286d55323f96d42d33c6f2723d3868506c252272e1d2d6bc3370eb935b479c89514f03c9c5
+AUX iputils-20121221-makefile.patch 1791 SHA256 779632822e3440f3b898a50955cb8fb72177f0d1623c9da7c0a8afa68313435f SHA512 5899942b73d4d13e0ff85f22a81e9107b2a04c82cac6b59559a521c5d0bf25007e34b61b2dfdb40c21b221a108f6ba72c1a51fa59359a400ad045c9394c176db WHIRLPOOL c0c13046265ad44d23bde66cf48f64803591b4577861fde0ad7873001cbd9284c8593ce277a39d077b5bab635d0f8aa53ad124ea724bbc4584db36570028f90f
+AUX iputils-20121221-openssl.patch 2378 SHA256 cc1af5ccdd593b4fa43273cf7de8b9552f0a5d33a72a35fcc4f94cf2c6fc9a44 SHA512 05240c00d0a1f9f878a9826d54cbd0128c2ed5ce7cab4685907956156c3cf2131ccd563812b64490bf915a75f52851396966a590027fc4c1886b2d19f421718b WHIRLPOOL 66052233f933cf30fe1572578012faa380f53580307e880e9a94c001ea14e585b3e28693c8e3883ee6350bb6af04a6931732ebaa284c4e3851b64081e042d081
+AUX iputils-20121221-owl-pingsock.diff 6374 SHA256 915e18ee5a03f5636b408ff34a5576ad8899a3d93d5fe8182984c3565bd94375 SHA512 2f2577230d8bc864adc562c4c5bf33cde3bbabfde633406165b2b61df4e13e2dba74c8561f70d88c3932fc49a41a0276533b715ade208c8608348e4d065c8395 WHIRLPOOL 205179fa205e8bd88a9077cf628ec1a060189ee01d55c45dbe754f3bc36a496531cb9eab120507eff5d72140c934a7480d6a015fa6020f7dcecdfbc6ef590443
+AUX iputils-20121221-parallel-doc.patch 2042 SHA256 151aed9018976387d4001050b41ad5e28630a6e8ab88a0f8501ceb5c9424620e SHA512 cc3a0416c1380d4b799412769270f8fa522a8f931706b318f33add4b02b82e76b177ae6c976408405a83a6c84036f918a41cb3008ee17bf39ea30e8d1f5dc46d WHIRLPOOL adf1b6f7351dd3a255403529268b0c805198905123d6663ef860c72c6bf848029158419b701be39ce144f575de76b76140836ae30259aef2662df9e1c2a57659
+AUX iputils-20121221-printf-size.patch 1671 SHA256 a1ed939d0e008bca06208ae34e3f17a0ddc66b50f1679f82a630b52cdfbd111a SHA512 ff5491ad5a0396bee41fcbfc1384699d396c24da093bd2209dead67f52efcec462dbfb4a43008083742d0139da7bd52e922499b5f7eae028384c74930453dd33 WHIRLPOOL 8582495e9c58a01c3aafe6d0c968df910e672af20d420980ba7503800ad75e308c62cd53f86b5aaa8ef9d232ee7a0a4ea7bb3d9cd9735045ae0f6a21f8e419ee
+AUX iputils-20121221-r2.ebuild 4039 SHA256 2bfa728c7ef3132c98b7279945b2c0608554b51f3f2f791291a0f969070332c4 SHA512 6f1c96a84029f776d28908193c3e75f93cb5ed3342daba5091e6948071536ff4cd88f97667eaecf0f2bb0c803bff598e6fd60c67b9bdc63022a6c387139c8f0c WHIRLPOOL d2311521749d9fe0f3e9a7e6c55988b20ecbaaefc1ddd8f9048ba03319249304a7b3ae6e1920fa2d78a4ef05e06bd0ce0c0e0f2b7226457e08d1949469ff3969
+AUX iputils-20121221-strtod.patch 1133 SHA256 461a883439a09854b483bce02187aa78eb16cb88364a834257d52f00ca4941cc SHA512 2e4dc1bdc8192c7c028bacb7f82fc13de2529f1dfdba71bbb05f04b468a609b343f8e1798bf991a1326d03a701428256960b2c0b7601bc84b50076b64c5ee946 WHIRLPOOL c781f7cab0d0910a48f91eb24647c0fda29b986ed11d35b1f275fb9cc6c1c2e53c0ea062668fed2d560a6bac751d7fa7f50b907324a79bbe560cffc65078833a
+AUX iputils-20121221-tftpd-setid.patch 815 SHA256 8b1351b43b69a9147b93a0744e57d2634c1fd2abf99856a7447d633bde9cbce4 SHA512 55f7fe0d7312429dd1ec3a9232a4e6436b1115b1b555d5af52f5ee04fe54fdf782dbb018d0dbae1c2e38913057bfa42261a2e57d90c0063b8259029adfa08123 WHIRLPOOL df55138a63fb1b1998e5957eb33f8dfd008dbf9d0701f89dc1bb56a9841b4b9e66ec8d76b83652409655e9b4a953f858eec005fe19463283437a2e477f4ac448
+AUX iputils-20121221-tftpd-syslog.patch 1075 SHA256 8502f11dd440a9df42da52e3426fa93aa4e4d879093be723601a4adf52c62d2b SHA512 43fa506475f138e92d04bd6a4417511caa3ed1636f6dea5d3930b6dca164a809338ab1f24b4bf084581ff849189a8240929182fa24897e252994851a6aae5188 WHIRLPOOL b32d3eeb0dd48012e8e5ed6ad14d603c1280e7203ce5ba6f465bfc005bb44b5fcac23eced9a6b7353966749541ab75380b347c98e46805e3e542562474f024df
+AUX rarpd.conf.d 250 SHA256 86e79f5a4be44f8b15a8743b4b3128f2bcc40a553f81ebfd902c590f82d12a60 SHA512 8ff4c38b4f51f92ec6d66a446272e0cd9d958c3075162c5a4aa47eb54bb69f27045b888f8a547394ab3de51bdb69f14b8df528785a8c967fa33ab0c4db329338 WHIRLPOOL bf9e8b6d15dfaa4e76e0af91781cfa675b6db547e9293ea67f0ced50ed2e7ccd880bcbdffac12a197f85f1d643148cb806a10ce9d586c89be1f26248c1fc6aaf
+AUX rarpd.init.d 692 SHA256 e84222a787d42784406fb71e32816901bdd7b694fb7fb566e73e89b062628709 SHA512 d2e2fe80804cf06129c41ad4b9825a62c1abc92e8351e23110fa947e0a65f587f6b26d071c46913af7c2d3a4117b612339c474843c20d9e8850c8190f1e0a308 WHIRLPOOL 5a7352d40b1bf1877918b64623ff9aacd879527ae94378ce80a7a1f9cb0520b1069c1123cb327974392b6ef2a5d7bb2cec222a9b31ea8dcb86d1582b2fccf27f
+DIST iputils-s20121221-manpages.tar.bz2 23778 SHA256 6fc7ed7d281b7a2ee00e4f75e5465c90498c685bcc988afdff74db4eaa736d1c SHA512 006be62e61bf1555c99dbd5aac270cbd8d1074a3016fdde3aeed47e5c9b1acd326aa30a596c532d6688827f7f61966a6e3141eaa3b6f4f943eb21ac227282d8c WHIRLPOOL da0ccb577c4b2189553419df2c093404752fb2865eb3e0bfececfc242d930ceb44f96b32d945cfdd0c9ca060359651b2ec8479db5cc9220cda412dfeee5e910d
+DIST iputils-s20121221.tar.bz2 155344 SHA256 450f549fc5b620c23c5929aa6d54b7ddfc7ee1cb1e8efdc5e8bb21d8d0c5319f SHA512 693d240becd766c345c3af2053fc0699b9358e54d667d40738c21d731b70e779112d81476a220d8300ca54250120385414a13610d445996f95a90571047389f4 WHIRLPOOL 64529180eb4b8e2f7a60c18df7cac49e10a4b7702514252d418b16dcdc10a85ccb0a7f8beb51274cc9d708be2026c4c136e720986795fd39d314e4f9d5590ec9
+EBUILD iputils-20121221-r2.ebuild 4039 SHA256 2bfa728c7ef3132c98b7279945b2c0608554b51f3f2f791291a0f969070332c4 SHA512 6f1c96a84029f776d28908193c3e75f93cb5ed3342daba5091e6948071536ff4cd88f97667eaecf0f2bb0c803bff598e6fd60c67b9bdc63022a6c387139c8f0c WHIRLPOOL d2311521749d9fe0f3e9a7e6c55988b20ecbaaefc1ddd8f9048ba03319249304a7b3ae6e1920fa2d78a4ef05e06bd0ce0c0e0f2b7226457e08d1949469ff3969
diff --git a/net-misc/iputils/files/021109-uclibc-no-ether_ntohost.patch b/net-misc/iputils/files/021109-uclibc-no-ether_ntohost.patch
new file mode 100644
index 0000000..e790d2b
--- /dev/null
+++ b/net-misc/iputils/files/021109-uclibc-no-ether_ntohost.patch
@@ -0,0 +1,24 @@
+--- iputils/rarpd.c.mps 2004-06-10 15:27:01.000000000 +0200
++++ iputils/rarpd.c 2004-06-10 15:26:29.000000000 +0200
+@@ -42,7 +42,9 @@ int listen_arp;
+ char *ifname;
+ char *tftp_dir = "/etc/tftpboot";
+
++#ifndef __UCLIBC__
+ extern int ether_ntohost(char *name, unsigned char *ea);
++#endif
+ void usage(void) __attribute__((noreturn));
+
+ struct iflink
+@@ -305,7 +307,11 @@ struct rarp_map *rarp_lookup(int ifindex
+ 6,
+ };
+
++#ifndef __UCLIBC__
+ if (ether_ntohost(ename, lladdr) != 0 ||
++#else
++ if (
++#endif
+ (hp = gethostbyname(ename)) == NULL) {
+ if (verbose)
+ syslog(LOG_INFO, "not found in /etc/ethers");
diff --git a/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch b/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch
new file mode 100644
index 0000000..cae8779
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch
@@ -0,0 +1,11 @@
+--- iputils-s20071127/ping_common.h.orig 2008-06-10 11:16:06.000000000 +0100
++++ iputils-s20071127/ping_common.h 2008-06-10 11:16:18.000000000 +0100
+@@ -28,7 +28,7 @@
+
+ #define MAXWAIT 10 /* max seconds to wait for response */
+ #define MININTERVAL 10 /* Minimal interpacket gap */
+-#define MINUSERINTERVAL 200 /* Minimal allowed interval for non-root */
++#define MINUSERINTERVAL 0 /* Minimal allowed interval for non-root */
+
+ #define SCHINT(a) (((a) <= MININTERVAL) ? MININTERVAL : (a))
+
diff --git a/net-misc/iputils/files/iputils-20100418-so_mark.patch b/net-misc/iputils/files/iputils-20100418-so_mark.patch
new file mode 100644
index 0000000..ad92254
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20100418-so_mark.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/335347
+
+fix building with older linux headers that don't define SO_MARK
+
+--- ping_common.c
++++ ping_common.c
+@@ -485,6 +485,7 @@
+ fprintf(stderr, "Warning: no SO_TIMESTAMP support, falling back to SIOCGSTAMP\n");
+ }
+ #endif
++#ifdef SO_MARK
+ if (options & F_MARK) {
+ if (setsockopt(icmp_sock, SOL_SOCKET, SO_MARK,
+ &mark, sizeof(mark)) == -1) {
+@@ -494,6 +495,7 @@
+ fprintf(stderr, "Warning: Failed to set mark %d\n", mark);
+ }
+ }
++#endif
+
+ /* Set some SNDTIMEO to prevent blocking forever
+ * on sends, when device is too slow or stalls. Just put limit
diff --git a/net-misc/iputils/files/iputils-20121221-crypto-build.patch b/net-misc/iputils/files/iputils-20121221-crypto-build.patch
new file mode 100644
index 0000000..1ec3c10
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-crypto-build.patch
@@ -0,0 +1,35 @@
+From 568e990d30fc7e9416e0a6f8c74ea5013921eaec Mon Sep 17 00:00:00 2001
+From: Arjan van de Ven <arjanvandeven@gmail.com>
+Date: Wed, 16 Jan 2013 03:12:15 +0900
+Subject: [PATCH [iputils]] ping6: Fix build command line argument with gnutls.
+
+The ping6 command can use either openssl or gnutls...
+and the Makefile has a bunch of setup for defining which of the two to use.
+
+Unfortunately, the final -D define on the commandline to enable gnutls
+inside the ping6.c file didn't actually make it onto the gcc
+commandline.
+This patch adds the $(DEF_CRYPTO) Makefile variable to fix this gap.
+
+Signed-off-by: Arjan van de Ven <arjanvandeven@gmail.com>
+Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index c62d9df..89249f5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -149,7 +149,7 @@ LIB_clockdiff = $(LIB_CAP)
+ DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
+ DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
+ LIB_ping = $(LIB_CAP) $(LIB_IDN)
+-DEF_ping6 = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_ENABLE_PING6_RTHDR)
++DEF_ping6 = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_ENABLE_PING6_RTHDR) $(DEF_CRYPTO)
+ LIB_ping6 = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO)
+
+ ping: ping_common.o
+--
+1.8.0.2
+
diff --git a/net-misc/iputils/files/iputils-20121221-makefile.patch b/net-misc/iputils/files/iputils-20121221-makefile.patch
new file mode 100644
index 0000000..66424c8
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-makefile.patch
@@ -0,0 +1,61 @@
+From c66609d2c830d6fe06f48f5d38c54eb5cc6f2975 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 24 Jan 2013 23:36:16 -0500
+Subject: [PATCH [iputils]] fix handling of CFLAGS
+
+This defaults CFLAGS to -O3 without clobbering settings people have set
+up in the environment already.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2c49940..ecabac3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,8 +2,6 @@
+ # Configuration
+ #
+
+-# CC
+-CC=gcc
+ # Path to parent kernel include files directory
+ LIBC_INCLUDE=/usr/include
+ # Libraries
+@@ -48,11 +46,10 @@ ENABLE_RDISC_SERVER=no
+
+ # -------------------------------------
+ # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
+-# CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
+-CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g
+-CCOPTOPT=-O3
+-GLIBCFIX=-D_GNU_SOURCE
+-DEFINES=
++# CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
++CFLAGS?=-O3 -g
++CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
++CPPFLAGS+=-D_GNU_SOURCE
+ LDLIB=
+
+ FUNC_LIB = $(if $(filter static,$(1)),$(LDFLAG_STATIC) $(2) $(LDFLAG_DYNAMIC),$(2))
+@@ -113,7 +110,6 @@ IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
+ IPV6_TARGETS=tracepath6 traceroute6 ping6
+ TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
+
+-CFLAGS=$(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES)
+ LDLIBS=$(LDLIB) $(ADDLIB)
+
+ UNAME_N:=$(shell uname -n)
+@@ -132,6 +128,7 @@ all: $(TARGETS)
+ $(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -S -o $@
+ %.o: %.c
+ $(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -o $@
++LINK.o += $(CFLAGS)
+ $(TARGETS): %: %.o
+ $(LINK.o) $^ $(LIB_$@) $(LDLIBS) -o $@
+
+--
+1.8.0.2
+
diff --git a/net-misc/iputils/files/iputils-20121221-openssl.patch b/net-misc/iputils/files/iputils-20121221-openssl.patch
new file mode 100644
index 0000000..1c6ba81
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-openssl.patch
@@ -0,0 +1,92 @@
+From b57d77dcfa5cb363b7eba5b331324669a8505ac4 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 24 Jan 2013 23:32:39 -0500
+Subject: [PATCH [iputils]] ping6: allow disabling of openssl support
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 5 ++++-
+ ping6.c | 14 +++++++++++++-
+ 2 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 89249f5..2c49940 100644
+--- a/Makefile
++++ b/Makefile
+@@ -36,7 +36,7 @@ ARPING_DEFAULT_DEVICE=
+
+ # GNU TLS library for ping6 [yes|no|static]
+ USE_GNUTLS=yes
+-# Crypto library for ping6 [shared|static]
++# Crypto library for ping6 [shared|static|no]
+ USE_CRYPTO=shared
+ # Resolv library for ping6 [yes|static]
+ USE_RESOLV=yes
+@@ -63,7 +63,10 @@ ifneq ($(USE_GNUTLS),no)
+ LIB_CRYPTO = $(call FUNC_LIB,$(USE_GNUTLS),$(LDFLAG_GNUTLS))
+ DEF_CRYPTO = -DUSE_GNUTLS
+ else
++ifneq ($(USE_CRYPTO),no)
+ LIB_CRYPTO = $(call FUNC_LIB,$(USE_CRYPTO),$(LDFLAG_CRYPTO))
++ DEF_CRYPTO = -DUSE_OPENSSL
++endif
+ endif
+
+ # USE_RESOLV: LIB_RESOLV
+diff --git a/ping6.c b/ping6.c
+index c39864d..f2f90af 100644
+--- a/ping6.c
++++ b/ping6.c
+@@ -168,8 +168,10 @@ static int icmp_sock;
+
+ #ifdef USE_GNUTLS
+ # include <gnutls/openssl.h>
+-#else
++# define USE_CRYPTO
++#elif defined USE_OPENSSL
+ # include <openssl/md5.h>
++# define USE_CRYPTO
+ #endif
+
+ /* Node Information query */
+@@ -326,6 +328,7 @@ static void niquery_init_nonce(void)
+ #if !PING6_NONCE_MEMORY
+ static int niquery_nonce(__u8 *nonce, int fill)
+ {
++# ifdef USE_CRYPTO
+ static __u8 digest[MD5_DIGEST_LENGTH];
+ static int seq = -1;
+
+@@ -348,6 +351,10 @@ static int niquery_nonce(__u8 *nonce, int fill)
+ return -1;
+ return ntohsp((__u16 *)nonce);
+ }
++# else
++ fprintf(stderr, "ping6: function not available; crypto disabled\n");
++ exit(3);
++# endif
+ }
+ #endif
+
+@@ -502,6 +509,7 @@ static int niquery_option_subject_addr_handler(int index, const char *arg)
+
+ static int niquery_option_subject_name_handler(int index, const char *arg)
+ {
++#ifdef USE_CRYPTO
+ static char nigroup_buf[INET6_ADDRSTRLEN + 1 + IFNAMSIZ];
+ unsigned char *dnptrs[2], **dpp, **lastdnptr;
+ int n;
+@@ -627,6 +635,10 @@ errexit:
+ free(idn);
+ free(name);
+ exit(1);
++#else
++ fprintf(stderr, "ping6: function not available; crypto disabled\n");
++ exit(3);
++#endif
+ }
+
+ int niquery_option_help_handler(int index, const char *arg)
+--
+1.8.0.2
+
diff --git a/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff b/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff
new file mode 100644
index 0000000..283aa98
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff
@@ -0,0 +1,224 @@
+http://openwall.info/wiki/people/segoon/ping
+
+--- iputils-s20101006/ping.c
++++ iputils-s20101006/ping.c
+@@ -88,6 +88,7 @@ struct sockaddr_in whereto; /* who to pi
+ int optlen = 0;
+ int settos = 0; /* Set TOS, Precendence or other QOS options */
+ int icmp_sock; /* socket file descriptor */
++int using_ping_socket = 0;
+ u_char outpack[0x10000];
+ int maxpacket = sizeof(outpack);
+
+@@ -123,7 +124,11 @@ main(int argc, char **argv)
+ char *target, hnamebuf[MAX_HOSTNAMELEN];
+ char rspace[3 + 4 * NROUTES + 1]; /* record route space */
+
+- icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
++ icmp_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP);
++ if (icmp_sock != -1)
++ using_ping_socket = 1;
++ else
++ icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
+ socket_errno = errno;
+
+ uid = getuid();
+@@ -377,13 +382,35 @@ main(int argc, char **argv)
+ }
+ }
+
+- if ((options&F_STRICTSOURCE) &&
+- bind(icmp_sock, (struct sockaddr*)&source, sizeof(source)) == -1) {
+- perror("bind");
+- exit(2);
++ if (!using_ping_socket) {
++ if ((options&F_STRICTSOURCE) &&
++ bind(icmp_sock, (struct sockaddr*)&source, sizeof(source)) == -1) {
++ perror("bind");
++ exit(2);
++ }
++ } else {
++ struct sockaddr_in sa;
++ socklen_t sl;
++
++ sa.sin_family = AF_INET;
++ sa.sin_port = 0;
++ sa.sin_addr.s_addr = (options&F_STRICTSOURCE) ?
++ source.sin_addr.s_addr : 0;
++ sl = sizeof(sa);
++
++ if (bind(icmp_sock, (struct sockaddr *) &sa, sl) == -1) {
++ perror("bind");
++ exit(2);
++ }
++
++ if (getsockname(icmp_sock, (struct sockaddr *) &sa, &sl) == -1) {
++ perror("getsockname");
++ exit(2);
++ }
++ ident = sa.sin_port;
+ }
+
+- if (1) {
++ if (!using_ping_socket) {
+ struct icmp_filter filt;
+ filt.data = ~((1<<ICMP_SOURCE_QUENCH)|
+ (1<<ICMP_DEST_UNREACH)|
+@@ -398,6 +425,12 @@ main(int argc, char **argv)
+ hold = 1;
+ if (setsockopt(icmp_sock, SOL_IP, IP_RECVERR, (char *)&hold, sizeof(hold)))
+ fprintf(stderr, "WARNING: your kernel is veeery old. No problems.\n");
++ if (using_ping_socket) {
++ if (setsockopt(icmp_sock, SOL_IP, IP_RECVTTL, (char *)&hold, sizeof(hold)))
++ perror("WARNING: setsockopt(IP_RECVTTL)");
++ if (setsockopt(icmp_sock, SOL_IP, IP_RETOPTS, (char *)&hold, sizeof(hold)))
++ perror("WARNING: setsockopt(IP_RETOPTS)");
++ }
+
+ /* record route option */
+ if (options & F_RROUTE) {
+@@ -566,6 +599,7 @@ int receive_error_msg()
+ nerrors++;
+ } else if (e->ee_origin == SO_EE_ORIGIN_ICMP) {
+ struct sockaddr_in *sin = (struct sockaddr_in*)(e+1);
++ int error_pkt;
+
+ if (res < sizeof(icmph) ||
+ target.sin_addr.s_addr != whereto.sin_addr.s_addr ||
+@@ -576,9 +610,18 @@ int receive_error_msg()
+ goto out;
+ }
+
+- acknowledge(ntohs(icmph.un.echo.sequence));
++ error_pkt = (e->ee_type != ICMP_REDIRECT &&
++ e->ee_type != ICMP_SOURCE_QUENCH);
++ if (error_pkt) {
++ acknowledge(ntohs(icmph.un.echo.sequence));
++ net_errors++;
++ nerrors++;
++ }
++ else {
++ saved_errno = 0;
++ }
+
+- if (!working_recverr) {
++ if (!using_ping_socket && !working_recverr) {
+ struct icmp_filter filt;
+ working_recverr = 1;
+ /* OK, it works. Add stronger filter. */
+@@ -589,15 +632,14 @@ int receive_error_msg()
+ perror("\rWARNING: setsockopt(ICMP_FILTER)");
+ }
+
+- net_errors++;
+- nerrors++;
+ if (options & F_QUIET)
+ goto out;
+ if (options & F_FLOOD) {
+- write_stdout("\bE", 2);
++ if (error_pkt)
++ write_stdout("\bE", 2);
+ } else {
+ print_timestamp();
+- printf("From %s icmp_seq=%u ", pr_addr(sin->sin_addr.s_addr), ntohs(icmph.un.echo.sequence));
++ printf("From %s: icmp_seq=%u ", pr_addr(sin->sin_addr.s_addr), ntohs(icmph.un.echo.sequence));
+ pr_icmph(e->ee_type, e->ee_code, e->ee_info, NULL);
+ fflush(stdout);
+ }
+@@ -695,15 +737,41 @@ parse_reply(struct msghdr *msg, int cc,
+ struct iphdr *ip;
+ int hlen;
+ int csfailed;
++ struct cmsghdr *cmsg;
++ int ttl;
++ __u8 *opts;
++ int optlen;
+
+ /* Check the IP header */
+ ip = (struct iphdr *)buf;
+- hlen = ip->ihl*4;
+- if (cc < hlen + 8 || ip->ihl < 5) {
+- if (options & F_VERBOSE)
+- fprintf(stderr, "ping: packet too short (%d bytes) from %s\n", cc,
+- pr_addr(from->sin_addr.s_addr));
+- return 1;
++ if (!using_ping_socket) {
++ hlen = ip->ihl*4;
++ if (cc < hlen + 8 || ip->ihl < 5) {
++ if (options & F_VERBOSE)
++ fprintf(stderr, "ping: packet too short (%d bytes) from %s\n", cc,
++ pr_addr(from->sin_addr.s_addr));
++ return 1;
++ }
++ ttl = ip->ttl;
++ opts = buf + sizeof(struct iphdr);
++ optlen = hlen - sizeof(struct iphdr);
++ } else {
++ hlen = 0;
++ ttl = 0;
++ opts = buf;
++ optlen = 0;
++ for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) {
++ if (cmsg->cmsg_level != SOL_IP)
++ continue;
++ if (cmsg->cmsg_type == IP_TTL) {
++ if (cmsg->cmsg_len < sizeof(int))
++ continue;
++ ttl = *(int *) CMSG_DATA(cmsg);
++ } else if (cmsg->cmsg_type == IP_RETOPTS) {
++ opts = (__u8 *) CMSG_DATA(cmsg);
++ optlen = cmsg->cmsg_len;
++ }
++ }
+ }
+
+ /* Now the ICMP part */
+@@ -716,7 +784,7 @@ parse_reply(struct msghdr *msg, int cc,
+ return 1; /* 'Twas not our ECHO */
+ if (gather_statistics((__u8*)icp, sizeof(*icp), cc,
+ ntohs(icp->un.echo.sequence),
+- ip->ttl, 0, tv, pr_addr(from->sin_addr.s_addr),
++ ttl, 0, tv, pr_addr(from->sin_addr.s_addr),
+ pr_echo_reply))
+ return 0;
+ } else {
+@@ -807,7 +875,7 @@ parse_reply(struct msghdr *msg, int cc,
+ }
+
+ if (!(options & F_FLOOD)) {
+- pr_options(buf + sizeof(struct iphdr), hlen);
++ pr_options(opts, optlen + sizeof(struct iphdr));
+
+ if (options & F_AUDIBLE)
+ putchar('\a');
+@@ -916,8 +984,7 @@ void pr_icmph(__u8 type, __u8 code, __u3
+ printf("Redirect, Bad Code: %d", code);
+ break;
+ }
+- if (icp)
+- printf("(New nexthop: %s)\n", pr_addr(icp->un.gateway));
++ printf("(New nexthop: %s)\n", pr_addr(icp ? icp->un.gateway : info));
+ if (icp && (options & F_VERBOSE))
+ pr_iph((struct iphdr*)(icp + 1));
+ break;
+@@ -1217,7 +1284,7 @@ void install_filter(void)
+ insns
+ };
+
+- if (once)
++ if (once || using_ping_socket)
+ return;
+ once = 1;
+
+--- iputils-s20101006/ping_common.c
++++ iputils-s20101006/ping_common.c
+@@ -515,7 +515,8 @@ void setup(int icmp_sock)
+ *p++ = i;
+ }
+
+- ident = htons(getpid() & 0xFFFF);
++ if (!ident)
++ ident = htons(getpid() & 0xFFFF);
+
+ set_signal(SIGINT, sigexit);
+ set_signal(SIGALRM, sigexit);
diff --git a/net-misc/iputils/files/iputils-20121221-parallel-doc.patch b/net-misc/iputils/files/iputils-20121221-parallel-doc.patch
new file mode 100644
index 0000000..22bfb88
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-parallel-doc.patch
@@ -0,0 +1,74 @@
+From 4e322b85a12ba3ef5e8118724e3442b2ebb0f6d6 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 1 Aug 2012 11:43:34 -0400
+Subject: [PATCH iputils] doc: fix parallel build of html/man pages
+
+The use of the same tempdir prevents building of these files in parallel.
+So build all of them in unique tempdirs so we can do them in parallel.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/Makefile | 37 ++++++++++++++++++++++++-------------
+ 1 file changed, 24 insertions(+), 13 deletions(-)
+
+diff --git a/doc/Makefile b/doc/Makefile
+index 7ec4f1c..4f930a3 100644
+--- a/doc/Makefile
++++ b/doc/Makefile
+@@ -12,29 +12,40 @@ man: $(MANFILES)
+ # lots of some strange temporary junk directories and files.
+ # So, scope it to a temporary dir and clean all after each run.
+
+-$(HTMLFILES): index.db
+- @-rm -rf tmp.db2html
+- @mkdir tmp.db2html
+- @set -e; cd tmp.db2html; docbook2html ../$< ; mv *.html ..
+- @-rm -rf tmp.db2html
++SETUP_TMPDIR = \
++ t="tmp.db2html.$@"; \
++ rm -rf $$t; \
++ mkdir $$t; \
++ cd $$t
++CLEAN_TMPDIR = \
++ cd ..; \
++ rm -rf $$t
++
++MAKE_HTML = \
++ @set -e; \
++ $(SETUP_TMPDIR); \
++ docbook2html ../$<; \
++ mv *.html ..; \
++ $(CLEAN_TMPDIR)
+
++$(HTMLFILES): index.db
++ $(MAKE_HTML)
+ iputils.html: iputils.db
+- @-rm -rf tmp.db2html
+- @mkdir tmp.db2html
+- @set -e; cd tmp.db2html; docbook2html -u -o html ../$< ; mv html/$@ ..
+- @-rm -rf tmp.db2html
++ $(MAKE_HTML)
+
+ # docbook2man produces utterly ugly output and I did not find
+ # any way to customize this but hacking backend perl script a little.
+ # Well, hence...
+
+ $(MANFILES): index.db
+- @-mkdir tmp.db2man
+- @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ ..
+- @-rm -rf tmp.db2man
++ @set -e; \
++ $(SETUP_TMPDIR); \
++ nsgmls ../$< | sgmlspl ../docbook2man-spec.pl; \
++ mv $@ ..; \
++ $(CLEAN_TMPDIR)
+
+ clean:
+- @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html tmp.db2man
++ @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html* tmp.db2man*
+
+ snapshot:
+ @date "+%y%m%d" > snapshot.db
+--
+2.3.5
+
diff --git a/net-misc/iputils/files/iputils-20121221-printf-size.patch b/net-misc/iputils/files/iputils-20121221-printf-size.patch
new file mode 100644
index 0000000..6d6c3b7
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-printf-size.patch
@@ -0,0 +1,64 @@
+From 23fcb10ae15a96aa9e5a823cfe0b612d9522691c Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 14 Aug 2010 01:16:42 -0400
+Subject: [PATCH [iputils]] tracepath: re-use printf return in print_host
+
+Since the printf funcs already return the length of chars displayed,
+use that value instead of re-calculating the length with strlen.
+
+This also fixes the handling of the strlen return -- it's a size_t,
+not an int.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tracepath.c | 11 ++++-------
+ tracepath6.c | 11 ++++-------
+ 2 files changed, 8 insertions(+), 14 deletions(-)
+
+diff --git a/tracepath.c b/tracepath.c
+index 8a08f1d..f155816 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -73,13 +73,10 @@ void data_wait(int fd)
+
+ void print_host(const char *a, const char *b, int both)
+ {
+- int plen = 0;
+- printf("%s", a);
+- plen = strlen(a);
+- if (both) {
+- printf(" (%s)", b);
+- plen += strlen(b) + 3;
+- }
++ int plen;
++ plen = printf("%s", a);
++ if (both)
++ plen += printf(" (%s)", b);
+ if (plen >= HOST_COLUMN_SIZE)
+ plen = HOST_COLUMN_SIZE - 1;
+ printf("%*s", HOST_COLUMN_SIZE - plen, "");
+diff --git a/tracepath6.c b/tracepath6.c
+index 126fadf..bee95c3 100644
+--- a/tracepath6.c
++++ b/tracepath6.c
+@@ -86,13 +86,10 @@ void data_wait(int fd)
+
+ void print_host(const char *a, const char *b, int both)
+ {
+- int plen = 0;
+- printf("%s", a);
+- plen = strlen(a);
+- if (both) {
+- printf(" (%s)", b);
+- plen += strlen(b) + 3;
+- }
++ int plen;
++ plen = printf("%s", a);
++ if (both)
++ plen += printf(" (%s)", b);
+ if (plen >= HOST_COLUMN_SIZE)
+ plen = HOST_COLUMN_SIZE - 1;
+ printf("%*s", HOST_COLUMN_SIZE - plen, "");
+--
+1.8.0.2
+
diff --git a/net-misc/iputils/files/iputils-20121221-r2.ebuild b/net-misc/iputils/files/iputils-20121221-r2.ebuild
new file mode 100644
index 0000000..97c558f
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-r2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/iputils-20121221-r2.ebuild,v 1.2 2015/04/25 01:54:49 vapier Exp $
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and when the jade/sgml packages are broken (which
+# seems to be more common than would be nice).
+
+EAPI="4"
+
+inherit flag-o-matic eutils toolchain-funcs fcaps
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
+ inherit git-2
+else
+ SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
+ mirror://gentoo/iputils-s${PV}-manpages.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iputils"
+
+LICENSE="BSD-4"
+SLOT="0"
+IUSE="arping caps clockdiff doc gnutls idn ipv6 rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
+
+LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn[static-libs(+)] )
+ ipv6? ( ssl? (
+ gnutls? (
+ net-libs/gnutls[openssl(+)]
+ net-libs/gnutls[static-libs(+)]
+ )
+ !gnutls? ( dev-libs/openssl:0[static-libs(+)] )
+ ) )"
+RDEPEND="arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute? ( !net-misc/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ virtual/os-headers"
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="
+ app-text/openjade
+ dev-perl/SGMLSpm
+ app-text/docbook-sgml-dtd
+ app-text/docbook-sgml-utils
+ "
+fi
+
+S=${WORKDIR}/${PN}-s${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
+ epatch "${FILESDIR}"/${PN}-20121221-openssl.patch #335436
+ epatch "${FILESDIR}"/${PN}-20121221-crypto-build.patch
+ epatch "${FILESDIR}"/${PN}-20100418-so_mark.patch #335347
+ epatch "${FILESDIR}"/${PN}-20121221-tftpd-setid.patch
+ epatch "${FILESDIR}"/${PN}-20121221-tftpd-syslog.patch
+ epatch "${FILESDIR}"/${PN}-20121221-makefile.patch
+ epatch "${FILESDIR}"/${PN}-20121221-parallel-doc.patch
+ epatch "${FILESDIR}"/${PN}-20121221-printf-size.patch
+ epatch "${FILESDIR}"/${PN}-20121221-owl-pingsock.diff
+ epatch "${FILESDIR}"/${PN}-20121221-strtod.patch #472592
+ use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ IPV4_TARGETS=(
+ ping
+ $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
+ )
+ IPV6_TARGETS=(
+ ping6
+ $(usex tracepath 'tracepath6' '')
+ $(usex traceroute 'traceroute6' '')
+ )
+ use ipv6 || IPV6_TARGETS=()
+}
+
+src_compile() {
+ tc-export CC
+ emake \
+ USE_CAP=$(usex caps) \
+ USE_IDN=$(usex idn) \
+ USE_GNUTLS=$(usex gnutls) \
+ USE_CRYPTO=$(usex ssl) \
+ IPV4_TARGETS="${IPV4_TARGETS[*]}" \
+ IPV6_TARGETS="${IPV6_TARGETS[*]}"
+
+ if [[ ${PV} == "99999999" ]] ; then
+ emake html man
+ fi
+}
+
+src_install() {
+ into /
+ dobin ping $(usex ipv6 'ping6' '')
+ use ipv6 && dosym ping.8 "${EPREFIX}"/usr/share/man/man8/ping6.8
+ doman doc/ping.8
+
+ if use arping ; then
+ dobin arping
+ doman doc/arping.8
+ fi
+
+ into /usr
+
+ local u
+ for u in clockdiff rarpd rdisc tftpd tracepath ; do
+ if use ${u} ; then
+ dosbin ${u}
+ doman doc/${u}.8
+ fi
+ done
+
+ if use tracepath && use ipv6 ; then
+ dosbin tracepath6
+ dosym tracepath.8 "${EPREFIX}"/usr/share/man/man8/tracepath6.8
+ fi
+
+ if use traceroute && use ipv6 ; then
+ dosbin traceroute6
+ doman doc/traceroute6.8
+ fi
+
+ if use rarpd ; then
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ fi
+
+ dodoc INSTALL RELNOTES
+
+ use doc && dohtml doc/*.html
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex ipv6 'bin/ping6' '') \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/sbin/clockdiff' '')
+}
diff --git a/net-misc/iputils/files/iputils-20121221-strtod.patch b/net-misc/iputils/files/iputils-20121221-strtod.patch
new file mode 100644
index 0000000..303acf5
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-strtod.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/472592
+
+From dd0aa192626f94d08e399fc2a743ee72c50853fb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 24 Apr 2015 20:41:31 -0400
+Subject: [PATCH iputils] ping: fix -i number parsing in locales
+
+Always use #.# format for the -i flag even when the current locale uses
+a different separator. Locale de_DE which uses #,# normally.
+
+Simple testcase:
+$ make USE_IDN=1
+$ LANG=de_DE.UTF8 ./ping -i 0.5 localhost
+
+Reported-by: Sergey Fionov <fionov@gmail.com>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ ping_common.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/ping_common.c b/ping_common.c
+index 62f53a6..0a37e09 100644
+--- a/ping_common.c
++++ b/ping_common.c
+@@ -269,9 +269,17 @@ void common_options(int ch)
+ double dbl;
+ char *ep;
+
++#ifdef USE_IDN
++ setlocale(LC_ALL, "C");
++#endif
++
+ errno = 0;
+ dbl = strtod(optarg, &ep);
+
++#ifdef USE_IDN
++ setlocale(LC_ALL, "");
++#endif
++
+ if (errno || *ep != '\0' ||
+ !finite(dbl) || dbl < 0.0 || dbl >= (double)INT_MAX / 1000 - 1.0) {
+ fprintf(stderr, "ping: bad timing interval\n");
+--
+2.3.5
+
diff --git a/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch b/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch
new file mode 100644
index 0000000..0ea5668
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch
@@ -0,0 +1,34 @@
+From d81a44625b04d487c895473aa77af13420b7afdd Mon Sep 17 00:00:00 2001
+From: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
+Date: Thu, 19 Jun 2014 17:25:49 +0900
+Subject: [PATCH iputils] tftpd: Exit if setuid()/setgid() failed.
+
+Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
+---
+ tftpd.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/tftpd.c b/tftpd.c
+index 2a39ec4..e3af2f4 100644
+--- a/tftpd.c
++++ b/tftpd.c
+@@ -111,8 +111,14 @@ int main(int ac, char **av)
+
+ /* Sanity. If parent forgot to setuid() on us. */
+ if (geteuid() == 0) {
+- setgid(65534);
+- setuid(65534);
++ if (setgid(65534)) {
++ syslog(LOG_ERR, "setgid");
++ exit(1);
++ }
++ if (setuid(65534)) {
++ syslog(LOG_ERR, "setuid");
++ exit(1);
++ }
+ }
+
+ ac--; av++;
+--
+2.3.5
+
diff --git a/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch b/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch
new file mode 100644
index 0000000..ad34f3b
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch
@@ -0,0 +1,38 @@
+From e88ed3752872d7c7ca37d95eb4d434ca4d3c4eae Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 19 Apr 2014 10:39:39 -0400
+Subject: [PATCH iputils] tftpd: fix syslog setup
+
+Commit d81a44625b04d487c895473aa77af13420b7afdd added support for checking
+the set*id calls, but would call syslog() before it had called openlog().
+Move the call up earlier to fix that.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tftpd.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tftpd.c b/tftpd.c
+index e3af2f4..7ddc8eb 100644
+--- a/tftpd.c
++++ b/tftpd.c
+@@ -109,6 +109,8 @@ int main(int ac, char **av)
+ register int n = 0;
+ int on = 1;
+
++ openlog("tftpd", LOG_PID, LOG_DAEMON);
++
+ /* Sanity. If parent forgot to setuid() on us. */
+ if (geteuid() == 0) {
+ if (setgid(65534)) {
+@@ -125,7 +127,6 @@ int main(int ac, char **av)
+ while (ac-- > 0 && n < MAXARG)
+ dirs[n++] = *av++;
+
+- openlog("tftpd", LOG_PID, LOG_DAEMON);
+ if (ioctl(0, FIONBIO, &on) < 0) {
+ syslog(LOG_ERR, "ioctl(FIONBIO): %m\n");
+ exit(1);
+--
+2.3.5
+
diff --git a/net-misc/iputils/files/rarpd.conf.d b/net-misc/iputils/files/rarpd.conf.d
new file mode 100644
index 0000000..ef7fc48
--- /dev/null
+++ b/net-misc/iputils/files/rarpd.conf.d
@@ -0,0 +1,8 @@
+# Config file for /etc/init.d/rarpd
+
+# You probably want to select the interface for this to listen on.
+# By default it uses loopback which most likely won't help.
+RARPD_IFACE="lo"
+
+# See the rarpd(8) manpage for more info.
+RARPD_OPTS="-b /tftpboot"
diff --git a/net-misc/iputils/files/rarpd.init.d b/net-misc/iputils/files/rarpd.init.d
new file mode 100755
index 0000000..34f4b6f
--- /dev/null
+++ b/net-misc/iputils/files/rarpd.init.d
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/files/rarpd.init.d,v 1.1 2015/04/25 01:05:42 vapier Exp $
+
+pidfile="/var/run/rarpd.pid"
+command="/usr/sbin/rarpd"
+# The -d option keeps it from forking. This way s-s-d can do the fork and
+# set up the pidfile with the right value below.
+command_args="-d ${RARPD_OPTS} ${RARPD_IFACE}"
+start_stop_daemon_args="--background --make-pidfile"
+
+start_pre() {
+ if [ ! -f /etc/ethers ] ; then
+ eerror "Please create /etc/ethers with the following content:"
+ eerror "[MAC address] [name or IP]"
+ return 1
+ fi
+ return 0
+}
diff --git a/net-misc/iputils/iputils-20121221-r2.ebuild b/net-misc/iputils/iputils-20121221-r2.ebuild
new file mode 100644
index 0000000..97c558f
--- /dev/null
+++ b/net-misc/iputils/iputils-20121221-r2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/iputils-20121221-r2.ebuild,v 1.2 2015/04/25 01:54:49 vapier Exp $
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and when the jade/sgml packages are broken (which
+# seems to be more common than would be nice).
+
+EAPI="4"
+
+inherit flag-o-matic eutils toolchain-funcs fcaps
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
+ inherit git-2
+else
+ SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
+ mirror://gentoo/iputils-s${PV}-manpages.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iputils"
+
+LICENSE="BSD-4"
+SLOT="0"
+IUSE="arping caps clockdiff doc gnutls idn ipv6 rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
+
+LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn[static-libs(+)] )
+ ipv6? ( ssl? (
+ gnutls? (
+ net-libs/gnutls[openssl(+)]
+ net-libs/gnutls[static-libs(+)]
+ )
+ !gnutls? ( dev-libs/openssl:0[static-libs(+)] )
+ ) )"
+RDEPEND="arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute? ( !net-misc/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ virtual/os-headers"
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="
+ app-text/openjade
+ dev-perl/SGMLSpm
+ app-text/docbook-sgml-dtd
+ app-text/docbook-sgml-utils
+ "
+fi
+
+S=${WORKDIR}/${PN}-s${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
+ epatch "${FILESDIR}"/${PN}-20121221-openssl.patch #335436
+ epatch "${FILESDIR}"/${PN}-20121221-crypto-build.patch
+ epatch "${FILESDIR}"/${PN}-20100418-so_mark.patch #335347
+ epatch "${FILESDIR}"/${PN}-20121221-tftpd-setid.patch
+ epatch "${FILESDIR}"/${PN}-20121221-tftpd-syslog.patch
+ epatch "${FILESDIR}"/${PN}-20121221-makefile.patch
+ epatch "${FILESDIR}"/${PN}-20121221-parallel-doc.patch
+ epatch "${FILESDIR}"/${PN}-20121221-printf-size.patch
+ epatch "${FILESDIR}"/${PN}-20121221-owl-pingsock.diff
+ epatch "${FILESDIR}"/${PN}-20121221-strtod.patch #472592
+ use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ IPV4_TARGETS=(
+ ping
+ $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
+ )
+ IPV6_TARGETS=(
+ ping6
+ $(usex tracepath 'tracepath6' '')
+ $(usex traceroute 'traceroute6' '')
+ )
+ use ipv6 || IPV6_TARGETS=()
+}
+
+src_compile() {
+ tc-export CC
+ emake \
+ USE_CAP=$(usex caps) \
+ USE_IDN=$(usex idn) \
+ USE_GNUTLS=$(usex gnutls) \
+ USE_CRYPTO=$(usex ssl) \
+ IPV4_TARGETS="${IPV4_TARGETS[*]}" \
+ IPV6_TARGETS="${IPV6_TARGETS[*]}"
+
+ if [[ ${PV} == "99999999" ]] ; then
+ emake html man
+ fi
+}
+
+src_install() {
+ into /
+ dobin ping $(usex ipv6 'ping6' '')
+ use ipv6 && dosym ping.8 "${EPREFIX}"/usr/share/man/man8/ping6.8
+ doman doc/ping.8
+
+ if use arping ; then
+ dobin arping
+ doman doc/arping.8
+ fi
+
+ into /usr
+
+ local u
+ for u in clockdiff rarpd rdisc tftpd tracepath ; do
+ if use ${u} ; then
+ dosbin ${u}
+ doman doc/${u}.8
+ fi
+ done
+
+ if use tracepath && use ipv6 ; then
+ dosbin tracepath6
+ dosym tracepath.8 "${EPREFIX}"/usr/share/man/man8/tracepath6.8
+ fi
+
+ if use traceroute && use ipv6 ; then
+ dosbin traceroute6
+ doman doc/traceroute6.8
+ fi
+
+ if use rarpd ; then
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ fi
+
+ dodoc INSTALL RELNOTES
+
+ use doc && dohtml doc/*.html
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex ipv6 'bin/ping6' '') \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/sbin/clockdiff' '')
+}
diff --git a/profiles/categories b/profiles/categories
index c5eb77e..b8d11e4 100644
--- a/profiles/categories
+++ b/profiles/categories
@@ -8,7 +8,6 @@ net-libs
net-misc
sys-fs
sys-kernel
-webkit-gtk-2.4.8-r200.ebuild.patch
x11-apps
x11-base
x11-libs