[Pkg-mono-svn-commits] [SCM] mono branch, master, updated. 2.0.1-6-92-g5f57dc0

Mirco Bauer meebey at meebey.net
Mon May 25 18:13:19 UTC 2009


The following commit has been merged in the master branch:
commit 0f1ba0b4d215365cf32bd9b13e4ebbb3325bf523
Author: Mirco Bauer <meebey at meebey.net>
Date:   Thu May 21 00:41:51 2009 +0200

    - added ix_NetworkInterface_endless_loop to 00list.
    - delete obsolete patches.

diff --git a/debian/patches/00list b/debian/patches/00list
index 05a0cf4..05da880 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -5,13 +5,13 @@ console-no-utf8-bom
 firebird-fbclient
 fix-mono.pc.in
 fix-mono-cairo.pc.in
-fix-mono-nunit.pc.in
 fix_BigInteger_overflow_CVE-2007-5197
 fix_implicit_pointer_conversions
+fix_NetworkInterface_endless_loop
 fix_null_funcptr_marshalling_r127347
+fix_recursive_unmanaged_types
 disable_building_convert.exe
 disable_building_RabbitMQ.Client.dll
 build_cecil_as_2.0
 build_firebirdsql_as_2.0
 build_genxs_2.0
-fix_recursive_unmanaged_types
diff --git a/debian/patches/dont_build_System.Web.Extensions.dpatch b/debian/patches/dont_build_System.Web.Extensions.dpatch
deleted file mode 100755
index 7dd877d..0000000
--- a/debian/patches/dont_build_System.Web.Extensions.dpatch
+++ /dev/null
@@ -1,28 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## dont_build_System.Web.Extensions.dpatch by Mirco Bauer <meebey at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad mono-1.9+dfsg~/mcs/class/Makefile mono-1.9+dfsg/mcs/class/Makefile
---- mono-1.9+dfsg~/mcs/class/Makefile	2008-03-20 21:46:36.000000000 +0100
-+++ mono-1.9+dfsg/mcs/class/Makefile	2008-03-20 22:27:45.000000000 +0100
-@@ -102,8 +102,6 @@
- 
- net_2_0_dirs := \
- 	System.Core			\
--	System.Web.Extensions		\
--	System.Web.Extensions.Design	\
- 	Microsoft.Build.Framework	\
- 	Microsoft.Build.Utilities	\
- 	Microsoft.Build.Engine		\
-@@ -117,8 +115,6 @@
- 
- net_3_5_dirs := \
- 	System.Xml.Linq			\
--	System.Web.Extensions		\
--	System.Web.Extensions.Design	\
- 
- default_SUBDIRS := $(common_dirs) $(default_dirs)
- net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs)
diff --git a/debian/patches/dont_remap_non-runtime_libs.dpatch b/debian/patches/dont_remap_non-runtime_libs.dpatch
deleted file mode 100755
index 67df0e6..0000000
--- a/debian/patches/dont_remap_non-runtime_libs.dpatch
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## dont_remap_non-runtime_libs.dpatch by Mirco Bauer <meebey at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad mono-1.2.4~/mono/metadata/assembly.c mono-1.2.4/mono/metadata/assembly.c
---- mono-1.2.4~/mono/metadata/assembly.c	2007-04-25 20:48:41.000000000 +0200
-+++ mono-1.2.4/mono/metadata/assembly.c	2007-05-19 15:34:14.000000000 +0200
-@@ -69,21 +69,6 @@
- 	{"I18N.West", 0},
- 	{"Microsoft.VisualBasic", 1},
- 	{"Microsoft.VisualC", 1},
--	{"Mono.Cairo", 0},
--	{"Mono.CompilerServices.SymbolWriter", 0},
--	{"Mono.Data", 0},
--	{"Mono.Data.SqliteClient", 0},
--	{"Mono.Data.SybaseClient", 0},
--	{"Mono.Data.Tds", 0},
--	{"Mono.Data.TdsClient", 0},
--	{"Mono.GetOptions", 0},
--	{"Mono.Http", 0},
--	{"Mono.Posix", 0},
--	{"Mono.Security", 0},
--	{"Mono.Security.Win32", 0},
--	{"Mono.Xml.Ext", 0},
--	{"Novell.Directory.Ldap", 0},
--	{"Npgsql", 0},
- 	{"PEAPI", 0},
- 	{"System", 0},
- 	{"System.Configuration.Install", 0},
diff --git a/debian/patches/fix-mono-nunit.pc.in.dpatch b/debian/patches/fix-mono-nunit.pc.in.dpatch
deleted file mode 100755
index 47e4d96..0000000
--- a/debian/patches/fix-mono-nunit.pc.in.dpatch
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## fix-mono-nunit.pc.in.dpatch by Mirco Bauer <meebey at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad mono-2.4+dfsg~/data/mono-nunit.pc.in mono-2.4+dfsg/data/mono-nunit.pc.in
---- mono-2.4+dfsg~/data/mono-nunit.pc.in	2009-02-14 00:34:32.000000000 +0100
-+++ mono-2.4+dfsg/data/mono-nunit.pc.in	2009-04-11 02:28:21.000000000 +0200
-@@ -1,4 +1,4 @@
--prefix=${pcfiledir}/../..
-+prefix=@prefix@
- exec_prefix=${prefix}
- libdir=${exec_prefix}/lib
- 
diff --git a/debian/patches/fix_Assembly.LoadFrom_deadlock.dpatch b/debian/patches/fix_Assembly.LoadFrom_deadlock.dpatch
deleted file mode 100644
index 445b3ee..0000000
--- a/debian/patches/fix_Assembly.LoadFrom_deadlock.dpatch
+++ /dev/null
@@ -1,241 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## fix_Assembly.LoadFrom_deadlock_r113458.dpatch by Mirco Bauer <meebey at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixes a deadlock in Assembly.LoadFrom(), see:
-## DP: https://bugzilla.novell.com/show_bug.cgi?id=434289
-## DP: https://bugzilla.novell.com/show_bug.cgi?id=323696
-## DP: Backported from upstream SVN revisions:
-## DP: r105036:
-## DP: * assembly.c (mono_assembly_load_from_full): Avoid calling the search hooks
-## DP: while holding the assemblies lock to prevent deadlocks. Handle the case
-## DP: where the search hook returns NULL but the assembly was still loaded.
-## DP: Fixes #323696.
-## DP:
-## DP: r105153:
-## DP: 	* assembly.c (mono_assembly_loaded_full): Avoid calling the search hooks while
-## DP:  holding the assemblies lock here too.
-## DP:
-## DP: r113458:
-## DP: * class.c (can_access_internals): Call mono_assembly_load_friends ()
-## DP: before accessing the friend_assembly_names field.
-## DP: * assembly.c (mono_assembly_load_friends): Make this callable multiple
-## DP: times.
-## DP: (mono_assembly_load_from_full): Avoid calling load_friends (), it is
-## DP: called lazily when it is needed.
-## DP: * metadata-internals.h (struct _MonoAssembly): Add 
-## DP: 'friend_assembly_names_inited' flag.
-## DP:
-## DP: r115451:
-## DP: * assembly.c: in mono_assembly_load_friends() take the assemblies lock
-## DP: for the least possible amount of time (extending the fix in r113458).
-## DP:
-## DP: r115697:
-## DP: * assembly.c (mono_assembly_open_full): Avoid loading images while holding
-## DP: the low level assemblies lock.
-
- at DPATCH@
-diff -urNad mono-1.9.1+dfsg~/mono/metadata/assembly.c mono-1.9.1+dfsg/mono/metadata/assembly.c
---- mono-1.9.1+dfsg~/mono/metadata/assembly.c	2008-10-13 22:43:51.000000000 +0200
-+++ mono-1.9.1+dfsg/mono/metadata/assembly.c	2008-10-13 22:49:51.000000000 +0200
-@@ -30,6 +30,7 @@
- #include <mono/metadata/mono-config.h>
- #include <mono/utils/mono-digest.h>
- #include <mono/utils/mono-logger.h>
-+#include <mono/utils/mono-membar.h>
- #include <mono/metadata/reflection.h>
- 
- #ifndef PLATFORM_WIN32
-@@ -372,18 +373,6 @@
- 	return TRUE;
- }
- 
--static MonoAssembly*
--search_loaded (MonoAssemblyName* aname, gboolean refonly)
--{
--	MonoAssembly *ass;
--
--	ass = mono_assembly_invoke_search_hook_internal (aname, refonly, FALSE);
--	if (ass)
--		return ass;
--
--	return NULL;
--}
--
- static MonoAssembly *
- load_in_path (const char *basename, const char** search_path, MonoImageOpenStatus *status, MonoBoolean refonly)
- {
-@@ -1282,11 +1271,8 @@
- 	if (bundles != NULL)
- 		image = mono_assembly_open_from_bundle (fname, status, refonly);
- 
--	if (!image) {
--		mono_assemblies_lock ();
-+	if (!image)
- 		image = mono_image_open_full (fname, status, refonly);
--		mono_assemblies_unlock ();
--	}
- 
- 	if (!image){
- 		if (*status == MONO_IMAGE_OK)
-@@ -1320,8 +1306,14 @@
- 	return ass;
- }
- 
-+static void
-+free_item (gpointer val, gpointer user_data)
-+{
-+	g_free (val);
-+}
-+
- /*
-- * mono_load_friend_assemblies:
-+ * mono_assembly_load_friends:
-  * @ass: an assembly
-  *
-  * Load the list of friend assemblies that are allowed to access
-@@ -1336,9 +1328,32 @@
- mono_assembly_load_friends (MonoAssembly* ass)
- {
- 	int i;
--	MonoCustomAttrInfo* attrs = mono_custom_attrs_from_assembly (ass);
--	if (!attrs)
-+	MonoCustomAttrInfo* attrs;
-+	GSList *list;
-+
-+	if (ass->friend_assembly_names_inited)
- 		return;
-+
-+	attrs = mono_custom_attrs_from_assembly (ass);
-+	if (!attrs) {
-+		mono_assemblies_lock ();
-+		ass->friend_assembly_names_inited = TRUE;
-+		mono_assemblies_unlock ();
-+		return;
-+	}
-+
-+	mono_assemblies_lock ();
-+	if (ass->friend_assembly_names_inited) {
-+		mono_assemblies_unlock ();
-+		return;
-+	}
-+	mono_assemblies_unlock ();
-+
-+	list = NULL;
-+	/* 
-+	 * We build the list outside the assemblies lock, the worse that can happen
-+	 * is that we'll need to free the allocated list.
-+	 */
- 	for (i = 0; i < attrs->num_attrs; ++i) {
- 		MonoCustomAttrEntry *attr = &attrs->attrs [i];
- 		MonoAssemblyName *aname;
-@@ -1357,12 +1372,26 @@
- 		aname = g_new0 (MonoAssemblyName, 1);
- 		/*g_print ("friend ass: %s\n", data);*/
- 		if (mono_assembly_name_parse_full (data, aname, TRUE, NULL, NULL)) {
--			ass->friend_assembly_names = g_slist_prepend (ass->friend_assembly_names, aname);
-+			list = g_slist_prepend (list, aname);
- 		} else {
- 			g_free (aname);
- 		}
- 	}
- 	mono_custom_attrs_free (attrs);
-+
-+	mono_assemblies_lock ();
-+	if (ass->friend_assembly_names_inited) {
-+		mono_assemblies_unlock ();
-+		g_slist_foreach (list, free_item, NULL);
-+		g_slist_free (list);
-+		return;
-+	}
-+	ass->friend_assembly_names = list;
-+
-+	/* Because of the double checked locking pattern above */
-+	mono_memory_barrier ();
-+	ass->friend_assembly_names_inited = TRUE;
-+	mono_assemblies_unlock ();
- }
- 
- /**
-@@ -1441,14 +1470,12 @@
- 	mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, "Image addref %s %p -> %s %p: %d\n", ass->aname.name, ass, image->name, image, image->ref_count);
- 
- 	/* 
--	 * Atomically search the loaded list and add ourselves to it if necessary.
-+	 * The load hooks might take locks so we can't call them while holding the
-+	 * assemblies lock.
- 	 */
--	mono_assemblies_lock ();
- 	if (ass->aname.name) {
--		/* avoid loading the same assembly twice for now... */
--		ass2 = search_loaded (&ass->aname, refonly);
-+		ass2 = mono_assembly_invoke_search_hook_internal (&ass->aname, refonly, FALSE);
- 		if (ass2) {
--			mono_assemblies_unlock ();
- 			g_free (ass);
- 			g_free (base_dir);
- 			mono_image_close (image);
-@@ -1457,12 +1484,25 @@
- 		}
- 	}
- 
--	g_assert (image->assembly == NULL);
-+	mono_assemblies_lock ();
-+
-+	if (image->assembly) {
-+		/* 
-+		 * This means another thread has already loaded the assembly, but not yet
-+		 * called the load hooks so the search hook can't find the assembly.
-+		 */
-+		mono_assemblies_unlock ();
-+		ass2 = image->assembly;
-+		g_free (ass);
-+		g_free (base_dir);
-+		mono_image_close (image);
-+		*status = MONO_IMAGE_OK;
-+		return ass2;
-+	}
-+
- 	image->assembly = ass;
- 
- 	loaded_assemblies = g_list_prepend (loaded_assemblies, ass);
--	if (mono_defaults.internals_visible_class)
--		mono_assembly_load_friends (ass);
- 	mono_assemblies_unlock ();
- 
- 	mono_assembly_invoke_load_hook (ass);
-@@ -2301,9 +2341,7 @@
- 
- 	aname = mono_assembly_remap_version (aname, &maped_aname);
- 
--	mono_assemblies_lock ();
--	res = search_loaded (aname, refonly);
--	mono_assemblies_unlock ();
-+	res = mono_assembly_invoke_search_hook_internal (aname, refonly, FALSE);
- 
- 	return res;
- }
-diff -urNad mono-1.9.1+dfsg~/mono/metadata/class.c mono-1.9.1+dfsg/mono/metadata/class.c
---- mono-1.9.1+dfsg~/mono/metadata/class.c	2008-10-13 22:43:51.000000000 +0200
-+++ mono-1.9.1+dfsg/mono/metadata/class.c	2008-10-13 22:44:32.000000000 +0200
-@@ -6238,6 +6238,7 @@
- 		return TRUE;
- 	if (!accessed || !accessing)
- 		return FALSE;
-+	mono_assembly_load_friends (accessed);
- 	for (tmp = accessed->friend_assembly_names; tmp; tmp = tmp->next) {
- 		MonoAssemblyName *friend = tmp->data;
- 		/* Be conservative with checks */
-diff -urNad mono-1.9.1+dfsg~/mono/metadata/metadata-internals.h mono-1.9.1+dfsg/mono/metadata/metadata-internals.h
---- mono-1.9.1+dfsg~/mono/metadata/metadata-internals.h	2008-10-13 22:43:51.000000000 +0200
-+++ mono-1.9.1+dfsg/mono/metadata/metadata-internals.h	2008-10-13 22:44:32.000000000 +0200
-@@ -25,7 +25,8 @@
- 	MonoAssemblyName aname;
- 	MonoDl *aot_module;
- 	MonoImage *image;
--	GSList *friend_assembly_names;
-+	GSList *friend_assembly_names; /* Computed by mono_assembly_load_friends () */
-+	guint8 friend_assembly_names_inited;
- 	guint8 in_gac;
- 	guint8 dynamic;
- 	guint8 corlib_internal;
diff --git a/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch b/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch
deleted file mode 100644
index 74408c4..0000000
--- a/debian/patches/fix_CRLF_injection_CVE-2008-3906.dpatch
+++ /dev/null
@@ -1,101 +0,0 @@
-#! /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;
- 		}
- 	}
- }
diff --git a/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch b/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch
deleted file mode 100644
index ccedeba..0000000
--- a/debian/patches/fix_IsolatedStorage_regression_r99231_r101171_r101172.dpatch
+++ /dev/null
@@ -1,123 +0,0 @@
-#! /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);
- 		}
- 
diff --git a/debian/patches/fix_mono-config_man_page_r111681.dpatch b/debian/patches/fix_mono-config_man_page_r111681.dpatch
deleted file mode 100644
index 5903485..0000000
--- a/debian/patches/fix_mono-config_man_page_r111681.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /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
-
diff --git a/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch b/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch
deleted file mode 100644
index 76c33fd..0000000
--- a/debian/patches/fix_sloppy_attribute_encode_CVE-2008-3422.dpatch
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /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

-- 
mono



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