**** Merged from MCS ****
[mono-project.git] / mcs / class / System / System.Net.Sockets / ChangeLog
blobce596517605032fb1b27dee860a71d85306f5242
1 2004-10-14  Dick Porter  <dick@ximian.com>
3         * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
4         be the same as the listening socket.  This follows MS behaviour.
6 2004-08-04  Dick Porter  <dick@ximian.com>
8         * Socket.cs: Update Connected state in Select and Poll; this is
9         when we find out that non-blocking Connects succeed.  Fixes bug
10         62398.
12 2004-07-28  Dick Porter  <dick@ximian.com>
14         * Socket.cs: ReceiveFrom might not return a valid EndPoint.  Patch
15         by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
17 2004-07-15  Dick Porter  <dick@ximian.com>
19         * Socket.cs: Don't try and dereference a null array in Select()
20         (possible if a descriptor list of length 0 was passed.)  Patch by
21         Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
23 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
25         * Socket.cs: if'ed RemoveReferences calls.
27 2004-07-09  Dick Porter  <dick@ximian.com>
29         * Socket.cs: Slight tweak to allow unknown objects to be returned
30         by GetSocketOption().
32 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
34         * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
35         bug #60811.
37 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
39         * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
40         10035. Fixes bug #60563.
42 2004-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
44         * Socket.cs: fixed Accept for non-blocking sockets.
46 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
48         * LingerOption.cs: marked field private to fix API signature
49         * MulticastOption.cs: marked field private to fix API signature
51 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
53         * Socket.cs: throw ArgumentNullException if all the list are null OR
54         empty. Fixes bug #59632.
56 2004-05-21  Patrik Torstensson <totte@hiddenpeaks.com>
58         * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
59         
60         (AcceptTcpClient): Don't create TcpClient before a
61         connection is accepted.
62         
63         (LocalEndPoint): Use Server LocalEndPoint if connected
64         otherwise use endpoint from ctor.
65         
66         (Init): Save end point, not server endpoint. This did
67         cause TcpListener to ignore port sent via constructor.
69         (Pending): Fixed wait time (method should return directly)
70         
71         (Start): Moved Bind here instead of Init method; old method
72         caused us to bind ports even if the listener was stopped.
73         
74         (Stop): Null server when stopping
76 2004-05-13  Dick Porter  <dick@ximian.com>
78         * UdpClient.cs: 
79         * TcpClient.cs: Public API fixes
81 2004-05-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
83         * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
85 2004-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
87         * Socket.cs: fix for BeginConnect and non-blocking sockets.
89 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
91         * Socket.cs: Use assembly name const to load Mono.Posix.
93 2004-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
95         * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
96         I will remove this once THE bug is hunted.
98 2004-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
100         * Socket.cs: added support for unmanaged asynchronous IO. Speed up
101         error checking.
102         * UdpClient.cs: fixed Dispose so that it only closes the socket when
103         called explicitly.
105 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
107         * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
108         Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
109         when the socket is non-blocking before getting EWOULDBLOCK error.
111 2004-04-08  Dick Porter  <dick@ximian.com>
113         * Socket.cs: Rearrange the internal calls so that the exceptions
114         are thrown from managed code
116 2004-03-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
118         * Socket.cs: when Dispose (bool) is called from the finalizer, always
119         do the cleanup. Fixes yet another nullref with xsp.
121 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
123         * Socket.cs: implemented IOControl.
125 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
127         * Socket.cs: use the threadpool for asynchronous calls instead of
128         creating new threads.
130 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
132         * Socket.cs: added locks around waithandle assign and comparison in
133         class Worker. Handle other exceptions than SocketException for
134         non-blocking sockets.
136 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
138         * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
139         bug #53168. Avoid the creation of the ManualResetEvent in class Worker
140         whenever possible.
142 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
144         * Socket.cs: if we have a pending async event, delay socket closing
145         until EndX is called. Fixes bug #53229. Check parameters and if the
146         socket has been disposed. Implemented IDisposable explicitly. The
147         threads created have IsBackground = true now.
149 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
151         * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
153 2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
155         * Socket.cs: fix for several asynchronous methods to delay exception
156         throwing.  Patch by Brad Fitzpatrick <brad@danga.com>.
158 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
160         * TcpListener.cs: get the LocalEndPoint from the socket after binding.
161         Fixes bug #52329.
163 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
165         * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
166         pattern.  It was shutting down the managed resources even in the
167         finalizer case, it should only do that when called from
168         IDisposable.Dipose.
170 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
172         * NetworkStream.cs: Added [In,Out] attributes to Read method.
174 2003-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
176         * TcpListener.cs: various fixes to make the new tests pass. Closes
177         bug #47848.
179 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
181         * UdpClient.cs (Receive): Fix Bug 45633;  We should do a blocking
182         call until a datagram is arrives from the remote host.  This
183         removes the 512 "magic" buffer size when we did not have any data.
185 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
187         * NetworkStream.cs:
188         * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
190 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
192         * Socket.cs: Added GetHashCode method
194 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
196         * Socket.cs:
197         * ProtocolType.cs:
198         * SocketOptionLevel.cs:
199         * TcpListener.cs:
200         * TcpClient.cs:
201         * UdpClient.cs:
202         
203         Added IPv6 support.
205         * IPv6MulticastOption.cs: Added for IPv6 support.
207 2003-05-16  Dick Porter  <dick@ximian.com>
209         * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
211 2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
213         * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
215 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
217         * Socket.cs:
218         (Select): don't create arrays if not needed.
219         (Poll): call Select_internal directly.
221         Warning: you need an up to date runtime for this to work!
223 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
225         * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
226         Added more checks and throws.
227         Small fixes in Send to avoid duplicating the buffer.
228         Moved CheckIfDisposed calls to the start of the methods instead of doing
229         the check inside a finally clause.
231 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
233         * Socket.cs:
234         (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
236 2003-02-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
238         * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
239         NullReferenceException when the callback is null.
241 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
243         * NetworkStream.cs: allow 0 size array in Write.
245 2003-02-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
247         * Socket.cs: make Worker.Connect and Receive work with non-blocking
248         sockets. May be Receive* and Send* in Worker need to do the same. I'll
249         wait for bug reports. Set IsCompleted to true before invoking the end
250         callback. Fixes bug #38136.
252 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
254         * NetworkStream.cs: the check for disposed should not be done in the
255         finally clause.
257 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
259         * UdpClient.cs: fixed bug #36226.
261 2002-11-13  Dick Porter  <dick@ximian.com>
263         * Socket.cs: Only close the socket in one place, ie the Dispose
264         method.  Fixes bug 32054.
266 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
268         * Socket.cs: offset == size == 0 it's ok in Send ().
270 2002-11-03  Phillip Pearson  <pp@myelin.co.nz>
272         * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client 
273         property, which now sets stream to null (it's set by GetStream()).  This 
274         should make GetStream() work on a TcpClient which has had the socket set 
275         by assignment to the Client property, not only one that has been created 
276         by TcpListener.AcceptTcpClient().
278 2002-10-08  Dick Porter  <dick@ximian.com>
280         * Socket.cs: 
281         * NetworkStream.cs: Bounds checking fixes, and better exception
282         texts.  Changes by timothyjmills@hotmail.com (Timothy J. Mills).
284 2002-10-03  Dick Porter  <dick@ximian.com>
286         * TcpClient.cs: NoDelay is a TCP option, not Socket
288 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
290         * SocketFlags.cs: Add missing enumeration.
292         * UdpClient.cs: Make Dispose private.
294 2002-08-20  Dick Porter  <dick@ximian.com>
296         * Socket.cs: Fix deadlock when the AsyncResult callback calls
297         End*().  Set the async request's worker property so it can return
298         results.  These two fixes combined fix bug 28092.
300 2002-06-24  Dick Porter  <dick@ximian.com>
302         * Socket.cs: Make SetSocketOption cope with boolean values (they
303         are passed as objects, not the ints the runtime was expecting)
305 2002-05-17  Lawrence Pit <loz@cable.a2000.nl>
306         * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
307         * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable 
308         routines, added checks for disposed state.
309         * UdpClient.cs: commented out GetHashCode and Equals as it's not
310         overriden in ms.net implementation.
312 2002-05-17  Jaroslaw Kowalski <jarek@atm.com.pl>
313         * TcpClient.cs: fixed SetTcpClient so that
314         TcpListener.AcceptTcpClient works and allows
315         you to call GetStream() on its result
317 2002-04-24  Dick Porter  <dick@ximian.com>
319         * Socket.cs (Poll): Give correct argument to Select(), as spotted
320         by Jaroslaw Kowalski <jarek@atm.com.pl>
322 2002-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
324         * UdpClient.cs: implemented.
326 2002-04-02  Dick Porter  <dick@ximian.com>
328         * TcpListener.cs: in Start(), set the socket listen backlog value
329         to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
331 2002-02-13  Dick Porter  <dick@ximian.com>
333         * Socket.cs: Implemenent Select, Blocking, Connected,
334         GetSocketOption, Poll, SetSocketOption and Shutdown
336         * MulticastOption.cs: 
337         * LingerOption.cs: Delete override methods that don't need to be
338         implemented
340 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
342         * NetworkStream.cs: Implement class.
344 2002-01-23  Dick Porter  <dick@ximian.com>
346         * SocketException.cs: Implemented
348         * Socket.cs: Implemented most methods
350         * LingerOption.cs: Made compile
352         * AddressFamily.cs: Removed empty auto-generated comments
354 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
356         * SocketException.cs: Reimplemented.
358 2002-01-06  Ravi Pratap  <ravi@ximian.com>
360         * ChangeLog : Add to this directory.
362         * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
363         attribute decoration.