nokogiri 1.10.4 → 1.10.10

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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afafe8c2621185ef3907090e6d026e79b2beac99150c1d9ff7f787de5688ef2f
4
- data.tar.gz: ac611e380405040f22636216581ee5bf68656aa30ba04fe7a033e042e357f289
3
+ metadata.gz: 8ea976ad079c6e265a2275365b6572541c675b6815a8cc08b6cdd18e08f86764
4
+ data.tar.gz: 33d11553009bb7563d6594802e0de35f5c950d7df07b828c54b6411f573d4a99
5
5
  SHA512:
6
- metadata.gz: cb33f2e2e18b214ffa615e4f28d5fe44decca81e8052f67c1b7faf79bf16beef76067eef7e3dcd2ec1a804195d5cfdf4b2f769e34474b065384705958a37a4f2
7
- data.tar.gz: 29650939cafd0ff7d136e640cebd34be6658bf9e1b7d9acceb883954e76a00d85641de3813602bcbe1fe22e145e755e6693d8537058cc65bbc89594c43f77173
6
+ metadata.gz: c8b1e1b238c4a0f4354bb7358a31dbf2288cc654313267e65bbbacb996abf28eb7d40122fae3a27f0ae9a589531c6717a0f7be4660412b757a95b15e12661b30
7
+ data.tar.gz: 87769ba4a458792224e910db95258ae447714a0b732e69832d7ab643d798827e27faeafe29936067b4d07affb144dd88f6ab09de47e296c9f67b0bc4093176a8
data/dependencies.yml CHANGED
@@ -1,11 +1,11 @@
1
1
  libxml2:
2
- version: "2.9.9"
3
- sha256: "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871"
2
+ version: "2.9.10"
3
+ sha256: "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f"
4
4
  # manually verified checksum:
5
5
  #
6
- # $ gpg --verify libxml2-2.9.9.tar.gz.asc ports/archives/libxml2-2.9.9.tar.gz
7
- # gpg: Signature made Thu 03 Jan 2019 01:14:47 PM EST
8
- # gpg: using RSA key 15588B26596BEA5D
6
+ # $ gpg --verify libxml2-2.9.10.tar.gz.asc ports/archives/libxml2-2.9.10.tar.gz
7
+ # gpg: Signature made Wed 30 Oct 2019 03:15:42 PM EDT
8
+ # gpg: using RSA key DB46681BB91ADCEA170FA2D415588B26596BEA5D
9
9
  # gpg: Good signature from "Daniel Veillard (Red Hat work email) <veillard@redhat.com>" [unknown]
10
10
  # gpg: aka "Daniel Veillard <Daniel.Veillard@w3.org>" [unknown]
11
11
  # gpg: WARNING: This key is not certified with a trusted signature!
@@ -16,25 +16,26 @@ libxml2:
16
16
  # using this pgp signature:
17
17
  #
18
18
  # -----BEGIN PGP SIGNATURE-----
19
- #
20
- # iQEbBAABAgAGBQJcLlEXAAoJEBVYiyZZa+pd1B8H93xeCYNBLx+eX0xe3qS3ReS/
21
- # YstjkXKUkmDQYwqQ/9Knmv1P6NX64hQL5E1pZX5sXp36giwXXJ5tCK72VRzektzU
22
- # Kpo+M1/QA9feZQs1GmyKaXYzNwTSJnsdKA9nWqTHZ3bzfdhFSZ0czo94vgY/cz5z
23
- # 9P3FIgeldj1vi8p2rjXbArMFQyaxHnve9LdxI8hbudNSeUw/FEV6mjtXrlZ7MXqn
24
- # hmAkah2JwktOStF5tIlddCRqZeUPUX5flBxT95gfskXXlGEhaoGMXcC3izqqJyV2
25
- # sx5nY7fnXdkwfYsgRUXYWmDmbs8DnFjXH9lux9O4OWglLonaRoAqFPcOzE3aCw==
26
- # =4qWg
19
+ #
20
+ # iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl254V4ACgkQFViLJllr
21
+ # 6l0ldAf6Azt4/oKDfMKRd+xaykUrb+34dr2ZRsjRDS1cnelAtL9TCWhE5lOkLI3c
22
+ # 3FyNRaLhOEOOluZmKTJYyzS42JSSHDhxGj14gIeyafOjvRhHG3h1m5GvMmvgKWkd
23
+ # qzxFrVFSG26iWJxMvxIA88t7M+QHb7ff7xR29ETJscewEmAd3LmZITglK02lWeGz
24
+ # LfxfLuakM6RnCUu0dzacJKO0nMOKju+RL/N9bciI/UOhNYEkWqPnzC0GzbvFLqDu
25
+ # rM+OvCSewSTziiejpdrUwYXkY5Ui2+cxUbacLauEr8iRLg7xXKqv27NORE4yeQcS
26
+ # LgIhxG/qSNfihMS6E1ZO5bK2DbGCZQ==
27
+ # =ZNuc
27
28
  # -----END PGP SIGNATURE-----
