2011-11-05  Robert Jordan  <robertj@gmx.net>

	[Web] Fix obvious typo in DELETE FROM WHERE statement.

2011-05-24  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] Don't throw an exception if a session item being
	released does not have a lock.

	It can happen when the item is being released after its associated
	session has ended.

2011-04-22  Marek Habersack  <grendel@twistedcode.net>

	Fix compilation

2011-04-22  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] Do nothing if null SessionStateStoreData is passed to
	SessionStateServerHandler.SetAndReleaseItemExclusive

2011-02-21  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] Fix for bug #669807. Cache session item locks as the
	item might be cleared before the lock needs to be released.

2010-12-09  Gonzalo Paniagua Javier  <gonzalo.mono@gmail.com>

	Get system.web/httpRuntime only once

	Get that section only once and keep it in HttpRuntime.

2010-11-18  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] A few memory usage optimizations.

2010-11-13  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] Cache + SessionInProcHandler memory usage improvements

2010-10-12  Sebastien Pouliot  <sebastien@ximian.com>

	A few moves/changes following previous patch review

2010-10-08  Sebastien Pouliot  <sebastien@ximian.com>

	Normalization of cryptographic uses in asp.net

2010-10-08  Sebastien Pouliot  <sebastien@ximian.com>

	Remove unneeded 'using' clauses

2010-08-10  Marek Habersack  <grendel@twistedcode.net>

	[asp.net] Fix for bug #629990 In-Proc session state must remove
	cache prefix from item key

	When the in-proc session handler puts items in the internal cache,
	it prefixes them with the @@@InProc@ prefix to make sure they
	don't conflict with other values stored there. The handler has
	been failing so far to remove that prefix when triggering the
	session end event. This commit fixes the issue.

2010-02-24  Marek Habersack  <mhabersack@novell.com>

	* SessionStateServerHandler.cs, SessionSQLServerHandler.cs: added
	support for session state compression (4.0)

2010-01-20  Marek Habersack  <mhabersack@novell.com>

	* SessionStateBehavior.cs: added (4.0)

2009-10-19  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: enabled SQL session state provider.

	* SessionSQLServerHandler.cs: implemented. Uses System.Data.Common
	for provider-agnostic implementation. Until an issue with Npgsql's
	2.0 factory missing is resolved it defaults to using
	Mono.Data.Sqlite as the provider.
	Selecting of the data provider is done by putting DbProviderName
	in the connection string specified in the
	<system.web/sessionState> configuration section.

2009-03-21  Marek Habersack  <mhabersack@novell.com>

	* HttpSessionState.cs: implemented the CookieMode property.

2008-09-15  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: correctly let the handler know if an item
	is new when calling SetAndReleaseItemExclusive. Fixes bug #424797
	If handler's GetItem doesn't initialize storeLockId to a non-null
	value, initialize it to 0. Fixes bug #424797

2008-07-29  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: use Request.FilePath instead of
	Request.BaseVirtualDirectory to retrieve the cookie-less session
	identifier. Fixes bug #397418

2008-06-04  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: set the application modifier path to bare
	session id.

2008-05-30  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: do not use synthetized event accessors
	(to avoid locks).

2008-04-24  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: reset the storage data item timeout to
	the HttpApplication.Session.Timeout value after the Session_Start
	event is fired. Fixes bug #382644

2007-11-05  Marek Habersack  <mhabersack@novell.com>

	* SessionStateModule.cs: use TimeSpan.TotalMinutes wherever a
	session timeout is required, so that sessions do not expire
	prematurely. Fixes bug #339026. Patch from Adriaan van Kekem
	<adriaanvk@gmail.com>, thanks!

2007-10-17  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: in certain situations the 'item'
	parameter passed to SetAndReleaseItemExclusive may be null. The
	issue was reported in bug #333898, but the reporter cannot provide
	a test case that triggers the issue. Added work around the problem
	in the way that should have the least impact on the rest of the
	code. If 'item' is null, then the new session item is created
	without the items and staticItems collections - they will be
	initialized to defaults when retrieving the session item. This is
	not a correct fix, but since there is no test case this is the
	best what can be done right now.

