nokogiri 1.6.1 → 1.6.2.rc1

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.

Files changed (93) hide show
  1. checksums.yaml +7 -7
  2. data/.editorconfig +17 -0
  3. data/.travis.yml +4 -6
  4. data/CHANGELOG.ja.rdoc +37 -8
  5. data/CHANGELOG.rdoc +48 -3
  6. data/Gemfile +3 -3
  7. data/Manifest.txt +57 -1
  8. data/README.ja.rdoc +22 -16
  9. data/README.rdoc +24 -19
  10. data/ROADMAP.md +1 -2
  11. data/Rakefile +161 -58
  12. data/build_all +56 -31
  13. data/dependencies.yml +3 -3
  14. data/ext/nokogiri/extconf.rb +379 -121
  15. data/ext/nokogiri/html_document.c +2 -2
  16. data/ext/nokogiri/nokogiri.c +6 -1
  17. data/ext/nokogiri/xml_document.c +5 -4
  18. data/ext/nokogiri/xml_node.c +11 -4
  19. data/ext/nokogiri/xml_reader.c +1 -1
  20. data/ext/nokogiri/xml_sax_parser_context.c +40 -0
  21. data/ext/nokogiri/xml_syntax_error.c +10 -5
  22. data/ext/nokogiri/xml_syntax_error.h +1 -1
  23. data/ext/nokogiri/xml_xpath_context.c +2 -14
  24. data/ext/nokogiri/xslt_stylesheet.c +1 -1
  25. data/lib/nokogiri.rb +31 -22
  26. data/lib/nokogiri/css/node.rb +0 -50
  27. data/lib/nokogiri/css/parser.rb +213 -218
  28. data/lib/nokogiri/css/parser.y +21 -30
  29. data/lib/nokogiri/css/xpath_visitor.rb +62 -14
  30. data/lib/nokogiri/html/document.rb +97 -18
  31. data/lib/nokogiri/html/sax/parser.rb +2 -2
  32. data/lib/nokogiri/version.rb +1 -1
  33. data/lib/nokogiri/xml/builder.rb +1 -1
  34. data/lib/nokogiri/xml/document.rb +2 -2
  35. data/lib/nokogiri/xml/dtd.rb +10 -0
  36. data/lib/nokogiri/xml/node.rb +26 -1
  37. data/lib/nokogiri/xml/sax/parser.rb +1 -1
  38. data/ports/archives/libxslt-1.1.28.tar.gz +0 -0
  39. data/ports/patches/libxml2/0001-Fix-parser-local-buffers-size-problems.patch +265 -0
  40. data/ports/patches/libxml2/0002-Fix-entities-local-buffers-size-problems.patch +102 -0
  41. data/ports/patches/libxml2/0003-Fix-an-error-in-previous-commit.patch +26 -0
  42. data/ports/patches/libxml2/0004-Fix-potential-out-of-bound-access.patch +26 -0
  43. data/ports/patches/libxml2/0005-Detect-excessive-entities-expansion-upon-replacement.patch +158 -0
  44. data/ports/patches/libxml2/0006-Do-not-fetch-external-parsed-entities.patch +78 -0
  45. data/ports/patches/libxml2/0007-Enforce-XML_PARSER_EOF-state-handling-through-the-pa.patch +480 -0
  46. data/ports/patches/libxml2/0008-Improve-handling-of-xmlStopParser.patch +315 -0
  47. data/ports/patches/libxml2/0009-Fix-a-couple-of-return-without-value.patch +37 -0
  48. data/ports/patches/libxslt/0001-Adding-doc-update-related-to-1.1.28.patch +222 -0
  49. data/ports/patches/libxslt/0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch +53 -0
  50. data/ports/patches/libxslt/0003-Initialize-pseudo-random-number-generator-with-curre.patch +60 -0
  51. data/ports/patches/libxslt/0004-EXSLT-function-str-replace-is-broken-as-is.patch +42 -0
  52. data/ports/patches/libxslt/0006-Fix-str-padding-to-work-with-UTF-8-strings.patch +164 -0
  53. data/ports/patches/libxslt/0007-Separate-function-for-predicate-matching-in-patterns.patch +587 -0
  54. data/ports/patches/libxslt/0008-Fix-direct-pattern-matching.patch +80 -0
  55. data/ports/patches/libxslt/0009-Fix-certain-patterns-with-predicates.patch +185 -0
  56. data/ports/patches/libxslt/0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch +126 -0
  57. data/ports/patches/libxslt/0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch +25 -0
  58. data/ports/patches/libxslt/0014-Fix-for-bug-436589.patch +43 -0
  59. data/ports/patches/libxslt/0015-Fix-mkdir-for-mingw.patch +41 -0
  60. data/suppressions/README.txt +1 -0
  61. data/suppressions/nokogiri_ree-1.8.7.358.supp +61 -0
  62. data/suppressions/nokogiri_ruby-1.8.7.370.supp +0 -0
  63. data/suppressions/nokogiri_ruby-1.9.2.320.supp +28 -0
  64. data/suppressions/nokogiri_ruby-1.9.3.327.supp +28 -0
  65. data/test/css/test_nthiness.rb +65 -2
  66. data/test/css/test_parser.rb +27 -10
  67. data/test/css/test_tokenizer.rb +1 -1
  68. data/test/css/test_xpath_visitor.rb +6 -1
  69. data/test/files/atom.xml +344 -0
  70. data/test/files/shift_jis_no_charset.html +9 -0
  71. data/test/helper.rb +10 -0
  72. data/test/html/test_document.rb +74 -7
  73. data/test/html/test_document_encoding.rb +10 -0
  74. data/test/html/test_document_fragment.rb +3 -3
  75. data/test/namespaces/test_namespaces_in_cloned_doc.rb +31 -0
  76. data/test/test_nokogiri.rb +6 -0
  77. data/test/test_reader.rb +7 -4
  78. data/test/test_xslt_transforms.rb +25 -0
  79. data/test/xml/sax/test_parser.rb +16 -0
  80. data/test/xml/sax/test_parser_context.rb +9 -0
  81. data/test/xml/test_builder.rb +9 -0
  82. data/test/xml/test_c14n.rb +12 -2
  83. data/test/xml/test_document.rb +66 -0
  84. data/test/xml/test_document_fragment.rb +5 -0
  85. data/test/xml/test_dtd.rb +84 -0
  86. data/test/xml/test_entity_reference.rb +3 -3
  87. data/test/xml/test_node.rb +21 -3
  88. data/test/xml/test_node_attributes.rb +17 -0
  89. data/test/xml/test_schema.rb +26 -0
  90. data/test/xml/test_xpath.rb +81 -0
  91. metadata +254 -174
  92. data/ports/archives/libxslt-1.1.26.tar.gz +0 -0
  93. data/tasks/cross_compile.rb +0 -134
