summaryrefslogtreecommitdiff
path: root/net-proxy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-02-10 15:40:27 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-02-10 15:40:27 +0000
commit6bc2e4d7c5906e46a8f275a876ead6ec41aca5bb (patch)
treecee0a97398040001220ece3cd48c3d568bcddb4a /net-proxy
parent1db00cc6e94b90c08090bb5b8c406622946c4ae5 (diff)
gentoo resync : 10.02.2019
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/Manifest.gzbin5869 -> 5868 bytes
-rw-r--r--net-proxy/haproxy/Manifest4
-rw-r--r--net-proxy/haproxy/haproxy-1.8.18.ebuild169
-rw-r--r--net-proxy/haproxy/haproxy-1.9.4.ebuild171
-rw-r--r--net-proxy/http-replicator/Manifest2
-rw-r--r--net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild2
-rw-r--r--net-proxy/squid/Manifest2
-rw-r--r--net-proxy/squid/metadata.xml8
-rw-r--r--net-proxy/tayga/Manifest6
-rw-r--r--net-proxy/tayga/files/tayga-0.9.2-manpage-RFC.patch57
-rw-r--r--net-proxy/tayga/files/tayga-0.9.2-release-reserved-addr.patch13
-rw-r--r--net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch119
-rw-r--r--net-proxy/tayga/metadata.xml5
-rw-r--r--net-proxy/tayga/tayga-0.9.2-r2.ebuild31
-rw-r--r--net-proxy/tinyproxy/Manifest4
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy-1.8.1-ldflags.patch11
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy-1.8.1-minimal.patch10
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2-DoS-Prevention.patch183
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd40
19 files changed, 580 insertions, 257 deletions
diff --git a/net-proxy/Manifest.gz b/net-proxy/Manifest.gz
index 2f62d9177506..fbfe047b107e 100644
--- a/net-proxy/Manifest.gz
+++ b/net-proxy/Manifest.gz
Binary files differ
diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
index 54ef356a2e48..d7a3c137f7a9 100644
--- a/net-proxy/haproxy/Manifest
+++ b/net-proxy/haproxy/Manifest
@@ -7,19 +7,23 @@ DIST haproxy-1.7.10.tar.gz 1750937 BLAKE2B 26d970862e415b079d4130fd00564677584a7
DIST haproxy-1.7.11.tar.gz 1752129 BLAKE2B 1947ab837f6b81761eec931e97c7349462561abecc78b2b58b285ebb4b0ae498753d236f3a243d3b5c1115a9ff6e5fe9392d428314a6342e2c1907d6886e09e4 SHA512 48ee30a1057e92971c041b088b6aef16d6843da9ecee9b738aaa64bb55d3c3b0be090a37bb5fc63ac42fe34ce994820349cc770756136c823051039fa6d01f74
DIST haproxy-1.8.13.tar.gz 2063046 BLAKE2B 9ebccf2520719cdf209bc9a87bf28d015b5b673e0d017d5387af4025f930ac401f6a2cfa851583ffe6b6645b7b91ad255bb5db737688a1f310958072a11c8a80 SHA512 54d4cb0721a3868267d7e085b3d3bb050384e4279eb49e88abb925bb3ea8cc39ef9069bdc99b7b18a23fd22e0d29e24dfcb8a0507ddca9243a845e4418be9cc5
DIST haproxy-1.8.17.tar.gz 2077525 BLAKE2B b4419d541a82399995df448410a8756301ad561001bfe45cfa1c21f6f01bfadb51bb58aeda2e8e34f0580356c8ca136568fd8f2d86507a88e3cd84924b861d5c SHA512 0887d5d84c2cce9355fae032ba82e4b7b94c89d3053f209046a555101b5750c10b51feb38fd14245f806fb4f50ec1dcdf2b23b4f80578abd4a27693fc29b91b1
+DIST haproxy-1.8.18.tar.gz 2080500 BLAKE2B fcc51fbe6c496dbf99e49add4b582ec9357c94daebaea6396e131b4e6f323fdcc11d40039b9de9b6e2762c46863a1efd5062524df3d42991eef73ae3a42a9787 SHA512 7bcdc8fd110bb77fa3b1f735474218fb766b7701b87e939249697cb780aedf039b3d8f59cbfb5fa271473ad789df4ac60a64cbb6c61330e1125a13676ad25fc0
DIST haproxy-1.8.8.tar.gz 2054534 BLAKE2B 5eabd37dfb79783dc20425cbb16ca1e1afed23861f66c9e8a738dd56d9ca35b3ceb2604c308543ca99222aa867e11ff613fc09012669882a4bdaaff03cb76450 SHA512 8310f84b364348600273c295a3b315a79cba1f782b86b47d8d47b3ffd1e6fb62fd278c4f2dfa185d0a269f73c1067695a763733736877989a941162b625462a1
DIST haproxy-1.8.9.tar.gz 2057051 BLAKE2B d81d18f68a27ae8a77660c1ecb1dfc28599263ebfd57f25ea574af2b101b35eb7a1a89ba4034b55dfa89673ae6ac4c0dca5428b4b494a02184b1b157850ce96b SHA512 e59c29af3a39d6212f012ae8341b169436e10e42fadaf8f1aa68d2bb7ee181fd1fe3b74640bfcd8c37c17dfc5062b36bd69d90290d7c59cd3e4648ef2ab1c8dd
DIST haproxy-1.9.2.tar.gz 2350356 BLAKE2B ba147007999d65d214545e5c20567aaa3db67a292eb0df1e1e4aaaeeb7e1c90f593725b112cd222537346cec45b557a2a99e30ef5d4a91bb4b5804212b765121 SHA512 42ad5048c85ac9fdc7ba1b00917508255ffb66f63df1c24382beba6f77765d786b0ab16ddafe5e290f81ea07bd15c63277b5749c4bafab0721e57f837b1bebf8
DIST haproxy-1.9.3.tar.gz 2353387 BLAKE2B c3b5d7c4dba4a2557dfbee857e8e2a7ab6d142423788c7cabf96c3d0a0dc4a2dde857db47b0036eac7288249d8416eba8252f0c08290739862457214497e3438 SHA512 5ece759d460d6daba8ed82039fb24037c2b8b36f7ce0f9c9a703ca049ac0d03807ba673b61ae2d74a9e7253b6fb1ca82c504734456c7fb0fec322b67e59ba835
+DIST haproxy-1.9.4.tar.gz 2357935 BLAKE2B 761118da39742eff07e3bc2772a9318a6aaddbeb706e684afa619a11e4a6f1e91f35212b22b58474334621daaec160a4f9183a65698343a4fbb64d9cb38ad049 SHA512 804baeb0493bfaedce59f04a5c7eedd703aec11fbfc9744c6d3f642e3200a5fccbfc92d9da9555a2b266534b9cd5bb81308c57c7627512b951e5a83cb1b24cb0
EBUILD haproxy-1.6.11-r2.ebuild 4672 BLAKE2B 74b3adb390a7fa1d596e8e91f4ca5fbb46d7dfd201527956a514a3f0855f575b2fc1115b388126d8e54a1a80f13b5b62acb59f53eb92a5bd9ef3f02ab3867c38 SHA512 843c39796ab641d5036dc2f1d151da41acc5820713dd2c2857c551d684b0a5922abead4e9c2afb031bb75635842e9ead645ced6d9cebfa97ccc2f719caed8c58
EBUILD haproxy-1.6.14.ebuild 4608 BLAKE2B d85f4160498f8af8fcc05ccdbe68d771b9d8b5cc71412be2c7430cf769c091f75030d678bf29f56d3bbb432c04f26fd45686333c8b2e282c25ae2dee7eceeb00 SHA512 32ae8badac30ea423613301815c4ccb07a6b81368dc92dc561f13d7432cde041048735cc4790659b4f1827a77e7009120e7977a54a15d164229a41d54d1b1e1b
EBUILD haproxy-1.7.10.ebuild 4628 BLAKE2B 267e5228e4c1eb2386ab13a6f21d018e8f8643d9adcdb61851d150b281e2241eda97c701b4577fef8feee00c01409f8f2fc715a9681874fc05fc3f89c09da440 SHA512 941f9c3e0982ee44d51339b3feef43d93c7259413f2d77f8919e63056a0d0504468bd0637965141842af6c8dbb223f23155ffc0728f54bc1bbf539eef678c235
EBUILD haproxy-1.7.11.ebuild 4632 BLAKE2B 06dd613111ce7410ce9190b2cbd825f4b9acd16d3c9995ca507fda90a77696e6c931b2f2caeb916ed0f6894110edaa056df5923c204107230af6a4f596c061ab SHA512 bb080ed92cbef8e2851262648519b5e0563749e3bd92396707791775801bf19f029e57fbe4fa029ea240cbc8f55b14e91d5656e85101fb2dc1e8ae219d111d51
EBUILD haproxy-1.8.13.ebuild 4886 BLAKE2B 61bc37ea42b0dd5bc447b68cb45532c184f14ad40461faddb940e041682e88ac81af36ce44d961d1011bc54b788ad9baa4c9447950a97708ea33dcb9d677fc32 SHA512 5dad241368a64aba2b07e429ab82adff67df556fc2b5a447d4863a12d50098545127f30725887b447e6ed583e39177458267777c5b321636211aab5a61b85a65
EBUILD haproxy-1.8.17.ebuild 4886 BLAKE2B 94d1654d71261f4d4e3d4984cf2afae1721c3f5d85f5caec1f7ba7be2a2f3c0889a2de02fd542b18f8a2fe0222debfd35f47c3fdcde0cbb8122dc493fec021a5 SHA512 a006987c4cf8f56bca0347537cf86e9282d5f0b5cb1864665104d1e93da53084711bac338dce99b1f6cdccfa1fec7534dc58cb7139c126fcc3b6131d371b7dce
+EBUILD haproxy-1.8.18.ebuild 4886 BLAKE2B 94d1654d71261f4d4e3d4984cf2afae1721c3f5d85f5caec1f7ba7be2a2f3c0889a2de02fd542b18f8a2fe0222debfd35f47c3fdcde0cbb8122dc493fec021a5 SHA512 a006987c4cf8f56bca0347537cf86e9282d5f0b5cb1864665104d1e93da53084711bac338dce99b1f6cdccfa1fec7534dc58cb7139c126fcc3b6131d371b7dce
EBUILD haproxy-1.8.8.ebuild 4889 BLAKE2B a40d2bf75ece4fcba6f0ac6e8bfcf81763ded4b315781183230a8b514f5931de4c383afbe8d4152f4d2d4d496fd2421f2f10d04e4240b52a7ab15f3c31bc0864 SHA512 2e132cd3018d845450a94857a544c0306a5cf0efe08d5102a7096a424355a4b628bf85c69f02f812577d134ebabef197aa2bb4ff6f5b8f8d3609d072a55af86e
EBUILD haproxy-1.8.9.ebuild 4885 BLAKE2B beb86eb5714d77b8dad4ac0abc55b46a0e4727ceae1a503ff1febe3943f6393f8ce99f97c098e4046c17de04a32c4f9d0a8708fd4c81eeb69e82f900f156285a SHA512 93290df98b67334d2c89ced563d15d25943a5c87c691fdce2ace423ca38acc364f9307f8a28a6654fb390d41c72ec627e005d0179d10138d92396365496ab8b8
EBUILD haproxy-1.9.2.ebuild 4999 BLAKE2B 068dd442f30c7b815164143fbc33a7bd390d0684a68b3096dde76b31e68cccf662a33589180a81006794e1e0a477dbb6ec9c62faa002ec56beda02bc0d3b062e SHA512 56bd202b4c16c9ddd2e2aa13eeb953e5a00b3975e5427ba7d02db2d78ab7f71857a13b3122cae77fc3b7c33cb58c12a48220b408ebca57622f47b7d497395aff
EBUILD haproxy-1.9.3.ebuild 4999 BLAKE2B 068dd442f30c7b815164143fbc33a7bd390d0684a68b3096dde76b31e68cccf662a33589180a81006794e1e0a477dbb6ec9c62faa002ec56beda02bc0d3b062e SHA512 56bd202b4c16c9ddd2e2aa13eeb953e5a00b3975e5427ba7d02db2d78ab7f71857a13b3122cae77fc3b7c33cb58c12a48220b408ebca57622f47b7d497395aff
+EBUILD haproxy-1.9.4.ebuild 4999 BLAKE2B 068dd442f30c7b815164143fbc33a7bd390d0684a68b3096dde76b31e68cccf662a33589180a81006794e1e0a477dbb6ec9c62faa002ec56beda02bc0d3b062e SHA512 56bd202b4c16c9ddd2e2aa13eeb953e5a00b3975e5427ba7d02db2d78ab7f71857a13b3122cae77fc3b7c33cb58c12a48220b408ebca57622f47b7d497395aff
EBUILD haproxy-1.9.9999.ebuild 4889 BLAKE2B a40d2bf75ece4fcba6f0ac6e8bfcf81763ded4b315781183230a8b514f5931de4c383afbe8d4152f4d2d4d496fd2421f2f10d04e4240b52a7ab15f3c31bc0864 SHA512 2e132cd3018d845450a94857a544c0306a5cf0efe08d5102a7096a424355a4b628bf85c69f02f812577d134ebabef197aa2bb4ff6f5b8f8d3609d072a55af86e
MISC metadata.xml 2071 BLAKE2B 303b68ae0788743ec5a8d893e69a87fd2d22188b2166f75c23cd2a47c06e69bfe43745016fafd64b5b298f7b56453fcbfb6b4d9bfede1e08e0c603bce7b0955f SHA512 4ac7fd3dcae2293fa3cdb54fba7dfd9cfbc28f5fca33442dd970861ca26672a0b21d825d36099fbf234831a403fb41eabe02d48eca2a971eaef857516427394b
diff --git a/net-proxy/haproxy/haproxy-1.8.18.ebuild b/net-proxy/haproxy/haproxy-1.8.18.ebuild
new file mode 100644
index 000000000000..be9a23a9cd27
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-1.8.18.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~x86"
+else
+ EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
+systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ pcre2-jit? ( pcre2 )
+ pcre? ( !pcre2 )
+ device-atlas? ( pcre )
+ ?? ( slz zlib )"
+
+DEPEND="
+ pcre? (
+ dev-libs/libpcre
+ pcre-jit? ( dev-libs/libpcre[jit] )
+ )
+ pcre2? (
+ dev-libs/libpcre
+ pcre2-jit? ( dev-libs/libpcre2[jit] )
+ )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0=[zlib?] )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ slz? ( dev-libs/libslz:= )
+ zlib? ( sys-libs/zlib )
+ lua? ( dev-lang/lua:5.3 )
+ device-atlas? ( dev-libs/device-atlas-api-c )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+CONTRIBS=( halog iprange )
+# ip6range is present in 1.6, but broken.
+version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
+# TODO: mod_defender - requires apache / APR, modsecurity - the same
+version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ enewgroup haproxy
+ enewuser haproxy -1 -1 -1 haproxy
+
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ TARGET=linux2628
+ USE_GETADDRINFO=1
+ USE_TFO=1
+ )
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE) )
+ args+=( $(haproxy_use pcre-jit PCRE_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use device-atlas DEVICEATLAS) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+
+ # For now, until the strict-aliasing breakage will be fixed
+ append-cflags -fno-strict-aliasing
+
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
+ emake -C contrib/systemd SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for contrib in ${CONTRIBS[@]} ; do
+ emake -C contrib/${contrib} \
+ CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
+ done
+ fi
+}
+
+src_install() {
+ dosbin haproxy
+ dosym ../sbin/haproxy /usr/bin/haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd" $PN
+ newinitd "${FILESDIR}/${PN}.initd-r6" $PN
+
+ doman doc/haproxy.1
+
+ systemd_dounit contrib/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
+ has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
+ has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
+ has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
+ has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
+ has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
+ has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc examples/seamless_reload.txt
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins examples/haproxy.vim
+ fi
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-1.9.4.ebuild b/net-proxy/haproxy/haproxy-1.9.4.ebuild
new file mode 100644
index 000000000000..2212a12930ac
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-1.9.4.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~x86"
+else
+ EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
+systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ pcre2-jit? ( pcre2 )
+ pcre? ( !pcre2 )
+ device-atlas? ( pcre )
+ ?? ( slz zlib )"
+
+DEPEND="
+ pcre? (
+ dev-libs/libpcre
+ pcre-jit? ( dev-libs/libpcre[jit] )
+ )
+ pcre2? (
+ dev-libs/libpcre
+ pcre2-jit? ( dev-libs/libpcre2[jit] )
+ )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0=[zlib?] )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ slz? ( dev-libs/libslz:= )
+ zlib? ( sys-libs/zlib )
+ lua? ( dev-lang/lua:5.3 )
+ device-atlas? ( dev-libs/device-atlas-api-c )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+CONTRIBS=( halog iprange )
+# ip6range is present in 1.6, but broken.
+version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
+# TODO: mod_defender - requires apache / APR, modsecurity - the same
+version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ enewgroup haproxy
+ enewuser haproxy -1 -1 -1 haproxy
+
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ TARGET=linux2628
+ USE_GETADDRINFO=1
+ USE_TFO=1
+ )
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE) )
+ args+=( $(haproxy_use pcre-jit PCRE_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use device-atlas DEVICEATLAS) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+
+ # For now, until the strict-aliasing breakage will be fixed
+ append-cflags -fno-strict-aliasing
+
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
+ emake -C contrib/systemd SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for contrib in ${CONTRIBS[@]} ; do
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C contrib/${contrib} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
+ done
+ fi
+}
+
+src_install() {
+ dosbin haproxy
+ dosym ../sbin/haproxy /usr/bin/haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd" $PN
+ newinitd "${FILESDIR}/${PN}.initd-r6" $PN
+
+ doman doc/haproxy.1
+
+ systemd_dounit contrib/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
+ has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
+ has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
+ has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
+ has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
+ has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
+ has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc examples/seamless_reload.txt
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins examples/haproxy.vim
+ fi
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/http-replicator/Manifest b/net-proxy/http-replicator/Manifest
index 675cc07e4588..9980c50c2cb7 100644
--- a/net-proxy/http-replicator/Manifest
+++ b/net-proxy/http-replicator/Manifest
@@ -14,5 +14,5 @@ AUX http-replicator.service.conf 164 BLAKE2B 28006ec4c4b27eb1f75276432e30c0f9b33
DIST http-replicator_3.0.tar.gz 39291 BLAKE2B a97d8b6b32f5d4ca4feefa9abaa7da7cb6570f76566c79d7371134c0edd74b2333a02480deff02fa1bf5b6cd6f2bfbfe4aaa649633d70bd2efbdd22701422651 SHA512 d98a608c38201db6f2d8ba809a4777ab5588f5ed395882bdf542c2788df1770c61a2de160604c09297d847f2c73463ba0530d7f2c2e482467f8e8f35be068d57
DIST http-replicator_4.0alpha2.tgz 27575 BLAKE2B 48138bc8fa9695ddb31ce89c4638adda4a1d1b58c904cd98d0ee1dbab006f79ef7d19495db8eb4de0113f8e45da425950524c48ec9e3e864d8595ccdef9f7cfa SHA512 437e0cc881af0cb8f84bfd1366bb6edeee4f76112c4b2ac2af4bcb8809462852b96e9c99e04c8f370492c9e1eb33ddc68a85c4f09b073694242cd6c05b4d3a6c
EBUILD http-replicator-3.0-r7.ebuild 3443 BLAKE2B 6b68836ebc6bb27f6ad76c9619b6b00069b9ea676ec9abf0b6b81a75d40e00062d650c3fdff1e8022b33ba5a517f590a440c7e159e498fa63379c6cdbb664996 SHA512 f2fca6973f801d66755cc5f79d19e44cab08d70211739d5cf0e8f4d25c66893afe79ca9126a8091477dbca75cfa797b334b6e11d236396c4505060ddbcf8a538
-EBUILD http-replicator-4.0_alpha2-r7.ebuild 2046 BLAKE2B a7ea7d37dc67951998104499919850f48de23845d71e3b57f3da2ce037f4d02b28b6fd7fd1d3ec35fbbc72a7d6b4bf9842cbcd45090c6351db4867fc86c20d8d SHA512 a7f243cd659841416aa4e4cb338ab99174f6d2badb86239c039915bd606ac3c7b72426e5ea9a31b91ff215a41e9e55fc230317c31e13da1780b4b9109dfdbfcc
+EBUILD http-replicator-4.0_alpha2-r7.ebuild 2045 BLAKE2B 187a9c851892731ce7ca6d0119f980d77a4b90ed188679ff591c3b0967a3eea9fa4804fcdb211d4ce0cd74e6507145d9a6e3e026980817bf187fcc197da16dd6 SHA512 1a7ca2c02ebbe1c7e696e4fd23b61cfc8b38530e0ea925511d999afe2c31b755101bf1144a115ecd519f925b4ea7cd0fa5135e3a5a0cd6f6a141faf7fe9dd900
MISC metadata.xml 252 BLAKE2B 5386635b038f2498cadf1730fa7ae823427900b961296f4acca678ea12eb7c66ed7ad6cbca15afd26042c7af8d687958c702a9c48fc00856b460e2b49e55b2ac SHA512 ffd7c4cd77545f753618c9e9cfeba05b557044879ce332c01deaad820e184329cf383c8488ba777e9653029d3f75e5c99936ca225ebc4a5fb9b4d4e257ba8e7d
diff --git a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild b/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild
index 0e9e484f51d3..7fe1e2e8ec88 100644
--- a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild
+++ b/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 hppa ~ppc ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 hppa ppc ~sparc ~x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest
index ca4c48becf87..9a6d45d82520 100644
--- a/net-proxy/squid/Manifest
+++ b/net-proxy/squid/Manifest
@@ -11,4 +11,4 @@ DIST squid-3.5.27.tar.xz 2303468 BLAKE2B 448dbb703469bdd38a0e88da8e473510e9652fc
DIST squid-3.5.28.tar.xz 2304680 BLAKE2B 9b41a191210ea441ebd2847e9dc2cfacf3ba9fa8ceb81513b4cb449b13f7e81d28e3f3c9c46003db6d3d8a936fbd2275e42e18c23bd9d7667b9bd6890a1627a8 SHA512 da8367d364725c7fd6330e7588b0ff70d32978a17ca0bc5fe58fa6d12c9d2adb42ade0a492c835761bc7fd67c1a55300b4b7402ad939cf2a2aa5104233bbb74b
EBUILD squid-3.5.27-r1.ebuild 8191 BLAKE2B a4c97840af4cdf4260492f4d53d266a4a2b801820df70c9c9069f6a979d275560687a4bc860b8e7f99b07ab7f016df8a5aa96d79278052db587185490ee6e9bf SHA512 6443c33044685fa13686c52a1892fca8e920222e3051ed8899082545d84de8a32c836bd65d5747993f9c17c0e92628ca44c407db281aadcd0eac00d89c310c1d
EBUILD squid-3.5.28.ebuild 8201 BLAKE2B a4d1d87702fe8555e913dde8a006a59290522978b3c2e90da78f39dc6dfe86922c1fe4901d3eb6219896289a8f2680b55e4ef8297df4cfba66cef8a0dd761f8a SHA512 709e28fb06e8e1102a9e265536652919d19e830f85c589b9ddd4c85edbf0405909dbf908eba9bc9200f8942e235c97fb9d23a1347d98a6056764eeb4b6d1dc83
-MISC metadata.xml 1539 BLAKE2B 05cdb519d9113240c6b3ec38da9c19cfe3e63ed7423e4555eb198d79e75013d142da7d6d0c2e3f293ecd6c0b3e215806915724eb7c453cc5da1923f61ee9ef30 SHA512 7e28e289a27097bc5b2a4caca81506c9c76898c416842e0858dc82b5a03e5f473818ccd52b43c47ee549cf1bebe7e83a0d125eb24995c1a2d74db4e998825c6d
+MISC metadata.xml 1541 BLAKE2B c04b0900be1711860ab53658c9ed7f3200da64fcd8f866a54d3a02c4576b5942afad4d8666eb950e19426beead7a40f5f03e04bca734cf9b5fedf4633f16087e SHA512 fb81b62b425f571f8f01f505f3b9d69186358180c1fcca80c61ad8e7b3d0397250292e9ea3bfa8bb1a93a9ade3293abdd7bb19ef6485df6244e016e21a3b56d5
diff --git a/net-proxy/squid/metadata.xml b/net-proxy/squid/metadata.xml
index b001b2a98b0d..74543e37ace0 100644
--- a/net-proxy/squid/metadata.xml
+++ b/net-proxy/squid/metadata.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>eras@gentoo.org</email>
- <name>Eray Aslan</name>
- </maintainer>
+<maintainer type="person">
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+</maintainer>
<longdescription>A full-featured web proxy cache</longdescription>
<use>
<flag name="ecap">Adds support for loadable content adaptation modules
diff --git a/net-proxy/tayga/Manifest b/net-proxy/tayga/Manifest
index c97a4ff48156..6619d3273b99 100644
--- a/net-proxy/tayga/Manifest
+++ b/net-proxy/tayga/Manifest
@@ -1,3 +1,7 @@
+AUX tayga-0.9.2-manpage-RFC.patch 1865 BLAKE2B 337cbafecb8895af9093d5ab059710bec9e9021ccd776820430dd6536d038fc423ce8fb85ac7379b67ed10522f78c3231433848cd4f6150d0478df04bce89360 SHA512 0d5653621821cd373d49989115ee0e5076f83f14aae04e4fa6ab7b64799f09bc1892920abe7ef649e9ac315cbc1a1604b7eec37eebdd9dd87635a428e35b9cf0
+AUX tayga-0.9.2-release-reserved-addr.patch 286 BLAKE2B ad7d3099a396a7c49ccf2864051b4c30402df2063103acb4ace8159bef579a09b6bccccbabcc95e08d7f944b387719fa5ea5d91078640fab3da6a0562b9e2e3a SHA512 80ea05d6724da3feaf14d7d394e2ee2a2591bd77a72dc1e3689c5a46f3b91b78de87bfd1a5c74c18427fc993bf4664204cce7a6895e42449d698cfc03f1ae0c8
+AUX tayga-0.9.2-static-EAM.patch 3050 BLAKE2B 23b802862d17f77db42edcf1eae5127801d30def863ddee1ac7324823d48c1d67fa0061a1330d9e9dd330489dc92044ffb1172b91a5d97b3054848246d9f77d5 SHA512 e47a7d7a88e6aefb58f13df491fecff8e705c7e129d1fcb39a0f2f25ce8fc3acd4e6be6505dc8fecaadad7626fb98932cb539c8576bf6faf14d9d51933c52394
DIST tayga-0.9.2.tar.bz2 86022 BLAKE2B 9658960e0a8a4a419851a50f131a7dfb0790d0d188ad95ed5078033bd3a19180964a072dc177616b3451bc23dfa2b998058d73cc6aacfbb4b59c0b9173764440 SHA512 a7a81cccb7c3e32f00f142b1bac598b732dd748772b307561239d695418ada5302182d487e51d1cf95ed736c0180c01db2f33409d0b9343d6587b76cbb3bc573
EBUILD tayga-0.9.2-r1.ebuild 484 BLAKE2B 2987bf7006a153dde6e5db99d4c2e871b504b4eafa3a39faec03623d6f3b42e94c7de837406baa40491ece824f91da95fa59b4f947145fb3d1e6b05ea5189d0d SHA512 65cbdda9b3f612e25456711c9d0614778b64cddc3264ef9dcf2c314fe57cf73439071296e7fd5e184ac95c0c8e3db7299f3447e73b078ca460700e619a5505cb
-MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
+EBUILD tayga-0.9.2-r2.ebuild 618 BLAKE2B 13c8fb4c43e2959a86057e95ef46317019e5efd5aa6ea33d237f776f30087d93b107d09901f14565a03ad6d1824a687d8e236bf6ef081b109252e3ee8c2a5ecf SHA512 a19ba144f2042b3f76b6e012f698552ef2633d181eaf4fc37100816dc69c92eb394acbd89d5b33f9908889260a4b93275ab8f2fcf06029464030662c08bc32cb
+MISC metadata.xml 236 BLAKE2B 7ba65ccb8874d2a0e4b90d90a6b9b038651fa6655b80f493e13543ba816d44973502dad3853c9a28b615888f73d1d515cede7ccae90730b0858fbac655647c12 SHA512 0c85fb2c4ddc9049999107c26a22bb29fbeff328b17ed430860a1bc5d86fe05ae8439a592bd46551eb6e37cf0e17c8c57bbb6cd71bac6df1e756c6f175abe1b6
diff --git a/net-proxy/tayga/files/tayga-0.9.2-manpage-RFC.patch b/net-proxy/tayga/files/tayga-0.9.2-manpage-RFC.patch
new file mode 100644
index 000000000000..e38489f839cf
--- /dev/null
+++ b/net-proxy/tayga/files/tayga-0.9.2-manpage-RFC.patch
@@ -0,0 +1,57 @@
+--- a/tayga.8
++++ b/tayga.8
+@@ -1,4 +1,4 @@
+-.TH TAYGA "8" "June 2011" "TAYGA 0.9.2" ""
++.TH TAYGA "8" "Dec 2018" "TAYGA 0.9.2" ""
+
+ .SH NAME
+ tayga \- stateless NAT64 daemon
+@@ -19,10 +19,10 @@
+ translates them to the other protocol, and then sends the translated packets
+ back to the host using the same TUN interface.
+ .P
+-Translation is compliant with IETF Internet-Draft
+-draft-ietf-behave-v6v4-xlate-23, and address mapping is performed in
+-accordance with RFC 6052. Optionally, TAYGA may be configured to dynamically
+-map IPv6 hosts to addresses drawn from a configured IPv4 address pool.
++Translation is compliant with IETF RFC 6145, and address mapping is
++performed in accordance with RFC 6052 or RFC 7757. Optionally, TAYGA may be
++configured to dynamically map IPv6 hosts to addresses drawn from a
++configured IPv4 address pool.
+ .P
+ As a stateless NAT, TAYGA requires a one-to-one mapping between IPv4 addresses
+ and IPv6 addresses. Mapping multiple IPv6 addresses onto a single IPv4
+--- a/tayga.conf.5
++++ b/tayga.conf.5
+@@ -1,4 +1,4 @@
+-.TH TAYGA.CONF "5" "June 2011" "TAYGA 0.9.2" ""
++.TH TAYGA.CONF "5" "Dec 2018" "TAYGA 0.9.2" ""
+ .SH NAME
+ tayga.conf \- configuration file of the TAYGA stateless NAT64 daemon
+ .SH DESCRIPTION
+@@ -75,12 +75,21 @@
+ .B map
+ directive.
+ .TP
+-.BI "map " "ipv4_address ipv6_address"
+-Creates a static mapping between
+-.I ipv4_address
++.BI "map " "ipv4_address[/length] ipv6_address[/length]"
++Creates a static mapping between RFC 7577 compliant hosts or subnets
++.I ipv4_address[/length]
+ and
+-.I ipv6_address
++.I ipv6_address[/length]
+ to be used when translating IPv4 packets to IPv6 or IPv6 packets to IPv4.
++If
++.I /length
++is not present, the
++.I /length
++after
++.I ipv4_address
++is treated as "/32" and that of
++.I ipv6_address
++as "/128".
+ Multiple
+ .B map
+ directives are permitted in the tayga.conf file.
diff --git a/net-proxy/tayga/files/tayga-0.9.2-release-reserved-addr.patch b/net-proxy/tayga/files/tayga-0.9.2-release-reserved-addr.patch
new file mode 100644
index 000000000000..60b07e01d826
--- /dev/null
+++ b/net-proxy/tayga/files/tayga-0.9.2-release-reserved-addr.patch
@@ -0,0 +1,13 @@
+--- a/addrmap.c
++++ b/addrmap.c
+@@ -22,10 +22,6 @@
+
+ int validate_ip4_addr(const struct in_addr *a)
+ {
+- /* First octet == 0 */
+- if (!(a->s_addr & htonl(0xff000000)))
+- return -1;
+-
+ /* First octet == 127 */
+ if ((a->s_addr & htonl(0xff000000)) == htonl(0x7f000000))
+ return -1;
diff --git a/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch b/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch
new file mode 100644
index 000000000000..cdf1e601194b
--- /dev/null
+++ b/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch
@@ -0,0 +1,119 @@
+Description: Support SIIT-DC styled EAM static maps
+ Introduce Explicit Address Mapping as defined in RFC7757. This extends the
+ `map <ipv4> <ipv6>` into `map <ipv4 subnet> <ipv6 subnet>`.
+ .
+Author: Benda Xu <heroxbd@gentoo.org>
+Forwarded: Nathan Lutchansky <lutchann@litech.org>
+Last-Update: 2018-12-28
+
+--- a/conffile.c
++++ b/conffile.c
+@@ -217,16 +217,43 @@
+
+ m = alloc_map_static(ln);
+
++ char *slash;
++ slash = strchr(args[0], '/');
++ unsigned int prefix4 = 32;
++ if (slash) {
++ prefix4 = atoi(slash+1);
++ slash[0] = NULL;
++ }
++
+ if (!inet_pton(AF_INET, args[0], &m->map4.addr)) {
+- slog(LOG_CRIT, "Expected an IPv4 address but found \"%s\" on "
++ slog(LOG_CRIT, "Expected an IPv4 subnet but found \"%s\" on "
+ "line %d\n", args[0], ln);
+ exit(1);
+ }
++ m->map4.prefix_len = prefix4;
++ calc_ip4_mask(&m->map4.mask, NULL, prefix4);
++
++ unsigned int prefix6 = 128;
++ slash = strchr(args[1], '/');
++ if (slash) {
++ prefix6 = atoi(slash+1);
++ slash[0] = NULL;
++ }
++
++ if ((32 - prefix4) != (128 - prefix6)) {
++ slog(LOG_CRIT, "IPv4 and IPv6 subnet must be of the same size, but found"
++ " %s and %s on line %d\n", args[0], args[1], ln);
++ exit(1);
++ }
++
+ if (!inet_pton(AF_INET6, args[1], &m->map6.addr)) {
+- slog(LOG_CRIT, "Expected an IPv6 address but found \"%s\" on "
++ slog(LOG_CRIT, "Expected an IPv6 subnet but found \"%s\" on "
+ "line %d\n", args[1], ln);
+ exit(1);
+ }
++ m->map6.prefix_len = prefix6;
++ calc_ip6_mask(&m->map6.mask, NULL, prefix6);
++
+ if (validate_ip4_addr(&m->map4.addr) < 0) {
+ slog(LOG_CRIT, "Cannot use reserved address %s in map "
+ "directive, aborting...\n", args[0]);
+@@ -490,3 +517,10 @@
+ slog(LOG_CRIT, "Unable to allocate config memory\n");
+ exit(1);
+ }
++
++/*
++Local Variables:
++c-basic-offset: 8
++indent-tabs-mode: t
++End:
++*/
+--- a/addrmap.c
++++ b/addrmap.c
+@@ -97,7 +97,12 @@
+
+ int calc_ip4_mask(struct in_addr *mask, const struct in_addr *addr, int len)
+ {
+- mask->s_addr = htonl(~((1 << (32 - len)) - 1));
++ if (len) {
++ mask->s_addr = htonl(~((1 << (32 - len)) - 1));
++ } else {
++ /* len==0 */
++ mask->s_addr = 0;
++ }
+ if (addr && (addr->s_addr & ~mask->s_addr))
+ return -1;
+ return 0;
+@@ -422,6 +427,9 @@
+ case MAP_TYPE_STATIC:
+ s = container_of(map4, struct map_static, map4);
+ *addr6 = s->map6.addr;
++ if (map4->prefix_len < 32) {
++ addr6->s6_addr32[3] = s->map6.addr.s6_addr32[3] | (addr4->s_addr & ~map4->mask.s_addr);
++ }
+ break;
+ case MAP_TYPE_RFC6052:
+ s = container_of(map4, struct map_static, map4);
+@@ -564,7 +572,13 @@
+ switch (map6->type) {
+ case MAP_TYPE_STATIC:
+ s = container_of(map6, struct map_static, map6);
+- *addr4 = s->map4.addr;
++
++ if (map6->prefix_len < 128) {
++ addr4->s_addr = s->map4.addr.s_addr | (addr6->s6_addr32[3] & ~map6->mask.s6_addr32[3]);
++ } else {
++ *addr4 = s->map4.addr;
++ }
++
+ break;
+ case MAP_TYPE_RFC6052:
+ if (extract_from_prefix(addr4, addr6, map6->prefix_len) < 0)
+@@ -629,3 +643,10 @@
+ }
+ }
+ }
++
++/*
++Local Variables:
++c-basic-offset: 8
++indent-tabs-mode: t
++End:
++*/
diff --git a/net-proxy/tayga/metadata.xml b/net-proxy/tayga/metadata.xml
index 6f49eba8f496..0779891bd146 100644
--- a/net-proxy/tayga/metadata.xml
+++ b/net-proxy/tayga/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+<maintainer type="person">
+<email>heroxbd@gentoo.org</email>
+<name>Benda Xu</name>
+</maintainer>
</pkgmetadata>
diff --git a/net-proxy/tayga/tayga-0.9.2-r2.ebuild b/net-proxy/tayga/tayga-0.9.2-r2.ebuild
new file mode 100644
index 000000000000..46844c56a9c1
--- /dev/null
+++ b/net-proxy/tayga/tayga-0.9.2-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="out-of-kernel stateless NAT64 implementation based on TUN"
+HOMEPAGE="http://www.litech.org/tayga/"
+SRC_URI="http://www.litech.org/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-static-EAM.patch
+ "${FILESDIR}"/${P}-manpage-RFC.patch
+ "${FILESDIR}"/${P}-release-reserved-addr.patch
+)
+
+src_prepare() {
+ default
+ sed -e '/^CFLAGS/d' \
+ -i configure.ac || die "sed failed"
+ eautoreconf
+}
diff --git a/net-proxy/tinyproxy/Manifest b/net-proxy/tinyproxy/Manifest
index 26d27ca76d06..ef40627a73b9 100644
--- a/net-proxy/tinyproxy/Manifest
+++ b/net-proxy/tinyproxy/Manifest
@@ -1,9 +1,5 @@
AUX tinyproxy-1.10.0.initd 855 BLAKE2B 4bd9a260a930958ea449a08edce1f9e8633429a5222a3ea7254b4bdc03808c5f9f87d9b33556f345e305d28e155834b33ff2a952c041af582cae3bedbae2034d SHA512 cd440ed686e8128ed46441ca29da8376c4d28e9e34ae9b85c18eb2f1681d60c0c04b79401a7368f917eeab6768965d6c867d0ac6578a7858557c11b356446c02
AUX tinyproxy-1.10.0.service 181 BLAKE2B 1e5c14f607d0c54d215a6ffe5656bac288e48ca809aca67b658bb13917869e5203d66730f52670fb9030dd9f6cf249d09f357bbdd143436f6b358377d8f78036 SHA512 7721b986326f82b03d79983be33047fdf4b37b5c63992645a321bf8bd3edea63680a2bf81b2d51fbeab2a5884773a0598dba14f9d597d3db0eea7c7f6b4c79d3
-AUX tinyproxy-1.8.1-ldflags.patch 306 BLAKE2B 2a21760a37ccb0bff53cf1c89c220363d32cbca7f4738f65ab3e99b0609edba6796473600919b8ecd8537d57ca40fdb55ae40e213605ab008b3fe9958e1795f7 SHA512 d9daf50c1fcd2237ec59e7701adce76ba09347193439a1940c24e942600ab10bfc192e6c30a3fbcc3e1194f52b7aaab2fe5ef69468c01041f1a9d5fc6deacc8b
-AUX tinyproxy-1.8.1-minimal.patch 109 BLAKE2B 8ff9e2678150bcbef92c3e83a8e2b9996cfcce7aee50cddd2f61bed75af5e12e2694f5574df8f8fcbb54decdb4f791532df5ff9b6dad9bf0e47cb31a4f310a8f SHA512 56126f4e315dfade7983a9961ab3a30687e5fb575d9fd0964f081cb1e4be718f54b3999f69f769832717ebae1dd832aaff5e60289b465976b2f95325af48d79d
-AUX tinyproxy-1.8.3-r2-DoS-Prevention.patch 6100 BLAKE2B 81ee5fdbba35d02fc03d20b145a455ea0349bb03360b8fe7f797d9bde5c1cee188f1bb82e1d7a5535ff1566197ba3c22d1bf2885d666bc848cdf8602038fcfcd SHA512 ea023535ecf5fc9b0ab63d5e3ab4fe6222a54218de43894699ae742ff89e38ba65ea2a601f17de130e1169f37b0b7189ec55af471074222aecd827104d8f4ce0
-AUX tinyproxy-1.8.3-r2.initd 845 BLAKE2B 476c8e1b6ab41c42c65429fc031f8c58a2baa3298103b5d0550acec2d7b5909e6f4007d0a243042101a95e83aea49954dd19351527dad8e993ddc1c3768774e2 SHA512 b9baebf7d718b0acd3ee0c824c93cab836ae3233113b07d53e6aae204418992a9e9db83d8fceae949f36a72d000c6521efe3b0698421ee1561bb9201cd18d5e3
AUX tinyproxy.service 172 BLAKE2B d2e6199bfee2bac52e08d4c5506131f19e2630ebe1d9ed12f71d575cef37454c229e9e08b1fc89d9e26052a1192913289ed3602d69686d6894eb68b8639e7a5a SHA512 4c4cd36a7e34d9ee27c05475b72d1b61f90592ccb44c9deb96a1375bb681b7901702f078ed24b7c633074c83e450275a4a66829f3b270f75fc786a50d1ef393f
AUX tinyproxy.tmpfiles.conf 48 BLAKE2B f2cd35878580eb198920f5db8493e3e266b4325160a9590a0b59bef1cf0577d0129bb636d99442cdb2154b444a8cdc1c6d01b4850b57df774be00338c61902e4 SHA512 24440cdaed0af6cbdb191acb1769e0a17871ef95e03e62a6621a413a2616e5d90d748d909bb5d18c029b25d7bf91485dbe46ee11e8703a1cb9008be470536715
DIST tinyproxy-1.10.0.tar.xz 176060 BLAKE2B 58f9b443c731de6b74d689a80ebd422d3b6f51f643546ee144b37fb3262725246f6a5fa1015267a94f192f8715eaf71ffc078ead75e6225a210f58ec28ee8fcf SHA512 8d82598c5f9c89bc672f4632139ac52696d5c7788963de51688a8aeb576c69004f8338fe1e1897bf704a21dfd25ab1effb092003b6afaa9a88c2b5d0608310f5
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.1-ldflags.patch b/net-proxy/tinyproxy/files/tinyproxy-1.8.1-ldflags.patch
deleted file mode 100644
index bd40ec33e31a..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.1-ldflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac 2010-03-09 12:41:45.000000000 +0100
-+++ b/configure.ac 2010-05-17 23:07:39.000000000 +0200
-@@ -222,7 +222,7 @@
- CFLAGS="-DNDEBUG $CFLAGS"
- fi
-
--LDFLAGS="-Wl,-z,defs"
-+LDFLAGS="$LDFLAGS -Wl,-z,defs"
-
- dnl
- dnl Make sure we can actually handle the "--with-*" and "--enable-*" stuff.
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.1-minimal.patch b/net-proxy/tinyproxy/files/tinyproxy-1.8.1-minimal.patch
deleted file mode 100644
index 82793a8894d0..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.1-minimal.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,7 +2,6 @@
- src \
- data \
- etc \
-- docs \
- m4macros \
- tests
-
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2-DoS-Prevention.patch b/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2-DoS-Prevention.patch
deleted file mode 100644
index 059f178c1ee2..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2-DoS-Prevention.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-https://banu.com/bugzilla/show_bug.cgi?id=110#c4
-
-From 526215dbb4abb1cff9a170343fa50dbda9492eb1 Mon Sep 17 00:00:00 2001
-From: Michael Adam <obnox@samba.org>
-Date: Fri, 15 Mar 2013 12:34:01 +0100
-Subject: [PATCH 1/2] [BB#110] secure the hashmaps by adding a seed
-
-Based on patch provided by gpernot@praksys.org on bugzilla.
-
-Signed-off-by: Michael Adam <obnox@samba.org>
----
- configure.ac | 2 ++
- src/child.c | 1 +
- src/hashmap.c | 14 ++++++++------
- 3 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ecbcba0..cc40e85 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -205,6 +205,8 @@ AC_CHECK_FUNCS([gethostname inet_ntoa memchr memset select socket strcasecmp \
- AC_CHECK_FUNCS([isascii memcpy setrlimit ftruncate regcomp regexec])
- AC_CHECK_FUNCS([strlcpy strlcat])
-
-+AC_CHECK_FUNCS([time rand srand])
-+
-
- dnl Enable extra warnings
- DESIRED_FLAGS="-fdiagnostics-show-option -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wfloat-equal -Wundef -Wformat=2 -Wlogical-op -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Waggregate-return -Winit-self -Wpacked --std=c89 -ansi -pedantic -Wno-overlength-strings -Wc++-compat -Wno-long-long -Wno-overlength-strings -Wdeclaration-after-statement -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-qual -Wcast-align -Wwrite-strings -Wp,-D_FORTIFY_SOURCE=2 -fno-common"
-diff --git a/src/child.c b/src/child.c
-index 34e20e0..0d778d9 100644
---- a/src/child.c
-+++ b/src/child.c
-@@ -196,6 +196,7 @@ static void child_main (struct child_s *ptr)
- }
-
- ptr->connects = 0;
-+ srand(time(NULL));
-
- while (!config.quit) {
- ptr->status = T_WAITING;
-diff --git a/src/hashmap.c b/src/hashmap.c
-index f46fdcb..8cf7c6b 100644
---- a/src/hashmap.c
-+++ b/src/hashmap.c
-@@ -50,6 +50,7 @@ struct hashbucket_s {
- };
-
- struct hashmap_s {
-+ uint32_t seed;
- unsigned int size;
- hashmap_iter end_iterator;
-
-@@ -65,7 +66,7 @@ struct hashmap_s {
- *
- * If any of the arguments are invalid a negative number is returned.
- */
--static int hashfunc (const char *key, unsigned int size)
-+static int hashfunc (const char *key, unsigned int size, uint32_t seed)
- {
- uint32_t hash;
-
-@@ -74,7 +75,7 @@ static int hashfunc (const char *key, unsigned int size)
- if (size == 0)
- return -ERANGE;
-
-- for (hash = tolower (*key++); *key != '\0'; key++) {
-+ for (hash = seed; *key != '\0'; key++) {
- uint32_t bit = (hash & 1) ? (1 << (sizeof (uint32_t) - 1)) : 0;
-
- hash >>= 1;
-@@ -104,6 +105,7 @@ hashmap_t hashmap_create (unsigned int nbuckets)
- if (!ptr)
- return NULL;
-
-+ ptr->seed = (uint32_t)rand();
- ptr->size = nbuckets;
- ptr->buckets = (struct hashbucket_s *) safecalloc (nbuckets,
- sizeof (struct
-@@ -201,7 +203,7 @@ hashmap_insert (hashmap_t map, const char *key, const void *data, size_t len)
- if (!data || len < 1)
- return -ERANGE;
-
-- hash = hashfunc (key, map->size);
-+ hash = hashfunc (key, map->size, map->seed);
- if (hash < 0)
- return hash;
-
-@@ -382,7 +384,7 @@ ssize_t hashmap_search (hashmap_t map, const char *key)
- if (map == NULL || key == NULL)
- return -EINVAL;
-
-- hash = hashfunc (key, map->size);
-+ hash = hashfunc (key, map->size, map->seed);
- if (hash < 0)
- return hash;
-
-@@ -416,7 +418,7 @@ ssize_t hashmap_entry_by_key (hashmap_t map, const char *key, void **data)
- if (!map || !key || !data)
- return -EINVAL;
-
-- hash = hashfunc (key, map->size);
-+ hash = hashfunc (key, map->size, map->seed);
- if (hash < 0)
- return hash;
-
-@@ -451,7 +453,7 @@ ssize_t hashmap_remove (hashmap_t map, const char *key)
- if (map == NULL || key == NULL)
- return -EINVAL;
-
-- hash = hashfunc (key, map->size);
-+ hash = hashfunc (key, map->size, map->seed);
- if (hash < 0)
- return hash;
-
---
-1.7.9.5
-
-https://banu.com/bugzilla/show_bug.cgi?id=110#c5
-
-From f1189daec6866efeb44f24073cd19d7ece86e537 Mon Sep 17 00:00:00 2001
-From: Michael Adam <obnox@samba.org>
-Date: Fri, 15 Mar 2013 13:10:01 +0100
-Subject: [PATCH 2/2] [BB#110] limit the number of headers per request to
- prevent DoS
-
-Based on patch provided by gpernot@praksys.org on bugzilla.
-
-Signed-off-by: Michael Adam <obnox@samba.org>
----
- src/reqs.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/src/reqs.c b/src/reqs.c
-index 2de43a8..af014ba 100644
---- a/src/reqs.c
-+++ b/src/reqs.c
-@@ -611,12 +611,19 @@ add_header_to_connection (hashmap_t hashofheaders, char *header, size_t len)
- }
-
- /*
-+ * define max number of headers.
-+ * big enough to handle legitimate cases, but limited to avoid DoS
-+ */
-+#define MAX_HEADERS 10000
-+
-+/*
- * Read all the headers from the stream
- */
- static int get_all_headers (int fd, hashmap_t hashofheaders)
- {
- char *line = NULL;
- char *header = NULL;
-+ int count;
- char *tmp;
- ssize_t linelen;
- ssize_t len = 0;
-@@ -625,7 +632,7 @@ static int get_all_headers (int fd, hashmap_t hashofheaders)
- assert (fd >= 0);
- assert (hashofheaders != NULL);
-
-- for (;;) {
-+ for (count = 0; count < MAX_HEADERS; count++) {
- if ((linelen = readline (fd, &line)) <= 0) {
- safefree (header);
- safefree (line);
-@@ -691,6 +698,14 @@ static int get_all_headers (int fd, hashmap_t hashofheaders)
-
- safefree (line);
- }
-+
-+ /*
-+ * if we get there, this is we reached MAX_HEADERS count
-+ * bail out with error
-+ */
-+ safefree (header);
-+ safefree (line);
-+ return -1;
- }
-
- /*
---
-1.7.9.5
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd b/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd
deleted file mode 100644
index 0d6618b69a9a..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-get_config() {
- res=$(awk '$1 == "'$1'" { s=$2 } END { print s }' "$CONFFILE")
-
- if [ "x$res" = "x" ]; then
- echo "$2"
- else
- eval echo "$res"
- fi
-}
-
-: ${CONFFILE:="/etc/${SVCNAME}.conf"}
-
-command=/usr/sbin/tinyproxy
-command_args="-c ${CONFFILE}"
-pidfile=$(get_config PidFile /run/tinyproxy/${SVCNAME}.pid)
-
-depend() {
- config "$CONFFILE"
-
- use dns
-
- [ "$(get_config Syslog Off)" = "On" ] && \
- use logger
-}
-
-start_pre() {
- piddir=$(dirname ${pidfile})
-
- if [ "${piddir}" = "/run" ]; then
- eerror "Please change your PidFile settings to be within the"
- eerror "/run/tinyproxy directory"
- eend 1
- else
- checkpath -d -o $(get_config User tinyproxy):$(get_config Group tinyproxy) ${piddir}
- fi
-}