[Pkg-mono-svn-commits] rev 3718 - in mono/trunk/debian: . man patches

Jo Shields directhex-guest at alioth.debian.org
Sat Oct 11 13:29:22 UTC 2008


Author: directhex-guest
Date: 2008-10-11 13:29:22 +0000 (Sat, 11 Oct 2008)
New Revision: 3718

Added:
   mono/trunk/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch
   mono/trunk/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch
   mono/trunk/debian/patches/fix_mono-config_man_page_r111681.dpatch
   mono/trunk/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch
Modified:
   mono/trunk/debian/changelog
   mono/trunk/debian/control
   mono/trunk/debian/man/caspol.1
   mono/trunk/debian/man/cli-wrapper.1
   mono/trunk/debian/man/mjs.1
   mono/trunk/debian/man/mono-find-provides.1
   mono/trunk/debian/man/mono-find-requires.1
   mono/trunk/debian/man/monograph.1
   mono/trunk/debian/man/pedump.1
   mono/trunk/debian/man/xbuild.1
   mono/trunk/debian/patches/00list
Log:
1.9.1+dfsg-4 commit - 6 bugs closed, incl two CVE's


Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/changelog	2008-10-11 13:29:22 UTC (rev 3718)
@@ -1,10 +1,33 @@
-mono (1.9.1+dfsg-4~pre1) unstable; urgency=low
+mono (1.9.1+dfsg-4) unstable; urgency=high
 
+  [ Mirco Bauer ]
   * Added lpia to Architecture fields.
     (to make Jo Shields more happy)
 
