summaryrefslogtreecommitdiff
path: root/dev-ruby/tidy-ext
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-ruby/tidy-ext
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-ruby/tidy-ext')
-rw-r--r--dev-ruby/tidy-ext/Manifest6
-rw-r--r--dev-ruby/tidy-ext/files/11CVE-2015-5522.patch34
-rw-r--r--dev-ruby/tidy-ext/metadata.xml11
-rw-r--r--dev-ruby/tidy-ext/tidy-ext-0.1.14-r3.ebuild40
4 files changed, 91 insertions, 0 deletions
diff --git a/dev-ruby/tidy-ext/Manifest b/dev-ruby/tidy-ext/Manifest
new file mode 100644
index 000000000000..8a46a925f17f
--- /dev/null
+++ b/dev-ruby/tidy-ext/Manifest
@@ -0,0 +1,6 @@
+AUX 11CVE-2015-5522.patch 1397 SHA256 a0724c39f7e60aa2dd5d177faa9be011f870432644f21231adecf344c210ffbc SHA512 d0ff033d757ab6b1b4d4d77d4429f8e39ef7e818f35a9d6edeaf7e031c6e45d9df33d318d724a66fbc0a7cecd3303c4fe5260e5b3dcda5983e732b33aa675bd8 WHIRLPOOL 948633bc2dffc368b007693ea4c3ab8a476ca458d93779db5069c71e32c6d8fa4ce4cf8aba8837ca0ed11f570d5abeb790afbae353d36b96f11416145c95bb85
+DIST tidy-ext-0.1.14.gem 260608 SHA256 9bd24274b4fea9f2c459a34742b89f106f03ac34086db2119b779b3190109344 SHA512 8a8eada3cb5e815338de49332a24c85b9b2cabba0e10f2d72fe85bd4faf76924e52d82066e7b73e62bc459631aaa9d1c42a6941988ae2a71ca0ddd4f3302ad86 WHIRLPOOL 1c228aebe12ce1f425d1e2545d5f10e75444a9dc4138629d7e398c2d929d72cd0cb8b00629a10079db8423dd94e937f0bda59b00ce675ac97829e5e5f28ac58b
+EBUILD tidy-ext-0.1.14-r3.ebuild 925 SHA256 ab5e382275e19c95da8c3d7449a5f9585ea24b77e043f8e5971ab5b6e033cb51 SHA512 b61704ef8e1c61ba5e164819a12d16d9e25e46ca5a5491f1b335f07f15f306b80c7d09a005575ce2400e308a9486991e46515c0d72ea6a09e27a81ffb6381bd4 WHIRLPOOL 4e8aa737f1e163fb21329f079f098cb324a0190be1a0452dd4fff4f1a96dc3a5f6a533687647f73ba3bca50414827646f68db4d5555612659de40def72abdd7b
+MISC ChangeLog 5412 SHA256 96f9b0bd2b603eb9911046d4769d863dc5f3d79bfa6d4c3574877f00b51959e7 SHA512 dd50fe3efa6f1036c7363f50834f82514309f15bab347e321e033548df84527fdcb60901658a269720bd3b7c434df3a85263805689cb1003ea6821b7b8f7a54f WHIRLPOOL 7ed5a197883ca451e6e0e8246157195248b64963f1d8b6cd850a69b15c6f2ec342c027636d8236aefc513368fea961305835935a1d394ebb2c8c9c71239de745
+MISC ChangeLog-2015 5692 SHA256 5fb64693a45dcb1a417e944c256056b8819f4fbd57b6dcbde661a42b1e6342e4 SHA512 c7d3b4589bcbc3db2b68dd7ec193547360df0808306620c96d111783e0eb2a8d4928680c4a500de60c46b335cb8b12df3156ea91b503062b35632d4c09de633c WHIRLPOOL 8f64e9477618af27db84e23dd79321c235e35f3265b82913e16b637c0a9d862c767bfe8ff6b5a51318cc9b7683d18451c220c0e076a01c15239c565fba7307cb
+MISC metadata.xml 336 SHA256 0fe6c52098b0b2d0d8777234582b3911be56015dbb7fba8fef3ead83b38b4e51 SHA512 926327c8ac77dc9d24469cee2c16b5aaea0d056db02983a53a8b7624da76edf4be443ec2ef590971de667c770347e5e4258f9eb13d0df84ae4311ea2f5d4b711 WHIRLPOOL 43b0644e412644231578bc0be1c4be7a9f37edde55f145941a19d1046553972c9f1decde5a4996ccd8355583e93a34f35e4f7210687524946793c95a408fecf0
diff --git a/dev-ruby/tidy-ext/files/11CVE-2015-5522.patch b/dev-ruby/tidy-ext/files/11CVE-2015-5522.patch
new file mode 100644
index 000000000000..942209873be0
--- /dev/null
+++ b/dev-ruby/tidy-ext/files/11CVE-2015-5522.patch
@@ -0,0 +1,34 @@
+From c18f27a58792f7fbd0b30a0ff50d6b40a82f940d Mon Sep 17 00:00:00 2001
+From: Geoff McLane <ubuntu@geoffair.info>
+Date: Wed, 3 Jun 2015 20:26:03 +0200
+Subject: [PATCH] Issue #217 - avoid len going negative, ever...
+
+---
+ src/lexer.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/lexer.c b/src/lexer.c
+index 376a3d8..664f806 100644
+--- a/ext/tidy/lexer.c
++++ b/ext/tidy/lexer.c
+@@ -3739,16 +3740,17 @@ static tmbstr ParseValue( TidyDocImpl* doc, ctmbstr name,
+ /* and prompts attributes unless --literal-attributes is set to yes */
+ /* #994841 - Whitespace is removed from value attributes */
+
+- if (munge &&
++ /* Issue #217 - Also only if/while (len > 0) - MUST NEVER GO NEGATIVE! */
++ if ((len > 0) && munge &&
+ TY_(tmbstrcasecmp)(name, "alt") &&
+ TY_(tmbstrcasecmp)(name, "title") &&
+ TY_(tmbstrcasecmp)(name, "value") &&
+ TY_(tmbstrcasecmp)(name, "prompt"))
+ {
+- while (TY_(IsWhite)(lexer->lexbuf[start+len-1]))
++ while (TY_(IsWhite)(lexer->lexbuf[start+len-1]) && (len > 0))
+ --len;
+
+- while (TY_(IsWhite)(lexer->lexbuf[start]) && start < len)
++ while (TY_(IsWhite)(lexer->lexbuf[start]) && (start < len) && (len > 0))
+ {
+ ++start;
+ --len;
diff --git a/dev-ruby/tidy-ext/metadata.xml b/dev-ruby/tidy-ext/metadata.xml
new file mode 100644
index 000000000000..03567b9d3360
--- /dev/null
+++ b/dev-ruby/tidy-ext/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">carld/tidy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/tidy-ext/tidy-ext-0.1.14-r3.ebuild b/dev-ruby/tidy-ext/tidy-ext-0.1.14-r3.ebuild
new file mode 100644
index 000000000000..e56a067f227a
--- /dev/null
+++ b/dev-ruby/tidy-ext/tidy-ext-0.1.14-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+
+RUBY_FAKEGEM_DOCDIR="rdoc"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec"
+
+inherit ruby-fakegem eutils
+
+DESCRIPTION="W3C HTML Tidy library implemented as a Ruby extension"
+HOMEPAGE="https://github.com/carld/tidy"
+
+LICENSE="HTML-Tidy"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sparc x86"
+IUSE=""
+
+RUBY_PATCHES=( 11CVE-2015-5522.patch )
+
+all_ruby_prepare() {
+ mkdir lib || die
+
+ # Remove reference to rspec 1
+ sed -i -e '/spec/d' spec/spec_helper.rb || die
+
+ # Avoid spec that needs network connectivity.
+ rm spec/tidy/remote_uri_spec.rb || die
+}
+
+each_ruby_configure() {
+ ${RUBY} -Cext/tidy extconf.rb || die "Unable to configure extension."
+}
+
+each_ruby_compile() {
+ emake -Cext/tidy V=1
+ cp ext/tidy/tidy$(get_modname) lib/ || die "Unable to copy extension."
+}