28
29
  #
29
30
 
30
31
  libxslt:
31
- version: "1.1.33"
32
- sha256: "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8"
32
+ version: "1.1.34"
33
+ sha256: "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f"
33
34
  # manually verified checksum:
34
35
  #
35
- # $ gpg --verify libxslt-1.1.33.tar.gz.asc ports/archives/libxslt-1.1.33.tar.gz
36
- # gpg: Signature made Thu 03 Jan 2019 01:30:49 PM EST
37
- # gpg: using RSA key 15588B26596BEA5D
36
+ # $ gpg --verify ~/Downloads/libxslt-1.1.34.tar.gz.asc ports/archives/libxslt-1.1.34.tar.gz
37
+ # gpg: Signature made Wed 30 Oct 2019 04:02:48 PM EDT
38
+ # gpg: using RSA key DB46681BB91ADCEA170FA2D415588B26596BEA5D
38
39
  # gpg: Good signature from "Daniel Veillard (Red Hat work email) <veillard@redhat.com>" [unknown]
39
40
  # gpg: aka "Daniel Veillard <Daniel.Veillard@w3.org>" [unknown]
40
41
  # gpg: WARNING: This key is not certified with a trusted signature!
@@ -45,14 +46,15 @@ libxslt:
45
46
  # using this pgp signature:
46
47
  #
47
48
  # -----BEGIN PGP SIGNATURE-----
48
- #
49
- # iQEcBAABAgAGBQJcLlTZAAoJEBVYiyZZa+pd9NkIAIf6ei2iSpR/0QOyS71esDq8
50
- # 407PcUXd/yUjDANm4Uvm7kKK+SbbfBxFIPva4g984Noe1zYMfjK3u3iNs6jykySf
51
- # mN5eo2wNCxsZnqjbnsLgQvn5VCQpPInTddTuGUxgqJyvnR7p785L1oA2EStSPMP4
52
- # BGZ9dZGlbreK35WzgrhUi0VN5egJW2fpMsw7rTPvfwK+90gXL0DEm8v3WlA7fCDL
53
- # QsvuPm7jPOXxdt5bYrVP8wpNMTJIGqV6jxh7Vvl6kiGLldUjCyoCh0AGXLror0Gs
54
- # sAMlRKJNodpcCYkIWxzjLt74sUciKNrPLHZlXJcclZMONen1GWnVDcv83Tt9n6w=
55
- # =iAm8
49
+ #
50
+ # iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl257GgACgkQFViLJllr
51
+ # 6l2vVggAjJEHmASiS56SxhPOsGqbfBihM66gQFoIymQfMu2430N1GSTkLsfbkJO8
52
+ # 8yBX11NjzK/m9uxwshMW3rVCU7EpL3PUimN3reXdPiQj9hAOAWF1V3BZNevbQC2E
53
+ # FCIraioukaidf8sjUG4/sGpK/gOcP/3hYoN0HUoBigCNJjDqhijxM3M3GJJtCASp
54
+ # jL4CQbs2OmxW8ixOZbuWEESvFFHUgYRsdZjRVN+GRfSOvJjxypurmYwQ3RjO7JxL
55
+ # 2FY8qKQ+xpeID8NV8F5OUEvWBjk1QS133VTqBZNlONdnEtV/og6jNu5k0O/Kvhup
56
+ # caR+8TMErOcLr9OgDklO6DoYyAsf9Q==
57
+ # =g4i4
56
58
  # -----END PGP SIGNATURE-----