- -- Mirco Bauer <meebey at debian.org>  Fri, 29 Aug 2008 22:38:44 +0200
+  [ Jo Shields ]
+  * Add myself to Uploaders
+  * debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch:
+    + Fixes CVE-2008-3422, thus urgency set to high.
+    + Closes #494406
+  * debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch:
+    + Fixes CVE-2008-3906, thus urgency set to high.
+    + Closes #498894
+  * debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch:
+    + Fix regression in IsolatedStorage behaviour causing exceptions 
+      with subdirectories
+    + Closes #501505
+  * debian/patches/fix_mono-config_man_page_r111681.dpatch:
+    + Fix minor manpage typo
+    + Closes #495624
+  * debian/control:
+    + Tweak description of mono-xbuild package
+    + Closes #493478
+  * debian/man/*:
+    + Update default manpage to point to correct URL for documentation
+    + Closes #500771
 
+ -- Jo Shields <directhex at apebox.org>  Fri, 10 Oct 2008 12:32:44 +0100
+
 mono (1.9.1+dfsg-3) unstable; urgency=medium
 
   * debian/control

Modified: mono/trunk/debian/control
===================================================================
--- mono/trunk/debian/control	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/control	2008-10-11 13:29:22 UTC (rev 3718)
@@ -2,7 +2,7 @@
 Section: interpreters
 Priority: optional
 Maintainer: Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>
-Uploaders: Mirco Bauer <meebey at debian.org>, Sebastian Dröge <slomo at debian.org>
+Uploaders: Mirco Bauer <meebey at debian.org>, Sebastian Dröge <slomo at debian.org>, Jo Shields <directhex at apebox.org>
 Build-Depends: debhelper (>= 5.0.0), dpkg-dev (>= 1.13.19), libglib2.0-dev (>= 2.4), bison, libtool, dpatch, libxml-dom-perl, libxslt1-dev, dc, libx11-dev, libxt-dev, zlib1g-dev
 Build-Depends-Indep: libgamin-dev, libcupsys2-dev, librsvg2-dev, libgtk2.0-dev, libgnomeui-dev, libgda2-dev
 Standards-Version: 3.7.3
@@ -1187,7 +1187,7 @@
 Architecture: all
 Depends: ${cli:Depends}
 Replaces: mono-gmcs (<< 1.2.6-1)
-Description: Mono xbuild
+Description: MSBuild-compatible build system for Mono
  Mono is a platform for running and developing applications based on the
  ECMA/ISO Standards. Mono is an open source effort led by Novell.
  Mono provides a complete CLR (Common Language Runtime) including compiler and

Modified: mono/trunk/debian/man/caspol.1
===================================================================
--- mono/trunk/debian/man/caspol.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/caspol.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/cli-wrapper.1
===================================================================
--- mono/trunk/debian/man/cli-wrapper.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/cli-wrapper.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/mjs.1
===================================================================
--- mono/trunk/debian/man/mjs.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/mjs.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/mono-find-provides.1
===================================================================
--- mono/trunk/debian/man/mono-find-provides.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/mono-find-provides.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/mono-find-requires.1
===================================================================
--- mono/trunk/debian/man/mono-find-requires.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/mono-find-requires.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/monograph.1
===================================================================
--- mono/trunk/debian/man/monograph.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/monograph.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/pedump.1
===================================================================
--- mono/trunk/debian/man/pedump.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/pedump.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/man/xbuild.1
===================================================================
--- mono/trunk/debian/man/xbuild.1	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/man/xbuild.1	2008-10-11 13:29:22 UTC (rev 3718)
@@ -8,4 +8,4 @@
 .B help
 switch to see what it does. For further information, refer to the .NET
 documentation from the Mono project, located on
-.B http://www.go-mono.com:8080/
+.B http://www.go-mono.com/docs/

Modified: mono/trunk/debian/patches/00list
===================================================================
--- mono/trunk/debian/patches/00list	2008-10-09 22:18:02 UTC (rev 3717)
+++ mono/trunk/debian/patches/00list	2008-10-11 13:29:22 UTC (rev 3718)
@@ -15,4 +15,8 @@
 fix_xen_support_r103474_r103475
 fix_Dictionary_preventing_GC_r102114
 fix_TdsConnectionPool_svn
+fix_sloppy_attribute_encode_CVE-2008-3422
+fix_CRLF_injection_CVE-2008-3906
+fix_IsolatedStorage_regression_r99231_r101171_r101172
+fix_mono-config_man_page_r111681
 99_autoreconf

Added: mono/trunk/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch	                        (rev 0)
+++ mono/trunk/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch	2008-10-11 13:29:22 UTC (rev 3718)
@@ -0,0 +1,101 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_CRLF_injection_CVE-2008-3906.dpatch by Jo Shields <directhex at apebox.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix injection of arbitrary HTTP headers via CRLF
+## DP: Taken from SVN revisions 111120 and 111129
+
+ at DPATCH@
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web/HttpResponseHeader.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web/HttpResponseHeader.cs	(revision 111119)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web/HttpResponseHeader.cs	(revision 111129)
+@@ -30,17 +30,65 @@
+ 
+ using System.Collections;
+ using System.Text;
++using System.Web.Configuration;
+ 
+ namespace System.Web {
+ 
+ 	internal abstract class BaseResponseHeader {
+-		public string Value;
++		string headerValue;
++		
++		public string Value {
++			get { return headerValue; }
++			set { headerValue = EncodeHeader (value); }
++		}
+ 	  
++		static bool headerCheckingEnabled;
++		
++		static BaseResponseHeader () {
++#if NET_2_0
++			HttpRuntimeSection section = WebConfigurationManager.GetSection ("system.web/httpRuntime") as HttpRuntimeSection;
++#else
++			HttpRuntimeConfig section = HttpContext.GetAppConfig ("system.web/httpRuntime") as HttpRuntimeConfig;
++#endif
++			headerCheckingEnabled = section == null || section.EnableHeaderChecking;
++		}
++
++
+ 		internal BaseResponseHeader (string val)
+ 		{
+ 			Value = val;
+ 		}
+ 
++		string EncodeHeader (string value)
++		{
++			if (value == null || value.Length == 0)
++				return value;
++			
++			if (headerCheckingEnabled) {
++				StringBuilder ret = new StringBuilder ();
++				int len = value.Length;
++
++				for (int i = 0; i < len; i++) {
++					switch (value [i]) {
++						case '\r':
++							ret.Append ("%0d");
++							break;
++
++						case '\n':
++							ret.Append ("%0a");
++							break;
++
++						default:
++							ret.Append (value [i]);
++							break;
++					}
++				}
++
++				return ret.ToString ();
++			} else
++				return value;
++		}
++		
+ 		internal abstract void SendContent (HttpWorkerRequest wr);
+ 	}
+ 
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.Configuration/HttpRuntimeConfig.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.Configuration/HttpRuntimeConfig.cs	(revision 111119)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.Configuration/HttpRuntimeConfig.cs	(revision 111129)
+@@ -55,7 +55,8 @@
+ 		public int IdleTimeout = 20; // minutes
+ 		public bool Enable = true;
+ 		public string VersionHeader;
+-
++		public bool EnableHeaderChecking = true;
++		
+ 		/* Only the config. handler should create instances of this. Use GetInstance (context) */
+ 		public HttpRuntimeConfig (object p)
+ 		{
+@@ -92,6 +93,7 @@
+ 			RequireRootSaveAsPath = parent.RequireRootSaveAsPath;
+ 			IdleTimeout = parent.IdleTimeout;
+ 			Enable = parent.Enable;
++			EnableHeaderChecking = parent.EnableHeaderChecking;
+ 		}
+ 	}
+ }