2007-10-15  Juraj Skripsky  <js@hotfeet.ch>

	* SessionStateModule.cs (Init): Use HttpApplication.LoadType,
	don't swallow TypeLoadException.

2007-10-15  Marek Habersack  <mhabersack@novell.com>

	* SessionStateServerHandler.cs: adjust order of field
	initialization. 

2007-09-18  Marek Habersack  <mhabersack@novell.com>

	* SessionIDManager.cs: preserve the query part of the url when
	redirecting with cookieless sessions active. Fixes bug #318790

2007-09-07  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: properly clone the
	ApplicationState.SessionObjects at the start of the request and
	use the copy when creating new storage items. That way session
	scope static objects are valid within a single session only. Fixes
	bug #82709

2007-08-14  Marek Habersack  <mhabersack@novell.com>

	* SessionStateServerHandler.cs: remove unused field.

2007-07-31  Marek Habersack  <mhabersack@novell.com>

	* 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-07-30  Igor Zelmanovich <igorz@mainsoft.com>

	* SessionStateModule.cs:
	ensure release (save) session state at OnEndRequest.	

2007-06-20  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: use HttpRuntime.InternalCache to keep
	the internal entries.

	* SessionStateModule.cs: if session is abandoned and the handler
	supports expiration, disable the handler's session expiration
	callback and call SessionStateUtility.RaiseSessionEnd
	directly. Fixes bug #81853.

2007-04-30  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: do not end session when setting and
	releasing item in mid-session. Fixes bugs #81440, #81140 and
	#80723

2007-04-18  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: added protection against raising early
	session end event when resetting item timeout. Fixes bug #81140

2007-03-12  Konstantin Triger <kostat@mainsoft.com>

	* SessionStateModule.cs: TARGET_J2EE: support only J2EE sessions.

2007-03-06  Marek Habersack  <mhabersack@novell.com>

	* SessionInProcHandler.cs: gracefully handle different value types
	in the session removal handler.

	* SessionStateModule.cs: create an empty container if session data
	is null. Fixes bug 80682

2007-02-19  Konstantin Triger <kostat@mainsoft.com>

	* SessionStateModule.cs: call Session_End callback only if the handler
		does not support expiration.

2007-01-20  Miguel de Icaza  <miguel@novell.com>

	* SessionStateModule.cs: Removed unused variables.

2007-01-07  Konstantin Triger <kostat@mainsoft.com>

	* SessionStateModule.cs: Implemented raising of Session_OnEnd event,
		refactoring.

2006-12-27  Konstantin Triger <kostat@mainsoft.com>

	* SessionIDManager.cs: Pass config to SessionStateModule.IsCookieLess.
	* SessionStateStoreData.cs: fix constructor signature.
	* SessionInProcHandler.cs, SessionStateServerHandler.cs: ensure has a default
		constructor to make instantiating same as for custom provider.
	* SessionStateModule.cs: support custom providers.

2006-12-20  Marek Habersack  <grendello@gmail.com>
	* SessionStateServerHandler.cs:
	implemented for the 2.0 model.

	* SessionStateUtility.cs:
	implemented.

	* SessionStateStoreProviderBase.cs:
	implemented.

	* SessionInProcHandler.cs:
	reimplemented for the 2.0 model.

	* SessionIDManager.cs: implemented.

	* SessionStateModule.cs: copied the
	file to new location and implemented the 2.0 model.

	* SessionSQLServerHandler.cs:
	created. Implementation not done yet.

	* HttpSessionStateContainer.cs: copied
	the file to new location and implemented the 2.0 model.

	* StateServerItem.cs: implementation
	for the 2.0 model.

	* HttpSessionState.cs: reimplemented
	for the 2.0 model.

	* RemoteStateServer.cs: copied the
	file to new location and added new code for the 2.0 model.

	* SessionStateItemCollection.cs:
	implemented.

	* SessionStateActions.cs: moved the
	file to new location and added the None member.

	* ISessionIDManager.cs: moved the file
	to new location.

	* SessionStateItemExpireCallback.cs:
	moved the file to new location.

	* IHttpSessionState.cs: moved the file
	to new location.

	* SessionStateStoreData.cs: moved the
	file to new location and modified for the 2.0 model.

	* ISessionStateItemCollection.cs:
	moved the file to new location.
