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