Added: mono/trunk/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch	                        (rev 0)
+++ mono/trunk/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch	2008-10-11 13:29:22 UTC (rev 3718)
@@ -0,0 +1,123 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch by  <jms at osc-franzibald>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix IsolatedStorage regression causing exceptions on subdirectories
+## DP: Taken from SVN revision r99231, r101171, r101172
+
+ at DPATCH@
+diff -urNad mono-1.9.1+dfsg~/mcs/class/corlib/System.IO/Path.cs mono-1.9.1+dfsg/mcs/class/corlib/System.IO/Path.cs
+--- mono-1.9.1+dfsg~/mcs/class/corlib/System.IO/Path.cs	2008-10-10 14:41:26.000000000 +0100
++++ mono-1.9.1+dfsg/mcs/class/corlib/System.IO/Path.cs	2008-10-10 14:41:40.000000000 +0100
+@@ -69,7 +69,7 @@
+ 		internal static readonly string DirectorySeparatorStr;
+ 		public static readonly char VolumeSeparatorChar;
+ 
+-		private static readonly char[] PathSeparatorChars;
++		internal static readonly char[] PathSeparatorChars;
+ 		private static readonly bool dirEqualsVolume;
+ 
+ 		// class methods
+diff -urNad mono-1.9.1+dfsg~/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageFile.cs mono-1.9.1+dfsg/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageFile.cs
+--- mono-1.9.1+dfsg~/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageFile.cs	2008-10-10 14:41:26.000000000 +0100
++++ mono-1.9.1+dfsg/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageFile.cs	2008-10-10 14:41:40.000000000 +0100
+@@ -453,13 +453,36 @@
+ 
+ 		public void CreateDirectory (string dir)
+ 		{
+-			directory.CreateSubdirectory (dir);	
++			if (dir == null)
++				throw new ArgumentNullException ("dir");
++
++			if (dir.IndexOfAny (Path.PathSeparatorChars) < 0) {
++				if (directory.GetFiles (dir).Length > 0)
++					throw new IOException (Locale.GetText ("Directory name already exists as a file."));
++				directory.CreateSubdirectory (dir);
++			} else {
++				string[] dirs = dir.Split (Path.PathSeparatorChars);
++				DirectoryInfo dinfo = directory;
++
++				for (int i = 0; i < dirs.Length; i++) {
++					if (dinfo.GetFiles (dirs [i]).Length > 0)
++						throw new IOException (Locale.GetText (
++							"Part of the directory name already exists as a file."));
++					dinfo = dinfo.CreateSubdirectory (dirs [i]);
++				}
++			}
+ 		}
+ 
+ 		public void DeleteDirectory (string dir)
+ 		{
+-			DirectoryInfo subdir = directory.CreateSubdirectory (dir);
+-			subdir.Delete ();
++			try {
++				DirectoryInfo subdir = directory.CreateSubdirectory (dir);
++				subdir.Delete ();
++			}
++			catch {
++				// hide the real exception to avoid leaking the full path
++				throw new IsolatedStorageException (Locale.GetText ("Could not delete directory '{0}'", dir));
++			}
+ 		}
+ 
+ 		public void DeleteFile (string file)
+@@ -475,7 +498,28 @@
+ 
+ 		public string[] GetDirectoryNames (string searchPattern)
+ 		{
+-			DirectoryInfo[] adi = directory.GetDirectories (searchPattern);
++			if (searchPattern == null)
++				throw new ArgumentNullException ("searchPattern");
++
++			// note: IsolatedStorageFile accept a "dir/file" pattern which is not allowed by DirectoryInfo
++			// so we need to split them to get the right results
++			string path = Path.GetDirectoryName (searchPattern);
++			string pattern = Path.GetFileName (searchPattern);
++			DirectoryInfo[] adi = null;
++			if (path == null || path.Length == 0) {
++				adi = directory.GetDirectories (searchPattern);
++			} else {
++				DirectoryInfo[] subdirs = directory.GetDirectories (path);
++				// we're looking for a single result, identical to path (no pattern here)
++				// we're also looking for something under the current path (not outside isolated storage)
++				if ((subdirs.Length == 1) && (subdirs [0].Name == path) && (subdirs [0].FullName.IndexOf (directory.FullName) >= 0)) {
++					adi = subdirs [0].GetDirectories (pattern);
++				} else {
++					// CAS, even in FullTrust, normally enforce IsolatedStorage
++					throw new SecurityException ();
++				}
++			}
++			 
+ 			return GetNames (adi);
+ 		}
+ 
+@@ -489,7 +533,28 @@
+ 
+ 		public string[] GetFileNames (string searchPattern)
+ 		{
+-			FileInfo[] afi = directory.GetFiles (searchPattern);
++			if (searchPattern == null)
++				throw new ArgumentNullException ("searchPattern");
++
++			// note: IsolatedStorageFile accept a "dir/file" pattern which is not allowed by DirectoryInfo
++			// so we need to split them to get the right results
++			string path = Path.GetDirectoryName (searchPattern);
++			string pattern = Path.GetFileName (searchPattern);
++			FileInfo[] afi = null;
++			if (path == null || path.Length == 0) {
++				afi = directory.GetFiles (searchPattern);
++			} else {
++				DirectoryInfo[] subdirs = directory.GetDirectories (path);
++				// we're looking for a single result, identical to path (no pattern here)
++				// we're also looking for something under the current path (not outside isolated storage)
++				if ((subdirs.Length == 1) && (subdirs [0].Name == path) && (subdirs [0].FullName.IndexOf (directory.FullName) >= 0)) {
++					afi = subdirs [0].GetFiles (pattern);
++				} else {
++					// CAS, even in FullTrust, normally enforce IsolatedStorage
++					throw new SecurityException ();
++				}
++			}
++
+ 			return GetNames (afi);
+ 		}
+ 


