From 30218012686aefc44ba6e3c4bbfbd68c8191dd27ad40bda0ede9ec187a5c50ac Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 31 Aug 2007 13:58:58 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mono-core?expand=0&rev=12 --- mono-core.changes | 18 ++ mono-core.spec | 18 +- mono_1.2.5_p4.patch.bz2 | 3 + mono_1.2.5_p5_p6_final.patch | 402 +++++++++++++++++++++++++++++++++++ 4 files changed, 440 insertions(+), 1 deletion(-) create mode 100644 mono_1.2.5_p4.patch.bz2 create mode 100644 mono_1.2.5_p5_p6_final.patch diff --git a/mono-core.changes b/mono-core.changes index 519a499..53fdc4a 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Fri Aug 31 05:55:26 CEST 2007 - wberrier@suse.de + +- Regressions found in 1.2.5: + -Bug #82428: crypto buffer length fix + -Bug #82481: StatusStrip focus regression fix + -Bug #82499: GlobalReAlloc fix +- System.Web regression fixes: + -Bug #82193: System.Web regression fixes + -Bug #82392: SessionState fix for asp.net regression + +------------------------------------------------------------------- +Fri Aug 17 17:00:27 CEST 2007 - wberrier@suse.de + +- Fix some COM and Winforms regressions in 1.2.5 p3 + -fixes bxc: 82433, 82344, 82405, 82406, #82187, 82348 +- Threading fix for bxc #82145 when using LDAP and TLS + ------------------------------------------------------------------- Fri Aug 3 17:40:00 CEST 2007 - wberrier@suse.de diff --git a/mono-core.spec b/mono-core.spec index fb68f73..fb0e0ef 100644 --- a/mono-core.spec +++ b/mono-core.spec @@ -16,9 +16,11 @@ Group: Development/Languages/Mono Summary: A .NET Runtime Environment URL: http://go-mono.org/ Version: 1.2.5 -Release: 1 +Release: 10 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: mono-%{version}.tar.bz2 +Patch0: mono_1.2.5_p4.patch.bz2 +Patch1: mono_1.2.5_p5_p6_final.patch ExclusiveArch: %ix86 x86_64 ppc hppa armv4l sparc s390 ia64 s390x BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: mono = %{version}-%{release} @@ -927,6 +929,8 @@ Authors: %dir %_prefix/lib/mono/compat-2.0 %prep %setup -q -n mono-%{version} +%patch0 +%patch1 -p1 %build # These are only needed if there are patches to the runtime @@ -1015,6 +1019,18 @@ rm -f ./usr/lib/mono/1.0/culevel.exe* rm -rf ${RPM_BUILD_ROOT} %changelog +* Fri Aug 31 2007 - wberrier@suse.de +- Regressions found in 1.2.5: + -Bug #82428: crypto buffer length fix + -Bug #82481: StatusStrip focus regression fix + -Bug #82499: GlobalReAlloc fix +- System.Web regression fixes: + -Bug #82193: System.Web regression fixes + -Bug #82392: SessionState fix for asp.net regression +* Fri Aug 17 2007 - wberrier@suse.de +- Fix some COM and Winforms regressions in 1.2.5 p3 + -fixes bxc: 82433, 82344, 82405, 82406, #82187, 82348 +- Threading fix for bxc #82145 when using LDAP and TLS * Fri Aug 03 2007 - wberrier@suse.de - Update to 1.2.5 -Fixes for IronPython and Dynamic Language Runtime diff --git a/mono_1.2.5_p4.patch.bz2 b/mono_1.2.5_p4.patch.bz2 new file mode 100644 index 0000000..5ee0f35 --- /dev/null +++ b/mono_1.2.5_p4.patch.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e89659d670b69fd432ee5d053cad6a945b143e5da42fd6cf56aa010555587170 +size 7315 diff --git a/mono_1.2.5_p5_p6_final.patch b/mono_1.2.5_p5_p6_final.patch new file mode 100644 index 0000000..eb09213 --- /dev/null +++ b/mono_1.2.5_p5_p6_final.patch @@ -0,0 +1,402 @@ +diff -ru p4/mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/ChangeLog mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/ChangeLog +--- p4/mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/ChangeLog 2007-07-24 15:48:14.000000000 -0600 ++++ mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/ChangeLog 2007-08-22 09:06:16.000000000 -0600 +@@ -1,3 +1,7 @@ ++2007-08-17 Sebastien Pouliot ++ ++ * CryptoStream.cs: Write cannot depend on buffer.Length (fix #82428) ++ + 2007-05-16 Sebastien Pouliot + + * CryptoStream.cs: Fix another problem that can occurs with WriteByte. +diff -ru p4/mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/CryptoStream.cs mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/CryptoStream.cs +--- p4/mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/CryptoStream.cs 2007-07-24 15:48:14.000000000 -0600 ++++ mono-1.2.5/mcs/class/corlib/System.Security.Cryptography/CryptoStream.cs 2007-08-22 09:06:16.000000000 -0600 +@@ -261,6 +261,8 @@ + if (_stream == null) + throw new ArgumentNullException ("inner stream was diposed"); + ++ int buffer_length = count; ++ + // partial block (in progress) + if ((_partialCount > 0) && (_partialCount != _transform.InputBlockSize)) { + int remainder = _transform.InputBlockSize - _partialCount; +@@ -297,7 +299,7 @@ + } + + if (rem > 0) +- Buffer.BlockCopy (buffer, buffer.Length - rem, _workingBlock, 0, rem); ++ Buffer.BlockCopy (buffer, buffer_length - rem, _workingBlock, 0, rem); + _partialCount = rem; + count = 0; // the last block, if any, is in _workingBlock + } else { +diff -ru p4/mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog +--- p4/mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog 2007-08-16 14:15:18.000000000 -0600 ++++ mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog 2007-08-22 09:06:16.000000000 -0600 +@@ -1,3 +1,8 @@ ++2007-08-20 Jonathan Pobst ++ [Backport of r84479] ++ * StatusStrip.cs: Make sure the item's parent gets set in SetDisplayedItems. ++ [Fixes bug #82481] ++ + 2007-08-14 Rolf Bjarne Kvinge + + * Control.cs: [Backport of r83588, fixes bug #82433] CreateControl: create +diff -ru p4/mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/StatusStrip.cs mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/StatusStrip.cs +--- p4/mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/StatusStrip.cs 2007-07-24 15:48:49.000000000 -0600 ++++ mono-1.2.5/mcs/class/Managed.Windows.Forms/System.Windows.Forms/StatusStrip.cs 2007-08-22 09:06:16.000000000 -0600 +@@ -247,12 +247,15 @@ + { + this.displayed_items.Clear (); + +- foreach (ToolStripItem tsi in this.Items) ++ foreach (ToolStripItem tsi in this.Items) { ++ tsi.Parent = this; ++ + if (tsi.Placement == ToolStripItemPlacement.Main) { + this.displayed_items.AddNoOwnerOrLayout (tsi); + tsi.InternalVisible = true; + } else + tsi.InternalVisible = false; ++ } + } + + protected override void WndProc (ref Message m) +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/ChangeLog mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/ChangeLog +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/ChangeLog 2007-07-24 15:47:57.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/ChangeLog 2007-08-27 12:21:41.000000000 -0600 +@@ -1,3 +1,8 @@ ++2007-08-10 Gert Driesen ++ ++ * PagesConfigurationHandler.cs: Use enum for EnableSessionState. ++ * PagesConfiguration.cs: Use enum for EnableSessionState. ++ + 2007-05-01 Marek Habersack + + * HttpCapabilitiesBase.cs: move the User-Agent code to a separate +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs 2007-04-25 12:49:28.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs 2007-08-27 12:21:41.000000000 -0600 +@@ -36,7 +36,7 @@ + class PagesConfiguration + { + internal bool Buffer = true; +- internal string EnableSessionState = "true"; ++ internal PagesEnableSessionState EnableSessionState = PagesEnableSessionState.True; + internal bool EnableViewState = true; + internal bool EnableViewStateMac = false; + internal bool SmartNavigation = false; +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs 2007-04-25 12:49:28.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs 2007-08-27 12:21:41.000000000 -0600 +@@ -48,11 +48,22 @@ + + attvalue = AttValue ("enableSessionState", section); + if (attvalue != null) { +- if (attvalue != "true" && attvalue != "false" && attvalue != "ReadOnly") ++ switch (attvalue) { ++ case "true": ++ config.EnableSessionState = PagesEnableSessionState.True; ++ break; ++ case "ReadOnly": ++ config.EnableSessionState = PagesEnableSessionState.ReadOnly; ++ break; ++ case "false": ++ config.EnableSessionState = PagesEnableSessionState.False; ++ break; ++ default: + HandlersUtil.ThrowException ("The 'enableSessionState' attribute" + + " is case sensitive and must be one of the following values:" + + " false, true, ReadOnly.", section); +- config.EnableSessionState = attvalue; ++ break; ++ } + } + + attvalue = AttValue ("enableViewState", section); +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog 2007-07-24 15:47:55.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog 2007-08-27 12:21:40.000000000 -0600 +@@ -1,3 +1,7 @@ ++2007-08-10 Gert Driesen ++ ++ * PagesEnableSessionState.cs: Marked internal on 1.0 profile. ++ + 2007-07-16 Vladimir Krasnov + + * ProfileGroupSettingsCollection.cs: added ResetInternal internal +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs 2007-04-25 12:49:04.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs 2007-08-27 12:21:40.000000000 -0600 +@@ -28,14 +28,17 @@ + + using System.Resources; + +-#if NET_2_0 + namespace System.Web.Configuration + { +- public enum PagesEnableSessionState +- { +- False = 0, +- ReadOnly = 1, +- True = 2 +- } +-} ++#if NET_2_0 ++ public ++#else ++ internal + #endif ++ enum PagesEnableSessionState ++ { ++ False = 0, ++ ReadOnly = 1, ++ True = 2 ++ } ++} +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/ChangeLog mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/ChangeLog +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/ChangeLog 2007-07-24 15:47:57.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/ChangeLog 2007-08-27 13:33:31.000000000 -0600 +@@ -1,3 +1,10 @@ ++2007-07-31 Marek Habersack ++ ++ * SessionInProcHandler.cs: initialize the static session objects ++ collection from the application state instead of using ++ SessionStateUtility.GetSessionStaticObjects. Fixes bug #82193 ++ * SessionStateServerHandler.cs: as above ++ + 2007-06-20 Marek Habersack + + * SessionInProcHandler.cs: use HttpRuntime.InternalCache to keep +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionInProcHandler.cs mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionInProcHandler.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionInProcHandler.cs 2007-07-24 15:47:57.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionInProcHandler.cs 2007-08-27 13:33:31.000000000 -0600 +@@ -77,7 +77,7 @@ + public override SessionStateStoreData CreateNewStoreData (HttpContext context, int timeout) + { + return new SessionStateStoreData (new SessionStateItemCollection (), +- SessionStateUtility.GetSessionStaticObjects(context), ++ HttpApplicationFactory.ApplicationState.SessionObjects, + timeout); + } + +@@ -156,7 +156,7 @@ + item.items = new SessionStateItemCollection (); + } + return new SessionStateStoreData (item.items, +- SessionStateUtility.GetSessionStaticObjects(context), ++ HttpApplicationFactory.ApplicationState.SessionObjects, + item.timeout); + } catch { + // we want such errors to be passed to the application. +@@ -344,7 +344,7 @@ + expireCallback (key, + new SessionStateStoreData ( + item.items, +- SessionStateUtility.GetSessionStaticObjects (HttpContext.Current), ++ HttpApplicationFactory.ApplicationState.SessionObjects, + item.timeout)); + } else + expireCallback (key, null); +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateServerHandler.cs mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateServerHandler.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateServerHandler.cs 2007-04-25 12:49:06.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateServerHandler.cs 2007-08-27 13:33:31.000000000 -0600 +@@ -47,7 +47,7 @@ + public override SessionStateStoreData CreateNewStoreData (HttpContext context, int timeout) + { + return new SessionStateStoreData (new SessionStateItemCollection (), +- SessionStateUtility.GetSessionStaticObjects(context), ++ HttpApplicationFactory.ApplicationState.SessionObjects, + timeout); + } + +@@ -73,9 +73,11 @@ + out SessionStateActions actions, + bool exclusive) + { ++#if TRACE + Console.WriteLine ("SessionStateServerHandler.GetItemInternal"); + Console.WriteLine ("\tid == {0}", id); + Console.WriteLine ("\tpath == {0}", context.Request.FilePath); ++#endif + locked = false; + lockAge = TimeSpan.MinValue; + lockId = Int32.MinValue; +@@ -92,11 +94,15 @@ + exclusive); + + if (item == null) { ++#if TRACE + Console.WriteLine ("\titem is null (locked == {0}, actions == {1})", locked, actions); ++#endif + return null; + } + if (actions == SessionStateActions.InitializeItem) { ++#if TRACE + Console.WriteLine ("\titem needs initialization"); ++#endif + return CreateNewStoreData (context, item.Timeout); + } + SessionStateItemCollection items = null; +@@ -150,7 +156,9 @@ + + public override void Initialize (string name, NameValueCollection config) + { ++#if TRACE + Console.WriteLine ("SessionStateServerHandler.Initialize"); ++#endif + if (String.IsNullOrEmpty (name)) + name = "Session Server handler"; + privateConfig = config; +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.UI/ChangeLog mono-1.2.5/mcs/class/System.Web/System.Web.UI/ChangeLog +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.UI/ChangeLog 2007-07-24 15:47:56.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.UI/ChangeLog 2007-08-27 12:21:41.000000000 -0600 +@@ -1,7 +1,21 @@ ++2007-08-10 Gert Driesen ++ ++ * PageParser.cs: Replace enableSessionState and readOnlySessionState ++ bools with enum backed field. Move 1.0 profile code for checking value ++ of EnableSessionState pages config to PagesConfigurationHandler. ++ Fixes bug #82392 for 1.0 profile. ++ ++2007-08-09 Marek Habersack ++ ++ * PageParser.cs: honor web.config enableSessionState ++ ReadOnly setting instead of overwriting based on default value for ++ page directive EnableSessionState. Patch from Joel Reed ++ , thanks! Fixes bug #82392 ++ + 2007-07-24 Igor Zelmanovich + + * ClientScriptManager.cs: fixed: GetCallbackEventReference method. +- ++ + 2007-07-23 Igor Zelmanovich + + * Page.cs: refactoring: __doPostBack client script +diff -ru p4/mono-1.2.5/mcs/class/System.Web/System.Web.UI/PageParser.cs mono-1.2.5/mcs/class/System.Web/System.Web.UI/PageParser.cs +--- p4/mono-1.2.5/mcs/class/System.Web/System.Web.UI/PageParser.cs 2007-07-24 15:47:56.000000000 -0600 ++++ mono-1.2.5/mcs/class/System.Web/System.Web.UI/PageParser.cs 2007-08-27 12:21:41.000000000 -0600 +@@ -43,14 +43,13 @@ + [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] + public sealed class PageParser : TemplateControlParser + { +- bool enableSessionState = true; ++ PagesEnableSessionState enableSessionState = PagesEnableSessionState.True; + bool enableViewStateMac = true; +- bool smartNavigation = false; ++ bool smartNavigation; + bool haveTrace; + bool trace; + bool notBuffer; + TraceMode tracemode; +- bool readonlySessionState; + string responseEncoding; + string contentType; + int codepage = -1; +@@ -112,24 +111,7 @@ + #endif + + notBuffer = !ps.Buffer; +-#if NET_2_0 +- switch (ps.EnableSessionState) { +- case PagesEnableSessionState.True: +- case PagesEnableSessionState.ReadOnly: +- enableSessionState = true; +- break; +- +- default: +- enableSessionState = false; +- break; +- } +-#else +- if (String.Compare (ps.EnableSessionState, "true", true, CultureInfo.InvariantCulture) == 0) +- enableSessionState = true; +- else +- enableSessionState = false; +-#endif +- ++ enableSessionState = ps.EnableSessionState; + enableViewStateMac = ps.EnableViewStateMac; + smartNavigation = ps.SmartNavigation; + validateRequest = ps.ValidateRequest; +@@ -165,23 +147,23 @@ + // note: the 'enableSessionState' configuration property is + // processed in a case-sensitive manner while the page-level + // attribute is processed case-insensitive +- string enabless = GetString (atts, "EnableSessionState", enableSessionState.ToString ()); ++ string enabless = GetString (atts, "EnableSessionState", null); + if (enabless != null) { +- readonlySessionState = (String.Compare (enabless, "readonly", true) == 0); +- if (readonlySessionState == true || String.Compare (enabless, "true", true) == 0) { +- enableSessionState = true; +- } else if (String.Compare (enabless, "false", true) == 0) { +- enableSessionState = false; +- } else { ++ if (String.Compare (enabless, "readonly", true) == 0) ++ enableSessionState = PagesEnableSessionState.ReadOnly; ++ else if (String.Compare (enabless, "true", true) == 0) ++ enableSessionState = PagesEnableSessionState.True; ++ else if (String.Compare (enabless, "false", true) == 0) ++ enableSessionState = PagesEnableSessionState.False; ++ else + ThrowParseException ("Invalid value for enableSessionState: " + enabless); +- } + } + + string cp = GetString (atts, "CodePage", null); + if (cp != null) { + if (responseEncoding != null) + ThrowParseException ("CodePage and ResponseEncoding are " + +- "mutually exclusive."); ++ "mutually exclusive."); + + int codepage = 0; + try { +@@ -436,7 +418,10 @@ + } + + internal bool EnableSessionState { +- get { return enableSessionState; } ++ get { ++ return enableSessionState == PagesEnableSessionState.True || ++ ReadOnlySessionState; ++ } + } + + internal bool EnableViewStateMac { +@@ -448,7 +433,9 @@ + } + + internal bool ReadOnlySessionState { +- get { return readonlySessionState; } ++ get { ++ return enableSessionState == PagesEnableSessionState.ReadOnly; ++ } + } + + internal bool HaveTrace { +diff -ru p4/mono-1.2.5/mono/metadata/ChangeLog mono-1.2.5/mono/metadata/ChangeLog +--- p4/mono-1.2.5/mono/metadata/ChangeLog 2007-08-16 14:14:57.000000000 -0600 ++++ mono-1.2.5/mono/metadata/ChangeLog 2007-08-27 12:21:21.000000000 -0600 +@@ -1,3 +1,8 @@ ++2007-08-23 Robert Jordan ++ ++ * marshal.c (Marshal_ReAllocHGlobal) : Fix GlobalReAlloc's flags. ++ Fixes #82499. ++ + 2007-07-03 Jonathan Chambers + + * marshal.c: Implement COM Objects as return type for +diff -ru p4/mono-1.2.5/mono/metadata/marshal.c mono-1.2.5/mono/metadata/marshal.c +--- p4/mono-1.2.5/mono/metadata/marshal.c 2007-08-16 14:14:57.000000000 -0600 ++++ mono-1.2.5/mono/metadata/marshal.c 2007-08-27 12:21:21.000000000 -0600 +@@ -10673,7 +10673,7 @@ + } + + #ifdef PLATFORM_WIN32 +- res = GlobalReAlloc (ptr, (gulong)size, 0); ++ res = GlobalReAlloc (ptr, (gulong)size, GMEM_MOVEABLE); + #else + res = g_try_realloc (ptr, (gulong)size); + #endif