2010-04-06 Sebastien Pouliot <sebastien@ximian.com>
authorSebastien Pouliot <sebastien@ximian.com>
Tue, 6 Apr 2010 17:45:06 +0000 (17:45 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Tue, 6 Apr 2010 17:45:06 +0000 (17:45 -0000)
* ClientAccessPolicyParser.cs: Don't forget "http-request-headers"
as a valid attribute

svn path=/trunk/mcs/; revision=154876

mcs/class/System.Net/System.Net.Policy/ChangeLog
mcs/class/System.Net/System.Net.Policy/ClientAccessPolicyParser.cs

index 0e7b9a821dfd15cfd70ff4246be8281826df0d58..3918124e981ed606b152ff5e9d5fcc29c5e0f344 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-06  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * ClientAccessPolicyParser.cs: Don't forget "http-request-headers"
+       as a valid attribute
+
 2010-04-06  Sebastien Pouliot  <sebastien@ximian.com>
 
        * ClientAccessPolicyParser.cs: Catch extra attributes that
index 37847dc7f9c03aa66d1930f17e866c3067a6cda2..680a3bc3a4fac8a4115631824566c7488a57995a 100644 (file)
@@ -158,15 +158,24 @@ namespace System.Net.Policy {
 
                static void ReadAllowFromElement (XmlReader reader, AccessPolicy policy)
                {
-                       var v = new AllowFrom ();
-                       bool valid = true;
-
-                       if (reader.HasAttributes || reader.IsEmptyElement) {
+                       if (reader.IsEmptyElement) {
                                reader.Skip ();
                                return;
                        }
 
-                       v.HttpRequestHeaders.SetHeaders (reader.GetAttribute ("http-request-headers"));
+                       string headers = null;
+                       if (reader.HasAttributes) {
+                               int n = reader.AttributeCount;
+                               headers = reader.GetAttribute ("http-request-headers");
+                               if (headers != null)
+                                       n--;
+                               if (n != 0)
+                                       return;
+                       }
+
+                       bool valid = true;
+                       var v = new AllowFrom ();
+                       v.HttpRequestHeaders.SetHeaders (headers);
                        reader.ReadStartElement ("allow-from", String.Empty);
                        for (reader.MoveToContent (); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent ()) {
                                if (reader.NodeType != XmlNodeType.Element)