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