57
59
  #
58
60
 
@@ -133,6 +133,31 @@ static VALUE read_memory(VALUE klass, VALUE content)
133
133
  return rb_schema;
134
134
  }
135
135
 
136
+ /* Schema creation will remove and deallocate "blank" nodes.
137
+ * If those blank nodes have been exposed to Ruby, they could get freed
138
+ * out from under the VALUE pointer. This function checks to see if any of
139
+ * those nodes have been exposed to Ruby, and if so we should raise an exception.
140
+ */
141
+ static int has_blank_nodes_p(VALUE cache)
142
+ {
143
+ long i;
144
+
145
+ if (NIL_P(cache)) {
146
+ return 0;
147
+ }
148
+
149
+ for (i = 0; i < RARRAY_LEN(cache); i++) {
150
+ xmlNodePtr node;
151
+ VALUE element = rb_ary_entry(cache, i);
152
+ Data_Get_Struct(element, xmlNode, node);
153
+ if (xmlIsBlankNode(node)) {
154
+ return 1;
155
+ }
156
+ }
157
+
158
+ return 0;
159
+ }
160
+
136
161
  /*
137
162
  * call-seq:
138
163
  * from_document(doc)
@@ -152,6 +177,10 @@ static VALUE from_document(VALUE klass, VALUE document)
152
177
  /* In case someone passes us a node. ugh. */
153
178
  doc = doc->doc;
154
179
 
180
+ if (has_blank_nodes_p(DOC_NODE_CACHE(doc))) {
181
+ rb_raise(rb_eArgError, "Creating a schema from a document that has blank nodes exposed to Ruby is dangerous");
182
+ }
183
+
155
184
  ctx = xmlSchemaNewDocParserCtxt(doc);
156
185
 
157
186
  errors = rb_ary_new();
@@ -1,6 +1,6 @@
1
1
  module Nokogiri
2
2
  # The version of Nokogiri you are using
3
- VERSION = "1.10.4"
3
+ VERSION = "1.10.10"
4
4
 
5
5
  class VersionInfo # :nodoc:
6
6
  def jruby?
