gv-RedCloth 4.2.9 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG +25 -2
- data/README.rdoc +22 -34
- data/Rakefile +0 -1
- data/ext/redcloth_scan/redcloth_inline.c +4 -4
- data/ext/redcloth_scan/redcloth_scan.c +77 -77
- data/lib/redcloth/formatters/base.rb +1 -1
- data/lib/redcloth/formatters/html.rb +16 -8
- data/lib/redcloth/formatters/latex.rb +6 -4
- data/lib/redcloth/version.rb +6 -6
- data/redcloth.gemspec +9 -15
- data/spec/benchmark_spec.rb +0 -0
- data/spec/custom_tags_spec.rb +4 -4
- data/spec/fixtures/threshold.yml +1 -1
- data/spec/parser_spec.rb +7 -6
- data/spec/security/CVE-2012-6684_spec.rb +33 -0
- data/spec/spec_helper.rb +2 -2
- data/tasks/compile.rake +6 -14
- data/tasks/ragel_extension_task.rb +1 -12
- data/tasks/release.rake +11 -10
- data/tasks/rvm.rake +5 -3
- metadata +35 -79
@@ -28,7 +28,7 @@ module RedCloth::Formatters
|
|
28
28
|
opts.delete(:class) if filter_classes
|
29
29
|
opts.delete(:id) if filter_ids
|
30
30
|
|
31
|
-
atts = ''
|
31
|
+
atts = ''.dup
|
32
32
|
opts[:"text-align"] = opts.delete(:align)
|
33
33
|
opts[:style] += ';' if opts[:style] && (opts[:style][-1..-1] != ';')
|
34
34
|
[:float, :"text-align", :"vertical-align"].each do |a|
|
@@ -111,15 +111,23 @@ module RedCloth::Formatters::HTML
|
|
111
111
|
end
|
112
112
|
|
113
113
|
def link(opts)
|
114
|
-
|
114
|
+
if (filter_html || sanitize_html) && opts[:href] =~ /^\s*javascript:/i
|
115
|
+
opts[:name]
|
116
|
+
else
|
117
|
+
"<a href=\"#{escape_attribute opts[:href]}\"#{pba(opts)}>#{opts[:name]}</a>"
|
118
|
+
end
|
115
119
|
end
|
116
120
|
|
117
121
|
def image(opts)
|
118
|
-
opts
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
122
|
+
if (filter_html || sanitize_html) && ( opts[:src] =~ /^\s*javascript:/i || opts[:href] =~ /^\s*javascript:/i )
|
123
|
+
opts[:title]
|
124
|
+
else
|
125
|
+
opts.delete(:align)
|
126
|
+
opts[:alt] = opts[:title]
|
127
|
+
img = "<img src=\"#{escape_attribute opts[:src]}\"#{pba(opts)} alt=\"#{escape_attribute opts[:alt].to_s}\" />"
|
128
|
+
img = "<a href=\"#{escape_attribute opts[:href]}\">#{img}</a>" if opts[:href]
|
129
|
+
img
|
130
|
+
end
|
123
131
|
end
|
124
132
|
|
125
133
|
def footno(opts)
|
@@ -319,7 +327,7 @@ private
|
|
319
327
|
text.gsub!( /<(\/*)([A-Za-z]\w*)([^>]*?)(\s?\/?)>/ ) do |m|
|
320
328
|
raw = $~
|
321
329
|
tag = raw[2].downcase
|
322
|
-
if allowed_tags.has_key? tag
|
330
|
+
if allowed_tags.has_key? tag and allowed_tags[tag]
|
323
331
|
pcs = [tag]
|
324
332
|
allowed_tags[tag].each do |prop|
|
325
333
|
['"', "'", ''].each do |q|
|
@@ -331,7 +339,7 @@ private
|
|
331
339
|
break
|
332
340
|
end
|
333
341
|
end
|
334
|
-
end
|
342
|
+
end
|
335
343
|
"<#{raw[1]}#{pcs.join " "}#{raw[4]}>"
|
336
344
|
else # Unauthorized tag
|
337
345
|
if block_given?
|
@@ -3,7 +3,9 @@ require 'yaml'
|
|
3
3
|
module RedCloth::Formatters::LATEX
|
4
4
|
include RedCloth::Formatters::Base
|
5
5
|
|
6
|
-
|
6
|
+
def self.entities
|
7
|
+
@entities ||= YAML.load(File.read(File.dirname(__FILE__)+'/latex_entities.yml'))
|
8
|
+
end
|
7
9
|
|
8
10
|
module Settings
|
9
11
|
# Maps CSS style names to latex formatting options
|
@@ -163,7 +165,7 @@ module RedCloth::Formatters::LATEX
|
|
163
165
|
|
164
166
|
# FIXME: need caption and label elements similar to image -> figure
|
165
167
|
def table_close(opts)
|
166
|
-
output = "\\begin{table}\n"
|
168
|
+
output = "\\begin{table}\n".dup
|
167
169
|
output << " \\centering\n"
|
168
170
|
output << " \\begin{tabular}{ #{"l " * @table[0].size }}\n"
|
169
171
|
@table.each do |row|
|
@@ -275,8 +277,8 @@ module RedCloth::Formatters::LATEX
|
|
275
277
|
# TODO: what do we do with (unknown) unicode entities ?
|
276
278
|
#
|
277
279
|
def entity(opts)
|
278
|
-
text = opts[:text][0..0] == '#' ? opts[:text][1..-1] : opts[:text]
|
279
|
-
|
280
|
+
text = opts[:text][0..0] == '#' ? opts[:text][1..-1] : opts[:text]
|
281
|
+
RedCloth::Formatters::LATEX.entities[text]
|
280
282
|
end
|
281
283
|
|
282
284
|
def dim(opts)
|
data/lib/redcloth/version.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
module RedCloth
|
2
2
|
module VERSION
|
3
3
|
MAJOR = 4
|
4
|
-
MINOR =
|
5
|
-
TINY =
|
6
|
-
RELEASE_CANDIDATE =
|
4
|
+
MINOR = 3
|
5
|
+
TINY = 2
|
6
|
+
# RELEASE_CANDIDATE = 0
|
7
7
|
|
8
|
-
STRING = [MAJOR, MINOR, TINY
|
9
|
-
TAG = "REL_#{[MAJOR, MINOR, TINY
|
10
|
-
FULL_VERSION = "#{[MAJOR, MINOR, TINY
|
8
|
+
STRING = [MAJOR, MINOR, TINY].compact.join('.')
|
9
|
+
TAG = "REL_#{[MAJOR, MINOR, TINY].compact.join('_')}".upcase.gsub(/\.|-/, '_')
|
10
|
+
FULL_VERSION = "#{[MAJOR, MINOR, TINY].compact.join('.')}"
|
11
11
|
|
12
12
|
class << self
|
13
13
|
def to_s
|
data/redcloth.gemspec
CHANGED
@@ -23,23 +23,17 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.rdoc_options = ["--charset=UTF-8", "--line-numbers", "--inline-source", "--title", "RedCloth", "--main", "README.rdoc"]
|
24
24
|
s.require_paths += ["lib/case_sensitive_require", "ext"]
|
25
25
|
|
26
|
-
s.files -= Dir['lib/redcloth.jar']
|
27
|
-
s.files -= Dir['lib/**/*.dll']
|
28
26
|
s.files -= Dir['lib/**/*.bundle']
|
29
27
|
s.files -= Dir['lib/**/*.so']
|
28
|
+
|
29
|
+
s.platform = 'ruby'
|
30
30
|
|
31
|
-
s.
|
32
|
-
|
33
|
-
|
34
|
-
s.files += ['lib/redcloth_scan.jar']
|
35
|
-
else # MRI or Rubinius
|
36
|
-
s.files += %w[attributes inline scan].map {|f| "ext/redcloth_scan/redcloth_#{f}.c"}
|
37
|
-
s.files += ["ext/redcloth_scan/redcloth.h"]
|
38
|
-
s.extensions = Dir['ext/**/extconf.rb']
|
39
|
-
end
|
31
|
+
s.files += %w[attributes inline scan].map {|f| "ext/redcloth_scan/redcloth_#{f}.c"}
|
32
|
+
s.files += ["ext/redcloth_scan/redcloth.h"]
|
33
|
+
s.extensions = Dir['ext/**/extconf.rb']
|
40
34
|
|
41
|
-
s.add_development_dependency('bundler', '
|
42
|
-
s.add_development_dependency('rake', '~> 0.
|
35
|
+
# s.add_development_dependency('bundler', '> 1.3.4')
|
36
|
+
# s.add_development_dependency('rake', '~> 10.0.3')
|
43
37
|
s.add_development_dependency('rspec', '~> 2.4')
|
44
38
|
s.add_development_dependency('diff-lcs', '~> 1.1.2')
|
45
39
|
|
@@ -47,6 +41,6 @@ Gem::Specification.new do |s|
|
|
47
41
|
# gem packaging. Otherwise, Bundler complains that they're
|
48
42
|
# not installed even though they're not required.
|
49
43
|
# See https://github.com/carlhuda/bundler/issues/issue/1021
|
50
|
-
s.add_development_dependency('rvm', '~> 1.2.6')
|
51
|
-
s.add_development_dependency('rake-compiler', '~> 0.7.1')
|
44
|
+
# s.add_development_dependency('rvm', '~> 1.2.6')
|
45
|
+
# s.add_development_dependency('rake-compiler', '~> 0.7.1')
|
52
46
|
end
|
data/spec/benchmark_spec.rb
CHANGED
File without changes
|
data/spec/custom_tags_spec.rb
CHANGED
@@ -4,7 +4,7 @@ module FigureTag
|
|
4
4
|
def fig( opts )
|
5
5
|
label, img = opts[:text].split('|').map! {|str| str.strip}
|
6
6
|
|
7
|
-
html = %Q{<div class="img" id="figure-#{label.tr('.', '-')}">\n}
|
7
|
+
html = %Q{<div class="img" id="figure-#{label.tr('.', '-')}">\n}.dup
|
8
8
|
html << %Q{ <a class="fig" href="/images/#{img}">\n}
|
9
9
|
html << %Q{ <img src="/images/thumbs/#{img}" alt="Figure #{label}" />\n}
|
10
10
|
html << %Q{ </a>\n}
|
@@ -15,13 +15,13 @@ end
|
|
15
15
|
|
16
16
|
describe "custom tags" do
|
17
17
|
it "should recognize the custom tag" do
|
18
|
-
input = %Q{The first line of text.\n\n}
|
18
|
+
input = %Q{The first line of text.\n\n}.dup
|
19
19
|
input << %Q{fig. 1.1 | img.jpg\n\n}
|
20
20
|
input << %Q{The last line of text.\n}
|
21
21
|
r = RedCloth.new input
|
22
22
|
r.extend FigureTag
|
23
23
|
|
24
|
-
html = %Q{<p>The first line of text.</p>\n}
|
24
|
+
html = %Q{<p>The first line of text.</p>\n}.dup
|
25
25
|
html << %Q{<div class="img" id="figure-1-1">\n}
|
26
26
|
html << %Q{ <a class="fig" href="/images/img.jpg">\n}
|
27
27
|
html << %Q{ <img src="/images/thumbs/img.jpg" alt="Figure 1.1" />\n}
|
@@ -47,4 +47,4 @@ describe "custom tags" do
|
|
47
47
|
|
48
48
|
r.to_html.should == html
|
49
49
|
end
|
50
|
-
end
|
50
|
+
end
|
data/spec/fixtures/threshold.yml
CHANGED
@@ -159,7 +159,7 @@ in: '"link text":http://example.com/'
|
|
159
159
|
html: <p><a href="http://example.com/">link text</a></p>
|
160
160
|
---
|
161
161
|
name: local links
|
162
|
-
desc: The host name may be
|
162
|
+
desc: The host name may be omitted for local links.
|
163
163
|
in: '"link text":/example'
|
164
164
|
html: <p><a href="/example">link text</a></p>
|
165
165
|
---
|
data/spec/parser_spec.rb
CHANGED
@@ -6,13 +6,13 @@ describe RedCloth do
|
|
6
6
|
it "should accept options" do
|
7
7
|
lambda {
|
8
8
|
RedCloth.new("test", [:hard_breaks])
|
9
|
-
}.should_not raise_error
|
9
|
+
}.should_not raise_error
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should have a VERSION" do
|
14
|
-
RedCloth.const_defined?("VERSION").should
|
15
|
-
RedCloth::VERSION.const_defined?("STRING").should
|
14
|
+
RedCloth.const_defined?("VERSION").should be_truthy
|
15
|
+
RedCloth::VERSION.const_defined?("STRING").should be_truthy
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should show the version as a string" do
|
@@ -21,7 +21,7 @@ describe RedCloth do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should have EXTENSION_LANGUAGE" do
|
24
|
-
RedCloth.const_defined?("EXTENSION_LANGUAGE").should
|
24
|
+
RedCloth.const_defined?("EXTENSION_LANGUAGE").should be_truthy
|
25
25
|
RedCloth::EXTENSION_LANGUAGE.should_not be_empty
|
26
26
|
RedCloth::DESCRIPTION.should include(RedCloth::EXTENSION_LANGUAGE)
|
27
27
|
end
|
@@ -85,8 +85,9 @@ describe RedCloth do
|
|
85
85
|
|
86
86
|
if RUBY_VERSION > "1.9.0"
|
87
87
|
it "should preserve character encoding" do
|
88
|
-
input = "This is an ISO-8859-1 string"
|
88
|
+
input = "This is an ISO-8859-1 string".dup
|
89
89
|
input.force_encoding 'iso-8859-1'
|
90
|
+
|
90
91
|
output = RedCloth.new(input).to_html
|
91
92
|
|
92
93
|
output.should == "<p>This is an <span class=\"caps\">ISO</span>-8859-1 string</p>"
|
@@ -94,7 +95,7 @@ describe RedCloth do
|
|
94
95
|
end
|
95
96
|
|
96
97
|
it "should not raise ArgumentError: invalid byte sequence" do
|
97
|
-
s = "\xa3"
|
98
|
+
s = "\xa3".dup
|
98
99
|
s.force_encoding 'iso-8859-1'
|
99
100
|
lambda { RedCloth.new(s).to_html }.should_not raise_error
|
100
101
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6684
|
2
|
+
|
3
|
+
require 'redcloth'
|
4
|
+
|
5
|
+
describe 'CVE-2012-6684' do
|
6
|
+
|
7
|
+
it 'should not let javascript links pass through' do
|
8
|
+
# PoC from http://co3k.org/blog/redcloth-unfixed-xss-en
|
9
|
+
output = RedCloth.new('["clickme":javascript:alert(%27XSS%27)]', [:filter_html, :filter_styles, :filter_classes, :filter_ids]).to_html
|
10
|
+
expect(output).to_not match(/href=.javascript:alert/)
|
11
|
+
|
12
|
+
output = RedCloth.new('["clickme":jAvascript:alert(%27XSS%27)]', [:filter_html, :filter_styles, :filter_classes, :filter_ids]).to_html
|
13
|
+
expect(output).to_not match(/href=.jAvascript:alert/)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should not let javascript links pass through on images' do
|
17
|
+
output = RedCloth.new('"!<javascript:alert(1)(2)!:javascript:prompt(document.domain)"').to_html
|
18
|
+
expect(output).to match(/src=.javascript:alert/)
|
19
|
+
expect(output).to match(/href=.javascript:prompt/)
|
20
|
+
|
21
|
+
output = RedCloth.new('"!<javascript:alert(1)(2)!:javascript:prompt(document.domain)"', [:filter_html, :filter_styles, :filter_classes, :filter_ids]).to_html
|
22
|
+
expect(output).to_not match(/src=.javascript:alert/)
|
23
|
+
expect(output).to_not match(/href=.javascript:prompt/)
|
24
|
+
|
25
|
+
output = RedCloth.new('"!<jAvascript:alert(1)(2)!:jAvascript:prompt(document.domain)"').to_html
|
26
|
+
expect(output).to match(/src=.jAvascript:alert/)
|
27
|
+
expect(output).to match(/href=.jAvascript:prompt/)
|
28
|
+
|
29
|
+
output = RedCloth.new('"!<jAvascript:alert(1)(2)!:jAvascript:prompt(document.domain)"', [:filter_html, :filter_styles, :filter_classes, :filter_ids]).to_html
|
30
|
+
expect(output).to_not match(/src=.jAvascript:alert/)
|
31
|
+
expect(output).to_not match(/href=.jAvascript:prompt/)
|
32
|
+
end
|
33
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -26,11 +26,11 @@ def fixtures
|
|
26
26
|
Dir[File.join(File.dirname(__FILE__), *%w[fixtures *.yml])].each do |testfile|
|
27
27
|
testgroup = File.basename(testfile, '.yml')
|
28
28
|
num = 0
|
29
|
-
YAML::
|
29
|
+
YAML::load_stream(File.open(testfile)) do |doc|
|
30
30
|
name = doc['name'] || num
|
31
31
|
@fixtures["#{testgroup} #{name}"] = doc
|
32
32
|
num += 1
|
33
33
|
end
|
34
34
|
end
|
35
35
|
@fixtures
|
36
|
-
end
|
36
|
+
end
|
data/tasks/compile.rake
CHANGED
@@ -12,19 +12,16 @@ CLOBBER.include [
|
|
12
12
|
]
|
13
13
|
|
14
14
|
# Load the Gem specification for the current platform (Ruby or JRuby).
|
15
|
-
def gemspec(platform =
|
15
|
+
def gemspec(platform = 'ruby')
|
16
16
|
Gem::Specification.load(File.expand_path('../../redcloth.gemspec', __FILE__))
|
17
17
|
end
|
18
18
|
|
19
19
|
require 'rake/extensiontask'
|
20
|
-
require 'rake/javaextensiontask'
|
21
20
|
require File.dirname(__FILE__) + '/ragel_extension_task'
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
extconf = "ext/redcloth_scan/extconf.rb"
|
27
|
-
file extconf do
|
22
|
+
|
23
|
+
extconf = "ext/redcloth_scan/extconf.rb"
|
24
|
+
file extconf do
|
28
25
|
FileUtils.mkdir(File.dirname(extconf)) unless File.directory?(File.dirname(extconf))
|
29
26
|
File.open(extconf, "w") do |io|
|
30
27
|
io.write(<<-EOF)
|
@@ -36,12 +33,7 @@ have_library("c", "main")
|
|
36
33
|
create_makefile("redcloth_scan")
|
37
34
|
EOF
|
38
35
|
end
|
39
|
-
|
36
|
+
end
|
40
37
|
|
41
|
-
|
42
|
-
if ENV['RUBY_CC_VERSION']
|
43
|
-
ext.cross_compile = true
|
44
|
-
ext.cross_platform = ['i386-mingw32', 'i386-mswin32-60']
|
45
|
-
end
|
46
|
-
end
|
38
|
+
Rake::RagelExtensionTask.new("redcloth_scan", gemspec) do |ext|
|
47
39
|
end
|
@@ -42,17 +42,14 @@ module Rake
|
|
42
42
|
{
|
43
43
|
'scan' => {
|
44
44
|
'c' => "#{@ext_dir}/redcloth_scan.c",
|
45
|
-
'java' => "#{@ext_dir}/RedclothScanService.java",
|
46
45
|
'rb' => "#{@ext_dir}/redcloth_scan.rb"
|
47
46
|
},
|
48
47
|
'inline' => {
|
49
48
|
'c' => "#{@ext_dir}/redcloth_inline.c",
|
50
|
-
'java' => "#{@ext_dir}/RedclothInline.java",
|
51
49
|
'rb' => "#{@ext_dir}/redcloth_inline.rb"
|
52
50
|
},
|
53
51
|
'attributes' => {
|
54
52
|
'c' => "#{@ext_dir}/redcloth_attributes.c",
|
55
|
-
'java' => "#{@ext_dir}/RedclothAttributes.java",
|
56
53
|
'rb' => "#{@ext_dir}/redcloth_attributes.rb"
|
57
54
|
}
|
58
55
|
}[machine][lang]
|
@@ -88,7 +85,6 @@ module Rake
|
|
88
85
|
def host_language_flag
|
89
86
|
{
|
90
87
|
'c' => 'C',
|
91
|
-
'java' => 'J',
|
92
88
|
'rb' => 'R'
|
93
89
|
}[lang]
|
94
90
|
end
|
@@ -96,7 +92,6 @@ module Rake
|
|
96
92
|
def preferred_code_style
|
97
93
|
{
|
98
94
|
'c' => 'T0',
|
99
|
-
'java' => nil,
|
100
95
|
'rb' => 'F1'
|
101
96
|
}[lang]
|
102
97
|
end
|
@@ -117,11 +112,5 @@ module Rake
|
|
117
112
|
"c"
|
118
113
|
end
|
119
114
|
end
|
120
|
-
|
121
|
-
include RagelGenerationTasks
|
122
|
-
|
123
|
-
def lang
|
124
|
-
"java"
|
125
|
-
end
|
126
|
-
end
|
115
|
+
|
127
116
|
end
|
data/tasks/release.rake
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
namespace :release do
|
2
|
-
desc '
|
3
|
-
|
2
|
+
desc 'Push all gems to rubygems.org'
|
3
|
+
# git tag and push tag
|
4
|
+
# git tag vx.x.x
|
5
|
+
# git push --follow-tags
|
6
|
+
# branch into stable vx.x branch
|
7
|
+
# change version in version.rb
|
8
|
+
# update changelog
|
9
|
+
# run rake test
|
4
10
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
Dir['*.gem'].select {|g| g =~ /\w+-[^-]+-\w+.gem/ }.each do |gem_file|
|
9
|
-
sh("gem push #{gem_file}")
|
10
|
-
end
|
11
|
-
end
|
11
|
+
task :gem do
|
12
|
+
sh("gem build redcloth.gemspec")
|
13
|
+
sh("gem push RedCloth-*.gem")
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
|
-
Rake::Task['release'].prerequisites.unshift('build')
|
data/tasks/rvm.rake
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
+
require 'rvm'
|
2
|
+
|
1
3
|
namespace :rvm do
|
2
4
|
|
3
|
-
RVM_RUBIES = ['
|
5
|
+
RVM_RUBIES = ['ruby-1.8.6-p398', 'ruby-1.9.1-p243', 'ruby-1.9.2-p136', 'ruby-2.2.3p173']
|
4
6
|
RVM_GEMSET_NAME = 'redcloth'
|
5
7
|
|
6
8
|
task :setup do
|
7
9
|
unless @rvm_setup
|
8
10
|
rvm_lib_path = "#{`echo $rvm_path`.strip}/lib"
|
9
|
-
|
11
|
+
#$LOAD_PATH.unshift(rvm_lib_path) unless $LOAD_PATH.include?(rvm_lib_path)
|
10
12
|
require 'rvm'
|
11
13
|
require 'tmpdir'
|
12
14
|
@rvm_setup = true
|
@@ -21,7 +23,7 @@ namespace :rvm do
|
|
21
23
|
# gets confused when locked to java and running ruby and vice-versa.
|
22
24
|
STDERR << RVM.run('bundle update').stderr
|
23
25
|
|
24
|
-
result = RVM.
|
26
|
+
result = RVM.run("rake test")
|
25
27
|
STDOUT << result.stdout
|
26
28
|
STDERR << result.stderr
|
27
29
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gv-RedCloth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2
|
5
|
-
prerelease:
|
4
|
+
version: 4.3.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jason Garber
|
@@ -11,74 +10,36 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
13
|
+
date: 2017-11-08 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
18
|
-
requirement:
|
19
|
-
none: false
|
20
|
-
requirements:
|
21
|
-
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.1.1
|
24
|
-
type: :development
|
25
|
-
prerelease: false
|
26
|
-
version_requirements: *70156852591300
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: &70156852590780 !ruby/object:Gem::Requirement
|
30
|
-
none: false
|
16
|
+
name: rspec
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
31
18
|
requirements:
|
32
|
-
- - ~>
|
19
|
+
- - "~>"
|
33
20
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
21
|
+
version: '2.4'
|
35
22
|
type: :development
|
36
23
|
prerelease: false
|
37
|
-
version_requirements:
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: rspec
|
40
|
-
requirement: &70156852590320 !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
25
|
requirements:
|
43
|
-
- - ~>
|
26
|
+
- - "~>"
|
44
27
|
- !ruby/object:Gem::Version
|
45
28
|
version: '2.4'
|
46
|
-
type: :development
|
47
|
-
prerelease: false
|
48
|
-
version_requirements: *70156852590320
|
49
29
|
- !ruby/object:Gem::Dependency
|
50
30
|
name: diff-lcs
|
51
|
-
requirement:
|
52
|
-
none: false
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
53
32
|
requirements:
|
54
|
-
- - ~>
|
33
|
+
- - "~>"
|
55
34
|
- !ruby/object:Gem::Version
|
56
35
|
version: 1.1.2
|
57
36
|
type: :development
|
58
37
|
prerelease: false
|
59
|
-
version_requirements:
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: rvm
|
62
|
-
requirement: &70156852589360 !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
|
-
requirements:
|
65
|
-
- - ~>
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 1.2.6
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: *70156852589360
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rake-compiler
|
73
|
-
requirement: &70156852588860 !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
39
|
requirements:
|
76
|
-
- - ~>
|
40
|
+
- - "~>"
|
77
41
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
79
|
-
type: :development
|
80
|
-
prerelease: false
|
81
|
-
version_requirements: *70156852588860
|
42
|
+
version: 1.1.2
|
82
43
|
description: Textile parser for Ruby.
|
83
44
|
email: redcloth-upwards@rubyforge.org
|
84
45
|
executables:
|
@@ -90,16 +51,22 @@ extra_rdoc_files:
|
|
90
51
|
- COPYING
|
91
52
|
- CHANGELOG
|
92
53
|
files:
|
93
|
-
- .gemtest
|
94
|
-
- .rspec
|
54
|
+
- ".gemtest"
|
55
|
+
- ".rspec"
|
95
56
|
- CHANGELOG
|
96
57
|
- COPYING
|
97
58
|
- Gemfile
|
98
59
|
- README.rdoc
|
99
60
|
- Rakefile
|
100
|
-
- doc/textile_reference.html
|
101
61
|
- bin/redcloth
|
62
|
+
- doc/textile_reference.html
|
63
|
+
- ext/redcloth_scan/extconf.rb
|
64
|
+
- ext/redcloth_scan/redcloth.h
|
65
|
+
- ext/redcloth_scan/redcloth_attributes.c
|
66
|
+
- ext/redcloth_scan/redcloth_inline.c
|
67
|
+
- ext/redcloth_scan/redcloth_scan.c
|
102
68
|
- lib/case_sensitive_require/RedCloth.rb
|
69
|
+
- lib/redcloth.rb
|
103
70
|
- lib/redcloth/erb_extension.rb
|
104
71
|
- lib/redcloth/formatters/base.rb
|
105
72
|
- lib/redcloth/formatters/html.rb
|
@@ -107,7 +74,6 @@ files:
|
|
107
74
|
- lib/redcloth/formatters/latex_entities.yml
|
108
75
|
- lib/redcloth/textile_doc.rb
|
109
76
|
- lib/redcloth/version.rb
|
110
|
-
- lib/redcloth.rb
|
111
77
|
- lib/tasks/pureruby.rake
|
112
78
|
- redcloth.gemspec
|
113
79
|
- spec/benchmark_spec.rb
|
@@ -141,6 +107,7 @@ files:
|
|
141
107
|
- spec/formatters/sanitized_html_spec.rb
|
142
108
|
- spec/formatters/style_filtered_html_spec.rb
|
143
109
|
- spec/parser_spec.rb
|
110
|
+
- spec/security/CVE-2012-6684_spec.rb
|
144
111
|
- spec/spec_helper.rb
|
145
112
|
- tasks/compile.rake
|
146
113
|
- tasks/gems.rake
|
@@ -148,50 +115,38 @@ files:
|
|
148
115
|
- tasks/release.rake
|
149
116
|
- tasks/rspec.rake
|
150
117
|
- tasks/rvm.rake
|
151
|
-
- ext/redcloth_scan/redcloth_attributes.c
|
152
|
-
- ext/redcloth_scan/redcloth_inline.c
|
153
|
-
- ext/redcloth_scan/redcloth_scan.c
|
154
|
-
- ext/redcloth_scan/redcloth.h
|
155
|
-
- ext/redcloth_scan/extconf.rb
|
156
118
|
homepage: http://redcloth.org
|
157
119
|
licenses: []
|
120
|
+
metadata: {}
|
158
121
|
post_install_message:
|
159
122
|
rdoc_options:
|
160
|
-
- --charset=UTF-8
|
161
|
-
- --line-numbers
|
162
|
-
- --inline-source
|
163
|
-
- --title
|
123
|
+
- "--charset=UTF-8"
|
124
|
+
- "--line-numbers"
|
125
|
+
- "--inline-source"
|
126
|
+
- "--title"
|
164
127
|
- RedCloth
|
165
|
-
- --main
|
128
|
+
- "--main"
|
166
129
|
- README.rdoc
|
167
130
|
require_paths:
|
168
131
|
- lib
|
169
132
|
- lib/case_sensitive_require
|
170
133
|
- ext
|
171
134
|
required_ruby_version: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
135
|
requirements:
|
174
|
-
- -
|
136
|
+
- - ">="
|
175
137
|
- !ruby/object:Gem::Version
|
176
138
|
version: '0'
|
177
|
-
segments:
|
178
|
-
- 0
|
179
|
-
hash: 3378025243211520174
|
180
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
140
|
requirements:
|
183
|
-
- -
|
141
|
+
- - ">="
|
184
142
|
- !ruby/object:Gem::Version
|
185
143
|
version: '0'
|
186
|
-
segments:
|
187
|
-
- 0
|
188
|
-
hash: 3378025243211520174
|
189
144
|
requirements: []
|
190
145
|
rubyforge_project: redcloth
|
191
|
-
rubygems_version:
|
146
|
+
rubygems_version: 2.2.2
|
192
147
|
signing_key:
|
193
|
-
specification_version:
|
194
|
-
summary: RedCloth-4.2
|
148
|
+
specification_version: 4
|
149
|
+
summary: RedCloth-4.3.2
|
195
150
|
test_files:
|
196
151
|
- spec/benchmark_spec.rb
|
197
152
|
- spec/custom_tags_spec.rb
|
@@ -224,4 +179,5 @@ test_files:
|
|
224
179
|
- spec/formatters/sanitized_html_spec.rb
|
225
180
|
- spec/formatters/style_filtered_html_spec.rb
|
226
181
|
- spec/parser_spec.rb
|
182
|
+
- spec/security/CVE-2012-6684_spec.rb
|
227
183
|
- spec/spec_helper.rb
|