2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
	bug #53168. Avoid the creation of the ManualResetEvent in class Worker
	whenever possible.

2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: if we have a pending async event, delay socket closing
	until EndX is called. Fixes bug #53229. Check parameters and if the
	socket has been disposed. Implemented IDisposable explicitly. The
	threads created have IsBackground = true now.

2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.

2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: fix for several asynchronous methods to delay exception
	throwing.  Patch by Brad Fitzpatrick <brad@danga.com>.

2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* TcpListener.cs: get the LocalEndPoint from the socket after binding.
	Fixes bug #52329.

2003-10-20  Miguel de Icaza  <miguel@ximian.com>

	* TcpClient.cs: Fix void Dispose (bool disposing) to follow the
	pattern.  It was shutting down the managed resources even in the
	finalizer case, it should only do that when called from
	IDisposable.Dipose.

2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>

	* NetworkStream.cs: Added [In,Out] attributes to Read method.

2003-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* TcpListener.cs: various fixes to make the new tests pass. Closes
	bug #47848.

2003-08-10  Miguel de Icaza  <miguel@ximian.com>

	* UdpClient.cs (Receive): Fix Bug 45633;  We should do a blocking
	call until a datagram is arrives from the remote host.  This
	removes the 512 "magic" buffer size when we did not have any data.
 
2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NetworkStream.cs:
	* Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.

2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* Socket.cs: Added GetHashCode method

2003-07-14  Jerome Laban <jlaban@wanadoo.fr>

	* Socket.cs:
	* ProtocolType.cs:
	* SocketOptionLevel.cs:
	* TcpListener.cs:
	* TcpClient.cs:
	* UdpClient.cs:
	
	Added IPv6 support.

	* IPv6MulticastOption.cs: Added for IPv6 support.

2003-05-16  Dick Porter  <dick@ximian.com>

	* Socket.cs: Use Mono.Posix.UnixEndPoint if its available

2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* MulticastOption.cs: patch by Jerome Laban included in bug #42393.

2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs:
        (Select): don't create arrays if not needed.
        (Poll): call Select_internal directly.

	Warning: you need an up to date runtime for this to work!

2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
	Added more checks and throws.
	Small fixes in Send to avoid duplicating the buffer.
	Moved CheckIfDisposed calls to the start of the methods instead of doing
	the check inside a finally clause.

2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs:
	(SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.

2003-02-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
	NullReferenceException when the callback is null.

2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NetworkStream.cs: allow 0 size array in Write.

2003-02-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: make Worker.Connect and Receive work with non-blocking
	sockets. May be Receive* and Send* in Worker need to do the same. I'll
	wait for bug reports. Set IsCompleted to true before invoking the end
	callback. Fixes bug #38136.

2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NetworkStream.cs: the check for disposed should not be done in the
	finally clause.

2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* UdpClient.cs: fixed bug #36226.

2002-11-13  Dick Porter  <dick@ximian.com>

	* Socket.cs: Only close the socket in one place, ie the Dispose
	method.  Fixes bug 32054.

2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Socket.cs: offset == size == 0 it's ok in Send ().

2002-11-03  Phillip Pearson  <pp@myelin.co.nz>

	* TcpClient.cs: Fixed SetTcpClient() to pass through to the Client 
	property, which now sets stream to null (it's set by GetStream()).  This 
	should make GetStream() work on a TcpClient which has had the socket set 
	by assignment to the Client property, not only one that has been created 
	by TcpListener.AcceptTcpClient().

2002-10-08  Dick Porter  <dick@ximian.com>

	* Socket.cs: 
	* NetworkStream.cs: Bounds checking fixes, and better exception
	texts.  Changes by timothyjmills@hotmail.com (Timothy J. Mills).

2002-10-03  Dick Porter  <dick@ximian.com>

	* TcpClient.cs: NoDelay is a TCP option, not Socket

2002-09-16  Miguel de Icaza  <miguel@ximian.com>

	* SocketFlags.cs: Add missing enumeration.

	* UdpClient.cs: Make Dispose private.

2002-08-20  Dick Porter  <dick@ximian.com>

	* Socket.cs: Fix deadlock when the AsyncResult callback calls
	End*().  Set the async request's worker property so it can return
	results.  These two fixes combined fix bug 28092.

2002-06-24  Dick Porter  <dick@ximian.com>

	* Socket.cs: Make SetSocketOption cope with boolean values (they
	are passed as objects, not the ints the runtime was expecting)

2002-05-17  Lawrence Pit <loz@cable.a2000.nl>
 	* TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
	* NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable 
	routines, added	checks for disposed state.
	* UdpClient.cs: commented out GetHashCode and Equals as it's not
	overriden in ms.net implementation.

2002-05-17  Jaroslaw Kowalski <jarek@atm.com.pl>
	* TcpClient.cs: fixed SetTcpClient so that
	TcpListener.AcceptTcpClient works and allows
	you to call GetStream() on its result

2002-04-24  Dick Porter  <dick@ximian.com>

	* Socket.cs (Poll): Give correct argument to Select(), as spotted
	by Jaroslaw Kowalski <jarek@atm.com.pl>

2002-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* UdpClient.cs: implemented.

2002-04-02  Dick Porter  <dick@ximian.com>

	* TcpListener.cs: in Start(), set the socket listen backlog value
	to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)

2002-02-13  Dick Porter  <dick@ximian.com>

	* Socket.cs: Implemenent Select, Blocking, Connected,
	GetSocketOption, Poll, SetSocketOption and Shutdown

	* MulticastOption.cs: 
	* LingerOption.cs: Delete override methods that don't need to be
	implemented

2002-01-23  Miguel de Icaza  <miguel@ximian.com>

	* NetworkStream.cs: Implement class.

2002-01-23  Dick Porter  <dick@ximian.com>

	* SocketException.cs: Implemented

	* Socket.cs: Implemented most methods

	* LingerOption.cs: Made compile

	* AddressFamily.cs: Removed empty auto-generated comments

2002-01-17  Miguel de Icaza  <miguel@ximian.com>

	* SocketException.cs: Reimplemented.

2002-01-06  Ravi Pratap  <ravi@ximian.com>

	* ChangeLog : Add to this directory.

	* SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
	attribute decoration.
