2010-01-25  Sebastien Pouliot  <sebastien@ximian.com>

	* UdpAnySourceMulticastClient.cs: New. Stub for SL4
	* UdpSingleSourceMulticastClient.cs: New. Stub for SL4
	[Backport r150127]

2010-01-13  Sebastien Pouliot  <sebastien@ximian.com>

	* HttpWebRequest_2_1.cs: Throw for CookieContainer. It is 
	implemented only in the client http stack (and for a limited
	time in the browser stack too ;-)
	* InternalWebRequestStreamWrapper.cs: Keep the MemoryStream data
	available after closing/disposing (by user) since our own code
	will need it later (e.g. when posting like DRT287)
	* WebHeaderCollection_2_1.cs: Provide an argument to 
	ArgumentException. Found by Gendarme's ArgumentException
	InstantiateArgumentExceptionCorrectlyRule
	[Backport r149484]

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

	* WebRequest_2_1.cs: Rework registration wrt the two, browser
	and client, stacks offered in SL3. Only global works now.
	[Backport r149423]

2010-01-11  Sebastien Pouliot  <sebastien@ximian.com>

	* InternalWebRequestStreamWrapper.cs: New. Moved (and adapted) 
	from Moonlight System.Windows.Browser assembly.
	* InternalWebResponseStreamWrapper.cs: New. Moved (and adapted) 
	from Moonlight System.Windows.Browser assembly.
	* WebClient_2_1.cs: Remove custom delegate declaration (Gendarme's
	AvoidDeclaringCustomDelegatesRule). Remove locking over a variable
	(Gendarme's ReviewLockUsedOnlyForOperationsOnVariablesRule). 
	Avoid potential race with event handlers (Gendarme's 
	ProtectCallsToEventDelegatesRule). Implement OnWriteStreamClosed
	* WebRequest_2_1.cs: Signature change from delegate to 
	Action<long,long,object>. Found using Gendarme's
	AvoidDeclaringCustomDelegatesRule
	[Backport r149327]

2009-12-12  Rolf Bjarne Kvinge  <RKvinge@novell.com>

	* WebClient_2_1.cs: When creating the request we need to copy over
	any headers the user set on us. We also need to wrap
	InvalidOperationExceptions in WebExceptions.

2009-12-04  Sebastien Pouliot  <sebastien@ximian.com>

	* HttpStatusCode_2_1.cs: Remove. SL3 provides all status code 
	since they are used for the client stack
	* WebClient_2_1.cs: Add Credentials property and change
	ResponseHeaders property to public
	* WebRequest_2_1.cs: Add Credentials property
	[Backport r147704]

2009-12-04  Sebastien Pouliot  <sebastien@ximian.com> 

	* HttpWebRequest_2_1.cs: Add CookieCollection, need to be 
	implemented in the client stack
	* HttpWebResponse_2_1.cs: CookieContainer is virtual. Add FIXME
	to move (a real) implementation into the client stack
	* WebRequest_2_1.cs: Add Create(string) overload (SL3)
	[Backport r147670]

2009-11-17  Jackson Harper  <jackson@ximian.com>

	* WebResponse_2_1.cs: Update to the SL3 API.
	* HttpWebRequest.cs: Add cookies.
	
2009-09-24  Sebastien Pouliot  <sebastien@ximian.com> 

	* Dns_2_1.cs: New. Smaller version of Dns.cs that offers just
	enough for DnsEndPoint support

2009-09-24  Sebastien Pouliot  <sebastien@ximian.com>

	* DnsEndPoint_2_1.cs: Remove (now) unneeded method

2009-07-16  Sebastien Pouliot  <sebastien@ximian.com>

	* WebHeaderCollection_2_1.cs: Seal type.

2009-06-17  Sebastien Pouliot  <sebastien@ximian.com>

	* WebClient_2_1.cs: Fix BaseAddress and remove dual base[Address|
	String] variables.

2009-06-05  Sebastien Pouliot  <sebastien@ximian.com>

	* WebClient_2_1.cs: Make sure *CompletedEventArgs gets called 
	even in case an exception occurs before the BeginGetResponse 
	call. Adjust API for OpenReadCompletedEventArgs.

2009-06-04  Sebastien Pouliot  <sebastien@ximian.com>

	* WebClient_2_1.cs: Remove the creation of threads and use the
	async methods provided by WebRequest (and its friends). Use an
	internal object to lock on (not this). Remove comments from the
	original (mono) WebClient since the code has diverged so much.
	Fix DRT#326 (hopefully others too or at least more than it breaks)

2009-06-01  Sebastien Pouliot  <sebastien@ximian.com>

	* HttpWebRequest_2_1.cs: Avoid possible NRE while settings a
	complete collection.
	* WebResponse_2_1.cs: Use StringComparer.OrdinalIgnoreCase on 
	the prefix Dictionary

2009-05-26  Sebastien Pouliot  <sebastien@ximian.com>

	* WebClient_2_1.cs: Add internal WebHeaderCollection. Change
	signature for OpenPolicyReadAsync to take an addtional object
	* WebResponse_2_1.cs: Add internal WebHeaderCollection

2009-05-22  Sebastien Pouliot  <sebastien@ximian.com>

	* WebClient_2_1.cs: Add an internal OpenPolicyReadAsync. Check 
	result in ProcessResponse and throw if not Ok (200).
	* WebRequest_2_1.cs: Add an internal overload to BeginGetResponse
	from where we can handle downloading the policy.

2009-05-14  Sebastien Pouliot  <sebastien@ximian.com>

	* DnsEndPoint_2_1.cs: Add method to return an IPEndPoint from a
	DnsEndPoint that match the requested AddressFamily

2009-05-12  Sebastien Pouliot  <sebastien@ximian.com>

	* WebHeaderCollection_2_1.cs: Headers are case insensitive but we
	must keep them in their original form since AllKeys property will
	report them that way and user code (like DRT#288) can depends on
	this behavior.

2009-05-11  Sebastien Pouliot  <sebastien@ximian.com>

	* WebHeaderCollection_2_1.cs: Headers are removed only in special
	cases and never when the "this" property is used. Call ToLower
	in SetHeader too in order to avoid typos.

2009-05-11  Sebastien Pouliot  <sebastien@ximian.com>

	* HttpWebRequest_2_1.cs: Fix Accept and ContentType properties
	to use, with special care, the Headers property
	* WebHeaderCollection_2_1.cs (SetHeader): Add or remove header.

2009-05-10  Sebastien Pouliot  <sebastien@ximian.com>

	* HttpWebRequest_2_1.cs: Move Headers property logic here (as 
	shown by adding more unit tests)
	* WebClient_2_1.cs: Add comment that Headers are not validated
	there, but later.
	* WebHeaderCollection_2_1.cs: Add a SetHeader method that can 
	work around the normal validations that the "this" property
	needs to do.

2009-05-09  Sebastien Pouliot  <sebastien@ximian.com>

	* WebHeaderCollection_2_1.cs: When associated with a WebRequest 
	the header collection items needs to be validated since not all
	headers will be valid. Part of fix for DRT#532

2009-04-16  Sebastien Pouliot  <sebastien@ximian.com> 

	* HttpWebRequest_2_1.cs: Rework the throwing of NIE so gui-compare
	does not report them (since they are the "right" behavior)
	* WebClient_2_1.cs: Fix BaseAddress property to return the URI to 
	the XAP file. Implement protected GetWebRequest which will make an
	absolute URI from a relative one (using BaseAddress). That remove
	the need of the previous hack.
	* WebRequest_2_1.cs: Remove previous hack

2009-04-11  Sebastien Pouliot  <sebastien@ximian.com> 

	* WebClient_2_1.cs: WebClient allows relative URI...
	* WebRequest_2_1.cs: ...while WebRequest does not by default. 
	Also uncomment a few checks for new test cases

2009-04-11  Sebastien Pouliot  <sebastien@ximian.com>

	* DnsEndPoint_2_1.cs: Adjust exceptions wrt unit tests
	* HttpWebRequest_2_1.cs: Fix Headers property wrt unit tests: 
	* WebClient_2_1.cs: Fix some properties
	* WebHeaderCollection_2_1.cs: Adjust exceptions wrt unit tests
	* WebRequest_2_1.cs: Add RegisterPrefix functionality and add
	missing checks (fix unit tests)

2009-04-09  Sebastien Pouliot  <sebastien@ximian.com>

	* DnsEndPoint_2_1.cs: Fix header.
	* HttpStatusCode_2_1.cs: New. SL2 (short) version of the enum
	* HttpWebRequest_2_1.cs: Add missing members
	* WebExceptionStatus_2_1.cs: New. SL2 (short) version of the enum
	* WebHeaderCollection_2_1.cs: Implement S.C.IEnumerable

2009-03-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>

	* WebClient_2_1.cs: OnOpenReadCompleted and OnDownloadStringCompleted:
	make sure we don't pass any exceptions back to native code.

2009-03-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>

	* WebClient_2_1.cs: Stub out missing methods.
	* WriteStreamClosedEventArgs_2_1.cs: 
	* WriteStreamClosedEventHandler_2_1.cs: Added.

2009-02-05  Geoff Norton  <gnorton@novell.com>

	* WebClient_2_1.cs: Use g_timeout_add instead of g_idle_add here until
	SyncContext is ready, as its less prone to starvation.

2009-02-05  Geoff Norton  <gnorton@novell.com>

	* WebClient_2_1.cs: CancelAsync calls Thread.Interrupt so needs to be
	SecuritySafeCritical for now.

2009-01-26  Rolf Bjarne Kvinge  <rkvinge@novell.com>

	* WebClient_2_1.cs: Ensure we don't let exceptions go to native code.
	* HttpWebRequest_2_1.cs: Add AllowReadStreamBuffering.

2009-01-21  Geoff Norton  <gnorton@novell.com>

	* WebClient_2_1.cs: Make the ManualResetEvent local to the callback
	because a WebClient can be reused causing a wait-handle race here
	allowing a delegate to get collected causing a crash.

2009-01-21  Chris Toshok  <toshok@ximian.com>

	* WebClient_2_1.cs: add 1 method back in, CancelAsync.

2009-01-12  Geoff Norton  <gnorton@novell.com>

	* WebClient_2.1.cs: SL2 webclient supports BaseAddress.

2008-10-16  Jb Evain  <jbevain@novell.com>

	* WebHeaderCollection_2_1.cs: update to SL2 api.

2008-10-16  Jb Evain  <jbevain@novell.com>

	* WebResponse_2_1.cs: update API to SL2.

2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>

	* WebClient_2_1.cs: set the address on OpenReadCompletedEventArgs
	ctor.

2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>

	* WebClient_2_1.cs: enable the DownloadStringAsync code

2008-08-19  Geoff Norton  <gnorton@novell.com>

	* WebClient_2_1.cs: Keep a reference to the tick callback until its completed.

2008-08-18  Geoff Norton  <gnorton@novell.com>

	* WebRequest_2_1.cs: Set a delegate callback for BrowserHttpWebRequest
	to update progress.
	* WebClient_2_1.cs: Refactor the OnDownloadedChanged method, as its already
	emitting on the right thread.  Clean up the OnOpenReadCompleted method.
	Set a delegate callback for BrowserHttpWebRequest to updated Progress.

2008-08-17  Geoff Norton  <gnorton@novell.com>

	* WebRequest_2_1.cs: We support relative URI's now.

2008-08-14  Geoff Norton  <gnorton@novell.com>

	* WebClient_2_1.cs: A dirty hack to emit the events on the proper thread
	until we can figure out exactly how to leverage Dispatcher over here.

2008-06-18  Stephane Delcroix  <sdelcroix@novell.com>

	* WebRequest_2_1.cs: Load BrowserHttpWebRequest from the right assembly

2008-06-10  Stephane Delcroix  <sdelcroix@novell.com>

	* DnsEndPoint_2_1.cs: embed an IPAddress and rely on IPEndPoint
	for serialization.

2008-06-04  Stephane Delcroix  <sdelcroix@novell.com>

	* DnsEndPoint_2_1.cs: new DnsEndPoint class for SL2b1

2008-04-13  Jb Evain  <jbevain@novell.com>

	* *_2_1.cs: move the specific 2.1 System.Net code to the
	assembly System.Net.