@@ -0,0 +1,25 @@
1
+ From 0b6ae484761fa01242fe8b67b54e3eb2d282d83d Mon Sep 17 00:00:00 2001
2
+ From: Mike Dalessio <mike.dalessio@gmail.com>
3
+ Date: Wed, 4 Dec 2019 08:43:51 -0500
4
+ Subject: [PATCH] fix libxml2.la's path
5
+
6
+ ---
7
+ Makefile.in | 2 +-
8
+ 1 file changed, 1 insertion(+), 1 deletion(-)
9
+
10
+ diff --git a/Makefile.in b/Makefile.in
11
+ index cf96d41..1372d8b 100644
12
+ --- a/Makefile.in
13
+ +++ b/Makefile.in
14
+ @@ -1057,7 +1057,7 @@ clean-noinstLTLIBRARIES:
15
+ rm -f $${locs}; \
16
+ }
17
+
18
+ -libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) $(EXTRA_libxml2_la_DEPENDENCIES)
19
+ +$(top_builddir)/libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) $(EXTRA_libxml2_la_DEPENDENCIES)
20
+ $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
21
+
22
+ testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES) $(EXTRA_testdso_la_DEPENDENCIES)
23
+ --
24
+ 2.17.1
25
+
@@ -0,0 +1,32 @@
1
+ From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001
2
+ From: Zhipeng Xie <xiezhipeng1@huawei.com>
3
+ Date: Thu, 12 Dec 2019 17:30:55 +0800
4
+ Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities
5
+
6
+ When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef
7
+ return NULL which cause a infinite loop in xmlStringLenDecodeEntities
8
+
9
+ Found with libFuzzer.
10
+
11
+ Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
12
+ ---
13
+ parser.c | 3 ++-
14
+ 1 file changed, 2 insertions(+), 1 deletion(-)
15
+
16
+ diff --git a/parser.c b/parser.c
17
+ index d1c3196..a34bb6c 100644
18
+ --- a/parser.c
19
+ +++ b/parser.c
20
+ @@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
21
+ else
22
+ c = 0;
23
+ while ((c != 0) && (c != end) && /* non input consuming loop */
24
+ - (c != end2) && (c != end3)) {
25
+ + (c != end2) && (c != end3) &&
26
+ + (ctxt->instate != XML_PARSER_EOF)) {
27
+
28
+ if (c == 0) break;
29
+ if ((c == '&') && (str[1] == '#')) {
30
+ --
31
+ 2.17.1
32
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.4
4
+ version: 1.10.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Patterson
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2019-08-11 00:00:00.000000000 Z
17
+ date: 2020-07-06 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: mini_portile2
@@ -148,28 +148,28 @@ dependencies:
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: 1.0.3
151
+ version: 1.1.0
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: 1.0.3
158
+ version: 1.1.0
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: rake-compiler-dock
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 0.7.0
165
+ version: '1.0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 0.7.0
172
+ version: '1.0'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rexical
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -238,14 +238,14 @@ dependencies:
238
238
  requirements:
239
239
  - - "~>"
240
240
  - !ruby/object:Gem::Version
241
- version: '3.18'
241
+ version: '3.22'
242
242
  type: :development
243
243
  prerelease: false
244
244
  version_requirements: !ruby/object:Gem::Requirement
245
245
  requirements:
246
246
  - - "~>"
247
247
  - !ruby/object:Gem::Version
248
- version: '3.18'
248
+ version: '3.22'
249
249
  description: |-
250
250
  Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among
251
251
  Nokogiri's many features is the ability to search documents via XPath
@@ -442,13 +442,19 @@ files:
442
442
  - patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
443
443
  - patches/libxml2/0002-Remove-script-macro-support.patch
444
444
  - patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch
445
- - patches/libxslt/0001-Fix-security-framework-bypass.patch
446
- - ports/archives/libxml2-2.9.9.tar.gz
447
- - ports/archives/libxslt-1.1.33.tar.gz
448
- homepage:
445
+ - patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch
446
+ - patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch
447
+ - ports/archives/libxml2-2.9.10.tar.gz
448
+ - ports/archives/libxslt-1.1.34.tar.gz
449
+ homepage: https://nokogiri.org
449
450
  licenses:
450
451
  - MIT
451
- metadata: {}
452
+ metadata:
453
+ homepage_uri: https://nokogiri.org
454
+ bug_tracker_uri: https://github.com/sparklemotion/nokogiri/issues
455
+ documentation_uri: https://nokogiri.org/rdoc/index.html
456
+ changelog_uri: https://nokogiri.org/CHANGELOG.html
457
+ source_code_uri: https://github.com/sparklemotion/nokogiri
452
458
  post_install_message:
453
459
  rdoc_options:
454
460
  - "--main"
@@ -466,7 +472,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
466
472
  - !ruby/object:Gem::Version
467
473
  version: '0'
468
474
  requirements: []
469
- rubygems_version: 3.0.3
475
+ rubygems_version: 3.0.8
470
476
  signing_key:
471
477
  specification_version: 4
472
478
  summary: Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser
@@ -1,120 +0,0 @@
1
- From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001
2
- From: Nick Wellnhofer <wellnhofer@aevum.de>
3
- Date: Sun, 24 Mar 2019 09:51:39 +0100
4
- Subject: [PATCH] Fix security framework bypass
5
-
6
- xsltCheckRead and xsltCheckWrite return -1 in case of error but callers
7
- don't check for this condition and allow access. With a specially
8
- crafted URL, xsltCheckRead could be tricked into returning an error
9
- because of a supposedly invalid URL that would still be loaded
10
- succesfully later on.
11
-
12
- Fixes #12.
13
-
14
- Thanks to Felix Wilhelm for the report.
15
- ---
16
- libxslt/documents.c | 18 ++++++++++--------
17
- libxslt/imports.c | 9 +++++----
18
- libxslt/transform.c | 9 +++++----
19
- libxslt/xslt.c | 9 +++++----
20
- 4 files changed, 25 insertions(+), 20 deletions(-)
21
-
22
- diff --git a/libxslt/documents.c b/libxslt/documents.c
23
- index 3f3a731..4aad11b 100644
24
- --- a/libxslt/documents.c
25
- +++ b/libxslt/documents.c
26
- @@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
27
- int res;
28
-
29
- res = xsltCheckRead(ctxt->sec, ctxt, URI);
30
- - if (res == 0) {
31
- - xsltTransformError(ctxt, NULL, NULL,
32
- - "xsltLoadDocument: read rights for %s denied\n",
33
- - URI);
34
- + if (res <= 0) {
35
- + if (res == 0)
36
- + xsltTransformError(ctxt, NULL, NULL,
37
- + "xsltLoadDocument: read rights for %s denied\n",
38
- + URI);
39
- return(NULL);
40
- }
41
- }
42
- @@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
43
- int res;
44
-
45
- res = xsltCheckRead(sec, NULL, URI);
46
- - if (res == 0) {
47
- - xsltTransformError(NULL, NULL, NULL,
48
- - "xsltLoadStyleDocument: read rights for %s denied\n",
49
- - URI);
50
- + if (res <= 0) {
51
- + if (res == 0)
52
- + xsltTransformError(NULL, NULL, NULL,
53
- + "xsltLoadStyleDocument: read rights for %s denied\n",
54
- + URI);
55
- return(NULL);
56
- }
57
- }
58
- diff --git a/libxslt/imports.c b/libxslt/imports.c
59
- index 874870c..3783b24 100644
60
- --- a/libxslt/imports.c
61
- +++ b/libxslt/imports.c
62
- @@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
63
- int secres;
64
-
65
- secres = xsltCheckRead(sec, NULL, URI);
66
- - if (secres == 0) {
67
- - xsltTransformError(NULL, NULL, NULL,
68
- - "xsl:import: read rights for %s denied\n",
69
- - URI);
70
- + if (secres <= 0) {
71
- + if (secres == 0)
72
- + xsltTransformError(NULL, NULL, NULL,
73
- + "xsl:import: read rights for %s denied\n",
74
- + URI);
75
- goto error;
76
- }
77
- }
78
- diff --git a/libxslt/transform.c b/libxslt/transform.c
79
- index 1379391..0636dbd 100644
80
- --- a/libxslt/transform.c
81
- +++ b/libxslt/transform.c
82
- @@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
83
- */
84
- if (ctxt->sec != NULL) {
85
- ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
86
- - if (ret == 0) {
87
- - xsltTransformError(ctxt, NULL, inst,
88
- - "xsltDocumentElem: write rights for %s denied\n",
89
- - filename);
90
- + if (ret <= 0) {
91
- + if (ret == 0)
92
- + xsltTransformError(ctxt, NULL, inst,
93
- + "xsltDocumentElem: write rights for %s denied\n",
94
- + filename);
95
- xmlFree(URL);
96
- xmlFree(filename);
97
- return;
98
- diff --git a/libxslt/xslt.c b/libxslt/xslt.c
99
- index 780a5ad..a234eb7 100644
100
- --- a/libxslt/xslt.c
101
- +++ b/libxslt/xslt.c
102
- @@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) {
103
- int res;
104
-
105
- res = xsltCheckRead(sec, NULL, filename);
106
- - if (res == 0) {
107
- - xsltTransformError(NULL, NULL, NULL,
108
- - "xsltParseStylesheetFile: read rights for %s denied\n",
109
- - filename);
110
- + if (res <= 0) {
111
- + if (res == 0)
112
- + xsltTransformError(NULL, NULL, NULL,
113
- + "xsltParseStylesheetFile: read rights for %s denied\n",
114
- + filename);
115
- return(NULL);
116
- }
117
- }
118
- --
119
- 2.17.1
120
-
Binary file
Binary file