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