nokogiri 1.5.10-java → 1.5.11-java

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 46364f7a8c0514bb29ccd8d9cafaa45ec7b3491b
4
+ data.tar.gz: 410d80437302126658fc3eb27843e0e91673236c
5
+ SHA512:
6
+ metadata.gz: 124136c8d311fc2716affb9cf8b9066b6af0dbd6155e944af5abd3a110afba5fda08ba1686c307db69c2b2ba4602676091c60f416435ee07a1edc0c3dc2b0f1a
7
+ data.tar.gz: 94e13df97d6d10e374fed9628764bbd5482fea9ef01262974298b2c9680797f7c4f3ac71b61dba30cb1bd46af1d07f6db74990b2dd168c4bc0b34134b49929e6
@@ -1,16 +1,24 @@
1
+ === 1.5.11 / 2013年12月14日
2
+
3
+ * Bugfixes
4
+
5
+ * (JRuby) Fix out of memory bug when certain invalid documents are parsed.
6
+ * (JRuby) Fix regression of billion-laughs vulnerability. #586
7
+
8
+
1
9
  === 1.5.10 / 2013年6月7日
2
10
 
3
11
  * バグ修正
4
12
 
5
- * (JRuby) Fix "null document" error when parsing an empty IO in jruby 1.7.3. #883
6
- * (JRuby) Fix schema validation when XSD has DOCTYPE set to DTD. #861 (Thanks, Patrick Cheng!)
7
- * (MRI) Fix segfault when there is no default subelement for an HTML node. #917
13
+ * (JRuby) JRuby 1.7.3で空のIOをパースする際の "null document" エラーを修正 #883
14
+ * (JRuby) XSDにDTDのDOCTYPEがあったときのスキーマ検証の問題を修正 #912 (Patrick Chengに感謝!)
15
+ * (MRI) HTMLノードに対するdefault_sub_element呼出でsegfaultしていたのを修正 #917
8
16
 
9
17
 
10
18
  * 註
11
19
 
12
- * Use rb_ary_entry instead of RARRAY_PTR (you know, for Rubinius). #877 (Thanks, Dirkjan Bussink!)
13
- * Fix TypeError when running tests. #900 (Thanks, Cédric Boutillier!)
20
+ * RARRAY_PTR()の代わりにrb_ary_entry()を使うように変更 (そう、Rubiniusのためにね) #877 (Dirkjan Bussinkに感謝!)
21
+ * テストでTypeErrorが起きるのを修正 #900 (Cédric Boutillierに感謝!)
14
22
 
15
23
 
16
24
  === 1.5.9 / 2013年3月21日
@@ -75,7 +83,7 @@
75
83
  * SAXパーザに不正なエンコーディングに渡された場合はArgumentErrorを投げるようにした。#756 (ありがとう、Bradley Schaefer!)