Property changes on: mono/trunk/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch
___________________________________________________________________
Name: svn:mergeinfo
   + 

Added: mono/trunk/debian/patches/fix_mono-config_man_page_r111681.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_mono-config_man_page_r111681.dpatch	                        (rev 0)
+++ mono/trunk/debian/patches/fix_mono-config_man_page_r111681.dpatch	2008-10-11 13:29:22 UTC (rev 3718)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_mono-config_man_page_r111681.dpatch by Jo Shields <directhex at apebox.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix minor typo in mono-config man page
+
+ at DPATCH@
+--- mono/man/mono-config.5	2007/02/23 14:12:53	73363
++++ mono/man/mono-config.5	2008/08/27 03:27:55	111681
+@@ -60,7 +60,7 @@
+ This is the target library, where the function can be found.
+ .TP
+ .I name
+-This is the name of the fuction as it appears in the metadata: it is the name 
++This is the name of the function as it appears in the metadata: it is the name 
+ of the P/Invoke method.
+ .TP
+ .I target
+

Added: mono/trunk/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch	                        (rev 0)
+++ mono/trunk/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch	2008-10-11 13:29:22 UTC (rev 3718)
@@ -0,0 +1,72 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_sloppy_attribute_encode_CVE-2008-3422.dpatch by Jo Shields <directhex at apebox.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: HTML encode attributes to avoid ASP.NET XSS attack
+
+ at DPATCH@
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlForm.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlForm.cs	(revision 108743)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlForm.cs	(working copy)
+@@ -279,7 +279,7 @@
+ 				w.WriteAttribute ("name", Name);
+ 
+ 			w.WriteAttribute ("method", Method);
+-			w.WriteAttribute ("action", action);
++			w.WriteAttribute ("action", action, true);
+ 
+ 			/*
+ 			 * This is a hack that guarantees the ID is set properly for HtmlControl to
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputRadioButton.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputRadioButton.cs	(revision 108743)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputRadioButton.cs	(working copy)
+@@ -126,7 +126,7 @@
+ 			if (Page != null)
+ 				Page.ClientScript.RegisterForEventValidation (this.UniqueID, Value);
+ #endif
+-			writer.WriteAttribute ("value", Value);
++			writer.WriteAttribute ("value", Value, true);
+ 			Attributes.Remove ("value");
+ 			base.RenderAttributes (writer);
+ 		}
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlSelect.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlSelect.cs	(revision 108743)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlSelect.cs	(working copy)
+@@ -693,7 +693,7 @@
+ 					}
+ 				}
+ 				
+-				w.WriteAttribute ("value", item.Value);
++				w.WriteAttribute ("value", item.Value, true);
+ 				w.Write (HtmlTextWriter.TagRightChar);
+ 				
+ 				w.Write (item.Text);
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlControl.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlControl.cs	(revision 108743)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlControl.cs	(working copy)
+@@ -90,7 +90,7 @@
+ 					catch (Exception) {
+ 						throw new HttpException(attribName + " property had malformed url");
+ 					}
+-					writer.WriteAttribute(attribName, attr);
++					writer.WriteAttribute(attribName, attr, true);
+ 					Attributes.Remove(attribName);
+ 				}
+ 			}
+Index: mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs
+===================================================================
+--- mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs	(revision 108743)
++++ mono-1.9.1+dfsg/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs	(working copy)
+@@ -302,7 +302,7 @@
+ 				
+ 				if (oc != null) {
+ 					writer.WriteAttribute ("language", "javascript");
+-					writer.WriteAttribute ("onclick", oc);
++					writer.WriteAttribute ("onclick", oc, true);
+ 				}
+ 			}
+ #endif




More information about the Pkg-mono-svn-commits mailing list