[prev in list] [next in list] [prev in thread] [next in thread]
List: mono-patches
Subject: [Mono-patches] r45257 - in trunk/mcs/class/System.XML: System.Xml
From: "Atsushi Enomoto (ginga () kit ! hi-ho ! ne ! jp)" <atsushi () mono-cvs ! ximian ! com>
Date: 2005-05-31 11:41:55
Message-ID: 20050531114155.9925994765 () mono-cvs ! ximian ! com
[Download RAW message or body]
Author: atsushi
Date: 2005-05-31 07:41:54 -0400 (Tue, 31 May 2005)
New Revision: 45257
Modified:
trunk/mcs/class/System.XML/System.Xml/ChangeLog
trunk/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs
trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog
trunk/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs
Log:
2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
* DTDValidatingReader.cs : Last BaseURI exposed this hidden bug via
sys.security tests.
* XmlValidatingReaderTests.cs : added ResolveEntityAndBaseURI() which
is imported from sys.security.
Modified: trunk/mcs/class/System.XML/System.Xml/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/System.Xml/ChangeLog 2005-05-31 11:28:10 UTC (rev \
45256)
+++ trunk/mcs/class/System.XML/System.Xml/ChangeLog 2005-05-31 11:41:54 UTC (rev \
45257) @@ -1,3 +1,8 @@
+2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DTDValidatingReader.cs : Last BaseURI exposed this hidden bug via
+ sys.security tests.
+
2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
* DTDObjectModel.cs : in DTDEntityBase.Resolve() don't overwrite
Modified: trunk/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs
===================================================================
--- trunk/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs 2005-05-31 11:28:10 \
UTC (rev 45256)
+++ trunk/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs 2005-05-31 11:41:54 \
UTC (rev 45257) @@ -950,7 +950,7 @@
// MS.NET 1.x ignores undeclared entity reference here..
if (entity != null && entity.SystemId != null) {
- Uri baseUri = entity.BaseURI == null ? null : new Uri (entity.BaseURI);
+ Uri baseUri = entity.BaseURI == String.Empty ? null : new Uri (entity.BaseURI);
Stream stream = resolver.GetEntity (resolver.ResolveUri (baseUri, \
entity.SystemId), null, typeof (Stream)) as Stream;
nextEntityReader = new XmlTextReader (stream, xmlReaderNodeType, ParserContext);
} else {
Modified: trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog 2005-05-31 11:28:10 UTC (rev \
45256)
+++ trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog 2005-05-31 11:41:54 UTC (rev \
45257) @@ -1,3 +1,8 @@
+2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlValidatingReaderTests.cs : added ResolveEntityAndBaseURI() which
+ is imported from sys.security.
+
2005-05-25 Andrew Skiba <andrews@mainsoft.com>
* W3C : directory added
Modified: trunk/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs 2005-05-31 \
11:28:10 UTC (rev 45256)
+++ trunk/mcs/class/System.XML/Test/System.Xml/XmlValidatingReaderTests.cs 2005-05-31 \
11:41:54 UTC (rev 45257) @@ -7,6 +7,7 @@
// (C)2003 Atsushi Enomoto
//
using System;
+using System.IO;
using System.Xml;
using System.Xml.Schema;
using NUnit.Framework;
@@ -814,5 +815,42 @@
r.Read ();
AssertEquals (refOut, r.ReadOuterXml ());
}
+
+ [Test]
+ // imported testcase from sys.security which had regression.
+ public void ResolveEntityAndBaseURI ()
+ {
+ try {
+ using (TextWriter w = File.CreateText ("world.txt")) {
+ w.WriteLine ("world");
+ }
+
+ string xml = "<!DOCTYPE doc [\n" +
+ "<!ATTLIST doc attrExtEnt ENTITY #IMPLIED>\n" +
+ "<!ENTITY ent1 \"Hello\">\n" +
+ "<!ENTITY ent2 SYSTEM \"world.txt\">\n" +
+ "<!ENTITY entExt SYSTEM \"earth.gif\" NDATA gif>\n" +
+ "<!NOTATION gif SYSTEM \"viewgif.exe\">\n" +
+ "]>\n" +
+ "<doc attrExtEnt=\"entExt\">\n" +
+ " &ent1;, &ent2;!\n" +
+ "</doc>\n" +
+ "\n" +
+ "<!-- Let world.txt contain \"world\" (excluding the quotes) -->\n";
+
+ XmlValidatingReader xvr =
+ new XmlValidatingReader (
+ xml, XmlNodeType.Document, null);
+ xvr.ValidationType = ValidationType.None;
+ xvr.EntityHandling =
+ EntityHandling.ExpandCharEntities;
+ XmlDocument doc = new XmlDocument ();
+ doc.Load (xvr);
+
+ } finally {
+ if (File.Exists ("world.txt"))
+ File.Delete ("world.txt");
+ }
+ }
}
}
_______________________________________________
Mono-patches maillist - Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic