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

	* HttpBrowserRequestInternal.cs: Make sure we set the cookie
	header.

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

	* BaseDomainPolicy.cs: Seal internal class
	* BrowserHttpWebAsyncResult.cs: Seal internal class
	* BrowserHttpWebRequest.cs: Seal internal class. Add 
	parameter name when throwing ArgumentException
	* BrowserHttpWebRequestInternal.cs: Seal internal class. Add 
	parameter name when throwing ArgumentException
	* BrowserHttpWebRequestStream.cs: Seal internal class
	* BrowserHttpWebResponse.cs: Seal internal class
	* ClientAccessPolicyParser.cs: Use String.IsNullOrEmpty to check
	namespaces
	* ICrossDomainPolicy.cs: Normalize parameter name.
	* NoAccessPolicy.cs, PolicyDownloadPolicy.cs, SiteOfOriginPolicy.cs: 
	Seal internal class. Match parameter name with interface.
	[Found using Gendarme]

	r: rolf

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

	* BrowserHttpWebRequestInternal.cs: Refactor critical code into
	a single new method. Check our uint to int conversion.

	r: toshok

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

	* BrowserHttpWebResponse.cs: Add comment to dtor about thread
	safety and remove the GetStatus method by getting all the
	required information in the ctor. This way firefox can't
	delete the native response object before we retrieve the status
	information.

	* BrowserHttpWebRequestInternal.cs: Add comment to dtor about
	thread safety and remove the BrowserHttpWebResponse.GetStatus
	hack: no longer necessary.

	* BrowserHttpWebRequest.cs: Add comment to dtor about thread
	safety.

	r: spouliot

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

	* CrossDomainPolicyManager.cs: Adapt to System.Net API change

	r: toshok

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

	* ClientAccessPolicy.cs: Add support for a single wildcard at the
	start of the host name.
	* ClientAccessPolicyParser.cs: Keep URI as string (instead of Uri)
	so we can process a wildcard in the host name later.

	re: jackson

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

	* BrowserHttpWebRequestInternal.cs: Unref the downloader we created
	upon destruction.

	r: sde

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

	* BaseDomainPolicy.cs: Add ApplicationRoot property and null the
	value when changing ApplicationUri (happens only when executing
	unit tests - but pretty important for them)
	* ClientAccessPolicy.cs: The Domain URI LocalPath (when provided) 
	restriction is based on	the XAP (not the html) file

	r: sde

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

	* ClientAccessPolicy.cs: Fix Domain comparison when the value
	differs from '*'
	* CrossDomainPolicyManager.cs: Expose GetRoot for the unit tests
	* FlashCrossDomainPolicy.cs: Only support Domain='*' like SL does
	and fix Secure property on AllowHttpRequestHeadersFrom

	r: andreia

2009-08-28  Sebastien Pouliot  <sebastien@ximian.com>

	* FlashCrossDomainPolicy.cs: Secure policy (default) means that
	only https:// apps can access https:// urls. However file:// apps
	can still access http:// urls.

	re: jackson

2009-08-27  Sebastien Pouliot  <sebastien@ximian.com> 

	* BaseDomainPolicy.cs: Fix comparison of header values so that
	SOAPAction != SOAPActionX while SOAPAction* == SOAPActionX

	re: toshok

2009-08-27  Sebastien Pouliot  <sebastien@ximian.com>

	* ClientAccessPolicy.cs: Fix the invalid path characters check in
	the query part. Be more compatible with SL (to the extent we 
	know) with the special case for unrestricted paths.
	* CrossDomainPolicyManager.cs: Avoid displaying policies errors
	on the console when it occurs from duplicate cached entries

	re: alan

