2008-09-06 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System / System.Net.Sockets / ChangeLog
1 2008-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * Socket.cs : (SocketAsyncResult) release byte buffer early so that
4           it does not have to store extra data in pool. Fixed bug #397627.
5
6 2008-07-31  Jb Evain  <jbevain@novell.com>
7
8         * Socket.cs
9         * NetworkStream.cs: cleanup for NET_2_1
10
11         * SocketException_2_1.cs: new specific version for NET_2_1.
12
13 2008-06-19  Dick Porter  <dick@ximian.com>
14
15         * Socket.cs: Implement generic Send() and Receive() methods.
16         Fixes bug 395168.
17
18 2008-06-12  Stephane Delcroix  <sdelcroix@novell.com>
19
20         * Socket.cs: minimal changes to run in the 2.1 profile
21
22 2008-06-11  Stephane Delcroix  <sdelcroix@novell.com>
23
24         * SocketAsyncEventArgs.cs: catch SocketException in ConnectAsync
25         and set the SocketError accordingly.
26
27 2008-05-09  Marek Habersack  <mhabersack@novell.com>
28
29         * SocketAsyncEventArgs.cs: implemented support for executing
30         asynchronous socket actions, called from the new xxxxAsync methods
31         in Socket. The asynchronous operations do not use the ThreadPool
32         as I can't get the sample applications to work (send/receive
33         callbacks don't work) - it may change in the future.
34
35         * Socket.cs: implemented several xxxxAsync 2.0sp1 methods. The
36         ones not implemented for now are: ReceiveMessageFromAsync and
37         SendPacketsAsync. AcceptAsync doesn't perform the check for the
38         buffer size for now - need to implement runtime support for that.
39         Made several methods internal, so that they can be accessed from
40         SocketAsyncEventArgs code.
41
42 2008-05-08  Marek Habersack  <mhabersack@novell.com>
43
44         * SocketAsyncOperation.cs, SendPacketsElement.cs,
45         SocketAsyncEventArgs.cs: added initial implementations for
46         2.0SP1/3.5 classes used in the (to be implemented) new xxxAsync
47         methods of the Socket class.
48
49 2008-04-17  Miguel de Icaza  <miguel@novell.com>
50
51         * NetworkStream.cs: Throw an IOException if the socket is not
52         connected, not an ArgumentException.   
53
54         Fixes #371923, it is also the way its documented on MSDN. 
55
56 2008-04-13  Jb Evain  <jbevain@novell.com>
57
58         * Socket.cs: ifdef out the Sys.Config part for the
59         2.1 profile.
60         Merged from the Moonlight 2 branch.
61
62 Wed Mar 12 20:06:07 CET 2008 Paolo Molaro <lupus@ximian.com>
63
64         * Socket.cs: add a static ctor so that ipv4Supported and ipv6Supported
65         are initialized (they are used by the runtime).
66
67 2008-02-01  Dick Porter  <dick@ximian.com>
68
69         * TcpClient.cs: If the Connect fails (when given an array of
70         addresses) leave the socket object in a usable state.  Fixes bug
71         355473.
72
73 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * NetworkStream.cs : in 2.0 Close() is not needed and does not exist.
76
77 2007-11-01  Miguel de Icaza  <miguel@novell.com>
78
79         * Socket.cs: Do not set the Send and Receive buffer sizes for the
80         socket to the defaults set on Windows, they kill our performance.
81
82         Thanks to Zoltan Varga for tracking the performance issue down.
83         The bug was #325032
84
85 2007-10-30  Dick Porter  <dick@ximian.com>
86
87         * UdpClient.cs: Don't set the multicast option twice.  Fixes bug
88         324033.
89
90 2007-10-21  Robert Jordan  <robertj@gmx.net>
91
92         * Socket.cs: Remove GetHashCode override from the NET_2_0
93         profile. Add LAMESPEC comment. Fixes bug #325113.
94
95 2007-09-22  Gert Driesen  <drieseng@users.sourceforge.net>
96
97         * Socket.cs: Removed unused method.
98
99 2007-08-02  Dick Porter  <dick@ximian.com>
100
101         * Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
102         improve EndPoint handling.
103
104 2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
105
106         * Socket.cs: Code formatting. Marked not implemented methods as TODO.
107         Removed extra spaces.
108
109 2007-07-04  Dick Porter  <dick@ximian.com>
110
111         * Socket.cs: Don't set DontFragment by default for IPv6 sockets.
112         Fixes bug 81985.
113
114 2007-05-16 Adar Wesley <adarw@mainsoft.com>
115
116         * Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
117         Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
118         BeginReceiveMessageFrom, EndReceiveMessageFrom, 
119         EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive, 
120         EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
121         DuplicateAndClose
122
123 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
124
125         * Socket.jvm.cs: Handle property throws NotImplementedException.        
126
127 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
128
129         * NetworkStream.cs:
130         * TcpClient.cs:
131         * TcpListener.cs:
132         * UdpClient.cs:                 
133         added MonoNotSupported attribute for TARGATE_JVM.       
134                 
135 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
136
137         * TcpClient.cs: Do not initialize network stream in Connect. In
138         Dispose, only nullify client if network stream was not obtained.
139         Fixes bug #81105.
140
141 2007-01-30  Ilya Kharmatsky <ilyak -at- mainsoft.com>
142
143         * Socket.jvm.cs: additional stubs for net_2_0 properties,
144         bug fixes (EnsureStillUsable method inserted)
145
146 2007-01-28  Ilya Kharmatsky <ilyak -at- mainsoft.com>
147
148         * Socket.jvm.cs: added stubs for net_2_0 properties and methods.
149
150 2007-01-26  Dick Porter  <dick@ximian.com>
151
152         * Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile.  Stub
153         out BeginReceiveMessageFrom(), BeginSendFile(),
154         EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
155         SendFile().
156
157         * IPPacketInformation.cs: New in the 2.0 profile
158
159         * SocketFlags.cs: Remove useless (and empty) inline documentation,
160         and add 2.0 items.
161
162         * TcpListener.cs: Mark Server as public in the 2.0 profile.
163
164         * UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
165         profile.
166
167         System.Net.Sockets should now be 2.0-complete.
168
169 2007-01-26  Dick Porter  <dick@ximian.com>
170
171         * Socket.cs: There's no point checking the SO_ERROR status of a
172         socket after poll() or select() if we already know that connected
173         == true.
174
175 2007-01-24  Dick Porter  <dick@ximian.com>
176
177         * IOControlCode.cs: 
178         * SocketInformationOptions.cs: 
179         * TransmitFileOptions.cs: Fix enum values
180
181         * AddressFamily.cs: Not Serializable in the 2.0 profile
182
183 2007-01-24  Dick Porter  <dick@ximian.com>
184
185         * NetworkStream.cs: 2.0 profile updates, based on a patch by
186         Sridhar Kulkarni (sridharkulkarni@gmail.com)
187
188 2007-01-23  Dick Porter  <dick@ximian.com>
189
190         * TcpListener.cs: 
191         * TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
192         Kulkarni (sridharkulkarni@gmail.com)
193
194 2007-01-22  Miguel de Icaza  <miguel@novell.com>
195
196         * Socket.cs: Move the throw new NotImplementedException ()
197         elsewhere to prevent Moma reports.
198
199 2007-01-20  Dick Porter  <dick@ximian.com>
200
201         * Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
202         thrown from setting default socket options - some platforms might
203         not support a particular default we're trying to set.
204
205 2007-01-11  Dick Porter  <dick@ximian.com>
206
207         * IOControlCode.cs: 
208         * SocketInformation.cs: 
209         * Socket.cs: 
210         * UdpClient.cs: 2.0 profile updates, loosely based on a patch by
211         Sridhar Kulkarni.
212
213         * SocketInformationOptions.cs: 
214         * TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
215         (sridharkulkarni@gmail.com)
216
217 Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
218
219         * Socket.cs: stub ReceiveBufferSize and SendBufferSize to
220         get ironpython to compile.
221
222 2006-11-23  Dick Porter  <dick@ximian.com>
223
224         * Socket.cs: Only set Connected = true in Poll() and Select() if
225         the socket error status is 0.  Fixes bug 79878.
226
227 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
228
229         * Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
230
231 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
232
233         * Socket.cs: update the SocketOperation enum.
234
235 2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
236
237         * Socket.cs: replace hardcoded error numbers with the SocketError
238         values. When ReceiveTimeout is set on a blocking socket, correctly
239         report timeouts in the generated exception.
240         
241         * SocketException.cs: add new internal ctor (int, string).
242
243 2006-08-12  Miguel de Icaza  <miguel@novell.com>
244
245         * Socket.cs (NoDelay): Implement.
246
247 2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
248
249         * Socket.cs: patch from Sanghyeon Seo that implements
250         (Send|Receive)Timeout for 2.0.
251         * MulticastOption.cs: more 2.0 stuff.
252
253 2006-06-28  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
256           Also make sure to avoid NRE.
257
258 2006-06-24  Zoltan Varga  <vargaz@gmail.com>
259
260         * Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
261
262 2006-06-20  Zoltan Varga  <vargaz@gmail.com>
263
264         * ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
265
266 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
267
268         * NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
269
270 2006-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * Socket.cs:
273         * SocketError.cs: implemented Reseive/Send overloads that do not throw
274         in case of error. Patch by Tomi Valkeinen.
275
276 2006-03-11  Miguel de Icaza  <miguel@novell.com>
277
278         * NetworkStream.cs (Dispose): Use the right signature depending on
279         the profile being built.
280
281 2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
282
283         * Socket.cs: pass something not empty to the unixep ctor.
284
285 2006-03-03  Dick Porter  <dick@ximian.com>
286
287         * UdpClient.cs: Fix IPv6 family check.  Fixes bug 77689.
288
289 2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * TcpClient.cs: when the socket is not connected, don't try to set the
292         socket options, as they are ignored on linux. Wait until Connect
293         succeeds and then apply the options.
294
295 2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296
297         * Socket.cs: added a missing overload for SetSocketOption.
298
299 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
300
301         * Socket.cs: use the 2.0 configuration classes when checking for IPv6
302         support.
303
304 2006-01-04  Sebastien Pouliot  <sebastien@ximian.com>
305
306         * TcpClient.cs: The Client property is public in 2.0 while it was
307         protected in earlier release. Fix bug #77048.
308
309 2005-12-07  Robert Jordan  <robertj@gmx.net>
310
311         * SocketError.cs: Added.
312         * SocketException: Implemented SocketErrorCode. Fixes bug #76915.
313
314 2005-10-11  Dick Porter  <dick@ximian.com>
315
316         * Socket.cs: Don't call connect(2) twice for non-blocking sockets,
317         it breaks on macos (and probably other bsd-based stacks too,) use
318         poll() and getsockopt() to check if it worked.
319
320 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
321
322         * Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
323
324 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
325
326         * TcpClient.cs: patch by Hans Kratz that uses an integer when setting
327         NoDelay instead of a bool, which is only handled in 2.0.
328
329 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
330
331         * Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
332
333 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
334
335         * Socket.cs: adapted Select to the new Select_internal that uses poll()
336         instead of select(). Managed part of the fix for bug #71203.
337
338 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
339
340         * Socket.cs: apply the same hack on blocking Connect calls as the one
341         used in Accept.
342
343 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
344
345         * Socket.cs: see bug #74842, which is fixed with this patch for details
346         and test cases on the blocking behavior of accept() when close() is
347         called from another thread. The solution applied is to Abort the thread
348         that is blocking in Accept_internal() when someone calls Close (), then
349         reset the abort state if the socket is disposed and return the same
350         error as MS (10004 - interrupted).
351
352 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
353
354         * Socket.cs: match MS behavior on SetSocketOption with a boolean
355         argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
356         into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
357         in the 3 SetSocketOption.
358
359 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
360
361         * Socket.cs: if there are outstanding aio requests and one of them gets
362         an ObjectDisposedException, throw the same exception for the rest.
363
364 2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
365
366         * Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
367         that kept sockets opened until all AIO operations where finished. If
368         the socket is closed, Receive returns 0 in EndReceive, the rest throw
369         the ObjectDisposedException. Set the socket handle to -1 when closing.
370
371 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
372
373         * Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
374         or an exception is thrown. Fixes bug #74475.
375
376 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377
378         * Socket.cs: no need for locking in Worker. The actual read / write for
379         Receive / Send is performed in the runtime time.
380
381 2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
382
383         * Socket.cs: added a 'blocking' field that is passed to the runtime.
384
385 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
386
387         * Socket.cs: invoke the callback after scheduling the next request for
388         the socket. Fixes bug #74539.
389
390 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
391
392         * Socket.cs: update socket connected status in an async request finishes
393         synchronously. Use 'callback' instead of 'real_callback' field, which is
394         now unused.
395
396 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
397
398         * Socket.cs: added SocketOperation enum and 2 new fields to
399         SocketAsyncResult that are used by the runtime. Asynchronous read/write
400         are serialized so that only 1 of each kind is really 'active'.
401         Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
402         in the threadpool.
403
404         * NetworkStream.cs: better message for the exception.
405
406 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
407
408         * Socket.cs: remove unused async IO code.
409
410 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
411
412         * Socket.cs: don't Poll/block in Connect aither.
413
414 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
415
416         * Socket.cs: don't block on Accept if the socket is non-blocking.
417         Fixes bug #73053. Patch by Ankit Jain.
418
419 2005-02-23  Dick Porter  <dick@ximian.com>
420
421         * UdpClient.cs: Set the Broadcast option, as apparently the MS
422         runtime defaults make UDP sockets broadcastable.
423
424 2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
425
426         * Socket.cs: for Receive*/Send*, don't set the connected status to false
427         when the error is EINPROGRESS or EWOULDBLOCK.
428
429 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
430
431         * NetworkStream.cs: Write should ensure that writes all the contents
432         of the buffer. Fixes bug #70123. Besos para Miguelito.
433
434 2004-10-14  Dick Porter  <dick@ximian.com>
435
436         * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
437         be the same as the listening socket.  This follows MS behaviour.
438
439 2004-08-04  Dick Porter  <dick@ximian.com>
440
441         * Socket.cs: Update Connected state in Select and Poll; this is
442         when we find out that non-blocking Connects succeed.  Fixes bug
443         62398.
444
445 2004-07-28  Dick Porter  <dick@ximian.com>
446
447         * Socket.cs: ReceiveFrom might not return a valid EndPoint.  Patch
448         by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
449
450 2004-07-15  Dick Porter  <dick@ximian.com>
451
452         * Socket.cs: Don't try and dereference a null array in Select()
453         (possible if a descriptor list of length 0 was passed.)  Patch by
454         Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
455
456 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
457
458         * Socket.cs: if'ed RemoveReferences calls.
459
460 2004-07-09  Dick Porter  <dick@ximian.com>
461
462         * Socket.cs: Slight tweak to allow unknown objects to be returned
463         by GetSocketOption().
464
465 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
466
467         * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
468         bug #60811.
469
470 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
471
472         * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
473         10035. Fixes bug #60563.
474
475 2004-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
476
477         * Socket.cs: fixed Accept for non-blocking sockets.
478
479 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
480
481         * LingerOption.cs: marked field private to fix API signature
482         * MulticastOption.cs: marked field private to fix API signature
483
484 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
485
486         * Socket.cs: throw ArgumentNullException if all the list are null OR
487         empty. Fixes bug #59632.
488
489 2004-05-21  Patrik Torstensson <totte@hiddenpeaks.com>
490
491         * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
492         
493         (AcceptTcpClient): Don't create TcpClient before a
494         connection is accepted.
495         
496         (LocalEndPoint): Use Server LocalEndPoint if connected
497         otherwise use endpoint from ctor.
498         
499         (Init): Save end point, not server endpoint. This did
500         cause TcpListener to ignore port sent via constructor.
501
502         (Pending): Fixed wait time (method should return directly)
503         
504         (Start): Moved Bind here instead of Init method; old method
505         caused us to bind ports even if the listener was stopped.
506         
507         (Stop): Null server when stopping
508
509 2004-05-13  Dick Porter  <dick@ximian.com>
510
511         * UdpClient.cs: 
512         * TcpClient.cs: Public API fixes
513
514 2004-05-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
515
516         * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
517
518 2004-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
519
520         * Socket.cs: fix for BeginConnect and non-blocking sockets.
521
522 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
523
524         * Socket.cs: Use assembly name const to load Mono.Posix.
525
526 2004-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
527
528         * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
529         I will remove this once THE bug is hunted.
530
531 2004-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
532
533         * Socket.cs: added support for unmanaged asynchronous IO. Speed up
534         error checking.
535         * UdpClient.cs: fixed Dispose so that it only closes the socket when
536         called explicitly.
537
538 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
539
540         * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
541         Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
542         when the socket is non-blocking before getting EWOULDBLOCK error.
543
544 2004-04-08  Dick Porter  <dick@ximian.com>
545
546         * Socket.cs: Rearrange the internal calls so that the exceptions
547         are thrown from managed code
548
549 2004-03-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
550
551         * Socket.cs: when Dispose (bool) is called from the finalizer, always
552         do the cleanup. Fixes yet another nullref with xsp.
553
554 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
555
556         * Socket.cs: implemented IOControl.
557
558 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
559
560         * Socket.cs: use the threadpool for asynchronous calls instead of
561         creating new threads.
562
563 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
564
565         * Socket.cs: added locks around waithandle assign and comparison in
566         class Worker. Handle other exceptions than SocketException for
567         non-blocking sockets.
568
569 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
570
571         * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
572         bug #53168. Avoid the creation of the ManualResetEvent in class Worker
573         whenever possible.
574
575 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
576
577         * Socket.cs: if we have a pending async event, delay socket closing
578         until EndX is called. Fixes bug #53229. Check parameters and if the
579         socket has been disposed. Implemented IDisposable explicitly. The
580         threads created have IsBackground = true now.
581
582 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
583
584         * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
585
586 2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
587
588         * Socket.cs: fix for several asynchronous methods to delay exception
589         throwing.  Patch by Brad Fitzpatrick <brad@danga.com>.
590
591 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
592
593         * TcpListener.cs: get the LocalEndPoint from the socket after binding.
594         Fixes bug #52329.
595
596 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
597
598         * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
599         pattern.  It was shutting down the managed resources even in the
600         finalizer case, it should only do that when called from
601         IDisposable.Dipose.
602
603 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
604
605         * NetworkStream.cs: Added [In,Out] attributes to Read method.
606
607 2003-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
608
609         * TcpListener.cs: various fixes to make the new tests pass. Closes
610         bug #47848.
611
612 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
613
614         * UdpClient.cs (Receive): Fix Bug 45633;  We should do a blocking
615         call until a datagram is arrives from the remote host.  This
616         removes the 512 "magic" buffer size when we did not have any data.
617  
618 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
619
620         * NetworkStream.cs:
621         * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
622
623 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
624
625         * Socket.cs: Added GetHashCode method
626
627 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
628
629         * Socket.cs:
630         * ProtocolType.cs:
631         * SocketOptionLevel.cs:
632         * TcpListener.cs:
633         * TcpClient.cs:
634         * UdpClient.cs:
635         
636         Added IPv6 support.
637
638         * IPv6MulticastOption.cs: Added for IPv6 support.
639
640 2003-05-16  Dick Porter  <dick@ximian.com>
641
642         * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
643
644 2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
645
646         * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
647
648 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
649
650         * Socket.cs:
651         (Select): don't create arrays if not needed.
652         (Poll): call Select_internal directly.
653
654         Warning: you need an up to date runtime for this to work!
655
656 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
657
658         * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
659         Added more checks and throws.
660         Small fixes in Send to avoid duplicating the buffer.
661         Moved CheckIfDisposed calls to the start of the methods instead of doing
662         the check inside a finally clause.
663
664 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
665
666         * Socket.cs:
667         (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
668
669 2003-02-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
670
671         * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
672         NullReferenceException when the callback is null.
673
674 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
675
676         * NetworkStream.cs: allow 0 size array in Write.
677
678 2003-02-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
679
680         * Socket.cs: make Worker.Connect and Receive work with non-blocking
681         sockets. May be Receive* and Send* in Worker need to do the same. I'll
682         wait for bug reports. Set IsCompleted to true before invoking the end
683         callback. Fixes bug #38136.
684
685 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
686
687         * NetworkStream.cs: the check for disposed should not be done in the
688         finally clause.
689
690 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
691
692         * UdpClient.cs: fixed bug #36226.
693
694 2002-11-13  Dick Porter  <dick@ximian.com>
695
696         * Socket.cs: Only close the socket in one place, ie the Dispose
697         method.  Fixes bug 32054.
698
699 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
700
701         * Socket.cs: offset == size == 0 it's ok in Send ().
702
703 2002-11-03  Phillip Pearson  <pp@myelin.co.nz>
704
705         * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client 
706         property, which now sets stream to null (it's set by GetStream()).  This 
707         should make GetStream() work on a TcpClient which has had the socket set 
708         by assignment to the Client property, not only one that has been created 
709         by TcpListener.AcceptTcpClient().
710
711 2002-10-08  Dick Porter  <dick@ximian.com>
712
713         * Socket.cs: 
714         * NetworkStream.cs: Bounds checking fixes, and better exception
715         texts.  Changes by timothyjmills@hotmail.com (Timothy J. Mills).
716
717 2002-10-03  Dick Porter  <dick@ximian.com>
718
719         * TcpClient.cs: NoDelay is a TCP option, not Socket
720
721 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
722
723         * SocketFlags.cs: Add missing enumeration.
724
725         * UdpClient.cs: Make Dispose private.
726
727 2002-08-20  Dick Porter  <dick@ximian.com>
728
729         * Socket.cs: Fix deadlock when the AsyncResult callback calls
730         End*().  Set the async request's worker property so it can return
731         results.  These two fixes combined fix bug 28092.
732
733 2002-06-24  Dick Porter  <dick@ximian.com>
734
735         * Socket.cs: Make SetSocketOption cope with boolean values (they
736         are passed as objects, not the ints the runtime was expecting)
737
738 2002-05-17  Lawrence Pit <loz@cable.a2000.nl>
739         * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
740         * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable 
741         routines, added checks for disposed state.
742         * UdpClient.cs: commented out GetHashCode and Equals as it's not
743         overriden in ms.net implementation.
744
745 2002-05-17  Jaroslaw Kowalski <jarek@atm.com.pl>
746         * TcpClient.cs: fixed SetTcpClient so that
747         TcpListener.AcceptTcpClient works and allows
748         you to call GetStream() on its result
749
750 2002-04-24  Dick Porter  <dick@ximian.com>
751
752         * Socket.cs (Poll): Give correct argument to Select(), as spotted
753         by Jaroslaw Kowalski <jarek@atm.com.pl>
754
755 2002-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
756
757         * UdpClient.cs: implemented.
758
759 2002-04-02  Dick Porter  <dick@ximian.com>
760
761         * TcpListener.cs: in Start(), set the socket listen backlog value
762         to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
763
764 2002-02-13  Dick Porter  <dick@ximian.com>
765
766         * Socket.cs: Implemenent Select, Blocking, Connected,
767         GetSocketOption, Poll, SetSocketOption and Shutdown
768
769         * MulticastOption.cs: 
770         * LingerOption.cs: Delete override methods that don't need to be
771         implemented
772
773 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
774
775         * NetworkStream.cs: Implement class.
776
777 2002-01-23  Dick Porter  <dick@ximian.com>
778
779         * SocketException.cs: Implemented
780
781         * Socket.cs: Implemented most methods
782
783         * LingerOption.cs: Made compile
784
785         * AddressFamily.cs: Removed empty auto-generated comments
786
787 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
788
789         * SocketException.cs: Reimplemented.
790
791 2002-01-06  Ravi Pratap  <ravi@ximian.com>
792
793         * ChangeLog : Add to this directory.
794
795         * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
796         attribute decoration.