@@ -0,0 +1,315 @@
1
+ From ebf9856a335f75d74aea32f2c05fadcad5ce42b1 Mon Sep 17 00:00:00 2001
2
+ From: Daniel Veillard <veillard@redhat.com>
3
+ Date: Thu, 11 Apr 2013 15:54:51 +0800
4
+ Subject: [PATCH 8/9] Improve handling of xmlStopParser()
5
+
6
+ Add a specific parser error
7
+ Try to stop parsing as quickly as possible
8
+
9
+ [Origin: e50ba8164eee06461c73cd8abb9b46aa0be81869]
10
+ ---
11
+ include/libxml/xmlerror.h | 1 +
12
+ parser.c | 72 +++++++++++++++++++++++++++++++++++++++++++----
13
+ 2 files changed, 67 insertions(+), 6 deletions(-)
14
+
15
+ diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h
16
+ index e924211..aaf95ca 100644
17
+ --- a/include/libxml/xmlerror.h
18
+ +++ b/include/libxml/xmlerror.h
19
+ @@ -205,6 +205,7 @@ typedef enum {
20
+ XML_WAR_ENTITY_REDEFINED, /* 107 */
21
+ XML_ERR_UNKNOWN_VERSION, /* 108 */
22
+ XML_ERR_VERSION_MISMATCH, /* 109 */
23
+ + XML_ERR_USER_STOP, /* 111 */
24
+ XML_NS_ERR_XML_NAMESPACE = 200,
25
+ XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
26
+ XML_NS_ERR_QNAME, /* 202 */
27
+ diff --git a/parser.c b/parser.c
28
+ index 409cde8..7de8111 100644
29
+ --- a/parser.c
30
+ +++ b/parser.c
31
+ @@ -2520,6 +2520,8 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
32
+ NEXT;
33
+ if ((ctxt->sax != NULL) && (ctxt->sax->getParameterEntity != NULL))
34
+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
35
+ + if (ctxt->instate == XML_PARSER_EOF)
36
+ + return;
37
+ if (entity == NULL) {
38
+
39
+ /*
40
+ @@ -4860,7 +4862,8 @@ get_more:
41
+ }
42
+ if (buf != NULL)
43
+ xmlFree(buf);
44
+ - ctxt->instate = state;
45
+ + if (ctxt->instate != XML_PARSER_EOF)
46
+ + ctxt->instate = state;
47
+ return;
48
+ }
49
+ if (buf != NULL) {
50
+ @@ -5432,6 +5435,8 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
51
+ }
52
+ }
53
+ }
54
+ + if (ctxt->instate == XML_PARSER_EOF)
55
+ + return;
56
+ SKIP_BLANKS;
57
+ if (RAW != '>') {
58
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
59
+ @@ -7421,6 +7426,8 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
60
+ ent = xmlSAX2GetEntity(ctxt, name);
61
+ }
62
+ }
63
+ + if (ctxt->instate == XML_PARSER_EOF)
64
+ + return(NULL);
65
+ /*
66
+ * [ WFC: Entity Declared ]
67
+ * In a document without any DTD, a document with only an
68
+ @@ -7611,6 +7618,10 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
69
+ ent = xmlSAX2GetEntity(ctxt, name);
70
+ }
71
+ }
72
+ + if (ctxt->instate == XML_PARSER_EOF) {
73
+ + xmlFree(name);
74
+ + return;
75
+ + }
76
+
77
+ /*
78
+ * [ WFC: Entity Declared ]
79
+ @@ -7772,8 +7783,9 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
80
+ */
81
+ if ((ctxt->sax != NULL) &&
82
+ (ctxt->sax->getParameterEntity != NULL))
83
+ - entity = ctxt->sax->getParameterEntity(ctxt->userData,
84
+ - name);
85
+ + entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
86
+ + if (ctxt->instate == XML_PARSER_EOF)
87
+ + return;
88
+ if (entity == NULL) {
89
+ /*
90
+ * [ WFC: Entity Declared ]
91
+ @@ -8001,8 +8013,11 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
92
+ */
93
+ if ((ctxt->sax != NULL) &&
94
+ (ctxt->sax->getParameterEntity != NULL))
95
+ - entity = ctxt->sax->getParameterEntity(ctxt->userData,
96
+ - name);
97
+ + entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
98
+ + if (ctxt->instate == XML_PARSER_EOF) {
99
+ + xmlFree(name);
100
+ + return;
101
+ + }
102
+ if (entity == NULL) {
103
+ /*
104
+ * [ WFC: Entity Declared ]
105
+ @@ -8104,6 +8119,8 @@ xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt) {
106
+ if ((ctxt->sax != NULL) && (ctxt->sax->internalSubset != NULL) &&
107
+ (!ctxt->disableSAX))
108
+ ctxt->sax->internalSubset(ctxt->userData, name, ExternalID, URI);
109
+ + if (ctxt->instate == XML_PARSER_EOF)
110
+ + return;
111
+
112
+ /*
113
+ * Is there any internal subset declarations ?
114
+ @@ -9819,6 +9836,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
115
+ * Parse the content of the element:
116
+ */
117
+ xmlParseContent(ctxt);
118
+ + if (ctxt->instate == XML_PARSER_EOF)
119
+ + return;
120
+ if (!IS_BYTE_CHAR(RAW)) {
121
+ xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED,
122
+ "Premature end of data in tag %s line %d\n",
123
+ @@ -10391,6 +10410,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
124
+ */
125
+ if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
126
+ ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
127
+ + if (ctxt->instate == XML_PARSER_EOF)
128
+ + return(-1);
129
+
130
+ if ((ctxt->encoding == NULL) &&
131
+ ((ctxt->input->end - ctxt->input->cur) >= 4)) {
132
+ @@ -10442,6 +10463,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
133
+ }
134
+ if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
135
+ ctxt->sax->startDocument(ctxt->userData);
136
+ + if (ctxt->instate == XML_PARSER_EOF)
137
+ + return(-1);
138
+
139
+ /*
140
+ * The Misc part of the Prolog
141
+ @@ -10461,6 +10484,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
142
+ if (RAW == '[') {
143
+ ctxt->instate = XML_PARSER_DTD;
144
+ xmlParseInternalSubset(ctxt);
145
+ + if (ctxt->instate == XML_PARSER_EOF)
146
+ + return(-1);
147
+ }
148
+
149
+ /*
150
+ @@ -10471,6 +10496,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
151
+ (!ctxt->disableSAX))
152
+ ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName,
153
+ ctxt->extSubSystem, ctxt->extSubURI);
154
+ + if (ctxt->instate == XML_PARSER_EOF)
155
+ + return(-1);
156
+ ctxt->inSubset = 0;
157
+
158
+ xmlCleanSpecialAttr(ctxt);
159
+ @@ -10611,6 +10638,8 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
160
+ }
161
+ if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
162
+ ctxt->sax->startDocument(ctxt->userData);
163
+ + if (ctxt->instate == XML_PARSER_EOF)
164
+ + return(-1);
165
+
166
+ /*
167
+ * Doing validity checking on chunk doesn't make sense
168
+ @@ -10621,6 +10650,8 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
169
+ ctxt->depth = 0;
170
+
171
+ xmlParseContent(ctxt);
172
+ + if (ctxt->instate == XML_PARSER_EOF)
173
+ + return(-1);
174
+
175
+ if ((RAW == '<') && (NXT(1) == '/')) {
176
+ xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
177
+ @@ -10928,7 +10959,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
178
+ }
179
+ xmlParseGetLasts(ctxt, &lastlt, &lastgt);
180
+
181
+ - while (1) {
182
+ + while (ctxt->instate != XML_PARSER_EOF) {
183
+ if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
184
+ return(0);
185
+
186
+ @@ -11168,6 +11199,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
187
+ ctxt->sax->endElement(ctxt->userData, name);
188
+ #endif /* LIBXML_SAX1_ENABLED */
189
+ }
190
+ + if (ctxt->instate == XML_PARSER_EOF)
191
+ + goto done;
192
+ spacePop(ctxt);
193
+ if (ctxt->nameNr == 0) {
194
+ ctxt->instate = XML_PARSER_EPILOG;
195
+ @@ -11349,6 +11382,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
196
+ ctxt->sax->characters(ctxt->userData,
197
+ ctxt->input->cur, tmp);
198
+ }
199
+ + if (ctxt->instate == XML_PARSER_EOF)
200
+ + goto done;
201
+ SKIPL(tmp);
202
+ ctxt->checkIndex = 0;
203
+ }
204
+ @@ -11384,6 +11419,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
205
+ ctxt->sax->characters(ctxt->userData,
206
+ ctxt->input->cur, base);
207
+ }
208
+ + if (ctxt->instate == XML_PARSER_EOF)
209
+ + goto done;
210
+ SKIPL(base + 3);
211
+ ctxt->checkIndex = 0;
212
+ ctxt->instate = XML_PARSER_CONTENT;
213
+ @@ -11415,6 +11452,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
214
+ "PP: Parsing PI\n");
215
+ #endif
216
+ xmlParsePI(ctxt);
217
+ + if (ctxt->instate == XML_PARSER_EOF)
218
+ + goto done;
219
+ ctxt->checkIndex = 0;
220
+ } else if ((cur == '<') && (next == '!') &&
221
+ (ctxt->input->cur[2] == '-') &&
222
+ @@ -11427,6 +11466,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
223
+ "PP: Parsing Comment\n");
224
+ #endif
225
+ xmlParseComment(ctxt);
226
+ + if (ctxt->instate == XML_PARSER_EOF)
227
+ + goto done;
228
+ ctxt->instate = XML_PARSER_MISC;
229
+ ctxt->checkIndex = 0;
230
+ } else if ((cur == '<') && (next == '!') &&
231
+ @@ -11446,6 +11487,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
232
+ #endif
233
+ ctxt->inSubset = 1;
234
+ xmlParseDocTypeDecl(ctxt);
235
+ + if (ctxt->instate == XML_PARSER_EOF)
236
+ + goto done;
237
+ if (RAW == '[') {
238
+ ctxt->instate = XML_PARSER_DTD;
239
+ #ifdef DEBUG_PUSH
240
+ @@ -11502,6 +11545,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
241
+ "PP: Parsing PI\n");
242
+ #endif
243
+ xmlParsePI(ctxt);
244
+ + if (ctxt->instate == XML_PARSER_EOF)
245
+ + goto done;
246
+ } else if ((cur == '<') && (next == '!') &&
247
+ (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
248
+ if ((!terminate) &&
249
+ @@ -11512,6 +11557,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
250
+ "PP: Parsing Comment\n");
251
+ #endif
252
+ xmlParseComment(ctxt);
253
+ + if (ctxt->instate == XML_PARSER_EOF)
254
+ + goto done;
255
+ ctxt->instate = XML_PARSER_PROLOG;
256
+ } else if ((cur == '<') && (next == '!') &&
257
+ (avail < 4)) {
258
+ @@ -11546,6 +11593,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
259
+ "PP: Parsing PI\n");
260
+ #endif
261
+ xmlParsePI(ctxt);
262
+ + if (ctxt->instate == XML_PARSER_EOF)
263
+ + goto done;
264
+ ctxt->instate = XML_PARSER_EPILOG;
265
+ } else if ((cur == '<') && (next == '!') &&
266
+ (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
267
+ @@ -11557,6 +11606,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
268
+ "PP: Parsing Comment\n");
269
+ #endif
270
+ xmlParseComment(ctxt);
271
+ + if (ctxt->instate == XML_PARSER_EOF)
272
+ + goto done;
273
+ ctxt->instate = XML_PARSER_EPILOG;
274
+ } else if ((cur == '<') && (next == '!') &&
275
+ (avail < 4)) {
276
+ @@ -11685,6 +11736,8 @@ not_end_of_int_subset:
277
+
278
+ found_end_int_subset:
279
+ xmlParseInternalSubset(ctxt);
280
+ + if (ctxt->instate == XML_PARSER_EOF)
281
+ + goto done;
282
+ ctxt->inSubset = 2;
283
+ if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
284
+ (ctxt->sax->externalSubset != NULL))
285
+ @@ -11692,6 +11745,8 @@ found_end_int_subset:
286
+ ctxt->extSubSystem, ctxt->extSubURI);
287
+ ctxt->inSubset = 0;
288
+ xmlCleanSpecialAttr(ctxt);
289
+ + if (ctxt->instate == XML_PARSER_EOF)
290
+ + goto done;
291
+ ctxt->instate = XML_PARSER_PROLOG;
292
+ ctxt->checkIndex = 0;
293
+ #ifdef DEBUG_PUSH
294
+ @@ -11902,6 +11957,10 @@ xmldecl_done:
295
+ xmlParseTryOrFinish(ctxt, 0);
296
+ else
297
+ xmlParseTryOrFinish(ctxt, terminate);
298
+ +
299
+ + if (ctxt->instate == XML_PARSER_EOF)
300
+ + return(ctxt->errNo);
301
+ +
302
+ if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
303
+ return(ctxt->errNo);
304
+
305
+ @@ -12095,6 +12154,7 @@ xmlStopParser(xmlParserCtxtPtr ctxt) {
306
+ if (ctxt == NULL)
307
+ return;
308
+ ctxt->instate = XML_PARSER_EOF;
309
+ + ctxt->errNo = XML_ERR_USER_STOP;
310
+ ctxt->disableSAX = 1;
311
+ if (ctxt->input != NULL) {
312
+ ctxt->input->cur = BAD_CAST"";
313
+ --
314
+ 1.8.4.1
315
+
@@ -0,0 +1,37 @@
1
+ From e86d141d88213af6c7e0bc4b607f879e1e89e406 Mon Sep 17 00:00:00 2001
2
+ From: =?UTF-8?q?J=C3=BCri=20Aedla?= <aedla@chromium.org>
3
+ Date: Tue, 16 Apr 2013 22:00:13 +0800
4
+ Subject: [PATCH 9/9] Fix a couple of return without value
5
+
6
+ Error introduced in previous commit !
7
+
8
+ [Origin: 9ca816b3a64e7b1bada7baa2cbc09e8937b38215]
9
+ ---
10
+ parser.c | 4 ++--
11
+ 1 file changed, 2 insertions(+), 2 deletions(-)
12
+
13
+ diff --git a/parser.c b/parser.c
14
+ index 7de8111..1b62bc4 100644
15
+ --- a/parser.c
16
+ +++ b/parser.c
17
+ @@ -7620,7 +7620,7 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
18
+ }
19
+ if (ctxt->instate == XML_PARSER_EOF) {
20
+ xmlFree(name);
21
+ - return;
22
+ + return(NULL);
23
+ }
24
+
25
+ /*
26
+ @@ -8016,7 +8016,7 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
27
+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
28
+ if (ctxt->instate == XML_PARSER_EOF) {
29
+ xmlFree(name);
30
+ - return;
31
+ + return(NULL);
32
+ }
33
+ if (entity == NULL) {
34
+ /*
35
+ --
36
+ 1.8.4.1
37
+
@@ -0,0 +1,222 @@
1
+ From eb193589a1ff12b4ef23027d5cfed5609f8c0d11 Mon Sep 17 00:00:00 2001
2
+ From: Daniel Veillard <veillard@redhat.com>
3
+ Date: Wed, 21 Nov 2012 15:36:11 +0800
4
+ Subject: [PATCH 01/14] Adding doc update related to 1.1.28
5
+
6
+ ---
7
+ NEWS | 23 +++++++++++++++
8
+ doc/libxslt.xsa | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
9
+ doc/news.html | 25 ++++++++++++++++-
10
+ doc/xslt.html | 25 +++++++++++++++++
11
+ 4 files changed, 152 insertions(+), 8 deletions(-)
12
+
13
+ diff --git a/NEWS b/NEWS
14
+ index cbc1c5e..ff65b6a 100644
15
+ --- a/NEWS
16
+ +++ b/NEWS
17
+ @@ -8,6 +8,29 @@ See the git page at
18
+ http://git.gnome.org/browse/libxslt/
19
+
20
+ to get a description of the recent commits.Those are the public releases made:
21
+ +1.1.28: Nov 21 2012:
22
+ + - Portability:
23
+ + Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),
24
+ + configure should be more careful with linker script (Igor Pashev),
25
+ + add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)
26
+ +
27
+ + - Bug fixes:
28
+ + Fix generate-id() to avoid generating the same ID (Stewart Brodie),
29
+ + Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),
30
+ + Crash when passing an uninitialized variable to document() (Nick Wellnhofer),
31
+ + Add missing test docs to EXTRA_DIST (Nick Wellnhofer),
32
+ + Fix regression: Default namespace not correctly used (Nick Wellnhofer)
33
+ +
34
+ + - Cleanups:
35
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),
36
+ + autogen.sh cleanup (Daniel Richard),
37
+ + consistent use of xslt processor (Roumen Petrov),
38
+ + Add object files in tests/plugins to .gitignore (Nick Wellnhofer),
39
+ + Fix error on bug-165 regression test (Daniel Veillard),
40
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),
41
+ +
42
+ +
43
+ +
44
+ 1.1.27: Sep 12 2012:
45
+ - Portability:
46
+ xincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED (Michael Bonfils),
47
+ diff --git a/doc/libxslt.xsa b/doc/libxslt.xsa
48
+ index ad3aaf2..04d8c0d 100644
49
+ --- a/doc/libxslt.xsa
50
+ +++ b/doc/libxslt.xsa
51
+ @@ -8,16 +8,89 @@
52
+ </vendor>
53
+ <product id="libxslt">
54
+ <name>libxslt</name>
55
+ - <version>1.1.26</version>
56
+ - <last-release> Sep 24 2009</last-release>
57
+ + <version>1.1.27</version>
58
+ + <last-release> Sep 12 2012</last-release>
59
+ <info-url>http://xmlsoft.org/XSLT/</info-url>
60
+ - <changes> - Improvement:
61
+ - Add xsltProcessOneNode to exported symbols for lxml (Daniel Veillard)
62
+ + <changes> - Portability:
63
+ + xincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED (Michael Bonfils),
64
+ + Portability fix for testThreads.c (IlyaS),
65
+ + FreeBSD portability fixes (Pedro F. Giffuni),
66
+ + check for gmtime - on mingw* hosts will enable date-time function (Roumen Petrov),
67
+ + use only native crypto-API for mingw* hosts (Roumen Petrov),
68
+ + autogen: Only check for libtoolize (Colin Walters),
69
+ + minimal mingw support (Roumen Petrov),
70
+ + configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
71
+ + Fix a small out of tree compilation issue (Hao Hu),
72
+ + Fix python generator to not use deprecated xmllib (Daniel Veillard),
73
+ + link python module with python library (Frederic Crozat)
74
+ +
75
+ + - Documentation:
76
+ + Tiny doc improvement (Daniel Veillard),
77
+ + Various documentation fixes for docs on internals (C. M. Sperberg-McQueen)
78
+
79
+ - Bug fixes:
80
+ - Fix an idness generation problem (Daniel Veillard),
81
+ - 595612 Try to fix some locking problems (Daniel Veillard),
82
+ - Fix a crash on misformed imported stylesheets (Daniel Veillard)
83
+ + Report errors on variable use in key (Daniel Veillard),
84
+ + The XSLT namespace string is a constant one (Daniel Veillard),
85
+ + Fix handling of names in xsl:attribute (Nick Wellnhofer),
86
+ + Reserved namespaces in xsl:element and xsl:attribute (Nick Wellnhofer),
87
+ + Null-terminate result string of cry:rc4_decrypt (Nick Wellnhofer),
88
+ + EXSLT date normalization fix (James Muscat),
89
+ + Exit after compilation of invalid func:result (Nick Wellnhofer),
90
+ + Fix for EXSLT func:function (Nick Wellnhofer),
91
+ + Rewrite EXSLT string:replace to be conformant (Nick Wellnhofer),
92
+ + Avoid a heap use after free error (Chris Evans),
93
+ + Fix a dictionary string usage (Chris Evans),
94
+ + Output should not include extraneous newlines when indent is off (Laurence Rowe),
95
+ + document('') fails to return stylesheets parsed from memory (Jason Viers),
96
+ + xsltproc should return an error code if xinclude fails (Malcolm Purvis),
97
+ + Forwards-compatible processing of unknown top level elements (Nick Wellnhofer),
98
+ + Fix system-property with unknown namespace (Nick Wellnhofer),
99
+ + Hardening of code checking node types in EXSLT (Daniel Veillard),
100
+ + Hardening of code checking node types in various entry point (Daniel Veillard),
101
+ + Cleanup of the pattern compilation code (Daniel Veillard),
102
+ + Fix default template processing on namespace nodes (Daniel Veillard),
103
+ + Fix a bug in selecting XSLT elements (Daniel Veillard),
104
+ + Fixed bug #616839 (Daniel Mustieles),
105
+ + Fix some case of pattern parsing errors (Abhishek Arya),
106
+ + preproc: fix the build (Stefan Kost),
107
+ + Fix a memory leak with xsl:number (Daniel Veillard),
108
+ + Fix a problem with ESXLT date:add() with January (money_seshu Dronamraju),
109
+ + Fix a memory leak if compiled with Windows locale support (Daniel Veillard),
110
+ + Fix generate-id() to not expose object addresses (Daniel Veillard),
111
+ + Fix curlies support in literals for non-compiled AVTs (Nick Wellnhofer),
112
+ + Allow whitespace in xsl:variable with select (Nick Wellnhofer),
113
+ + Small fixes to locale code (Nick Wellnhofer),
114
+ + Fix bug 602515 (Nick Wellnhofer),
115
+ + Fix popping of vars in xsltCompilerNodePop (Nick Wellnhofer),
116
+ + Fix direct pattern matching bug (Nick Wellnhofer)
117
+ +
118
+ + - Improvements:
119
+ + Add the saxon:systemId extension (Mike Hommey),
120
+ + Add an append mode to document output (Daniel Veillard),
121
+ + Add new tests to EXTRA_DIST (Nick Wellnhofer),
122
+ + Test for bug #680920 (Nick Wellnhofer),
123
+ + fix regresson in Various "make distcheck" and other fixes (Roumen Petrov),
124
+ + Various "make distcheck" and other fixes (Daniel Richard G),
125
+ + Fix portability to upcoming libxml2-2.9.0 (Daniel Veillard),
126
+ + Adding --system flag support to autogen.sh (Daniel Veillard),
127
+ + Allow per-context override of xsltMaxDepth, introduce xsltMaxVars (Jérôme Carretero),
128
+ + autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
129
+ + configure: support silent automake rules if possible (Stefan Kost),
130
+ + Precompile patterns in xsl:number (Nick Wellnhofer),
131
+ + Fix some warnings in the refactored code (Nick Wellnhofer),
132
+ + Adding new generated files (Daniel Veillard),
133
+ + profiling: add callgraph report (Stefan Kost)
134
+ +
135
+ + - Cleanups:
136
+ + Big space and tabs cleanup (Daniel Veillard),
137
+ + Fix authors list (Daniel Veillard),
138
+ + Cleanups some of the test makefiles (Daniel Richard),
139
+ + Remove .cvsignore files which are not needed anymore (Daniel Veillard),
140
+ + Cleanup some misplaced spaces and tabs (Daniel Veillard),
141
+ + Augment list of ignored files (Daniel Veillard),
142
+ + configure: remove checks for isinf and isnan as those are not used anyway (Stefan Kost),
143
+ + Point to GIT for source code and a bit of cleanup (Daniel Veillard),
144
+ + Get rid of specific build setup and STATIC_BINARIES (Daniel Veillard)
145
+
146
+
147
+ </changes>
148
+ diff --git a/doc/news.html b/doc/news.html
149
+ index 15ae10d..60d242e 100644
150
+ --- a/doc/news.html
151
+ +++ b/doc/news.html
152
+ @@ -9,7 +9,30 @@ H3 {font-family: Verdana,Arial,Helvetica}
153
+ A:link, A:visited, A:active { text-decoration: underline }
154
+ </style><title>News</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="GNOME2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for GNOME</h1><h2>News</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="EXSLT/index.html" style="font-weight:bold">libexslt</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a>,
155
+ <a href="tutorial2/libxslt_pipes.html">Tutorial2</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://codespeak.net/lxml/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl XSLT bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading17">XSLT with PHP</a></li><li><a href="http://www.mod-xslt2.com/">Apache module</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>See the <a href="http://git.gnome.org/browse/libxslt/">git page</a>
156
+ -to get a description of the recent commits.</p><p>Those are the public releases made:</p><h3>1.1.27: Sep 12 2012</h3><ul>
157
+ +to get a description of the recent commits.</p><p>Those are the public releases made:</p><h3>1.1.28: Nov 21 2012</h3><ul>
158
+ + <li> Portability:<br />
159
+ + Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),<br />
160
+ + configure should be more careful with linker script (Igor Pashev),<br />
161
+ + add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)<br />
162
+ + </li>
163
+ +
164
+ + <li> Bug fixes:<br />
165
+ + Fix generate-id() to avoid generating the same ID (Stewart Brodie),<br />
166
+ + Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),<br />
167
+ + Crash when passing an uninitialized variable to document() (Nick Wellnhofer),<br />
168
+ + Add missing test docs to EXTRA_DIST (Nick Wellnhofer),<br />
169
+ + Fix regression: Default namespace not correctly used (Nick Wellnhofer)<br />
170
+ + </li>
171
+ +
172
+ + <li> Cleanups:<br />
173
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),<br />
174
+ + autogen.sh cleanup (Daniel Richard),<br />
175
+ + consistent use of xslt processor (Roumen Petrov),<br />
176
+ + Add object files in tests/plugins to .gitignore (Nick Wellnhofer),<br />
177
+ + Fix error on bug-165 regression test (Daniel Veillard),<br />
178
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),<br />
179
+ + </li>
180
+ +</ul><h3>1.1.27: Sep 12 2012</h3><ul>
181
+ <li> Portability:<br />
182
+ xincludestyle wasn't protected with LIBXML_XINCLUDE_ENABLED (Michael Bonfils),<br />
183
+ Portability fix for testThreads.c (IlyaS),<br />
184
+ diff --git a/doc/xslt.html b/doc/xslt.html
185
+ index f7fb595..71e208f 100644
186
+ --- a/doc/xslt.html
187
+ +++ b/doc/xslt.html
188
+ @@ -305,6 +305,31 @@ to get a description of the recent commits.</p>
189
+
190
+ <p>Those are the public releases made:</p>
191
+
192
+ +<h3>1.1.28: Nov 21 2012</h3>
193
+ +<ul>
194
+ + <li> Portability:<br/>
195
+ + Fix python build by using libxsltmod_la_CPPFLAGS instead of AM_CPPFLAGS (Alexandre Rostovtsev),<br/>
196
+ + configure should be more careful with linker script (Igor Pashev),<br/>
197
+ + add gcrypt library in LIBADD, not LDFLAGS, as recommended (Roumen Petrov)<br/>
198
+ + </li>
199
+ +
200
+ + <li> Bug fixes:<br/>
201
+ + Fix generate-id() to avoid generating the same ID (Stewart Brodie),<br/>
202
+ + Fix crash with empty xsl:key/@match attribute (Nick Wellnhofer),<br/>
203
+ + Crash when passing an uninitialized variable to document() (Nick Wellnhofer),<br/>
204
+ + Add missing test docs to EXTRA_DIST (Nick Wellnhofer),<br/>
205
+ + Fix regression: Default namespace not correctly used (Nick Wellnhofer)<br/>
206
+ + </li>
207
+ +
208
+ + <li> Cleanups:<br/>
209
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove from symbols.xml (Daniel Veillard),<br/>
210
+ + autogen.sh cleanup (Daniel Richard),<br/>
211
+ + consistent use of xslt processor (Roumen Petrov),<br/>
212
+ + Add object files in tests/plugins to .gitignore (Nick Wellnhofer),<br/>
213
+ + Fix error on bug-165 regression test (Daniel Veillard),<br/>
214
+ + Remove xsltTransStorageAdd and xsltTransStorageRemove (Daniel Veillard),<br/>
215
+ + </li>
216
+ +</ul>
217
+ <h3>1.1.27: Sep 12 2012</h3>
218
+ <ul>
219
+ <li> Portability:<br/>
220
+ --
221
+ 1.8.4.1
222
+