2009-08-10  Chris Toshok  <toshok@ximian.com>

	* BrowserHttpWebRequestInternal.cs: make progress_delegate
	internal so BrowserHttpWebRequest can set it.

	* BrowserHttpWebRequest.cs (GetResponse): pass along our progress
	delegate to the internal webrequest.

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

	* ClientAccessPolicyParser.cs, FlashCrossDomainPolicyParser.cs:
	Silverlight accepts policies from (invalid) XML stream that starts
	with whitespaces.

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

	* BaseDomainPolicy.cs: Use SourceUri instead of (removed) RootUri

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

	* BrowserHttpWebRequest.cs: SL does not follow RFC2616 for 301 
	and will redirect on GET too.
	* ClientAccessPolicy.cs: Do not allow '%', ".." or "./" in cross
	domain URL since this is "often" the case (see MS bug URL). Fix
	local path matching and throw if a policy resource path is empty.
	* FlashCrossDomainPolicy.cs: Remove AllowAccessFromIdentity and 
	allow site-control when set to 'by-ftp-filename'.
	* FlashCrossDomainPolicyParser.cs: Throw if a boolean value is not 
	'true' or 'false'. Remove code from "allow-access-from-identity"
	since this is not supported by Silverlight.

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

	* BrowserHttpWebRequestInternal.cs: Override Headers so this internal
	class does not have to deal with the extra restriction (like it's
	caller needs to). Fix regressed DRT #859, 860 and 887
	* ClientAccessPolicy.cs: Remove unused AllowAllHeaders (it's now 
	part of the Headers nested class)

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

	* BrowserHttpWebRequestInternal.cs: Don't check headers here, it's
	the parent job to do so and it can also add some restricted ones.

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

	* BrowserHttpWebRequest.cs: Split in two. This part deals with SL
	specific behavior, like downloading cross-domain policies and http
	redirection. I.e. one request can be split into several connections.
	* BrowserHttpWebRequestInternal.cs: New. This part deals with the
	web browser. One request here, either real, policy or invisible - 
	like redirection, are all one connection.
	* BrowserHttpWebResponse.cs: Small changes to accomodate the split
	between BrowserHttpWebRequest / BrowserHttpWebRequestInternal
	* CrossDomainPolicyManager.cs: Simplify and remove dependency on
	WebClient
	* NoAccessPolicy.cs: New. Policy applied if no other valid policy
	is found for a cross-domain request

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

	* CrossDomainPolicyManager.cs: Oops, OpenPolicyReadAsync still
	exists (for a good reason) in mono/mcs HEAD

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

	* BaseDomainPolicy.cs: Simplify definition
	* ClientAccessPolicy.cs: Move out parser code (and dependence on
	System.Xml.dll)
	* ClientAccessPolicyParser.cs: Partial class for above. Move in
	parser code
	* CrossDomainPolicyManager.cs: Adapt for API changes
	* FlashCrossDomainPolicy.cs: Move out parser code (and dependence on
	System.Xml.dll)
	* FlashCrossDomainPolicyParser.cs: Partial class for above. Move in
	parser code

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

	* ClientAccessPolicy.cs: Refactored to use BaseDomainPolicy
	* FlashCrossDomainPolicy.cs: Refactored to use BaseDomainPolicy

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

	* BaseDomainPolicy.cs: New. Shared code between the Silverlight 
	and Flash policies.

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

	* BrowserHttpWebResponse.cs: Use a static method to avoid creating
	  a lot of instance delegates now that the header visitor callback
	  takes a context parameter.

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

	* FlashCrossDomainPolicy.cs: Fix 'permitted-cross-domain-policies'
	to support both 'all' and 'master-only'

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

	* BrowserHttpWebResponse.cs: Updated according to API changes.

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

	* BrowserHttpWebRequest.cs: Add policy support. Add FIXME about
	missing redirection support.

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

	* ClientAccessPolicy.cs: Fix headers checks and add checks for
	GrantedTo URI which is different than the application/XAP URI
	* CrossDomainPolicyManager.cs: Add support for web policy
	* FlashCrossDomainPolicy.cs: New. Heavlily based on Atsushi's
	earlier work in System.ServiceModel.dll

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

	* BrowserHttpWebResponse.cs: Simplify StatusCode property. Use 
	(internal) Headers property from WebResponse since we need them
	available while checking policies.

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

	* BrowserHttpWebRequest.cs: Fix Abort to happen at the "right" 
	moments (fix DRT#289). Reduce the likelyness that FF deleted the 
	BrowserHttpWebResponse by caching the Status code earlier. Make
	header checks in CheckProtocolViolation case insensitive (and 
	remove the existing allocation from AllKeys).
	* BrowserHttpWebResponse.cs: Expose GetStatus as internal

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

	* ClientAccessPolicy.cs: Implement ICrossDomainPolicy and
	fix scheme checks to verify the ports.
	* CrossDomainPolicyManager.cs: Add consts for the policy names
	* ICrossDomainPolicy.cs: New. Interface for policies.
	* PolicyDownloadPolicy.cs: New. Special policy used exclusively
	to download policies from web hosts.
	* SiteOfOriginPolicy.cs: New. Basic policy (always true) applied
	for the same "site of origin" requests.

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

	* CrossDomainPolicyManager.cs: Download and process a socket 
	policy to see if a Socket.ConnectAsync request can be granted
	to application code.
	* ClientAccessPolicy.cs: Parse Silverlight policy file. Adapted
	from Atsushi's work in System.ServiceModel.dll

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

	* BrowserHttpWebRequest.cs: Remove unused code (IsSameRangeKind).
	Remove duplicated code (already checked elsewhere). Add extra, 
	late header validations for GET (GetEndResponse). Fix DRT #533

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

	* BrowserHttpWebRequest.cs: Fix condition (and compiler warning).

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

	* BrowserHttpWebRequest.cs: Remove ContentType property (handled
	by ancestor) and set Content-Length correctly (and inside the 
	Headers too).

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

	* BrowserHttpWebRequest.cs: Directly set Content-Length on the 
	native downloader (not in the headers). Should fix downloading
	the unit tests logs on moonbuilder.

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

	* BrowserHttpWebRequest.cs: Remove Header property since this needs
	to be handled by the ancestor. Use SetHeader when we need to set
	an header without validation.
	* BrowserHttpWebRequestStream.cs: Modify class to become a wrapper
	which can be reused to set a stream to read-only for responses.
	* BrowserHttpWebResponse.cs (GetResponseStream): Wrap the 
	MemoryStream and make it read-only. Fix DRT #287

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

	* BrowserHttpWebRequest.cs: Override AllowReadStreamBuffering (with
	a MonoTODO) since it's used inside some tests. Don't directly set
	"Content-Length" inside the header collection.

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

	* BrowserHttpWebRequest.cs: Fix headers validation and DRT #532.

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

	* BrowserHttpWebRequest.cs: Method property only accept GET and 
	POST. Fix DRT#530

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

	* BrowserHttpWebRequest.cs: Generate all P/Invoke methods.

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

	* BrowserHttpWebRequest.cs: Ensure that we can find the presnse of 
	a response before calling EndGetResponse.

2009-02-12  Alan McGovern  <amcgovern@novell.com>

	* BrowserHttpWebRequest.cs: Fixed a race condition where
	  async_result would still be null if native callbacks were
	  invoked synchronously. 

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

	* BrowserHttpWeb(Request|Response).cs: Clean up our finalizer/abort
	semantics to avoid some crashes that could happen.

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

	* BrowserHttpWebRequest.cs: Ensure no exceptions reach native
	  code.

2009-01-23  Alan McGovern  <amcgovern@novell.com>

	* BrowserHttpWebRequest.cs: The callback object may be null and the
	result should be marked as Complete before the callback is invoked.

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

	* BrowserHttpWebRequest.cs: Fix the dtor and abort code to call the 
	right pinvokes.

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

	* BrowserHttpWebRequest.cs: Ensure we pass the correct handle to the
	DownloaderResponse.  Fixes the header visitor.

2008-11-28  Geoff Norton  <gnorton@novell.com>

	* BrowserHttpWebRequest.cs: Fix up some GCHandle lifecycle issues.
	Restore the delegate references that are passed to firefox to prevent
	them from being collected.

2008-11-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 

	* BrowserHttpWebRequest.cs: Use a GCHandle to prevent delegates from
	  being disposed when they shouldn't be.

2008-11-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 

	* BrowserHttpWebRequestStream.cs: Added.
	* BrowserHttpWebRequest.cs: Hack together a simple implementation of
	  Begin/EndGetRequestStream to get the test harness working.

2008-11-25  Geoff Norton  <gnorton@novell.com>

	* BrowserHttpWebResponse.cs: Get the status code and text from firefox, instead
	of the old broken implementation.

2008-11-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 

	* SoapHttpClientProtocol.cs: Corcompare fixes.

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

	* BrowserHttpWebRequest.cs: update to SL2 api.

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

	* BrowserHttpWebResponse.cs: update to SL2 api.

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

	* BrowserHttpWebRequest.cs: Only invoke a tick handler if we're not already
	on the main thread.

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

	* BrowserHttpWebRequest.cs: Ensure we keep the delegates we pass to firefox
	around so they don't get GC'd.

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

	* BrowserHttpWebRequest.cs: Prevent the TickCallHandler from being gc'd
	before its executed.

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

	* BrowserHttpWebRequest.cs: Implement support to update WebClient with
	the progress of the download
	* BrowserHttpWebResponse.cS: Implmenet a HeaderVisitor to support
	Content-Length

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

	* BrowserHttpWebRequest.cs: Updated to emit firefox calls on the main thread
	and use the new DownloaderRequest mechanism.
	* BrowserHttpWebResponse.cs: Setup to use a MemoryStream driven by the data
	available callback.

2008-08-01  Rolf Bjarne Kvinge <RKvinge@novell.com> 

	* BrowserHttpWebRequest.cs: Moved and stubbed stuff according to SL2B2.

2008-05-08  Chris Toshok  <toshok@ximian.com>

	* BrowserHttpWebRequest.cs: pass PluginHost.Handle to
	browser_http_request_new.

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

	* BrowserHttpWebRequest.cs, BrowserHttpWebResponse.cs:
	update to SL 2.0b1 API.
	Merged from the Moonlight 2 branch.

2008-01-29  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: build a full url from the page
	url if the uri passed to the request is not absolute.

2007-11-09  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebAsyncResult.cs
	* BrowserHttpWebResponse.cs
	* BrowserHttpWebRequest.cs:
		Do not allow methods that are called from the unmanaged
		site of the BrowserHttpRequest to bubble up exceptions.
2007-11-09  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: throw if an async request
	cannot be started.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs
	* BrowserHttpWebResponse.cs: implement response properties.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: throw on invalid requests.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebAsyncResult.cs
	* BrowserHttpWebRequest.cs: implement async requests.

2007-11-07  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebAsyncResult.cs: implement this cutie.

2007-11-07  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebAsyncResult.cs: Create a stub to be used
	to invoke responses asynchronously.

2007-11-07  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebResponse.cs: implement status.

2007-10-23  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: implement Abort
	and GetRequestStream.

2007-10-17  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs, BrowserHttpWebResponse: work
	on getting them use the new unamanaged BrowserHttp* stuff.

2007-10-17  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: start working on GetResponse().

2007-10-17  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebResponse.cs: stubbed out.

2007-10-17  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: implement AddRange.

2007-10-17  Jb Evain  <jbevain@novell.com>

	* BrowserHttpWebRequest.cs: implement some more properties.

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

	* BrowserHttpWebRequest.cs: Start implementing HTTP header related
	properties.

2007-06-05  Atsushi Enomoto  <atsushi@ximian.com>

	* SoapHttpClientProtocol.cs : CancelAsync() was missing.

2007-06-02  Atsushi Enomoto  <atsushi@ximian.com>

	* BrowserHttpWebRequest.cs SoapHttpClientProtocol.cs :
	  stubs (not going to implement by myself)