76
84
  * (JRuby) XML宣言の前にスペースがあると、ドキュメントのパーズに失敗する。(#748の修正でこれもなおっている) #790
77
85
  * (JRuby) Nokogiri::XML::Node#content のJRubyの振る舞いがCRubyと同じではない。#794, #797
78
- * (JRuby) で '#' で始まる文字列を名前とする EntityReference を作ろうとすると INVALID_CHARACTER_ERR という例外がはっせいする。 #719
86
+ * (JRuby) で '#' で始まる文字列を名前とする EntityReference を作ろうとすると INVALID_CHARACTER_ERR という例外が発生する。 #719
79
87
  * (JRuby) では Nodeのサブクラスのnamespaceを正しく文字列に変換しない。 #715
80
88
  * (JRuby) Node#contentがこのバージョンから改行コードを正しく表示するようになった。#737 (ありがとう、Piotr Szmielew!)
81
89
  * (JRuby) recover optionが指定されている場合は宣言の無い名前空間を無視するようにした。#748
@@ -108,7 +116,7 @@
108
116
  * JRuby で US-ASCII にエンコードされた文字列が正しくないエンコードを返してくる。 #583
109
117
  * 512 文字以上が与えられたときに XmlSaxPushParser が IndexOutOfBoundsException を投げる。#567, #615
110
118
  * Xpath を評価した結果、空の NodeSet が帰ってくる場合に、NodeSet が持っている Document の decorate に失敗して例外が投げられる。#514
111
- * JRuby で xpath を namespace 付きで指定した場合に、エラーが発生する。pull request #681 (ありがとう, Piotr Szmielew)
119
+ * JRuby で xpath を namespace 付きで指定した場合に、エラーが発生する。pull request #681 (ありがとう, Piotr Szmielew)
112
120
  * JRuby で Nokogiri::XML::Node を継承したクラスを定義すると、namespace が表示されない。 #695
113
121
  * JRuby で RDF::RDFXML::Writer をインスタンス化しようとすると NAMESPACE_ERR (org.w3c.dom.DOMException) が発生する. #683
114
122
  * JRuby で xpath に namespaces を指定すると例外が発生する. #493
@@ -135,7 +143,7 @@
135
143
  パース時にネットワークに接続して外部のドキュメントを見にいかせたい場合には、以下のように `nonoet` オプションを設定する:
136
144
 
137
145
  Nokogiri::XML::Document.parse(xml) { |config| config.nononet }
138
-
146
+
139
147
  ここに、自分ならではの二重否定のジョークをうめこむとなおよし。
140
148
 
141
149
 
@@ -172,45 +180,38 @@
172
180
  * 新機能
173
181
 
174
182
  * XML::Builder#comment はコメントノードを作れるようになった.
175
- * CSS searches now support namespaced attributes. #593
176
- * Java integration 機能が追加された. このバージョンから,
183
+ * CSSセレクター検索が名前空間付き属性に対応 #593
184
+ * Java integration 機能が追加された. このバージョンから,
177
185
  XML::Document.wrap と XML::Document#to_java メソッドが利用可能。
178
- * RelaxNG validator support in the `nokogiri` cli utility. #591 (thanks, Dan Radez!)
186
+ * `nokogiri` CLIユーティリティがRelaxNGバリデーションに対応 #591 (thanks, Dan Radez!)
179
187
 
180
188
  * バグの修正
181
189
 
182
- * エンコーディング自動認識において発生しうるメモリリークを修正.
190
+ * エンコーディング自動認識において発生しうるメモリリークを修正
183
191
  Tim Elliottに感謝!
184
- * homebrew はインストールしたら、extconf は homebrew のパスを読む。
185
- * Inconsistent behavior of Nokogiri 1.5.0 Java #620
186
- * Inheriting from Nokogiri::XML::Node on JRuby (1.6.4/5) fails #560
187
- * XML::Attr nodes are not allowed to be added as node children, so an
188
- exception is raised. #558
189
- * No longer defensively "pickle" adjacent text nodes on
190
- Node#add_next_sibling and Node#add_previous_sibling calls. #595.
191
- * Java version inconsistency: it returns nil for empty attributes #589
192
- * to_xhtml incorrectly generates <p /></p> when tag is empty #557
193
- * Document#add_child now accepts a Node, NodeSet, DocumentFragment,
194
- or String. #546.
195
- * Document#create_element now recognizes namespaces containing
196
- non-word characters (like "SOAP-ENV"). This is mostly relevant to
197
- users of Builder, which calls Document#create_element for nearly
198
- everything. #531.
199
- * File encoding broken in 1.5.0 / jruby / windows #529
200
- * Java version does not return namespace defs as attrs for ::HTML #542
201
- * Bad file descriptor with Nokogiri 1.5.0 #495
202
- * remove_namespace! doesn't work in pure java version #492
203
- * The Nokogiri Java native build throws a null pointer exception when
204
- ActiveSupport's .blank? method is called directly on a parsed object.
205
- #489
206
- * 1.5.0 Not using correct character encoding #488
207
- * Raw XML string in XML Builder broken on JRuby #486
208
- * Nokogiri 1.5.0 XML generation broken on JRuby #484
209
- * Do not allow multiple root nodes. #550
210
- * Fixes for custom XPath functions. #605, #606 (thanks, Juan Wajnerman!)
211
- * Node#to_xml does not override :save_with if it is provided. #505
212
- * Node#set is a private method (JRuby). #564 (thanks, Nick Sieger!)
213
- * C14n cleanup and Node#canonicalize (thanks, Ivan Pirlik!) #563
192
+ * homebrew がインストールされていたら、extconf は homebrew のパスを読む。
193
+ * Java版の一貫性のない挙動 #620
194
+ * JRuby (1.6.4/5) Nokogiri::XML::Node を継承できなかった #560
195
+ * XML::Attr ノードは子ノードとして追加できないので例外を出す #558
196
+ * Node#add_next_sibling Node#add_previous_sibling で隣接テキストノードをdupする条件を緩和 #595
197
+ * Java版の一貫性のない挙動: 空の属性値をnilとして返していた #589
198
+ * to_xhtml が要素が空のときに <p /></p> と誤ったタグを生成していた #557
199
+ * Document#add_child Node, NodeSet, DocumentFragment および
200
+ String を受け付けるようになった #546
201
+ * Document#create_element が("SOAP-ENV"のように)非単語構成文字を含む名前空間を認識するようになった. これは主に Builder を使う際に効いてくる. Builder はほぼすべてのものに Document#create_element を適用するためである #531
202
+ * ファイルエンコーディングが効かなかった (1.5.0 / jruby / windows) #529
203
+ * Java版において、<html>タグに含まれる名前空間定義を属性として返さなかった #542
204
+ * Nokogiri 1.5.0で Bad file descriptor が発生していた #495
205
+ * remove_namespace! がpure Java版で動かなかった #492
206
+ * Javaネイティブ版でパースされたオブジェクトに対して ActiveSupport の .blank? メソッドを呼ぶと null pointer exception が発生していた #489
207
+ * 1.5.0 で正しい文字エンコーディングが仕様されなかった #488
208
+ * XML Builder に生のXML文字列を渡した際の問題 (JRuby) #486
209
+ * Nokogiri 1.5.0でXML生成が壊れていた (JRuby) #484
210
+ * ルートノードを複数持つことを認めない #550
211
+ * カスタムXPath関数を修正 #606 (Juan Wajnermanに感謝!)
212
+ * Node#to_xml :save_with が指定されている場合は上書きしないように修正 #505
213
+ * Node#set をプライベートメソッドに (JRuby) #564 (Nick Siegerに感謝!)
214
+ * C14nの整理と Node#canonicalize (Ivan Pirlikに感謝!) #563
214
215
 
215
216
 
216
217
  === 1.5.0 / 2011年7月1日
@@ -394,7 +395,7 @@
394
395
 
395
396
  * ノート
396
397
 
397
- * 今日4月18日現在、Windows gems は libxml 2.7.7 とlibxslt
398
+ * 今日4月18日現在、Windows gems は libxml 2.7.7 とlibxslt
398
399
  1.1.26にDLLsを標準装備しています。このリリース以前にも既にDLLsはlibxml
399
400
  2.7.3 と libxslt 1.1.24に標準装備済み。
400
401
 
@@ -686,26 +687,26 @@
686
687
 
687
688
  * バグの修正
688
689
 
689
- * HTML のノードを \r のエンティティを含まない
690
+ * HTML のノードに \r のエンティティを含めない
690
691
  * CSS::SelectorHandler と XML::XPathHandler を除去
691
- * XML::Node#attributes が Attr node を value値に返す
692
- * XML::NodeSet が to_xml へ実行
692
+ * XML::Node#attributes が Attr node を値として返す
693
+ * XML::NodeSet が to_xml を実装
693
694
 
694
695
 
695
696
  === 1.1.0
696
697
 
697
698
  * 新しい機能
698
699
 
699
- * カスタム XPath 機能はある。( Nokogiri::XML::Node#xpath 参照 )
700
- * カスタム CSS 擬似クラスと機能はある。( Nokogiri::XML::Node#css 参照 )
700
+ * カスタム XPath 機能を追加。( Nokogiri::XML::Node#xpath 参照 )
701
+ * カスタム CSS 擬似クラスと機能を追加。( Nokogiri::XML::Node#css 参照 )
701
702
  * Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
702
703
 
703
704
  * バグの修正
704
705
 
705
706
  * mutex が CSS のキャッシュのアクセスをロックする
706
707
  * GCC 3.3.5 のビルドに関する問題を修正
707
- * XML::Node#to_xml が引数indentationを取る
708
- * XML::Node#dup が引数任意のdepthを取る
708
+ * XML::Node#to_xml が引数indentationを取る
709
+ * XML::Node#dup が引数任意のdepthを取る
709
710
  * XML::Node#add_previous_sibling が新しい兄弟ノードで返す
710
711
 
711
712
 
@@ -714,10 +715,10 @@
714
715
  * バグの修正
715
716
 
716
717
  * Dike 使用時中のメモリーリークの修正
717
- * SAX パーサーが現在 IO Stream 同時解析
718
+ * SAX パーサーが IO Stream を逐次解析
718
719
  * コメント nodes が独自のクラスを継承する
719
720
  * Nokogiri() は Nokogiri.parse() へデリゲートする
720
- * ENV['PATH'] に付加せれる代わりに先頭へデータ挿入される
721
+ * ENV['PATH'] に付加する代わりに先頭へ挿入する (Windows)
721
722
  * 複雑な CSS 内のバグを修正完了 :not selector ではありません
722
723
 
723
724
 
@@ -736,7 +737,7 @@
736
737
 
737
738
  * バグフィックス
738
739
 
739
- * メーリンクリストを作成
740
+ * メーリングリストを作成
740
741
  * バグファイルを作成
741
742
  * Windows 内で ENV['PATH'] が存在しない場合でも、存在出来るように設定完了
742
743
  * Document 内の NodeSet#[] の結果をキャッシュする
@@ -756,7 +757,7 @@
756
757
 
757
758
  * 5つのバグ修正
758
759
 
759
- * NodeSet が to_ary へ実行
760
+ * NodeSet が to_ary を実装
760
761
  * XML::Document#parent を除去
761
762
  * GCバグ修正済み (Mike は最高!)
762
763
  * 1.8.5互換性の為の RARRAY_LEN 除去
@@ -767,7 +768,7 @@
767
768
 
768
769
  * 1つのバグ修正
769
770
 
770
- * extconf.rb は frex や racc を調べないはず
771
+ * extconf.rb は frex や racc の存在をチェックすべきでない
771
772
 
772
773
 
773
774
  === 1.0.1
@@ -1,3 +1,10 @@
1
+ === 1.5.11 / 2013-12-14
2
+
3
+ * Bugfixes
4
+
5
+ * (JRuby) Fix out of memory bug when certain invalid documents are parsed.
6
+ * (JRuby) Fix regression of billion-laughs vulnerability. #586
7
+
1
8
  === 1.5.10 / 2013-06-07
2
9
 
3
10
  * Bugfixes
data/Rakefile CHANGED
@@ -32,6 +32,8 @@ HOE = Hoe.spec 'nokogiri' do
32
32
 
33
33
  self.extra_rdoc_files = FileList['*.rdoc','ext/nokogiri/*.c']
34
34
 
35
+ self.licenses = ['MIT']
36
+
35
37
  self.clean_globs += [
36
38
  'nokogiri.gemspec',
37
39
  'lib/nokogiri/nokogiri.{bundle,jar,rb,so}',
@@ -120,4 +120,4 @@ public class NokogiriEntityResolver implements EntityResolver2 {
120
120
  return s;
121
121
  }
122
122
 
123
- }
123
+ }
@@ -61,11 +61,16 @@ public class NokogiriNonStrictErrorHandler extends NokogiriErrorHandler{
61
61
  // found in the prolog, instead it will keep calling this method and we'll
62
62
  // keep inserting the error in the document errors array until we run
63
63
  // out of memory
64
+ errors.add(ex);
64
65
  String message = ex.getMessage();
65
- if (message != null && message.toLowerCase().contains("in prolog")) {
66
+
67
+ // The problem with Xerces is that some errors will cause the
68
+ // parser not to advance the reader and it will keep reporting
69
+ // the same error over and over, which will cause the parser
70
+ // to enter an infinite loop unless we throw the exception.
71
+ if (message != null && isFatal(message)) {
66
72
  throw ex;
67
73
  }
68
- errors.add(ex);
69
74
  }
70
75
 
71
76
  public void error(String domain, String key, XMLParseException e) {
@@ -80,4 +85,14 @@ public class NokogiriNonStrictErrorHandler extends NokogiriErrorHandler{
80
85
  errors.add(e);
81
86
  }
82
87
 
88
+ /*
89
+ * Determine whether this is a fatal error that should cause
90
+ * the parsing to stop, or an error that can be ignored.
91
+ */
92
+ private static boolean isFatal(String msg) {
93
+ return
94
+ msg.toLowerCase().contains("in prolog") ||
95
+ msg.toLowerCase().contains("limit") ||
96
+ msg.toLowerCase().contains("preceding the root element must be well-formed");
97
+ }
83
98
  }
Binary file
@@ -1,6 +1,6 @@
1
1
  module Nokogiri
2
2
  # The version of Nokogiri you are using
3
- VERSION = '1.5.10'
3
+ VERSION = '1.5.11'
4
4
 
5
5
  class VersionInfo # :nodoc:
6
6
  def jruby?
@@ -12,7 +12,7 @@ module Nokogiri
12
12
  end
13
13
 
14
14
  def loaded_parser_version
15
- LIBXML_PARSER_VERSION.scan(/^(.*)(..)(..)$/).first.collect{ |j|
15
+ LIBXML_PARSER_VERSION.scan(/^(\d+)(\d\d)(\d\d)(?!\d)/).first.collect{ |j|
16
16
  j.to_i
17
17
  }.join(".")
18
18
  end
@@ -60,6 +60,40 @@ module Nokogiri
60
60
  assert_equal nil, @xml.root
61
61
  end
62
62
 
63
+ def test_million_laugh_attach
64
+ doc = Nokogiri::XML '<?xml version="1.0"?>
65
+ <!DOCTYPE lolz [
66
+ <!ENTITY lol "lol">
67
+ <!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
68
+ <!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
69
+ <!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
70
+ <!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
71
+ <!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
72
+ <!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
73
+ <!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">
74
+ <!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">
75
+ ]>
76
+ <lolz>&lol9;</lolz>'
77
+ assert_not_nil doc
78
+ end
79
+
80
+ def test_million_laugh_attach_2
81
+ doc = Nokogiri::XML '<?xml version="1.0" encoding="UTF-8"?>
82
+ <!DOCTYPE member [
83
+ <!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
84
+ <!ENTITY b "&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;">
85
+ <!ENTITY c "&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;">
86
+ <!ENTITY d "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;">
87
+ <!ENTITY e "&f;&f;&f;&f;&f;&f;&f;&f;&f;&f;">
88
+ <!ENTITY f "&g;&g;&g;&g;&g;&g;&g;&g;&g;&g;">
89
+ <!ENTITY g "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">
90
+ ]>
91
+ <member>
92
+ &a;
93
+ </member>'
94
+ assert_not_nil doc
95
+ end
96
+
63
97
  def test_ignore_unknown_namespace
64
98
  doc = Nokogiri::XML(<<-eoxml)
65
99
  <xml>
@@ -519,6 +553,12 @@ module Nokogiri
519
553
  end
520
554
  end
521
555
 
556
+ def test_memory_explosion_on_invalid_xml
557
+ doc = Nokogiri::XML("<<<")
558
+ refute_nil doc
559
+ refute_empty doc.errors
560
+ end
561
+
522
562
  def test_document_has_errors
523
563
  doc = Nokogiri::XML(<<-eoxml)
524
564
  <foo><bar></foo>
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.5.10
4
+ version: 1.5.11
6
5
  platform: java
7
6
  authors:
8
7
  - Aaron Patterson
@@ -12,204 +11,182 @@ authors:
12
11
  autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2013-06-07 00:00:00.000000000 Z
14
+ date: 2013-12-14 00:00:00.000000000 Z
16
15
  dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rdoc
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
+ requirement: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ version: '4.0'
28
+ prerelease: false
29
+ type: :development
17
30
  - !ruby/object:Gem::Dependency
18
31
  name: hoe-bundler
19
32
  version_requirements: !ruby/object:Gem::Requirement
20
33
  requirements:
21
- - - ">="
34
+ - - '>='
22
35
  - !ruby/object:Gem::Version
23
36
  version: '1.1'
24
- none: false
25
37
  requirement: !ruby/object:Gem::Requirement
26
38
  requirements:
27
- - - ">="
39
+ - - '>='
28
40
  - !ruby/object:Gem::Version
29
41
  version: '1.1'
30
- none: false
31
42
  prerelease: false
32
43
  type: :development
33
44
  - !ruby/object:Gem::Dependency
34
45
  name: hoe-debugging
35
46
  version_requirements: !ruby/object:Gem::Requirement
36
47
  requirements:
37
- - - ">="
48
+ - - '>='
38
49
  - !ruby/object:Gem::Version
39
50
  version: 1.0.3
40
- none: false
41
51
  requirement: !ruby/object:Gem::Requirement
42
52
  requirements:
43
- - - ">="
53
+ - - '>='
44
54
  - !ruby/object:Gem::Version
45
55
  version: 1.0.3
46
- none: false
47
56
  prerelease: false
48
57
  type: :development
49
58
  - !ruby/object:Gem::Dependency
50
59
  name: hoe-gemspec
51
60
  version_requirements: !ruby/object:Gem::Requirement
52
61
  requirements:
53
- - - ">="
62
+ - - '>='
54
63
  - !ruby/object:Gem::Version
55
64
  version: '1.0'
56
- none: false
57
65
  requirement: !ruby/object:Gem::Requirement
58
66
  requirements:
59
- - - ">="
67
+ - - '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '1.0'
62
- none: false
63
70
  prerelease: false
64
71
  type: :development
65
72
  - !ruby/object:Gem::Dependency
66
73
  name: hoe-git
67
74
  version_requirements: !ruby/object:Gem::Requirement
68
75
  requirements:
69
- - - ">="
76
+ - - '>='
70
77
  - !ruby/object:Gem::Version
71
78
  version: '1.4'
72
- none: false
73
79
  requirement: !ruby/object:Gem::Requirement
74
80
  requirements:
75
- - - ">="
81
+ - - '>='
76
82
  - !ruby/object:Gem::Version
77
83
  version: '1.4'
78
- none: false
79
84
  prerelease: false
80
85
  type: :development
81
86
  - !ruby/object:Gem::Dependency
82
87
  name: mini_portile
83
88
  version_requirements: !ruby/object:Gem::Requirement
84
89
  requirements:
85
- - - ">="
90
+ - - '>='
86
91
  - !ruby/object:Gem::Version
87
92
  version: 0.2.2
88
- none: false
89
93
  requirement: !ruby/object:Gem::Requirement
90
94
  requirements:
91
- - - ">="
95
+ - - '>='
92
96
  - !ruby/object:Gem::Version
93
97
  version: 0.2.2
94
- none: false
95
98
  prerelease: false
96
99
  type: :development
97
100
  - !ruby/object:Gem::Dependency
98
101
  name: minitest
99
102
  version_requirements: !ruby/object:Gem::Requirement
100
103
  requirements:
101
- - - "~>"
104
+ - - ~>
102
105
  - !ruby/object:Gem::Version
103
106
  version: 2.2.2
104
- none: false
105
107
  requirement: !ruby/object:Gem::Requirement
106
108
  requirements:
107
- - - "~>"
109
+ - - ~>
108
110
  - !ruby/object:Gem::Version
109
111
  version: 2.2.2
110
- none: false
111
112
  prerelease: false
112
113
  type: :development
113
114
  - !ruby/object:Gem::Dependency
114
115
  name: rake
115
116
  version_requirements: !ruby/object:Gem::Requirement
116
117
  requirements:
117
- - - ">="
118
+ - - '>='
118
119
  - !ruby/object:Gem::Version
119
120
  version: '0.9'
120
- none: false
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0.9'
126
- none: false
127
126
  prerelease: false
128
127
  type: :development
129
128
  - !ruby/object:Gem::Dependency
130
129
  name: rake-compiler
131
130
  version_requirements: !ruby/object:Gem::Requirement
132
131
  requirements:
133
- - - "~>"
132
+ - - ~>
134
133
  - !ruby/object:Gem::Version
135
134
  version: 0.8.0
136
- none: false
137
135
  requirement: !ruby/object:Gem::Requirement
138
136
  requirements:
139
- - - "~>"
137
+ - - ~>
140
138
  - !ruby/object:Gem::Version
141
139
  version: 0.8.0
142
- none: false
143
140
  prerelease: false
144
141
  type: :development
145
142
  - !ruby/object:Gem::Dependency
146
143
  name: racc
147
144
  version_requirements: !ruby/object:Gem::Requirement
148
145
  requirements:
149
- - - ">="
146
+ - - '>='
150
147
  - !ruby/object:Gem::Version
151
148
  version: 1.4.6
152
- none: false
153
149
  requirement: !ruby/object:Gem::Requirement
154
150
  requirements:
155
- - - ">="
151
+ - - '>='
156
152
  - !ruby/object:Gem::Version
157
153
  version: 1.4.6
158
- none: false
159
154
  prerelease: false
160
155
  type: :development
161
156
  - !ruby/object:Gem::Dependency
162
157
  name: rexical
163
158
  version_requirements: !ruby/object:Gem::Requirement
164
159
  requirements:
165
- - - ">="
160
+ - - '>='
166
161
  - !ruby/object:Gem::Version
167
162
  version: 1.0.5
168
- none: false
169
163
  requirement: !ruby/object:Gem::Requirement
170
164
  requirements:
171
- - - ">="
165
+ - - '>='
172
166
  - !ruby/object:Gem::Version
173
167
  version: 1.0.5
174
- none: false
175
- prerelease: false
176
- type: :development
177
- - !ruby/object:Gem::Dependency
178
- name: rdoc
179
- version_requirements: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - "~>"
182
- - !ruby/object:Gem::Version
183
- version: '3.10'
184
- none: false
185
- requirement: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: '3.10'
190
- none: false
191
168
  prerelease: false
192
169
  type: :development
193
170
  - !ruby/object:Gem::Dependency
194
171
  name: hoe
195
172
  version_requirements: !ruby/object:Gem::Requirement
196
173
  requirements:
197
- - - "~>"
174
+ - - ~>
198
175
  - !ruby/object:Gem::Version
199
- version: '2.16'
200
- none: false
176
+ version: '3.7'
201
177
  requirement: !ruby/object:Gem::Requirement
202
178
  requirements:
203
- - - "~>"
179
+ - - ~>
204
180
  - !ruby/object:Gem::Version
205
- version: '2.16'
206
- none: false
181
+ version: '3.7'
207
182
  prerelease: false
208
183
  type: :development
209
- description: "Nokogiri (é\x8b¸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
210
- many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
211
- XML is like violence - if it doesnâ\x80\x99t solve your problems, you are not using\n\
212
- enough of it."
184
+ description: |-
185
+ Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
186
+ many features is the ability to search documents via XPath or CSS3 selectors.
187
+
188
+ XML is like violence - if it doesn’t solve your problems, you are not using
189
+ enough of it.
213
190
  email:
214
191
  - aaronp@rubyforge.org
215
192
  - mike.dalessio@gmail.com
@@ -225,6 +202,9 @@ extra_rdoc_files:
225
202
  - Manifest.txt
226
203
  - README.ja.rdoc
227
204
  - README.rdoc
205
+ - ROADMAP.md
206
+ - STANDARD_RESPONSES.md
207
+ - Y_U_NO_GEMSPEC.md
228
208
  - ext/nokogiri/html_document.c
229
209
  - ext/nokogiri/html_element_description.c
230
210
  - ext/nokogiri/html_entity_lookup.c
@@ -260,8 +240,8 @@ extra_rdoc_files:
260
240
  - ext/nokogiri/xml_xpath_context.c
261
241
  - ext/nokogiri/xslt_stylesheet.c
262
242
  files:
263
- - ".autotest"
264
- - ".gemtest"
243
+ - .autotest
244
+ - .gemtest
265
245
  - CHANGELOG.ja.rdoc
266
246
  - CHANGELOG.rdoc
267
247
  - C_CODING_STYLE.rdoc
@@ -569,36 +549,31 @@ files:
569
549
  - test/namespaces/test_namespaces_in_parsed_doc.rb
570
550
  - lib/nokogiri/nokogiri.jar
571
551
  homepage: http://nokogiri.org
572
- licenses: []
552
+ licenses:
553
+ - MIT
554
+ metadata: {}
573
555
  post_install_message:
574
556
  rdoc_options:
575
- - "--main"
557
+ - --main
576
558
  - README.rdoc
577
559
  require_paths:
578
560
  - lib
579
561
  required_ruby_version: !ruby/object:Gem::Requirement
580
562
  requirements:
581
- - - ">="
563
+ - - '>='
582
564
  - !ruby/object:Gem::Version
583
- segments:
584
- - 0
585
- hash: 2
586
- version: !binary |-
587
- MA==
588
- none: false
565
+ version: '0'
589
566
  required_rubygems_version: !ruby/object:Gem::Requirement
590
567
  requirements:
591
- - - ">="
568
+ - - '>='
592
569
  - !ruby/object:Gem::Version
593
- version: !binary |-
594
- MA==
595
- none: false
570
+ version: '0'
596
571
  requirements: []
597
572
  rubyforge_project: nokogiri
598
- rubygems_version: 1.8.24
573
+ rubygems_version: 2.1.9
599
574
  signing_key:
600
- specification_version: 3
601
- summary: ! "Nokogiri (é\x8b¸) is an HTML, XML, SAX, and Reader parser"
575
+ specification_version: 4
576
+ summary: Nokogiri () is an HTML, XML, SAX, and Reader parser
602
577
  test_files:
603
578
  - test/test_encoding_handler.rb
604
579
  - test/test_reader.rb