[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